Эх сурвалжийг харах

reactor:工单详情调整;

zhangchong 5 сар өмнө
parent
commit
16665e4bf3

+ 66 - 61
src/components/OrderDetail/index.vue

@@ -1,5 +1,12 @@
 <template>
-	<el-button class="button-select" link :type="props.order?.isRed ? 'danger' : 'primary'" @click="onOrderDetail" title="点击查看工单详情" :disabled="props.disabled">
+	<el-button
+		class="button-select"
+		link
+		:type="props.order?.isRed ? 'danger' : 'primary'"
+		@click="onOrderDetail"
+		title="点击查看工单详情"
+		:disabled="props.disabled"
+	>
 		<slot>工单详情</slot>
 	</el-button>
 	<el-dialog
@@ -49,17 +56,10 @@
 										"
 										>录音文件</el-button
 									>
-									<el-button
-										plain
-										title="外呼"
-										size="small"
-										type="primary"
-										class="ml8"
-										@click="callPhone(state.ruleForm.fromPhone)"
-										v-if="ZGCenter"
+									<el-button plain title="外呼" size="small" type="primary" class="ml8" @click="callPhone(state.ruleForm.fromPhone)" v-if="ZGCenter"
 										>外呼</el-button
 									>
-									<el-checkbox-group v-model="prefixOptions" :max="1"  v-if="ZGCenter" class="checkbox ml5">
+									<el-checkbox-group v-model="prefixOptions" :max="1" v-if="ZGCenter" class="checkbox ml5">
 										<el-checkbox value="add">加0</el-checkbox>
 										<el-checkbox value="remove">减0</el-checkbox>
 									</el-checkbox-group>
@@ -78,8 +78,10 @@
 							<el-col :xs="24" :sm="12" :md="8" :lg="6" :xl="6" v-if="state.ruleForm.contact">
 								<el-form-item label="联系电话">
 									<span> {{ state.ruleForm.contact }}</span>
-									<el-button plain title="外呼" size="small" type="primary" class="ml8" @click="callPhone(state.ruleForm.contact)" v-if="ZGCenter">外呼</el-button>
-									<el-checkbox-group v-model="prefixOptions" :max="1"  v-if="ZGCenter" class="checkbox ml5">
+									<el-button plain title="外呼" size="small" type="primary" class="ml8" @click="callPhone(state.ruleForm.contact)" v-if="ZGCenter"
+										>外呼</el-button
+									>
+									<el-checkbox-group v-model="prefixOptions" :max="1" v-if="ZGCenter" class="checkbox ml5">
 										<el-checkbox value="add">加0</el-checkbox>
 										<el-checkbox value="remove">减0</el-checkbox>
 									</el-checkbox-group>
@@ -306,20 +308,32 @@
 									</el-row>
 								</el-form-item>
 							</el-col>
-							<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" v-if="state.ruleForm.isStepUrgentTxt || state.ruleForm.IsEvasiveTxt || state.ruleForm.isInactivelyTxt">
+							<el-col
+								:xs="24"
+								:sm="24"
+								:md="24"
+								:lg="24"
+								:xl="24"
+								v-if="state.ruleForm.isStepUrgentTxt || state.ruleForm.IsEvasiveTxt || state.ruleForm.isInactivelyTxt"
+							>
 								<el-form-item label="派单员勾选">
-									<span class="color-danger" v-if="state.ruleForm.isStepUrgentTxt">{{state.ruleForm.isStepUrgentTxt}}</span>
-									<span class="color-danger" v-if="state.ruleForm.IsEvasiveTxt">,{{state.ruleForm.IsEvasiveTxt}}</span>
-									<span class="color-danger" v-if="state.ruleForm.isInactivelyTxt">,{{state.ruleForm.isInactivelyTxt}}</span>
+									<span class="color-danger" v-if="state.ruleForm.isStepUrgent">紧急</span>
+									<span class="color-danger" v-if="state.ruleForm.IsEvasiveTxt">,{{ state.ruleForm.IsEvasiveTxt }}</span>
+									<span class="color-danger" v-if="state.ruleForm.isInactivelyTxt">,{{ state.ruleForm.isInactivelyTxt }}</span>
 								</el-form-item>
 							</el-col>
 							<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" v-if="state.ruleForm.realCommunicationTime">
 								<el-form-item label="办件勾选">
 									<el-row class="w100 mb10">
-										<el-col>备注信息:{{ state.ruleForm.realContactLocaleTxt }} {{ state.ruleForm.realIsContactedTxt }} </el-col>
+										<el-col
+											>{{ state.ruleForm.realContactLocaleTxt }} {{ state.ruleForm.realIsContactedTxt }} {{ state.ruleForm.isOther ? '其他' : '' }}
+										</el-col>
 										<el-col :xs="24" :sm="8" :md="8" :lg="8" :xl="8">经办人姓名:{{ state.ruleForm.realHandlerName }} </el-col>
 										<el-col :xs="24" :sm="8" :md="8" :lg="8" :xl="8">经办人电话:{{ state.ruleForm.realHandlerPhone }} </el-col>
