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