瀏覽代碼

reactor:对接智能回访任务;

zhangchong 1 年之前
父節點
當前提交
71962d136d
共有 32 個文件被更改,包括 607 次插入557 次删除
  1. 3 3
      src/api/smartVisit/index.ts
  2. 5 27
      src/components/OrderDetail/index.vue
  3. 1 1
      src/components/ProcessTimeLine/index.vue
  4. 0 4
      src/theme/app.scss
  5. 5 0
      src/theme/element.scss
  6. 5 5
      src/views/business/order/components/Order-expand-detail.vue
  7. 2 2
      src/views/business/order/index.vue
  8. 6 2
      src/views/business/publish/component/Order-publish-edit.vue
  9. 6 2
      src/views/business/publish/component/Order-publish.vue
  10. 3 1
      src/views/business/repeatEvent/components/Repeat-event-detail.vue
  11. 3 1
      src/views/business/repeatEvent/components/Repeat-event-edit.vue
  12. 1 1
      src/views/business/return/components/Apply.vue
  13. 1 1
      src/views/business/return/components/Return-detail.vue
  14. 1 1
      src/views/business/secondVisit/components/Visit-detail.vue
  15. 1 1
      src/views/business/secondVisit/components/Visit.vue
  16. 3 1
      src/views/business/special/components/Special-audit-detail.vue
  17. 1 1
      src/views/business/special/components/Special-audit.vue
  18. 92 90
      src/views/business/supervise/components/Order-supervise-detail.vue
  19. 6 6
      src/views/business/visit/component/Visit-detail.vue
  20. 280 276
      src/views/quality/done/components/Quality-inspection.vue
  21. 18 10
      src/views/quality/index/components/Quality-inspection.vue
  22. 1 1
      src/views/quality/template/components/Template-add.vue
  23. 1 1
      src/views/quality/template/components/Template-edit.vue
  24. 8 3
      src/views/smartVisit/components/Smart-visit-Detail.vue
  25. 57 25
      src/views/smartVisit/components/Smart-visit-add.vue
  26. 7 3
      src/views/smartVisit/index.vue
  27. 4 4
      src/views/statistics/call/index.vue
  28. 1 1
      src/views/statistics/call/seats.vue
  29. 1 1
      src/views/statistics/order/center.vue
  30. 1 1
      src/views/statistics/order/orgOverdue.vue
  31. 6 2
      src/views/system/user/component/User-edit.vue
  32. 77 79
      src/views/todo/seats/accept/Expand-form.vue

+ 3 - 3
src/api/smartVisit/index.ts

@@ -38,12 +38,12 @@ export const  getSmartVisitRecord = (params:object) => {
 }
 /**
  * @description  新增智能回访任务
- * @param {object} params
+ * @param {object} data
  */
-export const  smartVisit = (params:object) => {
+export const  smartVisitAdd = (data:object) => {
     return request({
         url: `/api/v1/Ai/aivisit/add-aivisit`,
         method: 'post',
-        params
+        data
     });
 }

+ 5 - 27
src/components/OrderDetail/index.vue

@@ -287,42 +287,20 @@
 						<span>{{ formatDate(row.visitTime, 'YYYY-mm-dd HH:MM:SS') }}</span>
 					</template>
 				</el-table-column>
-				<el-table-column label="语音评价" show-overflow-tooltip width="150">
+				<el-table-column label="语音评价" show-overflow-tooltip>
 					<template #default="{ row }">
 						<span v-for="item in row.orderVisitDetails">
 							<span v-if="item.visitTarget === 10">{{ item.voiceEvaluateText }}</span>
 						</span>
 					</template>
 				</el-table-column>
-				<el-table-column label="话务员满意度" show-overflow-tooltip width="150">
+				<el-table-column label="话务员满意度" show-overflow-tooltip>
 					<template #default="{ row }">
 						<span v-for="item in row.orderVisitDetails">
 							<span v-if="item.visitTarget === 10">{{ item.seatEvaluateText }}</span>
 						</span>
 					</template>
 				</el-table-column>
-				<el-table-column label="被回访部门" show-overflow-tooltip width="150">
-					<template #default="{ row }">
-						<span v-if="row.visitTarget === 20">{{ row.visitOrgName }}</span>
-					</template>
-				</el-table-column>
-				<el-table-column label="部门办件结果" show-overflow-tooltip width="150">
-					<template #default="{ row }">
-						<span v-if="row.visitTarget === 20">{{ row.orgProcessingResults?.value }}</span>
-					</template>
-				</el-table-column>
-				<el-table-column label="部门办件态度" show-overflow-tooltip width="150">
-					<template #default="{ row }">
-						<span v-if="row.visitTarget === 20">{{ row.orgHandledAttitude?.value }}</span>
-					</template>
-				</el-table-column>
-				<el-table-column label="不满意原因" show-overflow-tooltip width="150">
-					<template #default="{ row }">
-						<span v-if="row.visitTarget === 20">
-							{{ row.orgNoSatisfiedReason?.map((item) => item.value).join(',') }}
-						</span>
-					</template>
-				</el-table-column>
 				<el-table-column prop="statusText" label="操作" width="100" fixed="right" align="center">
 					<template #default="{ row }">
 						<el-button @click="onVisitDetail(row)" link type="primary"> 查看 </el-button>
@@ -369,9 +347,9 @@
 							<!-- 部门评价 -->
 							<template v-if="item.visitTarget === 20">
 								<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24">
-									<el-divider content-position="left"
-										><span class="font18 bold">{{ item.visitOrgName }}</span></el-divider
-									>
+                  <el-divider content-position="left">
+                    <el-text tag="b" size="large"> {{ item.visitOrgName }} </el-text>
+                  </el-divider>
 								</el-col>
 								<el-col :xs="24" :sm="24" :md="24" :lg="12" :xl="12">
 									<el-form-item label="部门办件结果">

+ 1 - 1
src/components/ProcessTimeLine/index.vue

@@ -51,7 +51,7 @@
 							<p class="infos-inner">{{ formatDate(item.handleTime, 'YYYY-mm-dd HH:MM:SS') }}</p>
 						</el-col>
 						<el-col :xs="24" :sm="12" :md="12" :lg="4" :xl="4">
-							<p class="infos-title">办理期限</p>
+							<p class="infos-title">期满时间</p>
 							<p class="infos-inner">{{ formatDate(item.stepExpiredTime, 'YYYY-mm-dd HH:MM:SS') }}</p>
 						</el-col>
 					</el-row>

+ 0 - 4
src/theme/app.scss

@@ -412,10 +412,6 @@ li {
 	font-weight: 600;
 	color: var(--hotline-color-bar);
 }
-//  表单内标题的字体大小
-.formTitle {
-	font-size: var(--el-font-size-medium);
-}
 // 选择图片下拉
 .item-Img {
 	display: flex;

+ 5 - 0
src/theme/element.scss

@@ -342,3 +342,8 @@
 		white-space: nowrap;
 	}
 }
+/* 字体颜色
+------------------------------- */
+.el-text{
+	color: var(--el-text-color-primary);
+}

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

@@ -202,9 +202,9 @@
 			<!-- (11)12315 市场监管局受理单【投诉】 (12)12315 市场监管局受理单【举报】-->
 			<template v-if="['scjgjts', 'scjgjjb'].includes(state.ruleForm.orderTypeCode)">
         <el-divider content-position="left">
-          <b class="formTitle">{{
+          <el-text tag="b" size="large"> {{
               state.ruleForm.orderTypeCode === 'scjgjjb' ? '举报人信息' : state.ruleForm.orderTypeCode === 'scjgjts' ? '投诉人信息' : null
-            }}</b>
+            }} </el-text>
         </el-divider>
         <el-row :gutter="35">
           <el-col :xs="24" :sm="12" :md="8" :lg="8" :xl="8">
@@ -236,9 +236,9 @@
           </el-col>
         </el-row>
         <el-divider content-position="left">
-          <b class="formTitle">{{
+          <el-text tag="b" size="large"> {{
               state.ruleForm.orderTypeCode === 'scjgjjb' ? '举报对象信息' : state.ruleForm.orderTypeCode === 'scjgjts' ? '投诉对象信息' : ''
-            }}</b>
+            }} </el-text>
         </el-divider>
         <el-row :gutter="35">
           <el-col :xs="24" :sm="12" :md="8" :lg="8" :xl="8">
@@ -264,7 +264,7 @@
           </el-col>
         </el-row>
         <el-divider content-position="left">
-          <b class="formTitle">{{ state.ruleForm.orderTypeCode === 'scjgjjb' ? '举报详情' : state.ruleForm.orderTypeCode === 'scjgjts' ? '投诉详情' : null }}</b>
+          <el-text tag="b" size="large"> {{ state.ruleForm.orderTypeCode === 'scjgjjb' ? '举报详情' : state.ruleForm.orderTypeCode === 'scjgjts' ? '投诉详情' : null }} </el-text>
         </el-divider>
         <el-row :gutter="35">
           <el-col :xs="24" :sm="12" :md="8" :lg="8" :xl="8">

+ 2 - 2
src/views/business/order/index.vue

@@ -186,8 +186,8 @@
 						<span>{{ formatDate(row.startTime, 'YYYY-mm-dd HH:MM:SS') }}</span>
 					</template>
 				</el-table-column>
-				<el-table-column prop="" label="延期申请" show-overflow-tooltip width="150"></el-table-column>
-				<el-table-column prop="" label="甄别状态" show-overflow-tooltip width="150"></el-table-column>
+<!--				<el-table-column prop="" label="延期申请" show-overflow-tooltip width="150"></el-table-column>
+				<el-table-column prop="" label="甄别状态" show-overflow-tooltip width="150"></el-table-column>-->
 				<el-table-column prop="expiredTime" label="工单期满时间" show-overflow-tooltip width="170">
 					<template #default="{ row }">
 						<span>{{ formatDate(row.expiredTime, 'YYYY-mm-dd HH:MM:SS') }}</span>

+ 6 - 2
src/views/business/publish/component/Order-publish-edit.vue

@@ -5,7 +5,9 @@
 				<el-row :gutter="10" class="w100">
 					<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" v-if="state.orderDetail.isProvince">
 						<el-row :gutter="0">
