Ver código fonte

reactor:对接随手拍红包发放明细;

zhangchong 3 meses atrás
pai
commit
9e8bebd1d9

+ 11 - 0
src/api/snapshot/reSend.ts

@@ -35,4 +35,15 @@ export const getGridRedEnvelopeApprovalList = (params?: object) => {
 		method: 'get',
 		params,
 	});
+};
+/**
+ * @description 获取红包发放明细
+ * @param {object} params
+ */
+export const getRedEnvelopeApprovalDetail = (params?: object) => {
+	return request({
+		url: '/api/v1/RedPack/record/send',
+		method: 'get',
+		params,
+	});
 };

+ 1 - 29
src/components/ProcessDetail/index.vue

@@ -228,7 +228,7 @@
 <script setup lang="ts" name="auditRecord">
 import { reactive, defineAsyncComponent, ref } from 'vue';
 import { workflowDetail } from '@/api/system/workflow';
-import { transformFile } from '@/utils/tools';
+import { transformFileNew } from '@/utils/tools';
 import { formatDate } from '@/utils/formatTime';
 
 const AnnexList = defineAsyncComponent(() => import('@/components/AnnexList/index.vue')); // 附件列表
@@ -285,34 +285,6 @@ const openDialog = async (row: any) => {
 	await getTable(row);
 	currentRow.value = row;
 };
-const  transformFileNew =(data: Array<any>[])=> {
-	if (!data || data.length === 0) return [];
-	return data.map((v: any) => {
-		// 如果转换过的数据中没有response,说明是旧数据,需要转换
-		if (!v.response) {
-			return {
-				...v,
-				name: v.fileName+'.'+v.fileType,
-				publicity: v.publicity,
-				path: v.path,
-				url: import.meta.env.VITE_API_UPLOAD_URL + v.path,
-				allPath: import.meta.env.VITE_API_UPLOAD_URL + v.path,
-				fileName: v.fileName+'.'+v.fileType,
-				additions: v.fileId,
-				response: {
-					result: {
-						fileName: v.fileName+'.'+v.fileType,
-						path: v.path,
-						type: v.fileType,
-						id: v.fileId,
-					},
-				},
-			};
-		} else {
-			return v;
-		}
-	});
-}
 const getTable = async (row: any) => {
 	try {
 		// 查询审核记录

+ 33 - 0
src/utils/tools.ts

@@ -218,6 +218,39 @@ export function transformFile(data: Array<any>[]) {
 		}
 	});
 }
+/**
+ * @description 把后端返回的文件转换为前端需要的文件数据格式
+ * @param data 后端返回的文件数据
+ * @return 转换后的文件数据
+ */
+export function transformFileNew(data: Array<any>[]) {
+	if (!data || data.length === 0) return [];
+	return data.map((v: any) => {
+		// 如果转换过的数据中没有response,说明是旧数据,需要转换
+		if (!v.response) {
+			return {
+				...v,
+				name: v.fileName + '.' + v.fileType,
+				publicity: v.publicity,
+				path: v.path,
+				url: import.meta.env.VITE_API_UPLOAD_URL + v.path,
+				allPath: import.meta.env.VITE_API_UPLOAD_URL + v.path,
+				fileName: v.fileName + '.' + v.fileType,
+				additions: v.fileId,
+				response: {
+					result: {
+						fileName: v.fileName + '.' + v.fileType,
+						path: v.path,
+						type: v.fileType,
+						id: v.fileId,
+					},
+				},
+			};
+		} else {
+			return v;
+		}
+	});
+}
 /**
  * @description 递归查找 callValue 对应的 enum 值
  * */

+ 46 - 48
src/views/snapshot/reSend/list/index.vue

@@ -1,25 +1,22 @@
 <template>
 	<div class="snapshot-re-send-list-container layout-padding">
 		<div class="layout-padding-auto layout-padding-view pd20">
-			<vxe-grid v-bind="gridOptions" ref="gridRef" @checkbox-all="selectAllChangeEvent" @checkbox-change="selectChangeEvent">
+			<vxe-grid v-bind="gridOptions" ref="gridRef">
 				<template #form>
 					<el-form :model="state.queryParams" ref="ruleFormRef" inline @submit.native.prevent :disabled="gridOptions.loading">
-						<el-form-item label="发送状态" prop="isPass">
-							<el-radio-group v-model="state.queryParams.isPass">
-								<el-radio value="0">发送成功</el-radio>
-								<el-radio value="1">发送失败</el-radio>
-								<el-radio value="2">婉拒</el-radio>
-								<el-radio value="3">未发送</el-radio>
+						<el-form-item label="发送状态" prop="Status">
+							<el-radio-group v-model="state.queryParams.Status" @change="handleQuery">
+								<el-radio :value="0">全部</el-radio>
+								<el-radio :value="1">已领取</el-radio>
+								<el-radio :value="2">已退款</el-radio>
+								<el-radio :value="3">发放失败</el-radio>
+								<el-radio :value="4">待领取</el-radio>
 							</el-radio-group>
 						</el-form-item>
-						<el-form-item label="工单编码" prop="CaseName">
-							<el-input
-								v-model="state.queryParams.CaseName"
-								placeholder="请填写工单编码"
-								clearable
-								@keyup.enter="handleQuery"
-								class="keyword-input"
-							/>
+						<el-form-item label="行业" prop="IndustryId">
+							<el-select v-model="state.queryParams.IndustryId" class="w100" placeholder="请选择行业" @change="handleQuery" clearable>
+								<el-option v-for="item in industry" :key="item.id" :label="item.name" :value="item.id" />
+							</el-select>
 						</el-form-item>
 						<el-form-item>
 							<el-button type="primary" @click="handleQuery" :loading="state.loading"> <SvgIcon name="ele-Search" class="mr5" />查询 </el-button>