-										<el-col :xs="24" :sm="8" :md="8" :lg="8" :xl="8">沟通时间:{{ formatDate(state.ruleForm.remarkTime, 'YYYY-mm-dd HH:MM:SS') }} </el-col>
+										<el-col :xs="24" :sm="8" :md="8" :lg="8" :xl="8"
+											>沟通时间:{{ formatDate(state.ruleForm.realCommunicationTime, 'YYYY-mm-dd HH:MM:SS') }}
+										</el-col>
+										<el-col>其他原因:{{ state.ruleForm.otherRemark }}</el-col>
 										<el-col>沟通地点:{{ state.ruleForm.realCommunicationAddress }}</el-col>
 									</el-row>
 								</el-form-item>
@@ -338,7 +352,7 @@
 					<div v-for="i in state.orderComplements" :key="i" class="plug-container">
 						<el-form label-width="100px" ref="ruleFormRef">
 							<el-row :gutter="10">
-<!--								<el-col :xs="24" :sm="12" :md="8" :lg="6" :xl="6">
+								<!--								<el-col :xs="24" :sm="12" :md="8" :lg="6" :xl="6">
 									<el-form-item label="补充部门">
 										{{ i.creator.organization }}
 									</el-form-item>
@@ -479,20 +493,10 @@
 				<el-text v-if="['ZiGong'].includes(themeConfig.appScope) && state.ruleForm?.sendBackAuditEndTime" type="danger" tag="b" class="mr20">
 					退回截止时间:{{ formatDate(state.ruleForm?.sendBackAuditEndTime, 'YYYY-mm-dd HH:MM:SS') }}
 				</el-text>
-				<el-button
-					type="primary"
-					@click="onMarketDetail"
-					:loading="state.loading"
-					v-if="state.ruleForm.orderExtension?.orderType"
-				>市场明细</el-button
-				>
-				<el-button
-					type="primary"
-					@click="onJbExport"
-					:loading="state.loading"
-					v-if="state.ruleForm.id"
-				>导出交办单</el-button
+				<el-button type="primary" @click="onMarketDetail" :loading="state.loading" v-if="state.ruleForm.orderExtension?.orderType"
+					>市场明细</el-button
 				>
+				<el-button type="primary" @click="onJbExport" :loading="state.loading" v-if="state.ruleForm.id">导出交办单</el-button>
 				<!-- 单会签中+未到汇总节点 canEndCountersign 为true表示当前工单正在会签中,可以结束会签-->
 				<el-button
 					type="primary"
@@ -571,7 +575,7 @@
 					>代 办</el-button
 				>
 				<!-- 流程结束之后不展示补充按钮 -->
-<!--				        <el-button type="primary" @click="onSupply" :loading="state.loading" v-if="[0].includes(state.workflow.status)"
+				<!--				        <el-button type="primary" @click="onSupply" :loading="state.loading" v-if="[0].includes(state.workflow.status)"
           >补 充</el-button
         >-->
 				<!-- 100-200 表示工单正在办理中 并且应该自己办理 -->
