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
14 KiB

import{_ as be,u as Oe,s as W,g as Se,i as P,j as Ce,r as g,k as q,l as O,o,c as S,h as d,w as h,d as b,F as v,m as w,n as C,e as A,t as V,a as Ne,E as k,p as u,q as L}from"./index-DVN0Hxy1.js";import{_ as xe,a as ve,i as we,b as De,c as G,d as ke,p as Be,e as He,g as Ie,f as Te,h as Fe,j as Re,k as Ee,l as Pe,m as Ae,n as Ve,o as Le}from"./index-BugyrskO.js";import{d as Ue}from"./download-DA4MPZiT.js";const Ye={class:"app-container"},Me=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}]}},emits:["leftOperationHadel","rightOperationHadel","tableSelectionHandle"],setup(K,{emit:Q}){const X=Oe(),N=W.userStore().state,U=W.permissionStore(),t=Se({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:[],tableFormRulesData:null}),a=K;function B(){return a.tableColumns||G[a.apiName]}const H=Q;function Z(l){t.tableSelectList=l,H("tableSelectionHandle",l)}function ee(l,e){H("leftOperationHadel",l,e)}function te(){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(r=>{n.push({label:e[r].label,name:r,link:!0,type:e[r].type,auth:a.apiName+":"+r,hide:(s,_)=>s[a.apiRightHideConfig[r].prop]==a.apiRightHideConfig[r].ruleValue})}),typeof a.rightOperation=="object"&&(n=[...n,...a.rightOperation]),n}}const m=P();function ae(l,e){if(l.name=="apiUpdate"){let r=B().filter(s=>!s.noEdit);m.value.open(r,e.row)}l.name=="apiDelete"&&k.confirm("是否确定删除?","提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then(()=>{t.loading=!0,ke(a.apiName,e.row.uId).then(n=>{u.success("操作成功!"),p(1)}).catch(n=>{u.error("操作失败!")}).finally(()=>{t.loading=!1})}),H("rightOperationHadel",l,e)}const le=async(l,e,n)=>{m.value.validate(r=>{r&&(l=="create"?(e.hasOwnProperty("createUser")&&(e.createUser=N.realName),e.hasOwnProperty("createByUser")&&(e.createByUser=N.realName),e.hasOwnProperty("createTime")&&(e.createTime=L(new Date,"YYYY-mm-dd HH:MM:SS")),m.value.changeLoading(!0),Be(a.apiName,e).then(s=>{m.value.close(),u.success("操作成功!"),p(1)}).catch(s=>{u.error("操作失败!")}).finally(()=>{m.value.changeLoading(!1)})):(e.hasOwnProperty("updateByUser")&&e.hasOwnProperty("updateTime")||e.hasOwnProperty("updateUser")&&e.hasOwnProperty("updateTime")?(e.hasOwnProperty("updateByUser")&&(e.updateByUser=N.realName),e.hasOwnProperty("updateUser")&&(e.updateUser=N.realName),e.hasOwnProperty("updateTime")&&(e.updateTime=L(new Date,"YYYY-mm-dd HH:MM:SS"))):["taskconifgure"].indexOf(a.apiName)<0&&(e.remark=`修改信息:${N.realName} ${L(new Date,"YYYY-mm-dd HH:MM:SS")}`),m.value.changeLoading(!0),He(a.apiName,e).then(s=>{m.value.close(),u.success("操作成功!"),p(1)}).catch(s=>{u.error("操作失败!")}).finally(()=>{m.value.changeLoading(!1)})))})};function I(){let l=[];if(a.hideSearch)l=a.searchFilter;else for(let n in a.searchFilter){let r=a.searchOptions.filter(_=>_.prop==n),s=r&&r.length>0?r[0].type:null;if(a.searchFilter[n]||a.searchFilter[n]==0)if(s=="datetimerange")l.push({logic:"And",column:n,action:">=",value:a.searchFilter[n][0]}),l.push({logic:"And",column:n,action:"<=",value:a.searchFilter[n][1]});else{let _="like";["tagFilter","filter","number","select"].indexOf(s)>=0&&(_="=="),l.push({logic:"And",column:n,action:_,value:a.searchFilter[n]})}}return Le({pageNumber:t.pager.page,pageSize:t.pager.pageSize,sortBy:t.sortFilter.sortBy,isAscending:t.sortFilter.isAscending,condition:{filters:l}})}function p(l){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),Ie(a.apiName,I()).then(e=>{t.headerInfoData=[],t.tableData=e.data.data,t.stage_tableData=JSON.parse(JSON.stringify(e.data.data)),t.pager.total=e.data.totalCount}).catch(e=>{u.error("数据获取失败!")}).finally(()=>t.loading=!1)):(t.loading=!0,l||(l=t.pager.page),l&&(t.pager.page=l),Te(a.apiName,I()).then(e=>{t.headerInfoData=[],t.tableData=e.data.data,t.stage_tableData=JSON.parse(JSON.stringify(e.data.data)),t.pager.total=e.data.totalCount}).catch(e=>{u.error("数据获取失败!")}).finally(()=>t.loading=!1))}const Y=P();function ne(l){if(l=="search")y().then(()=>{p()});else if(l=="create")y().then(()=>{let n=B().filter(r=>!r.noEdit);m.value.open(n)});else if(l=="import")y().then(()=>{Y.value.open()});else if(l=="export")y().then(()=>{t.loading=!0,p(),Fe(a.apiName,I()).then(e=>{Ue(e.data,X.meta.title+".xlsx")}).catch(e=>{u.error("操作失败!")}).finally(()=>t.loading=!1)});else if(l=="custominvoke")y().then(()=>{t.loading=!0;let e={taskName:Re[a.apiName].taskName,client:"Chery"};Ee(a.apiName,e).then(n=>{u.success("操作成功!"),p(1)}).finally(()=>t.loading=!1)});else if(l=="outputMany"){let e=D();if(e&&e.length>0)return u.warning("当前有未保存修改项,请先保存页面");if(!t.tableSelectList||t.tableSelectList.length<=0)return u.warning("未选中任何数据");k.confirm("是否确定手动传出?","提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then(()=>{t.loading=!0,Pe(a.apiName,t.tableSelectList).then(n=>{u.success("操作成功!"),p(1)}).finally(()=>{t.loading=!1})})}}const ie=P(null);function re(l){if(l.name=="pageSave"){let e=D();if(!e||e.length<=0)return u.warning("暂无数据修改");let n=[];if(e.forEach(r=>{r.feedbackResults=="1"&&(!r.ventureType||r.ventureType==""||!r.ventureSpecific||r.ventureSpecific==""||!r.measures||r.measures=="")&&n.push(M(r.id))}),n.length>0)return u.error(`修改数据中【第${n}行】数据中,【反馈结果】为异常,但【风险类型】或【具体风险】或【应对措施】为空,请修改后重新提交!`);k.confirm("是否确定提交更改?","提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then(()=>{t.loading=!0,Ae(a.apiName,e).then(r=>{u.success("操作成功!"),p(1)}).finally(()=>{t.loading=!1})})}}function oe(l){y().then(()=>{const{prop:e,order:n}=l;if(!e||!n){t.sortFilter.sortBy=void 0,t.sortFilter.isAscending=void 0,p(1);return}t.sortFilter.sortBy=e,t.sortFilter.isAscending=n=="ascending",p(1)})}function se(l,e){p()}function ue(l,e){t.pageLoading=!0;let n=t.pager.pageSize;t.pager.pageSize=l,y().then(r=>{p(1),t.pageLoading=!1}).catch(r=>{t.pager.pageSize=n,t.pageLoading=!1})}function pe(l){y().then(e=>{p(l)})}function M(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 j(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 ce(l,e,n){let r=U.hasPermission(a.apiName+":pageSave");return l.disabled||!r||t.tableSelectList&&t.tableSelectList.length>0?!0:j(e)}function de(l,e){let n=U.hasPermission(a.apiName+":outputMany"),r=D(),s=j(l);return n&&(!r||r.length<=0)&&!s}function T(l,e,n){if(!e.id)return u.error("该数据无id");if(e.id==t.currentDetailId)return;let r=["input","numberInput"];n=="focus"&&r.indexOf(l)>=0||(console.log(l,e,n),console.log("------------"),t.currentDetailId=e.id,t.detailLoading=!0,Ve(a.apiName,e.id).then(s=>{t.headerInfoData=[],G[a.detailColumName].forEach(x=>{t.headerInfoData.push({label:x.title,value:s.data[x.prop]})})}).finally(()=>t.detailLoading=!1))}function fe(l,e,n){t.stage_indexs.indexOf(e.$index)<0&&t.stage_indexs.push(e.$index)}function y(){return new Promise((l,e)=>{let n=D();!n||n.length<=0?l():k.confirm(t.leaveSaveTip,"提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then(()=>{l()}).catch(()=>{e()})})}function D(){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 ge(l){return l.row.id&&l.row.id==t.currentDetailId?"current-select-tableRow":"normal-tableRow"}return Ce(()=>{p()}),(l,e)=>{const n=g("el-input"),r=g("el-input-number"),s=g("el-date-picker"),_=g("el-option"),x=g("el-select"),z=g("el-form-item"),$=g("el-button"),he=g("el-form"),F=g("el-card"),me=g("el-descriptions-item"),ye=g("el-descriptions"),_e=g("el-empty"),R=q("auth"),E=q("loading");return O((o(),S("div",Ye,[a.hideSearch?C("",!0):(o(),d(F,{key:0,class:"search-container"},{default:h(()=>[b(he,{inline:!0},{default:h(()=>[(o(!0),S(v,null,w(a.searchOptions,(i,f)=>O((o(),d(z,{key:f,label:i.label},{default:h(()=>[i.type=="input"?(o(),d(n,{key:0,modelValue:a.searchFilter[i.prop],"onUpdate:modelValue":c=>a.searchFilter[i.prop]=c,placeholder:i.label,clearable:!i.noClear},null,8,["modelValue","onUpdate:modelValue","placeholder","clearable"])):C("",!0),i.type=="number"?(o(),d(r,{key:1,modelValue:a.searchFilter[i.prop],"onUpdate:modelValue":c=>a.searchFilter[i.prop]=c,min:i.min,max:i.max},null,8,["modelValue","onUpdate:modelValue","min","max"])):C("",!0),i.type=="datetimerange"?(o(),d(s,{key:2,modelValue:a.searchFilter[i.prop],"onUpdate:modelValue":c=>a.searchFilter[i.prop]=c,type:"datetimerange","start-placeholder":"起始时间","end-placeholder":"结束时间",format:"YYYY-MM-DD HH:mm:ss","value-format":"YYYY-MM-DD HH:mm:ss"},null,8,["modelValue","onUpdate:modelValue"])):C("",!0),i.type=="select"?(o(),d(x,{key:3,modelValue:a.searchFilter[i.prop],"onUpdate:modelValue":c=>a.searchFilter[i.prop]=c,filterable:!i.noSearch,placeholder:"请选择",style:{width:"240px"},clearable:!i.noClear},{default:h(()=>[(o(!0),S(v,null,w(i.options,(c,J)=>(o(),d(_,{key:J,label:c.label,value:c.value},null,8,["label","value"]))),128))]),_:2},1032,["modelValue","onUpdate:modelValue","filterable","clearable"])):C("",!0)]),_:2},1032,["label"])),[[R,a.apiName+t.searchBtnOptions.search.auth]])),128)),b(z,null,{default:h(()=>[(o(!0),S(v,null,w(a.searchButtons,(i,f)=>O((o(),d($,{key:f,icon:t.searchBtnOptions[i].icon,type:t.searchBtnOptions[i].type,onClick:c=>ne(i)},{default:h(()=>[A(V(t.searchBtnOptions[i].label),1)]),_:2},1032,["icon","type","onClick"])),[[R,t.searchBtnOptions[i].sAuth||a.apiName+t.searchBtnOptions[i].auth]])),128))]),_:1})]),_:1}),Ne("div",null,[(o(!0),S(v,null,w(t.searchRightBtn,(i,f)=>O((o(),d($,{key:f,icon:i.icon,type:i.type,onClick:c=>re(i)},{default:h(()=>[A(V(i.label),1)]),_:2},1032,["icon","type","onClick"])),[[R,i.sAuth||a.apiName+i.auth]])),128))])]),_:1})),a.hideHeaderInfo?C("",!0):O((o(),d(F,{key:1,class:"headerInfo-container"},{default:h(()=>[t.headerInfoData&&t.headerInfoData.length>0?(o(),d(ye,{key:0,"label-width":"120",title:`当前页【第${M()}行】数据信息`,border:!0,column:5},{default:h(()=>[(o(!0),S(v,null,w(t.headerInfoData,(i,f)=>(o(),d(me,{key:f,label:i.label},{default:h(()=>[A(V(i.value),1)]),_:2},1032,["label"]))),128))]),_:1},8,["title"])):(o(),d(_e,{key:1,description:"暂无数据",class:"headerInfoEmpty"}))]),_:1})),[[E,t.detailLoading]]),b(F,{class:"paged-table-container"},{default:h(()=>[b(xe,{ref_key:"table_Ref",ref:ie,columnWidth:a.columnWidth,columnHeaderAlign:a.columnHeaderAlign,columnAlign:a.columnAlign,tableData:t.tableData,tableColumns:B(),onSortChange:oe,leftOperation:a.leftOperation,onLeftOperationHadel:ee,rightOperation:te(),onRightOperationHadel:ae,multipleTable:a.multipleTable,onTableSelectionHandle:Z,onEditItemFocusHandle:e[0]||(e[0]=(i,f,c)=>{T(i.type,f.row,"focus")}),onEditItemChangeHandle:fe,onCellClick:e[1]||(e[1]=(i,f,c,J)=>{T("cell",i,"cellClick")}),onEditItemClearHandle:e[2]||(e[2]=(i,f)=>{T(i.type,f.row,"clear")}),getEditItemDisabled:ce,selectableDisabled:de,tableRowClassName:ge,showTableIndex:a.showTableIndex},null,8,["columnWidth","columnHeaderAlign","columnAlign","tableData","tableColumns","leftOperation","rightOperation","multipleTable","showTableIndex"]),O(b(ve,{style:{"margin-top":"15px",float:"right"},pager:t.pager,onSizeChange:ue,onCurrentChange:pe},null,8,["pager"]),[[E,t.pageLoading]])]),_:1}),b(we,{ref_key:"importPopRef",ref:Y,apiName:a.apiName,onSuccess:se},null,8,["apiName"]),b(De,{ref_key:"apiEditPopRef",ref:m,apiName:a.apiName,onSubmitEditForm:le,formRules:a.apiEditFormRules},null,8,["apiName","formRules"])])),[[E,t.loading]])}}}),We=be(Me,[["__scopeId","data-v-c8507513"]]);export{We as e};