Преглед на файлове

reactor:对接市州互转信息;

zhangchong преди 1 година
родител
ревизия
967d9703db

+ 22 - 0
src/api/statistics/center.ts

@@ -61,4 +61,26 @@ export const departmentHighFrequencyEventDetail = (params: object) => {
     params,
     paramsSerializer: (params:any) => qs.stringify(params)
   });
+}
+/**
+ * @description 市州互转-转入
+ * @param {object} params
+ */
+export const cityConversionIn = (params: object) => {
+  return request({
+    url: `/api/v1/TranspondCity/order_receive_in_list`,
+    method: 'get',
+    params,
+  });
+}
+/**
+ * @description 市州互转-转出
+ * @param {object} params
+ */
+export const cityConversionOut = (params: object) => {
+  return request({
+    url: `/api/v1/TranspondCity/order_transfer_out_list`,
+    method: 'get',
+    params,
+  });
 }

+ 70 - 19
src/views/statistics/center/transferCity.vue

@@ -5,6 +5,31 @@
 				<el-tab-pane name="out" label="转出列表"></el-tab-pane>
 				<el-tab-pane name="in" label="转入列表"></el-tab-pane>
 			</el-tabs>
+			<el-form :model="state.queryParams" ref="ruleFormRef" @submit.native.prevent inline>
+				<el-form-item prop="cityName">
+					<el-input v-model="state.queryParams.cityName" placeholder="互转城市名称" clearable @keyup.enter="handleQuery" class="keyword-input" />
+				</el-form-item>
+				<el-form-item prop="crTime">
+					<el-date-picker
+						v-model="state.queryParams.crTime"
+						type="daterange"
+						unlink-panels
+						range-separator="至"
+						start-placeholder="开始时间"
+						end-placeholder="结束时间"
+						:shortcuts="shortcuts"
+						@change="handleQuery"
+						value-format="YYYY-MM-DD"
+						: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>
 			<ProTable
 				ref="proTableRef"
 				:columns="columns"
@@ -25,40 +50,42 @@
 import { onMounted, reactive, ref } from 'vue';
 import dayjs from 'dayjs';
 import { formatDate } from '@/utils/formatTime';
+import { cityConversionIn, cityConversionOut } from "@/api/statistics/center";
+import { shortcuts } from "@/utils/constants";
+import { FormInstance } from "element-plus";
 
 const proTableRef = ref<RefType>(); // 表格ref
 // 表格配置项
 const columns = ref<any[]>([]);
 const columnsOut = [
 	{ type: 'index', fixed: 'left', width: 55, label: '序号', align: 'center' },
-	{ prop: 'callnum', label: '受理编号' },
+	{ prop: 'orderCode', label: '受理编号' },
 	{
-		prop: 'filedTime',
+		prop: 'transferOutTime',
 		label: '转出时间',
 		width: 170,
 		render: (scope) => {
-			return <span>{formatDate(scope.row.filedTime, 'YYYY-mm-dd HH:MM:SS')}</span>;
+			return <span>{formatDate(scope.row.transferOutTime, 'YYYY-mm-dd HH:MM:SS')}</span>;
 		},
 	},
-	{ prop: 'callnum', label: '同步次数' },
-	{ prop: 'callnum', label: '同步状态' },
-	{ prop: 'callnum', label: '同步返回' },
-	{ prop: 'callnum', label: '转入市州' },
+	{ prop: 'sendTimes', label: '同步次数' },
+	{ prop: 'isSuccess', label: '同步状态', render: (scope) => <span>{scope.row.isSuccess ? '成功' : '失败'}</span>},
+	{ prop: 'result', label: '同步返回',minWidth:300 },
+	{ prop: 'cityName', label: '转入市州' },
 ];
 const columnsInt = [
 	{ type: 'index', fixed: 'left', width: 55, label: '序号', align: 'center' },
-	{ prop: 'callnum', label: '转入受理编号' },
-	{ prop: 'callnum', label: '新建受理编号' },
+	{ prop: 'orderCode', label: '转入受理编号' },
 	{
-		prop: 'filedTime',
+		prop: 'transferOutTime',
 		label: '转入时间',
 		width: 170,
 		render: (scope) => {
-			return <span>{formatDate(scope.row.filedTime, 'YYYY-mm-dd HH:MM:SS')}</span>;
+			return <span>{formatDate(scope.row.transferOutTime, 'YYYY-mm-dd HH:MM:SS')}</span>;
 		},
 	},
-	{ prop: 'callnum', label: '同步转入' },
-	{ prop: 'callnum', label: '来源市州' },
+	{ prop: 'result', label: '同步转入',minWidth:400 },
+	{ prop: 'cityName', label: '来源市州' },
 ];
 // 定义变量内容
 const ruleFormRef = ref<RefType>(); // 表单ref
