Ver Fonte

reactor:对接派单量统计;

zhangchong há 1 ano atrás
pai
commit
ee2e9625dd

+ 28 - 3
src/views/business/publish/component/Order-redo.vue

@@ -56,15 +56,27 @@
 						</el-form-item>
 					</el-col>
 					<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24">
-						<el-form-item label="错件类别" :rules="[{ required: false, message: '请选择错件类别', trigger: 'change' }]">
+						<el-form-item
+							label="错件类别"
+							:rules="[{ required: true, message: '请选择错件类别', validator: validatePass, trigger: 'change' }]"
+							prop="error"
+						>
+							<el-checkbox v-model="state.ruleForm.error" @change="selectError" style="display: none"></el-checkbox>
 							<el-row>
 								<el-text type="danger"> 注意:勾选后还需要选择类型</el-text>
 								<el-col :span="24" v-for="(item, index) in state.ruleForm.orgs" :key="item.id" class="mb18">
 									<el-form-item :prop="`orgs.${index}.reason`" :rules="[{ required: item.choose, message: '请选择错件类别', trigger: 'change' }]">
 										<template #label>
-											<el-checkbox v-model="item.choose"> {{ item.value }}</el-checkbox>
+											<el-checkbox v-model="item.choose" @change="selectError"> {{ item.value }}</el-checkbox>
 										</template>
-										<el-select v-model="item.reason" placeholder="请选择错件类别" class="w100" value-key="dicDataValue">
+										<el-select
+											v-model="item.reason"
+											placeholder="请选择错件类别"
+											class="w100"
+											value-key="dicDataValue"
+											clearable
+											@change="selectError"
+										>
 											<el-option v-for="items in reTransactErrorType" :key="items.dicDataValue" :label="items.dicDataName" :value="items" />
 										</el-select>
 									</el-form-item>
@@ -181,6 +193,18 @@ const selectNextCode = (val: any) => {
 		state.ruleForm.nextHandlers = [items[0]];
 	}
 };