@@ -651,7 +655,7 @@ const SpecialHandleOrder = defineAsyncComponent(() => import('@/views/business/s
 const PlayRecord = defineAsyncComponent(() => import('@/components/PlayRecord/index.vue')); // 播放录音
 const CopyOrder = defineAsyncComponent(() => import('@/views/todo/seats/accept/Copy.vue')); // 副本工单
 const ZGProcess = defineAsyncComponent(() => import('@/components/ProcessAudit/ZGProcess.vue')); // 自贡流程
-const MarketDetail = defineAsyncComponent(()=>import('@/views/business/order/components/Market-detail.vue')); // 市场明细
+const MarketDetail = defineAsyncComponent(() => import('@/views/business/order/components/Market-detail.vue')); // 市场明细
 
 type ButtonType = '' | 'default' | 'success' | 'warning' | 'info' | 'text' | 'primary' | 'danger';
 const props = defineProps({
@@ -670,10 +674,10 @@ const props = defineProps({
 		type: String,
 		default: '',
 	},
-	disabled:{
+	disabled: {
 		type: Boolean,
-		default: false
-	}
+		default: false,
+	},
 });
 const storesUserInfo = useUserInfo();
 const storesThemeConfig = useThemeConfig();
@@ -711,7 +715,7 @@ const state = reactive<any>({
 			value: '4',
 		},
 	],
-	collapseArr: ['1', '2', '3','4'], //展开列表
+	collapseArr: ['1', '2', '3', '4'], //展开列表
 	loading: false,
 	orderComplements: [], // 补充内容
 	workflow: {}, // 工单流程内容
@@ -733,11 +737,11 @@ const showKeyWord = (val: string[], keywordArr: string[]) => {
 	return str;
 };
 // 自贡中心才能看 宜宾所有都可以
-const ZGCenter = computed(()=>{
-	if(['ZiGong','LuZhou'].includes(themeConfig.value.appScope) && userInfos.value.isCenter){
+const ZGCenter = computed(() => {
+	if (['ZiGong', 'LuZhou'].includes(themeConfig.value.appScope) && userInfos.value.isCenter) {
 		return true;
-	}else return themeConfig.value.appScope === 'YiBin';
-})
+	} else return themeConfig.value.appScope === 'YiBin';
+});
 // 查看工单详情
 const getOrderDetail = async (id: string) => {
 	state.loading = true;
@@ -788,7 +792,8 @@ const openDialog = (val: any) => {
 	}
 	state.dialogVisible = true;
 	state.orderId = val.id;
-	if(['ZiGong'].includes(themeConfig.value.appScope) && !userInfos.value.isCenter){ // 自贡的部门部展示历史工单和副本工单
+	if (['ZiGong'].includes(themeConfig.value.appScope) && !userInfos.value.isCenter) {
+		// 自贡的部门部展示历史工单和副本工单
 		state.tabPaneList = [
 			{
 				label: '工单详情',
@@ -797,9 +802,9 @@ const openDialog = (val: any) => {
 			{
 				label: '回访详情',
 				value: '2',
-			}
-		]
-	}else{
+			},
+		];
+	} else {
 		state.tabPaneList = [
 			{
 				label: '工单详情',
@@ -821,7 +826,7 @@ const openDialog = (val: any) => {
 				label: '副本工单',
 				value: '4',
 			},
-		]
+		];
 	}
 	if (val.activeName) {
 		state.activeName = val.activeName; //传入查询tab
@@ -923,13 +928,13 @@ const onSubmit = (val: string, annexName: string = '办理附件', classify: str
 			classify,
 		},
 	};
-	if(['ZiGong'].includes(themeConfig.value.appScope)){
+	if (['ZiGong'].includes(themeConfig.value.appScope)) {
 		if (['工单办理', '工单代办', '工单退回'].includes(val)) {
 			zgProcessRef.value.openDialog(params);
 		} else {
 			processAuditRef.value.openDialog(params);
 		}
-	}else{
+	} else {
 		processAuditRef.value.openDialog(params);
 	}
 };
@@ -1041,22 +1046,22 @@ const onCancelDelay = () => {
 };
 // 交办单导出
 const onJbExport = () => {
-			state.loading = true;
-			exportJbOrder([state.ruleForm.id])
-				.then((res: any) => {
-					downloadZip(res);
-					state.loading = false;
-					ElMessage.success('导出成功');
-				})
-				.catch(() => {
-					state.loading = false;
-				});
+	state.loading = true;
+	exportJbOrder([state.ruleForm.id])
+		.then((res: any) => {
+			downloadZip(res);
+			state.loading = false;
+			ElMessage.success('导出成功');
+		})
+		.catch(() => {
+			state.loading = false;
+		});
 };
 // 市场明细
 const marketDetailRef = ref<RefType>();
-const onMarketDetail = ()=>{
+const onMarketDetail = () => {
 	marketDetailRef.value.openDialog(state.ruleForm);
-}
+};
 // 工单详情
 const onOrderDetail = () => {
 	openDialog(props.order);

+ 2 - 2
src/components/ProcessAudit/ZGProcess.vue

@@ -387,12 +387,12 @@
 						</el-col>
 						<el-col :xs="24" :sm="8" :md="8" :lg="8">
 							<el-form-item prop="realHandlerName" :rules="[{ required: true, message: '请填写经办人姓名', trigger: 'blur' }]">
-								<el-input v-model="state.ruleForm.realHandlerName" placeholder="经办人姓名"> </el-input>
+								<el-input v-model="state.ruleForm.realHandlerName" placeholder="经办人姓名" autocomplete="on"> </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: true, message: '请填写经办人电话', trigger: 'blur' }]">
-								<el-input v-model="state.ruleForm.realHandlerPhone" placeholder="经办人电话"> </el-input>
+								<el-input v-model="state.ruleForm.realHandlerPhone" placeholder="经办人电话" autocomplete="on"> </el-input>
 							</el-form-item>
 						</el-col>
 						<el-col :xs="24" :sm="8" :md="8" :lg="8" :xl="8">