Browse Source

fix:工单受理类型字段调整;

zhangchong 1 year ago
parent
commit
3d9d33e8f3

+ 53 - 75
src/views/business/order/accept/orderAdd.vue

@@ -724,35 +724,16 @@ const getParentId = (val: any, arr: string[]) => {
 	return arr;
 };
 // 选择工单类型 处理受理类型选择数据
-const selectOrderType = (val: any) => {
+ const selectOrderType = (val: any) => {
 	ruleFormRef.value.resetFields('acceptType');
-	if (val === 1) {
-		// 选择了12315 市场监管受理单
-		state.acceptTypeOptions = state.acceptTypeOptions.map((item: any) => {
-			if (item.key === 5 || item.key === 6) {
-				//直接投诉或者建议
-				return {
-					key: item.key,
-					value: item.value,
-					disabled: false,
-				};
-			} else {
-				return {
-					key: item.key,
-					value: item.value,
-					disabled: true,
-				};
-			}
-		});
-	} else {
-		state.acceptTypeOptions = state.acceptTypeOptions.map((item: any) => {
-			return {
-				key: item.key,
-				value: item.value,
-				disabled: false,
-			};
-		});
-	}
+	state.acceptTypeOptions = state.acceptTypeOptions.map((item: any) => {
+		let isDisabled = val === 1 && ![30, 35].includes(item.key); // 选择了12315 市场监管受理单 举报:30 投诉:35
+		return {
+			key: item.key,
+			value: item.value,
+			disabled: isDisabled,
+		};
+	});
 };
 const areaRef = ref<RefType>();
 // 选择省市区
@@ -770,10 +751,10 @@ const showExpandForm = () => {
 // 拓展表单保存
 const saveExpandForm = (val: any) => {
 	switch (state.ruleForm.acceptType) {
-		case 5: //举报
+		case 30: //举报
 			state.ruleForm.orderReport = val;
 			break;
-		case 6: //投诉
+		case 35: //投诉
 			state.ruleForm.orderComplain = val;
 			break;
 		default:
@@ -782,49 +763,46 @@ const saveExpandForm = (val: any) => {
 };
 // 保存
 const save = throttle(() => {
-	ruleFormRef.value.validate((valid: boolean) => {
-		if (valid) {
-			state.ruleForm.hotspotExternal = state.hotspotExternal.join(',');
-			let submitObj = other.deepClone(state.ruleForm);
-			Reflect.deleteProperty(submitObj, 'ageRangeObj'); // 删除无用的参数 年龄段
-			Reflect.deleteProperty(submitObj, 'pushTypeObj'); // 删除无用的参数 推送分类
-			Reflect.deleteProperty(submitObj, 'licenceTypeObj'); // 删除无用的参数 证件类型
-			if (submitObj.acceptType === 5) Reflect.deleteProperty(submitObj, 'orderComplain'); // 举报 删除投诉表单
-			if (submitObj.acceptType === 6) Reflect.deleteProperty(submitObj, 'orderReport'); // 投诉 删除举报表单
-			if (submitObj.orderType === 1 && submitObj.acceptType) {
-				//拓展表单
-				if (ExpandFormRef.value.state.validated) {
-					//验证通过
-					// 新增
-					orderAdd(submitObj).then(() => {
-						ElMessage.success('操作成功');
-						// 关闭当前 tagsView
-						mittBus.emit('onCurrentContextmenuClick', Object.assign({}, { contextMenuClickId: 1, ...route }));
-						mittBus.emit('clearCache', 'order');
-						router.push({
-							path: '/business/order',
-						});
-					});
-				} else {
-					//不通过 展示弹窗
-					ExpandFormRef.value.openDialog(submitObj.acceptType, true); // 立即提交展示验证
-				}
-			} else {
-				// 新增
-				orderAdd(submitObj).then(() => {
-					ElMessage.success('操作成功');
-					// 关闭当前 tagsView
-					mittBus.emit('onCurrentContextmenuClick', Object.assign({}, { contextMenuClickId: 1, ...route }));
-					mittBus.emit('clearCache', 'order');
-					router.push({
-						path: '/business/order',
-					});
-				});
-			}
-		} else {
-			return false;
-		}
-	});
+    ruleFormRef.value.validate((valid: boolean) => {
+        if (valid) {
+            state.ruleForm.hotspotExternal = state.hotspotExternal.join(',');
+            let submitObj = other.deepClone(state.ruleForm);
+            Reflect.deleteProperty(submitObj, 'ageRangeObj'); // 删除无用的参数 年龄段
+            Reflect.deleteProperty(submitObj, 'pushTypeObj'); // 删除无用的参数 推送分类
+            Reflect.deleteProperty(submitObj, 'licenceTypeObj'); // 删除无用的参数 证件类型
+            if (submitObj.acceptType === 30) Reflect.deleteProperty(submitObj, 'orderComplain'); // 举报 删除投诉表单
+            if (submitObj.acceptType === 35) Reflect.deleteProperty(submitObj, 'orderReport'); // 投诉 删除举报表单
+            
+            const addOrderAndNavigate = () => {
+                orderAdd(submitObj).then(() => {
+                    ElMessage.success('操作成功');
+                    // 关闭当前 tagsView
+                    mittBus.emit('onCurrentContextmenuClick', Object.assign({}, { contextMenuClickId: 1, ...route }));
+                    mittBus.emit('clearCache', 'order');
+                    router.push({
+                        path: '/business/order',
+                    });
+                });
+            };
+
+            if (submitObj.orderType === 1 && submitObj.acceptType) {
+                //拓展表单
+                if (ExpandFormRef.value.state.validated) {
+                    //验证通过
+                    // 新增
+                    addOrderAndNavigate();
+                } else {
+                    //不通过 展示弹窗
+                    ExpandFormRef.value.openDialog(submitObj.acceptType, true); // 立即提交展示验证
+                }
+            } else {
+                // 新增
+                addOrderAndNavigate();
+            }
+        } else {
+            return false;
+        }
+    });
 }, 500);
 // 提交
 const submit = throttle(() => {
@@ -835,8 +813,8 @@ const submit = throttle(() => {
 			Reflect.deleteProperty(submitObj, 'ageRangeObj'); // 删除无用的参数 年龄段
 			Reflect.deleteProperty(submitObj, 'pushTypeObj'); // 删除无用的参数 推送分类
 			Reflect.deleteProperty(submitObj, 'licenceTypeObj'); // 删除无用的参数 证件类型
-			if (submitObj.acceptType === 5) Reflect.deleteProperty(submitObj, 'orderComplain'); // 举报 删除投诉表单
-			if (submitObj.acceptType === 6) Reflect.deleteProperty(submitObj, 'orderReport'); // 投诉 删除举报表单
+			if (submitObj.acceptType === 30) Reflect.deleteProperty(submitObj, 'orderComplain'); // 举报 删除投诉表单
+			if (submitObj.acceptType === 35) Reflect.deleteProperty(submitObj, 'orderReport'); // 投诉 删除举报表单
 			if (state.orderId) {
 				//如果已经有订单id
 				submitObj.id = state.orderId;

+ 4 - 4
src/views/business/order/accept/orderEdit.vue

@@ -797,8 +797,8 @@ const save = throttle(() => {
 			Reflect.deleteProperty(submitObj, 'ageRangeObj'); // 删除无用的参数 年龄段
 			Reflect.deleteProperty(submitObj, 'pushTypeObj'); // 删除无用的参数 推送分类
 			Reflect.deleteProperty(submitObj, 'licenceTypeObj'); // 删除无用的参数 证件类型
-			if (submitObj.acceptType === 5) Reflect.deleteProperty(submitObj, 'orderComplain'); // 举报 删除投诉表单
-			if (submitObj.acceptType === 6) Reflect.deleteProperty(submitObj, 'orderReport'); // 投诉 删除举报表单
+			if (submitObj.acceptType === 30) Reflect.deleteProperty(submitObj, 'orderComplain'); // 举报 删除投诉表单
+			if (submitObj.acceptType === 35) Reflect.deleteProperty(submitObj, 'orderReport'); // 投诉 删除举报表单
 			if (submitObj.orderType === 1 && submitObj.acceptType) {
 				//拓展表单
 				if (ExpandFormRef.value.state.validated) {
@@ -842,8 +842,8 @@ const submit = throttle(() => {
 			Reflect.deleteProperty(submitObj, 'ageRangeObj'); // 删除无用的参数 年龄段
 			Reflect.deleteProperty(submitObj, 'pushTypeObj'); // 删除无用的参数 推送分类
 			Reflect.deleteProperty(submitObj, 'licenceTypeObj'); // 删除无用的参数 证件类型
-			if (submitObj.acceptType === 5) Reflect.deleteProperty(submitObj, 'orderComplain'); // 举报 删除投诉表单
-			if (submitObj.acceptType === 6) Reflect.deleteProperty(submitObj, 'orderReport'); // 投诉 删除举报表单
+			if (submitObj.acceptType === 30) Reflect.deleteProperty(submitObj, 'orderComplain'); // 举报 删除投诉表单
+			if (submitObj.acceptType === 35) Reflect.deleteProperty(submitObj, 'orderReport'); // 投诉 删除举报表单
 			if (submitObj.orderType === 1 && submitObj.acceptType) {
 				//拓展表单
 				if (ExpandFormRef.value.state.validated) {

+ 3 - 5
src/views/business/order/accept/repeatOrderDetail.vue

@@ -108,7 +108,7 @@
 										<el-button
 											link
 											type="primary"
-											v-if="state.ruleForm.orderType === 1 && (state.ruleForm.acceptType === 5 || state.ruleForm.acceptType === 6)"
+											v-if="state.ruleForm.orderType === 1 && (state.ruleForm.acceptType === 30 || state.ruleForm.acceptType === 35)"
 											class="ml10"
 											@click="showExpandInfo"
 											><SvgIcon name="ele-Document" class="mr2" /> 拓展信息</el-button
@@ -328,13 +328,11 @@ const getDetail = async (id: string | string[]) => {
 // 展示扩展表单
 const showExpandInfo = () => {
 	let form: any = {};
-	if (state.ruleForm.acceptType === 5) {
-		// 举报
+	if (state.ruleForm.acceptType === 30) {// 举报
 		form = state.ruleForm.orderReport;
 		form.orderTypeText = '12315市场监管局受理单';
 		form.acceptTypeText = '举报';
-	} else if (state.ruleForm.acceptType === 6) {
-		//投诉
+	} else if (state.ruleForm.acceptType === 35) {//投诉
 		form = state.ruleForm.orderComplain;
 		form.orderTypeText = '12315市场监管局受理单';
 		form.acceptTypeText = '投诉';

+ 3 - 5
src/views/business/order/components/Order-detail.vue

@@ -108,7 +108,7 @@
 										<el-button
 											link
 											type="primary"
-											v-if="state.ruleForm.orderType === 1 && (state.ruleForm.acceptType === 5 || state.ruleForm.acceptType === 6)"
+											v-if="state.ruleForm.orderType === 1 && (state.ruleForm.acceptType === 30 || state.ruleForm.acceptType === 35)"
 											class="ml10"
 											@click="showExpandInfo"
 											><SvgIcon name="ele-Document" class="mr2" /> 拓展信息</el-button
@@ -412,13 +412,11 @@ const getDetail = async (id: string) => {
 // 展示扩展表单
 const showExpandInfo = () => {
 	let form: any = {};
-	if (state.ruleForm.acceptType === 5) {
-		// 举报
+	if (state.ruleForm.acceptType === 30) {// 举报
 		form = state.ruleForm.orderReport;
 		form.orderTypeText = '12315市场监管局受理单';
 		form.acceptTypeText = '举报';
-	} else if (state.ruleForm.acceptType === 6) {
-		//投诉
+	} else if (state.ruleForm.acceptType === 35) {//投诉
 		form = state.ruleForm.orderComplain;
 		form.orderTypeText = '12315市场监管局受理单';
 		form.acceptTypeText = '投诉';

+ 22 - 26
src/views/business/order/components/Order-expand-form.vue

@@ -8,12 +8,12 @@
 					</el-col>
 					<el-col :xs="24" :sm="24" :md="8" :lg="8" :xl="6">
 						<el-form-item label="受理类型" class="mb5">
-							<template v-if="state.acceptType === 5"> 举报 </template>
-							<template v-if="state.acceptType === 6"> 投诉 </template>
+							<template v-if="state.acceptType === 30"> 举报 </template>
+							<template v-if="state.acceptType === 35"> 投诉 </template>
 						</el-form-item>
 					</el-col>
-					<el-divider content-position="left" v-if="state.acceptType === 5"><b class="formTitle">举报人信息</b></el-divider>
-					<el-divider content-position="left" v-if="state.acceptType === 6"><b class="formTitle">投诉人信息</b></el-divider>
+					<el-divider content-position="left" v-if="state.acceptType === 30"><b class="formTitle">举报人信息</b></el-divider>
+					<el-divider content-position="left" v-if="state.acceptType === 35"><b class="formTitle">投诉人信息</b></el-divider>
 					<el-col :xs="24" :sm="12" :md="8" :lg="8" :xl="6">
 						<el-form-item label="证件类型" prop="licenceObj" :rules="[{ required: false, message: '请选择证件类型', trigger: 'change' }]">
 							<el-select
@@ -148,8 +148,8 @@
 							<el-input v-model="state.expandForm.otherContact" placeholder="请填写其他联系方式" clearable> </el-input>
 						</el-form-item>
 					</el-col>
-					<el-divider content-position="left" v-if="state.acceptType === 5"><b class="formTitle">举报对象信息</b></el-divider>
-					<el-divider content-position="left" v-if="state.acceptType === 6"><b class="formTitle">投诉对象信息</b></el-divider>
+					<el-divider content-position="left" v-if="state.acceptType === 30"><b class="formTitle">举报对象信息</b></el-divider>
+					<el-divider content-position="left" v-if="state.acceptType === 35"><b class="formTitle">投诉对象信息</b></el-divider>
 					<el-col :xs="24" :sm="12" :md="8" :lg="8" :xl="6">
 						<el-form-item label="企业名称" prop="enterpriseName" :rules="[{ required: true, message: '请填写企业名称', trigger: 'blur' }]">
 							<el-input v-model="state.expandForm.enterpriseName" placeholder="请填写企业名称" clearable> </el-input>
@@ -236,8 +236,8 @@
 							</el-cascader>
 						</el-form-item>
 					</el-col>
-					<el-divider content-position="left" v-if="state.acceptType === 5"><b class="formTitle">举报详情</b></el-divider>
-					<el-divider content-position="left" v-if="state.acceptType === 6"><b class="formTitle">投诉详情</b></el-divider>
+					<el-divider content-position="left" v-if="state.acceptType === 30"><b class="formTitle">举报详情</b></el-divider>
+					<el-divider content-position="left" v-if="state.acceptType === 35"><b class="formTitle">投诉详情</b></el-divider>
 					<el-col :xs="24" :sm="12" :md="8" :lg="8" :xl="6">
 						<el-form-item label="商品分类/品牌" prop="brandCode" :rules="[{ required: true, message: '请选择商品分类/品牌', trigger: 'change' }]">
 							<el-cascader
@@ -283,8 +283,8 @@
 							</el-cascader>
 						</el-form-item>
 					</el-col>
-					<!-- 举报展示 -->
-					<template v-if="state.acceptType === 5">
+					<!-- 举报展示 -->
+					<template v-if="state.acceptType === 30">
 						<el-col :xs="24" :sm="12" :md="8" :lg="8" :xl="6">
 							<el-form-item
 								label="举报问题类别"
@@ -309,8 +309,8 @@
 							</el-form-item>
 						</el-col>
 					</template>
-					<!-- 投诉展示 -->
-					<template v-if="state.acceptType === 6">
+					<!-- 投诉展示 -->
+					<template v-if="state.acceptType === 35">
 						<el-col :xs="24" :sm="12" :md="8" :lg="8" :xl="6">
 							<el-form-item
 								label="投诉问题类别"
@@ -335,7 +335,7 @@
 							</el-form-item>
 						</el-col>
 					</template>
-					<el-col :xs="24" :sm="12" :md="8" :lg="8" :xl="6" v-if="state.acceptType === 6">
+					<el-col :xs="24" :sm="12" :md="8" :lg="8" :xl="6" v-if="state.acceptType === 35">
 						<el-form-item label="争议发生时间" prop="occurrenceTime" :rules="[{ required: true, message: '请选择争议发生时间', trigger: 'change' }]">
 							<el-date-picker
 								v-model="state.expandForm.occurrenceTime"
@@ -364,7 +364,7 @@
 						</el-form-item>
 					</el-col>
 					<!-- 售方式为“网购”时展示该字段且必填 -->
-					<template v-if="state.acceptType === 5 && state.expandForm.salesModeCode === '114'">
+					<template v-if="state.acceptType === 30 && state.expandForm.salesModeCode === '114'">
 						<el-col :xs="24" :sm="12" :md="8" :lg="8" :xl="6">
 							<el-form-item label="举报目标" prop="reportTargetObj" :rules="[{ required: true, message: '请选择举报目标', trigger: 'blur' }]">
 								<el-select
@@ -382,7 +382,7 @@
 						</el-col>
 					</template>
 					<!-- 销售方式为“网购”时展示该字段且必填 -->
-					<template v-if="state.acceptType === 6 && state.expandForm.salesModeCode === '114'">
+					<template v-if="state.acceptType === 35 && state.expandForm.salesModeCode === '114'">
 						<el-col :xs="24" :sm="12" :md="8" :lg="8" :xl="6">
 							<el-form-item label="投诉目标" prop="complainTargetObj" :rules="[{ required: true, message: '请选择投诉目标', trigger: 'blur' }]">
 								<el-select
@@ -553,8 +553,8 @@
 							<el-input v-model="state.expandForm.consumerAddress" placeholder="请填写消费者地址" clearable> </el-input>
 						</el-form-item>
 					</el-col>
-					<!-- 投诉展示 -->
-					<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" v-if="state.acceptType === 6">
+					<!-- 投诉展示 -->
+					<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" v-if="state.acceptType === 35">
 						<el-form-item label="诉求" prop="complainTypes" :rules="[{ required: false, message: '请选择诉求', trigger: 'change' }]">
 							<el-checkbox-group v-model="state.expandForm.complainTypes">
 								<el-checkbox v-for="item in state.complainTypeOptions" :key="item.key" :label="item.key">{{ item.value }}</el-checkbox>
@@ -584,7 +584,7 @@ const emit = defineEmits(['saveExpandForm']);
 // 定义变量内容
 const state = reactive<any>({
 	isShowDialog: false,
-	acceptType: 5, // 受理类型 5: 举报 6: 投诉
+	acceptType: 30, // 受理类型 30: 举报 35: 投诉
 	expandForm: {
 		licenceTypeCode: '',
 		identityTypeCode: '',
@@ -656,12 +656,10 @@ const closed = () => {
 const problemCascadeRef = ref<RefType>();
 const changeProblems = () => {
 	let currentNode = problemCascadeRef.value.getCheckedNodes();
-	if (state.acceptType == 5) {
-		//举报
+	if (state.acceptType == 30) {//举报
 		state.expandForm.reportClassify = currentNode[0].label;
 		state.isPatent = currentNode[0].parent?.value === '26';
-	} else if (state.acceptType == 6) {
-		// 投诉
+	} else if (state.acceptType == 35) {// 投诉
 		state.expandForm.complainClassify = currentNode[0].label;
 		state.isPatent = currentNode[0].parent?.value === '2000';
 	}
@@ -753,11 +751,9 @@ onMounted(async () => {
 			if (route.params.id) {
 				// 修改 将数据填入表单组件
 				const response: any = await orderDetail(route.params.id);
-				if (response.result.acceptType === 5 && response.result.orderType === 1) {
-					// 举报
+				if (response.result.acceptType === 30 && response.result.orderType === 1) {// 举报
 					state.expandForm = response.result.orderReport;
-				} else if (response.result.acceptType === 6 && response.result.orderType === 1) {
-					// 投诉
+				} else if (response.result.acceptType === 35 && response.result.orderType === 1) {// 投诉
 					state.expandForm = response.result.orderComplain;
 				}
 				state.expandForm.licenceObj = {