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