Procházet zdrojové kódy

reactor:随手拍对接;

zhangchong před 4 měsíci
rodič
revize
ca1e2598de

+ 16 - 0
src/api/snapshot/handle.ts

@@ -0,0 +1,16 @@
+/*
+ * @Author: zc
+ * @description 随手拍-工单办理
+ */
+import request from '@/utils/request';
+/**
+ * @description 获取标注列表
+ * @param {object} params
+ */
+export const getOrderMarkList = (params?: object) =>{
+	return  request({
+		url: '/api/v1/SnapshotOrder/sign',
+		method: 'get',
+		params,
+	});
+}

+ 33 - 1
src/api/snapshot/reAudit.ts

@@ -58,7 +58,7 @@ export const getCitizenRedEnvelopeApprovalBaseInfo = (params?: object) => {
 	});
 };
 /**
- * @description 红包审批或者拒绝
+ * @description 市民红包审批或者拒绝
  * @param {object} data
  */
 export const citizenRedEnvelopeApproval = (data: object) => {
@@ -121,4 +121,36 @@ export const citizenRedEnvelopeApprovalAdditional = (data: object) => {
 		method: 'put',
 		data,
 	});
+}
+/**
+ * @description 获取网格员红包审批列表
+ * @param {object} params
+ */
+export const getGridRedEnvelopeApprovalList = (params?: object) => {
+	return request({
+		url: `/api/v1/RedPack/audit/guider`,
+		method: 'get',
+		params,
+	});
+}
+/**
+ * @description 获取网格员红包审批详情
+ * @param {object} id
+ */
+export const getGridRedEnvelopeApprovalDetail = (id?: string) => {
+	return request({
+		url: `/api/v1/RedPack/audit/guider/${id}`,
+		method: 'get',
+	});
+}
+/**
+ * @description 网格员红包审批或者拒绝
+ * @param {object} data
+ */
+export const gridRedEnvelopeApproval = (data: object) => {
+	return request({
+		url: `/api/v1/RedPack/audit/guider`,
+		method: 'put',
+		data,
+	});
 }

+ 4 - 2
src/components/OrderDetail/Map-view.vue

@@ -5,7 +5,7 @@
 </template>
 
 <script setup lang="tsx">
-import { onMounted, shallowRef } from 'vue';
+import { nextTick, onMounted, shallowRef } from 'vue';
 import AMapLoader from '@amap/amap-jsapi-loader';
 import { useThemeConfig } from '@/stores/themeConfig';
 import { storeToRefs } from 'pinia';
