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