index.kbRc7IG2.js 9.1 KB

1
  1. import{p as F,E as te,n as J}from"./index.T0of0op1.js";import{A as oe}from"./api.DU1IZv0a.js";import{w as se,D as G,H as N,af as ne,aF as a,a0 as k,y as f,a1 as t,a8 as e,z as i,a5 as d,x as q,aq as H,a7 as L,G as C,a3 as R,a6 as ae}from"./vue.Bi2Y_N79.js";import{_ as de}from"./_plugin-vue_export-helper.DlAUqK2U.js";const ie={class:"workflow-steps"},re={class:"workflow-step"},pe={class:"step-title"},ue={class:"step-roles"},me={class:"addRole",style:{width:"100%",display:"flex","justify-content":"center"}},_e={style:{"text-align":"center",margin:"16px 0"}},fe={class:"workflow-step"},ce=se({__name:"index",props:{visible:{type:Boolean},editData:{},mode:{}},emits:["update:visible","success"],setup(M,{emit:W}){const p=M,B=W,c=G(p.visible);N(()=>p.visible,n=>c.value=n),N(c,n=>B("update:visible",n));const T=()=>({name:"",passType:""}),U=()=>({roles:[T()]}),o=ne({name:"",scene:"",workflow_type:0,description:"",condition:{days:1,roles:[],equipment:"",borrow_types:[]},steps:[U()]}),I={name:[{required:!0,message:"请输入流程名称",trigger:"blur"}],workflow_type:[{required:!0,message:"请选择流程类型",trigger:"change"}],description:[{required:!0,message:"请输入流程描述",trigger:"blur"}],"condition.days":[{required:!0,message:"请输入借用天数",trigger:"change"}],"condition.roles":[{required:!0,message:"请选择用户角色",trigger:"change"}],"condition.equipment":[{required:!0,message:"请选择设备标签",trigger:"change"}],"condition.borrow_types":[{required:!0,message:"请选择借用类型",trigger:"change"}]},z=G();N(()=>p.editData,n=>{n?Object.assign(o,JSON.parse(JSON.stringify(n))):(o.name="",o.scene="",o.workflow_type=0,o.description="",o.condition={days:1,roles:[],equipment:"",borrow_types:[]},o.steps=[U()])},{immediate:!0});function K(){o.steps.push(U())}function P(n){o.steps.length>1&&o.steps.splice(n,1)}function Q(n){o.steps[n].roles.push(T())}function X(n,l){o.steps[n].roles.length>1&&o.steps[n].roles.splice(l,1)}function O(){c.value=!1}async function Y(){await z.value?.validate();const n={name:o.name,workflow_type:o.workflow_type,description:o.description,is_active:typeof o.is_active=="boolean"?o.is_active:!0,trigger_conditions:{equipment_categories:o.condition?.equipment?[o.condition.equipment]:["贵重设备"],borrow_types:o.condition?.borrow_types?.length?o.condition.borrow_types:["0","1","2"],team_type:o.condition?.team_type?.length?o.condition.team_type:["0","1"],user_types:o.condition?.roles?.length?o.condition.roles.map(l=>l==="教师"?"teacher":"student"):["student","teacher"]}};await oe(n),te.success("保存成功"),B("success"),c.value=!1}return(n,l)=>{const x=a("el-input"),r=a("el-form-item"),u=a("el-col"),S=a("el-row"),m=a("el-option"),$=a("el-select"),j=a("el-divider"),Z=a("el-input-number"),b=a("el-checkbox"),E=a("el-checkbox-group"),D=a("el-card"),v=a("el-icon"),g=a("el-button"),A=a("el-radio"),h=a("el-radio-group"),ee=a("el-form"),le=a("el-dialog");return f(),k(le,{title:n.editData?p.mode==="view"?"查看审批流程":"编辑审批流程":"新建审批流程",modelValue:c.value,"onUpdate:modelValue":l[8]||(l[8]=s=>c.value=s),width:"900px",onClose:O},{footer:t(()=>[e(g,{onClick:O},{default:t(()=>l[25]||(l[25]=[d("取消")])),_:1,__:[25]}),p.mode!=="view"?(f(),k(g,{key:0,type:"primary",onClick:Y},{default:t(()=>l[26]||(l[26]=[d("保存")])),_:1,__:[26]})):R("",!0)]),default:t(()=>[e(ee,{model:o,"label-width":"110px",rules:I,ref_key:"formRef",ref:z,disabled:p.mode==="view"},{default:t(()=>[e(S,{gutter:20},{default:t(()=>[e(u,{span:12},{default:t(()=>[e(r,{label:"流程名称",prop:"name"},{default:t(()=>[e(x,{modelValue:o.name,"onUpdate:modelValue":l[0]||(l[0]=s=>o.name=s),placeholder:"请输入"},null,8,["modelValue"])]),_:1})]),_:1}),e(u,{span:12},{default:t(()=>[e(r,{label:"适用场景",prop:"scene"},{default:t(()=>[e(x,{modelValue:o.scene,"onUpdate:modelValue":l[1]||(l[1]=s=>o.scene=s),placeholder:"请输入"},null,8,["modelValue"])]),_:1})]),_:1})]),_:1}),e(S,{gutter:20},{default:t(()=>[e(u,{span:12},{default:t(()=>[e(r,{label:"流程类型",prop:"workflow_type"},{default:t(()=>[e($,{modelValue:o.workflow_type,"onUpdate:modelValue":l[2]||(l[2]=s=>o.workflow_type=s),placeholder:"请选择流程类型",disabled:p.mode==="view"},{default:t(()=>[e(m,{label:"设备借用申请",value:"0"}),e(m,{label:"设备维修申请",value:"1"}),e(m,{label:"设备采购申请",value:"2"}),e(m,{label:"其他申请",value:"3"})]),_:1},8,["modelValue","disabled"])]),_:1})]),_:1}),e(u,{span:12},{default:t(()=>[e(r,{label:"流程描述",prop:"description"},{default:t(()=>[e(x,{modelValue:o.description,"onUpdate:modelValue":l[3]||(l[3]=s=>o.description=s),type:"textarea",rows:2,placeholder:"请输入流程描述",disabled:p.mode==="view"},null,8,["modelValue","disabled"])]),_:1})]),_:1})]),_:1}),e(j,null,{default:t(()=>l[9]||(l[9]=[d("条件选择")])),_:1,__:[9]}),e(S,{gutter:20},{default:t(()=>[e(u,{span:8},{default:t(()=>[e(r,{label:"借用天数大于",prop:"condition.days"},{default:t(()=>[e(Z,{modelValue:o.condition.days,"onUpdate:modelValue":l[4]||(l[4]=s=>o.condition.days=s),min:1,"controls-position":"right",style:{width:"100px"}},null,8,["modelValue"]),l[10]||(l[10]=i("span",{style:{"margin-left":"8px"}},"天",-1))]),_:1,__:[10]})]),_:1}),e(u,{span:8},{default:t(()=>[e(r,{label:"用户角色",prop:"condition.roles"},{default:t(()=>[e(E,{modelValue:o.condition.roles,"onUpdate:modelValue":l[5]||(l[5]=s=>o.condition.roles=s)},{default:t(()=>[e(b,{label:"教师"}),e(b,{label:"学生"}),e(b,{label:"非本院师生"})]),_:1},8,["modelValue"])]),_:1})]),_:1}),e(u,{span:8},{default:t(()=>[e(r,{label:"设备标签",prop:"condition.equipment"},{default:t(()=>[e($,{modelValue:o.condition.equipment,"onUpdate:modelValue":l[6]||(l[6]=s=>o.condition.equipment=s),placeholder:"请选择"},{default:t(()=>[e(m,{label:"贵重设备",value:"贵重设备"}),e(m,{label:"普通设备",value:"普通设备"})]),_:1},8,["modelValue"])]),_:1})]),_:1}),e(u,{span:8},{default:t(()=>[e(r,{label:"借用类型",prop:"condition.borrow_types"},{default:t(()=>[e(E,{modelValue:o.condition.borrow_types,"onUpdate:modelValue":l[7]||(l[7]=s=>o.condition.borrow_types=s),disabled:p.mode==="view"},{default:t(()=>[e(b,{label:"0"},{default:t(()=>l[11]||(l[11]=[d("常规借用")])),_:1,__:[11]}),e(b,{label:"1"},{default:t(()=>l[12]||(l[12]=[d("课堂借用")])),_:1,__:[12]}),e(b,{label:"2"},{default:t(()=>l[13]||(l[13]=[d("特殊借用")])),_:1,__:[13]})]),_:1},8,["modelValue","disabled"])]),_:1})]),_:1})]),_:1}),e(j,null,{default:t(()=>l[14]||(l[14]=[d("流程配置")])),_:1,__:[14]}),i("div",ie,[i("div",re,[e(D,{shadow:"never",class:"step-card borrower"},{default:t(()=>l[15]||(l[15]=[i("div",{class:"step-title"},"借用人",-1)])),_:1,__:[15]}),l[16]||(l[16]=i("div",{class:"step-line"},null,-1))]),(f(!0),q(L,null,H(o.steps,(s,_)=>(f(),q("div",{class:"workflow-step",key:_},[e(D,{shadow:"never",class:"step-card"},{default:t(()=>[i("div",pe,[d(" 审批步骤"+ae(_+1)+" ",1),o.steps.length>1&&_!==0?(f(),k(g,{key:0,type:"danger",size:"small",onClick:y=>P(_),style:{"margin-left":"10px"}},{default:t(()=>[e(v,null,{default:t(()=>[e(C(J))]),_:1}),l[17]||(l[17]=d(" 删除步骤 "))]),_:2,__:[17]},1032,["onClick"])):R("",!0)]),i("div",ue,[(f(!0),q(L,null,H(s.roles,(y,w)=>(f(),q("div",{key:w,class:"role-row",style:{position:"relative",padding:"0 20px"}},[e(r,{label:"角色","label-position":"left","label-width":"100px",prop:`steps.${_}.roles.${w}.name`,rules:[{required:!0,message:"请选择角色",trigger:"change"}]},{default:t(()=>[e($,{modelValue:y.name,"onUpdate:modelValue":V=>y.name=V,placeholder:"请选择角色",style:{width:"300px"}},{default:t(()=>[e(m,{label:"指导老师",value:"指导老师"}),e(m,{label:"管理员",value:"管理员"})]),_:2},1032,["modelValue","onUpdate:modelValue"])]),_:2},1032,["prop"]),e(r,{label:"通过条件","label-position":"left",prop:`steps.${_}.roles.${w}.passType`,rules:[{required:!0,message:"请选择通过条件",trigger:"change"}]},{default:t(()=>[e(h,{modelValue:y.passType,"onUpdate:modelValue":V=>y.passType=V},{default:t(()=>[e(A,{label:"any"},{default:t(()=>l[18]||(l[18]=[d("1名通过即可")])),_:1,__:[18]}),e(A,{label:"all"},{default:t(()=>l[19]||(l[19]=[d("所有人员通过")])),_:1,__:[19]})]),_:2},1032,["modelValue","onUpdate:modelValue"])]),_:2},1032,["prop"]),s.roles.length>1&&w!==0?(f(),k(g,{key:0,type:"danger",size:"small",onClick:V=>X(_,w),style:{position:"absolute",right:"0",top:"0"}},{default:t(()=>[e(v,null,{default:t(()=>[e(C(J))]),_:1}),l[20]||(l[20]=d(" 删除角色 "))]),_:2,__:[20]},1032,["onClick"])):R("",!0)]))),128)),i("div",me,[e(g,{type:"primary",size:"small",onClick:y=>Q(_)},{default:t(()=>[e(v,null,{default:t(()=>[e(C(F))]),_:1}),l[21]||(l[21]=d(" 添加角色 "))]),_:2,__:[21]},1032,["onClick"])])])]),_:2},1024),l[22]||(l[22]=i("div",{class:"step-line"},null,-1))]))),128)),i("div",_e,[e(g,{type:"primary",onClick:K},{default:t(()=>[e(v,null,{default:t(()=>[e(C(F))]),_:1}),l[23]||(l[23]=d(" 添加审批步骤 "))]),_:1,__:[23]})]),i("div",fe,[e(D,{shadow:"never",class:"step-card done"},{default:t(()=>l[24]||(l[24]=[i("div",{class:"step-title"},"审批完成",-1)])),_:1,__:[24]})])])]),_:1},8,["model","disabled"])]),_:1},8,["title","modelValue"])}}}),ve=de(ce,[["__scopeId","data-v-f596cc01"]]);export{ve as default};