Files
qhmes/web-dist/js/MesXslDingProcessTplList-C44I9fc3.js
2026-06-16 18:19:57 +08:00

2 lines
15 KiB
Java
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
var Oe=Object.defineProperty,ze=Object.defineProperties;var Ue=Object.getOwnPropertyDescriptors;var Y=Object.getOwnPropertySymbols;var Xe=Object.prototype.hasOwnProperty,Pe=Object.prototype.propertyIsEnumerable;var Z=(u,l,s)=>l in u?Oe(u,l,{enumerable:!0,configurable:!0,writable:!0,value:s}):u[l]=s,ee=(u,l)=>{for(var s in l||(l={}))Xe.call(l,s)&&Z(u,s,l[s]);if(Y)for(var s of Y(l))Pe.call(l,s)&&Z(u,s,l[s]);return u},te=(u,l)=>ze(u,Ue(l));var v=(u,l,s)=>new Promise((L,x)=>{var E=f=>{try{S(s.next(f))}catch(_){x(_)}},B=f=>{try{S(s.throw(f))}catch(_){x(_)}},S=f=>f.done?L(f.value):Promise.resolve(f.value).then(E,B);S((s=s.apply(u,l)).next())});import Ve from"./BasicTable-C6eG0bgK.js";import je from"./TableAction-BiXnWkvt.js";import"./TableImg.vue_vue_type_style_index_0_lang-65ZOQtFn.js";import{M as qe,s as Qe,x as oe,aR as He,aS as $e,aH as Je,au as Ge}from"./index-X7Y8jykP.js";import"./index-BDvqZ5j4.js";import{u as We}from"./useListPage-CK9oQ-1O.js";import{M as Ye,s as Ze,c as et,a as tt}from"./MesXslDingProcessTplModal-OHVY-VyA.js";import ot from"./DingTplDesigner-BSOBuwtt.js";import{_ as nt}from"./DingTplCreateModal.vue_vue_type_script_setup_true_lang-BT6BU8cI.js";import lt from"./DingApprovalLaunchModal-BUQ0SH-z.js";import st from"./BindApprovalFlowModal-DT1pudo_.js";import{g as at,b as it,l as rt,c as pt,d as mt,s as ut,e as ct,t as dt,f as ft}from"./MesXslDingProcessTpl.api-OuYmp5Pz.js";import{u as _t}from"./useModal-DaJ3Bflg.js";import"./index-CfNJyBRj.js";import{D as gt}from"./dropdown-jkliuVyN.js";import{D as yt,a as vt}from"./index-DWDasoBX.js";import{T as bt}from"./index-CA-NUHS0.js";import{T as xt}from"./index-J2mOtM3w.js";import{C as ht,f as wt}from"./index-DcKuz4s3.js";import{e as se,C as M,f as n,A as o,u as d,r as c,b as ne,K as P,X as Ct,z as a,O as F,y as m,H as b,E as r,F as V,G as k,Q as le}from"./vue-vendor-DNhG1Cve.js";import{b as kt}from"./index-CeNCCWzL.js";import{_ as St}from"./index-DTjkSGYl.js";import"./BasicTable.vue_vue_type_style_index_0_lang-B9DxrWas.js";import"./BasicForm-ClUSoD_-.js";import"./helper-DcLcf4v6.js";import"./index-BzChaRPg.js";import"./useAppInject-DPZGPcR3.js";import"./emoji-mart-vue-fast-R0uJEDq-.js";import"./BasicForm.vue_vue_type_style_index_0_lang-B29PWQy0.js";import"./index-DO7ZhK45.js";import"./index-ByCwbQDV.js";import"./index-Upeu4GGa.js";import"./index-C4wWpZeQ.js";import"./useTimeout-D5AmIBZw.js";import"./index-M9QP6cvf.js";import"./Skeleton-CimgOdM7.js";import"./useScrollTo-0FPEw5-K.js";import"./useIntersectionObserver-BGOgyKyu.js";import"./index-saD4h7VJ.js";import"./useBreakpoint-DXhPW7nV.js";import"./useEventListener-BRXjwk7A.js";import"./breakpointEnum-BhAg6bcX.js";import"./uniqBy--vsL0WVB.js";import"./BasicModal-xH56XuRZ.js";import"./ModalHeader-Sr8KwhJJ.js";import"./useWindowSizeFn-C-0M9_Ul.js";import"./index-CuWaQdlK.js";import"./useForm-D61zovon.js";import"./injectionKey-DPVn4AgL.js";import"./index-DSsDi_fL.js";import"./Group-UHkub2tu.js";import"./Checkbox-Dbxs4we4.js";import"./index-BuONesFs.js";import"./FormOutlined-Y84itqS0.js";import"./useTableContext-CncNVXgp.js";import"./index-C69VKHba.js";import"./index-DklMb9Qc.js";import"./UpOutlined-B1UMbtrP.js";import"./index-DsixALRt.js";import"./dayjs-jnKD3YGS.js";import"./index-aCD42OrZ.js";import"./quarterOfYear-BU2sPnff.js";import"./dayjs-ALi1pEeb.js";import"./clickOutside-DHfwTU6R.js";import"./onMountedOrActivated-DhSdLlqP.js";import"./throttle-De_jAmBh.js";import"./index-DfHu-LAS.js";import"./Group-DBzJABA_.js";import"./RadioButton-DRBix2Fq.js";import"./uuid-CODpppBC.js";import"./sortable.esm-DJNoJSdJ.js";import"./RedoOutlined-Cq2g4Slp.js";import"./eagerComputed-BTlOruLW.js";import"./fromPairs-Dx9PT-t0.js";import"./useMaxLevel-DE205ncc.js";import"./index-C7ckZv9Z.js";import"./DirectoryTree-nk_YTTIy.js";import"./FolderOpenOutlined-SzIPA7z0.js";import"./index-Cl-8Hzo4.js";import"./scrollTo-D49dA-9c.js";import"./operationUnit-vCu2co3e.js";import"./TableAction.vue_vue_type_style_index_0_lang-BIWZ0bGo.js";import"./index-fAAIzD3j.js";import"./index-DfX9t4DO.js";import"./isNumeric-DjvBa-1E.js";import"./useTable-DbHE4FHE.js";import"./useMethods-D3efiSSd.js";import"./useApprovalSelection-D4wlWO_T.js";import"./ApprovalFlowModal.vue_vue_type_script_setup_true_lang-CmlBpqVP.js";import"./approvalFlow.api-BVpZSp8r.js";import"./FlowDesign.vue_vue_type_style_index_0_lang-B8zj-MoL.js";import"./FlowNode.vue_vue_type_script_setup_true_lang-CVoh4O-K.js";import"./flowTypes-mLI7_N4F.js";import"./NodeConfigDrawer-CzIu69eV.js";import"./JSelectUser-Dg8SJP_z.js";import"./UserSelectModal-RTq67Ki6.js";import"./useSelectBiz-C58pZLPQ.js";import"./props-BWd0f6uH.js";import"./JSelectBiz-CRkPo6gN.js";import"./MesXslIntegrationPlan.api-DkUQ3DWJ.js";import"./MesXslIntegrationActionDrawer.vue_vue_type_script_setup_true_lang-Da0cFV2g.js";import"./VisualActionEditor.vue_vue_type_script_setup_true_lang-CxeNVgeo.js";import"./index-DZJwICFr.js";import"./transButton-B2CWzlQO.js";import"./CopyOutlined-Dpp8TC22.js";import"./EditOutlined-drlR34lz.js";const Dt={style:{"font-weight":"600","margin-bottom":"8px"}},Tt={key:2,style:{color:"#999","text-align":"center",padding:"20px"}},It={style:{"font-size":"12px",margin:"0","max-height":"200px",overflow:"auto","white-space":"pre-wrap","word-break":"break-all"}},Mt=se({name:"xslmes-mesXslDingProcessTpl"}),Ft=se(te(ee({},Mt),{setup(u){const{createMessage:l}=Qe(),s=ne({}),[L,{openModal:x}]=_t(),{tableContext:E,onExportXls:B,onImportXls:S}=We({tableProps:{title:"钉钉审批模板配置",api:rt,columns:et,canResize:!0,scroll:{x:1700},formConfig:{schemas:Ze,autoSubmitOnEnter:!0,showAdvancedButton:!0},actionColumn:{title:"操作",dataIndex:"action",width:540,fixed:"right",slots:{customRender:"action"}},beforeFetch:t=>Object.assign(t,s)},exportConfig:{name:"钉钉审批模板配置",url:it,params:s},importConfig:{url:at,success:h}}),[f,{reload:_},{rowSelection:ae,selectedRowKeys:N}]=E,ie=ne(tt);function re(t){Object.keys(t).forEach(e=>s[e]=t[e]),_()}function pe(){x(!0,{isUpdate:!1,showFooter:!0})}const j=c();function me(){var t;(t=j.value)==null||t.open()}function ue({record:t,openDesigner:e}){var g;_(),e&&(t!=null&&t.id)&&((g=O.value)==null||g.open(t))}function ce(t){x(!0,{record:t,isUpdate:!0,showFooter:!0})}function de(t){x(!0,{record:t,isUpdate:!0,showFooter:!1})}function fe(t){return v(this,null,function*(){yield ft({id:t.id},h)})}function _e(){return v(this,null,function*(){yield pt({ids:N.value},h)})}function h(){(N.value=[])&&_()}function K(t){return t.status==="1"||t.status===1}function ge(t){return v(this,null,function*(){try{const e=yield dt(t.id);l.success(typeof e=="string"?e:K(t)?"已停用":"已启用"),_()}catch(e){l.error((e==null?void 0:e.message)||"操作失败")}})}function ye(t){const e=K(t);return[{label:"编辑",onClick:ce.bind(null,t),auth:"xslmes:mes_xsl_ding_process_tpl:edit"},{label:e?"停用":"启用",color:e?"warning":"success",auth:"xslmes:mes_xsl_ding_process_tpl:edit",popConfirm:{title:e?"停用后,已绑定该模板的业务页面将不再显示「钉钉审批」按钮,确认停用?":"确认启用该审批模板?启用后业务页将恢复显示钉钉审批按钮。",confirm:ge.bind(null,t),placement:"topLeft"}},{label:"绑定审批流程",icon:"ant-design:apartment-outlined",auth:"xslmes:mes_xsl_ding_process_tpl:edit",onClick:be.bind(null,t)},{label:"设计模板",icon:"ant-design:layout-outlined",auth:"xslmes:mes_xsl_ding_process_tpl:edit",onClick:H.bind(null,t)},{label:"测试审批",icon:"ant-design:send-outlined",color:"success",disabled:!e||!t.processCode,tooltip:e?t.processCode?"手动填表后测试发起钉钉审批":"请先配置 processCode":"模板已停用",onClick:xe.bind(null,t)}]}function ve(t){const e=[{label:"详情",onClick:de.bind(null,t)}];return t.processCode||e.push({label:"创建钉钉模板",icon:"ant-design:dingtalk-outlined",onClick:H.bind(null,t),auth:"xslmes:mes_xsl_ding_process_tpl:edit"}),e.push({label:"查看钉钉字段",onClick:Ce.bind(null,t),icon:"ant-design:dingtalk-outlined"},{label:"删除",popConfirm:{title:"是否确认删除",confirm:fe.bind(null,t),placement:"topLeft"},auth:"xslmes:mes_xsl_ding_process_tpl:delete"}),e}const q=c();function be(t){var e;(e=q.value)==null||e.open(t)}const Q=c();function xe(t){var e;if(!K(t)){l.warning("该模板已停用,请先启用后再发起审批");return}if(!t.processCode){l.warning("该模板尚未配置 processCode请先完成模板配置");return}(e=Q.value)==null||e.open(t)}function he(){}const O=c();function H(t){var e;(e=O.value)==null||e.open(t)}const D=c(!1),z=c(!1),p=c(null),we=[{title:"控件标题(钉钉字段名)",dataIndex:"label"},{title:"控件类型",dataIndex:"componentName",width:160},{title:"必填",dataIndex:"required",width:70}];function Ce(t){return v(this,null,function*(){D.value=!0,z.value=!0,p.value=null;try{p.value=yield mt(t.id)}catch(e){l.error((e==null?void 0:e.message)||"获取模板字段失败"),D.value=!1}finally{z.value=!1}})}const w=c(!1),T=c(!1),U=c(!1),y=c([]),C=c([]),ke=[{title:"模板名称",dataIndex:"name",width:200},{title:"processCode",dataIndex:"processCode",width:300},{title:"描述",dataIndex:"description",ellipsis:!0},{title:"状态",dataIndex:"imported",width:90}];function Se(){return v(this,null,function*(){w.value=!0,T.value=!0,y.value=[],C.value=[];try{const t=yield ut();y.value=t||[],C.value=y.value.filter(e=>!e.imported||e.linkDraft).map(e=>e.processCode)}catch(t){l.error((t==null?void 0:t.message)||"从钉钉同步失败"),w.value=!1}finally{T.value=!1}})}function De(t){C.value=t}function Te(){return v(this,null,function*(){if(C.value.length===0){l.warning("请勾选要导入的模板");return}const t=y.value.filter(e=>C.value.includes(e.processCode));U.value=!0;try{const e=yield ct(t);l.success(typeof e=="string"?e:"导入成功"),w.value=!1,_()}catch(e){l.error((e==null?void 0:e.message)||"批量导入失败")}finally{U.value=!1}})}return(t,e)=>{const g=P("a-button"),Ie=P("j-upload-button"),Me=$e,Fe=He,Re=gt,Ae=P("super-query"),X=vt,Le=bt,R=xt,Ee=yt,$=kt,J=St,Be=wt,Ne=ht,G=Je,W=qe,I=Ct("auth");return a(),M("div",null,[n(d(Ve),{onRegister:d(f),rowSelection:d(ae)},{tableTitle:o(()=>[F((a(),m(g,{type:"primary",preIcon:"ant-design:dingtalk-outlined",onClick:me},{default:o(()=>[...e[4]||(e[4]=[r(" 新增审批模板 ",-1)])]),_:1})),[[I,"xslmes:mes_xsl_ding_process_tpl:add"]]),F((a(),m(g,{preIcon:"ant-design:plus-outlined",onClick:pe},{default:o(()=>[...e[5]||(e[5]=[r(" 快速录入 ",-1)])]),_:1})),[[I,"xslmes:mes_xsl_ding_process_tpl:add"]]),F((a(),m(g,{type:"primary",preIcon:"ant-design:export-outlined",onClick:d(B)},{default:o(()=>[...e[6]||(e[6]=[r(" 导出 ",-1)])]),_:1},8,["onClick"])),[[I,"xslmes:mes_xsl_ding_process_tpl:exportXls"]]),F((a(),m(Ie,{type:"primary",preIcon:"ant-design:import-outlined",onClick:d(S)},{default:o(()=>[...e[7]||(e[7]=[r(" 导入 ",-1)])]),_:1},8,["onClick"])),[[I,"xslmes:mes_xsl_ding_process_tpl:importExcel"]]),n(g,{preIcon:"ant-design:sync-outlined",loading:T.value,onClick:Se},{default:o(()=>[...e[8]||(e[8]=[r(" 从钉钉同步 ",-1)])]),_:1},8,["loading"]),d(N).length>0?(a(),m(Re,{key:0},{overlay:o(()=>[n(Fe,null,{default:o(()=>[n(Me,{key:"1",onClick:_e},{default:o(()=>[n(d(oe),{icon:"ant-design:delete-outlined"}),e[9]||(e[9]=r(" 删除 ",-1))]),_:1})]),_:1})]),default:o(()=>[F((a(),m(g,null,{default:o(()=>[e[10]||(e[10]=r(" 批量操作 ",-1)),n(d(oe),{icon:"mdi:chevron-down"})]),_:1})),[[I,"xslmes:mes_xsl_ding_process_tpl:deleteBatch"]])]),_:1})):b("",!0),n(Ae,{config:ie,onSearch:re},null,8,["config"])]),action:o(({record:i})=>[n(d(je),{actions:ye(i),dropDownActions:ve(i)},null,8,["actions","dropDownActions"])]),_:1},8,["onRegister","rowSelection"]),n(Ye,{onRegister:d(L),onSuccess:h},null,8,["onRegister"]),n(W,{open:D.value,"onUpdate:open":e[0]||(e[0]=i=>D.value=i),title:"钉钉模板字段详情",width:"720px",footer:null,"destroy-on-close":"",onCancel:e[1]||(e[1]=i=>D.value=!1)},{default:o(()=>[n(G,{spinning:z.value},{default:o(()=>{var i;return[p.value?(a(),M(V,{key:0},[n(Ee,{column:2,bordered:"",size:"small",style:{"margin-bottom":"14px"}},{default:o(()=>[n(X,{label:"模板名称"},{default:o(()=>[r(k(p.value.tplName),1)]),_:1}),n(X,{label:"业务类型"},{default:o(()=>[r(k(p.value.bizType||""),1)]),_:1}),n(X,{label:"processCode",span:2},{default:o(()=>[p.value.processCode?(a(),m(Le,{key:0,code:"",copyable:""},{default:o(()=>[r(k(p.value.processCode),1)]),_:1})):(a(),m(R,{key:1,color:"orange"},{default:o(()=>[...e[11]||(e[11]=[r("未创建",-1)])]),_:1}))]),_:1})]),_:1}),p.value.schemaError?(a(),m($,{key:0,type:"warning",message:p.value.schemaError,"show-icon":"",style:{"margin-bottom":"12px"}},null,8,["message"])):b("",!0),(i=p.value.dingFields)!=null&&i.length?(a(),M(V,{key:1},[le("div",Dt,[e[12]||(e[12]=r(" 钉钉表单字段 ",-1)),n(R,{color:"blue",style:{"margin-left":"6px","font-weight":"400"}},{default:o(()=>[r(k(p.value.dingFields.length)+"",1)]),_:1})]),n(J,{dataSource:p.value.dingFields,columns:we,pagination:!1,size:"small",rowKey:(A,Ke)=>Ke,scroll:{y:300}},null,8,["dataSource","rowKey"])],64)):p.value.schemaError?b("",!0):(a(),M("div",Tt," 未从钉钉获取到字段(模板可能无 processCode 或字段为空) ")),n(Ne,{style:{"margin-top":"14px"},bordered:!1},{default:o(()=>[n(Be,{key:"json",header:"原始 JSON 数据",style:{background:"#fafafa"}},{default:o(()=>[le("pre",It,k(JSON.stringify(p.value,null,2)),1)]),_:1})]),_:1})],64)):b("",!0)]}),_:1},8,["spinning"])]),_:1},8,["open"]),n(ot,{ref_key:"designerRef",ref:O,onSuccess:h},null,512),n(nt,{ref_key:"createModalRef",ref:j,onSuccess:ue},null,512),n(lt,{ref_key:"launchModalRef",ref:Q,onSuccess:he},null,512),n(st,{ref_key:"bindFlowModalRef",ref:q,onSuccess:h},null,512),n(W,{open:w.value,"onUpdate:open":e[2]||(e[2]=i=>w.value=i),title:"从钉钉同步审批模板",width:"780px",confirmLoading:U.value,okText:"导入选中",cancelText:"取消",onOk:Te,onCancel:e[3]||(e[3]=i=>w.value=!1)},{default:o(()=>[n(G,{spinning:T.value},{default:o(()=>[y.value.length===0&&!T.value?(a(),m($,{key:0,message:"未获取到钉钉审批模板,请确认钉钉配置及账号绑定",type:"warning","show-icon":"",style:{"margin-bottom":"12px"}})):b("",!0),y.value.length>0?(a(),m(J,{key:1,dataSource:y.value,columns:ke,rowSelection:{type:"checkbox",selectedRowKeys:C.value,onChange:De},rowKey:i=>i.processCode,pagination:!1,size:"small",scroll:{y:380}},{bodyCell:o(({column:i,record:A})=>[i.dataIndex==="imported"?(a(),M(V,{key:0},[A.linkDraft?(a(),m(R,{key:0,color:"orange"},{default:o(()=>[...e[13]||(e[13]=[r("待回填本地",-1)])]),_:1})):(a(),m(R,{key:1,color:A.imported?"green":"default"},{default:o(()=>[r(k(A.imported?"已导入":"未导入"),1)]),_:2},1032,["color"]))],64)):b("",!0)]),_:1},8,["dataSource","rowSelection","rowKey"])):b("",!0)]),_:1},8,["spinning"])]),_:1},8,["open","confirmLoading"])])}}})),An=Ge(Ft,[["__scopeId","data-v-36ccd5b3"]]);export{An as default};