Pārlūkot izejas kodu

reactor:449 呼出列表、未接列表增加“话务员”数据列

zhangchong 3 nedēļas atpakaļ
vecāks
revīzija
2b5bde2e0a

+ 1 - 1
.env.development

@@ -3,7 +3,7 @@ VITE_MODE_NAME=development
 # 防止部署多套系统到同一域名不同目录时,变量共用的问题 设置不同的前缀
 VITE_STORAGE_NAME=dev
 # 业务系统基础请求地址
-VITE_API_URL=http://110.188.24.28:50300
+VITE_API_URL=http://110.188.24.28:50100
 # 业务系统socket请求地址
 VITE_API_SOCKET_URL=http://110.188.24.28:50100/hubs/hotline
 # 业务系统文件上传上传请求地址

+ 13 - 1
src/api/dataShare/index.ts

@@ -397,4 +397,16 @@ export const getMarketDetail = (params: object) => {
     method: 'get',
     params
   });
-};
+};
+/**
+ * @description 获取超期明细
+ * @param {object}  params
+ */
+export const getDataShareOverdueDetail = (params: object) => {
+  return request({
+    baseURL: import.meta.env.VITE_DATASHARE_API_YRL,
+    url: `/api/v1/HotlineWeb/get_overdue_details`,
+    method: 'get',
+    params
+  });
+}

+ 5 - 0
src/utils/constants.ts

@@ -125,6 +125,11 @@ export const defaultDate = [dayjs().startOf('day').format('YYYY-MM-DD[T]HH:mm:ss
 export const defaultDateOneMonth = [dayjs().startOf('day').subtract(1, 'month').format('YYYY-MM-DD'), dayjs().endOf('day').format('YYYY-MM-DD')];
 // 默认选择日期时间
 export const defaultDateTime = [dayjs().startOf('day').format('YYYY-MM-DD[T]HH:mm:ss'), dayjs().endOf('day').format('YYYY-MM-DD[T]HH:mm:ss')];
+// 默认时间选择 当月 当月开始时间 当月结束时间
+export const defaultDateMonth = [
+	dayjs().startOf('month').format('YYYY-MM-DD[T]HH:mm:ss'),
+	dayjs().endOf('month').format('YYYY-MM-DD[T]HH:mm:ss'),
+];
 // 默认选择日期(近三个月)
 export const defaultDateThree = [
 	dayjs().startOf('day').subtract(3, 'month').format('YYYY-MM-DD[T]HH:mm:ss'),

+ 118 - 0
src/views/dataShare/extended.vue

@@ -0,0 +1,118 @@
+<template>
+	<div class="dataShare-extended-container layout-padding">
+		<div class="layout-padding-auto layout-padding-view pd20">
+			<el-form :model="state.queryParams" ref="ruleFormRef" @submit.native.prevent inline>
+				<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="省本地编码" prop="CaseSerial">
+					<el-input v-model="state.queryParams.CaseSerial" placeholder="省本地编码" clearable @keyup.enter="handleQuery" class="keyword-input" />
+				</el-form-item>
+				<el-form-item>
+					<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>
+			<vxe-toolbar
+				ref="toolbarRef"
+				:loading="state.loading"
+				custom
+				:refresh="{
+					queryMethod: handleQuery,
+				}"
+			>
+			</vxe-toolbar>
+			<div style="overflow: hidden; width: 100%; height: 100%; flex: 1">
+				<vxe-table
+					border
+					:loading="state.loading"
+					:data="state.tableData"
+					:column-config="{ resizable: true }"
+					:row-config="{ isCurrent: true, isHover: true, height: 30, useKey: true }"
+					ref="tableRef"
+					height="auto"
+					auto-resize
+					show-overflow
+					:scrollY="{ enabled: true, gt: 100 }"
+					id="dataShareExtended"
+					:custom-config="{ storage: true }"
+				>
+					<vxe-column field="provinceNo" title="省本地编码"></vxe-column>
+					<vxe-column field="overduetype" title="超期类型"></vxe-column>
+				</vxe-table>
+			</div>
+		</div>
+	</div>
+</template>
+<script setup lang="tsx" name="dataShareExtended">
+import { onMounted, reactive, ref } from 'vue';
+import { FormInstance } from 'element-plus';
+import { defaultDateMonth, defaultTimeStartEnd, shortcuts } from '@/utils/constants';
+import { getDataShareOverdueDetail } from '@/api/dataShare';
+import Other from '@/utils/other';
+
+// 定义变量内容
+const ruleFormRef = ref<RefType>(); // 表单ref
+const state = reactive<any>({
+	queryParams: {
+		// 查询条件
+		crTime: defaultDateMonth,
+		StartTime: null,
+		EndTime: null,
+		CaseSerial: null, // 省本地编码
+	},
+	tableData: [], //表单
+	loading: false, // 加载
+	total: 0, // 总数
+});
+/** 搜索按钮操作 */
+const handleQuery = () => {
+	// state.queryParams.PageIndex = 1;
+	queryList();
+};
+/** 获取列表 */
+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');
+	getDataShareOverdueDetail(request)
+		.then((res: any) => {
+			state.tableData = res.result?.items ?? [];
+			state.total = res.result?.total ?? 0;
+			state.loading = false;
+		})
+		.catch(() => {
+			state.loading = false;
+		});
+};
+/** 重置按钮操作 */
+const resetQuery = (formEl: FormInstance | undefined) => {
+	if (!formEl) return;
+	formEl.resetFields();
+	queryList();
+};
+const toolbarRef = ref<RefType>();
+const tableRef = ref<RefType>();
+onMounted(() => {
+	queryList();
+	if (tableRef.value && toolbarRef.value) {
+		tableRef.value.connect(toolbarRef.value);
+	}
+});
+</script>