-							<el-divider content-position="left"> <b class="font16">省工单发布内容</b> </el-divider>
+							<el-divider content-position="left">
+								<el-text tag="b" size="large"> 省工单发布内容 </el-text>
+							</el-divider>
 							<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12">
 								<el-form-item label="是否公开">
 									{{ state.ruleForm.proPublishState ? '公开' : '不公开' }}
@@ -23,7 +25,9 @@
 							</el-col>
 						</el-row>
 					</el-col>
-					<el-divider content-position="left"> <b class="font16">市工单发布内容</b> </el-divider>
+					<el-divider content-position="left">
+						<el-text tag="b" size="large"> 市工单发布内容 </el-text>
+					</el-divider>
 					<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24">
 						<el-form-item label="工单标题"> {{ state.publishDetail.orderTitle }} </el-form-item>
 					</el-col>

+ 6 - 2
src/views/business/publish/component/Order-publish.vue

@@ -5,7 +5,9 @@
 				<el-row :gutter="10" class="w100">
 					<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" v-if="state.orderDetail.isProvince">
 						<el-row :gutter="0">
-							<el-divider content-position="left"> <b class="font16">省工单发布内容</b> </el-divider>
+              <el-divider content-position="left">
+                <el-text tag="b" size="large"> 省工单发布内容 </el-text>
+              </el-divider>
 							<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12">
 								<el-form-item label="是否公开" prop="proPublishState" :rules="[{ required: false, message: '请选择是否公开', trigger: 'change' }]">
 									<el-radio-group v-model="state.ruleForm.proPublishState" :disabled="disabled">
@@ -43,7 +45,9 @@
 							</el-col>
 						</el-row>
 					</el-col>
-					<el-divider content-position="left"> <b class="font16">市工单发布内容</b> </el-divider>
+          <el-divider content-position="left">
+            <el-text tag="b" size="large"> 市工单发布内容 </el-text>
+          </el-divider>
 					<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24">
 						<el-form-item label="工单标题"> {{ state.publishDetail.orderTitle }} </el-form-item>
 					</el-col>

+ 3 - 1
src/views/business/repeatEvent/components/Repeat-event-detail.vue

@@ -16,7 +16,9 @@
         </el-col>
       </el-row>
     </el-form>
-    <el-divider content-position="left"><span class="font16"> 重复事件工单 </span></el-divider>
+    <el-divider content-position="left">
+      <el-text tag="b" size="large"> 重复事件工单 </el-text>
+    </el-divider>
     <el-table :data="state.repeatTable" v-loading="state.loading">
       <el-table-column prop="order.no" label="工单编码" show-overflow-tooltip width="150"></el-table-column>
       <el-table-column width="100" label="省/市工单" prop="isProvince">

+ 3 - 1
src/views/business/repeatEvent/components/Repeat-event-edit.vue

@@ -34,7 +34,9 @@
         </el-col>
       </el-row>
     </el-form>
-    <el-divider content-position="left"><span class="font16"> 重复事件工单 </span></el-divider>
+    <el-divider content-position="left">
+      <el-text tag="b" size="large"> 重复事件工单 </el-text>
+    </el-divider>
     <div class="mb10">
       <el-button type="primary" @click="onAddRepeatTable">添加 </el-button>
       <el-button type="primary" @click="onRemoveRepeatTable" :disabled="!multipleSelection.length">移除 </el-button>

+ 1 - 1
src/views/business/return/components/Apply.vue

@@ -47,7 +47,7 @@
 					</el-form-item>
 				</el-col>
 				<template v-if="isAudit">
-					<el-divider></el-divider>
+					<el-divider />
 					<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24">
 						<el-form-item label="审批意见" prop="auditOpinion" :rules="[{ required: true, message: '请填退回审批意见', trigger: 'blur' }]">
 							<el-input

+ 1 - 1
src/views/business/return/components/Return-detail.vue

@@ -28,7 +28,7 @@
 					</el-form-item>
 				</el-col>
         <el-divider content-position="left">
-          <b class="formTitle">审批信息</b>
+          <el-text tag="b" size="large"> 审批信息 </el-text>
         </el-divider>
         <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12">
           <el-form-item label="审批结果">

+ 1 - 1
src/views/business/secondVisit/components/Visit-detail.vue

@@ -28,7 +28,7 @@
               <annex-list name="二次回访附件" readonly :businessId="state.visitDetail.id" classify="二次回访附件" v-model="state.visitDetail.files"/>
 						</el-form-item>
 					</el-col>
-					<el-divider></el-divider>
+					<el-divider />
 					<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24">
 						<el-form-item label="审批结果">
 							{{ state.visitDetail.visitApplyStateText }}

+ 1 - 1
src/views/business/secondVisit/components/Visit.vue

@@ -58,7 +58,7 @@
 						</el-form-item>
 					</el-col>
 					<template v-if="isAudit">
-						<el-divider></el-divider>
+						<el-divider />
 						<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24">
 							<el-form-item label="审批意见" prop="examinOpinion" :rules="[{ required: true, message: '请填二次回访写审批意见', trigger: 'blur' }]">
 								<el-input

+ 3 - 1
src/views/business/special/components/Special-audit-detail.vue

@@ -38,7 +38,9 @@
               <annex-list name="特提附件" readonly classify="特提附件" v-model="state.detail.files"/>
 						</el-form-item>
 					</el-col>
-					<el-divider content-position="left">审批详情</el-divider>
+          <el-divider content-position="left">
+            <el-text tag="b" size="large"> 审批详情 </el-text>
+          </el-divider>
 					<el-col :xs="24" :sm="24" :md="12" :lg="12" :xl="12">
 						<el-form-item label="审批结果">
 							{{ state.detail?.stateText }}

+ 1 - 1
src/views/business/special/components/Special-audit.vue

@@ -33,7 +33,7 @@
 							<annex-list name="特提附件" readonly classify="特提申请" v-model="state.detail.files" />
 						</el-form-item>
 					</el-col>
-					<el-divider></el-divider>
+					<el-divider />
 					<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="12">
 						<el-form-item label="审批结果" prop="isPass" :rules="[{ required: true, message: '请选择审批结果', trigger: 'change' }]">
 							<el-radio-group v-model="state.ruleForm.isPass">

+ 92 - 90
src/views/business/supervise/components/Order-supervise-detail.vue

@@ -1,74 +1,76 @@
 <template>
