瀏覽代碼

reactor:数据共享调整;

zhangchong 6 月之前
父節點
當前提交
22b7caba9e
共有 3 個文件被更改,包括 87 次插入100 次删除
  1. 18 17
      src/views/dataShare/callLog.vue
  2. 13 16
      src/views/dataShare/orderList.vue
  3. 56 67
      src/views/dataShare/orderNoCallLog.vue

+ 18 - 17
src/views/dataShare/callLog.vue

@@ -13,8 +13,8 @@
 			>
 				<template #table-search>
 					<el-form :model="state.queryParams" ref="ruleFormRef" @submit.native.prevent inline>
-						<el-form-item label="省编码" prop="CaseSerial">
-							<el-input v-model="state.queryParams.CaseSerial" placeholder="省编码" clearable @keyup.enter="handleQuery" class="keyword-input"/>
+						<el-form-item label="省本地编码" prop="CaseSerial">
+							<el-input v-model="state.queryParams.CaseSerial" placeholder="省本地编码" clearable @keyup.enter="handleQuery" class="keyword-input"/>
 						</el-form-item>
 						<el-form-item label="是否及时" prop="IsSuccess">
 							<el-select v-model="state.queryParams.IsSuccess" placeholder="请选择是否及时" @change="handleQuery" clearable>
