2 lines
7.5 KiB
JavaScript
2 lines
7.5 KiB
JavaScript
var V=Object.defineProperty,B=Object.defineProperties;var W=Object.getOwnPropertyDescriptors;var h=Object.getOwnPropertySymbols;var S=Object.prototype.hasOwnProperty,y=Object.prototype.propertyIsEnumerable;var _=(t,o,e)=>o in t?V(t,o,{enumerable:!0,configurable:!0,writable:!0,value:e}):t[o]=e,P=(t,o)=>{for(var e in o||(o={}))S.call(o,e)&&_(t,e,o[e]);if(h)for(var e of h(o))y.call(o,e)&&_(t,e,o[e]);return t},b=(t,o)=>B(t,W(o));var N=(t,o)=>{var e={};for(var r in t)S.call(t,r)&&o.indexOf(r)<0&&(e[r]=t[r]);if(t!=null&&h)for(var r of h(t))o.indexOf(r)<0&&y.call(t,r)&&(e[r]=t[r]);return e};var u=(t,o,e)=>new Promise((r,n)=>{var s=a=>{try{p(e.next(a))}catch(c){n(c)}},l=a=>{try{p(e.throw(a))}catch(c){n(c)}},p=a=>a.done?r(a.value):Promise.resolve(a.value).then(s,l);p((e=e.apply(t,o)).next())});import{at as q,V as U,ae as $,a9 as G,bP as M}from"./bootstrap-CW2RsBQq.js";import"./vxe-table-D615zg_B.js";import{a as j}from"./index-BwlTMuzd.js";import{j as J,i as L}from"./index-B2Kyakj0.js";/* empty css */import{p as z}from"./helpers-Ouy3foWp.js";import"./consts-D1Imw0A8.js";import"./simple-process-designer.vue_vue_type_script_setup_true_lang-CCAy-XEP.js";import{g as K}from"./index-VKUkOfu8.js";import{g as T}from"./rangePickerProps-ChXrdImK.js";import{D as x}from"./dict-enum-CaHgMaDZ.js";import{_ as H}from"./table-action.vue_vue_type_script_setup_true_lang-BVHphgi_.js";import{_ as Y}from"./page.vue_vue_type_script_setup_true_lang-T8l68R_0.js";import{b as Q}from"./AlertBuilder-DRlP5VnG.js";import{m as X,b9 as Z,v as ee,ab as te,b2 as oe,bJ as D,j as F,u as d,L as re}from"../jse/index-index-Cy8amzIl.js";import{u as ie}from"./use-vxe-grid-2epdwiL1.js";import{A as w}from"./icons-CieLeI1V.js";import"./dict-tag.vue_vue_type_script_setup_true_lang-DVL6Wnh1.js";import"./biz-bpm-enum-DQJBn5Qr.js";import"./index-C-x5kuvS.js";import"./index-Cs2Dz_9a.js";import"./index-DHbgTOqB.js";import"./index-CNywMovZ.js";import"./index-BBr15zpG.js";import"./simple-process-model.vue_vue_type_script_setup_true_lang-0IK8R-oY.js";import"./process-node-tree.vue_vue_type_script_setup_true_lang-CpveHbRR.js";import"./child-process-node.vue_vue_type_script_setup_true_lang-CQidEswJ.js";import"./child-process-node-config.vue_vue_type_script_setup_true_lang-lv2xyvz5.js";import"./index-Dcg73V2R.js";import"./utils-C4vayS9C.js";import"./use-drawer-LUSrIjmt.js";import"./x-DsiLb8yz.js";import"./node-handler.vue_vue_type_script_setup_true_lang-BZVDEmcL.js";import"./copy-task-node.vue_vue_type_script_setup_true_lang-D-0e1xhK.js";import"./copy-task-node-config.vue_vue_type_script_setup_true_lang-C_jIMo8s.js";import"./delay-timer-node.vue_vue_type_script_setup_true_lang-B-HuWEWs.js";import"./delay-timer-node-config.vue_vue_type_script_setup_true_lang-COPVzfoE.js";import"./end-event-node.vue_vue_type_script_setup_true_lang-BKbubJ4x.js";import"./process-instance-modal.vue_vue_type_script_setup_true_lang-DrNzbS91.js";import"./use-modal-B-MTUp6r.js";import"./condition-node-config.vue_vue_type_script_setup_true_lang-CGbbcpCJ.js";import"./condition.vue_vue_type_script_setup_true_lang-34fvnmuf.js";import"./index-DqrKARmc.js";import"./plus-DNKcdVPy.js";import"./router-node.vue_vue_type_script_setup_true_lang-CCFpo1Bb.js";import"./router-node-config.vue_vue_type_script_setup_true_lang-_A8CpXSK.js";import"./start-user-node.vue_vue_type_script_setup_true_lang-Bvzyl2cV.js";import"./start-user-node-config.vue_vue_type_script_setup_true_lang-DwTkcYfe.js";import"./Text-DfIhT7j0.js";import"./task-list-modal.vue_vue_type_script_setup_true_lang-C3YqRRXK.js";import"./trigger-node.vue_vue_type_script_setup_true_lang-D7JiEOCh.js";import"./trigger-node-config.vue_vue_type_script_setup_true_lang-ZzWwJS_I.js";import"./condition-dialog.vue_vue_type_script_setup_true_lang-Qak6FaYI.js";import"./http-request-setting.vue_vue_type_script_setup_true_lang-vXQf16P4.js";import"./http-request-param-setting.vue_vue_type_script_setup_true_lang-BpcR7BLr.js";import"./user-task-node.vue_vue_type_script_setup_true_lang-ZUFDcNpp.js";import"./user-task-node-config.vue_vue_type_script_setup_true_lang-PzhbCon2.js";import"./user-task-listener.vue_vue_type_script_setup_true_lang-CMEgZW-E.js";import"./circle-check-big-BrzCNNIV.js";function I(t=[]){const o=[{fieldName:"startUserId",label:"发起人",component:"ApiSelect",componentProps:{placeholder:"请选择发起人",allowClear:!0,api:K,labelField:"nickname",valueField:"id"}},{fieldName:"name",label:"流程名称",component:"Input",componentProps:{placeholder:"请输入流程名称",allowClear:!0}},{fieldName:"status",label:"流程状态",component:"Select",componentProps:{placeholder:"请选择流程状态",allowClear:!0,options:q(x.BPM_PROCESS_INSTANCE_STATUS,"number")}},{fieldName:"createTime",label:"发起时间",component:"RangePicker",componentProps:b(P({},T()),{allowClear:!0})},{fieldName:"endTime",label:"结束时间",component:"RangePicker",componentProps:b(P({},T()),{allowClear:!0})}],e=t.filter(r=>["input","textarea"].includes(r.type)).map(r=>({fieldName:`formFieldsParams.${r.field}`,label:r.title,component:"Input",componentProps:{placeholder:`请输入${r.title}`,allowClear:!0}}));return[...o,...e]}function k(t=[]){const o=[{field:"name",title:"流程名称",minWidth:250,fixed:"left"},{field:"startUser.nickname",title:"流程发起人",minWidth:200},{field:"status",title:"流程状态",minWidth:120,cellRender:{name:"CellDict",props:{type:x.BPM_PROCESS_INSTANCE_STATUS}}},{field:"startTime",title:"发起时间",minWidth:180,formatter:"formatDateTime"},{field:"endTime",title:"结束时间",minWidth:180,formatter:"formatDateTime"}],e=t.map(r=>({field:`formVariables.${r.field}`,title:r.title,minWidth:120,formatter:({row:n})=>{var s,l;return(l=(s=n.formVariables)==null?void 0:s[r.field])!=null?l:""}}));return[...o,...e,{title:"操作",width:180,fixed:"right",slots:{default:"actions"}}]}const ct=X({name:"BpmProcessInstanceReport",__name:"index",setup(t){const o=U(),{query:e}=$(),r=e.processDefinitionId,n=Z([]);function s(){return u(this,null,function*(){const i=yield j(r);i!=null&&i.formFields&&(n.value=l(i.formFields))})}function l(i){const m=[];return i&&i.forEach(f=>{try{z(JSON.parse(f),m)}catch(E){console.error("解析表单字段失败",E)}}),m}function p(){C.query()}function a(i){o.push({name:"BpmProcessInstanceDetail",query:{id:i.id}})}function c(i){Q({component:()=>re(M,{placeholder:"请输入取消原因",allowClear:!0,rows:2}),content:"请输入取消原因",title:"取消流程",modelPropName:"value"}).then(m=>u(null,null,function*(){m&&(yield J(i.id,m),G.success("取消成功"),p())}))}const[A,C]=ie({formOptions:{schema:I()},gridOptions:{columns:k(),height:"auto",keepSource:!0,rowConfig:{keyField:"id",isHover:!0},toolbarConfig:{refresh:!0,search:!0},proxyConfig:{ajax:{query:(f,E)=>u(null,[f,E],function*({page:i},m){const g=m||{},{formFieldsParams:R={}}=g,O=N(g,["formFieldsParams"]),v=b(P({pageNo:i.currentPage,pageSize:i.pageSize},O),{processDefinitionKey:e.processDefinitionKey,formFieldsParams:JSON.stringify(R)});return yield L(v)})}}}});return ee(()=>u(null,null,function*(){yield s(),C.formApi.setState({schema:I(n.value)}),yield C.grid.reloadColumn(k(n.value))})),(i,m)=>(oe(),te(d(Y),{"auto-content-height":""},{default:D(()=>[F(d(A),{"table-title":"流程实例列表"},{actions:D(({row:f})=>[F(d(H),{actions:[{label:"详情",type:"link",icon:d(w).VIEW,auth:["bpm:process-instance:query"],onClick:a.bind(null,f)},{label:"取消",type:"link",danger:!0,icon:d(w).DELETE,auth:["bpm:process-instance:cancel"],ifShow:f.status===1,onClick:c.bind(null,f)}]},null,8,["actions"])]),_:1})]),_:1}))}});export{ct as default};
|