You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
1 lines
16 KiB
1 lines
16 KiB
import{_ as De,m as K,s as Q,l as Te,f as Y,g as Be,r as p,p as X,q as N,o as s,c as w,i as f,w as u,F as x,h as D,k as C,d as y,e as v,t as H,a as Re,E as F,v as d,x as M}from"./index-C8ULRFhF.js";import{s as Ie,_ as He,a as Fe,i as Pe,b as Ee,g as Z,c as T,d as Ve,p as Ae,e as Le,f as Ue,h as Ye,j as Me,k as je,l as $e,m as ze,n as Je,o as qe,q as We,r as Ge}from"./index-YZp8Ts8_.js";const Ke={class:"app-container"},Qe=Object.assign({name:"ediTtablePage"},{__name:"index",props:{apiName:{type:String,default:null},detailColumName:{type:String,default:null},apiType:{type:String,default:null},hideSearch:{type:Boolean,default:!1},multipleTable:{type:Boolean,default:!1},showTableIndex:{type:Boolean,default:!0},leftOperation:{type:Object,default:null},rightOperation:{type:[Object,String],default:null},showApiRightOperation:{type:Object,default:null},apiRightHideConfig:{type:Object,default:{apiUpdate:{prop:"readState",ruleValue:!0},apiDelete:{prop:"readState",ruleValue:!0}}},tableColumns:{type:Object,default:null},searchOptions:{type:Object,default:[]},searchButtons:{type:Object,default:["search","export"]},searchFilter:{type:Object,default:{}},columnWidth:{type:Number,default:120},columnHeaderAlign:{type:String,default:"center"},columnAlign:{type:String,default:"center"},apiEditFormRules:{type:Object,default:null},tableFormRules:{type:Object,default:null},hideHeaderInfo:{type:Boolean,default:!1},editDisabledConfig:{type:Object,default:[{prop:"readState",ruleValue:!0}]},hideSetColums:{type:Boolean,default:!1}},emits:["leftOperationHadel","rightOperationHadel","tableSelectionHandle"],setup(ee,{emit:te}){const ae=K(),k=Q.userStore().state,j=Q.permissionStore(),t=Te({loading:!1,detailLoading:!1,pageLoading:!1,searchBtnOptions:{search:{icon:"Search",auth:":page",label:"查询",type:null},create:{icon:"Plus",auth:":create",label:"新增",type:"primary"},import:{icon:"BottomRight",auth:":import",label:"导入",type:"warning"},export:{icon:"TopRight",auth:":export",label:"导出",type:"success"},custominvoke:{icon:"Position",auth:":custominvoke",label:"手动开关",type:"primary"},outputMany:{icon:"Position",auth:":outputMany",label:"手动传出",type:"primary"}},searchRightBtn:[{name:"pageSave",icon:"Check",auth:":pageSave",label:"保存页面",type:"warning"}],tableData:[],sortFilter:{sortBy:void 0,isAscending:void 0},pager:{page:1,pageSize:10,total:1},tableSelectList:[],leaveSaveTip:"此操作将重新渲染页面,检测有数据【未保存】,操作后将【清空未保存数据】,是否确定继续?",headerInfoData:[],currentDetailId:null,stage_tableData:[],stage_indexs:[],initTableColums:[],localTableColumnsName:null,tableFormRulesData:null}),a=ee;function $(l){{t.localTableColumnsName=Z(K().name),a.apiType=="detailApi"&&(t.localTableColumnsName=Z(a.apiName+"Detail"));let e=JSON.parse(localStorage.getItem(t.localTableColumnsName));return t.initTableColums=a.tableColumns||T[a.apiName],e&&e!=null&&e!=null?e:JSON.parse(JSON.stringify(t.initTableColums))}}const P=te;function le(l){t.tableSelectList=l,P("tableSelectionHandle",l)}function ne(l,e){P("leftOperationHadel",l,e)}function ie(){if(typeof a.rightOperation=="object"&&!a.showApiRightOperation)return a.rightOperation;if(typeof a.rightOperation=="object"&&a.showApiRightOperation||typeof a.rightOperation=="string"){let l=a.showApiRightOperation||a.rightOperation.split(","),e={apiUpdate:{label:"编辑",type:"warning"},apiDelete:{label:"删除",type:"danger"}},n=[];return l&&l.length>0&&l.forEach(i=>{n.push({label:e[i].label,name:i,link:!0,type:e[i].type,auth:a.apiName+":"+i,hide:(r,_)=>r[a.apiRightHideConfig[i].prop]==a.apiRightHideConfig[i].ruleValue})}),typeof a.rightOperation=="object"&&(n=[...n,...a.rightOperation]),n}}const b=Y();function oe(l,e){if(l.name=="apiUpdate"){let i=(a.tableColumns||T[a.apiName]).filter(r=>!r.noEdit);b.value.open(i,e.row)}l.name=="apiDelete"&&F.confirm("是否确定删除?","提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then(()=>{t.loading=!0,Ve(a.apiName,e.row.uId).then(n=>{d.success("操作成功!"),m(1)}).catch(n=>{d.error("操作失败!")}).finally(()=>{t.loading=!1})}),P("rightOperationHadel",l,e)}const re=async(l,e,n)=>{b.value.validate(i=>{i&&(l=="create"?(e.hasOwnProperty("createUser")&&(e.createUser=k.realName),e.hasOwnProperty("createByUser")&&(e.createByUser=k.realName),e.hasOwnProperty("createTime")&&(e.createTime=M(new Date,"YYYY-mm-dd HH:MM:SS")),b.value.changeLoading(!0),Ae(a.apiName,e).then(r=>{b.value.close(),d.success("操作成功!"),m(1)}).catch(r=>{d.error("操作失败!")}).finally(()=>{b.value.changeLoading(!1)})):(e.hasOwnProperty("updateByUser")&&e.hasOwnProperty("updateTime")||e.hasOwnProperty("updateUser")&&e.hasOwnProperty("updateTime")?(e.hasOwnProperty("updateByUser")&&(e.updateByUser=k.realName),e.hasOwnProperty("updateUser")&&(e.updateUser=k.realName),e.hasOwnProperty("updateTime")&&(e.updateTime=M(new Date,"YYYY-mm-dd HH:MM:SS"))):["taskconifgure"].indexOf(a.apiName)<0&&(e.remark=`修改信息:${k.realName} ${M(new Date,"YYYY-mm-dd HH:MM:SS")}`),b.value.changeLoading(!0),Le(a.apiName,e).then(r=>{b.value.close(),d.success("操作成功!"),m(1)}).catch(r=>{d.error("操作失败!")}).finally(()=>{b.value.changeLoading(!1)})))})};function B(l){let e=[];if(a.hideSearch)e=a.searchFilter;else for(let i in a.searchFilter){let r=a.searchOptions.filter(g=>g.prop==i),_=r&&r.length>0?r[0].type:null;if((a.searchFilter[i]||a.searchFilter[i]==0)&&a.searchFilter[i]!="")if(_=="datetimerange")e.push({logic:"And",column:i,action:">=",value:a.searchFilter[i][0]}),e.push({logic:"And",column:i,action:"<=",value:a.searchFilter[i][1]});else{let g="like";["tagFilter","filter","number","select"].indexOf(_)>=0&&(g="=="),e.push({logic:"And",column:i,action:g,value:a.searchFilter[i]})}}return qe({pageNumber:t.pager.page,pageSize:l||t.pager.pageSize,sortBy:t.sortFilter.sortBy,isAscending:t.sortFilter.isAscending,condition:{filters:e}})}function m(l,e){t.stage_indexs=[],t.currentDetailId=null,t.headerInfoData=[],t.tableSelectList=[],a.apiType=="detailApi"?(t.loading=!0,l||(l=t.pager.page),l&&(t.pager.page=l),Ue(a.apiName,B()).then(n=>{t.headerInfoData=[],t.tableData=n.data.data,t.stage_tableData=JSON.parse(JSON.stringify(n.data.data)),t.pager.total=n.data.totalCount,e&&e(n)}).catch(n=>{d.error("数据获取失败!")}).finally(()=>t.loading=!1)):(t.loading=!0,l||(l=t.pager.page),l&&(t.pager.page=l),Ye(a.apiName,B()).then(n=>{t.headerInfoData=[],t.tableData=n.data.data,t.stage_tableData=JSON.parse(JSON.stringify(n.data.data)),t.pager.total=n.data.totalCount,e&&e(n)}).catch(n=>{d.error("数据获取失败!")}).finally(()=>t.loading=!1))}function z(l){t.loading=!0,m(1,e=>{let n=B();l&&(n=B(e.data.totalCount)),We(a.apiName,n).then(i=>{let r=l?"全部":"当页";Ge(i.data,ae.meta.title+`_按条件导出${r}.xlsx`)}).catch(i=>{d.error("操作失败!")}).finally(()=>t.loading=!1)})}const J=Y();function se(l){if(l=="search")O().then(()=>{m()});else if(l=="create")O().then(()=>{let n=(a.tableColumns||T[a.apiName]).filter(i=>!i.noEdit);b.value.open(n)});else if(l=="import")O().then(()=>{J.value.open()});else if(l=="custominvoke")O().then(()=>{t.loading=!0;let e={taskName:Me[a.apiName].taskName,client:"Chery"};je(e).then(n=>{d.success("操作成功!"),m(1)}).finally(()=>t.loading=!1)});else if(l=="outputMany"){let e=R();if(e&&e.length>0)return d.warning("当前有未保存修改项,请先保存页面");if(!t.tableSelectList||t.tableSelectList.length<=0)return d.warning("未选中任何数据");F.confirm("是否确定手动传出?","提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then(()=>{t.loading=!0,$e(a.apiName,t.tableSelectList).then(n=>{d.success("操作成功!"),m(1)}).finally(()=>{t.loading=!1})})}}const ue=Y(null);function pe(l){if(l.name=="pageSave"){let e=R();if(!e||e.length<=0)return d.warning("暂无数据修改");let n=[];if(e.forEach(i=>{i.feedbackResults=="1"&&(!i.ventureType||i.ventureType==""||!i.ventureSpecific||i.ventureSpecific==""||!i.measures||i.measures=="")&&n.push(q(i.id))}),n.length>0)return d.error(`修改数据中【第${n}行】数据中,【反馈结果】为异常,但【风险类型】或【具体风险】或【应对措施】为空,请修改后重新提交!`);F.confirm("是否确定提交更改?","提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then(()=>{t.loading=!0,ze(a.apiName,e).then(i=>{d.success("操作成功!"),m(1)}).finally(()=>{t.loading=!1})})}}function de(l){O().then(()=>{const{prop:e,order:n}=l;if(!e||!n){t.sortFilter.sortBy=void 0,t.sortFilter.isAscending=void 0,m(1);return}t.sortFilter.sortBy=e,t.sortFilter.isAscending=n=="ascending",m(1)})}function ce(l,e){m()}function fe(l,e){t.pageLoading=!0;let n=t.pager.pageSize;t.pager.pageSize=l,O().then(i=>{m(1),t.pageLoading=!1}).catch(i=>{t.pager.pageSize=n,t.pageLoading=!1})}function me(l){O().then(e=>{m(l)})}function q(l){let e=l||t.currentDetailId;for(let n=0;n<t.stage_tableData.length;n++)if(t.stage_tableData[n].id==e)return n+1}function ge(l,e){let n=!1;for(let i=0;i<a.editDisabledConfig.length;i++)if(l[a.editDisabledConfig[i].prop]==a.editDisabledConfig[i].ruleValue){n=!0;break}return!n&&l.feedbackResults=="0"&&e.prop!="feedbackResults"&&(n=!0),n}function he(l){let e=!1;for(let n=0;n<a.editDisabledConfig.length;n++)if(l[a.editDisabledConfig[n].prop]==a.editDisabledConfig[n].ruleValue){e=!0;break}return e}function ye(l,e,n){let i=j.hasPermission(a.apiName+":pageSave");return l.disabled||!i||t.tableSelectList&&t.tableSelectList.length>0?!0:ge(e,l)}function _e(l,e){let n=j.hasPermission(a.apiName+":outputMany"),i=R(),r=he(l);return n&&(!i||i.length<=0)&&!r}function E(l,e,n){if(!e.id)return d.error("该数据无id");if(e.id==t.currentDetailId)return;let i=["input","numberInput"];n=="focus"&&i.indexOf(l)>=0||(console.log(l,e,n),console.log("------------"),t.currentDetailId=e.id,t.detailLoading=!0,Je(a.apiName,e.id).then(r=>{t.headerInfoData=[],T[a.detailColumName].forEach(g=>{t.headerInfoData.push({label:g.title,value:r.data[g.prop],prop:g.prop})})}).finally(()=>t.detailLoading=!1))}function be(l,e,n){if(t.stage_indexs.indexOf(e.$index)<0&&t.stage_indexs.push(e.$index),l.prop=="feedbackResults"&&e.row.feedbackResults=="0"){e.row.ventureType="",e.row.ventureSpecific="",e.row.measures="";let i=a.tableColumns||T[a.apiName];for(let r in e.row){let _=i.filter(g=>g.prop==r);if(_&&_.length>0&&_[0].relevProp){let g=_[0].relevProp,S=t.headerInfoData.filter(V=>V.prop==g);S&&S.length>0&&(e.row[r]=S[0].value)}}}}function O(){return new Promise((l,e)=>{let n=R();!n||n.length<=0?l():F.confirm(t.leaveSaveTip,"提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then(()=>{l()}).catch(()=>{e()})})}function R(){if(!t.stage_indexs||t.stage_indexs.length<=0)return!1;{let l=[];return t.stage_indexs.forEach(e=>{JSON.stringify(t.stage_tableData[e])!=JSON.stringify(t.tableData[e])&&l.push(t.tableData[e])}),l}}function Ce(l){return l.row.id&&l.row.id==t.currentDetailId?"current-select-tableRow":"normal-tableRow"}return Be(()=>{m()}),(l,e)=>{const n=p("el-input"),i=p("el-input-number"),r=p("el-date-picker"),_=p("el-option"),g=p("el-select"),S=p("el-form-item"),V=p("arrow-down"),Oe=p("el-icon"),A=p("el-button"),W=p("el-dropdown-item"),Se=p("el-dropdown-menu"),Ne=p("el-dropdown"),we=p("el-form"),L=p("el-card"),ve=p("el-descriptions-item"),ke=p("el-descriptions"),xe=p("el-empty"),I=X("auth"),U=X("loading");return N((s(),w("div",Ke,[a.hideSearch&&a.hideSetColums?C("",!0):(s(),f(L,{key:0,class:"search-container"},{default:u(()=>[a.hideSearch?C("",!0):(s(),f(we,{key:0,inline:!0},{default:u(()=>[(s(!0),w(x,null,D(a.searchOptions,(o,h)=>N((s(),f(S,{key:h,label:o.label},{default:u(()=>[o.type=="input"?(s(),f(n,{key:0,modelValue:a.searchFilter[o.prop],"onUpdate:modelValue":c=>a.searchFilter[o.prop]=c,placeholder:o.label,clearable:!o.noClear},null,8,["modelValue","onUpdate:modelValue","placeholder","clearable"])):C("",!0),o.type=="number"?(s(),f(i,{key:1,modelValue:a.searchFilter[o.prop],"onUpdate:modelValue":c=>a.searchFilter[o.prop]=c,min:o.min,max:o.max},null,8,["modelValue","onUpdate:modelValue","min","max"])):C("",!0),o.type=="datetimerange"?(s(),f(r,{key:2,modelValue:a.searchFilter[o.prop],"onUpdate:modelValue":c=>a.searchFilter[o.prop]=c,type:"datetimerange","start-placeholder":"起始时间","end-placeholder":"结束时间",format:"YYYY-MM-DD HH:mm:ss","value-format":"YYYY-MM-DD HH:mm:ss",style:{width:"370px"}},null,8,["modelValue","onUpdate:modelValue"])):C("",!0),o.type=="select"?(s(),f(g,{key:3,modelValue:a.searchFilter[o.prop],"onUpdate:modelValue":c=>a.searchFilter[o.prop]=c,filterable:!o.noSearch,placeholder:"请选择",style:{width:"240px"},clearable:!o.noClear},{default:u(()=>[(s(!0),w(x,null,D(o.options,(c,G)=>(s(),f(_,{key:G,label:c.label,value:c.value},null,8,["label","value"]))),128))]),_:2},1032,["modelValue","onUpdate:modelValue","filterable","clearable"])):C("",!0)]),_:2},1032,["label"])),[[I,a.apiName+t.searchBtnOptions.search.auth]])),128)),y(S,null,{default:u(()=>[(s(!0),w(x,null,D(a.searchButtons,(o,h)=>(s(),w("div",{style:{"margin-right":"10px"},key:h},[t.searchBtnOptions[o].auth==":export"?N((s(),f(Ne,{key:0,"hide-on-click":!1},{dropdown:u(()=>[y(Se,null,{default:u(()=>[y(W,{onClick:e[0]||(e[0]=c=>z())},{default:u(()=>e[5]||(e[5]=[v("按条件导出【当前页】")])),_:1}),y(W,{divided:"",onClick:e[1]||(e[1]=c=>z(!0))},{default:u(()=>e[6]||(e[6]=[v("按条件导出【全部】")])),_:1})]),_:1})]),default:u(()=>[y(A,{icon:t.searchBtnOptions[o].icon,type:t.searchBtnOptions[o].type},{default:u(()=>[v(H(t.searchBtnOptions[o].label)+" ",1),y(Oe,{class:"el-icon--right"},{default:u(()=>[y(V)]),_:1})]),_:2},1032,["icon","type"])]),_:2},1024)),[[I,(a.authName||a.apiName)+t.searchBtnOptions[o].auth]]):N((s(),f(A,{key:1,icon:t.searchBtnOptions[o].icon,type:t.searchBtnOptions[o].type,onClick:c=>se(o)},{default:u(()=>[v(H(t.searchBtnOptions[o].label),1)]),_:2},1032,["icon","type","onClick"])),[[I,(a.authName||a.apiName)+t.searchBtnOptions[o].auth]])]))),128))]),_:1})]),_:1})),Re("div",null,[(s(!0),w(x,null,D(t.searchRightBtn,(o,h)=>N((s(),f(A,{key:h,icon:o.icon,type:o.type,onClick:c=>pe(o),style:{"margin-right":"10px"}},{default:u(()=>[v(H(o.label),1)]),_:2},1032,["icon","type","onClick"])),[[I,o.sAuth||a.apiName+o.auth]])),128)),a.hideSetColums?C("",!0):(s(),f(Ie,{key:0,style:{"margin-left":"auto"},localTableColumnsName:t.localTableColumnsName,initTableColums:t.initTableColums,tableColumns:$()},null,8,["localTableColumnsName","initTableColums","tableColumns"]))])]),_:1})),a.hideHeaderInfo?C("",!0):N((s(),f(L,{key:1,class:"headerInfo-container"},{default:u(()=>[t.headerInfoData&&t.headerInfoData.length>0?(s(),f(ke,{key:0,"label-width":"120",title:`当前页【第${q()}行】数据信息`,border:!0,column:5},{default:u(()=>[(s(!0),w(x,null,D(t.headerInfoData,(o,h)=>(s(),f(ve,{key:h,label:o.label},{default:u(()=>[v(H(o.value),1)]),_:2},1032,["label"]))),128))]),_:1},8,["title"])):(s(),f(xe,{key:1,description:"暂无数据",class:"headerInfoEmpty"}))]),_:1})),[[U,t.detailLoading]]),y(L,{class:"paged-table-container"},{default:u(()=>[y(He,{ref_key:"table_Ref",ref:ue,columnWidth:a.columnWidth,columnHeaderAlign:a.columnHeaderAlign,columnAlign:a.columnAlign,tableData:t.tableData,tableColumns:$(),onSortChange:de,leftOperation:a.leftOperation,onLeftOperationHadel:ne,rightOperation:ie(),onRightOperationHadel:oe,multipleTable:a.multipleTable,onTableSelectionHandle:le,onEditItemFocusHandle:e[2]||(e[2]=(o,h,c)=>{E(o.type,h.row,"focus")}),onEditItemChangeHandle:be,onCellClick:e[3]||(e[3]=(o,h,c,G)=>{E("cell",o,"cellClick")}),onEditItemClearHandle:e[4]||(e[4]=(o,h)=>{E(o.type,h.row,"clear")}),getEditItemDisabled:ye,selectableDisabled:_e,tableRowClassName:Ce,showTableIndex:a.showTableIndex},null,8,["columnWidth","columnHeaderAlign","columnAlign","tableData","tableColumns","leftOperation","rightOperation","multipleTable","showTableIndex"]),N(y(Fe,{style:{"margin-top":"15px",float:"right"},pager:t.pager,onSizeChange:fe,onCurrentChange:me},null,8,["pager"]),[[U,t.pageLoading]])]),_:1}),y(Pe,{ref_key:"importPopRef",ref:J,apiName:a.apiName,onSuccess:ce},null,8,["apiName"]),y(Ee,{ref_key:"apiEditPopRef",ref:b,apiName:a.apiName,onSubmitEditForm:re,formRules:a.apiEditFormRules},null,8,["apiName","formRules"])])),[[U,t.loading]])}}}),tt=De(Qe,[["__scopeId","data-v-1d604bbf"]]);export{tt as e};
|
|
|