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

import{u as te,s as ae,g as le,i as V,j as ne,r as m,k as R,l as v,o as p,c as O,h,w as f,d as y,F as w,m as F,n as b,e as re,t as oe,E as k,p as d,q as H}from"./index-DVN0Hxy1.js";import{_ as ie,a as se,i as pe,b as ue,c as ce,d as de,p as me,e as he,g as ge,f as fe,h as ye,j as _e,k as be,o as Oe}from"./index-BugyrskO.js";import{d as Ce}from"./download-DA4MPZiT.js";const Se={class:"app-container"},Fe=Object.assign({name:"tablePage"},{__name:"index",props:{apiName:{type:String,default:null},authName:{type:String,default:null},apiType:{type:String,default:null},hideSearch:{type:Boolean,default:!1},multipleTable:{type:Boolean,default:!1},leftOperation:{type:Object,default:null},leftOperationColumnWidth:{type:Number,default:120},rightOperation:{type:[Object,String],default:null},showApiRightOperation:{type:Object,default:null},apiRightHideConfig:{type:Object,default:{apiUpdate:{prop:"writeState",ruleValue:!0},apiDelete:{prop:"writeState",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}},emits:["leftOperationHadel","rightOperationHadel","tableSelectionHandle"],setup(Y,{expose:E,emit:j}){const M=te(),_=ae.userStore().state,l=le({loading:!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"}},tableData:[],sortFilter:{sortBy:void 0,isAscending:void 0},pager:{page:1,pageSize:10,total:1},tableSelectList:[]}),e=Y;function C(){return e.tableColumns||ce[e.apiName]}const S=j;function L(a){l.tableSelectList=a,S("tableSelectionHandle",a)}function W(a,t){S("leftOperationHadel",a,t)}function z(){if(typeof e.rightOperation=="object"&&!e.showApiRightOperation)return e.rightOperation;if(typeof e.rightOperation=="object"&&e.showApiRightOperation||typeof e.rightOperation=="string"){let a=e.showApiRightOperation||e.rightOperation.split(","),t={apiUpdate:{label:"编辑",type:"warning"},apiDelete:{label:"删除",type:"danger"}},r=[];return a&&a.length>0&&a.forEach(o=>{r.push({label:t[o].label,name:o,link:!0,type:t[o].type,auth:(e.authName||e.apiName)+":"+o,hide:(s,g)=>s[e.apiRightHideConfig[o].prop]==e.apiRightHideConfig[o].ruleValue})}),typeof e.rightOperation=="object"&&(r=[...r,...e.rightOperation]),r}}const c=V();function D(a,t){if(a.name=="apiUpdate"){let o=C().filter(s=>!s.noEdit);c.value.open(o,t.row)}a.name=="apiDelete"&&k.confirm("是否确定删除?","提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then(()=>{l.loading=!0,de(e.apiName,t.row.uId).then(r=>{d.success("操作成功!"),i(1)}).finally(()=>{l.loading=!1})}),S("rightOperationHadel",a,t)}const $=async(a,t,r)=>{c.value.validate(o=>{o&&(a=="create"?(t.hasOwnProperty("createUser")&&(t.createUser=_.realName),t.hasOwnProperty("createByUser")&&(t.createByUser=_.realName),t.hasOwnProperty("createTime")&&(t.createTime=H(new Date,"YYYY-mm-dd HH:MM:SS")),c.value.changeLoading(!0),me(e.apiName,t).then(s=>{c.value.close(),d.success("操作成功!"),i(1)}).catch(s=>{d.error("操作失败!")}).finally(()=>{c.value.changeLoading(!1)})):(t.hasOwnProperty("updateByUser")&&t.hasOwnProperty("updateTime")||t.hasOwnProperty("updateUser")&&t.hasOwnProperty("updateTime")?(t.hasOwnProperty("updateByUser")&&(t.updateByUser=_.realName),t.hasOwnProperty("updateUser")&&(t.updateUser=_.realName),t.hasOwnProperty("updateTime")&&(t.updateTime=H(new Date,"YYYY-mm-dd HH:MM:SS"))):["taskconifgure","customlog"].indexOf(e.apiName)<0&&(t.remark=`修改信息:${_.realName} ${H(new Date,"YYYY-mm-dd HH:MM:SS")}`),c.value.changeLoading(!0),he(e.apiName,t).then(s=>{c.value.close(),d.success("操作成功!"),i(1)}).catch(s=>{d.error("操作失败!")}).finally(()=>{c.value.changeLoading(!1)})))})};function N(){let a=[];if(e.hideSearch)a=e.searchFilter;else for(let r in e.searchFilter){let o=e.searchOptions.filter(g=>g.prop==r),s=o&&o.length>0?o[0].type:null;if(e.searchFilter[r]||e.searchFilter[r]==0)if(s=="datetimerange")a.push({logic:"And",column:r,action:">=",value:e.searchFilter[r][0]}),a.push({logic:"And",column:r,action:"<=",value:e.searchFilter[r][1]});else{let g="like";["tagFilter","filter","number","select"].indexOf(s)>=0&&(g="=="),a.push({logic:"And",column:r,action:g,value:e.searchFilter[r]})}}return Oe({pageNumber:l.pager.page,pageSize:l.pager.pageSize,sortBy:l.sortFilter.sortBy,isAscending:l.sortFilter.isAscending,condition:{filters:a}})}function i(a){e.apiType=="detailApi"?(l.loading=!0,a||(a=l.pager.page),a&&(l.pager.page=a),ge(e.apiName,N()).then(t=>{l.tableData=t.data.data,l.pager.total=t.data.totalCount}).catch(t=>{d.error("数据获取失败!")}).finally(()=>l.loading=!1)):(l.loading=!0,a||(a=l.pager.page),a&&(l.pager.page=a),fe(e.apiName,N()).then(t=>{l.tableData=t.data.data,l.pager.total=t.data.totalCount}).catch(t=>{d.error("数据获取失败!")}).finally(()=>l.loading=!1))}const P=V();function q(a){if(console.log(a),a=="search")i(1);else if(a=="create"){let r=C().filter(o=>!o.noEdit);c.value.open(r)}else a=="import"?P.value.open():a=="export"?(l.loading=!0,i(),ye(e.apiName,N()).then(t=>{Ce(t.data,M.meta.title+".xlsx")}).catch(t=>{d.error("操作失败!")}).finally(()=>l.loading=!1)):a=="custominvoke"?k.confirm("是否确定操作手动开关?","提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then(()=>{l.loading=!0;let t={taskName:_e[e.apiName].taskName,client:"Chery"};be(e.apiName,t).then(r=>{d.success("操作成功!"),i(1)}).finally(()=>l.loading=!1)}):a=="custominvokeMany"&&(console.log(l.tableSelectList),l.tableSelectList&&l.tableSelectList.length>0?k.confirm("是否确定手动传出?","提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then(()=>{}):d.warning("未选中任何数据"))}function I(a){const{prop:t,order:r}=a;if(!t||!r){l.sortFilter.sortBy=void 0,l.sortFilter.isAscending=void 0,i(1);return}l.sortFilter.sortBy=t,l.sortFilter.isAscending=r=="ascending",i(1)}function G(a,t){i()}function J(a){l.pager.pageSize=a,i(1)}function K(a){i(a)}return ne(()=>{i()}),E({state:l,getTableData:i}),(a,t)=>{const r=m("el-input"),o=m("el-input-number"),s=m("el-date-picker"),g=m("el-option"),x=m("el-select"),T=m("el-form-item"),Q=m("el-button"),X=m("el-form"),A=m("el-card"),U=R("auth"),Z=R("loading");return v((p(),O("div",Se,[e.hideSearch?b("",!0):(p(),h(A,{key:0,class:"search-container"},{default:f(()=>[y(X,{inline:!0},{default:f(()=>[(p(!0),O(w,null,F(e.searchOptions,(n,B)=>v((p(),h(T,{key:B,label:n.label},{default:f(()=>[n.type=="input"&&!n.hide?(p(),h(r,{key:0,modelValue:e.searchFilter[n.prop],"onUpdate:modelValue":u=>e.searchFilter[n.prop]=u,placeholder:n.label,clearable:!n.noClear},null,8,["modelValue","onUpdate:modelValue","placeholder","clearable"])):b("",!0),n.type=="number"&&!n.hide?(p(),h(o,{key:1,modelValue:e.searchFilter[n.prop],"onUpdate:modelValue":u=>e.searchFilter[n.prop]=u,min:n.min,max:n.max},null,8,["modelValue","onUpdate:modelValue","min","max"])):b("",!0),n.type=="datetimerange"&&!n.hide?(p(),h(s,{key:2,modelValue:e.searchFilter[n.prop],"onUpdate:modelValue":u=>e.searchFilter[n.prop]=u,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"])):b("",!0),n.type=="select"&&!n.hide?(p(),h(x,{key:3,modelValue:e.searchFilter[n.prop],"onUpdate:modelValue":u=>e.searchFilter[n.prop]=u,filterable:!n.noSearch,placeholder:"请选择",style:{width:"240px"},clearable:!n.noClear},{default:f(()=>[(p(!0),O(w,null,F(n.options,(u,ee)=>(p(),h(g,{key:ee,label:u.label,value:u.value},null,8,["label","value"]))),128))]),_:2},1032,["modelValue","onUpdate:modelValue","filterable","clearable"])):b("",!0)]),_:2},1032,["label"])),[[U,(e.authName||e.apiName)+l.searchBtnOptions.search.auth]])),128)),y(T,null,{default:f(()=>[(p(!0),O(w,null,F(e.searchButtons,(n,B)=>v((p(),h(Q,{key:B,icon:l.searchBtnOptions[n].icon,type:l.searchBtnOptions[n].type,onClick:u=>q(n)},{default:f(()=>[re(oe(l.searchBtnOptions[n].label),1)]),_:2},1032,["icon","type","onClick"])),[[U,(e.authName||e.apiName)+l.searchBtnOptions[n].auth]])),128))]),_:1})]),_:1})]),_:1})),y(A,{class:"paged-table-container"},{default:f(()=>[y(ie,{columnWidth:e.columnWidth,columnHeaderAlign:e.columnHeaderAlign,columnAlign:e.columnAlign,tableData:l.tableData,tableColumns:C(),onSortChange:I,leftOperation:e.leftOperation,onLeftOperationHadel:W,leftOperationColumnWidth:e.leftOperationColumnWidth,rightOperation:z(),onRightOperationHadel:D,multipleTable:e.multipleTable,onTableSelectionHandle:L},null,8,["columnWidth","columnHeaderAlign","columnAlign","tableData","tableColumns","leftOperation","leftOperationColumnWidth","rightOperation","multipleTable"]),y(se,{style:{"margin-top":"15px",float:"right"},pager:l.pager,onPageSizeChange:J,onPageCurrentChange:K},null,8,["pager"])]),_:1}),y(pe,{ref_key:"importPopRef",ref:P,apiName:e.apiName,onSuccess:G},null,8,["apiName"]),y(ue,{ref_key:"apiEditPopRef",ref:c,apiName:e.apiName,onSubmitEditForm:$,formRules:e.apiEditFormRules},null,8,["apiName","formRules"])])),[[Z,l.loading]])}}});export{Fe as _};