-  <el-dialog
-      v-model="state.dialogVisible"
-      draggable
-      title="督办详情"
-      ref="dialogRef"
-      @mouseup="mouseup"
-      :style="'transform: ' + state.transform + ';'"
-      width="50%"
-      destroy-on-close
-      @close="close"
-  >
-    <div class="collapse-container pb1">
-      <el-form label-width="110px" ref="ruleFormRef" :model="state.ruleForm" class="show-info-form">
-        <el-row :gutter="35">
-          <el-divider content-position="left"> <span class="font16 font-bold">督办内容</span> </el-divider>
-          <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12">
-            <el-form-item label="工单编码"> {{ state.orderDetail.no }} </el-form-item>
-          </el-col>
-          <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12">
-            <el-form-item label="工单标题"> {{ state.orderDetail.title }} </el-form-item>
-          </el-col>
-          <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12">
-            <el-form-item label="督办人"> {{ state.superviseDetail.crUser }} </el-form-item>
-          </el-col>
-          <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12">
-            <el-form-item label="督办部门"> {{ state.superviseDetail.creatorOrgName }} </el-form-item>
-          </el-col>
-          <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12">
-            <el-form-item label="督办时间"> {{ formatDate(state.superviseDetail.creationTime, '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="督办回复时限"> {{ formatDate(state.superviseDetail.replyLimitTime, 'YYYY-mm-dd HH:MM:SS') }} </el-form-item>
-          </el-col>
-          <el-col :xs="24" :sm="24" :md="12" :lg="12" :xl="12">
-            <el-form-item label="被督办部门">{{ state.superviseDetail.orgName }}</el-form-item>
-          </el-col>
-          <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24">
-            <el-form-item label="附件" prop="handleResult" :rules="[{ required: false, message: '请选择附件', trigger: 'change' }]">
-              <annex-list name="督办申请附件" readonly classify="督办申请" v-model="state.superviseDetail.files"/>
-            </el-form-item>
-          </el-col>
-          <template v-if="state.superviseDetail.replyTime">
-            <el-divider content-position="left"> <el-text tag="b" size="large">回复内容</el-text> </el-divider>
-            <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12">
-              <el-form-item label="督办回复时间"> {{formatDate(state.superviseDetail.replyTime, 'YYYY-mm-dd HH:MM:SS')}} </el-form-item>
-            </el-col>
-            <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24">
-              <el-form-item label="督办回复内容"> {{ state.superviseDetail.replyContent }} </el-form-item>
-            </el-col>
-            <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24">
-              <el-form-item label="附件" prop="handleResult" :rules="[{ required: false, message: '请选择附件', trigger: 'change' }]">
-                <annex-list name="督办回复附件" readonly classify="督办回复" v-model="state.superviseDetail.replyFiles"/>
-              </el-form-item>
-            </el-col>
-          </template>
-        </el-row>
-      </el-form>
-    </div>
-    <template #footer>
+	<el-dialog
+		v-model="state.dialogVisible"
+		draggable
+		title="督办详情"
+		ref="dialogRef"
+		@mouseup="mouseup"
+		:style="'transform: ' + state.transform + ';'"
+		width="50%"
+		destroy-on-close
+		@close="close"
+	>
+		<div class="collapse-container pb1">
+			<el-form label-width="110px" ref="ruleFormRef" :model="state.ruleForm" class="show-info-form">
+				<el-row :gutter="35">
+					<el-divider content-position="left">
+						<el-text tag="b" size="large"> 督办内容 </el-text>
+					</el-divider>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12">
+						<el-form-item label="工单编码"> {{ state.orderDetail.no }} </el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12">
+						<el-form-item label="工单标题"> {{ state.orderDetail.title }} </el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12">
+						<el-form-item label="督办人"> {{ state.superviseDetail.crUser }} </el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12">
+						<el-form-item label="督办部门"> {{ state.superviseDetail.creatorOrgName }} </el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12">
+						<el-form-item label="督办时间"> {{ formatDate(state.superviseDetail.creationTime, '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="督办回复时限"> {{ formatDate(state.superviseDetail.replyLimitTime, 'YYYY-mm-dd HH:MM:SS') }} </el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="24" :md="12" :lg="12" :xl="12">
+						<el-form-item label="被督办部门">{{ state.superviseDetail.orgName }}</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24">
+						<el-form-item label="附件" prop="handleResult" :rules="[{ required: false, message: '请选择附件', trigger: 'change' }]">
+							<annex-list name="督办申请附件" readonly classify="督办申请" v-model="state.superviseDetail.files" />
+						</el-form-item>
+					</el-col>
+					<template v-if="state.superviseDetail.replyTime">
+						<el-divider content-position="left"> <el-text tag="b" size="large">回复内容</el-text> </el-divider>
+						<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12">
+							<el-form-item label="督办回复时间"> {{ formatDate(state.superviseDetail.replyTime, 'YYYY-mm-dd HH:MM:SS') }} </el-form-item>
+						</el-col>
+						<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24">
+							<el-form-item label="督办回复内容"> {{ state.superviseDetail.replyContent }} </el-form-item>
+						</el-col>
+						<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24">
+							<el-form-item label="附件" prop="handleResult" :rules="[{ required: false, message: '请选择附件', trigger: 'change' }]">
+								<annex-list name="督办回复附件" readonly classify="督办回复" v-model="state.superviseDetail.replyFiles" />
+							</el-form-item>
+						</el-col>
+					</template>
+				</el-row>
+			</el-form>
+		</div>
+		<template #footer>
 			<span class="dialog-footer">
 				<el-button @click="closeDialog" class="default-button">取 消</el-button>
 			</span>
-    </template>
-  </el-dialog>
+		</template>
+	</el-dialog>
 </template>
 <script setup lang="ts" name="businessSuperviseDetailDialog">
-import {defineAsyncComponent, reactive, ref} from 'vue';
-import {formatDate} from '/@/utils/formatTime';
-import {superviseDetail, superviseReply} from "/@/api/business/supervise";
-import {ElMessage, FormInstance} from "element-plus";
+import { defineAsyncComponent, reactive, ref } from 'vue';
+import { formatDate } from '/@/utils/formatTime';
+import { superviseDetail, superviseReply } from '/@/api/business/supervise';
+import { ElMessage, FormInstance } from 'element-plus';
 
 // 引入组件
 const AnnexList = defineAsyncComponent(() => import('/@/components/AnnexList/index.vue'));
@@ -78,44 +80,44 @@ const CommonAdvice = defineAsyncComponent(() => import('/@/components/CommonAdvi
 const emit = defineEmits(['updateList']);
 // 定义变量内容
 const state = reactive<any>({
-  collapseArr: ['1', '2'], // 折叠面板
-  dialogVisible: false, // 是否显示弹窗
-  loading: false, // 是否显示加载
-  ruleForm: {
-    acceptSms: false, // 发送督办短信
-    applyContent: '', // 督办内容
-  },
-  superviseDetail: {}, // 督办详情
-  transform: 'translate(0px, 0px)', // 滚动条位置
-  orderDetail: {}, // 工单详情
-  orgData:[],// 被督办部门
+	collapseArr: ['1', '2'], // 折叠面板
+	dialogVisible: false, // 是否显示弹窗
+	loading: false, // 是否显示加载
+	ruleForm: {
+		acceptSms: false, // 发送督办短信
+		applyContent: '', // 督办内容
+	},
+	superviseDetail: {}, // 督办详情
+	transform: 'translate(0px, 0px)', // 滚动条位置
+	orderDetail: {}, // 工单详情
+	orgData: [], // 被督办部门
 });
 const ruleFormRef = ref<RefType>();
-const getDetail = async (id:string)=>{
-  let res = await superviseDetail(id);
-  state.superviseDetail = res.result ?? {};
-  state.orderDetail = res.result?.order ?? {};
-  state.dialogVisible = true;
-}
+const getDetail = async (id: string) => {
+	let res = await superviseDetail(id);
+	state.superviseDetail = res.result ?? {};
+	state.orderDetail = res.result?.order ?? {};
+	state.dialogVisible = true;
+};
 // 设置抽屉
 const dialogRef = ref<RefType>();
 const mouseup = () => {
-  state.transform = dialogRef.value.dialogContentRef.$el.style.transform;
+	state.transform = dialogRef.value.dialogContentRef.$el.style.transform;
 };
 // 打开弹窗
 const openDialog = (val: any) => {
-  getDetail(val.id);
+	getDetail(val.id);
 };
 // 关闭弹窗
 const closeDialog = () => {
-  state.dialogVisible = false;
+	state.dialogVisible = false;
 };
 const close = () => {
-  ruleFormRef.value.clearValidate();
-  ruleFormRef.value.resetFields();
+	ruleFormRef.value.clearValidate();
+	ruleFormRef.value.resetFields();
 };
 defineExpose({
-  openDialog,
-  closeDialog,
+	openDialog,
+	closeDialog,
 });
-</script>
+</script>

+ 6 - 6
src/views/business/visit/component/Visit-detail.vue

@@ -152,9 +152,9 @@
 									<!-- 部门评价 -->
 									<template v-if="item.visitTarget === 20">
 										<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24">
-											<el-divider content-position="left" style="margin: 20px 0"
-												><span class="font18 bold">{{ item.visitOrgName }}</span></el-divider
-											>
+											<el-divider content-position="left">
+												<el-text tag="b" size="large"> {{ item.visitOrgName }} </el-text>
+											</el-divider>
 										</el-col>
 										<el-col :xs="24" :sm="24" :md="24" :lg="12" :xl="12">
 											<el-form-item label="部门办件结果">
@@ -242,9 +242,9 @@
 									<!-- 部门评价 -->
 									<template v-if="item.visitTarget === 20">
 										<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24">
-											<el-divider content-position="left" style="margin: 20px 0"
-												><span class="font18 bold">{{ item.visitOrgName }}</span></el-divider
-											>
+											<el-divider content-position="left">
+												<el-text tag="b" size="large"> {{ item.visitOrgName }} </el-text>
+											</el-divider>
 										</el-col>
 										<el-col :xs="24" :sm="24" :md="24" :lg="12" :xl="12">
 											<el-form-item

+ 280 - 276
src/views/quality/done/components/Quality-inspection.vue

@@ -1,157 +1,159 @@
 <template>
-  <el-dialog v-model="state.dialogVisible" :title="dialogTitle" draggable ref="dialogRef" width="50%" append-to-body destroy-on-close @close="close">
-    <el-form :model="state.ruleForm" ref="ruleFormRef" label-width="110px">
-      <el-row :gutter="10">
-        <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12">
-          <el-form-item label="工单编码:"> {{ state.orderDetail.no }} </el-form-item>
-        </el-col>
-        <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12">
-          <el-form-item label="来电号码:">
-            {{ state.orderDetail.fromPhone }}
-            <el-button
-                plain
-                title="录音文件"
-                size="small"
-                type="primary"
-                class="ml8"
-                @click="recordFile(state.orderDetail.callId)"
-                v-if="state.orderDetail.callId"
-            >录音文件</el-button
-            >
-          </el-form-item>
-        </el-col>
-        <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12">
-          <el-form-item label="受理人:">
+	<el-dialog v-model="state.dialogVisible" :title="dialogTitle" draggable ref="dialogRef" width="50%" append-to-body destroy-on-close @close="close">
+		<el-form :model="state.ruleForm" ref="ruleFormRef" label-width="110px">
+			<el-row :gutter="10">
+				<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12">
+					<el-form-item label="工单编码:"> {{ state.orderDetail.no }} </el-form-item>
+				</el-col>
+				<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12">
+					<el-form-item label="来电号码:">
+						{{ state.orderDetail.fromPhone }}
+						<el-button
+							plain
+							title="录音文件"
+							size="small"
+							type="primary"
+							class="ml8"
+							@click="recordFile(state.orderDetail.callId)"
+							v-if="state.orderDetail.callId"
+							>录音文件</el-button
+						>
+					</el-form-item>
+				</el-col>
+				<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12">
+					<el-form-item label="受理人:">
 						<span
-            >{{ state.orderDetail.acceptorName }} <span v-if="state.orderDetail?.acceptorStaffNo">[{{ state.orderDetail?.acceptorStaffNo }}]</span>
+							>{{ state.orderDetail.acceptorName }} <span v-if="state.orderDetail?.acceptorStaffNo">[{{ state.orderDetail?.acceptorStaffNo }}]</span>
 						</span></el-form-item
-          >
-        </el-col>
-        <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12">
-          <el-form-item label="受理时间:"> {{ formatDate(state.orderDetail?.startTime, 'YYYY-mm-dd HH:MM:SS') }} </el-form-item>
-        </el-col>
-      </el-row>
-      <el-divider content-position="left"><span class="font16"> 质检内容</span></el-divider>
-      <div class="mt20 mb20">
-        <el-button type="primary" class="mb10" @click="onAddItem" v-if="!viewMode">新增扣分项</el-button>
-        <!-- 表格 -->
-        <el-table :data="tableData" border row-key="name">
-          <el-table-column label="扣分时间点" show-overflow-tooltip align="center">
-            <template #default="{ row }">
-              {{ formatDuration(row.second,false) }}
-            </template>
-          </el-table-column>
-          <el-table-column prop="name" label="扣分项" show-overflow-tooltip align="center"></el-table-column>
-          <el-table-column prop="content" label="扣分内容" show-overflow-tooltip align="center"></el-table-column>
-          <el-table-column prop="grade" label="分值(分)" show-overflow-tooltip align="center"></el-table-column>
-          <el-table-column label="操作" width="120" fixed="right" align="center" v-if="!viewMode">
-            <template #default="{ row }">
-              <el-button link type="primary" @click="onEditItem(row)"> 编辑 </el-button>
-              <el-button link type="primary" @click="onDeleteItem(row)"> 删除 </el-button>
-            </template>
-          </el-table-column>
-        </el-table>
-      </div>
-      <el-row :gutter="10">
-        <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12">
-          <el-form-item label="总分:"> 100 分 </el-form-item>
-        </el-col>
-        <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12">
-          <el-form-item label="当前质检得分:"> {{ score }} </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' }]">
-            <el-input
-                v-model="state.ruleForm.content"
-                placeholder="请输入质检评价"
-                clearable
-                type="textarea"
-                :autosize="{ minRows: 4, maxRows: 8 }"
-                :disabled="viewMode"
-            ></el-input>
-          </el-form-item>
-        </el-col>
-      </el-row>
-    </el-form>
-    <template #footer>
+					>
+				</el-col>
+				<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12">
+					<el-form-item label="受理时间:"> {{ formatDate(state.orderDetail?.startTime, 'YYYY-mm-dd HH:MM:SS') }} </el-form-item>
+				</el-col>
+			</el-row>
+			<el-divider content-position="left">
+				<el-text tag="b" size="large"> 质检内容 </el-text>
+			</el-divider>
+			<div class="mt20 mb20">
+				<el-button type="primary" class="mb10" @click="onAddItem" v-if="!viewMode">新增扣分项</el-button>
+				<!-- 表格 -->
+				<el-table :data="tableData" border row-key="name">
+					<el-table-column label="扣分时间点" show-overflow-tooltip align="center">
+						<template #default="{ row }">
+							{{ formatDuration(row.second, false) }}
+						</template>
+					</el-table-column>
+					<el-table-column prop="name" label="扣分项" show-overflow-tooltip align="center"></el-table-column>
+					<el-table-column prop="content" label="扣分内容" show-overflow-tooltip align="center"></el-table-column>
+					<el-table-column prop="grade" label="分值(分)" show-overflow-tooltip align="center"></el-table-column>
+					<el-table-column label="操作" width="120" fixed="right" align="center" v-if="!viewMode">
+						<template #default="{ row }">
+							<el-button link type="primary" @click="onEditItem(row)"> 编辑 </el-button>
+							<el-button link type="primary" @click="onDeleteItem(row)"> 删除 </el-button>
+						</template>
+					</el-table-column>
+				</el-table>
+			</div>
+			<el-row :gutter="10">
+				<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12">
+					<el-form-item label="总分:"> 100 分 </el-form-item>
+				</el-col>
+				<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12">
+					<el-form-item label="当前质检得分:"> {{ score }} </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' }]">
+						<el-input
+							v-model="state.ruleForm.content"
+							placeholder="请输入质检评价"
+							clearable
+							type="textarea"
+							:autosize="{ minRows: 4, maxRows: 8 }"
+							:disabled="viewMode"
+						></el-input>
+					</el-form-item>
+				</el-col>
+			</el-row>
+		</el-form>
+		<template #footer>
 			<span class="dialog-footer" v-if="!viewMode">
 				<el-button @click="closeDialog" class="default-button">取 消</el-button>
 				<el-button type="primary" @click="onSubmit(ruleFormRef)" v-waves="'light'" :loading="state.loading">确 定 </el-button>
 			</span>
-    </template>
-  </el-dialog>
-  <el-dialog
-      v-model="state.dialogVisibleItem"
-      :title="dialogTitleItem"
-      draggable
-      ref="dialogItemRef"
-      width="600px"
-      append-to-body
-      destroy-on-close
-      @close="closeItem"
-  >
-    <el-form :model="state.ruleItemForm" ref="ruleItemFormRef" label-width="100px">
-      <el-form-item label="扣分时间点" prop="value" :rules="[{ required: true, message: '请输入扣分时间点', trigger: 'change' }]">
-        <el-time-picker
-            v-model="state.ruleItemForm.value"
-            placeholder="请选择扣分时间点"
-            @change="selectSecond"
-            value-format="mm:ss"
-            format="mm:ss"
-            :picker-options="{
+		</template>
+	</el-dialog>
+	<el-dialog
+		v-model="state.dialogVisibleItem"
+		:title="dialogTitleItem"
+		draggable
+		ref="dialogItemRef"
+		width="600px"
+		append-to-body
+		destroy-on-close
+		@close="closeItem"
+	>
+		<el-form :model="state.ruleItemForm" ref="ruleItemFormRef" label-width="100px">
+			<el-form-item label="扣分时间点" prop="value" :rules="[{ required: true, message: '请输入扣分时间点', trigger: 'change' }]">
+				<el-time-picker
+					v-model="state.ruleItemForm.value"
+					placeholder="请选择扣分时间点"
+					@change="selectSecond"
+					value-format="mm:ss"
+					format="mm:ss"
+					:picker-options="{
 						selectableRange: '00:00:00 - 00:59:59',
 					}"
-            popper-class="noneMinute"
-        />
-      </el-form-item>
-      <el-form-item label="扣分项" prop="name" :rules="[{ required: true, message: '请选择扣分项', trigger: 'change' }]">
-        <el-select v-model="state.ruleItemForm.name" placeholder="请选择扣分项" class="w100" @change="changeProject">
-          <el-option v-for="item in projectArray" :key="item.id" :label="item.name" :value="item.name" :disabled="item.disabled" />
-        </el-select>
-      </el-form-item>
-      <el-form-item label="分值" prop="grade" :rules="[{ required: true, message: '请输入分值', trigger: 'blur' }]">
-        <el-input-number v-model="state.ruleItemForm.grade" :precision="0" :min="1" :max="100" placeholder="请输入分值" />
-        <span class="ml10">分</span>
-      </el-form-item>
-      <el-form-item label="扣分内容" prop="content" :rules="[{ required: true, message: '请输入扣分内容', trigger: 'blur' }]">
-        <el-input v-model="state.ruleItemForm.content" placeholder="请输入扣分内容" type="textarea" :autosize="{ minRows: 4, maxRows: 8 }"></el-input>
-      </el-form-item>
-    </el-form>
-    <template #footer>
+					popper-class="noneMinute"
+				/>
+			</el-form-item>
+			<el-form-item label="扣分项" prop="name" :rules="[{ required: true, message: '请选择扣分项', trigger: 'change' }]">
+				<el-select v-model="state.ruleItemForm.name" placeholder="请选择扣分项" class="w100" @change="changeProject">
+					<el-option v-for="item in projectArray" :key="item.id" :label="item.name" :value="item.name" :disabled="item.disabled" />
+				</el-select>
+			</el-form-item>
+			<el-form-item label="分值" prop="grade" :rules="[{ required: true, message: '请输入分值', trigger: 'blur' }]">
+				<el-input-number v-model="state.ruleItemForm.grade" :precision="0" :min="1" :max="100" placeholder="请输入分值" />
+				<span class="ml10">分</span>
+			</el-form-item>
+			<el-form-item label="扣分内容" prop="content" :rules="[{ required: true, message: '请输入扣分内容', trigger: 'blur' }]">
+				<el-input v-model="state.ruleItemForm.content" placeholder="请输入扣分内容" type="textarea" :autosize="{ minRows: 4, maxRows: 8 }"></el-input>
+			</el-form-item>
+		</el-form>
+		<template #footer>
 			<span class="dialog-footer">
 				<el-button @click="state.dialogVisibleItem = false" class="default-button">取 消</el-button>
 				<el-button type="primary" @click="onSubmitItem(ruleItemFormRef)" v-waves="'light'" :loading="state.loading">确 定 </el-button>
 			</span>
-    </template>
-  </el-dialog>
+		</template>
+	</el-dialog>
 </template>
 <script setup lang="ts" name="qualityInspection">
-import {computed, reactive, ref, watch} from 'vue';
-import {ElInput, ElMessage, ElMessageBox, FormInstance} from 'element-plus';
+import { computed, reactive, ref, watch } from 'vue';
+import { ElInput, ElMessage, ElMessageBox, FormInstance } from 'element-plus';
 import { formatDate, formatDuration } from '/@/utils/formatTime';
 import Other from '/@/utils/other';
-import { qualityUpdate,qualityDetail } from '/@/api/quality';
-import {templateList} from "/@/api/quality/template";
+import { qualityUpdate, qualityDetail } from '/@/api/quality';
+import { templateList } from '/@/api/quality/template';
 
 // 定义子组件向父组件传值/事件
 const emit = defineEmits(['updateList']);
 const state = reactive<any>({
-  dialogVisible: false, // 弹窗显示隐藏
-  ruleForm: {
-    name: '', // 违禁词
-    classify: '', // 违禁词分类
-    type: '', // 违禁词属性
-  },
-  loading: false, // 确定按钮loading
-  orderDetail: {},
-  dialogVisibleItem: false,
-  ruleItemForm: {
-    second: 0,
-    name: '', // 扣分时间点
-    grade: 1, // 分值
-    content: '', // 扣分内容
-  },
-  source:1,// 来源
+	dialogVisible: false, // 弹窗显示隐藏
+	ruleForm: {
+		name: '', // 违禁词
+		classify: '', // 违禁词分类
+		type: '', // 违禁词属性
+	},
+	loading: false, // 确定按钮loading
+	orderDetail: {},
+	dialogVisibleItem: false,
+	ruleItemForm: {
+		second: 0,
+		name: '', // 扣分时间点
+		grade: 1, // 分值
+		content: '', // 扣分内容
+	},
+	source: 1, // 来源
 });
 const dialogTitle = ref<string>('查看受理质检');
 const dialogTitleItem = ref<string>('新增扣分项');
@@ -160,190 +162,192 @@ const tableData = ref<EmptyArrayType>([]); // 表格数据
 const qualityId = ref<string>(''); // 质检ID
 const viewMode = ref<boolean>(false); // 是否查看
 // 打开弹窗
-const openDialog = async (row: any, source: string | number | undefined,isView?:boolean) => {
-  try {
-    const {result} = await qualityDetail(row.id);
-    state.ruleForm = result ?? {};
-    tableData.value = result.qualityDetails ?? [];
-    state.orderDetail = row.order ?? {};
-    qualityId.value = row.id;
-    state.source = source;
-    viewMode.value = isView ?? false;
-    const response = await templateList({ IsEnable: 1, Grouping: source });
-    projectArray.value = response.result?.items[0]?.templateDetails ?? [];
-    switch (source) {
-      case 1:
-        dialogTitle.value =  viewMode.value ? '查看受理质检' : '编辑受理质检';
-        break;
-      case 2:
-        dialogTitle.value =  viewMode.value ? '查看派单质检' : '编辑派单质检';
-        break;
-      case 3:
-        dialogTitle.value =  viewMode.value ? '查看回访质检' : '编辑回访质检';
-        break;
-    }
-    state.dialogVisible = true;
-  }catch (e) {
-    console.log(e)
-  }
+const openDialog = async (row: any, source: string | number | undefined, isView?: boolean) => {
+	try {
+		const { result } = await qualityDetail(row.id);
+		state.ruleForm = result ?? {};
+		tableData.value = result.qualityDetails ?? [];
+		state.orderDetail = row.order ?? {};
+		qualityId.value = row.id;
+		state.source = source;
+		viewMode.value = isView ?? false;
+		const response = await templateList({ IsEnable: 1, Grouping: source });
+		projectArray.value = response.result?.items[0]?.templateDetails ?? [];
+		switch (source) {
+			case 1:
+				dialogTitle.value = viewMode.value ? '查看受理质检' : '编辑受理质检';
+				break;
+			case 2:
+				dialogTitle.value = viewMode.value ? '查看派单质检' : '编辑派单质检';
+				break;
+			case 3:
+				dialogTitle.value = viewMode.value ? '查看回访质检' : '编辑回访质检';
+				break;
+		}
+		state.dialogVisible = true;
+	} catch (e) {
+		console.log(e);
+	}
 };
 // 计算当前得分
 const score = computed(() => {
-  let score = 0;
-  if (tableData.value.length) {
-    tableData.value.forEach((v: any) => {
-      score += v.grade;
-    });
-  }
-  return 100 - score;
+	let score = 0;
+	if (tableData.value.length) {
+		tableData.value.forEach((v: any) => {
+			score += v.grade;
+		});
+	}
+	return 100 - score;
 });
 watch(
-    () => score.value,
-    (newVal) => {
-      if(newVal<=0){
-        ElMessage.warning('质检得分不能小于0分');
-      }
-    },
+	() => score.value,
+	(newVal) => {
+		if (newVal <= 0) {
+			ElMessage.warning('质检得分不能小于0分');
+		}
+	}
 );
 // 关闭弹窗
 const closeDialog = () => {
-  state.dialogVisible = false;
+	state.dialogVisible = false;
 };
 const ruleFormRef = ref<FormInstance>();
 const close = () => {
-  ruleFormRef.value?.clearValidate();
-  ruleFormRef.value?.resetFields();
+	ruleFormRef.value?.clearValidate();
+	ruleFormRef.value?.resetFields();
 };
 const closeItem = () => {
-  ruleItemFormRef.value?.clearValidate();
-  ruleItemFormRef.value?.resetFields();
+	ruleItemFormRef.value?.clearValidate();
+	ruleItemFormRef.value?.resetFields();
 };
 // 查看录音文件
 const recordFile = (callId: string) => {
-  console.log(callId);
+	console.log(callId);
 };
 // 新增质检项内容
 const onAddItem = () => {
-  dialogTitleItem.value = '新增扣分项';
-  state.ruleItemForm = {
-    second: 0,
-    name: '', // 扣分时间点
-    grade: 1, // 分值
-    content: '', // 扣分内容
-  };
-  state.dialogVisibleItem = true;
-  getEnableAcceptType();
+	dialogTitleItem.value = '新增扣分项';
+	state.ruleItemForm = {
+		second: 0,
+		name: '', // 扣分时间点
+		grade: 1, // 分值
+		content: '', // 扣分内容
+	};
+	state.dialogVisibleItem = true;
+	getEnableAcceptType();
 };
 // 选择扣分项
 const changeProject = (val: any) => {
-  const item = projectArray.value.filter((v: any) => v.name === val)[0];
-  state.ruleItemForm.grade = item.grade;
-  state.ruleItemForm.content = item.content;
-  getEnableAcceptType();
+	const item = projectArray.value.filter((v: any) => v.name === val)[0];
+	state.ruleItemForm.grade = item.grade;
+	state.ruleItemForm.content = item.content;
+	getEnableAcceptType();
 };
 // 编辑质检内容
 const onEditItem = (row: any) => {
-  dialogTitleItem.value = '编辑扣分项';
-  state.ruleItemForm = Other.deepClone(row);
-  state.ruleItemForm.value = formatDuration(state.ruleItemForm.second,false);
-  state.dialogVisibleItem = true;
-  getEnableAcceptType();
+	dialogTitleItem.value = '编辑扣分项';
+	state.ruleItemForm = Other.deepClone(row);
+	state.ruleItemForm.value = formatDuration(state.ruleItemForm.second, false);
+	state.dialogVisibleItem = true;
+	getEnableAcceptType();
 };
 // 分秒计算成秒
-const formatSecond = (val:string) => {
-  if(!val) return 0;
-  const minute = Number(val.split(':')[0])
-  const second = Number(val.split(':')[1])
-  return minute*60+second;
+const formatSecond = (val: string) => {
+	if (!val) return 0;
+	const minute = Number(val.split(':')[0]);
+	const second = Number(val.split(':')[1]);
+	return minute * 60 + second;
 };
 // 选择扣分时间点
-const selectSecond = (val:any)=>{
-  state.ruleItemForm.second = formatSecond(val);
-}
+const selectSecond = (val: any) => {
+	state.ruleItemForm.second = formatSecond(val);
+};
 // 扣分项保存
 const ruleItemFormRef = ref<RefType>();
 const onSubmitItem = (formEl: FormInstance | undefined) => {
-  if (!formEl) return;
-  formEl.validate((valid: boolean) => {
-    if (!valid) return;
-    state.loading = true;
-    if (dialogTitleItem.value === '新增扣分项') {
-      const data = Other.deepClone(state.ruleItemForm);
-      tableData.value.push(data);
-      state.loading = false;
-      state.dialogVisibleItem = false;
-    } else {
-      const newArray = <EmptyArrayType>[];
-      for (let i of tableData.value) {
-        if (i.name === state.ruleItemForm.name) {
-          newArray.push({
-            ...i,
-            ...state.ruleItemForm,
-          });
-        } else {
-          newArray.push(i);
-        }
-      }
-      tableData.value = newArray;
-      state.loading = false;
-      state.dialogVisibleItem = false;
-    }
-  });
+	if (!formEl) return;
+	formEl.validate((valid: boolean) => {
+		if (!valid) return;
+		state.loading = true;
+		if (dialogTitleItem.value === '新增扣分项') {
+			const data = Other.deepClone(state.ruleItemForm);
+			tableData.value.push(data);
+			state.loading = false;
+			state.dialogVisibleItem = false;
+		} else {
+			const newArray = <EmptyArrayType>[];
+			for (let i of tableData.value) {
+				if (i.name === state.ruleItemForm.name) {
+					newArray.push({
+						...i,
+						...state.ruleItemForm,
+					});
+				} else {
+					newArray.push(i);
+				}
+			}
+			tableData.value = newArray;
+			state.loading = false;
+			state.dialogVisibleItem = false;
+		}
+	});
 };
 // 删除质检项内容
 const onDeleteItem = (row: any) => {
-  ElMessageBox.confirm(`您确定要删除:【${row.name}】扣分项,是否继续?`, '提示', {
-    confirmButtonText: '确认',
-    cancelButtonText: '取消',
-    type: 'warning',
-    draggable: true,
-    cancelButtonClass: 'default-button',
-    autofocus: false,
-  })
-      .then(() => {
-        tableData.value = tableData.value.filter((v:any)=>v.name!==row.name);
-        getEnableAcceptType();
-      })
-      .catch(() => {});
+	ElMessageBox.confirm(`您确定要删除:【${row.name}】扣分项,是否继续?`, '提示', {
+		confirmButtonText: '确认',
+		cancelButtonText: '取消',
+		type: 'warning',
+		draggable: true,
+		cancelButtonClass: 'default-button',
+		autofocus: false,
+	})
+		.then(() => {
+			tableData.value = tableData.value.filter((v: any) => v.name !== row.name);
+			getEnableAcceptType();
+		})
+		.catch(() => {});
 };
 // 获取可用的数组
 const getEnableAcceptType = () => {
-  if (tableData.value.length) {
-    const array = tableData.value.map((v: any) => v.name);
-    projectArray.value.forEach((v: any) => {
-      v.disabled = array.includes(v.name);
-    });
-  }
+	if (tableData.value.length) {
+		const array = tableData.value.map((v: any) => v.name);
+		projectArray.value.forEach((v: any) => {
+			v.disabled = array.includes(v.name);
+		});
+	}
 };
 // 保存
 const onSubmit = (formEl: FormInstance | undefined) => {
-  if (!formEl) return;
-  formEl.validate((valid: boolean) => {
-    if (!valid) return;
-    state.loading = true;
-    const request = {
-      orderId: state.orderDetail.id,// 工单id
-      mode: "人工质检", // 质检模式
-      grade: score.value, // 质检得分
-      content: state.ruleForm.content, // 质检评价
-      source: state.source, // 来源
-      qualityDetails:tableData.value, // 质检详情
-      id:qualityId.value,// 质检id
-    }
-    qualityUpdate(request).then(()=>{
-      ElMessage.success('操作成功');
-      emit('updateList');
-      state.loading = false;
-      state.dialogVisible = false;
-    }).catch(()=>{
-      state.loading = false;
-      state.dialogVisible = false;
-      emit('updateList');
-    })
-  });
+	if (!formEl) return;
+	formEl.validate((valid: boolean) => {
+		if (!valid) return;
+		state.loading = true;
+		const request = {
+			orderId: state.orderDetail.id, // 工单id
+			mode: '人工质检', // 质检模式
+			grade: score.value, // 质检得分
+			content: state.ruleForm.content, // 质检评价
+			source: state.source, // 来源
+			qualityDetails: tableData.value, // 质检详情
+			id: qualityId.value, // 质检id
+		};
+		qualityUpdate(request)
+			.then(() => {
+				ElMessage.success('操作成功');
+				emit('updateList');
+				state.loading = false;
+				state.dialogVisible = false;
+			})
+			.catch(() => {
+				state.loading = false;
+				state.dialogVisible = false;
+				emit('updateList');
+			});
+	});
 };
 defineExpose({
-  openDialog,
-  closeDialog,
+	openDialog,
+	closeDialog,
 });
-</script>
+</script>

+ 18 - 10
src/views/quality/index/components/Quality-inspection.vue

@@ -8,9 +8,16 @@
 				<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12">
 					<el-form-item label="来电号码:">
 						{{ state.orderDetail.fromPhone }}
-            <el-button plain title="录音文件" size="small" type="primary" class="ml8" @click="recordFile(state.orderDetail.recordingFileUrl)"
-            >录音文件</el-button
-            >
+						<el-button
+							plain
+							title="录音文件"
+							v-if="state.orderDetail.recordingFileUrl"
+							size="small"
+							type="primary"
+							class="ml8"
+							@click="recordFile(state.orderDetail.recordingFileUrl)"
+							>录音文件</el-button
+						>
 					</el-form-item>
 				</el-col>
 				<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12">
@@ -24,7 +31,9 @@
 					<el-form-item label="受理时间:"> {{ formatDate(state.orderDetail?.startTime, 'YYYY-mm-dd HH:MM:SS') }} </el-form-item>
 				</el-col>
 			</el-row>
-			<el-divider content-position="left"><span class="font16"> 质检内容</span></el-divider>
+			<el-divider content-position="left">
+				<el-text tag="b" size="large"> 质检内容 </el-text>
+			</el-divider>
 			<div class="mt20 mb20">
 				<el-button type="primary" class="mb10" @click="onAddItem">新增扣分项</el-button>
 				<!-- 表格 -->
@@ -116,8 +125,8 @@
 			</span>
 		</template>
 	</el-dialog>
-  <!-- 播放录音 -->
-  <play-record ref="playRecordRef" />
+	<!-- 播放录音 -->
+	<play-record ref="playRecordRef" />
 </template>
 <script setup lang="ts" name="qualityInspection">
 import { computed, defineAsyncComponent, reactive, ref, watch } from 'vue';
@@ -156,7 +165,6 @@ const tableData = ref<EmptyArrayType>([]); // 表格数据
 const qualityId = ref<string>(''); // 质检ID
 // 打开弹窗
 const openDialog = async (row: any, source?: string | number | undefined) => {
-
 	qualityId.value = row.id;
 	if (source) {
 		state.source = source;
@@ -165,7 +173,7 @@ const openDialog = async (row: any, source?: string | number | undefined) => {
 			qualityDetail(row.id),
 		]);
 		projectArray.value = temRes.result?.items[0]?.templateDetails ?? [];
-    state.orderDetail = qualityRes.result?.order ?? {};
+		state.orderDetail = qualityRes.result?.order ?? {};
 		switch (source) {
 			case 1:
 				dialogTitle.value = '受理质检';
@@ -215,7 +223,7 @@ const closeItem = () => {
 // 查看录音文件
 const playRecordRef = ref<RefType>();
 const recordFile = (url: string) => {
-  playRecordRef.value.openDialog(url);
+	playRecordRef.value.openDialog(url);
 };
 // 新增质检项内容
 const onAddItem = () => {
@@ -344,4 +352,4 @@ defineExpose({
 	openDialog,
 	closeDialog,
 });
-</script>
+</script>

+ 1 - 1
src/views/quality/template/components/Template-add.vue

@@ -33,7 +33,7 @@
 				</el-col>
 			</el-row>
 			<el-divider content-position="left">
-				<span class="font-bold font16 mr20">模板内容</span>
+        <el-text tag="b" size="large" class="mr20"> 模板内容 </el-text>
 				<el-button link type="primary" @click="addItems"><SvgIcon name="ele-CirclePlus" size="18px" class="mr3" /> 质检项</el-button>
 			</el-divider>
 			<el-row v-for="(item, index) in state.ruleForm.templateDetails" :key="item.id" :gutter="10">

+ 1 - 1
src/views/quality/template/components/Template-edit.vue

@@ -33,7 +33,7 @@
 				</el-col>
 			</el-row>
 			<el-divider content-position="left">
-				<span class="font-bold font16 mr20">模板内容</span>
+        <el-text tag="b" size="large" class="mr20"> 模板内容 </el-text>
 				<el-button link type="primary" @click="addItems"><SvgIcon name="ele-CirclePlus" size="18px" class="mr3" /> 质检项</el-button>
 			</el-divider>
 			<el-row v-for="(item, index) in state.ruleForm.templateDetails" :key="item.id" :gutter="10">

+ 8 - 3
src/views/smartVisit/components/Smart-visit-Detail.vue

@@ -62,8 +62,8 @@
 import { formatDate } from '/@/utils/formatTime';
 import { ElInput, FormInstance } from 'element-plus';
 import { reactive, ref } from 'vue';
-import { orderList } from '/@/api/business/order';
 import { removeDuplicate } from '/@/utils/arrayOperation';
+import {getSmartVisitDetail} from '/@/api/smartVisit';
 
 const state = reactive<any>({
 	queryParams: {
@@ -71,6 +71,7 @@ const state = reactive<any>({
 		PageIndex: 1,
 		PageSize: 10,
 		Keyword: null, // 关键字
+    id:'',
 	},
 	tableData: [], //表格
 	loading: false, // 加载
@@ -79,17 +80,21 @@ const state = reactive<any>({
 });
 // 打开弹窗
 const openDialog = (row?: any) => {
+  console.log(row,'21')
+  if(row){
+    state.queryParams.id = row.ruleUid;
+  }
 	queryList();
 };
 const close = () => {
 	multipleSelection.value = [];
 };
-// 获取所有工单列
+// 查询智能回访明细
 const queryList = async () => {
 	state.dialogVisible = true;
 	try {
 		state.loading = true;
-		const res = await orderList(state.queryParams);
+		const res = await getSmartVisitDetail(state.queryParams);
 		state.tableData = res.result.items ?? [];
 		state.total = res.result.total ?? 0;
 		state.loading = false;

+ 57 - 25
src/views/smartVisit/components/Smart-visit-add.vue

@@ -1,5 +1,5 @@
 <template>
-	<el-dialog v-model="state.dialogVisible" width="60%" draggable title="请选择待回访任务" @close="close" append-to-body destroy-on-close>
+	<el-dialog v-model="state.dialogVisible" width="60%" draggable title="新增智能回访任务" @close="close" append-to-body destroy-on-close>
 		<!--		<el-form :model="state.queryParams" ref="queryParamsRef" :inline="true" @submit.native.prevent>
 			<el-form-item label="关键词" prop="Keyword">
 				<el-input v-model="state.queryParams.Keyword" placeholder="工单标题/工单编码" clearable @keyup.enter="queryList" />
@@ -11,7 +11,7 @@
 				</el-button>
 			</el-form-item>
 		</el-form>-->
-		<el-form :model="state.ruleForm" label-width="90px" ref="ruleFormRef">
+		<el-form :model="state.ruleForm" label-width="90px" ref="ruleFormRef" v-loading="state.loading">
 			<el-row :gutter="10">
 				<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12">
 					<el-form-item label="任务名称" prop="name" :rules="[{ required: true, message: '请输入任务名称', trigger: 'blur' }]">
@@ -21,7 +21,7 @@
 				<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12">
 					<el-form-item label="时间段" prop="crTime" :rules="[{ required: true, message: '请选择时间段', trigger: 'change' }]">
 						<el-date-picker
-							v-model="state.queryParams.crTime"
+							v-model="state.ruleForm.crTime"
 							type="datetimerange"
 							unlink-panels
 							range-separator="至"
@@ -42,42 +42,60 @@
 				</el-col>
 			</el-row>
 		</el-form>
+		<el-divider content-position="left" class="mb30">
+			<el-text tag="b" size="large"> 回访任务名单 </el-text>
+		</el-divider>
 		<el-table :data="state.tableData" v-loading="state.loading" row-key="id" @selection-change="handleSelectionChange" ref="multipleTableRef">
 			<el-table-column type="selection" label="" width="55" :reserve-selection="true" />
-			<el-table-column prop="no" label="工单编码" show-overflow-tooltip width="150"></el-table-column>
-			<el-table-column width="100" label="省/市工单" prop="isProvince">
+			<el-table-column prop="order.no" label="工单编码" show-overflow-tooltip width="150"></el-table-column>
+			<el-table-column label="标题" show-overflow-tooltip width="300">
 				<template #default="{ row }">
-					<span>{{ row.isProvince ? '省工单' : '市工单' }}</span>
+					<span class="color-primary">{{ row.order?.title }}</span>
 				</template>
 			</el-table-column>
-			<el-table-column prop="currentStepName" label="办理节点" show-overflow-tooltip width="150"></el-table-column>
-			<el-table-column label="工单状态" show-overflow-tooltip width="100" prop="statusText"></el-table-column>
-			<el-table-column label="标题" show-overflow-tooltip width="300">
+			<el-table-column prop="order.sourceChannel" label="来源方式" show-overflow-tooltip></el-table-column>
+			<el-table-column prop="visitStateText" label="回访状态" show-overflow-tooltip></el-table-column>
+			<!--      <el-table-column label="短信发送时间" show-overflow-tooltip width="170">
+        <template #default="{ row }">
+          <span>{{ formatDate(row.order?.startTime, 'YYYY-mm-dd HH:MM:SS') }}</span>
+        </template>
+      </el-table-column>-->
+			<el-table-column prop="order.acceptType" label="受理类型" show-overflow-tooltip width="150"></el-table-column>
+			<el-table-column prop="order.hotspotName" label="热点分类" show-overflow-tooltip width="100"></el-table-column>
+			<el-table-column prop="order.currentStepName" label="办理节点" show-overflow-tooltip width="150"></el-table-column>
+			<el-table-column prop="order.employeeName" label="受理人" show-overflow-tooltip width="120">
 				<template #default="{ row }">
-					<span class="color-primary">{{ row.title }}</span>
+					<span
+						>{{ row.order?.acceptorName }} <span v-if="row.order?.acceptorStaffNo">[{{ row.order?.acceptorStaffNo }}]</span>
+					</span>
 				</template>
 			</el-table-column>
+			<el-table-column prop="order.orgLevelOneName" label="一级部门" show-overflow-tooltip width="150"></el-table-column>
+			<el-table-column prop="order.actualHandleOrgName" label="接办部门" show-overflow-tooltip width="150"></el-table-column>
 			<el-table-column prop="startTime" label="受理时间" show-overflow-tooltip width="170">
 				<template #default="{ row }">
-					<span>{{ formatDate(row.startTime, 'YYYY-mm-dd HH:MM:SS') }}</span>
+					<span>{{ formatDate(row.order?.startTime, 'YYYY-mm-dd HH:MM:SS') }}</span>
 				</template>
 			</el-table-column>
-			<el-table-column prop="expiredTime" label="工单期满时间" show-overflow-tooltip width="170">
+			<el-table-column label="办结时间" show-overflow-tooltip width="170">
 				<template #default="{ row }">
-					<span>{{ formatDate(row.expiredTime, 'YYYY-mm-dd HH:MM:SS') }}</span>
+					<span>{{ formatDate(row.order?.filedTime, 'YYYY-mm-dd HH:MM:SS') }}</span>
 				</template>
 			</el-table-column>
-			<el-table-column prop="actualHandleOrgName" label="接办部门" show-overflow-tooltip width="170"></el-table-column>
-			<el-table-column prop="acceptType" label="受理类型" show-overflow-tooltip width="150"></el-table-column>
-			<el-table-column label="紧急程度" show-overflow-tooltip prop="emergencyLevelText" width="100"></el-table-column>
-			<el-table-column prop="sourceChannel" label="来源方式" show-overflow-tooltip></el-table-column>
-			<el-table-column prop="employeeName" label="受理人" show-overflow-tooltip width="120">
+			<el-table-column label="办结时间" show-overflow-tooltip width="170">
 				<template #default="{ row }">
-					<span
-						>{{ row.acceptorName }} <span v-if="row.acceptorStaffNo">[{{ row.acceptorStaffNo }}]</span>
-					</span>
+					<span>{{ formatDate(row.order?.filedTime, 'YYYY-mm-dd HH:MM:SS') }}</span>
+				</template>
+			</el-table-column>
+			<el-table-column label="发布时间" show-overflow-tooltip width="170">
+				<template #default="{ row }">
+					<span>{{ formatDate(row.publishTime, 'YYYY-mm-dd HH:MM:SS') }}</span>
 				</template>
 			</el-table-column>
+			<el-table-column prop="employeeName" label="回访人" show-overflow-tooltip width="170"></el-table-column>
+      <template #empty>
+        <Empty />
+      </template>
 		</el-table>
 		<template #footer>
 			<span class="dialog-footer">
@@ -89,12 +107,14 @@
 </template>
 <script setup lang="ts">
 import { formatDate } from '/@/utils/formatTime';
-import { FormInstance } from 'element-plus';
+import {ElMessage, FormInstance} from 'element-plus';
 import { reactive, ref } from 'vue';
 import { getSmartVisitRecord } from '/@/api/smartVisit';
 import { removeDuplicate } from '/@/utils/arrayOperation';
 import { shortcuts } from '/@/utils/constants';
+import { smartVisitAdd } from '/@/api/smartVisit';
 
+const emit = defineEmits(['updateList']);
 const state = reactive<any>({
 	queryParams: {
 		Keyword: null, // 关键字
@@ -114,6 +134,8 @@ const openDialog = (row?: any) => {
 };
 const close = () => {
 	multipleSelection.value = [];
+  ruleFormRef.value?.clearValidate();
+  ruleFormRef.value?.resetFields();
 };
 // 获取所有工单列表
 const queryList = async () => {
@@ -155,12 +177,22 @@ const onSubmit = async (formEl: FormInstance | undefined) => {
 			festivalBan: state.ruleForm.festivalBan,
 			aiOrderVisitDetails: multipleSelection.value.map((item: any) => {
 				return {
-					orderId: item.id,
-					orderVisitId: item.orderVisitId,
-					outerNo: item.outerNo,
+					orderId: item.order?.id,
+					orderVisitId: item.id,
+					outerNo: item.order?.fromPhone,
 				};
 			}),
 		};
+    smartVisitAdd(request)
+      .then((res) => {
+        state.loading = false;
+        state.dialogVisible = false;
+        ElMessage.success('操作成功');
+        emit('updateList');
+      })
+      .catch(() => {
+        state.loading = false;
+      });
 	});
 };
 defineExpose({

+ 7 - 3
src/views/smartVisit/index.vue

@@ -25,9 +25,12 @@
 			<el-table :data="state.tableData" v-loading="state.loading" row-key="id" ref="multipleTableRef" @selection-change="handleSelectionChange">
 				<el-table-column type="selection" width="55" />
 				<el-table-column prop="name" label="回访任务名称" show-overflow-toolti></el-table-column>
-				<el-table-column prop="groupingText" label="回访任务编号" show-overflow-tooltip></el-table-column>
-				<el-table-column prop="creatorName" label="回访任务数" show-overflow-tooltip></el-table-column>
-				<el-table-column prop="creatorName" label="任务完成状态" show-overflow-tooltip></el-table-column>
+				<el-table-column prop="ruleUid" label="回访任务编号" show-overflow-tooltip></el-table-column>
+				<el-table-column prop="hasVisitCount" label="回访任务总数量" show-overflow-tooltip>
+        </el-table-column>
+        <el-table-column prop="visitedCount" label="回访任务成功数量" show-overflow-tooltip></el-table-column>
+        <el-table-column prop="visitedFailCount" label="回访任务失败数量" show-overflow-tooltip></el-table-column>
+				<el-table-column prop="taskStateText" label="任务完成状态" show-overflow-tooltip></el-table-column>
 				<el-table-column prop="creatorName" label="创建人" show-overflow-tooltip></el-table-column>
 				<el-table-column prop="creationTime" label="创建时间" show-overflow-tooltip width="170">
 					<template #default="{ row }">
@@ -121,6 +124,7 @@ const onAddVisit = () => {
 // 回访明细
 const smartVisitDetailRef = ref<RefType>();
 const onDetail = (row: any) => {
+  console.log(row,'21')
 	smartVisitDetailRef.value.openDialog(row);
 };
 // 页面加载时

+ 4 - 4
src/views/statistics/call/index.vue

@@ -46,10 +46,10 @@
 				show-summary
 			>
 				<el-table-column type="selection" width="55" />
-				<el-table-column prop="hourRange" label="时段" show-overflow-tooltip></el-table-column>
-				<el-table-column prop="hour" label="呼入数量" show-overflow-tooltip sortable></el-table-column>
-				<el-table-column prop="answered" label="接通数量" show-overflow-tooltip sortable></el-table-column>
-				<el-table-column prop="hanguped" label="挂断数量" show-overflow-tooltip sortable></el-table-column>
+				<el-table-column prop="hourRange" label="时段" show-overflow-tooltip align="center"> </el-table-column>
+				<el-table-column prop="hour" label="呼入数量" show-overflow-tooltip sortable align="center"></el-table-column>
+				<el-table-column prop="answered" label="接通数量" show-overflow-tooltip sortable align="center"></el-table-column>
+				<el-table-column prop="hanguped" label="挂断数量" show-overflow-tooltip sortable align="center"></el-table-column>
 				<template #empty>
 					<Empty />
 				</template>

+ 1 - 1
src/views/statistics/call/seats.vue

@@ -36,7 +36,7 @@
 				:data="state.tableData"
 				show-summary
 				v-loading="state.loading"
-				row-key="id"
+				row-key="orgId"
 				ref="multipleTableRef"
 				@selection-change="handleSelectionChange"
 				@sort-change="sortChange"

+ 1 - 1
src/views/statistics/order/center.vue

@@ -37,7 +37,7 @@
     </el-card>
     <el-card shadow="never">
       <!-- 表格 -->
-      <el-table :data="state.tableData" v-loading="state.loading" show-summary row-key="id" ref="multipleTableRef" @selection-change="handleSelectionChange"  @sort-change="sortChange">
+      <el-table :data="state.tableData" v-loading="state.loading" show-summary row-key="userId" ref="multipleTableRef" @selection-change="handleSelectionChange"  @sort-change="sortChange">
         <el-table-column type="selection" width="55" align="center"/>
         <el-table-column prop="userName" label="姓名" show-overflow-tooltip align="center"></el-table-column>
         <el-table-column  label="有效件" align="center">

+ 1 - 1
src/views/statistics/order/orgOverdue.vue

@@ -41,7 +41,7 @@
 				:data="state.tableData"
 				v-loading="state.loading"
 				show-summary
-				row-key="id"
+				row-key="orgId"
 				ref="multipleTableRef"
 				@selection-change="handleSelectionChange"
 				@sort-change="sortChange"

+ 6 - 2
src/views/system/user/component/User-edit.vue

@@ -3,7 +3,9 @@
 		<el-form :model="state.ruleForm" label-width="90px" ref="ruleFormRef">
 			<el-row :gutter="10">
 				<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24">
-					<el-divider content-position="left"><b class="formTitle">基本信息</b></el-divider>
+					<el-divider content-position="left">
+						<el-text tag="b" size="large"> 基本信息 </el-text>
+					</el-divider>
 				</el-col>
 				<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12">
 					<el-form-item label="姓名" prop="name" :rules="[{ required: true, message: '请输入姓名', trigger: 'blur' }]">
@@ -69,7 +71,9 @@
 					</el-form-item>
 				</el-col>
 				<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24">
-					<el-divider content-position="left"><b class="formTitle">角色配置</b></el-divider>
+					<el-divider content-position="left">
+						<el-text tag="b" size="large"> 角色配置 </el-text>
+					</el-divider>
 				</el-col>
 				<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12">
 					<el-form-item label="角色" prop="roleIds" :rules="[{ required: true, message: '请选择角色', trigger: 'change' }]">

+ 77 - 79
src/views/todo/seats/accept/Expand-form.vue

@@ -9,7 +9,7 @@
 							filterable
 							value-key="dicDataValue"
 							placeholder="请选择工单类型"
-              class="w100"
+							class="w100"
 							@change="
 								(val) => {
 									state.expandForm.orderType = val.dicDataName;
@@ -73,11 +73,7 @@
 				<!-- (2)电视购物及商铺购买退换货中心受理单 -->
 				<template v-if="state.expandForm.orderTypeCode === 'th'">
 					<el-col :xs="24" :sm="12" :md="8" :lg="8" :xl="6">
-						<el-form-item
-							label="电视台(商铺)"
-							prop="exchTv"
-							:rules="[{ required: false, message: '请填写电视台(商铺) ', trigger: 'blur' }]"
-						>
+						<el-form-item label="电视台(商铺)" prop="exchTv" :rules="[{ required: false, message: '请填写电视台(商铺) ', trigger: 'blur' }]">
 							<el-input v-model="state.expandForm.exchTv" placeholder="指投诉产品的商铺" clearable> </el-input>
 						</el-form-item>
 					</el-col>
@@ -196,7 +192,7 @@
 						<el-form-item
 							label="被投诉单位或个人信息"
 							prop="info12366Sq"
-              label-width="160"
+							label-width="160"
 							:rules="[{ required: false, message: '请填写被投诉单位或个人信息', trigger: 'blur' }]"
 						>
 							<el-input v-model="state.expandForm.info12366Sq" placeholder="被投诉单位或个人信息" clearable> </el-input>
@@ -219,7 +215,7 @@
 						<el-form-item
 							label="被投诉单位或个人信息"
 							prop="info12366Zx"
-              label-width="160"
+							label-width="160"
 							:rules="[{ required: false, message: '请填写被投诉单位或个人信息', trigger: 'blur' }]"
 						>
 							<el-input v-model="state.expandForm.info12366Zx" placeholder="被投诉单位或个人信息" clearable> </el-input>
@@ -328,7 +324,7 @@
 						<el-form-item
 							label="是否联系快递公司投诉"
 							prop="mailIsContacted"
-              label-width="160"
+							label-width="160"
 							:rules="[{ required: false, message: '请选择是否联系快递公司投诉', trigger: 'change' }]"
 						>
 							<el-radio-group v-model="state.expandForm.mailIsContacted">
@@ -361,59 +357,59 @@
 							<el-input v-model="state.expandForm.epEmail" placeholder="举报人邮箱" clearable> </el-input>
 						</el-form-item>
 					</el-col>
-          <el-col :xs="24" :sm="12" :md="8" :lg="8" :xl="6">
-            <el-form-item label="通讯地址" prop="epAddress" :rules="[{ required: false, message: '请填写通讯地址', trigger: 'blur' }]">
-              <el-input v-model="state.expandForm.epAddress" placeholder="举报人通讯地址" clearable> </el-input>
-            </el-form-item>
-          </el-col>
-          <el-col :xs="24" :sm="12" :md="8" :lg="8" :xl="6">
-            <el-form-item label="举报对象" prop="epObject" :rules="[{ required: false, message: '请填写举报对象', trigger: 'blur' }]">
-              <el-input v-model="state.expandForm.epObject" placeholder="被举报对象名称" clearable> </el-input>
-            </el-form-item>
-          </el-col>
-          <el-col :xs="24" :sm="12" :md="8" :lg="8" :xl="6">
-            <el-form-item label="详细地址" prop="epObjectAddress" :rules="[{ required: false, message: '请填写详细地址', trigger: 'blur' }]">
-              <el-input v-model="state.expandForm.epObjectAddress" placeholder="被举报对象详细地址" clearable> </el-input>
-            </el-form-item>
-          </el-col>
-          <el-col :xs="24" :sm="12" :md="8" :lg="8" :xl="6">
-            <el-form-item label="行业类型" prop="epIndustryType" :rules="[{ required: false, message: '请填写行业类型', trigger: 'blur' }]">
-              <el-input v-model="state.expandForm.epIndustryType" placeholder="对应行业类型" clearable> </el-input>
-            </el-form-item>
-          </el-col>
-          <el-col :xs="24" :sm="12" :md="8" :lg="8" :xl="6">
-            <el-form-item label="重点要素" prop="epKeyPoint" :rules="[{ required: false, message: '请填写重点要素', trigger: 'blur' }]">
-              <el-input v-model="state.expandForm.epKeyPoint" placeholder="重点要素" clearable> </el-input>
-            </el-form-item>
-          </el-col>
+					<el-col :xs="24" :sm="12" :md="8" :lg="8" :xl="6">
+						<el-form-item label="通讯地址" prop="epAddress" :rules="[{ required: false, message: '请填写通讯地址', trigger: 'blur' }]">
+							<el-input v-model="state.expandForm.epAddress" placeholder="举报人通讯地址" clearable> </el-input>
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="8" :lg="8" :xl="6">
+						<el-form-item label="举报对象" prop="epObject" :rules="[{ required: false, message: '请填写举报对象', trigger: 'blur' }]">
+							<el-input v-model="state.expandForm.epObject" placeholder="被举报对象名称" clearable> </el-input>
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="8" :lg="8" :xl="6">
+						<el-form-item label="详细地址" prop="epObjectAddress" :rules="[{ required: false, message: '请填写详细地址', trigger: 'blur' }]">
+							<el-input v-model="state.expandForm.epObjectAddress" placeholder="被举报对象详细地址" clearable> </el-input>
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="8" :lg="8" :xl="6">
+						<el-form-item label="行业类型" prop="epIndustryType" :rules="[{ required: false, message: '请填写行业类型', trigger: 'blur' }]">
+							<el-input v-model="state.expandForm.epIndustryType" placeholder="对应行业类型" clearable> </el-input>
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="8" :lg="8" :xl="6">
+						<el-form-item label="重点要素" prop="epKeyPoint" :rules="[{ required: false, message: '请填写重点要素', trigger: 'blur' }]">
+							<el-input v-model="state.expandForm.epKeyPoint" placeholder="重点要素" clearable> </el-input>
+						</el-form-item>
+					</el-col>
 				</template>
 				<!-- (11)12315 市场监管局受理单【投诉】 (12)12315 市场监管局受理单【举报】-->
-				<template v-if="['scjgjts','scjgjjb'].includes(state.expandForm.orderTypeCode)">
+				<template v-if="['scjgjts', 'scjgjjb'].includes(state.expandForm.orderTypeCode)">
 					<el-divider content-position="left">
-						<b class="formTitle">{{
-							state.expandForm.orderTypeCode === 'scjgjjb' ? '举报人信息' : state.expandForm.orderTypeCode === 'scjgjts' ? '投诉人信息' : null
-						}}</b>
+						<el-text tag="b" size="large">
+							{{ state.expandForm.orderTypeCode === 'scjgjjb' ? '举报人信息' : state.expandForm.orderTypeCode === 'scjgjts' ? '投诉人信息' : null }}
+						</el-text>
 					</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
-							v-model="state.expandForm.licenceObj"
-							clearable
-							filterable
-							value-key="dicDataValue"
-							placeholder="请选择证件类型"
-							class="w100"
-							@change="
-								(val) => {
-									state.expandForm.licenceType = val.dicDataName;
-									state.expandForm.licenceTypeCode = val.dicDataValue;
-								}
-							"
-						>
-							<el-option v-for="item in state.licenceTypeOptions" :key="item.dicDataValue" :label="item.dicDataName" :value="item" />
-						</el-select>
-					</el-form-item>
-          </el-col>
+					<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
+								v-model="state.expandForm.licenceObj"
+								clearable
+								filterable
+								value-key="dicDataValue"
+								placeholder="请选择证件类型"
+								class="w100"
+								@change="
+									(val) => {
+										state.expandForm.licenceType = val.dicDataName;
+										state.expandForm.licenceTypeCode = val.dicDataValue;
+									}
+								"
+							>
+								<el-option v-for="item in state.licenceTypeOptions" :key="item.dicDataValue" :label="item.dicDataName" :value="item" />
+							</el-select>
+						</el-form-item>
+					</el-col>
 					<!-- 选择了证件类型必填 -->
 					<el-col :xs="24" :sm="12" :md="8" :lg="8" :xl="6">
 						<el-form-item
@@ -549,9 +545,9 @@
 						</el-form-item>
 					</el-col>
 					<el-divider content-position="left">
-						<b class="formTitle">{{
-							state.expandForm.orderTypeCode === 'scjgjjb' ? '举报对象信息' : state.expandForm.orderTypeCode === 'scjgjts' ? '投诉对象信息' : ''
-						}}</b>
+						<el-text tag="b" size="large">
+							{{ state.expandForm.orderTypeCode === 'scjgjjb' ? '举报对象信息' : state.expandForm.orderTypeCode === 'scjgjts' ? '投诉对象信息' : '' }}
+						</el-text>
 					</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' }]">
@@ -632,7 +628,9 @@
 						</el-form-item>
 					</el-col>
 					<el-divider content-position="left">
-						<b class="formTitle">{{ state.expandForm.orderTypeCode === 'scjgjjb' ? '举报详情' : state.expandForm.orderTypeCode === 'scjgjts' ? '投诉详情' : null }}</b>
+						<el-text tag="b" size="large">
+							{{ state.expandForm.orderTypeCode === 'scjgjjb' ? '举报详情' : state.expandForm.orderTypeCode === 'scjgjts' ? '投诉详情' : null }}
+						</el-text>
 					</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' }]">
@@ -945,7 +943,7 @@
 </template>
 
 <script setup lang="ts" name="oderExpandForm">
-import {reactive, ref, computed, watch,} from 'vue';
+import { reactive, ref, computed, watch } from 'vue';
 import { useRoute } from 'vue-router';
 import other from '/@/utils/other';
 import { ElMessage, FormInstance } from 'element-plus';
@@ -970,9 +968,9 @@ const state = reactive<any>({
 	expandForm: {
 		orderType: null, // 工单类型
 		orderTypeCode: null, // 工单类型code
-    mailAmount: 0, // 涉及金额
-    exchAmount:0, // 交易金额
-    mailIsContacted: false, // 是否联系快递公司投诉
+		mailAmount: 0, // 涉及金额
+		exchAmount: 0, // 交易金额
+		mailIsContacted: false, // 是否联系快递公司投诉
 		licenceType: null, //证件类型
 		licenceTypeCode: null, //证件类型code
 		licenceNo: null, //证件号码
@@ -1196,22 +1194,22 @@ watch(
 		state.complainTypeOptions = newVal.ext.complainTypeOptions ?? []; // 诉求列表
 		state.patentTypeOptions = newVal.ext.patentTypeOptions ?? []; // 专利类型
 		state.areaOptions = newVal.ext?.area ?? []; //省市区数据
-    state.orderTypeOptions = newVal.ext.orderTypeOptions ?? []; // 工单类型
+		state.orderTypeOptions = newVal.ext.orderTypeOptions ?? []; // 工单类型
 	},
-    {
-      immediate: true,
-    }
+	{
+		immediate: true,
+	}
 );
 watch(
 	() => props.orderDetail,
 	(newVal) => {
 		state.expandForm = newVal.orderExtension ?? {};
-    state.expandForm.complainTypes = newVal.orderExtension?.complainTypes ?? [];
-    state.expandForm.orderTypeObj = {
-      //工单类型
-      dicDataValue: state.expandForm.orderTypeCode,
-      dicDataName: state.expandForm.orderType,
-    };
+		state.expandForm.complainTypes = newVal.orderExtension?.complainTypes ?? [];
+		state.expandForm.orderTypeObj = {
+			//工单类型
+			dicDataValue: state.expandForm.orderTypeCode,
+			dicDataName: state.expandForm.orderType,
+		};
 
 		if (state.expandForm.businessPosition && state.expandForm.businessPosition.areaCode) {
 			// 经营地址
@@ -1271,9 +1269,9 @@ watch(
 			};
 		}
 	},
-    {
-      immediate: true,
-    }
+	{
+		immediate: true,
+	}
 );
 // 关闭弹窗
 const closeDialog = () => {