浏览代码

reactor:三方会议和转接电话下拉框调整;

zhangchong 10 月之前
父节点
当前提交
6e4fdb511b

+ 21 - 9
src/layout/navBars/breadcrumb/telControl.vue

@@ -444,15 +444,15 @@
 			<el-form-item label="转接号码" prop="telNo" :rules="[{ required: true, message: '请选择转接分机或填写外部电话', trigger: 'blur' }]">
 				<el-select-v2
 					v-model="state.transferForm.telNo"
-					:options="state.telsList"
+					:options="state.threeWayAndTransfer"
 					placeholder="请选择转接分机或填写外部电话"
 					filterable
 					class="w100"
 					allow-create
 					default-first-option
 					:props="{
-						label: 'telNo',
-						value: 'telNo',
+						label: 'dicDataName',
+						value: 'dicDataValue',
 					}"
 				/>
 			</el-form-item>
@@ -498,15 +498,15 @@
 			<el-form-item label="三方通话号码" prop="telNo" :rules="[{ required: true, message: '请选择或填写三方通话号码', trigger: 'blur' }]">
 				<el-select-v2
 					v-model="state.threeWayForm.telNo"
-					:options="state.telsList"
+					:options="state.threeWayAndTransfer"
 					placeholder="请选择或填写三方通话号码"
 					filterable
 					class="w100"
 					allow-create
 					default-first-option
-					:props="{
-						label: 'telNo',
-						value: 'telNo',
+          :props="{
+						label: 'dicDataName',
+						value: 'dicDataValue',
 					}"
 				/>
 			</el-form-item>
@@ -557,6 +557,7 @@ import mittBus from '@/utils/mitt';
 import { voiceAssistant } from '@/api/todo/voiceAssistant';
 import { submitLog } from '@/api/public/log';
 import { B } from '@vueuse/motion/dist/shared/motion.5ee44005';
+import { getDataByCode } from "@/api/system/dict";
 // 引入组件
 const CommonAdvice = defineAsyncComponent(() => import('@/components/CommonAdvice/index.vue')); // 常用意见
 const AnnexList = defineAsyncComponent(() => import('@/components/AnnexList/index.vue'));