@@ -67,7 +94,7 @@ const state = reactive({
 		// 查询条件
 		PageIndex: 1,
 		PageSize: 10,
-		PhoneNum: null, // 来电号码
+    CiryName: null, // 城市名称
 		crTime: [dayjs().startOf('day').format('YYYY-MM-DD'), dayjs().endOf('day').format('YYYY-MM-DD')],
 		direction: 'out',
 	},
@@ -80,17 +107,41 @@ const handleQuery = () => {
 	state.queryParams.PageIndex = 1;
 	queryList();
 };
+/** 重置按钮操作 */
+const resetQuery = (formEl: FormInstance | undefined) => {
+  if (!formEl) return;
+  formEl.resetFields();
+  queryList();
+}
 /** 获取列表 */
 const queryList = () => {
-	// state.loading = true;
+	state.loading = true;
 	columns.value = state.queryParams.direction === 'out' ? columnsOut : columnsInt;
+  let StartDate = null;
+  let EndDate = null;
+  if (state.queryParams?.crTime) {
+    StartDate = state.queryParams?.crTime[0];
+    EndDate = state.queryParams?.crTime[1];
+  }
+  const request = {
+    StartDate,
+    EndDate,
+    CiryName:state.queryParams.CiryName,
+    PageIndex: state.queryParams.PageIndex,
+    PageSize: state.queryParams.PageSize,
+  };
 	if (state.queryParams.direction === 'out') {
-		/*departmentHighFrequency(state.queryParams).then((res) => {
-      state.tableData = res.data;
-      state.total = res.total;
+    cityConversionOut(request).then((res) => {
+      state.tableData = res.result.items;
+      state.total = res.result.total;
       state.loading = false;
-    });*/
+    });
 	} else {
+    cityConversionIn(request).then((res) => {
+      state.tableData = res.result.items;
+      state.total = res.result.total;
+      state.loading = false;
+    });
 	}
 };
 onMounted(() => {

+ 11 - 21
src/views/statistics/department/detailOverdue.vue

@@ -36,10 +36,6 @@
         <template #title="{ row }">
           <order-detail :order="row" @updateList="queryList">{{ row.title }}</order-detail>
         </template>
-        <!-- 表格操作 -->
-        <template #operation="{ row }">
-          <order-detail :order="row" @updateList="queryList" />
-        </template>
       </ProTable>
     </el-card>
   </div>
@@ -58,9 +54,6 @@ const proTableRef = ref<RefType>(); // 表格ref
 // 表格配置项
 const columns = ref<any[]>([
   { prop: 'no', label: '工单编码', width: 150 },
-  { prop: 'isProvince', label: '省/市工单', width: 100 },
-  { prop: 'actualHandleStepName', label: '办理节点', width: 150 },
-  { prop: 'statusText', label: '工单状态', width: 100 },
   { prop: 'title', label: '标题', width: 300 },
   {
     prop: 'startTime',
@@ -70,30 +63,27 @@ const columns = ref<any[]>([
       return <span>{formatDate(scope.row.startTime, 'YYYY-mm-dd HH:MM:SS')}</span>;
     },
   },
+  { prop: 'sourceChannel', label: '来源方式' },
+  { prop: 'statusText', label: '超期部门'},
   {
-    prop: 'expiredTime',
-    label: '工单期满时间',
+    prop: 'filedTime',
+    label: '办结时间',
     width: 170,
     render: (scope) => {
-      return <span>{formatDate(scope.row.expiredTime, 'YYYY-mm-dd HH:MM:SS')}</span>;
+      return <span>{formatDate(scope.row.filedTime, 'YYYY-mm-dd HH:MM:SS')}</span>;
     },
   },
   {
-    prop: 'filedTime',
-    label: '办结时间',
+    prop: 'expiredTime',
+    label: '工单期满时间',
     width: 170,
     render: (scope) => {
-      return <span>{formatDate(scope.row.filedTime, 'YYYY-mm-dd HH:MM:SS')}</span>;
+      return <span>{formatDate(scope.row.expiredTime, 'YYYY-mm-dd HH:MM:SS')}</span>;
     },
   },
-  { prop: 'orgLevelOneName', label: '一级部门', width: 170 },
-  { prop: 'actualHandleOrgName', label: '接办部门', width: 170 },
-  { prop: 'acceptType', label: '受理类型', width: 150 },
-  { prop: 'counterSignTypeText', label: '是否会签' },
-  { prop: 'sourceChannel', label: '来源方式' },
-  { prop: 'hotspotName', label: '热点分类', width: 100 },
-  { prop: 'acceptorName', label: '受理人', width: 170 },
-  { prop: 'operation', label: '操作', fixed: 'right', width: 100, align: 'center' },
+
+  { prop: 'sourceChannel', label: '超期天数' },
+  { prop: 'statusText', label: '工单状态' }
 ]);
 // 定义变量内容
 const ruleFormRef = ref<RefType>(); // 表单ref

+ 9 - 3
src/views/statistics/department/overdue.vue

@@ -112,7 +112,13 @@ const columns = ref<any[]>([
 			);
 		},
 	},
-	{ prop: 'subtotal', label: '小计', align: 'center' },
+	{ prop: 'subtotal', label: '小计', align: 'center',render: (scope) => {
+      return (
+        <el-button type="primary" link onClick={() => linkDetail(scope.row)}>
+          {scope.row.subtotal}
+        </el-button>
+      );
+    }, },
 ]);
 // 定义变量内容
 const ruleFormRef = ref<RefType>(); // 表单ref
@@ -208,7 +214,7 @@ const getSummaries = (param: any) => {
 const router = useRouter();
 const linkDetail = (row: any) => {
 	console.log('详情', row);
-	router.push({
+	/*router.push({
 	  name: 'statisticsDepartmentOverdueDetail',
 	  params: {
 	    id: row.orgId,
@@ -217,7 +223,7 @@ const linkDetail = (row: any) => {
 	    StartTime: state.queryParams?.crTime[0],
 	    EndTime: state.queryParams?.crTime[1],
 	  },
-	});
+	});*/
 };
 onMounted(() => {
 	queryList();