Эх сурвалжийг харах

feat:新增重复性事件管理和通知公告审批页面;

zhangchong 1 жил өмнө
parent
commit
6939b33151

+ 0 - 0
src/components/ProcessApproval/index.vue → src/components/ProcessAudit/index.vue


+ 4 - 4
src/views/auxiliary/notice/index.vue

@@ -107,7 +107,7 @@
 		<!--  常用意见编辑  -->
 		<notice-edit ref="noticeEditRef" @updateList="queryList" />
 		<!-- 流程审批 -->
-		<process-approval ref="processApprovalRef" @orderProcessSuccess="queryList" />
+		<process-audit ref="processAuditRef" @orderProcessSuccess="queryList" />
 	</div>
 </template>
 
@@ -123,7 +123,7 @@ import {bulletinList, circularList, bulletinBaseData, circularBaseData} from '/@
 // 引入组件
 const NoticeAdd = defineAsyncComponent(() => import('/@/views/auxiliary/notice/component/Notice-add.vue')); // 公告通知新增
 const NoticeEdit = defineAsyncComponent(() => import('/@/views/auxiliary/notice/component/Notice-edit.vue')); // 公告通知编辑
-const ProcessApproval = defineAsyncComponent(() => import('/@/components/ProcessApproval/index.vue')); // 流程审批
+const ProcessAudit = defineAsyncComponent(() => import('/@/components/ProcessAudit/index.vue')); // 流程审批
 
 // 定义变量内容
 const state = reactive<any>({
@@ -214,7 +214,7 @@ const resetQuery = (formEl: FormInstance | undefined) => {
 };
 // 通知公告新增
 const noticeAddRef = ref<RefType>(); // 通知公告新增
-const processApprovalRef = ref<RefType>(); // 处理流程
+const processAuditRef = ref<RefType>(); // 处理流程
 const onNoticeAdd = () => {
 	const processType = listType.value === '0' ? '新增通知' : '新增公告';
 	const annexName = listType.value === '0' ? '通知附件' : '公告附件';
@@ -228,7 +228,7 @@ const onNoticeAdd = () => {
 			annexName,
 		},
 	};
-	processApprovalRef.value.openDialog(params);
+	processAuditRef.value.openDialog(params);
 };
 // 修改通知公告
 const noticeEditRef = ref<RefType>(); // 修改通知公告

+ 273 - 0
src/views/auxiliary/noticeAudit/index.vue

@@ -0,0 +1,273 @@
+<template>
+  <div class="system-config-notice-container layout-pd">
+    <el-card shadow="never">
+      <el-tabs v-model="listType" @tab-change="queryList">
+        <el-tab-pane name="0" label="通知审批"></el-tab-pane>
+        <el-tab-pane name="1" label="公告审批"></el-tab-pane>
+      </el-tabs>
+      <el-form :model="state.queryParams" ref="ruleFormRef" :inline="true" @submit.native.prevent class="mt10">
+        <el-form-item label="标题" prop="Title">
+          <el-input v-model="state.queryParams.Title" placeholder="标题" clearable @keyup.enter="queryList" style="width: 250px" />
+        </el-form-item>
+        <el-form-item label="通知类型" prop="BulletinTypeId">
+          <el-select v-model="state.queryParams.BulletinTypeId" placeholder="请选择通知类型">
+            <el-option v-for="item in bulletinType" :value="item.id" :key="item.id" :label="item.status" />
+          </el-select>
+        </el-form-item>
+        <el-form-item label="创建时间" prop="exTime">
+          <el-date-picker
+              v-model="state.queryParams.exTime"
+              type="datetimerange"
+              unlink-panels
+              range-separator="至"
+              start-placeholder="开始时间"
+              end-placeholder="结束时间"
+              :shortcuts="shortcuts"
+              @change="timeStartChangeCr"
+              value-format="YYYY-MM-DD[T]HH:mm:ss"
+          />
+        </el-form-item>
+        <el-form-item>
+          <el-button type="primary" @click="queryList" :loading="state.loading"> <SvgIcon name="ele-Search" class="mr5" />查询 </el-button>
+          <el-button @click="resetQuery(ruleFormRef)" v-waves class="default-button"> <SvgIcon name="ele-Refresh" class="mr5" />重置 </el-button>
+        </el-form-item>
+      </el-form>
+      <div class="mb20">
+        <el-button type="primary" @click="onNoticeAdd" v-waves v-auth="'auxiliary:notice:add'">
+          <SvgIcon name="ele-Plus" class="mr5" />新增
+        </el-button>
+        <el-button type="primary" @click="onNoticeDelete" v-waves v-auth="'auxiliary:notice:delete'" :disabled="!multipleSelection.length">
+          <SvgIcon name="ele-Delete" class="mr5" />删除
+        </el-button>
+      </div>
+      <!-- 表格 -->
+      <el-table :data="state.tableData" v-loading="state.loading" row-key="id" ref="multipleTableRef" @selection-change="handleSelectionChange">
+        <el-table-column type="selection" width="55" />
+        <!--  通知  -->
+        <template v-if="listType === '0'">
+          <el-table-column prop="commonTypeText" label="通知类型" show-overflow-tooltip></el-table-column>
+          <el-table-column prop="commonTypeText" label="通知状态" show-overflow-tooltip></el-table-column>
+          <el-table-column prop="commonTypeText" label="通知标题" show-overflow-tooltip></el-table-column>
+          <el-table-column prop="commonTypeText" label="文档编码" show-overflow-tooltip></el-table-column>
+          <el-table-column prop="commonTypeText" label="必须阅读" show-overflow-tooltip></el-table-column>
+          <el-table-column prop="commonTypeText" label="已阅读数" show-overflow-tooltip></el-table-column>
+          <el-table-column prop="commonTypeText" label="通知对象" show-overflow-tooltip></el-table-column>
+          <el-table-column prop="commonTypeText" label="通知时间" show-overflow-tooltip width="170">
+            <template #default="{ row }">
+              <span>{{ formatDate(row.creationTime, 'YYYY-mm-dd HH:MM:SS') }}</span>
+            </template>
+          </el-table-column>
+          <el-table-column prop="commonTypeText" label="失效时间" show-overflow-tooltip width="170">
+            <template #default="{ row }">
+              <span>{{ formatDate(row.creationTime, 'YYYY-mm-dd HH:MM:SS') }}</span>
+            </template>
+          </el-table-column>
+          <el-table-column prop="commonTypeText" label="来源单位" show-overflow-tooltip></el-table-column>
+          <el-table-column prop="commonTypeText" label="已阅读次数" show-overflow-tooltip></el-table-column>
+        </template>
+        <!--  公告  -->
+        <template v-if="listType === '1'">
+          <el-table-column prop="commonTypeText" label="公告类型" show-overflow-tooltip></el-table-column>
+          <el-table-column prop="commonTypeText" label="公告状态" show-overflow-tooltip></el-table-column>
+          <el-table-column prop="commonTypeText" label="公告标题" show-overflow-tooltip></el-table-column>
+          <el-table-column prop="commonTypeText" label="文档编码" show-overflow-tooltip></el-table-column>
+          <el-table-column prop="commonTypeText" label="已阅次数" show-overflow-tooltip></el-table-column>
+          <el-table-column prop="commonTypeText" label="公告范围" show-overflow-tooltip></el-table-column>
+          <el-table-column prop="commonTypeText" label="通知时间" show-overflow-tooltip width="170">
+            <template #default="{ row }">
+              <span>{{ formatDate(row.creationTime, 'YYYY-mm-dd HH:MM:SS') }}</span>
+            </template>
+          </el-table-column>
+          <el-table-column prop="commonTypeText" label="失效时间" show-overflow-tooltip width="170">
+            <template #default="{ row }">
+              <span>{{ formatDate(row.creationTime, 'YYYY-mm-dd HH:MM:SS') }}</span>
+            </template>
+          </el-table-column>
+          <el-table-column prop="commonTypeText" label="来源单位" show-overflow-tooltip></el-table-column>
+        </template>
+        <el-table-column label="操作" width="120" fixed="right" align="center">
+          <template #default="{ row }">
+            <el-button link type="primary" @click="updateNotice(row)" v-auth="'auxiliary:notice:edit'" title="修改通知公告"> 修改 </el-button>
+          </template>
+        </el-table-column>
+        <template #empty>
+          <Empty />
+        </template>
+      </el-table>
+      <!-- 分页 -->
+      <pagination
+          :total="state.total"
+          v-model:page="state.queryParams.PageIndex"
+          v-model:limit="state.queryParams.PageSize"
+          @pagination="queryList"
+      />
+    </el-card>
+    <!--  常用意见新增  -->
+    <notice-add ref="noticeAddRef" @updateList="queryList" />
+    <!--  常用意见编辑  -->
+    <notice-edit ref="noticeEditRef" @updateList="queryList" />
+    <!-- 流程审批 -->
+    <process-audit ref="processAuditRef" @orderProcessSuccess="queryList" />
+  </div>
+</template>
+
+<script lang="ts" setup name="auxiliaryNoticeAudit">
+import { reactive, ref, onMounted, defineAsyncComponent } from 'vue';
+import { ElMessage, ElMessageBox, FormInstance } from 'element-plus';
+import { shortcuts } from '/@/utils/constants';
+import { formatDate } from '/@/utils/formatTime';
+import { auth } from '/@/utils/authFunction';
+import { deleteCommon } from '/@/api/auxiliary/advice';
+import {bulletinList, circularList, bulletinBaseData, circularBaseData} from '/@/api/auxiliary/notice';
+
+// 引入组件
+const NoticeAdd = defineAsyncComponent(() => import('/@/views/auxiliary/notice/component/Notice-add.vue')); // 公告通知新增
+const NoticeEdit = defineAsyncComponent(() => import('/@/views/auxiliary/notice/component/Notice-edit.vue')); // 公告通知编辑
+const ProcessAudit = defineAsyncComponent(() => import('/@/components/ProcessAudit/index.vue')); // 流程审批
+
+// 定义变量内容
+const state = reactive<any>({
+  loading: false, // 加载状态
+  queryParams: {
+    // 查询参数
+    PageIndex: 1,
+    PageSize: 10,
+    Title: '',
+    BulletinTimeStart: '', // 创建时间 开始
+    BulletinTimeEnd: '', // 创建时间 结束
+    exTime: [], // 办理期限
+    BulletinTypeId: '', //通知类型
+  },
+  total: 0, // 总条数
+  tableData: [], // 表格数据
+});
+const ruleFormRef = ref<RefType>(null); // 表单ref
+const bulletinType = ref<EmptyArrayType>([]); // 通知类型
+const listType = ref<string>('0'); // 列表类型
+const handleTimeChange = (val: string[], startKey: string, endKey: string) => {
+  if (val) {
+    state.queryParams[startKey] = val[0];
+    state.queryParams[endKey] = val[1];
+  } else {
+    state.queryParams[startKey] = '';
+    state.queryParams[endKey] = '';
+  }
+};
+// 甄别时间
+const timeStartChangeCr = (val: string[]) => {
+  handleTimeChange(val, 'BulletinTimeStart', 'BulletinTimeEnd');
+};
+const getBaseData = async () => {
+  try {
+    let res = null;
+    switch (listType.value){
+      case '0':
+        res = await circularBaseData();
+        bulletinType.value = res.result ?? [];
+        break;
+      case '1':
+        res = await bulletinBaseData();
+        bulletinType.value = res.result ?? [];
+        break;
+    }
+  } catch (error) {
+    console.log(error);
+  }
+};
+// 获取参数列表
+const queryList = () => {
+  getBaseData();
+  state.loading = true;
+  if (!auth('auxiliary:notice:query')) ElMessage.error('抱歉,您没有权限获取通知公告列表!');
+  else {
+    switch (listType.value) {
+      case '0':
+        circularList(state.queryParams)
+            .then((res) => {
+              state.loading = false;
+              state.tableData = res.result.items ?? [];
+              state.total = res.result.total ?? 0;
+            })
+            .finally(() => {
+              state.loading = false;
+            });
+        break;
+      case '1':
+        bulletinList(state.queryParams)
+            .then((res) => {
+              state.loading = false;
+              state.tableData = res.result.items ?? [];
+              state.total = res.result.total ?? 0;
+            })
+            .finally(() => {
+              state.loading = false;
+            });
+        break;
+    }
+  }
+};
+// 重置表单
+const resetQuery = (formEl: FormInstance | undefined) => {
+  if (!formEl) return;
+  formEl.resetFields();
+  queryList();
+};
+// 通知公告新增
+const noticeAddRef = ref<RefType>(); // 通知公告新增
+const processAuditRef = ref<RefType>(); // 处理流程
+const onNoticeAdd = () => {
+  const processType = listType.value === '0' ? '新增通知' : '新增公告';
+  const annexName = listType.value === '0' ? '通知附件' : '公告附件';
+  const params = {
+    id: '',
+    processType,
+    orderDetail: {},
+    extra: {
+      dialogTitle: processType,
+      inputPlaceholder: '办理意见',
+      annexName,
+    },
+  };
+  processAuditRef.value.openDialog(params);
+};
+// 修改通知公告
+const noticeEditRef = ref<RefType>(); // 修改通知公告
+const updateNotice = (row: any) => {
+  noticeEditRef.value.openDialog(row);
+};
+// 表格多选
+const multipleTableRef = ref<RefType>();
+const multipleSelection = ref<any>([]);
+const handleSelectionChange = (val: any[]) => {
+  multipleSelection.value = val;
+};
+// 删除通知公告
+const onNoticeDelete = () => {
+  const contents = multipleSelection.value.map((item: any) => item.content).join('、');
+  const ids = multipleSelection.value.map((item: any) => item.id);
+  ElMessageBox.confirm(`您确定要删除:【${contents}】的通知公告,是否继续?`, '提示', {
+    confirmButtonText: '确认',
+    cancelButtonText: '取消',
+    type: 'warning',
+    draggable: true,
+    cancelButtonClass: 'default-button',
+    autofocus: false,
+  })
+      .then(() => {
+        deleteCommon({ ids }).then(() => {
+          ElMessage.success('操作成功');
+          queryList();
+        });
+      })
+      .catch(() => {});
+};
+// 页面加载时
+onMounted(() => {
+  queryList();
+});
+</script>
+
+<style lang="scss" scoped>
+.system-config-notice-container {
+}
+</style>

+ 4 - 4
src/views/business/delay/backlog/index.vue

@@ -103,7 +103,7 @@
     <!-- 审核记录 -->
     <audit-record ref="auditRecordRef" />
     <!--  流程审批  -->
-    <process-approval ref="processApprovalRef" @orderProcessSuccess="queryList" />
+    <process-audit ref="processAuditRef" @orderProcessSuccess="queryList" />
 	</div>
 </template>
 <script setup lang="ts" name="orderDelayBacklog">
@@ -117,7 +117,7 @@ import { delayList } from "/@/api/business/delay";
 // 引入组件
 const OrderDetail = defineAsyncComponent(() => import('/@/views/business/order/components/Order-detail.vue'));  // 工单详情
 const AuditRecord = defineAsyncComponent(() => import('/@/components/AuditRecord/index.vue'));  // 流程明细
-const ProcessApproval = defineAsyncComponent(() => import('/@/components/ProcessApproval/index.vue'));  // 流程审批
+const ProcessAudit = defineAsyncComponent(() => import('/@/components/ProcessAudit/index.vue'));  // 流程审批
 
 // 定义变量内容
 const state = reactive(<any>{
@@ -191,13 +191,13 @@ const processDetail = (row:any) => {
   auditRecordRef.value.openDialog(params);
 };
 // 延期审批
-const processApprovalRef = ref<RefType>();  // 流程审批ref
+const processAuditRef = ref<RefType>();  // 流程审批ref
 const approve = (row: any) => {
   const params = {
     title: `延期审批 (${row.title})`,
     ...row,
   };
-  processApprovalRef.value.openDialog(params);
+  processAuditRef.value.openDialog(params);
 };
 // 表格多选
 const multipleTableRef = ref<RefType>();

+ 4 - 4
src/views/business/discern/apply/index.vue

@@ -112,7 +112,7 @@
 			/>
 		</el-card>
     <!-- 流程审批 -->
-    <process-approval ref="processApprovalRef" @orderProcessSuccess="queryList" />
+    <process-audit ref="processAuditRef" @orderProcessSuccess="queryList" />
 	</div>
 </template>
 <script setup lang="ts" name="orderDiscernApply">
@@ -124,7 +124,7 @@ import { formatDate } from '/@/utils/formatTime';
 import { screenApplyList, screenBaseData } from '/@/api/business/discern';
 import {commonEnum} from "/@/utils/constants";
 // 引入组件
-const ProcessApproval = defineAsyncComponent(() => import('/@/components/ProcessApproval/index.vue')); // 流程审批
+const ProcessAudit = defineAsyncComponent(() => import('/@/components/ProcessAudit/index.vue')); // 流程审批
 // 定义变量内容
 const ruleFormRef = ref<RefType>(); // 表单ref
 const state = reactive(<any>{
@@ -185,7 +185,7 @@ const onExport = () => {
 	console.log('导出');
 };
 // 甄别审批
-const processApprovalRef = ref<RefType>(); // 流程审批ref
+const processAuditRef = ref<RefType>(); // 流程审批ref
 const submitDiscern = (row: any) => {
   const orderDetail = {
     visitId:row.visitId,
@@ -203,7 +203,7 @@ const submitDiscern = (row: any) => {
       annexName:'甄别附件',
     },
   };
-  processApprovalRef.value.openDialog(params);
+  processAuditRef.value.openDialog(params);
 
 };
 onMounted(async () => {

+ 4 - 4
src/views/business/discern/backlog/index.vue

@@ -107,7 +107,7 @@
 			/>
 		</el-card>
 		<!-- 流程审批 -->
-		<process-approval ref="processApprovalRef" @orderProcessSuccess="queryList" />
+		<process-audit ref="processAuditRef" @orderProcessSuccess="queryList" />
 	</div>
 </template>
 <script setup lang="ts" name="orderDiscernBacklog">
@@ -121,7 +121,7 @@ import { screenList, screenBaseData, screenGetWorkflowId } from '/@/api/business
 import other from '/@/utils/other';
 
 // 引入组件
-const ProcessApproval = defineAsyncComponent(() => import('/@/components/ProcessApproval/index.vue')); // 流程审批
+const ProcessAudit = defineAsyncComponent(() => import('/@/components/ProcessAudit/index.vue')); // 流程审批
 // 定义变量内容
 const ruleFormRef = ref<RefType>(); // 表单ref
 const state = reactive(<any>{
@@ -201,7 +201,7 @@ const onExport = () => {
 	console.log('导出');
 };
 // 甄别审批
-const processApprovalRef = ref<RefType>(); // 流程审批ref
+const processAuditRef = ref<RefType>(); // 流程审批ref
 const approve = async (row: any) => {
   try {
     const {result} = await screenGetWorkflowId(row.id);
@@ -217,7 +217,7 @@ const approve = async (row: any) => {
         classify:'甄别上传'
       },
     };
-    processApprovalRef.value.openDialog(params);
+    processAuditRef.value.openDialog(params);
   }catch (error) {
     console.log(error);
   }

+ 6 - 6
src/views/business/discern/index.vue

@@ -137,7 +137,7 @@
 		</el-card>
 
 		<!-- 流程审批 -->
-		<process-approval ref="processApprovalRef" @orderProcessSuccess="queryList" />
+		<process-audit ref="processAuditRef" @orderProcessSuccess="queryList" />
 	</div>
 </template>
 <script setup lang="ts" name="orderDiscern">
@@ -151,7 +151,7 @@ import {screenBaseData, screenGetWorkflowId, screenList} from '/@/api/business/d
 import other from '/@/utils/other';
 
 // 引入组件
-const ProcessApproval = defineAsyncComponent(() => import('/@/components/ProcessApproval/index.vue')); // 流程审批
+const ProcessAudit = defineAsyncComponent(() => import('/@/components/ProcessAudit/index.vue')); // 流程审批
 
 // 定义变量内容
 const ruleFormRef = ref<RefType>(); // 表单ref
@@ -229,7 +229,7 @@ const onExport = () => {
 	console.log('导出');
 };
 // 查看详情
-const processApprovalRef = ref<RefType>(); // 流程审批ref
+const processAuditRef = ref<RefType>(); // 流程审批ref
 const onDetail = async (row: any) => {
   try {
     const {result} = await screenGetWorkflowId(row.id);
@@ -252,7 +252,7 @@ const onDetail = async (row: any) => {
             classify:'甄别上传'
           },
         };
-        processApprovalRef.value.openDialog(params);
+        processAuditRef.value.openDialog(params);
         break;
       case 1: // 审批中 甄别审批
         params = {
@@ -267,7 +267,7 @@ const onDetail = async (row: any) => {
             classify:'甄别上传'
           },
         };
-        processApprovalRef.value.openDialog(params);
+        processAuditRef.value.openDialog(params);
         break;
       case 2: // 审批完成
 
@@ -285,7 +285,7 @@ const onDetail = async (row: any) => {
             classify:'甄别上传'
           },
         };
-        processApprovalRef.value.openDialog(params);
+        processAuditRef.value.openDialog(params);
         break;
       default:
     }

+ 1 - 1
src/views/business/order/accept/Repeat-event.vue

@@ -27,7 +27,7 @@
 			</el-form-item>
 		</el-form>
 		<div class="mb10">
-			<el-button type="primary" @click="onAdd" v-auth="'business:order:repeatEvent:add'">
+			<el-button type="primary" @click="onAdd" v-auth="'business:repeatEvent:add'">
 				<SvgIcon name="ele-Plus" class="mr5" />创建重复事件
 			</el-button>
 		</div>

+ 4 - 4
src/views/business/order/accept/index.vue

@@ -493,7 +493,7 @@
     <!-- 重复事件列表 -->
     <repeat-event-dialog ref="repeatEventDialogRef" />
 		<!--  流程审批  -->
-		<process-approval ref="processApprovalRef" @orderProcessSuccess="orderProcessSuccess" />
+		<process-audit ref="processAuditRef" @orderProcessSuccess="orderProcessSuccess" />
     <!-- 地图选点 -->
     <map-dialog ref="mapDialogRef" @confirm="selectMap"/>
     <!-- 企业搜索 -->
@@ -526,7 +526,7 @@ const OrderExpandForm = defineAsyncComponent(() => import('/@/views/business/ord
 const OrderHistory = defineAsyncComponent(() => import('/@/views/business/order/components/Order-history.vue')); // 历史工单弹窗列表
 const CommonAdvice = defineAsyncComponent(() => import('/@/components/CommonAdvice/index.vue')); // 常用意见
 const AnnexList = defineAsyncComponent(() => import('/@/components/AnnexList/index.vue')); // 附件列表
-const ProcessApproval = defineAsyncComponent(() => import('/@/components/ProcessApproval/index.vue')); // 流程审批
+const ProcessAudit = defineAsyncComponent(() => import('/@/components/ProcessAudit/index.vue')); // 流程审批
 const MapDialog = defineAsyncComponent(() => import('/@/views/business/order/components/Map-Dialog.vue')); // 地图定位
 const CompanySearch = defineAsyncComponent(() => import('/@/views/business/order/accept/Company-search.vue')); // 企业搜索
 // 定义变量内容
@@ -757,7 +757,7 @@ const selectIdentity = (val: number) => {
 	}
 };
 // 流程审批
-const processApprovalRef = ref<RefType>();
+const processAuditRef = ref<RefType>();
 const processOrder = (orderDetail: any) => {
 	const params = {
 		id: state.orderId,
@@ -769,7 +769,7 @@ const processOrder = (orderDetail: any) => {
 		},
 		orderDetail,
 	};
-	processApprovalRef.value.openDialog(params);
+	processAuditRef.value.openDialog(params);
 };
 const handleForm = (orderDetail: any) => {
 	if (orderDetail.orderType === 1 && orderDetail.acceptTypeCode) {

+ 4 - 4
src/views/business/order/components/Order-detail.vue

@@ -367,7 +367,7 @@
   <!-- 工单催办 -->
   <order-urge ref="orderUrgeRef" @updateList="onSuperviseSuccess" />
 	<!-- 流程审批 -->
-	<process-approval ref="processApprovalRef" @orderProcessSuccess="orderProcessSuccess" />
+	<process-audit ref="processAuditRef" @orderProcessSuccess="orderProcessSuccess" />
 	<!-- 重复工单 -->
 	<order-repeat ref="orderRepeatRef" />
 </template>
@@ -391,7 +391,7 @@ const OrderUrge = defineAsyncComponent(() => import('/@/views/business/urge/comp
 const OrderRepeat = defineAsyncComponent(() => import('/@/views/business/order/components/Order-repeat.vue')); // 重复工单
 const AuditRecord = defineAsyncComponent(() => import('/@/components/AuditRecord/index.vue')); // 审核记录
 const AnnexList = defineAsyncComponent(() => import('/@/components/AnnexList/index.vue')); // 附件列表
-const ProcessApproval = defineAsyncComponent(() => import('/@/components/ProcessApproval/index.vue')); // 流程审批
+const ProcessAudit = defineAsyncComponent(() => import('/@/components/ProcessAudit/index.vue')); // 流程审批
 // const AudioPlayer = defineAsyncComponent(() => import('/@/components/AudioPlayer/index.vue'));
 
 // 定义子组件向父组件传值/事件
@@ -603,7 +603,7 @@ const onRecord = () => {
 	AuditRecordRef.value.openDialog(params);
 };
 // 提交流程
-const processApprovalRef = ref<RefType>(); // 处理流程
+const processAuditRef = ref<RefType>(); // 处理流程
 const OrderCirculation = commonEnum.OrderCirculation
 const onSubmit = throttle((val: string,annexName:string ='办理附件',commonEnum:any=OrderCirculation) => {
 	const params = {
@@ -617,7 +617,7 @@ const onSubmit = throttle((val: string,annexName:string ='办理附件',commonEn
 			annexName,
 		},
 	};
-	processApprovalRef.value.openDialog(params);
+	processAuditRef.value.openDialog(params);
 }, 300);
 // 流程提交成功
 const orderProcessSuccess = () => {

+ 138 - 132
src/views/business/publish/backlog/index.vue

@@ -1,171 +1,177 @@
 <template>
-  <div class="business-publish-container layout-pd">
-    <!-- 搜索  -->
-    <el-card shadow="never">
-      <el-form :model="state.queryParams" ref="ruleFormRef" @submit.native.prevent class="mt15" label-width="100px">
-        <el-row :gutter="10">
-          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="8">
-            <el-form-item label="关键词" prop="Keyword">
-              <el-input v-model="state.queryParams.Keyword" placeholder="工单编码/标题" clearable @keyup.enter="queryList" />
-            </el-form-item>
-          </el-col>
-          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="8">
-            <el-form-item label=" ">
-              <el-button type="primary" @click="queryList" :loading="state.loading"> <SvgIcon name="ele-Search" class="mr5" />查询 </el-button>
-              <el-button @click="resetQuery(ruleFormRef)" v-waves class="default-button" :loading="state.loading"> <SvgIcon name="ele-Refresh" class="mr5" />重置 </el-button>
-            </el-form-item>
-          </el-col>
-        </el-row>
-      </el-form>
-    </el-card>
-    <el-card shadow="never">
-      <!-- 功能按钮 -->
-      <div class="mb20">
-        <el-button type="primary" @click="publishMultiple" v-auth="'business:publish:multiple'" :disabled="!multipleSelection.length">
-          <SvgIcon name="iconfont icon-tianjiawenjian" class="mr5" />批量发布
-        </el-button>
-      </div>
-      <!-- 表格 -->
-      <el-table :data="state.tableData" v-loading="state.loading" row-key="id" ref="multipleTableRef" @selection-change="handleSelectionChange">
-        <el-table-column type="selection" width="55" :selectable="selectable"/>
-        <el-table-column prop="no" label="工单编码" show-overflow-tooltip  width="150"></el-table-column>
-        <el-table-column prop="no" label="是否会签件" show-overflow-tooltip width="100"></el-table-column>
-        <el-table-column width="100" label="省/市工单" prop="isProvince" >
-          <template #default="{ row }">
-            <span>{{ row.isProvince ? '省工单' : '市工单' }}</span>
-          </template>
-        </el-table-column>
-        <el-table-column label="工单标题" show-overflow-tooltip width="300">
-          <template #default="{ row }">
-            <span class="color-primary">{{ row.title }}</span>
-          </template>
-        </el-table-column>
-        <el-table-column prop="startTime" label="受理时间" show-overflow-tooltip width="170">
-          <template #default="{ row }">
-            <span>{{ formatDate(row.startTime, 'YYYY-mm-dd HH:MM:SS') }}</span>
-          </template>
-        </el-table-column>
-        <el-table-column prop="expiredTime" label="受理人" show-overflow-tooltip width="170">
-          <template #default="{ row }">
-            <span>{{ row.acceptorName}} <span v-if="row.acceptorStaffNo">[{{row.acceptorStaffNo}}]</span> </span>
-          </template>
-        </el-table-column>
-        <el-table-column prop="hotspotName" label="热点分类" show-overflow-tooltip width="200"></el-table-column>
-        <el-table-column prop="acceptType" label="受理类型" show-overflow-tooltip width="150"></el-table-column>
-        <el-table-column prop="actualHandleOrgName" label="接办部门" show-overflow-tooltip width="170"></el-table-column>
-        <el-table-column prop="actualHandleTime" label="接办时间" show-overflow-tooltip width="170">
-          <template #default="{ row }">
-            <span>{{ formatDate(row.actualHandleTime, 'YYYY-mm-dd HH:MM:SS') }}</span>
-          </template>
-        </el-table-column>
-        <el-table-column prop="statusText" label="状态" show-overflow-tooltip></el-table-column>
-        <el-table-column label="操作" width="120" fixed="right" align="center">
-          <template #default="{ row }">
-            <el-button link type="primary" @click="publish(row)" title="发布工单" v-auth="'business:publish:backlog:publish'"> 发布 </el-button>
-            <el-button link type="primary" @click="OnOrderRedo(row)" title="重办工单" v-auth="'business:publish:backlog:redo'"> 重办 </el-button>
-          </template>
-        </el-table-column>
-        <template #empty>
-          <Empty />
-        </template>
-      </el-table>
-      <!-- 分页 -->
-      <pagination
-          :total="state.total"
-          v-model:page="state.queryParams.PageIndex"
-          v-model:limit="state.queryParams.PageSize"
-          @pagination="queryList"
-      />
-    </el-card>
-    <!-- 工单发布详情 -->
-    <order-publish ref="orderPublishRef" @updateList="queryList" />
-    <!--  流程审批  -->
-    <process-approval ref="processApprovalRef" @orderProcessSuccess="queryList" />
-  </div>
+	<div class="business-publish-container layout-pd">
+		<!-- 搜索  -->
+		<el-card shadow="never">
+			<el-form :model="state.queryParams" ref="ruleFormRef" @submit.native.prevent class="mt15" label-width="100px">
+				<el-row :gutter="10">
+					<el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="8">
+						<el-form-item label="关键词" prop="Keyword">
+							<el-input v-model="state.queryParams.Keyword" placeholder="工单编码/标题" clearable @keyup.enter="queryList" />
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="8">
+						<el-form-item label=" ">
+							<el-button type="primary" @click="queryList" :loading="state.loading"> <SvgIcon name="ele-Search" class="mr5" />查询 </el-button>
+							<el-button @click="resetQuery(ruleFormRef)" v-waves class="default-button" :loading="state.loading">
+								<SvgIcon name="ele-Refresh" class="mr5" />重置
+							</el-button>
+						</el-form-item>
+					</el-col>
+				</el-row>
+			</el-form>
+		</el-card>
+		<el-card shadow="never">
+			<!-- 功能按钮 -->
+			<div class="mb20">
+				<el-button type="primary" @click="publishMultiple" v-auth="'business:publish:multiple'" :disabled="!multipleSelection.length">
+					<SvgIcon name="iconfont icon-tianjiawenjian" class="mr5" />批量发布
+				</el-button>
+			</div>
+			<!-- 表格 -->
+			<el-table :data="state.tableData" v-loading="state.loading" row-key="id" ref="multipleTableRef" @selection-change="handleSelectionChange">
+				<el-table-column type="selection" width="55" :selectable="selectable" />
+				<el-table-column prop="no" label="工单编码" show-overflow-tooltip width="150"></el-table-column>
+				<el-table-column prop="no" label="是否会签件" show-overflow-tooltip width="100"></el-table-column>
+				<el-table-column width="100" label="省/市工单" prop="isProvince">
+					<template #default="{ row }">
+						<span>{{ row.isProvince ? '省工单' : '市工单' }}</span>
+					</template>
+				</el-table-column>
+				<el-table-column label="工单标题" show-overflow-tooltip width="300">
+					<template #default="{ row }">
+						<span class="color-primary">{{ row.title }}</span>
+					</template>
+				</el-table-column>
+				<el-table-column prop="startTime" label="受理时间" show-overflow-tooltip width="170">
+					<template #default="{ row }">
+						<span>{{ formatDate(row.startTime, 'YYYY-mm-dd HH:MM:SS') }}</span>
+					</template>
+				</el-table-column>
+				<el-table-column prop="expiredTime" label="受理人" show-overflow-tooltip width="170">
+					<template #default="{ row }">
+						<span
+							>{{ row.acceptorName }} <span v-if="row.acceptorStaffNo">[{{ row.acceptorStaffNo }}]</span>
+						</span>
+					</template>
+				</el-table-column>
+				<el-table-column prop="hotspotName" label="热点分类" show-overflow-tooltip width="200"></el-table-column>
+				<el-table-column prop="acceptType" label="受理类型" show-overflow-tooltip width="150"></el-table-column>
+				<el-table-column prop="actualHandleOrgName" label="接办部门" show-overflow-tooltip width="170"></el-table-column>
+				<el-table-column prop="actualHandleTime" label="接办时间" show-overflow-tooltip width="170">
+					<template #default="{ row }">
+						<span>{{ formatDate(row.actualHandleTime, 'YYYY-mm-dd HH:MM:SS') }}</span>
+					</template>
+				</el-table-column>
+				<el-table-column prop="statusText" label="状态" show-overflow-tooltip></el-table-column>
+				<el-table-column label="操作" width="120" fixed="right" align="center">
+					<template #default="{ row }">
+						<el-button link type="primary" @click="publish(row)" title="发布工单" v-auth="'business:publish:backlog:publish'"> 发布 </el-button>
+						<el-button link type="primary" @click="OnOrderRedo(row)" title="重办工单" v-auth="'business:publish:backlog:redo'"> 重办 </el-button>
+					</template>
+				</el-table-column>
+				<template #empty>
+					<Empty />
+				</template>
+			</el-table>
+			<!-- 分页 -->
+			<pagination
+				:total="state.total"
+				v-model:page="state.queryParams.PageIndex"
+				v-model:limit="state.queryParams.PageSize"
+				@pagination="queryList"
+			/>
+		</el-card>
+		<!-- 工单发布详情 -->
+		<order-publish ref="orderPublishRef" @updateList="queryList" />
+		<!--  流程审批  -->
+		<process-audit ref="processAuditRef" @orderProcessSuccess="queryList" />
+	</div>
 </template>
 <script setup lang="ts" name="orderPublishBacklog">
 import { defineAsyncComponent, onMounted, reactive, ref } from 'vue';
-import {ElButton, ElMessage, ElMessageBox, FormInstance} from 'element-plus';
+import { ElButton, ElMessage, FormInstance } from 'element-plus';
 import { auth } from '/@/utils/authFunction';
 import { throttle } from '/@/utils/tools';
 import { formatDate } from '/@/utils/formatTime';
-import {publishList} from "/@/api/business/publish";
+import { publishList } from '/@/api/business/publish';
 // 引入组件
 const OrderPublish = defineAsyncComponent(() => import('/@/views/business/publish/component/Order-publish.vue'));
-const ProcessApproval = defineAsyncComponent(() => import('/@/components/ProcessApproval/index.vue'));  // 流程审批
+const ProcessAudit = defineAsyncComponent(() => import('/@/components/ProcessAudit/index.vue')); // 流程审批
 // 定义变量内容
 const ruleFormRef = ref<RefType>(); // 表单ref
 const state = reactive(<any>{
-  queryParams: {
-    // 查询条件
-    PageIndex: 1,
-    PageSize: 10,
-    Keyword: '', // 关键词
-  },
-  tableData: [], //表单
-  loading: false, // 加载
-  total: 0, // 总数
+	queryParams: {
+		// 查询条件
+		PageIndex: 1,
+		PageSize: 10,
+		Keyword: '', // 关键词
+	},
+	tableData: [], //表单
+	loading: false, // 加载
+	total: 0, // 总数
 });
 /** 获取列表 */
 const queryList = throttle(() => {
-  if (!auth('business:publish:backlog:query')) ElMessage.error('抱歉,您没有权限查看工单发布列表!');
-  else {
-    state.loading = true;
-    publishList(state.queryParams).then((res: any) => {
-      state.tableData = res.result?.items ?? [];
-      state.total = res.result?.total ?? 0;
-      state.loading = false;
-    }).catch((err: any) => {
-      state.loading = false;
-    })
-  }
+	if (!auth('business:publish:backlog:query')) ElMessage.error('抱歉,您没有权限查看工单发布列表!');
+	else {
+		state.loading = true;
+		publishList(state.queryParams)
+			.then((res: any) => {
+				state.tableData = res.result?.items ?? [];
+				state.total = res.result?.total ?? 0;
+				state.loading = false;
+			})
+			.catch((err: any) => {
+				state.loading = false;
+			});
+	}
 }, 300);
-const selectable = (row:any)=>{ //设置省工单不可选(不可批量发布)
-  return !row.isProvince;
-}
+const selectable = (row: any) => {
+	//设置省工单不可选(不可批量发布)
+	return !row.isProvince;
+};
 /** 重置按钮操作 */
 const resetQuery = throttle((formEl: FormInstance | undefined) => {
-  if (!formEl) return;
-  formEl.resetFields();
-  queryList();
+	if (!formEl) return;
+	formEl.resetFields();
+	queryList();
 }, 300);
 // 表格多选
-const multipleTableRef = ref<RefType>()
-const multipleSelection = ref<any>([])
+const multipleTableRef = ref<RefType>();
+const multipleSelection = ref<any>([]);
 const handleSelectionChange = (val: any[]) => {
-  multipleSelection.value = val
-}
+	multipleSelection.value = val;
+};
 // 批量发布
 const publishMultiple = () => {
-  console.log('批量发布');
+	console.log('批量发布');
 };
 // 发布
 const orderPublishRef = ref<RefType>(); // 工单发布详情ref
 const publish = (row: any) => {
-  orderPublishRef.value.openDialog(row);
+	orderPublishRef.value.openDialog(row);
 };
 // 工单重办
-const processApprovalRef = ref<RefType>();  // 流程审批ref
+const processAuditRef = ref<RefType>(); // 流程审批ref
 const OnOrderRedo = (row: any) => {
-  const params = {
-    id: row.workflowId,
-    processType: '工单重办',
-    orderDetail:row,
-    extra:{
-      dialogTitle: '工单重办',
-      inputPlaceholder:'重办意见',
-      annexName:"办理附件",
-    }
-  }
-  processApprovalRef.value.openDialog(params);
+	const params = {
+		id: row.workflowId,
+		processType: '工单重办',
+		orderDetail: row,
+		extra: {
+			dialogTitle: '工单重办',
+			inputPlaceholder: '重办意见',
+			annexName: '办理附件',
+		},
+	};
+	processAuditRef.value.openDialog(params);
 };
 onMounted(() => {
-  queryList();
+	queryList();
 });
 </script>
 
 <style scoped lang="scss">
 .business-publish-container {
-
 }
 </style>

+ 14 - 14
src/views/business/publish/index.vue

@@ -22,9 +22,7 @@
 		</el-card>
 		<el-card shadow="never">
 			<!-- 功能按钮 -->
-			<div class="mb20">
-
-			</div>
+			<div class="mb20"></div>
 			<!-- 表格 -->
 			<el-table :data="state.tableData" v-loading="state.loading" row-key="id" ref="multipleTableRef" @selection-change="handleSelectionChange">
 				<el-table-column type="selection" width="55" :selectable="selectable" />
@@ -47,7 +45,9 @@
 				</el-table-column>
 				<el-table-column label="受理人" show-overflow-tooltip width="170">
 					<template #default="{ row }">
-            <span>{{ row.order?.acceptorName}} <span v-if="row.order?.acceptorStaffNo">[{{row.order?.acceptorStaffNo}}]</span> </span>
+						<span
+							>{{ row.order?.acceptorName }} <span v-if="row.order?.acceptorStaffNo">[{{ row.order?.acceptorStaffNo }}]</span>
+						</span>
 					</template>
 				</el-table-column>
 				<el-table-column prop="order.hotspotName" label="热点分类" show-overflow-tooltip width="200"></el-table-column>
@@ -91,23 +91,23 @@
 		</el-card>
 		<!-- 工单发布详情 -->
 		<order-publish ref="orderPublishRef" @updateList="queryList" />
-    <!-- 工单发布修改 -->
-    <order-publish-edit ref="orderPublishEditRef" @updateList="queryList" />
+		<!-- 工单发布修改 -->
+		<order-publish-edit ref="orderPublishEditRef" @updateList="queryList" />
 		<!--  流程审批  -->
-		<process-approval ref="processApprovalRef" @orderProcessSuccess="queryList" />
+		<process-audit ref="processAuditRef" @orderProcessSuccess="queryList" />
 	</div>
 </template>
 <script setup lang="ts" name="orderPublish">
 import { defineAsyncComponent, onMounted, reactive, ref } from 'vue';
-import { ElButton, ElMessage, ElMessageBox, FormInstance } from 'element-plus';
+import { ElButton, ElMessage, FormInstance } from 'element-plus';
 import { auth } from '/@/utils/authFunction';
 import { throttle } from '/@/utils/tools';
 import { formatDate } from '/@/utils/formatTime';
 import { publishedList } from '/@/api/business/publish';
 // 引入组件
-const OrderPublish = defineAsyncComponent(() => import('/@/views/business/publish/component/Order-publish.vue'));  // 工单发布和查看详情
+const OrderPublish = defineAsyncComponent(() => import('/@/views/business/publish/component/Order-publish.vue')); // 工单发布和查看详情
 const OrderPublishEdit = defineAsyncComponent(() => import('/@/views/business/publish/component/Order-publish-edit.vue')); // 工单发布修改
-const ProcessApproval = defineAsyncComponent(() => import('/@/components/ProcessApproval/index.vue')); // 流程审批
+const ProcessAudit = defineAsyncComponent(() => import('/@/components/ProcessAudit/index.vue')); // 流程审批
 // 定义变量内容
 const ruleFormRef = ref<RefType>(); // 表单ref
 const state = reactive(<any>{
@@ -160,10 +160,10 @@ const publishMultiple = () => {
 // 修改发布
 const orderPublishEditRef = ref<RefType>(); // 工单发布修改ref
 const editPublish = (row: any) => {
-  orderPublishEditRef.value.openDialog(row);
+	orderPublishEditRef.value.openDialog(row);
 };
 // 工单重办
-const processApprovalRef = ref<RefType>(); // 流程审批ref
+const processAuditRef = ref<RefType>(); // 流程审批ref
 const OnOrderRedo = (row: any) => {
 	const params = {
 		id: row.order.workflowId,
@@ -175,12 +175,12 @@ const OnOrderRedo = (row: any) => {
 			annexName: '办理附件',
 		},
 	};
-	processApprovalRef.value.openDialog(params);
+	processAuditRef.value.openDialog(params);
 };
 // 发布详情
 const orderPublishRef = ref<RefType>(); // 工单发布ref
 const publishDetail = (row: any) => {
-  orderPublishRef.value.openDialog(row,true);
+	orderPublishRef.value.openDialog(row, true);
 };
 onMounted(() => {
 	queryList();

+ 154 - 0
src/views/business/repeatEvent/index.vue

@@ -0,0 +1,154 @@
+<template>
+  <div class="quality-lexicon-container layout-pd">
+    <el-card shadow="never">
+      <el-form :model="state.queryParams" ref="ruleFormRef" :inline="true" @submit.native.prevent>
+        <el-form-item label="市民联系方式" prop="Name">
+          <el-input v-model="state.queryParams.Name" placeholder="请输入市民联系方式" clearable @keyup.enter="queryList" style="width: 250px" />
+        </el-form-item>
+        <el-form-item label="市民标签" prop="Name">
+          <el-input v-model="state.queryParams.Name" placeholder="请输入市民标签" clearable @keyup.enter="queryList" style="width: 250px" />
+        </el-form-item>
+        <el-form-item>
+          <el-button type="primary" @click="queryList" :loading="state.loading"> <SvgIcon name="ele-Search" class="mr5" />查询 </el-button>
+          <el-button @click="resetQuery(ruleFormRef)" v-waves class="default-button"> <SvgIcon name="ele-Refresh" class="mr5" />重置 </el-button>
+        </el-form-item>
+      </el-form>
+    </el-card>
+    <el-card shadow="never">
+      <el-table :data="state.tableData" v-loading="state.loading" row-key="id" ref="multipleTableRef" @selection-change="handleSelectionChange">
+        <el-table-column type="selection" width="55" />
+        <el-table-column prop="phoneNumber" label="重复事件编码" show-overflow-tooltip width="200"></el-table-column>
+        <el-table-column prop="label" label="重复事件标题" show-overflow-tooltip width="400"></el-table-column>
+        <el-table-column prop="label" label="关键词" show-overflow-tooltip width="300"></el-table-column>
+        <el-table-column prop="creatorName" label="创建人" show-overflow-tooltip></el-table-column>
+        <el-table-column prop="creationTime" label="创建时间" show-overflow-tooltip width="170">
+          <template #default="{ row }">
+            <span>{{ formatDate(row.creationTime, 'YYYY-mm-dd HH:MM:SS') }}</span>
+          </template>
+        </el-table-column>
+        <el-table-column prop="lastModificationName" label="更新人" show-overflow-tooltip></el-table-column>
+        <el-table-column prop="lastModificationTime" label="更新时间" show-overflow-tooltip width="170">
+          <template #default="{ row }">
+            <span>{{ formatDate(row.lastModificationTime, 'YYYY-mm-dd HH:MM:SS') }}</span>
+          </template>
+        </el-table-column>
+        <el-table-column label="操作" width="140" fixed="right" align="center">
+          <template #default="{ row }">
+            <el-button link type="primary" @click="onTagsRecord(row)" v-auth="'business:repeatEvent:detail'" title="查看重复性详情"> 事件详情 </el-button>
+            <el-button link type="primary" @click="onTagsEdit(row)" v-auth="'business:repeatEvent:edit'" title="编辑重复性事件"> 编辑 </el-button>
+          </template>
+        </el-table-column>
+        <template #empty>
+          <Empty />
+        </template>
+      </el-table>
+      <!-- 分页 -->
+      <pagination
+          :total="state.total"
+          v-model:page="state.queryParams.PageIndex"
+          v-model:limit="state.queryParams.PageSize"
+          @pagination="queryList"
+      />
+    </el-card>
+    <!-- 标签记录   -->
+    <tags-record  ref="tagsRecordRef"/>
+    <!-- 编辑市民画像   -->
+    <tags-edit ref="TagsEditRef" @updateList="queryList" />
+  </div>
+</template>
+
+<script lang="ts" setup name="businessRepeatEvent">
+import { reactive, ref, onMounted, defineAsyncComponent } from 'vue';
+import { ElMessage, ElMessageBox, FormInstance } from 'element-plus';
+import { formatDate } from '/@/utils/formatTime';
+import {auth} from "/@/utils/authFunction";
+import {citizenList,citizenDelete} from "/@/api/business/citizen"
+
+// 引入组件
+const TagsRecord = defineAsyncComponent(() => import('/@/views/business/citizen/components/Tags-record.vue')); // 标签记录
+const TagsEdit = defineAsyncComponent(() => import('/@/views/business/citizen/components/Tags-edit.vue')); // 标签编辑
+
+// 定义变量内容
+const state = reactive<any>({
+  loading: false, // 加载状态
+  queryParams: {
+    // 查询参数
+    PageIndex: 1,
+    PageSize: 10,
+    Classify: null,
+    Type: null,
+    Name:''
+  },
+  total: 0, // 总条数
+  tableData: [], // 表格数据
+});
+const ruleFormRef = ref<RefType>(null); // 表单ref
+// 获取参数列表
+const queryList = () => {
+  state.loading = true;
+  if (!auth('business:repeatEvent:query')) ElMessage.error('抱歉,您没有权限获取市民画像列表!');
+  else {
+    citizenList(state.queryParams)
+        .then((res) => {
+          state.loading = false;
+          state.tableData = res.result.items ?? [];
+          state.total = res.result.total ?? 0;
+        })
+        .finally(() => {
+          state.loading = false;
+        });
+  }
+};
+// 重置表单
+const resetQuery = (formEl: FormInstance | undefined) => {
+  if (!formEl) return;
+  formEl.resetFields();
+  queryList();
+};
+// 标签记录
+const tagsRecordRef = ref<RefType>();
+const onTagsRecord = (row:any) => {
+  tagsRecordRef.value.openDialog(row);
+};
+// 编辑标签
+const TagsEditRef = ref<RefType>();
+const onTagsEdit = (row: any) => {
+  TagsEditRef.value.openDialog(row);
+};
+// 表格多选
+const multipleTableRef = ref<RefType>();
+const multipleSelection = ref<any>([]);
+const handleSelectionChange = (val: any[]) => {
+  multipleSelection.value = val;
+};
+// 删除参数
+const onLexiconDelete = () => {
+  const names = multipleSelection.value.map((item: any) => item.name).join('、');
+  const ids = multipleSelection.value.map((item: any) => item.id);
+  ElMessageBox.confirm(`您确定要删除:【${names}】市民画像,是否继续?`, '提示', {
+    confirmButtonText: '确认',
+    cancelButtonText: '取消',
+    type: 'warning',
+    draggable: true,
+    cancelButtonClass: 'default-button',
+    autofocus: false,
+  })
+      .then(() => {
+        citizenDelete({ids}).then(() => {
+          ElMessage.success('操作成功');
+          queryList();
+        });
+      })
+      .catch(() => {});
+};
+// 页面加载时
+onMounted(() => {
+  queryList();
+});
+</script>
+
+<style lang="scss" scoped>
+.quality-lexicon-container {
+
+}
+</style>

+ 5 - 7
src/views/tels/restApply/index.vue

@@ -107,10 +107,8 @@
 				@pagination="queryList"
 			/>
 		</el-card>
-
-		<!-- 流程 -->
-		<process-approval ref="processApprovalRef" @orderProcessSuccess="orderProcessSuccess" @orderProcessFailed="handleQuery" />
-
+		<!-- 流程审配 -->
+		<process-audit ref="processAuditRef" @orderProcessSuccess="orderProcessSuccess" />
 		<!-- 流转记录 -->
 		<audit-record ref="AuditRecordRef" />
 	</div>
@@ -126,7 +124,7 @@ import { commonEnum, shortcuts } from '/@/utils/constants';
 import other from '/@/utils/other';
 // 引入组件
 const AuditRecord = defineAsyncComponent(() => import('/@/components/AuditRecord/index.vue'));  // 流转记录
-const ProcessApproval = defineAsyncComponent(() => import('/@/components/ProcessApproval/index.vue')); // 审批流程
+const ProcessAudit = defineAsyncComponent(() => import('/@/components/ProcessAudit/index.vue')); // 审批流程
 
 // 定义变量内容
 const state = reactive<any>({
@@ -180,7 +178,7 @@ const resetQuery = debounce((formEl: FormInstance | undefined) => {
 	handleQuery();
 }, 300);
 // 办理 下一步
-const processApprovalRef = ref<RefType>();
+const processAuditRef = ref<RefType>();
 const onSubmit = debounce((row: any) => {
   const params = {
     id: row.workflowId,
@@ -192,7 +190,7 @@ const onSubmit = debounce((row: any) => {
       annexName: '办理附件',
     },
   }
-  processApprovalRef.value.openDialog(params);
+  processAuditRef.value.openDialog(params);
 }, 1000);
 // 审核记录
 const AuditRecordRef = ref<RefType>();