|
@@ -79,7 +79,7 @@
|
|
|
</el-col>
|
|
|
</template>
|
|
|
<!-- 非退回流程都需要选择并且如果选择了结束节点就不需要选择办理对象 -->
|
|
|
- <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" v-if="!returnArr.includes(state.processType) && showHandlers">
|
|
|
+ <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" v-if="showHandlers">
|
|
|
<el-form-item
|
|
|
label="办理对象"
|
|
|
prop="nextHandlers"
|
|
@@ -128,7 +128,7 @@
|
|
|
<el-row class="w100">
|
|
|
<el-col :span="12">
|
|
|
<el-form-item label="接办部门" prop="nextHandlers" :rules="[{ required: true, message: '请选择接办部门', trigger: 'change' }]">
|
|
|
-<!-- <el-select v-model="state.ruleForm.paidanObj" placeholder="请选择接办部门" class="w100" filterable multiple>
|
|
|
+ <!-- <el-select v-model="state.ruleForm.paidanObj" placeholder="请选择接办部门" class="w100" filterable multiple>
|
|
|
<el-option v-for="item in state.paidanObjOptions" :key="item.key" :label="item.value" :value="item.key" />
|
|
|
</el-select>-->
|
|
|
<el-select-v2
|
|
@@ -212,9 +212,50 @@
|
|
|
</el-row>
|
|
|
</el-col>
|
|
|
</template>
|
|
|
+ <!-- 部门到部门 -->
|
|
|
+ <template v-if="orgToOrg">
|
|
|
+ <el-col>
|
|
|
+ <el-row class="w100">
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item label="接办部门" prop="nextHandlers" :rules="[{ required: true, message: '请选择接办部门', trigger: 'change' }]">
|
|
|
+ <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-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="12" v-if="countersignAble">
|
|
|
+ <el-form-item
|
|
|
+ label="发起会签"
|
|
|
+ prop="isStartCountersign"
|
|
|
+ :rules="[{ required: false, message: '请选择发起会签', trigger: 'change' }]"
|
|
|
+ >
|
|
|
+ <el-switch
|
|
|
+ v-model="state.ruleForm.isStartCountersign"
|
|
|
+ inline-prompt
|
|
|
+ active-text="是"
|
|
|
+ inactive-text="否"
|
|
|
+ @change="changeStartCountersign"
|
|
|
+ :disabled="countersignDisabled"
|
|
|
+ />
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ </el-col>
|
|
|
+ </template>
|
|
|
<!-- 派单组到一级部门 -->
|
|
|
<el-col :xs="24" :sm="24" :md="24" :lg="12" :xl="12" v-if="paidanToOrgOne">
|
|
|
- <el-form-item label="领导短信" prop="paidanObj" :rules="[{ required: true, message: '请选择领导短信', trigger: 'change' }]">
|
|
|
+ <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-select>
|
|
@@ -257,25 +298,26 @@
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="24">
|
|
|
- <el-form-item label="其他原因" prop="otherRemark" :rules="[{ required: false, message: '请填写其他原因', trigger: 'blur' }]">
|
|
|
+ <el-form-item label="其他原因" prop="otherRemark" :rules="[{ required: true, message: '请填写其他原因', trigger: 'blur' }]">
|
|
|
<el-input v-model="state.ruleForm.otherRemark" placeholder="请填写其他原因"> </el-input>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :xs="24" :sm="8" :md="8" :lg="8">
|
|
|
- <el-form-item prop="realHandlerName" :rules="[{ required: false, message: '请填写经办人姓名', trigger: 'blur' }]">
|
|
|
+ <el-form-item prop="realHandlerName" :rules="[{ required: true, message: '请填写经办人姓名', trigger: 'blur' }]">
|
|
|
<el-input v-model="state.ruleForm.realHandlerName" placeholder="经办人姓名"> </el-input>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :xs="24" :sm="8" :md="8" :lg="8" :xl="8">
|
|
|
- <el-form-item prop="realHandlerPhone" label-width="0" :rules="[{ required: false, message: '请填写经办人电话', trigger: 'blur' }]">
|
|
|
+ <el-form-item prop="realHandlerPhone" label-width="0" :rules="[{ required: true, message: '请填写经办人电话', trigger: 'blur' }]">
|
|
|
<el-input v-model="state.ruleForm.realHandlerPhone" placeholder="经办人电话"> </el-input>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :xs="24" :sm="8" :md="8" :lg="8" :xl="8">
|
|
|
<el-form-item
|
|
|
prop="realCommunicationTime"
|
|
|
- :xl="8" label-width="0"
|
|
|
- :rules="[{ required: false, message: '请选择沟通时间', trigger: 'change' }]"
|
|
|
+ :xl="8"
|
|
|
+ label-width="0"
|
|
|
+ :rules="[{ required: true, message: '请选择沟通时间', trigger: 'change' }]"
|
|
|
>
|
|
|
<el-date-picker
|
|
|
v-model="state.ruleForm.realCommunicationTime"
|
|
@@ -291,7 +333,7 @@
|
|
|
<el-form-item
|
|
|
label="沟通地点"
|
|
|
prop="realCommunicationAddress"
|
|
|
- :rules="[{ required: false, message: '请填写沟通地点', trigger: 'blur' }]"
|
|
|
+ :rules="[{ required: true, message: '请填写沟通地点', trigger: 'blur' }]"
|
|
|
>
|
|
|
<el-input v-model="state.ruleForm.realCommunicationAddress" placeholder="请填写沟通地点"> </el-input>
|
|
|
</el-form-item>
|
|
@@ -332,14 +374,15 @@
|
|
|
<annex-list :name="state.annexName" :businessId="state.orderDetail.id" :classify="state.classify" v-model:format="handleFiles" />
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
- <el-col v-if="isOverdueTips" :span="24">
|
|
|
+ <!-- <el-col v-if="isOverdueTips" :span="24">
|
|
|
<el-alert type="warning" show-icon title="注意"> 该工单属于超期状态,若符合延期要求,请延期通过后办结,是否继续办理 </el-alert>
|
|
|
- </el-col>
|
|
|
+ </el-col>-->
|
|
|
</el-row>
|
|
|
</el-form>
|
|
|
<template #footer>
|
|
|
<span class="dialog-footer">
|
|
|
- <el-button @click="closeDialog" class="default-button">取 消</el-button>
|
|
|
+ <el-text type="danger" class="mr15" tag="b">温馨提示:临时保存只保存{{ state.inputPlaceholder }}</el-text>
|
|
|
+ <el-button @click="closeDialog" class="default-button">取消</el-button>
|
|
|
<el-button type="primary" @click="handleTempSave" :loading="state.loading">临时保存</el-button>
|
|
|
<template v-if="seatTopaidan || seatToOrgOne">
|
|
|
<el-popconfirm title="确定当前工单为中心直办件?" v-if="!state.ruleForm.isForwarded" @confirm="onSubmit(ruleFormRef)" width="230">
|
|
@@ -349,7 +392,19 @@
|
|
|
</el-popconfirm>
|
|
|
<el-button type="primary" @click="onSubmit(ruleFormRef)" :loading="state.loading" v-else>办理</el-button>
|
|
|
</template>
|
|
|
- <el-button type="primary" @click="onSubmit(ruleFormRef)" :loading="state.loading" v-else>办理</el-button>
|
|
|
+ <template v-else>
|
|
|
+ <el-popconfirm
|
|
|
+ title="该工单属于超期状态,若符合延期要求,请延期通过后办结,是否继续办理?"
|
|
|
+ v-if="isOverdueTips"
|
|
|
+ @confirm="onSubmit(ruleFormRef)"
|
|
|
+ width="300"
|
|
|
+ >
|
|
|
+ <template #reference>
|
|
|
+ <el-button type="primary">办理</el-button>
|
|
|
+ </template>
|
|
|
+ </el-popconfirm>
|
|
|
+ <el-button type="primary" @click="onSubmit(ruleFormRef)" :loading="state.loading" v-else>办理</el-button>
|
|
|
+ </template>
|
|
|
</span>
|
|
|
</template>
|
|
|
</el-dialog>
|
|
@@ -401,7 +456,7 @@ const state = reactive<any>({
|
|
|
transpondCityName: null, // 市州转办信息
|
|
|
transpondCityId: null, // 市州转办信息id
|
|
|
transpondCityValue: null, // 市州转办信息
|
|
|
- dispatchType:'0', // 派单类型默认逐级派单
|
|
|
+ dispatchType: '0', // 派单类型默认逐级派单
|
|
|
},
|
|
|
terminateForm: {
|
|
|
//终止表单
|
|
@@ -533,7 +588,7 @@ const handleResult = (res: any) => {
|
|
|
* */
|
|
|
// 话务部到派单组
|
|
|
const seatTopaidan = computed(() => {
|
|
|
- return currentParams.value.currentStepBusinessType === 0 && selectNext.value.businessType === 1;
|
|
|
+ return currentParams.value.currentStepBusinessType === 0 && selectNext.value.businessType === 1;
|
|
|
});
|
|
|
// 话务部到一级部门
|
|
|
const seatToOrgOne = computed(() => {
|
|
@@ -549,7 +604,7 @@ const paidanToEnd = computed(() => {
|
|
|
});
|
|
|
// 一级部门到归档
|
|
|
const orgOneToEnd = computed(() => {
|
|
|
- return currentParams.value.currentStepBusinessType === 2 && selectNext.value.orgLevel === 1 && selectNext.value.key === 'end';
|
|
|
+ return currentParams.value.currentStepBusinessType === 2 && currentParams.value.currentOrgLevel === 1 && selectNext.value.key === 'end';
|
|
|
});
|
|
|
// 部门流转到部门
|
|
|
const orgToOrg = computed(() => {
|
|
@@ -561,7 +616,7 @@ const orgToOrgSummary = computed(() => {
|
|
|
});
|
|
|
// 部门流转到部门领导
|
|
|
const orgToOrgLeader = computed(() => {
|
|
|
- return currentParams.value.currentStepBusinessType === 2 && selectNext.value.businessType === 3;
|
|
|
+ return currentParams.value.currentStepBusinessType === 2 && selectNext.value.businessType === 3 && selectNext.value.key !== 'end';
|
|
|
});
|
|
|
// 部门退回部门 当前节点是部门 并且 部门等级大于1 需要展示短信并且默认勾选
|
|
|
const orgReturnOrg = computed(() => {
|
|
@@ -607,8 +662,9 @@ const selectNextStep = (val: any) => {
|
|
|
// 是否展示短信通知 (话务部到一级部门 派单组到一级部门 部门流转到部门 部门到汇总 部门流转到部门领导 部门退回到部门)
|
|
|
isSmsSelectShow.value =
|
|
|
seatToOrgOne.value || paidanToOrgOne.value || orgToOrg.value || orgToOrgSummary.value || orgToOrgLeader.value || orgReturnOrg.value;
|
|
|
- // 是否不展示办理对象 (话务部到一级部门 派单组到一级部门 派单到归档 部门到部门 部门到汇总)
|
|
|
- isNotShowNextHandlers.value = seatToOrgOne.value || paidanToOrgOne.value || paidanToEnd.value || orgToOrg.value || orgToOrgSummary.value;
|
|
|
+ // 是否不展示办理对象 (话务部到一级部门 派单组到一级部门 派单到归档 一级部门到归档 部门到部门 部门到汇总)
|
|
|
+ isNotShowNextHandlers.value =
|
|
|
+ seatToOrgOne.value || paidanToOrgOne.value || paidanToEnd.value || orgOneToEnd.value || orgToOrg.value || orgToOrgSummary.value;
|
|
|
};
|
|
|
|
|
|
// 会签是否可用 (多个办理对象,并且配置可以会签)
|
|
@@ -641,7 +697,7 @@ const changeStartCountersign = (val: boolean) => {
|
|
|
const selectDispatchType = (val: any) => {
|
|
|
state.ruleForm.nextHandlers = [];
|
|
|
ruleFormRef.value?.resetFields('nextHandlers');
|
|
|
-}
|
|
|
+};
|
|
|
|
|
|
// 是否展示办理对象 (办理对象下拉框隐藏:AppConfigInfo.value.isAverageSendOrder= true 表示开启了平均派单 )
|
|
|
// 话务部到一级部门部不展示办理对象 派单组到一级部门不展示办理对象 派单组流转到归档不展示办理对象 一级部门流转到归档不展示办理对象 xx部门流转到xx部门 不展示办理对象 xx部门流转至xx部门汇总;不展示办理对象
|