|
@@ -52,7 +52,7 @@
|
|
|
@input="computeTime"
|
|
|
></el-input-number>
|
|
|
</el-col>
|
|
|
- <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12">
|
|
|
+ <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" v-loading="state.loading">
|
|
|
<el-form-item
|
|
|
label=""
|
|
|
label-width="0"
|
|
@@ -68,7 +68,7 @@
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12">
|
|
|
- <el-form-item label="延期后期满时间"> {{ state.delayForm.title }} </el-form-item>
|
|
|
+ <el-form-item label="延期后期满时间"> {{ state.delayForm.endTime }} </el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24">
|
|
|
<el-form-item label="申请理由" prop="content" :rules="[{ required: true, message: '请填写延期申请理由', trigger: 'blur' }]">
|
|
@@ -106,9 +106,9 @@
|
|
|
<el-form-item label="申请时间"> {{ formatDate(Date(), 'YYYY-mm-dd HH:MM:SS') }} </el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12">
|
|
|
- <el-form-item label="申请类型" prop="unit" :rules="[{ required: true, message: '请选择申请类型', trigger: 'change' }]">
|
|
|
- <el-select v-model="state.discernForm.unit" placeholder="请选择申请类型" clearable class="w100">
|
|
|
- <el-option v-for="item in channelOptions" :value="item.key" :key="item.key" :label="item.value" />
|
|
|
+ <el-form-item label="申请类型" prop="type" :rules="[{ required: true, message: '请选择申请类型', trigger: 'change' }]">
|
|
|
+ <el-select v-model="state.discernForm.type" placeholder="请选择申请类型" class="w100" value-key="dicDataValue">
|
|
|
+ <el-option v-for="item in screenTypeOptions" :value="item.dicDataValue" :key="item.dicDataValue" :label="item" />
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
@@ -367,7 +367,9 @@ import {
|
|
|
workflowRedoParams,
|
|
|
} from '/@/api/system/workflow';
|
|
|
import { redoBaseData,redoApply } from '/@/api/business/redo';
|
|
|
-import {debounce, throttle} from '/@/utils/tools';
|
|
|
+import {delayCalcEndTime} from '/@/api/business/delay';
|
|
|
+import {discernApply,screenBaseData,workflowDiscernParams} from '/@/api/business/discern';
|
|
|
+import {debounce} from '/@/utils/tools';
|
|
|
|
|
|
// 引入组件
|
|
|
const CommonAdvice = defineAsyncComponent(() => import('/@/components/CommonAdvice/index.vue')); // 常用意见
|
|
@@ -436,6 +438,7 @@ const formComponents = ref<string>(); // 表单组件
|
|
|
const communicationModeOptions = ref<EmptyArrayType>([]); // 沟通方式
|
|
|
const timeTypeOptions = ref<EmptyArrayType>([]); // 延期申请单位
|
|
|
const orderRedoReasonOptions = ref<EmptyArrayType>([]); // 重办理由
|
|
|
+const screenTypeOptions = ref<EmptyArrayType>([]); // 甄别类型
|
|
|
const handleResult = (res: any) => {
|
|
|
state.nextStepOptions = res.result.steps; //处理人选择内容
|
|
|
state.handleId = res.result.id; //流程ID
|
|
@@ -482,13 +485,15 @@ const openDialog = async (val: any) => {
|
|
|
handleResult(res);
|
|
|
break;
|
|
|
case '甄别申请': // 甄别申请
|
|
|
- res = await OrderFlowParams(); //获取开启流程参数
|
|
|
+ res = await workflowDiscernParams(); //获取开启流程参数
|
|
|
+ const responseDiscern = await screenBaseData();// 甄别基础数据
|
|
|
+ screenTypeOptions.value = responseDiscern.result?.screenType ?? [];
|
|
|
handleResult(res);
|
|
|
break;
|
|
|
case '工单重办': // 工单重办
|
|
|
res = await workflowRedoParams(state.workflowId); //获取开启流程参数
|
|
|
- const response = await redoBaseData();// 重办基础数据
|
|
|
- orderRedoReasonOptions.value = response.result?.orderRedoReasonOptions ?? [];
|
|
|
+ const responseRedo = await redoBaseData();// 重办基础数据
|
|
|
+ orderRedoReasonOptions.value = responseRedo.result?.orderRedoReasonOptions ?? [];
|
|
|
handleResult(res);
|
|
|
break;
|
|
|
case '工单退回': // 退回流程
|
|
@@ -612,7 +617,19 @@ const chooseAdviceDelay = (item: any) => {
|
|
|
// 计算期满时间
|
|
|
const computeTime = debounce(() =>{
|
|
|
if(!state.delayForm.timeLimitCount || !state.delayForm.timeLimitUnit) return;
|
|
|
- console.log(state.delayForm.timeLimitCount,state.delayForm.timeLimitUnit);
|
|
|
+ let request = {
|
|
|
+ delayNum:state.delayForm.timeLimitCount,
|
|
|
+ delayUnit:state.delayForm.timeLimitUnit,
|
|
|
+ beginTime:state.orderDetail.expiredTime
|
|
|
+ }
|
|
|
+ state.loading = true;
|
|
|
+ delayCalcEndTime(request).then((res:any) => {
|
|
|
+ state.delayForm.endTime = formatDate(res.result.endTime,'YYYY-mm-dd HH:MM:SS');
|
|
|
+ state.loading = false
|
|
|
+ }).catch(() => {
|
|
|
+ state.delayForm.endTime = '';
|
|
|
+ state.loading = false;
|
|
|
+ })
|
|
|
},300)
|
|
|
// 选择常用意见 填入填写框 甄别
|
|
|
const chooseAdviceDiscern = (item: any) => {
|
|
@@ -690,6 +707,23 @@ const onSubmit = (formEl: FormInstance | undefined) => {
|
|
|
case '工单延期': // 撤回流程
|
|
|
break;
|
|
|
case '工单甄别': // 撤回流程
|
|
|
+ const requestDiscern = {
|
|
|
+ data: {
|
|
|
+ no:state.orderDetail.no,
|
|
|
+ visitId:state.orderDetail.visitId,
|
|
|
+ orderId:state.orderDetail.id,
|
|
|
+ typeDicId:state.discernForm.type.dicDataValue,
|
|
|
+ typeDicName:state.discernForm.type.dicDataName,
|
|
|
+ content:state.discernForm.content
|
|
|
+ },
|
|
|
+ workflow: submitObj,
|
|
|
+ };
|
|
|
+ discernApply(requestDiscern).then(() => {
|
|
|
+ afterSubmit('orderProcessSuccess', true);
|
|
|
+ })
|
|
|
+ .catch(() => {
|
|
|
+ afterSubmit('orderProcessFailed');
|
|
|
+ });
|
|
|
break;
|
|
|
case '工单重办': // 撤回流程
|
|
|
const requestRedo = {
|