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

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