@@ -77,7 +77,9 @@ const addMarker = (data: any) => {
 	}
 };
 onMounted(() => {
-	initMap();
+	nextTick(()=>{
+		initMap();
+	})
 });
 defineExpose({
 	initMap,

+ 1 - 1
src/components/OrderDetail/index.vue

@@ -923,7 +923,7 @@ const openDialog = (val: any) => {
 				label: '副本工单',
 				value: '4',
 			},
-			/*{
+	/*		{
 				label: '地图信息',
 				value: '5',
 			},*/

+ 2 - 2
src/components/ProcessAudit/ZGProcess.vue

@@ -621,7 +621,7 @@ const openDialog = async (val: any) => {
 	selectNext.value = {};
 	currentParams.value = {};
 	state.ruleForm.nextHandlers = [];
-	state.ruleForm.nextHandler = {};
+	state.ruleForm.nextHandler = null;
 	isSmsSelectShow.value = false;
 	isNotShowNextHandlers.value = false;
 	state.ruleForm.isSms = false;
@@ -825,7 +825,7 @@ const isNotShowNextHandlers = ref(false);
 // 重置表单内容
 const restFormData = () => {
 	state.ruleForm.nextHandlers = [];
-	state.ruleForm.nextHandler = {};
+	state.ruleForm.nextHandler = null;
 	/*	state.ruleForm.isStepUrgent = null;
 	state.ruleForm.isEvasive = null;
 	state.ruleForm.isInactively = null;*/

+ 29 - 15
src/components/ProcessAudit/ZGSSPProcess.vue

@@ -21,10 +21,12 @@
 		<el-form :model="state.ruleForm" label-width="110px" ref="ruleFormRef" v-loading="state.loading">
 			<slot name="header"></slot>
 			<el-row :gutter="10">
-				<!--												<el-col>
+					<el-col>
 					<el-form-item label="当前选择的流程">
 						{{ seatTopaidan ? '话务部到派单组' : '' }}
 						{{ seatToOrgOne ? '话务部到一级部门' : '' }}
+						{{ seatToGrid ? '话务部到网格员' : '' }}
+						{{ seatToMark ? '话务部到工单标记' : '' }}
 						{{ paidanToOrgOne ? '派单组到一级部门' : '' }}
 						{{ paidanToEnd ? '派单组到归档' : '' }}
 						{{ orgOneToEnd ? '一级部门到归档' : '' }}
@@ -34,7 +36,7 @@
 						{{ orgSummaryToEnd ? '部门汇总到归档' : '' }}
 						{{ orgToOrgLeader ? '部门到部门领导' : '' }}
 					</el-form-item>
-				</el-col>-->
+				</el-col>
 				<!-- 退回流程  -->
 				<template v-if="returnArr.includes(state.processType)">
 					<el-col v-if="isShowReturnSms">
@@ -45,6 +47,14 @@
 				</template>
 				<!-- 办理流程 -->
 				<template v-else>
+					<!-- 随手拍电气焊申报工单 -->
+					<template v-if="state.orderDetail.industryName === '电气焊作业申报'">
+
+					</template>
+					<!-- 安全隐患工单 -->
+					<template v-if="state.orderDetail.industryName === '电气焊作业申报'">
+
+					</template>
 					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12">
 						<el-form-item label="下一环节" prop="nextStepCode" :rules="[{ required: true, message: '请选择下一环节', trigger: 'change' }]">
 							<el-select v-model="state.ruleForm.nextStepCode" placeholder="请选择下一环节" class="w100" @change="selectNextStep">
@@ -407,7 +417,7 @@
 						</el-form-item>
 					</el-col>
 					<!--  一级部门流转到归档 或者 部门流转至部门汇总  并且不能是会签-->
-					<template v-if="(orgOneToEnd || orgToOrgSummary) && !isCountersign && ['ZiGong'].includes(themeConfig.appScope)">
+					<template v-if="(orgOneToEnd || orgToOrgSummary) && !isCountersign">
 						<el-col :span="24">
 							<el-form-item prop="checkedCities" :rules="[{ required: true, message: '至少选择一项', trigger: 'change' }]">
 								<el-checkbox-group v-model="state.ruleForm.checkedCities" @change="changeCheckBox">
@@ -614,15 +624,13 @@ const showTempSave = computed(() => {
 	// 是否显示临时办理
 	return ['工单办理', '工单代办', '工单受理'].includes(state.processType);
 });
-const storesThemeConfig = useThemeConfig();
-const { themeConfig } = storeToRefs(storesThemeConfig);
 // 打开弹窗
 const openDialog = async (val: any) => {
 	console.log(val);
 	selectNext.value = {};
 	currentParams.value = {};
 	state.ruleForm.nextHandlers = [];
-	state.ruleForm.nextHandler = {};
+	state.ruleForm.nextHandler = null;
 	isSmsSelectShow.value = false;
 	isNotShowNextHandlers.value = false;
 	state.ruleForm.isSms = false;
@@ -671,7 +679,7 @@ const openDialog = async (val: any) => {
 						confirmButtonText: '确定',
 						draggable: true,
 						showClose: false,
-						type:'info'
+						type: 'info',
 					});
 				}
 			});
@@ -767,6 +775,14 @@ const seatTopaidan = computed(() => {
 const seatToOrgOne = computed(() => {
 	return currentParams.value.currentStepBusinessType === 0 && selectNext.value.businessType === 2 && selectNext.value.orgLevel === 1;
 });
+// 话务部到网格员
+const seatToGrid = computed(() => {
+	return currentParams.value.currentStepBusinessType === 0 && selectNext.value.tag === 'wanggeyuan';
+});
+// 话务部到工单标记
+const seatToMark = computed(() => {
+	return currentParams.value.currentStepBusinessType === 0 && selectNext.value.tag === 'ordermark';
+});
 // 派单组到一级部门
 const paidanToOrgOne = computed(() => {
 	return currentParams.value.currentStepBusinessType === 1 && selectNext.value.businessType === 2 && selectNext.value.orgLevel === 1;
@@ -838,7 +854,7 @@ const isNotShowNextHandlers = ref(false);
 // 重置表单内容
 const restFormData = () => {
 	state.ruleForm.nextHandlers = [];
-	state.ruleForm.nextHandler = {};
+	state.ruleForm.nextHandler = null;
 	/*	state.ruleForm.isStepUrgent = null;
 	state.ruleForm.isEvasive = null;
 	state.ruleForm.isInactively = null;*/
@@ -854,7 +870,7 @@ const restFormData = () => {
 	state.ruleForm.transpond = false;
 	state.ruleForm.transpondCityName = null;
 	state.ruleForm.transpondCityId = null;
-	state.ruleForm.orderAssignMode = 0;
+	state.ruleForm.orderAssignMode = 2;
 	state.ruleForm.copyToHandlers = [];
 	showOrgLevelTwo.value = false;
 	state.ruleForm.levelTwoStep = null;
@@ -868,7 +884,7 @@ const restFormData = () => {
 	levelThreeHandleOptions.value = [];
 };
 // 办理对象是否必填
-const nextHandlersRequired = ref<Boolean>(false);
+const nextHandlersRequired = ref<Boolean>(true);
 // 流程选择下一环节
 const selectNext = ref<EmptyObjectType>({}); // 选择的下一个节点
 const selectNextStep = (val: any) => {
@@ -897,8 +913,6 @@ const selectNextStep = (val: any) => {
 		// 如果办理对象只有一个默认选中
 		state.ruleForm.nextHandlers = [items[0]];
 	}
-	// 如果是泸州所有流转到派单组节点的都需要必填办理对象
-	nextHandlersRequired.value = ['LuZhou'].includes(themeConfig.value.appScope) && selectNext.value.businessType === 1;
 
 	// 以下是默认需要吧短信勾上的场景 话务到部门、派单到一级部门、部门到部门、部门到汇总、部门到部门领导  部门退回到部门
 	state.ruleForm.isSms =
@@ -1435,7 +1449,7 @@ const onSubmit = (formEl: FormInstance | undefined) => {
 			case '工单受理':
 				const request = {
 					data: { orderId: state.orderDetail.id, ...submitObj, crossSteps, secondaryOrgs: secondaryOrgs.value, copys: copys.value },
-					workflow: { ...submitObj, files: handleFiles.value,currentTag:currentParams.value.currentTag },
+					workflow: { ...submitObj, files: handleFiles.value, currentTag: currentParams.value.currentTag },
 				};
 				orderStartFlow(request)
 					.then(() => {
@@ -1449,7 +1463,7 @@ const onSubmit = (formEl: FormInstance | undefined) => {
 			case '工单代办': // 工单代办流程
 				const requestHandle = {
 					data: { orderId: state.orderDetail.id, ...submitObj, crossSteps, secondaryOrgs: secondaryOrgs.value, copys: copys.value },
-					workflow: { ...submitObj, files: handleFiles.value,currentTag:currentParams.value.currentTag },
+					workflow: { ...submitObj, files: handleFiles.value, currentTag: currentParams.value.currentTag },
 				};
 				orderHandle(requestHandle)
 					.then(() => {
@@ -1472,7 +1486,7 @@ const onSubmit = (formEl: FormInstance | undefined) => {
 			default: // 默认工单办理
 				const requestDefault = {
 					data: { orderId: state.orderDetail.id, ...submitObj, crossSteps, secondaryOrgs: secondaryOrgs.value, copys: copys.value },
-					workflow: { ...submitObj, files: handleFiles.value,currentTag:currentParams.value.currentTag },
+					workflow: { ...submitObj, files: handleFiles.value, currentTag: currentParams.value.currentTag },
 				};
 				orderHandle(requestDefault)
 					.then(() => {

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

@@ -72,7 +72,7 @@
 									</div>
 								</template>
 							</template>
-							<!--解释-->
+							<!--结束-->
 							<template v-if="row.traceStyle === 9">
 								<div class="mb10 formatted-text"><el-text tag="p" class="font-bold">办理意见:</el-text>{{ row.opinion }}</div>
 								<div class="mb10 formatted-text" v-if="row.remark"><el-text tag="p" class="font-bold">备注信息:</el-text>{{ row.remark }}</div>

+ 1 - 1
src/stores/themeConfig.ts

@@ -101,7 +101,7 @@ export const useThemeConfig = defineStore('themeConfig', {
 			// 定义的值与 `/src/layout/navBars/tagsView/tagsView.vue` 中的 class 同名
 			tagsStyle: 'tags-style-five',
 			// 主页面切换动画:可选值"<slide-right|slide-left|opacitys>",默认 slide-right
-			animation: 'slide-right',
+			animation: 'opacitys',
 			// 分栏高亮风格:可选值"<columns-round|columns-card>",默认 columns-round
 			columnsAsideStyle: 'columns-round',
 			// 分栏布局风格:可选值"<columns-horizontal|columns-vertical>",默认 columns-horizontal

+ 23 - 23
src/types/pinia.d.ts

@@ -11,7 +11,7 @@ declare interface UserInfosState {
 	phoneNo: string;
 	staffNo?: string;
 	defaultTelNo?: string;
-	defaultTelGroup:string;
+	defaultTelGroup: string;
 	deletionTime?: string;
 	isDeleted?: boolean;
 	showTelControl: boolean;
@@ -98,20 +98,20 @@ declare interface ThemeConfigState {
 	appScope: string;
 	callCenterType: string;
 	cityName: string;
-	cityCode:string;
-	cityAbbr:string;
-	locationCenter:number[];
-	operate:string;
-	techSupport: string, // 技术支撑 页脚
-	recordNumber: string, // 备案号
-	faviconImage: string, // favicon
-	menuLogoImage: string, // 菜单logo
-	menuLogoImageMini: string, // 菜单logo-mini
-	changPwdImage: string, //修改密码图片
-	callCenterSocketUrl: string, // 呼叫中心socket地址
-	recordPrefix: string, // 录音播放前缀
-	recordDownLoadPrefix: string, // 录音下载前缀
-	[x: string]: any
+	cityCode: string;
+	cityAbbr: string;
+	locationCenter: number[];
+	operate: string;
+	techSupport: string; // 技术支撑 页脚
+	recordNumber: string; // 备案号
+	faviconImage: string; // favicon
+	menuLogoImage: string; // 菜单logo
+	menuLogoImageMini: string; // 菜单logo-mini
+	changPwdImage: string; //修改密码图片
+	callCenterSocketUrl: string; // 呼叫中心socket地址
+	recordPrefix: string; // 录音播放前缀
+	recordDownLoadPrefix: string; // 录音下载前缀
+	[x: string]: any;
 }
 declare interface ThemeConfigStates {
 	themeConfig: ThemeConfigState;
@@ -125,15 +125,15 @@ declare interface AppConfigState {
 		isCustomEvent: boolean; // 是否开启自定义事件
 		isTranspondCity: boolean; // 是否开启市州互转
 		isAverageSendOrder: boolean; // 是否开启平均派单
-		noSignOrgCode:Array<string>; // 不需要会签的机构
+		noSignOrgCode: Array<string>; // 不需要会签的机构
 		isOpenRepeatedWorkOrders: boolean; // 是否开启重复工单
 		applyDelayTime: number | string; // 申请延期最大限制
 		oldHotlineUrl: string; // 老系统的跳转地址
-		nationalPlatformWordLimit:string|number; //  国家政务服务平台的发布整理字数限制
-		handleOpinionWordLimit:string|number; //  办理意见字数限制
-		callInOpenType: string|number; // 电话呼入弹单方式  1:接通弹屏  2:振铃弹屏
-		snapshot:boolean; // 随手拍开关
+		nationalPlatformWordLimit: string | number; //  国家政务服务平台的发布整理字数限制
+		handleOpinionWordLimit: string | number; //  办理意见字数限制
+		callInOpenType: string | number; // 电话呼入弹单方式  1:接通弹屏  2:振铃弹屏
+		snapshot: boolean; // 随手拍开关
 		fileExt: string;
-		[x: string]: any
-	}
-}
+		[x: string]: any;
+	};
+}

+ 28 - 88
src/views/snapshot/handle/orderMark.vue

@@ -6,9 +6,9 @@
 					<el-form :model="state.queryParams" ref="ruleFormRef" inline @submit.native.prevent :disabled="gridOptions.loading">
 						<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="3">全部</el-radio>
+								<el-radio :value="1">待标注</el-radio>
+								<el-radio :value="2">已标注</el-radio>
+								<el-radio :value="0">全部</el-radio>
 							</el-radio-group>
 						</el-form-item>
 						<el-form-item label="工单编码" prop="No">
@@ -19,7 +19,7 @@
 						</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="drawer = true" class="default-button"> <SvgIcon name="ele-Search" class="mr5" />更多查询</el-button>
+							<el-button @click="resetQuery(ruleFormRef)" class="default-button"> <SvgIcon name="ele-Refresh" class="mr5" />重置 </el-button>
 						</el-form-item>
 					</el-form>
 				</template>
@@ -42,53 +42,6 @@
 				</template>
 			</vxe-grid>
 		</div>
-		<!--	更多查询	-->
-		<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="IndustryName">
-					<el-input
-						v-model="state.queryParams.IndustryName"
-						placeholder="请填写联系电话"
-						clearable
-						@keyup.enter="handleQuery"
-						class="keyword-input"
-					/>
-				</el-form-item>
-				<el-form-item label="来电人" prop="IndustryName">
-					<el-input v-model="state.queryParams.IndustryName" placeholder="请填写来电人" clearable @keyup.enter="handleQuery" class="keyword-input" />
-				</el-form-item>
-				<el-form-item label="标注人" prop="IndustryName">
-					<el-input v-model="state.queryParams.IndustryName" placeholder="请填写标注人" clearable @keyup.enter="handleQuery" class="keyword-input" />
-				</el-form-item>
-				<el-form-item label="标注类型" prop="IndustryName">
-					<el-input
-						v-model="state.queryParams.IndustryName"
-						placeholder="请填写标注类型"
-						clearable
-						@keyup.enter="handleQuery"
-						class="keyword-input"
-					/>
-				</el-form-item>
-				<el-form-item label="标注时间>" prop="bzTime">
-					<el-date-picker
-						v-model="state.queryParams.bzTime"
-						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"
-					/>
-				</el-form-item>
-			</el-form>
-			<template #footer>
-				<el-button type="primary" @click="handleQuery" :loading="state.loading"> <SvgIcon name="ele-Search" class="mr5" />查询 </el-button>
-				<el-button @click="resetQuery(drawerRuleFormRef)" class="default-button"> <SvgIcon name="ele-Refresh" class="mr5" />重置 </el-button>
-			</template>
-		</el-drawer>
 		<!-- 添加标注 -->
 		<order-mark-add ref="orderMarkAddRef" @updateList="queryList" />
 	</div>
@@ -97,8 +50,8 @@
 <script lang="tsx" setup name="snapshotHandleOrderMark">
 import { computed, defineAsyncComponent, onMounted, reactive, ref } from 'vue';
 import { FormInstance } from 'element-plus';
-import { getClueList } from '@/api/snapshot/config';
-import { defaultTimeStartEnd, shortcuts } from '@/utils/constants';
+import { getOrderMarkList } from '@/api/snapshot/handle';
+import Other from '@/utils/other';
 
 // 引入组件
 const pagination = defineAsyncComponent(() => import('@/components/ProTable/components/Pagination.vue')); // 分页
@@ -112,9 +65,9 @@ const state = reactive<any>({
 		// 查询参数
 		PageIndex: 1,
 		PageSize: 20,
-		CaseName: null, // 线索名称
-		IndustryName: null, // 行业类型
-		bzTime: [], // 标注时间
+		Status: 1, // 默认待标注
+		No: null, // 工单编码
+		Title: null, // 工单标题
 	},
 	total: 0, // 总条数
 });
@@ -151,12 +104,12 @@ const gridOptions = reactive<any>({
 	columns: [
 		{ type: 'checkbox', width: 50, align: 'center' },
 		{
-			field: 'citizenReadPackAmountTxt',
+			field: 'no',
 			title: '工单编码',
 			width: 140,
 		},
 		{
-			field: 'citizenReadPackAmountTxt',
+			field: 'content',
 			title: '受理内容',
 			width: 300,
 		},
@@ -167,46 +120,33 @@ const gridOptions = reactive<any>({
 			minWidth: 300,
 		},
 		{
-			field: 'statusText',
-			title: '工单状态',
-			width: 110,
-			slots: {
-				default: 'statusText',
-			},
-		},
-		{
-			field: 'citizenReadPackAmountTxt',
-			title: '来源渠道',
-			width: 110,
-		},
-		{
-			field: 'no',
-			title: '工单编码',
-			width: 140,
-		},
-		{
-			field: 'citizenReadPackAmountTxt',
+			field: 'creationTime',
 			title: '受理时间',
 			formatter: 'formatDate',
 			width: 160,
 		},
 		{
-			field: 'displayOrder',
+			field: 'county',
 			title: '区域',
 			width: 150,
 		},
 		{
-			field: 'displayOrder',
+			field: 'isSafetyDepartment',
 			title: '标注状态',
 			width: 100,
+			slots: {
+				default: ({ row }) => {
+					return row.isSafetyDepartment === null ? '' : row.isSafetyDepartment ? '是' : '否';
+				},
+			},
 		},
 		{
-			field: 'no',
+			field: 'networkRemark',
 			title: '回复内容',
 			minWidth: 200,
 		},
 		{
-			field: 'citizenReadPackAmountTxt',
+			field: 'replyDate',
 			title: '回复时间',
 			formatter: 'formatDate',
 			width: 160,
@@ -214,15 +154,15 @@ const gridOptions = reactive<any>({
 		{
 			field: 'networkENumber',
 			title: '编号',
-			width: 200,
+			width: 180,
 		},
 		{
-			field: 'guiderReadPackAmountTxt',
+			field: 'signUserName',
 			title: '标注人员',
 			width: 120,
 		},
 		{
-			field: 'citizenReadPackAmountTxt',
+			field: 'signTime',
 			title: '标注时间',
 			formatter: 'formatDate',
 			width: 160,
@@ -235,11 +175,13 @@ const handleQuery = () => {
 	state.queryParams.PageIndex = 1;
 	queryList();
 };
-// 获取参数列表
+// 获取列表
+const requestParams = ref<EmptyObjectType>({});
 const queryList = () => {
 	state.loading = true;
 	gridOptions.loading = true;
-	getClueList(state.queryParams)
+	requestParams.value = Other.deepClone(state.queryParams);
+	getOrderMarkList(requestParams.value)
 		.then((res) => {
 			state.loading = false;
 			gridOptions.data = res.result.items ?? [];
@@ -256,9 +198,7 @@ const queryList = () => {
 		});
 };
 // 重置表单
-const drawerRuleFormRef = ref<RefType>();
 const ruleFormRef = ref<any>(null); // 表单ref
-const drawer = ref(false);
 const resetQuery = (formEl: FormInstance | undefined) => {
 	if (!formEl) return;
 	formEl.resetFields();

+ 9 - 9
src/views/snapshot/reAudit/citizenTen/index.vue → src/views/snapshot/reAudit/citizen/index.vue

@@ -1,5 +1,5 @@
 <template>
-	<div class="snapshot-re-audit-citizen-ten-container layout-padding">
+	<div class="snapshot-re-audit-citizen-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">
 				<template #form>
@@ -24,10 +24,10 @@
 				<template #toolbar_buttons>
 					<!--
 						v-if="state.queryParams.Status === 1"-->
-					<!--					<el-button type="primary" @click="onRemark" :disabled="isChecked" v-auth="'snapshot:reAudit:citizenTen:remark'">
+					<!--					<el-button type="primary" @click="onRemark" :disabled="isChecked" v-auth="'snapshot:reAudit:citizen:remark'">
 						<SvgIcon name="ele-Plus" class="mr5" />添加备注
 					</el-button>
-					<el-button type="primary" @click="onSupply" v-auth="'snapshot:reAudit:citizenTen:supply'" :disabled="isChecked" :loading="state.loading"
+					<el-button type="primary" @click="onSupply" v-auth="'snapshot:reAudit:citizen:supply'" :disabled="isChecked" :loading="state.loading"
 						><SvgIcon name="ele-Plus" class="mr5" />补充发放
 					</el-button>-->
 				</template>
@@ -40,12 +40,12 @@
 				</template>
 				<template #action="{ row }">
 					<template v-if="state.queryParams.Status === 0">
-						<el-button link type="primary" @click="onAudit(row)" v-auth="'snapshot:reAudit:citizenTen:audit'"> 审批 </el-button>
-						<el-button link type="danger" @click="onReturn(row)" v-auth="'snapshot:reAudit:citizenTen:return'"> 退回 </el-button>
+						<el-button link type="primary" @click="onAudit(row)" v-auth="'snapshot:reAudit:citizen:audit'"> 审批 </el-button>
+						<el-button link type="danger" @click="onReturn(row)" v-auth="'snapshot:reAudit:citizen:return'"> 退回 </el-button>
 					</template>
 					<template v-if="state.queryParams.Status === 1">
-						<el-button link type="primary" @click="onRemark(row)" v-auth="'snapshot:reAudit:citizenTen:remark'"> 添加备注 </el-button>
-						<el-button link type="primary" @click="onSupply(row)" v-auth="'snapshot:reAudit:citizenTen:supply'"> 补充发放 </el-button>
+						<el-button link type="primary" @click="onRemark(row)" v-auth="'snapshot:reAudit:citizen:remark'"> 添加备注 </el-button>
+						<el-button link type="primary" @click="onSupply(row)" v-auth="'snapshot:reAudit:citizen:supply'"> 补充发放 </el-button>
 					</template>
 				</template>
 				<template #pager>
@@ -170,7 +170,7 @@
 	</div>
 </template>
 
-<script lang="tsx" setup name="snapshotReAuditCitizenTen">
+<script lang="tsx" setup name="snapshotReAuditCitizen">
 import { computed, defineAsyncComponent, onMounted, reactive, ref } from 'vue';
 import { ElMessage, FormInstance } from 'element-plus';
 import { defaultTimeStartEnd, shortcuts } from '@/utils/constants';
@@ -215,7 +215,7 @@ const state = reactive<any>({
 		AcutalAmount: null, // 实发金额
 		ApprovedAmount: null, // 审批金额
 		IsDanger: null, // 是否安全生成
-		ConfigAmount: 10, // 配置金额 默认写死
+		ConfigAmount: null, // 配置金额
 	},
 	total: 0, // 总条数
 });

+ 0 - 566
src/views/snapshot/reAudit/citizenTwenty/index.vue

@@ -1,566 +0,0 @@
-<template>
-	<div class="snapshot-re-audit-citizen-Twenty-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">
-				<template #form>
-					<el-form :model="state.queryParams" ref="ruleFormRef" inline @submit.native.prevent :disabled="gridOptions.loading">
-						<el-form-item label="审批状态" prop="Status">
-							<el-select v-model="state.queryParams.Status" class="w100" placeholder="请选择审批状态" @change="handleQuery">
-								<el-option v-for="item in statusOptions" :key="item.key" :label="item.value" :value="item.key" />
-							</el-select>
-						</el-form-item>
-						<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="工单标题" prop="Title">
-							<el-input v-model="state.queryParams.Title" 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="drawer = true" class="default-button"> <SvgIcon name="ele-Search" class="mr5" />更多查询</el-button>
-						</el-form-item>
-					</el-form>
-				</template>
-				<template #toolbar_buttons>
-					<!--
-						v-if="state.queryParams.Status === 1"-->
-					<!--					<el-button type="primary" @click="onRemark" :disabled="isChecked" v-auth="'snapshot:reAudit:citizenTwenty:remark'">
-						<SvgIcon name="ele-Plus" class="mr5" />添加备注
-					</el-button>
-					<el-button type="primary" @click="onSupply" v-auth="'snapshot:reAudit:citizenTwenty:supply'" :disabled="isChecked" :loading="state.loading"
-						><SvgIcon name="ele-Plus" class="mr5" />补充发放
-					</el-button>-->
-				</template>
-				<template #statusTxt="{ row }">
-					<el-text type="danger" tag="b" v-if="[1, 2, 3, 9, 101, 102, 103, 104, 105, 200].includes(row.status)">{{ row.statusTxt }}</el-text>
-					<span v-else>{{ row.statusTxt }}</span>
-				</template>
-				<template #order_detail="{ row }">
-					<order-detail :order="{ id: row.orderId }" @updateList="queryList">{{ row.title }}</order-detail>
-				</template>
-				<template #action="{ row }">
-					<template v-if="state.queryParams.Status === 0">
-						<el-button link type="primary" @click="onAudit(row)" v-auth="'snapshot:reAudit:citizenTwenty:audit'"> 审批 </el-button>
-						<el-button link type="danger" @click="onReturn(row)" v-auth="'snapshot:reAudit:citizenTwenty:return'"> 退回 </el-button>
-					</template>
-					<template v-if="state.queryParams.Status === 1">
-						<el-button link type="primary" @click="onRemark(row)" v-auth="'snapshot:reAudit:citizenTwenty:remark'"> 添加备注 </el-button>
-						<el-button link type="primary" @click="onSupply(row)" v-auth="'snapshot:reAudit:citizenTwenty:supply'"> 补充发放 </el-button>
-					</template>
-				</template>
-				<template #pager>
-					<pagination
-						@pagination="queryList"
-						:total="state.total"
-						v-model:current-page="state.queryParams.PageIndex"
-						v-model:page-size="state.queryParams.PageSize"
-						:disabled="state.loading"
-					/>
-				</template>
-			</vxe-grid>
-		</div>
-		<!--	更多查询	-->
-		<el-drawer v-model="drawer" title="更多查询" size="500px">
-			<el-form :model="state.queryParams" ref="drawerRuleFormRef" @submit.native.prevent label-width="110px">
-				<el-form-item label="受理时间" prop="slTime">
-					<el-date-picker
-						v-model="state.queryParams.slTime"
-						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"
-					/>
-				</el-form-item>
-				<el-form-item label="审批时间" prop="spTime">
-					<el-date-picker
-						v-model="state.queryParams.spTime"
-						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"
-					/>
-				</el-form-item>
-				<el-form-item label="办结时间" prop="bjTime">
-					<el-date-picker
-						v-model="state.queryParams.bjTime"
-						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"
-					/>
-				</el-form-item>
-				<el-form-item label="来电人电话" prop="FromPhone">
-					<el-input v-model="state.queryParams.FromPhone" placeholder="请填写来电人电话" clearable @keyup.enter="handleQuery" />
-				</el-form-item>
-				<el-form-item label="网格员是否办理" prop="IsDeal">
-					<el-select v-model="state.queryParams.IsDeal" class="w100" placeholder="请选择网格员是否办理" @change="handleQuery" clearable>
-						<el-option label="是" :value="true" />
-						<el-option label="否" :value="false" />
-					</el-select>
-				</el-form-item>
-				<el-form-item label="部门是否属实" prop="IsTruthDepartment">
-					<el-select v-model="state.queryParams.IsTruthDepartment" class="w100" placeholder="请选择部门是否属实" @change="handleQuery" clearable>
-						<el-option label="是" :value="true" />
-						<el-option label="否" :value="false" />
-					</el-select>
-				</el-form-item>
-				<el-form-item label="网格员是否属实" prop="IsTruth">
-					<el-select v-model="state.queryParams.IsTruth" class="w100" placeholder="请选择网格员是否属实" @change="handleQuery" clearable>
-						<el-option label="是" :value="true" />
-						<el-option label="否" :value="false" />
-					</el-select>
-				</el-form-item>
-				<el-form-item label="是否发放红包" prop="IsIssued">
-					<el-select v-model="state.queryParams.IsIssued" class="w100" placeholder="请选择是否发放红包" @change="handleQuery" clearable>
-						<el-option label="是" :value="true" />
-						<el-option label="否" :value="false" />
-					</el-select>
-				</el-form-item>
-				<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 industryOptions" :key="item.id" :label="item.name" :value="item.id" />
-					</el-select>
-				</el-form-item>
-				<el-form-item label="配置金额" prop="ConfigAmount">
-					<el-select v-model="state.queryParams.ConfigAmount" class="w100" placeholder="请选择配置金额" @change="handleQuery">
-						<el-option v-for="item in configAmountOptions" :key="item" :label="item" :value="item" />
-					</el-select>
-				</el-form-item>
-				<el-form-item label="实发金额" prop="AcutalAmount">
-					<el-input v-model="state.queryParams.AcutalAmount" placeholder="请填写实发金额" clearable @keyup.enter="handleQuery" />
-				</el-form-item>
-				<el-form-item label="审批(应发)金额" prop="ApprovedAmount" label-width="130px">
-					<el-input v-model="state.queryParams.ApprovedAmount" placeholder="请填写审批(应发)金额" clearable @keyup.enter="handleQuery" />
-				</el-form-item>
-				<el-form-item label="是否安全生产" prop="IsIssued">
-					<el-select v-model="state.queryParams.IsDanger" class="w100" placeholder="请选择是否安全生产" @change="handleQuery" clearable>
-						<el-option label="是" :value="true" />
-						<el-option label="否" :value="false" />
-					</el-select>
-				</el-form-item>
-			</el-form>
-			<template #footer>
-				<el-button type="primary" @click="handleQuery" :loading="state.loading"> <SvgIcon name="ele-Search" class="mr5" />查询 </el-button>
-				<el-button @click="resetQuery(drawerRuleFormRef)" class="default-button"> <SvgIcon name="ele-Refresh" class="mr5" />重置 </el-button>
-			</template>
-		</el-drawer>
-		<!--	红包审批	-->
-		<re-audit ref="reAuditRef" @updateList="queryList" />
-		<!--	红包退回	-->
-		<re-return ref="reReturnRef" @updateList="queryList" />
-		<!--	红包补充	-->
-		<re-supply ref="reSupplyRef" @updateList="queryList" />
-		<!--	红包备注	-->
-		<re-remark ref="reRemarkRef" @updateList="queryList" />
-	</div>
-</template>
-
-<script lang="tsx" setup name="snapshotReAuditCitizenTwenty">
-import { computed, defineAsyncComponent, onMounted, reactive, ref } from 'vue';
-import { ElMessage, FormInstance } from 'element-plus';
-import { defaultTimeStartEnd, shortcuts } from '@/utils/constants';
-import { getCitizenRedEnvelopeApprovalBaseData, getCitizenRedEnvelopeApprovalList } from '@/api/snapshot/reAudit';
-import Other from '@/utils/other';
-
-// 引入组件
-const pagination = defineAsyncComponent(() => import('@/components/ProTable/components/Pagination.vue')); // 分页
-const OrderDetail = defineAsyncComponent(() => import('@/components/OrderDetail/index.vue')); // 工单详情
-const ReAudit = defineAsyncComponent(() => import('@/views/snapshot/reAudit/components/Re-audit.vue')); // 红包审批
-const ReReturn = defineAsyncComponent(() => import('@/views/snapshot/reAudit/components/Re-return.vue')); // 红包退回
-const ReRemark = defineAsyncComponent(() => import('@/views/snapshot/reAudit/components/Re-remark.vue')); // 红包备注
-const ReSupply = defineAsyncComponent(() => import('@/views/snapshot/reAudit/components/Re-supply.vue')); // 红包补充
-
-// 定义变量内容
-const state = reactive<any>({
-	loading: false,
-	queryParams: {
-		// 查询参数
-		PageIndex: 1,
-		PageSize: 20,
-		Status: 0, // 审批状态 默认审批
-		No: null, // 工单编码
-		Title: null, // 工单标题
-		slTime: [], // 受理时间
-		BeginCreationTime: null,
-		EndCreationTime: null,
-		spTime: [], // 审批时间
-		BeginAuditTime: null,
-		EndAuditTime: null,
-		bjTime: [], // 办结时间
-		BeginFiledTime: null,
-		EndFiledTime: null,
-		FromPhone: null, // 来电人电话
-		IsDeal: null, // 网格员是否办理
-		IsTruth: null, // 网格员是否属实
-		IsTruthDepartment: null, // 部门是否属实
-		IsIssued: null, // 是否发放红包
-		IndustryId: null, // 行业
-		CaseName: null, // 线索名称
-		IndustryName: null, // 行业类型
-		AcutalAmount: null, // 实发金额
-		ApprovedAmount: null, // 审批金额
-		IsDanger: null, // 是否安全生成
-		ConfigAmount: 20, // 配置金额 默认写死
-	},
-	total: 0, // 总条数
-});
-
-const gridOptions = reactive<any>({
-	loading: false,
-	border: true,
-	showOverflow: true,
-	columnConfig: {
-		resizable: true,
-	},
-	scrollY: {
-		enabled: true,
-		gt: 100,
-	},
-	toolbarConfig: {
-		zoom: true,
-		custom: true,
-		refresh: {
-			queryMethod: () => {
-				handleQuery();
-			},
-		},
-		slots: {
-			buttons: 'toolbar_buttons',
-		},
-	},
-	customConfig: {
-		storage: true,
-	},
-	id: 'snapshotReSendCitizen',
-	rowConfig: { isHover: true, height: 30, isCurrent: true, useKey: true },
-	height: 'auto',
-	columns: [
-		{ type: 'checkbox', width: 50, align: 'center' },
-		{
-			field: 'statusTxt',
-			title: '工单状态',
-			width: 110,
-			slots: {
-				default: 'statusTxt',
-			},
-		},
-		{
-			field: 'sourceChannel',
-			title: '来源渠道',
-			width: 110,
-		},
-		{
-			field: 'no',
-			title: '工单编码',
-			width: 140,
-		},
-		{
-			field: 'title',
-			title: '工单标题',
-			slots: { default: 'order_detail' },
-			minWidth: 200,
-		},
-		{
-			field: 'industryName',
-			title: '行业',
-			width: 120,
-		},
-		{
-			field: 'industryCase',
-			title: '线索分类',
-			width: 120,
-		},
-		{
-			field: 'isDanger',
-			title: '标记为安全生产',
-			width: 120,
-			slots: {
-				default: ({ row }) => {
-					return row.isDanger === null ? '' : row.isDanger ? '是' : '否';
-				},
-			},
-		},
-		{
-			field: 'fromName',
-			title: '来电人姓名',
-			width: 120,
-		},
-		{
-			field: 'fromPhone',
-			title: '来电人电话',
-			width: 140,
-		},
-		{
-			field: 'auditTime',
-			title: '审批时间',
-			formatter: 'formatDate',
-			width: 160,
-		},
-		{
-			field: 'approvedAmount',
-			title: '审批金额',
-			width: 100,
-		},
-		{
-			field: 'acutalAmount',
-			title: '实发金额',
-			width: 100,
-		},
-		{
-			field: 'replenishAmount',
-			title: '补充发放金额',
-			width: 120,
-		},
-		{
-			field: 'isIssued',
-			title: '市民奖励发放结果',
-			width: 140,
-			slots: {
-				default: ({ row }) => {
-					return row.isIssued === null ? '' : row.isIssued ? '已发放' : '未发放';
-				},
-			},
-		},
-		{
-			field: 'citizenAward',
-			title: '市民奖励',
-			width: 100,
-		},
-		{
-			field: 'recordRemark',
-			title: '市民奖励发放备注',
-			width: 140,
-		},
-		{
-			field: 'county',
-			title: '区域',
-			width: 120,
-		},
-		{
-			field: 'isRectify',
-			title: '部门是否整改完成',
-			width: 140,
-			slots: {
-				default: ({ row }) => {
-					return row.isRectify === null ? '' : row.isRectify ? '是' : '否';
-				},
-			},
-		},
-		{
-			field: 'isTruthDepartment',
-			title: '部门是否属实',
-			width: 120,
-			slots: {
-				default: ({ row }) => {
-					return row.isTruthDepartment === null ? '' : row.isRepetition ? '是' : '否';
-				},
-			},
-		},
-		{
-			field: 'isRepetition',
-			title: '是否重复',
-			width: 100,
-			slots: {
-				default: ({ row }) => {
-					return row.isRepetition === null ? '' : row.isRepetition ? '是' : '否';
-				},
-			},
-		},
-		{
-			field: 'isDeal',
-			title: '网格员是否办理',
-			width: 120,
-			slots: {
-				default: ({ row }) => {
-					return row.isDeal === null ? '' : row.isDeal ? '是' : '否';
-				},
-			},
-		},
-		{
-			field: 'networkENumber',
-			title: '网格E通编号',
-			width: 120,
-		},
-		{
-			field: 'creationTime',
-			title: '受理时间',
-			formatter: 'formatDate',
-			width: 160,
-		},
-		{
-			field: 'orgLevelOneName',
-			title: '一级部门',
-			width: 140,
-		},
-		{
-			field: 'auditStatusTxt',
-			title: '审批状态',
-			width: 100,
-		},
-		{
-			field: 'auditName',
-			title: '审批人',
-			width: 120,
-		},
-		{
-			field: 'auditOrgName',
-			title: '审批部门',
-			width: 140,
-		},
-		{
-			field: 'auditRemark',
-			title: '审批意见',
-			width: 150,
-		},
-		{
-			field: 'bankCardNo',
-			title: '卡号',
-			width: 150,
-		},
-		{
-			field: 'openBank',
-			title: '开户行',
-			width: 150,
-		},
-		{
-			title: '操作',
-			width: 160,
-			fixed: 'right',
-			showOverflow: false,
-			align: 'center',
-			slots: { default: 'action' },
-		},
-	],
-	data: [],
-});
-/** 搜索按钮操作 节流操作 */
-const handleQuery = () => {
-	state.queryParams.PageIndex = 1;
-	queryList();
-};
-// 获取参数列表
-const requestParams = ref<EmptyObjectType>({});
-const queryList = () => {
-	state.loading = true;
-	gridOptions.loading = true;
-	requestParams.value = Other.deepClone(state.queryParams);
-	requestParams.value.BeginCreationTime = state.queryParams.slTime === null ? null : state.queryParams.slTime[0]; // 受理时间
-	requestParams.value.EndCreationTime = state.queryParams.slTime === null ? null : state.queryParams.slTime[1];
-	Reflect.deleteProperty(requestParams.value, 'slTime'); // 删除无用的参数
-	requestParams.value.BeginAuditTime = state.queryParams.spTime === null ? null : state.queryParams.spTime[0]; // 审批时间
-	requestParams.value.EndAuditTime = state.queryParams.spTime === null ? null : state.queryParams.spTime[1];
-	Reflect.deleteProperty(requestParams.value, 'spTime'); // 删除无用的参数
-	requestParams.value.BeginFiledTime = state.queryParams.bjTime === null ? null : state.queryParams.bjTime[0]; // 办结时间
-	requestParams.value.EndFiledTime = state.queryParams.bjTime === null ? null : state.queryParams.bjTime[1];
-	Reflect.deleteProperty(requestParams.value, 'bjTime'); // 删除无用的参数
-	getCitizenRedEnvelopeApprovalList(requestParams.value)
-		.then((res) => {
-			state.loading = false;
-			gridOptions.data = res.result.items ?? [];
-			state.total = res.result.total ?? 0;
-			gridOptions.loading = false;
-		})
-		.finally(() => {
-			state.loading = false;
-			gridOptions.loading = false;
-		});
-};
-// 重置表单
-const drawerRuleFormRef = ref<RefType>();
-const ruleFormRef = ref<any>(null); // 表单ref
-const drawer = ref(false);
-const resetQuery = (formEl: FormInstance | undefined) => {
-	if (!formEl) return;
-	formEl.resetFields();
-	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 isChecked = computed(() => {
-	return !Boolean(checkTable.value.length);
-});
-
-// 审批
-const reAuditRef = ref<RefType>();
-const onAudit = (row: any) => {
-	reAuditRef.value.openDialog(row);
-};
-// 退回
-const reReturnRef = ref<RefType>();
-const onReturn = (row: any) => {
-	reReturnRef.value.openDialog(row);
-};
-// 添加备注
-const reRemarkRef = ref<RefType>();
-const onRemark = (row: any) => {
-	if (checkTable.value.length > 1) {
-		ElMessage.warning('只能选择1个添加备注。');
-		return;
-	}
-	reRemarkRef.value.openDialog(row);
-};
-// 补充
-const reSupplyRef = ref<RefType>();
-const onSupply = (row: any) => {
-	if (checkTable.value.length > 1) {
-		ElMessage.warning('只能添加1个补充发放。');
-		return;
-	}
-	reSupplyRef.value.openDialog(row);
-};
-// 获取基础信息
-const statusOptions = ref<EmptyArrayType>([]); // 状态
-const industryOptions = ref<EmptyArrayType>([]); // 行业
-const configAmountOptions = ref<EmptyArrayType>([]);
-const getBaseData = async () => {
-	try {
-		const { result } = await getCitizenRedEnvelopeApprovalBaseData();
-		statusOptions.value = result.status ?? [];
-		statusOptions.value.push({
-			key: -1,
-			value: '全部',
-		});
-		industryOptions.value = result.industry ?? [];
-		configAmountOptions.value = result.configAmount ?? [];
-	} catch (e) {
-		console.log(e);
-	}
-};
-// 页面加载时
-onMounted(() => {
-	queryList();
-	getBaseData();
-});
-</script>

+ 56 - 22
src/views/snapshot/reAudit/components/Re-audit.vue

@@ -1,5 +1,5 @@
 <template>
-	<el-dialog v-model="state.dialogVisible" draggable title="红包审批" @close="close"  destroy-on-close append-to-body>
+	<el-dialog v-model="state.dialogVisible" draggable title="红包审批" @close="close" destroy-on-close append-to-body>
 		<el-form :model="state.infoForm" label-width="110px" :disabled="loading" class="show-info-form">
 			<el-row :gutter="10">
 				<el-col>
@@ -51,7 +51,9 @@
 				</el-col>
 			</el-row>
 		</el-form>
-		<p class="border-title mt10 mb10">审批信息</p>
+		<p class="border-title mt10 mb10">
+			审批信息<el-text tag="b" type="danger" class="ml5">{{ auditType }}</el-text>
+		</p>
 		<el-form :model="state.ruleForm" label-width="110px" ref="ruleFormRef" :disabled="loading">
 			<el-form-item label="审批状态" prop="status" :rules="[{ required: true, message: '请选择审批状态', trigger: 'change' }]">
 				<el-select v-model="state.ruleForm.status" clearable style="max-width: 240px" placeholder="请选择审批状态" @change="selectStatus">
@@ -74,10 +76,10 @@
 				></el-input>
 			</el-form-item>
 			<el-form-item label="红包发放"
-				>1.市民红包金额:<el-text tag="b" type="danger">{{ state.infoForm.redPackTxt }}</el-text></el-form-item
+				>1.{{ auditType }}红包金额:<el-text tag="b" type="danger">{{ state.infoForm.redPackTxt }}</el-text></el-form-item
 			>
 			<el-form-item label="红包说明"
-				>1.市民红包金额:<el-text tag="b" type="danger">{{ state.infoForm.amount }}</el-text
+				>1.{{ auditType }}红包金额:<el-text tag="b" type="danger">{{ state.infoForm.amount }}</el-text
 				>元;</el-form-item
 			>
 		</el-form>
@@ -95,7 +97,13 @@ import { reactive, ref } from 'vue';
 import { throttle } from '@/utils/tools';
 import { ElMessage, FormInstance } from 'element-plus';
 import { ElCheckbox } from 'element-plus';
-import { citizenRedEnvelopeApproval, getCitizenRedEnvelopeApprovalDetail, getCitizenRedEnvelopeApprovalSmsTemplate } from '@/api/snapshot/reAudit';
+import {
+	citizenRedEnvelopeApproval,
+	getCitizenRedEnvelopeApprovalDetail,
+	getCitizenRedEnvelopeApprovalSmsTemplate,
+	getGridRedEnvelopeApprovalDetail,
+	gridRedEnvelopeApproval,
+} from '@/api/snapshot/reAudit';
 import { formatDate } from '@/utils/formatTime';
 
 // 定义子组件向父组件传值/事件
@@ -116,16 +124,28 @@ const state = reactive<any>({
 let loading = ref<boolean>(false); // 加载状态
 // 打开弹窗
 const auditComBox = ref<EmptyArrayType>([]); // 审批状态
-const openDialog = async (row: any) => {
+const auditType = ref<string>('市民');
+const openDialog = async (row: any, type?: string) => {
 	loading.value = true;
+	if (type) auditType.value = type;
 	state.dialogVisible = true;
 	state.orderId = row.orderId;
 	try {
-		const { result } = await getCitizenRedEnvelopeApprovalDetail(row.orderId);
-		auditComBox.value = result.auditComBox ?? [];
-		state.infoForm = result;
-		state.ruleForm.redPackAuditId = row.id;
-		loading.value = false;
+		if (type) {
+			// 市民红包审核
+			const { result } = await getCitizenRedEnvelopeApprovalDetail(row.orderId);
+			auditComBox.value = result.auditComBox ?? [];
+			state.infoForm = result;
+			state.ruleForm.redPackAuditId = row.id;
+			loading.value = false;
+		} else {
+			// 网格员
+			const { result } = await getGridRedEnvelopeApprovalDetail(row.orderId);
+			auditComBox.value = result.auditComBox ?? [];
+			state.infoForm = result;
+			state.ruleForm.redPackAuditId = row.id;
+			loading.value = false;
+		}
 	} catch (error) {
 		console.log(error);
 		loading.value = false;
@@ -141,7 +161,8 @@ const selectStatus = (val: any) => {
 		getCitizenRedEnvelopeApprovalSmsTemplate({ OrderId: state.orderId, Status: val })
 			.then((res) => {
 				smsTemplateList.value = res.result ?? [];
-				if (smsTemplateList.value.length) {// 默认选中第一条
+				if (smsTemplateList.value.length) {
+					// 默认选中第一条
 					state.ruleForm.smsTemplateId = smsTemplateList.value[0].id;
 				}
 				loading.value = false;
@@ -164,16 +185,29 @@ const onSubmit = throttle(async (formEl: FormInstance | undefined) => {
 		const request = {
 			...state.ruleForm,
 		};
-		citizenRedEnvelopeApproval(request)
-			.then(() => {
-				loading.value = false;
-				closeDialog();
-				emit('updateList');
-				ElMessage.success('操作成功');
-			})
-			.catch(() => {
-				loading.value = false;
-			});
+		if (auditType.value === '市民') {
+			citizenRedEnvelopeApproval(request)
+				.then(() => {
+					loading.value = false;
+					closeDialog();
+					emit('updateList');
+					ElMessage.success('红包审批成功');
+				})
+				.catch(() => {
+					loading.value = false;
+				});
+		} else {
+			gridRedEnvelopeApproval(request)
+				.then(() => {
+					loading.value = false;
+					closeDialog();
+					emit('updateList');
+					ElMessage.success('红包审批成功');
+				})
+				.catch(() => {
+					loading.value = false;
+				});
+		}
 	});
 }, 300);
 // 关闭弹窗

+ 315 - 0
src/views/snapshot/reAudit/grid/index.vue

@@ -0,0 +1,315 @@
+<template>
+	<div class="snapshot-re-audit-grid-container layout-padding">
+		<div class="layout-padding-auto layout-padding-view pd20">
+			<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="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="-1">全部</el-radio>
+							</el-radio-group>
+						</el-form-item>
+						<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="工单标题" prop="Title">
+							<el-input v-model="state.queryParams.Title" 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"> <SvgIcon name="ele-Refresh" class="mr5" />重置 </el-button>
+						</el-form-item>
+					</el-form>
+				</template>
+				<template #statusTxt="{ row }">
+					<el-text type="danger" tag="b" v-if="[1, 2, 3, 9, 101, 102, 103, 104, 105, 200].includes(row.status)">{{ row.statusTxt }}</el-text>
+					<span v-else>{{ row.statusTxt }}</span>
+				</template>
+				<template #order_detail="{ row }">
+					<order-detail :order="row" @updateList="queryList">{{ row.title }}</order-detail>
+				</template>
+				<template #action="{ row }">
+					<el-button link type="primary" @click="onAudit(row)" v-if="state.queryParams.Status === 0"> 审批 </el-button>
+				</template>
+				<template #pager>
+					<pagination
+						@pagination="queryList"
+						:total="state.total"
+						v-model:current-page="state.queryParams.PageIndex"
+						v-model:page-size="state.queryParams.PageSize"
+						:disabled="state.loading"
+					/>
+				</template>
+			</vxe-grid>
+		</div>
+		<!--	红包审批	-->
+		<re-audit ref="reAuditRef" @updateList="queryList" />
+	</div>
+</template>
+
+<script lang="tsx" setup name="snapshotReAuditGrid">
+import { defineAsyncComponent, onMounted, reactive, ref } from 'vue';
+import { FormInstance } from 'element-plus';
+import { getGridRedEnvelopeApprovalList } from '@/api/snapshot/reAudit';
+
+// 引入组件
+const pagination = defineAsyncComponent(() => import('@/components/ProTable/components/Pagination.vue')); // 分页
+const OrderDetail = defineAsyncComponent(() => import('@/components/OrderDetail/index.vue')); // 工单详情
+const ReAudit = defineAsyncComponent(() => import('@/views/snapshot/reAudit/components/Re-audit.vue')); // 红包审批
+
+// 定义变量内容
+const state = reactive<any>({
+	loading: false,
+	queryParams: {
+		// 查询参数
+		PageIndex: 1,
+		PageSize: 20,
+		No: null, // 工单编码
+		Title: null, // 工单标题
+		Status: 0, // 审批状态 默认审批中
+	},
+	total: 0, // 总条数
+});
+
+const gridOptions = reactive<any>({
+	loading: false,
+	border: true,
+	showOverflow: true,
+	columnConfig: {
+		resizable: true,
+	},
+	scrollY: {
+		enabled: true,
+		gt: 100,
+	},
+	toolbarConfig: {
+		zoom: true,
+		custom: true,
+		refresh: {
+			queryMethod: () => {
+				handleQuery();
+			},
+		},
+	},
+	customConfig: {
+		storage: true,
+	},
+	id: 'snapshotReSendCitizen',
+	rowConfig: { isHover: true, height: 30, isCurrent: true, useKey: true },
+	height: 'auto',
+	columns: [
+		{ type: 'checkbox', width: 50, align: 'center' },
+		{
+			field: 'statusTxt',
+			title: '工单状态',
+			slots: {
+				default: 'statusTxt',
+			},
+			width: 100,
+		},
+		{
+			field: 'sourceChannel',
+			title: '来源渠道',
+			width: 110,
+		},
+		{
+			field: 'no',
+			title: '工单编码',
+			width: 140,
+		},
+		{
+			field: 'title',
+			title: '工单标题',
+			slots: { default: 'order_detail' },
+			minWidth: 200,
+		},
+		{
+			field: 'fromName',
+			title: '来电人姓名',
+			width: 120,
+		},
+		{
+			field: 'fromPhone',
+			title: '来电人号码',
+			width: 140,
+		},
+		{
+			field: 'approvedAmount',
+			title: '网格员奖励金额',
+			width: 120,
+		},
+		{
+			field: 'isIssued',
+			title: '网格员奖励发放结果',
+			width: 150,
+			slots: {
+				default: ({ row }) => {
+					return row.isIssued === null ? '' : row.isIssued ? '已发放' : '未发放';
+				},
+			},
+		},
+		{
+			field: 'county',
+			title: '区域',
+			width: 140,
+		},
+		{
+			field: 'isRectify',
+			title: '部门是否整改完成',
+			width: 150,
+			slots: {
+				default: ({ row }) => {
+					return row.isRectify === null ? '' : row.isRectify ? '是' : '否';
+				},
+			},
+		},
+		{
+			field: 'isTruthDepartment',
+			title: '部门是否属实',
+			width: 140,
+			slots: {
+				default: ({ row }) => {
+					return row.isTruthDepartment === null ? '' : row.isRepetition ? '是' : '否';
+				},
+			},
+		},
+		{
+			field: 'isTruth',
+			title: '网格员是否属实',
+			width: 140,
+			slots: {
+				default: ({ row }) => {
+					return row.isTruthDepartment === null ? '' : row.isRepetition ? '是' : '否';
+				},
+			},
+		},
+		{
+			field: 'isRepetition',
+			title: '是否重复',
+			width: 100,
+			slots: {
+				default: ({ row }) => {
+					return row.isTruthDepartment === null ? '' : row.isRepetition ? '是' : '否';
+				},
+			},
+		},
+		{
+			field: 'isDeal',
+			title: '网格员是否办理',
+			width: 140,
+			slots: {
+				default: ({ row }) => {
+					return row.isDeal === null ? '' : row.isDeal ? '是' : '否';
+				},
+			},
+		},
+		{
+			field: 'networkENumber',
+			title: '网格E通编号',
+			width: 140,
+		},
+		{
+			field: 'creationTime',
+			title: '受理时间',
+			formatter: 'formatDate',
+			width: 160,
+		},
+		{
+			field: 'levelOneStatusTxt',
+			title: '区县审批状态',
+			width: 160,
+		},
+		{
+			field: 'levelOneAuditName',
+			title: '区县审批人',
+			width: 120,
+		},
+		{
+			field: 'levelOneAuditOrgName',
+			title: '区县审批部门',
+			width: 140,
+		},
+		{
+			field: 'levelOneStatusTxt',
+			title: '区县审批时间',
+			formatter: 'formatDate',
+			width: 160,
+		},
+		{
+			field: 'networkRemark',
+			title: '网格员办理状态',
+			width: 140,
+		},
+		{
+			field: 'levelOneAuditRemark',
+			title: '区县审批意见',
+			minWidth: 200,
+		},
+		{
+			field: 'levelTwoStatusTxt',
+			title: '审批状态',
+			width: 120,
+		},
+		{
+			field: 'levelTwoAuditTime',
+			title: '审批时间',
+			formatter: 'formatDate',
+			width: 160,
+		},
+		{
+			field: 'levelTwoAuditRemark',
+			title: '审批意见',
+			minWidth: 200,
+		},
+		{
+			title: '操作',
+			width: 90,
+			fixed: 'right',
+			showOverflow: false,
+			align: 'center',
+			slots: { default: 'action' },
+		},
+	],
+	data: [],
+});
+/** 搜索按钮操作 节流操作 */
+const handleQuery = () => {
+	state.queryParams.PageIndex = 1;
+	queryList();
+};
+// 获取参数列表
+const queryList = () => {
+	state.loading = true;
+	gridOptions.loading = true;
+	getGridRedEnvelopeApprovalList(state.queryParams)
+		.then((res) => {
+			state.loading = false;
+			gridOptions.data = res.result.items ?? [];
+			state.total = res.result.total ?? 0;
+			gridOptions.loading = false;
+		})
+		.finally(() => {
+			state.loading = false;
+			gridOptions.loading = false;
+		});
+};
+// 重置表单
+const ruleFormRef = ref<any>(null); // 表单ref
+const resetQuery = (formEl: FormInstance | undefined) => {
+	if (!formEl) return;
+	formEl.resetFields();
+	queryList();
+};
+// 审批
+const reAuditRef = ref<RefType>();
+const onAudit = (row: any) => {
+	reAuditRef.value.openDialog(row, '网格员');
+};
+// 页面加载时
+onMounted(() => {
+	queryList();
+});
+</script>

+ 0 - 312
src/views/snapshot/reAudit/gridYJJ/index.vue

@@ -1,312 +0,0 @@
-<template>
-	<div class="snapshot-re-audit-grid-yjj-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">
-				<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-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>
-						<el-form-item label="工单标题" prop="IndustryName">
-							<el-input
-								v-model="state.queryParams.IndustryName"
-								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"> <SvgIcon name="ele-Refresh" class="mr5" />重置 </el-button>
-							<!--							<el-button @click="drawer = true" class="default-button"> <SvgIcon name="ele-Search" class="mr5" />更多查询</el-button>-->
-						</el-form-item>
-					</el-form>
-				</template>
-				<template #statusText="{ row }">
-					<el-text type="danger" tag="b" v-if="[1, 2, 3, 9, 101, 102, 103, 104, 105, 200].includes(row.status)">{{ row.statusText }}</el-text>
-					<span v-else>{{ row.statusText }}</span>
-				</template>
-				<template #order_detail="{ row }">
-					<order-detail :order="row" @updateList="queryList">{{ row.title }}</order-detail>
-				</template>
-				<template #action="{ row }">
-					<el-button link type="primary" @click="onAudit(row)"> 审批 </el-button>
-				</template>
-				<template #pager>
-					<pagination
-						@pagination="queryList"
-						:total="state.total"
-						v-model:current-page="state.queryParams.PageIndex"
-						v-model:page-size="state.queryParams.PageSize"
-						:disabled="state.loading"
-					/>
-				</template>
-			</vxe-grid>
-		</div>
-		<!--	更多查询	-->
-		<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="zjTime">
-					<el-date-picker
-						v-model="state.queryParams.zjTime"
-						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"
-					/>
-				</el-form-item>
-			</el-form>
-			<template #footer>
-				<el-button type="primary" @click="handleQuery" :loading="state.loading"> <SvgIcon name="ele-Search" class="mr5" />查询 </el-button>
-				<el-button @click="resetQuery(drawerRuleFormRef)" class="default-button"> <SvgIcon name="ele-Refresh" class="mr5" />重置 </el-button>
-			</template>
-		</el-drawer>
-	</div>
-</template>
-
-<script lang="tsx" setup name="snapshotReAuditGridYJJ">
-import { computed, defineAsyncComponent, onMounted, reactive, ref } from 'vue';
-import { FormInstance } from 'element-plus';
-import { getClueList } from '@/api/snapshot/config';
-import { defaultTimeStartEnd, shortcuts } from '@/utils/constants';
-
-// 引入组件
-const pagination = defineAsyncComponent(() => import('@/components/ProTable/components/Pagination.vue')); // 分页
-const OrderDetail = defineAsyncComponent(() => import('@/components/OrderDetail/index.vue')); // 工单详情
-
-// 定义变量内容
-const state = reactive<any>({
-	loading: false,
-	queryParams: {
-		// 查询参数
-		PageIndex: 1,
-		PageSize: 20,
-		CaseName: null, // 线索名称
-		IndustryName: null, // 行业类型
-		zjTime: [],
-	},
-	total: 0, // 总条数
-});
-
-const gridOptions = reactive<any>({
-	loading: false,
-	border: true,
-	showOverflow: true,
-	columnConfig: {
-		resizable: true,
-	},
-	scrollY: {
-		enabled: true,
-		gt: 100,
-	},
-	toolbarConfig: {
-		zoom: true,
-		custom: true,
-		refresh: {
-			queryMethod: () => {
-				handleQuery();
-			},
-		},
-	},
-	customConfig: {
-		storage: true,
-	},
-	id: 'snapshotReSendCitizen',
-	rowConfig: { isHover: true, height: 30, isCurrent: true, useKey: true },
-	height: 'auto',
-	columns: [
-		{ type: 'checkbox', width: 50, align: 'center' },
-		{
-			field: 'statusText',
-			title: '工单状态',
-			slots: {
-				default: 'statusText',
-			},
-		},
-		{
-			field: 'citizenReadPackAmountTxt',
-			title: '来源渠道',
-		},
-		{
-			field: 'citizenReadPackAmountTxt',
-			title: '工单编码',
-		},
-		{
-			field: 'name',
-			title: '工单标题',
-			slots: { default: 'order_detail' },
-		},
-		{
-			field: 'citizenReadPackAmountTxt',
-			title: '增加时间',
-			// formatter: 'formatDate',
-		},
-		{
-			field: 'guiderReadPackAmountTxt',
-			title: '来电人姓名',
-		},
-		{
-			field: 'displayOrder',
-			title: '来电人号码',
-		},
-		{
-			field: 'citizenReadPackAmountTxt',
-			title: '网格员奖励金额',
-			// formatter: 'formatDate',
-		},
-		{
-			field: 'citizenReadPackAmountTxt',
-			title: '网格员奖励发放结果',
-		},
-		{
-			field: 'citizenReadPackAmountTxt',
-			title: '区域',
-		},
-		{
-			field: 'citizenReadPackAmountTxt',
-			title: '部门是否整改完成',
-		},
-		{
-			field: 'citizenReadPackAmountTxt',
-			title: '部门是否属实',
-		},
-		{
-			field: 'citizenReadPackAmountTxt',
-			title: '网格员是否属实',
-		},
-		{
-			field: 'citizenReadPackAmountTxt',
-			title: '是否重复',
-		},
-		{
-			field: 'citizenReadPackAmountTxt',
-			title: '网格员是否办理',
-		},
-		{
-			field: 'citizenReadPackAmountTxt',
-			title: '网格E通编号',
-		},
-		{
-			field: 'citizenReadPackAmountTxt',
-			title: '受理时间',
-		},
-		{
-			field: 'citizenReadPackAmountTxt',
-			title: '区县审批状态',
-		},
-		{
-			field: 'citizenReadPackAmountTxt',
-			title: '区县审批人',
-		},
-		{
-			field: 'citizenReadPackAmountTxt',
-			title: '区县审批部门',
-		},
-		{
-			field: 'citizenReadPackAmountTxt',
-			title: '区县审批时间',
-		},
-		{
-			field: 'citizenReadPackAmountTxt',
-			title: '网格员办理状态',
-		},
-		{
-			field: 'citizenReadPackAmountTxt',
-			title: '区县审批意见',
-		},
-		{
-			field: 'citizenReadPackAmountTxt',
-			title: '审批状态',
-		},
-		{
-			field: 'citizenReadPackAmountTxt',
-			title: '审批时间',
-		},
-		{
-			field: 'displayOrder',
-			title: '审批意见',
-			minWidth: 200,
-		},
-	],
-	data: [],
-});
-/** 搜索按钮操作 节流操作 */
-const handleQuery = () => {
-	state.queryParams.PageIndex = 1;
-	queryList();
-};
-// 获取参数列表
-const queryList = () => {
-	state.loading = true;
-	gridOptions.loading = true;
-	getClueList(state.queryParams)
-		.then((res) => {
-			state.loading = false;
-			gridOptions.data = res.result.items ?? [];
-			state.total = res.result.total ?? 0;
-			gridOptions.loading = false;
-		})
-		.finally(() => {
-			state.loading = false;
-			gridOptions.loading = false;
-		});
-};
-// 重置表单
-const drawerRuleFormRef = ref<RefType>();
-const ruleFormRef = ref<any>(null); // 表单ref
-const drawer = ref(false);
-const resetQuery = (formEl: FormInstance | undefined) => {
-	if (!formEl) return;
-	formEl.resetFields();
-	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 isChecked = computed(() => {
-	return !Boolean(checkTable.value.length);
-});
-
-// 审批
-const onAudit = (row: any) => {};
-// 页面加载时
-onMounted(() => {
-	queryList();
-});
-</script>

+ 0 - 312
src/views/snapshot/reAudit/gridZFW/index.vue

@@ -1,312 +0,0 @@
-<template>
-	<div class="snapshot-re-audit-grid-zfw-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">
-				<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-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>
-						<el-form-item label="工单标题" prop="IndustryName">
-							<el-input
-								v-model="state.queryParams.IndustryName"
-								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"> <SvgIcon name="ele-Refresh" class="mr5" />重置 </el-button>
-							<!--							<el-button @click="drawer = true" class="default-button"> <SvgIcon name="ele-Search" class="mr5" />更多查询</el-button>-->
-						</el-form-item>
-					</el-form>
-				</template>
-				<template #statusText="{ row }">
-					<el-text type="danger" tag="b" v-if="[1, 2, 3, 9, 101, 102, 103, 104, 105, 200].includes(row.status)">{{ row.statusText }}</el-text>
-					<span v-else>{{ row.statusText }}</span>
-				</template>
-				<template #order_detail="{ row }">
-					<order-detail :order="row" @updateList="queryList">{{ row.title }}</order-detail>
-				</template>
-				<template #action="{ row }">
-					<el-button link type="primary" @click="onAudit(row)"> 审批 </el-button>
-				</template>
-				<template #pager>
-					<pagination
-						@pagination="queryList"
-						:total="state.total"
-						v-model:current-page="state.queryParams.PageIndex"
-						v-model:page-size="state.queryParams.PageSize"
-						:disabled="state.loading"
-					/>
-				</template>
-			</vxe-grid>
-		</div>
-		<!--	更多查询	-->
-		<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="zjTime">
-					<el-date-picker
-						v-model="state.queryParams.zjTime"
-						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"
-					/>
-				</el-form-item>
-			</el-form>
-			<template #footer>
-				<el-button type="primary" @click="handleQuery" :loading="state.loading"> <SvgIcon name="ele-Search" class="mr5" />查询 </el-button>
-				<el-button @click="resetQuery(drawerRuleFormRef)" class="default-button"> <SvgIcon name="ele-Refresh" class="mr5" />重置 </el-button>
-			</template>
-		</el-drawer>
-	</div>
-</template>
-
-<script lang="tsx" setup name="snapshotReAuditGridZFW">
-import { computed, defineAsyncComponent, onMounted, reactive, ref } from 'vue';
-import { FormInstance } from 'element-plus';
-import { getClueList } from '@/api/snapshot/config';
-import { defaultTimeStartEnd, shortcuts } from '@/utils/constants';
-
-// 引入组件
-const pagination = defineAsyncComponent(() => import('@/components/ProTable/components/Pagination.vue')); // 分页
-const OrderDetail = defineAsyncComponent(() => import('@/components/OrderDetail/index.vue')); // 工单详情
-
-// 定义变量内容
-const state = reactive<any>({
-	loading: false,
-	queryParams: {
-		// 查询参数
-		PageIndex: 1,
-		PageSize: 20,
-		CaseName: null, // 线索名称
-		IndustryName: null, // 行业类型
-		zjTime: [],
-	},
-	total: 0, // 总条数
-});
-
-const gridOptions = reactive<any>({
-	loading: false,
-	border: true,
-	showOverflow: true,
-	columnConfig: {
-		resizable: true,
-	},
-	scrollY: {
-		enabled: true,
-		gt: 100,
-	},
-	toolbarConfig: {
-		zoom: true,
-		custom: true,
-		refresh: {
-			queryMethod: () => {
-				handleQuery();
-			},
-		},
-	},
-	customConfig: {
-		storage: true,
-	},
-	id: 'snapshotReSendCitizen',
-	rowConfig: { isHover: true, height: 30, isCurrent: true, useKey: true },
-	height: 'auto',
-	columns: [
-		{ type: 'checkbox', width: 50, align: 'center' },
-		{
-			field: 'statusText',
-			title: '工单状态',
-			slots: {
-				default: 'statusText',
-			},
-		},
-		{
-			field: 'citizenReadPackAmountTxt',
-			title: '来源渠道',
-		},
-		{
-			field: 'citizenReadPackAmountTxt',
-			title: '工单编码',
-		},
-		{
-			field: 'name',
-			title: '工单标题',
-			slots: { default: 'order_detail' },
-		},
-		{
-			field: 'citizenReadPackAmountTxt',
-			title: '增加时间',
-			// formatter: 'formatDate',
-		},
-		{
-			field: 'guiderReadPackAmountTxt',
-			title: '来电人姓名',
-		},
-		{
-			field: 'displayOrder',
-			title: '来电人号码',
-		},
-		{
-			field: 'citizenReadPackAmountTxt',
-			title: '网格员奖励金额',
-			// formatter: 'formatDate',
-		},
-		{
-			field: 'citizenReadPackAmountTxt',
-			title: '网格员奖励发放结果',
-		},
-		{
-			field: 'citizenReadPackAmountTxt',
-			title: '区域',
-		},
-		{
-			field: 'citizenReadPackAmountTxt',
-			title: '部门是否整改完成',
-		},
-		{
-			field: 'citizenReadPackAmountTxt',
-			title: '部门是否属实',
-		},
-		{
-			field: 'citizenReadPackAmountTxt',
-			title: '网格员是否属实',
-		},
-		{
-			field: 'citizenReadPackAmountTxt',
-			title: '是否重复',
-		},
-		{
-			field: 'citizenReadPackAmountTxt',
-			title: '网格员是否办理',
-		},
-		{
-			field: 'citizenReadPackAmountTxt',
-			title: '网格E通编号',
-		},
-		{
-			field: 'citizenReadPackAmountTxt',
-			title: '受理时间',
-		},
-		{
-			field: 'citizenReadPackAmountTxt',
-			title: '区县审批状态',
-		},
-		{
-			field: 'citizenReadPackAmountTxt',
-			title: '区县审批人',
-		},
-		{
-			field: 'citizenReadPackAmountTxt',
-			title: '区县审批部门',
-		},
-		{
-			field: 'citizenReadPackAmountTxt',
-			title: '区县审批时间',
-		},
-		{
-			field: 'citizenReadPackAmountTxt',
-			title: '网格员办理状态',
-		},
-		{
-			field: 'citizenReadPackAmountTxt',
-			title: '区县审批意见',
-		},
-		{
-			field: 'citizenReadPackAmountTxt',
-			title: '审批状态',
-		},
-		{
-			field: 'citizenReadPackAmountTxt',
-			title: '审批时间',
-		},
-		{
-			field: 'displayOrder',
-			title: '审批意见',
-			minWidth: 200,
-		},
-	],
-	data: [],
-});
-/** 搜索按钮操作 节流操作 */
-const handleQuery = () => {
-	state.queryParams.PageIndex = 1;
-	queryList();
-};
-// 获取参数列表
-const queryList = () => {
-	state.loading = true;
-	gridOptions.loading = true;
-	getClueList(state.queryParams)
-		.then((res) => {
-			state.loading = false;
-			gridOptions.data = res.result.items ?? [];
-			state.total = res.result.total ?? 0;
-			gridOptions.loading = false;
-		})
-		.finally(() => {
-			state.loading = false;
-			gridOptions.loading = false;
-		});
-};
-// 重置表单
-const drawerRuleFormRef = ref<RefType>();
-const ruleFormRef = ref<any>(null); // 表单ref
-const drawer = ref(false);
-const resetQuery = (formEl: FormInstance | undefined) => {
-	if (!formEl) return;
-	formEl.resetFields();
-	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 isChecked = computed(() => {
-	return !Boolean(checkTable.value.length);
-});
-
-// 审批
-const onAudit = (row: any) => {};
-// 页面加载时
-onMounted(() => {
-	queryList();
-});
-</script>