@@ -44,6 +41,9 @@
 		<!--	更多查询	-->
 		<el-drawer v-model="drawer" title="更多查询" size="500px">
 			<el-form :model="state.queryParams" ref="drawerRuleFormRef" @submit.native.prevent label-width="100px">
+				<el-form-item label="工单编码" prop="No">
+					<el-input v-model="state.queryParams.No" placeholder="请填写工单编码" clearable @keyup.enter="handleQuery" class="keyword-input" />
+				</el-form-item>
 				<el-form-item label="用户openid" prop="IndustryName">
 					<el-input
 						v-model="state.queryParams.IndustryName"
@@ -53,22 +53,22 @@
 						class="keyword-input"
 					/>
 				</el-form-item>
-				<el-form-item label="发放用户类型" prop="IndustryName">
-					<el-select v-model="state.queryParams.ScreenSendBack" placeholder="请选择发放用户类型" @change="handleQuery" clearable>
+				<el-form-item label="发放用户类型" prop="UserType">
+					<el-select v-model="state.queryParams.UserType" placeholder="请选择发放用户类型" @change="handleQuery" clearable>
 						<el-option :value="1" label="市民" />
 						<el-option :value="2" label="网格员" />
 					</el-select>
 				</el-form-item>
-				<el-form-item label="发送状态" prop="IndustryName">
-					<el-select v-model="state.queryParams.ScreenSendBack" placeholder="请选择发送状态" @change="handleQuery" clearable>
+				<el-form-item label="发送状态" prop="SendStatus">
+					<el-select v-model="state.queryParams.SendStatus" placeholder="请选择发送状态" @change="handleQuery" clearable>
 						<el-option :value="1" label="成功" />
 						<el-option :value="2" label="失败" />
 					</el-select>
 				</el-form-item>
-				<el-form-item label="是否补领" prop="IndustryName">
-					<el-select v-model="state.queryParams.ScreenSendBack" placeholder="请选择是否补领" @change="handleQuery" clearable>
-						<el-option :value="1" label="是" />
-						<el-option :value="2" label="否" />
+				<el-form-item label="是否补领" prop="IsReplace">
+					<el-select v-model="state.queryParams.IsReplace" placeholder="请选择是否补领" @change="handleQuery" clearable>
+						<el-option :value="true" label="是" />
+						<el-option :value="false" label="否" />
 					</el-select>
 				</el-form-item>
 				<el-form-item label="发放时间" prop="ffTime">
@@ -95,10 +95,12 @@
 </template>
 
 <script lang="tsx" setup name="snapshotReSendList">
-import { computed, defineAsyncComponent, onMounted, reactive, ref } from 'vue';
+import { defineAsyncComponent, onMounted, reactive, ref } from 'vue';
 import { FormInstance } from 'element-plus';
-import { getClueList } from '@/api/snapshot/config';
 import { defaultTimeStartEnd, shortcuts } from '@/utils/constants';
+import { getRedEnvelopeApprovalDetail } from '@/api/snapshot/reSend';
+import Other from '@/utils/other';
+import { centerDataListBasicData } from '@/api/snapshot/publish';
 
 // 引入组件
 const pagination = defineAsyncComponent(() => import('@/components/ProTable/components/Pagination.vue')); // 分页
@@ -111,9 +113,14 @@ const state = reactive<any>({
 		// 查询参数
 		PageIndex: 1,
 		PageSize: 20,
-		CaseName: null, // 线索名称
-		IndustryName: null, // 行业类型
 		ffTime: [],
+		Status: 1, // 发送状态
+		IndustryId: null, // 行业类型
+		UserType: null, // 用户类型
+		OpenId: null, // 用户openid
+		SendStatus: null, // 发送状态
+		IsReceive: null, // 是否领取
+		IsReplace: null, // 是否补领
 	},
 	total: 0, // 总条数
 });
@@ -202,10 +209,12 @@ const handleQuery = () => {
 	queryList();
 };
 // 获取参数列表
+const requestParams = ref<EmptyObjectType>({});
 const queryList = () => {
 	state.loading = true;
 	gridOptions.loading = true;
-	getClueList(state.queryParams)
+	requestParams.value = Other.deepClone(state.queryParams);
+	getRedEnvelopeApprovalDetail(requestParams.value)
 		.then((res) => {
 			state.loading = false;
 			gridOptions.data = res.result.items ?? [];
@@ -227,31 +236,20 @@ const resetQuery = (formEl: FormInstance | undefined) => {
 	ruleFormRef.value?.resetFields();
 	queryList();
 };
-
-const checkTable = ref<EmptyArrayType>([]);
-const gridRef = ref<RefType>();
-const selectAllChangeEvent = ({ checked }) => {
-	if (gridRef.value) {
-		const records = gridRef.value.getCheckboxRecords();
-		checkTable.value = records;
-		console.log(checked ? '所有勾选事件' : '所有取消事件', records);
-	}
-};
-
-const selectChangeEvent = ({ checked }) => {
-	if (gridRef.value) {
-		const records = gridRef.value.getCheckboxRecords();
-		checkTable.value = records;
-		console.log(checked ? '勾选事件' : '取消事件', records);
+const industry = ref<EmptyArrayType>([]);
+const getBaseData = async () => {
+	try {
+		const { result } = await centerDataListBasicData();
+		industry.value = result.industry;
+	} catch (e) {
+		console.log(e);
 	}
 };
-const isChecked = computed(() => {
-	return !Boolean(checkTable.value.length);
-});
 // 页面加载时
 onMounted(() => {
 	queryList();
+	getBaseData();
 });
 </script>
 
-layout/routerView/parer
+layout/routerView/parer