@@ -61,12 +61,12 @@ const proTableRef = ref<RefType>(); // 表格ref
 const columns = ref<any[]>([
 	{ prop: 'provinceNo', label: '省本地编码', align: 'center', minWidth: 220 },
   {
-    prop: 'overTime',
+    prop: 'requestData.CALL_END',
     label: '挂断时间',
     align: 'center',
     width: 170,
     render: (scope) => {
-      return <span>{formatDate(scope.row.overTime, 'YYYY-mm-dd HH:MM:SS')}</span>;
+      return <span>{formatDate(scope.row.requestData?.CALL_END, 'YYYY-mm-dd HH:MM:SS')}</span>;
     },
   },
   {
@@ -79,42 +79,43 @@ const columns = ref<any[]>([
     },
   },
 	{
-		prop: 'firstSendProvinceTime',
+		prop: 'firstTime',
 		label: '第一次上传省上的时间',
 		align: 'center',
 		width: 170,
 		render: (scope) => {
-			return <span>{formatDate(scope.row.firstSendProvinceTime, 'YYYY-mm-dd HH:MM:SS')}</span>;
+			return <span>{formatDate(scope.row.firstTime, 'YYYY-mm-dd HH:MM:SS')}</span>;
 		},
 	},
 	{
-		prop: 'lastSendProvinceTime',
+		prop: 'lastTime',
 		label: '最近一次推送时间',
 		align: 'center',
 		width: 170,
 		render: (scope) => {
-			return <span>{formatDate(scope.row.lastSendProvinceTime, 'YYYY-mm-dd HH:MM:SS')}</span>;
+			return <span>{formatDate(scope.row.lastTime, 'YYYY-mm-dd HH:MM:SS')}</span>;
 		},
 	},
-	{ prop: 'cpn', label: '主叫号码', width: 120, align: 'center' },
-	{ prop: 'cdpn', label: '被叫号码', width: 120, align: 'center' },
-	{ prop: 'telNo', label: '响应分机', width: 120, align: 'center' },
-	{ prop: 'userName', label: '话务员', width: 120, align: 'center' },
-	{ prop: 'duration', label: '通话时间(秒)', width: 120, align: 'center' },
 	{
-		prop: 'onState',
+		prop: 'intervalTime',
+		label: '推送时差(秒)',
+		align: 'center',
+	},
+	{ prop: 'requestData.PHONE_NUMBER', label: '来电号码', width: 120, align: 'center' },
+	{
+		prop: 'requestData.PHONE_STATUS',
 		label: '通话结果',
 		align: 'center',
 		render: (scope) => {
-			return <span>{scope.row.onState === 'On' ? '接通' : '未接通'}</span>;
+			return <span>{scope.row.requestData.PHONE_STATUS === '10' ? '接通' : '未接通'}</span>;
 		},
 	},
 	{
-		prop: 'callDirection',
+		prop: 'requestData.IS_PHONECALL',
 		label: '电话方向',
 		align: 'center',
 		render: (scope) => {
-			return <span>{scope.row.callDirection === 'In' ? '呼入' : '呼出'}</span>;
+			return <span>{scope.row.requestData.IS_PHONECALL === '0' ? '呼入' : '呼出'}</span>;
 		},
 	},
 ]);

+ 13 - 16
src/views/dataShare/orderList.vue

@@ -13,8 +13,8 @@
 			>
 				<template #table-search>
 					<el-form :model="state.queryParams" ref="ruleFormRef" @submit.native.prevent inline>
-						<el-form-item label="省编码" prop="CaseSerial">
-							<el-input v-model="state.queryParams.CaseSerial" placeholder="省编码" clearable @keyup.enter="handleQuery" class="keyword-input"/>
+						<el-form-item label="省本地编码" prop="CaseSerial">
+							<el-input v-model="state.queryParams.CaseSerial" placeholder="省本地编码" clearable @keyup.enter="handleQuery" class="keyword-input"/>
 						</el-form-item>
 						<el-form-item label="是否及时" prop="IsSuccess">
 							<el-select v-model="state.queryParams.IsSuccess" placeholder="请选择是否及时" @change="handleQuery" clearable>
@@ -59,17 +59,9 @@ import Other from '@/utils/other';
 const proTableRef = ref<RefType>(); // 表格ref
 // 表格配置项
 const columns = ref<any[]>([
-	{ prop: 'orderNo', label: '工单编号', align: 'center' },
+	{ prop: 'requestData.CASE_TITLE', label: '工单标题', align: 'center', minWidth: 200 },
 	{ prop: 'provinceNo', label: '省本地编码', align: 'center' },
-	{
-		prop: 'caseDate',
-		label: '工单创建时间',
-		align: 'center',
-		width: 160,
-		render: (scope) => {
-			return <span>{formatDate(scope.row.caseDate, 'YYYY-mm-dd HH:MM:SS')}</span>;
-		},
-	},
+	{ prop: 'caseSource', label: '来源渠道', align: 'center' },
 	{
 		prop: 'startTime',
 		label: '受理时间',
@@ -89,23 +81,28 @@ const columns = ref<any[]>([
 		},
 	},
 	{
-		prop: 'firstSendProvinceTime',
+		prop: 'firstTime',
 		label: '第一次上传省上的时间',
 		align: 'center',
 		width: 170,
 		render: (scope) => {
-			return <span>{formatDate(scope.row.firstSendProvinceTime, 'YYYY-mm-dd HH:MM:SS')}</span>;
+			return <span>{formatDate(scope.row.firstTime, 'YYYY-mm-dd HH:MM:SS')}</span>;
 		},
 	},
 	{
-		prop: 'lastSendProvinceTime',
+		prop: 'lastTime',
 		label: '最近一次推送时间',
 		align: 'center',
 		width: 160,
 		render: (scope) => {
-			return <span>{formatDate(scope.row.lastSendProvinceTime, 'YYYY-mm-dd HH:MM:SS')}</span>;
+			return <span>{formatDate(scope.row.lastTime, 'YYYY-mm-dd HH:MM:SS')}</span>;
 		},
 	},
+	{
+		prop: 'intervalTime',
+		label: '推送时差(秒)',
+		align: 'center',
+	},
 ]);
 // 定义变量内容
 const ruleFormRef = ref<RefType>(); // 表单ref

+ 56 - 67
src/views/dataShare/orderNoCallLog.vue

@@ -1,6 +1,6 @@
 <template>
 	<div class="dataShare-orderNoCallLog-container layout-padding">
-    <div class="layout-padding-auto layout-padding-view pd20">
+		<div class="layout-padding-auto layout-padding-view pd20">
 			<ProTable
 				ref="proTableRef"
 				:columns="columns"
@@ -11,44 +11,44 @@
 				v-model:page-index="state.queryParams.PageIndex"
 				v-model:page-size="state.queryParams.PageSize"
 			>
-        <template #table-search>
-          <el-form :model="state.queryParams" ref="ruleFormRef" @submit.native.prevent inline>
-						<el-form-item label="省编码" prop="CaseSerial">
-							<el-input v-model="state.queryParams.CaseSerial" placeholder="省编码" clearable @keyup.enter="handleQuery" class="keyword-input"/>
+				<template #table-search>
+					<el-form :model="state.queryParams" ref="ruleFormRef" @submit.native.prevent inline>
+						<el-form-item label="省本地编码" prop="CaseSerial">
+							<el-input v-model="state.queryParams.CaseSerial" placeholder="省本地编码" clearable @keyup.enter="handleQuery" class="keyword-input" />
 						</el-form-item>
-            <el-form-item label="时间段" prop="crTime">
-              <el-date-picker
-                  v-model="state.queryParams.crTime"
-                  type="datetimerange"
-                  unlink-panels
-                  range-separator="至"
-                  start-placeholder="开始时间"
-                  end-placeholder="结束时间"
-                  :shortcuts="shortcuts"
-                  @change="handleQuery"
-                  value-format="YYYY-MM-DD[T]HH:mm:ss"
-                  :default-time="defaultTimeStartEnd"
-                  :clearable="false"
-              />
-            </el-form-item>
-            <el-form-item label-width="0">
-              <el-button type="primary" @click="handleQuery" :loading="state.loading"> <SvgIcon name="ele-Search" class="mr5" />查询 </el-button>
-              <el-button @click="resetQuery(ruleFormRef)" class="default-button" :loading="state.loading">
-                <SvgIcon name="ele-Refresh" class="mr5" />重置
-              </el-button>
-            </el-form-item>
-          </el-form>
-        </template>
+						<el-form-item label="时间段" prop="crTime">
+							<el-date-picker
+								v-model="state.queryParams.crTime"
+								type="datetimerange"
+								unlink-panels
+								range-separator="至"
+								start-placeholder="开始时间"
+								end-placeholder="结束时间"
+								:shortcuts="shortcuts"
+								@change="handleQuery"
+								value-format="YYYY-MM-DD[T]HH:mm:ss"
+								:default-time="defaultTimeStartEnd"
+								:clearable="false"
+							/>
+						</el-form-item>
+						<el-form-item label-width="0">
+							<el-button type="primary" @click="handleQuery" :loading="state.loading"> <SvgIcon name="ele-Search" class="mr5" />查询 </el-button>
+							<el-button @click="resetQuery(ruleFormRef)" class="default-button" :loading="state.loading">
+								<SvgIcon name="ele-Refresh" class="mr5" />重置
+							</el-button>
+						</el-form-item>
+					</el-form>
+				</template>
 				<template #tableHeader="scope">
-<!--					<el-button type="primary" @click="onEdit(false)" :disabled="!scope.isSelected" :loading="state.loading" title="修改来源渠道">
+					<!--					<el-button type="primary" @click="onEdit(false)" :disabled="!scope.isSelected" :loading="state.loading" title="修改来源渠道">
 						修改来源渠道
 					</el-button>-->
 					<el-button type="primary" @click="onEdit(true)" :disabled="!scope.isSelected" :loading="state.loading" title="修改并推送">
-						修改并推送<span v-if="proTableRef?.selectedList?.length">({{proTableRef?.selectedList?.length}})</span>
+						修改并推送<span v-if="proTableRef?.selectedList?.length">({{ proTableRef?.selectedList?.length }})</span>
 					</el-button>
 				</template>
-				<template #title="{row}">
-					<order-detail :order="{id:row.orderId}" @updateList="queryList">{{ row.title }}</order-detail>
+				<template #title="{ row }">
+					<order-detail :order="{ id: row.orderId }" @updateList="queryList">{{ row.title }}</order-detail>
 				</template>
 			</ProTable>
 		</div>
@@ -57,11 +57,10 @@
 <script setup lang="tsx" name="dataShareOrderNoCallLog">
 import { defineAsyncComponent, onMounted, reactive, ref } from 'vue';
 import { ElMessage, ElMessageBox, FormInstance } from 'element-plus';
-import {  defaultDateTime, defaultTimeStartEnd, shortcuts } from "@/utils/constants";
+import { defaultDateTime, defaultTimeStartEnd, shortcuts } from '@/utils/constants';
 import { formatDate } from '@/utils/formatTime';
-import { editNoCallSource, getNoCallListNew } from "@/api/dataShare";
-import Other from "@/utils/other";
-
+import { editNoCallSource, getNoCallListNew } from '@/api/dataShare';
+import Other from '@/utils/other';
 
 const OrderDetail = defineAsyncComponent(() => import('@/components/OrderDetail/index.vue')); // 工单详情
 
@@ -69,59 +68,49 @@ const proTableRef = ref<RefType>(); // 表格ref
 // 表格配置项
 const columns = ref<any[]>([
 	{ type: 'selection', width: 40, align: 'center' },
-	{ prop: 'title', label: '工单标题', align: 'center'  ,minWidth: 200},
-	{ prop: 'provinceNo', label: '省本地编码', align: 'center' ,minWidth: 220},
+	{ prop: 'requestData.CASE_TITLE', label: '工单标题', align: 'center', minWidth: 200 },
+	{ prop: 'provinceNo', label: '省本地编码', align: 'center', minWidth: 220 },
 	{
 		prop: 'caseSource',
 		label: '来源渠道',
 		align: 'center',
 	},
 	{
-		prop: 'caseDate',
-		label: '工单创建时间',
+		prop: 'startTime',
+		label: '受理时间',
 		align: 'center',
 		width: 160,
 		render: (scope) => {
-			return <span>{formatDate(scope.row.caseDate, 'YYYY-mm-dd HH:MM:SS')}</span>;
+			return <span>{formatDate(scope.row.startTime, 'YYYY-mm-dd HH:MM:SS')}</span>;
 		},
 	},
 	{
-		prop: 'startTime',
-		label: '受理时间',
+		prop: 'creationTime',
+		label: '入库时间',
 		align: 'center',
 		width: 160,
 		render: (scope) => {
-			return <span>{formatDate(scope.row.startTime, 'YYYY-mm-dd HH:MM:SS')}</span>;
+			return <span>{formatDate(scope.row.creationTime, 'YYYY-mm-dd HH:MM:SS')}</span>;
 		},
 	},
 	{
-		prop: 'firstSendProvinceTime',
+		prop: 'firstTime',
 		label: '第一次上传省上的时间',
 		align: 'center',
 		width: 170,
 		render: (scope) => {
-			return <span>{formatDate(scope.row.firstSendProvinceTime, 'YYYY-mm-dd HH:MM:SS')}</span>;
+			return <span>{formatDate(scope.row.firstTime, 'YYYY-mm-dd HH:MM:SS')}</span>;
 		},
 	},
 	{
-		prop: 'lastSendProvinceTime',
+		prop: 'lastTime',
 		label: '最近一次推送时间',
 		align: 'center',
 		width: 160,
 		render: (scope) => {
-			return <span>{formatDate(scope.row.lastSendProvinceTime, 'YYYY-mm-dd HH:MM:SS')}</span>;
+			return <span>{formatDate(scope.row.lastTime, 'YYYY-mm-dd HH:MM:SS')}</span>;
 		},
 	},
-	{
-		prop: 'handleState',
-		label: '工单状态',
-		align: 'center',
-	},
-  {
-    prop: 'callId',
-    label: '通话ID',
-    align: 'center',
-  }
 ]);
 // 定义变量内容
 const ruleFormRef = ref<RefType>(); // 表单ref
@@ -130,9 +119,9 @@ const state = reactive<any>({
 		PageIndex: 1,
 		PageSize: 20,
 		crTime: defaultDateTime,
-    StartTime:null,
-    EndTime:null,
-		CaseSerial:null
+		StartTime: null,
+		EndTime: null,
+		CaseSerial: null,
 	},
 	tableData: [], //表单
 	loading: false, // 加载
@@ -146,11 +135,11 @@ const handleQuery = () => {
 /** 获取列表 */
 const queryList = () => {
 	state.loading = true;
-  let request = Other.deepClone(state.queryParams);
-  request.StartTime = state.queryParams.crTime === null ? null : state.queryParams.crTime[0];
-  request.EndTime = state.queryParams.crTime === null ? null : state.queryParams.crTime[1];
-  Reflect.deleteProperty(request, 'crTime');
-  getNoCallListNew(request)
+	let request = Other.deepClone(state.queryParams);
+	request.StartTime = state.queryParams.crTime === null ? null : state.queryParams.crTime[0];
+	request.EndTime = state.queryParams.crTime === null ? null : state.queryParams.crTime[1];
+	Reflect.deleteProperty(request, 'crTime');
+	getNoCallListNew(request)
 		.then((res: any) => {
 			state.tableData = res.result?.items ?? [];
 			state.total = res.result?.total ?? 0;
@@ -169,7 +158,7 @@ const resetQuery = (formEl: FormInstance | undefined) => {
 // 修改
 const onEdit = (isPush: boolean) => {
 	const title = isPush ? '修改并推送' : '修改来源渠道';
-	const ids = proTableRef.value.selectedList.map((item: any) => item.orderId);
+	const ids = proTableRef.value.selectedList.map((item: any) => item.provinceNo);
 	ElMessageBox.confirm(`您确定要${title}选择的【${proTableRef.value.selectedList.length}】个工单,是否继续?`, '提示', {
 		confirmButtonText: '确认',
 		cancelButtonText: '取消',