@@ -570,6 +571,7 @@ const state = reactive<any>({
 		telNo: null, //分机号
 	},
 	telsList: <EmptyArrayType>[], // 分机列表
+  threeWayAndTransfer: <EmptyArrayType>[], // 三方通话和转接
 	loading: false,
 	showHangupList: false, //是否展示挂断列表
 	restDialogVisible: false, //小休弹窗
@@ -736,8 +738,8 @@ const RestApplyPassFn = (data: any) => {
 const getTelsLists = async () => {
 	state.loading = true;
 	try {
-		const res: any = await getTelList();
-		state.telsList = res?.result ?? [];
+		const {result} = await getTelList();
+		state.telsList = result ?? [];
 		state.loading = false;
 		return state.telsList;
 	} catch (err) {
@@ -745,6 +747,15 @@ const getTelsLists = async () => {
 		state.loading = false;
 	}
 };
+// 查询三方会议和转接的号码
+const getThreeWayAndTransfer = async () => {
+	try {
+		const {result} = await getDataByCode('TransferNumber');
+    state.threeWayAndTransfer = result ?? [];
+	} catch (err) {
+    console.log(err);
+  }
+}
 // 鼠标移入移出改变图标
 const onHover = (val: string, path: string) => {
 	state[val] = getImageUrl(path);
@@ -2002,6 +2013,7 @@ onMounted(async () => {
 	await signalRStart(); //开启消息监听
 	await resetState(); // 先重置状态
 	await getTelsLists(); // 查询所有分机
+  await getThreeWayAndTransfer(); // 查询转接和三方
 	await callCenterConnect(); // 呼叫中心链接
 	// 加入分组
 	await signalR.joinGroup('CallCenter');

+ 0 - 1
src/views/business/discern/todo.vue

@@ -225,7 +225,6 @@ const handleQuery = () => {
 };
 /** 获取列表 */
 const queryList = () => {
-	const index = columns.value.findIndex((item) => item.prop === 'title');
 	let request = other.deepClone(state.queryParams);
 	Reflect.deleteProperty(request, 'exTime'); // 删除无用的参数
 	state.loading = true;

+ 27 - 45
src/views/statistics/order/detailSource.vue

@@ -42,6 +42,7 @@
 				:pagination="false"
 				:toolButton="['refresh', 'setting', 'exportAll']"
 				@export-all="exportTable($event, true)"
+        :key="Math.random()"
 			>
 			</ProTable>
 		</el-card>
@@ -55,52 +56,10 @@ import { defaultDate, shortcuts } from '@/utils/constants';
 import { useRouter } from 'vue-router';
 import { downloadFileByStream, guid } from "@/utils/tools";
 import Other from "@/utils/other";
+import dayjs from "dayjs";
 
 // 表格配置项
-const columns = ref<any[]>([
-	{ type: 'index', fixed: 'left', width: 55, label: '序号', align: 'center' },
-	{ prop: 'userName', label: '派单人员', align: 'center' },
-	{
-		prop: 'sendOrderNum',
-		label: '派单量',
-		align: 'center',
-		sortable: true,
-		render: (scope) => {
-			return (
-				<el-button type="primary" link onClick={() => linkDetail(scope)}>
-					{scope.row.sendOrderNum}
-				</el-button>
-			);
-		},
-	},
-	{
-		prop: 'noSendOrderNum',
-		label: '待派单件',
-		align: 'center',
-		sortable: true,
-		render: (scope) => {
-			return (
-				<el-button type="primary" link onClick={() => linkDetail(scope)}>
-					{scope.row.noSendOrderNum}
-				</el-button>
-			);
-		},
-	},
-	{
-		prop: 'reSendOrderNum',
-		label: '重办信件',
-		align: 'center',
-		sortable: true,
-		render: (scope) => {
-			return (
-				<el-button type="primary" link onClick={() => linkDetail(scope)}>
-					{scope.row.reSendOrderNum}
-				</el-button>
-			);
-		},
-	},
-	{ prop: 'chainRate', label: '派单准确率', align: 'center' },
-]);
+const columns = ref<any[]>([]);
 // 定义变量内容
 const ruleFormRef = ref<RefType>(); // 表单ref
 const state = reactive<any>({
@@ -131,7 +90,30 @@ const queryList = () => {
   Reflect.deleteProperty(request, 'crTime');
   orderSourceList(request)
 		.then((res: any) => {
-			// state.tableData = res.result ?? [];
+      columns.value = res.result.header.map((item)=>{
+        return {
+          prop: item.code,
+          label: item.header,
+          align: 'center',
+          minWidth: 120,
+          render: (scope: any) => {
+            // console.log(scope.row) const value = `${scope.row[dayjs(month.value).format(`YYYY-MM-${num}`)]}`;
+            return (
+              <>
+                {!['time'].includes(item.code) ? (
+                  <el-button type="primary" link onClick={() => linkDetail(scope)}>
+                    {scope.row[item.code]}
+                  </el-button>
+                ) : (
+                  ''
+                )}
+              </>
+            );
+          },
+        }
+      })
+      columns.value.unshift({ type: 'index', fixed: 'left', width: 55, label: '序号', align: 'center' });
+			state.tableData = res.result.data ?? [];
 			state.loading = false;
 		})
 		.catch(() => {

+ 0 - 1
src/views/todo/order/index.vue

@@ -246,7 +246,6 @@ const handleQuery = () => {
 const queryList = async () => {
 	try {
 		state.loading = true;
-		const index = columns.value.findIndex((item) => item.prop === 'acceptType');
 		if (state.queryParams.IsHandled === 'true') {
 			columns.value = columnsDone;
 		} else {