|
@@ -116,15 +116,15 @@
|
|
|
<!-- 话务部到一级部门 派单组到一级部门 -->
|
|
|
<template v-if="seatToOrgOne || paidanToOrgOne">
|
|
|
<el-col :span="24">
|
|
|
- <el-form-item label="派单类型" prop="dispatchType" :rules="[{ required: true, message: '请选择派单类型', trigger: 'change' }]">
|
|
|
- <el-radio-group v-model="state.ruleForm.dispatchType" @change="selectDispatchType">
|
|
|
+ <el-form-item label="派单类型" prop="orderAssignMode" :rules="[{ required: true, message: '请选择派单类型', trigger: 'change' }]">
|
|
|
+ <el-radio-group v-model="state.ruleForm.orderAssignMode" @change="selectDispatchType">
|
|
|
<el-radio value="0">逐级派单</el-radio>
|
|
|
<el-radio value="1">跨级派单</el-radio>
|
|
|
<el-radio value="2">主协办</el-radio>
|
|
|
</el-radio-group>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
- <el-col :span="24" v-if="state.ruleForm.dispatchType === '0'">
|
|
|
+ <el-col :span="24" v-if="state.ruleForm.orderAssignMode === '0'">
|
|
|
<el-row class="w100">
|
|
|
<el-col :span="12">
|
|
|
<el-form-item label="接办部门" prop="nextHandlers" :rules="[{ required: true, message: '请选择接办部门', trigger: 'change' }]">
|
|
@@ -165,13 +165,24 @@
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
</el-col>
|
|
|
- <el-col :span="24" v-if="state.ruleForm.dispatchType === '1'">
|
|
|
+ <el-col :span="24" v-if="state.ruleForm.orderAssignMode === '1'">
|
|
|
<el-form-item label="接办部门" prop="paidanObj" :rules="[{ required: true, message: '请选择接办部门', trigger: 'change' }]">
|
|
|
<el-row class="w100" :gutter="10">
|
|
|
<el-col :span="12">
|
|
|
- <el-select v-model="state.ruleForm.paidanObj" placeholder="一级部门" class="w100" filterable>
|
|
|
- <el-option v-for="item in state.paidanObjOptions" :key="item.key" :label="item.value" :value="item.key" />
|
|
|
- </el-select>
|
|
|
+ <el-select-v2
|
|
|
+ v-model="state.ruleForm.nextHandlers"
|
|
|
+ :options="state.handlerOptions"
|
|
|
+ placeholder="请选择接办部门"
|
|
|
+ class="w100"
|
|
|
+ multiple
|
|
|
+ clearable
|
|
|
+ collapse-tags
|
|
|
+ collapse-tags-tooltip
|
|
|
+ filterable
|
|
|
+ value-key="key"
|
|
|
+ @change="selectHandlers"
|
|
|
+ :multiple-limit="multipleLimit"
|
|
|
+ />
|
|
|
</el-col>
|
|
|
<el-col :span="12">
|
|
|
<el-select v-model="state.ruleForm.paidanObj" placeholder="下级部门" class="w100" filterable multiple>
|
|
@@ -181,7 +192,7 @@
|
|
|
</el-row>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
- <el-col :span="24" v-if="state.ruleForm.dispatchType === '2'">
|
|
|
+ <el-col :span="24" v-if="state.ruleForm.orderAssignMode === '2'">
|
|
|
<el-form-item label="主办部门" prop="paidanObj" :rules="[{ required: true, message: '请选择主办部门', trigger: 'change' }]">
|
|
|
<el-row class="w100" :gutter="20">
|
|
|
<el-col :span="18">
|
|
@@ -255,9 +266,9 @@
|
|
|
</template>
|
|
|
<!-- 派单组到一级部门 -->
|
|
|
<el-col :xs="24" :sm="24" :md="24" :lg="12" :xl="12" v-if="paidanToOrgOne">
|
|
|
- <el-form-item label="领导短信" prop="paidanObj" :rules="[{ required: false, message: '请选择领导短信', trigger: 'change' }]">
|
|
|
- <el-select v-model="state.ruleForm.paidanObj" placeholder="请选择领导短信" class="w100" filterable>
|
|
|
- <el-option v-for="item in state.paidanObjOptions" :key="item.key" :label="item.value" :value="item.key" />
|
|
|
+ <el-form-item label="领导短信" prop="leaderSMSKey" :rules="[{ required: false, message: '请选择领导短信', trigger: 'change' }]">
|
|
|
+ <el-select v-model="state.ruleForm.leaderSMSKey" placeholder="请选择领导短信" class="w100" filterable clearable>
|
|
|
+ <el-option v-for="item in leaderSMS" :key="item.key" :label="item.value" :value="item.key" />
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
@@ -281,8 +292,9 @@
|
|
|
class="w100"
|
|
|
value-key="dicDataValue"
|
|
|
@change="changeTranspondCity"
|
|
|
+ clearable
|
|
|
>
|
|
|
- <el-option v-for="item in state.transpondCity" :key="item.dicDataValue" :label="item.dicDataName" :value="item" />
|
|
|
+ <el-option v-for="item in transpondCity" :key="item.dicDataValue" :label="item.dicDataName" :value="item" />
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
@@ -456,11 +468,9 @@ const state = reactive<any>({
|
|
|
transpondCityName: null, // 市州转办信息
|
|
|
transpondCityId: null, // 市州转办信息id
|
|
|
transpondCityValue: null, // 市州转办信息
|
|
|
- dispatchType: '0', // 派单类型默认逐级派单
|
|
|
- },
|
|
|
- terminateForm: {
|
|
|
- //终止表单
|
|
|
- content: '', // 终止理由
|
|
|
+ orderAssignMode: '0', // 派单类型默认逐级派单
|
|
|
+ secondaryHandlers:[], // 跨级转派得下级办理对象/主协办得协办对象
|
|
|
+ copyToHandlers:[], // 抄送对象
|
|
|
},
|
|
|
nextStepOptions: [], // 下一节点
|
|
|
handlerOptions: [], // 办理对象
|
|
@@ -547,12 +557,16 @@ const timeTypeOptions = ref<EmptyArrayType>([]); // 办理时限单位
|
|
|
const canStartCountersign = ref<boolean>(false); // 是否可以发起会签
|
|
|
const isMainHandlerShow = ref<boolean>(false); // 是否展示主办人
|
|
|
const currentParams = ref<EmptyObjectType>({}); // 当前获取到的参数(当前节点信息)
|
|
|
+const leaderSMS = ref<EmptyArrayType>([]); // 领导短信选择
|
|
|
+const transpondCity = ref<EmptyArrayType>([]); // 市州互转选择
|
|
|
const handleResult = (res: any) => {
|
|
|
currentParams.value = res.result;
|
|
|
state.nextStepOptions = res.result.steps; //办理对象选择内容
|
|
|
timeTypeOptions.value = res.result.timeTypeOptions ?? []; // 办理时限申请单位
|
|
|
canStartCountersign.value = res.result.canStartCountersign ?? false; // 是否可以发起会签
|
|
|
isMainHandlerShow.value = res.result.isMainHandlerShow ?? false; // 是否展示主办人
|
|
|
+ leaderSMS.value = res.result.leaderSMS ?? []; // 领导短信选择
|
|
|
+ transpondCity.value = res.result.transpondCity ?? []; // 市州互转
|
|
|
if (handelArr.includes(state.processType)) {
|
|
|
// 办理才有期满时间
|
|
|
state.ruleForm.expiredTime = res.result.expiredTime ?? null; // 期满时间
|
|
@@ -757,6 +771,9 @@ const selectHandlers = () => {
|
|
|
// 如果只有一个办理对象就不需要发起会签
|
|
|
state.ruleForm.isStartCountersign = false;
|
|
|
}
|
|
|
+ if((seatToOrgOne.value || paidanToOrgOne.value) && state.ruleForm.orderAssignMode === '1'){
|
|
|
+
|
|
|
+ }
|
|
|
};
|
|
|
// 办理对象是否必填
|
|
|
const nextHandlersRequired = ref<Boolean>(false);
|
|
@@ -838,11 +855,10 @@ const onSubmit = (formEl: FormInstance | undefined) => {
|
|
|
isPoliceReturn: state.ruleForm.isPoliceReturn,
|
|
|
isResolved: state.ruleForm.isResolved,
|
|
|
};
|
|
|
- // submitObj.stepExpiredTime = submitObj.expiredTime; //节点过期时间
|
|
|
switch (state.processType) {
|
|
|
case '工单受理':
|
|
|
const request = {
|
|
|
- data: state.orderDetail.id,
|
|
|
+ data: { oderId: state.orderDetail.id, ...submitObj },
|
|
|
workflow: { ...submitObj, files: handleFiles.value },
|
|
|
};
|
|
|
orderStartFlow(request)
|
|
@@ -855,7 +871,11 @@ const onSubmit = (formEl: FormInstance | undefined) => {
|
|
|
break;
|
|
|
case '工单办理': // 工单办理流程
|
|
|
case '工单代办': // 工单代办流程
|
|
|
- orderHandle({ ...submitObj, files: handleFiles.value })
|
|
|
+ const requestHandle = {
|
|
|
+ data: { oderId: state.orderDetail.id, ...submitObj },
|
|
|
+ workflow: { ...submitObj, files: handleFiles.value },
|
|
|
+ };
|
|
|
+ orderHandle(requestHandle)
|
|
|
.then(() => {
|
|
|
afterSubmit('orderProcessSuccess', true);
|
|
|
})
|
|
@@ -864,7 +884,11 @@ const onSubmit = (formEl: FormInstance | undefined) => {
|
|
|
});
|
|
|
break;
|
|
|
case '工单退回':
|
|
|
- orderPrevious({ ...submitObj, files: handleFiles.value })
|
|
|
+ const requestReturn = {
|
|
|
+ data: { oderId: state.orderDetail.id, ...submitObj },
|
|
|
+ workflow: { ...submitObj, files: handleFiles.value },
|
|
|
+ };
|
|
|
+ orderPrevious(requestReturn)
|
|
|
.then(() => {
|
|
|
afterSubmit('orderProcessSuccess', true, '退回申请成功');
|
|
|
})
|
|
@@ -873,7 +897,11 @@ const onSubmit = (formEl: FormInstance | undefined) => {
|
|
|
});
|
|
|
break;
|
|
|
default: // 默认工单办理
|
|
|
- orderHandle({ ...submitObj, files: handleFiles.value })
|
|
|
+ const requestDefault = {
|
|
|
+ data: { oderId: state.orderDetail.id, ...submitObj },
|
|
|
+ workflow: { ...submitObj, files: handleFiles.value },
|
|
|
+ };
|
|
|
+ orderHandle(requestDefault)
|
|
|
.then(() => {
|
|
|
afterSubmit('orderProcessSuccess', true);
|
|
|
})
|