| 123456789101112131415 |
- import{O as e,a as t,t as i,k as o,m as a,g as s,x as n,q as l}from"./element-plus.DUy1TWHM.js";import{M as r,aU as p,a_ as u,bL as d,bk as c,aL as m,u as v,v as f,F as _,aX as y,I as b,bJ as h,H as j,bb as w,s as g,au as k,bM as x,t as C,q as I,aS as z}from"./@vue.DbmRtknU.js";import{o as T,r as D,p as L,q as V,y as S,z as F,I as q,_ as E}from"./index.B1CvNv-2.js";import{a as P,P as R}from"./PageContent.v2drBSrF.js";import{E as U}from"./xml.DHJV7eh_.js";import A from"./InstitutionForm.CyWcPXf0.js";import M from"./InstitutionDetail.BNXUdM0J.js";import{_ as $}from"./ScopeDialog.B77RPOLW.js";import{u as B}from"./vue-router.yxIMtaxH.js";import"./lodash-es.DaM9m3L-.js";import"./async-validator.j0i5Y79Y.js";import"./@popperjs.DxtSUbXb.js";import"./@ctrl.BEgk5vdO.js";import"./dayjs.DCWbrgJ0.js";import"./memoize-one.BAtLgO95.js";import"./normalize-wheel-es.TzhA1irr.js";import"./@floating-ui.8vigAAFV.js";import"./pinia.BlfmsheH.js";import"./@vueuse.Dnsd2JKX.js";import"./vue-i18n.DXLOBfKS.js";import"./@intlify.DPMNdUn_.js";import"./nprogress.BTjJXJ-u.js";import"./codemirror.CYSLATvI.js";import"./diff-match-patch.DkK4wJpa.js";import"./vue-web-terminal.D-rog7dz.js";import"./vue.MGxsMDTR.js";/* empty css */import"./axios.Da-QW0H8.js";import"./qs.BQjOrGHM.js";import"./side-channel.4q28KFJj.js";import"./es-errors.DTEWvbA_.js";import"./object-inspect.DvQZIv3_.js";import"./side-channel-list.Do0-XmF5.js";import"./side-channel-map.DNHQ53lO.js";import"./get-intrinsic.Bbe5x-9b.js";import"./es-object-atoms.CyiuHMUS.js";import"./math-intrinsics.pM-JTNwN.js";import"./gopd.BudZp56J.js";import"./es-define-property.F0aoeP8o.js";import"./has-symbols.BcO-SUVM.js";import"./get-proto.Cb_fpw-j.js";import"./dunder-proto.WEH3rgQR.js";import"./call-bind-apply-helpers.DJjIjCF_.js";import"./function-bind.DrnB-baK.js";import"./hasown.BXcyoiLU.js";import"./call-bound.22gFUC2Q.js";import"./side-channel-weakmap.DpSeWE6i.js";import"./pinia-plugin-persistedstate.COWkwNh5.js";import"./exceljs.DLSZe_6I.js";import"./RuleList.DA5WEb22.js";import"./QuotaList.ByZhMORf.js";import"./role.DQjJi0qy.js";const G=["element-loading-text"],H={class:"category-tabs"},J={class:"category-tabs__nav"},K={class:"search-bar"},N={class:"search-bar__scene"},O={class:"scene-card-group"},Q={class:"search-bar__right"},X={class:"data-table__toolbar--right"},Z={class:"data-table__content"},W={class:"dialog-footer"},Y=E(r({name:"Institution",inheritAttrs:!1,__name:"index",setup(r){var E;B();const Y=T(),ee=[
- // { key: "meal", label: "餐饮", icon: "UtensilsCrossed", scenes: [{ label: "差旅餐饮", value: "business_meal" }, { label: "员工餐补", value: "staff_meal" }, { label: "团建聚餐", value: "team_dinner" }] },
- // { key: "hotel", label: "酒店", icon: "Building2", scenes: [{ label: "商务出差", value: "business_trip" }, { label: "会议住宿", value: "meeting_hotel" }, { label: "培训住宿", value: "training_hotel" }] },
- // { key: "flight", label: "机票", icon: "Plane", scenes: [{ label: "国内出差", value: "domestic_flight" }, { label: "国际出差", value: "international_flight" }, { label: "紧急出差", value: "urgent_flight" }] },
- // { key: "train", label: "火车票", icon: "Train", scenes: [{ label: "省内出差", value: "provincial_train" }, { label: "跨省出差", value: "interprovincial_train" }, { label: "通勤", value: "commute_train" }] },
- // { key: "bus", label: "公交", icon: "Bus", scenes: [{ label: "市内通勤", value: "city_bus" }, { label: "郊区出行", value: "suburb_bus" }] },
- // { key: "subway", label: "地铁", icon: "Metro", scenes: [{ label: "日常通勤", value: "daily_subway" }, { label: "加班补贴", value: "overtime_subway" }] },
- // { key: "car", label: "用车", icon: "Car", scenes: [{ label: "公务用车", value: "official_car" }, { label: "网约车", value: "ride_hailing" }, { label: "自驾补贴", value: "self_drive" }] },
- // { key: "service", label: "服务", icon: "Headphones", scenes: [{ label: "咨询服务", value: "consult_service" }, { label: "外包服务", value: "outsourcing" }] },
- // { key: "shopping", label: "商城", icon: "ShoppingCart", scenes: [{ label: "办公用品", value: "office_supplies" }, { label: "劳保用品", value: "labor_protection" }, { label: "员工福利", value: "employee_welfare" }] },
- // { key: "express", label: "快递", icon: "Truck", scenes: [{ label: "日常快递", value: "daily_express" }, { label: "大件物流", value: "bulk_logistics" }] },
- // { key: "gas", label: "加油", icon: "Fuel", scenes: [{ label: "公务车加油", value: "official_gas" }, { label: "私家车补贴", value: "private_gas" }] },
- // { key: "medical", label: "医疗", icon: "Stethoscope", scenes: [{ label: "体检", value: "medical_checkup" }, { label: "门诊报销", value: "outpatient" }, { label: "住院报销", value: "hospitalization" }] },
- // { key: "advertising", label: "电商广告充值", icon: "Monitor", scenes: [{ label: "平台推广", value: "platform_promo" }, { label: "品牌广告", value: "brand_ad" }, { label: "促销活动", value: "promotion" }] },
- {key:"DEFAULT",label:"默认",icon:"Box",scenes:[{label:"通用",value:"common"}]}],te=p("DEFAULT"),ie=I(()=>{const e=ee.find(e=>e.key===te.value);return(null==e?void 0:e.scenes)||[{label:"通用",value:"common"}]}),oe=p((null==(E=ie.value[0])?void 0:E.value)||""),ae=p(""),{contentRef:se,refreshList:ne}=S(),le=p(),{pageLoading:re,loadingText:pe,execute:ue}=F(),de=I(()=>{var e;return null==(e=Y.getCurrentEnterprise)?void 0:e.enterprise_id}),ce=z([{prop:"selection",label:"选择框",show:!1},{prop:"index",label:"序号",show:!0},{prop:"institution_name",label:"制度名称",show:!0},{prop:"valid_period",label:"制度有效期",show:!0},{prop:"expense_type",label:"费用类型",show:!0},{prop:"status",label:"制度状态",show:!0},{prop:"updated_time",label:"修改时间",show:!0},{prop:"operation",label:"操作",show:!0}]),me=z({permPrefix:"module_payment:institution",pk:"institution_id",cols:ce,hideColumnFilter:!1,toolbar:[],defaultToolbar:["refresh","filter"],pagination:!0,initialParams:I(()=>({enterprise_id:de.value})),indexAction:async e=>{var t,i;const o={page_no:e.page_no,page_size:e.page_size};e.enterprise_id&&(o.enterprise_id=e.enterprise_id);const a=await q.listInstitution(o);return{list:(null==(t=a.data.data)?void 0:t.items)||[],total:(null==(i=a.data.data)?void 0:i.total)||0}}}),ve=z({title:"",visible:!1,type:"create"}),fe=p(),_e=p(0),ye=p(!1);function be(e,t){ve.type=e,fe.value=t,ve.title="create"===e?"创建费控制度":"update"===e?"编辑费控制度":"费控制度详情","update"===e&&_e.value++,ve.visible=!0}async function he(){ve.visible=!1}function je(){var e;null==(e=le.value)||e.submitForm()}function we(){ve.visible=!1,ne()}function ge(){ne()}return(r,p)=>{const I=t,z=s,T=i,S=n,F=a,E=o,B=u("hasPerm"),Y=e;return d((m(),v("div",{class:"app-container","element-loading-text":c(pe)},[f("div",H,[f("div",J,[(m(),v(_,null,y(ee,e=>b(I,{key:e.key,type:te.value===e.key?"primary":"default",icon:e.icon,onClick:t=>function(e){var t,i;te.value=e;const o=ee.find(t=>t.key===e);oe.value=(null==(i=null==(t=null==o?void 0:o.scenes)?void 0:t[0])?void 0:i.value)||"",ne()}(e.key)},{default:h(()=>[j(w(e.label),1)]),_:2},1032,["type","icon","onClick"])),64))])]),f("div",K,[f("div",N,[p[4]||(p[4]=f("span",{class:"search-bar__label"},"场景:",-1)),f("div",O,[(m(!0),v(_,null,y(ie.value,e=>(m(),g(z,{key:e.value,class:k([{"scene-card--active":oe.value===e.value},"scene-card"]),onClick:t=>{return i=e.value,oe.value=i,void ne();var i}},{default:h(()=>[j(w(e.label),1)]),_:2},1032,["class","onClick"]))),128))])]),f("div",Q,[b(T,{modelValue:ae.value,"onUpdate:modelValue":p[0]||(p[0]=e=>ae.value=e),placeholder:"制度名称搜索",class:"search-bar__input",onKeyup:x(ge,["enter"])},null,8,["modelValue"]),b(I,{type:"primary",onClick:ge},{default:h(()=>[...p[5]||(p[5]=[j("搜索",-1)])]),_:1}),b(I,{type:"success",onClick:p[1]||(p[1]=e=>be("create"))},{default:h(()=>[...p[6]||(p[6]=[j("新增制度",-1)])]),_:1})])]),b(R,{ref_key:"contentRef",ref:se,"content-config":me},{toolbar:h(({toolbarRight:e,onToolbar:t,removeIds:i,cols:o})=>[f("div",X,[b(P,{buttons:e,cols:o,"on-toolbar":t},null,8,["buttons","cols","on-toolbar"])])]),table:h(({data:e,loading:t,tableRef:i,onSelectionChange:o})=>[f("div",Z,[d((m(),g(E,{ref:i,data:e,height:"100%",border:"",onSelectionChange:o},{empty:h(()=>[b(S,{"image-size":80,description:"暂无数据"})]),default:h(()=>{var e,t,i,o,a,s,n;return[(null==(e=ce.find(e=>"selection"===e.prop))?void 0:e.show)?(m(),g(F,{key:0,type:"selection","min-width":"55",align:"center"})):C("",!0),(null==(t=ce.find(e=>"institution_name"===e.prop))?void 0:t.show)?(m(),g(F,{key:"institution_name",label:"制度名称",prop:"institution_name","min-width":"150","show-overflow-tooltip":""})):C("",!0),(null==(i=ce.find(e=>"valid_period"===e.prop))?void 0:i.show)?(m(),g(F,{key:"valid_period",label:"制度有效期","min-width":"150","show-overflow-tooltip":""},{default:h(e=>[j(w((e.row.effective_start_date||"").substring(0,10)||"-")+" ~ "+w((e.row.effective_end_date||"").substring(0,10)||"长期有效"),1)]),_:1})):C("",!0),(null==(o=ce.find(e=>"expense_type"===e.prop))?void 0:o.show)?(m(),g(F,{key:"expense_type",label:"费用类型",prop:"expense_type","min-width":"100"},{default:h(e=>[j(w(c(D)[e.row.expense_type]||e.row.expense_type),1)]),_:1})):C("",!0),(null==(a=ce.find(e=>"status"===e.prop))?void 0:a.show)?(m(),g(F,{key:"status",label:"制度状态",prop:"status","min-width":"100"},{default:h(e=>[b(z,{type:c(L)[e.row.status]},{default:h(()=>[j(w(c(V)[e.row.status]||e.row.status),1)]),_:2},1032,["type"])]),_:1})):C("",!0),(null==(s=ce.find(e=>"updated_time"===e.prop))?void 0:s.show)?(m(),g(F,{key:"updated_time",label:"修改时间",prop:"updated_time","min-width":"160",sortable:""})):C("",!0),(null==(n=ce.find(e=>"operation"===e.prop))?void 0:n.show)?(m(),g(F,{key:6,fixed:"right",label:"操作",align:"center","min-width":"240"},{default:h(e=>[d((m(),g(I,{type:"text",size:"small",onClick:t=>be("detail",e.row.institution_id)},{default:h(()=>[...p[7]||(p[7]=[j(" 详情 ",-1)])]),_:1},8,["onClick"])),[[B,["module_payment:expense:institution:detail"]]]),d((m(),g(I,{type:"text",size:"small",onClick:t=>be("update",e.row.institution_id)},{default:h(()=>[...p[8]||(p[8]=[j(" 编辑 ",-1)])]),_:1},8,["onClick"])),[[B,["module_payment:expense:institution:modify"]]]),d((m(),g(I,{type:"text",size:"small",onClick:t=>async function(e){const t=e.institution_id,i=e.enterprise_id||de.value;if(!t||!i)return void l.warning("制度ID或企业ID不存在");const o="1"===e.effective?"0":"1",a="1"===o?"启用":"停用";await ue({confirmMessage:`确认${a}该制度?`,confirmTitle:"提示",confirmType:"warning",loadingText:`正在${a}...`,action:()=>q.modifyEffective(t,i,o),onSuccess:()=>{l.success(`${a}成功`),ne()}})}(e.row)},{default:h(()=>[j(w("1"===e.row.effective?"停用":"启用"),1)]),_:2},1032,["onClick"])),[[B,["module_payment:expense:institution:scope:modify"]]]),d((m(),g(I,{type:"text",size:"small",onClick:t=>{var i;(i=e.row.institution_id)?(fe.value=i,ye.value=!0):l.warning("制度ID不存在")}},{default:h(()=>[...p[9]||(p[9]=[j(" 成员管理 ",-1)])]),_:1},8,["onClick"])),[[B,["module_payment:expense:institution:scope:modify"]]]),d((m(),g(I,{type:"text",size:"small",onClick:t=>async function(e){const t=e.institution_id,i=e.enterprise_id||de.value;t&&(i?await ue({confirmMessage:"确认删除该费控制度?",confirmTitle:"警告",confirmType:"warning",loadingText:"正在删除...",action:()=>q.deleteInstitution(t,i),onSuccess:()=>{l.success("删除成功"),ne()}}):l.warning("企业ID不存在,无法删除"))}(e.row)},{default:h(()=>[...p[10]||(p[10]=[j(" 删除 ",-1)])]),_:1},8,["onClick"])),[[B,["module_payment:expense:institution:delete"]]])]),_:1})):C("",!0)]}),_:1},8,["data","onSelectionChange"])),[[Y,t]])])]),_:1},8,["content-config"]),b(U,{modelValue:ve.visible,"onUpdate:modelValue":p[2]||(p[2]=e=>ve.visible=e),title:ve.title,width:"1000px",onClose:he},{footer:h(()=>[f("div",W,["detail"!==ve.type?(m(),g(I,{key:0,type:"primary",onClick:je},{default:h(()=>[...p[11]||(p[11]=[j(" 确定 ",-1)])]),_:1})):(m(),g(I,{key:1,type:"primary",onClick:he},{default:h(()=>[...p[12]||(p[12]=[j("确定",-1)])]),_:1})),b(I,{onClick:he},{default:h(()=>[...p[13]||(p[13]=[j("取消",-1)])]),_:1})])]),default:h(()=>["detail"===ve.type?(m(),g(M,{key:0,"institution-id":fe.value},null,8,["institution-id"])):(m(),g(A,{ref_key:"formRef",ref:le,key:_e.value,type:ve.type,"institution-id":fe.value,"enterprise-id":de.value,onSuccess:we},null,8,["type","institution-id","enterprise-id"]))]),_:1},8,["modelValue","title"]),b($,{modelValue:ye.value,"onUpdate:modelValue":p[3]||(p[3]=e=>ye.value=e),"institution-id":fe.value,"enterprise-id":de.value},null,8,["modelValue","institution-id","enterprise-id"])],8,G)),[[Y,c(re)]])}}}),[["__scopeId","data-v-0ccce09d"]]);export{Y as default};
|