+// 选择错件类别
+const selectError = () => {
+	state.ruleForm.error = !!state.ruleForm.orgs.find((item: any) => item.choose);
+};
+const validatePass = (rule: any, value: any, callback: any) => {
+	console.log(rule, value, callback);
+	if (!value) {
+		callback(new Error('请选择错件类别'));
+	} else {
+		callback();
+	}
+};
 // 提交
 const onSubmit = (formEl: FormInstance | undefined) => {
 	if (!formEl) return;
@@ -209,6 +233,7 @@ const onSubmit = (formEl: FormInstance | undefined) => {
 			alterTime: !!state.ruleForm.timeLimit,
 			reTransactError,
 		};
+		return;
 		redo(request)
 			.then(() => {
 				state.loading = false;

+ 60 - 5
src/views/statistics/department/handle.vue

@@ -56,11 +56,11 @@ const proTableRef = ref<RefType>();
 // 表格配置项
 const columns = reactive<any[]>([
   { type: 'index', fixed: 'left', width: 55, label: '序号', align: 'center' },
-	{ prop: 'orgName', label: '部门名称', align: 'center' },
-	{ prop: 'orgType', label: '部门类别', align: 'center' },
-	{ prop: 'd', label: '信件总量' , align: 'center'},
+	{ prop: 'orgName', label: '部门名称', align: 'center', fixed: 'left',minWidth: 150 },
+	{ prop: 'orgTypeText', label: '部门类别', align: 'center', fixed: 'left',minWidth: 100  },
+	{ prop: 'orderCountNum', label: '信件总量' , align: 'center', fixed: 'left',minWidth: 90 },
 	{
-		prop: 'f',
+		prop: 'bjxx',
 		label: '办件信息',
    align: 'center',
 		_children: [
@@ -68,7 +68,62 @@ const columns = reactive<any[]>([
 			{ prop: 'b', label: '在办案件', align: 'center' },
 			{ prop: 'c', label: '办结率', align: 'center' },
 		],
-	},
+	},{
+    prop: 'bjxx',
+    label: '办件信息',
+    align: 'center',
+    _children: [
+      { prop: 'a', label: '已办案件', align: 'center' },
+      { prop: 'b', label: '在办案件', align: 'center' },
+      { prop: 'c', label: '办结率', align: 'center' },
+    ],
+  },{
+    prop: 'bjxx',
+    label: '办件信息',
+    align: 'center',
+    _children: [
+      { prop: 'a', label: '已办案件', align: 'center' },
+      { prop: 'b', label: '在办案件', align: 'center' },
+      { prop: 'c', label: '办结率', align: 'center' },
+    ],
+  },{
+    prop: 'bjxx',
+    label: '办件信息',
+    align: 'center',
+    _children: [
+      { prop: 'a', label: '已办案件', align: 'center' },
+      { prop: 'b', label: '在办案件', align: 'center' },
+      { prop: 'c', label: '办结率', align: 'center' },
+    ],
+  },{
+    prop: 'bjxx',
+    label: '办件信息',
+    align: 'center',
+    _children: [
+      { prop: 'a', label: '已办案件', align: 'center' },
+      { prop: 'b', label: '在办案件', align: 'center' },
+      { prop: 'c', label: '办结率', align: 'center' },
+    ],
+  },{
+    prop: 'bjxx',
+    label: '办件信息',
+    align: 'center',
+    _children: [
+      { prop: 'a', label: '已办案件', align: 'center' },
+      { prop: 'b', label: '在办案件', align: 'center' },
+      { prop: 'c', label: '办结率', align: 'center' },
+    ],
+  },{
+    prop: 'bjxx',
+    label: '办件信息',
+    align: 'center',
+    _children: [
+      { prop: 'a', label: '已办案件', align: 'center' },
+      { prop: 'b', label: '在办案件', align: 'center' },
+      { prop: 'c', label: '办结率', align: 'center' },
+    ],
+  },
+  { prop: 'orderCountNum', label: '总满意率' , align: 'center'},
 ]);
 // 列设置获取
 const updateColSetting = (colSetting: any, colArr) => {

+ 14 - 32
src/views/tels/callLog/index.vue

@@ -1,19 +1,19 @@
 <template>
 	<div class="tels-callLog-container layout-pd">
 		<el-card shadow="never">
-<!--			<el-tabs v-model="state.queryParams.type" @tab-change="changeTba">
+			<el-tabs v-model="state.queryParams.type" @tab-change="changeTba">
 				<el-tab-pane name="0" label="全部"></el-tab-pane>
 				<el-tab-pane name="1" label="呼入已接"></el-tab-pane>
 				<el-tab-pane name="2" label="呼入未接"></el-tab-pane>
 				<el-tab-pane name="3" label="呼出"></el-tab-pane>
 				<el-tab-pane name="4" label="未接"></el-tab-pane>
-			</el-tabs>-->
-      <el-tabs v-model="state.queryParams.type" @tab-change="changeTba">
+			</el-tabs>
+<!--      <el-tabs v-model="state.queryParams.type" @tab-change="changeTba">
         <el-tab-pane name="0" label="全部"></el-tab-pane>
         <el-tab-pane name="1" label="呼入"></el-tab-pane>
         <el-tab-pane name="2" label="呼出"></el-tab-pane>
         <el-tab-pane name="3" label="未接"></el-tab-pane>
-      </el-tabs>
+      </el-tabs>-->
 			<el-form :model="state.queryParams" ref="ruleFormRef" @submit.native.prevent label-width="20px">
 				<el-row :gutter="10">
 					<el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6">
@@ -44,7 +44,7 @@
 						</el-col>
 					</transition>
 					<transition name="el-zoom-in-top">
-						<el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6" v-show="!searchCol && ['0', '3'].includes(state.queryParams.type)">
+						<el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6" v-show="!searchCol && ['0'].includes(state.queryParams.type)">
 							<el-form-item prop="CallDirection">
 								<el-select v-model="state.queryParams.CallDirection" placeholder="电话方向" clearable class="w100" @change="handleQuery">
 									<el-option v-for="item in state.callDirection" :value="item.key" :key="item.key" :label="item.value" />
@@ -62,7 +62,7 @@
 						</el-col>
 					</transition>
 					<transition name="el-zoom-in-top">
-						<el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6" v-show="!searchCol && ['0', '1', '2'].includes(state.queryParams.type)">
+						<el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6" v-show="!searchCol && ['0', '1', '2','3'].includes(state.queryParams.type)">
 							<el-form-item prop="EndBy">
 								<el-select v-model="state.queryParams.EndBy" placeholder="挂机类型" clearable class="w100" @change="handleQuery">
 									<el-option v-for="item in state.endByOptions" :value="item.key" :key="item.key" :label="item.value" />
@@ -547,36 +547,18 @@ const queryList = async () => {
 		Reflect.deleteProperty(request, 'ivrTime'); // 删除无用的参数
 		Reflect.deleteProperty(request, 'type'); // 删除无用的参数
 
-		switch (state.queryParams.type) {
-			case '0':
-				columns.value = allColumns;
-				break;
-			case '1':
-				columns.value = inColumns;
-				request.CallDirection = 0;
-				break;
-			case '2':
-				columns.value = outColumns;
-				request.CallDirection = 1;
-				break;
-      case '3':
-        columns.value = noColumns;
-        request.OnState = 2;
-        break;
-			default:
-				columns.value = allColumns;
-				break;
-		}
-  /*  switch (state.queryParams.type) {
-      case '0':
+    switch (state.queryParams.type) {
+      case '0':  // 全部
         columns.value = allColumns;
         break;
-      case '1':
+      case '1': // 呼入已接
         columns.value = inColumns;
+        request.OnState = 1;
         request.CallDirection = 0;
         break;
-      case '2':
-        columns.value = outColumns;
+      case '2': // 呼入未接
+        columns.value = inColumns;
+        request.OnState = 2;
         request.CallDirection = 1;
         break;
       case '3':
@@ -590,7 +572,7 @@ const queryList = async () => {
       default:
         columns.value = allColumns;
         break;
-    }*/
+    }
 		const response = await callLogPaged(request);
 		state.tableData = response.result?.items ?? [];
 		state.total = response.result?.total ?? 0;