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

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