From a8a13515268a04e05af3f36d6b40b694d34b5622 Mon Sep 17 00:00:00 2001
From: yaowanxin <3588231647@qq.com>
Date: 星期一, 08 九月 2025 18:02:06 +0800
Subject: [PATCH] 用印管理页面调整,接口
---
src/api/collaborativeApproval/sealManagement.js | 83 ++++++++++
src/views/collaborativeApproval/sealManagement/index.vue | 365 +++++++++++++++++++++++++++++----------------
2 files changed, 315 insertions(+), 133 deletions(-)
diff --git a/src/api/collaborativeApproval/sealManagement.js b/src/api/collaborativeApproval/sealManagement.js
new file mode 100644
index 0000000..5a0293a
--- /dev/null
+++ b/src/api/collaborativeApproval/sealManagement.js
@@ -0,0 +1,83 @@
+import request from "@/utils/request";
+
+// 鏌ヨ鍗扮珷鐢宠鍒楄〃
+export function listSealApplication(page,query) {
+ return request({
+ url: "/sealApplicationManagement/getList",
+ method: "get",
+ params: {
+ ...page,
+ ...query},
+ });
+}
+// 鏌ヨ瑙勭珷鍒跺害鍒楄〃
+export function listRuleManagement(page,query) {
+ return request({
+ url: "/rulesRegulationsManagement/getList",
+ method: "get",
+ params: {
+ ...page,
+ ...query},
+ });
+}
+
+// 鏂板鍗扮珷鐢宠
+export function addSealApplication(data) {
+ return request({
+ url: "/sealApplicationManagement/add",
+ method: "post",
+ data: data,
+ });
+}
+// 鏂板瑙勭珷鍒跺害
+export function addRuleManagement(data) {
+ return request({
+ url: "/rulesRegulationsManagement/add",
+ method: "post",
+ data: data,
+ });
+}
+
+// 淇敼鍗扮珷鐢宠
+export function updateSealApplication(data) {
+ return request({
+ url: "/sealApplicationManagement/update",
+ method: "post",
+ data: data,
+ });
+}
+// 淇敼瑙勭珷鍒跺害
+export function updateRuleManagement(data) {
+ return request({
+ url: "/rulesRegulationsManagement/update",
+ method: "post",
+ data: data,
+ });
+}
+
+// 鍒犻櫎鍗扮珷鐢宠
+export function delSealApplication(query) {
+ return request({
+ url: "/sealApplicationManagement/delete",
+ method: "delete",
+ data: query,
+ });
+}
+// 鍒犻櫎瑙勭珷鍒跺害
+export function delRuleManagement(query) {
+ return request({
+ url: "/rulesRegulationsManagement/delete",
+ method: "delete",
+ data: query,
+ });
+}
+
+// 鎵归噺鍒犻櫎鐭ヨ瘑搴�
+export function delKnowledgeBaseBatch(knowledgeBaseIds) {
+ return request({
+ url: "/knowledgeBase/batch",
+ method: "delete",
+ data: knowledgeBaseIds,
+ });
+}
+
diff --git a/src/views/collaborativeApproval/sealManagement/index.vue b/src/views/collaborativeApproval/sealManagement/index.vue
index 2d3e62f..0ee068b 100644
--- a/src/views/collaborativeApproval/sealManagement/index.vue
+++ b/src/views/collaborativeApproval/sealManagement/index.vue
@@ -17,7 +17,7 @@
<div class="tab-content">
<el-row :gutter="20" class="mb-20">
<el-col :span="6">
- <el-input v-model="sealSearchForm.keyword" placeholder="璇疯緭鍏ョ敵璇锋爣棰樻垨鐢宠浜�" clearable />
+ <el-input v-model="sealSearchForm.title" placeholder="璇疯緭鍏ョ敵璇锋爣棰�" clearable />
</el-col>
<el-col :span="4">
<el-select v-model="sealSearchForm.status" placeholder="瀹℃壒鐘舵��" clearable>
@@ -32,13 +32,17 @@
</el-col>
</el-row>
- <el-table :data="sealApplications" style="width: 100%">
- <el-table-column prop="id" label="鐢宠缂栧彿" width="120" />
+ <el-table :data="sealApplications" border v-loading="tableLoading" style="width: 100%">
+ <el-table-column prop="applicationNum" label="鐢宠缂栧彿" width="120" />
<el-table-column prop="title" label="鐢宠鏍囬" min-width="200" />
- <el-table-column prop="applicant" label="鐢宠浜�" width="120" />
+ <el-table-column prop="createUserName" label="鐢宠浜�" width="120" />
<el-table-column prop="department" label="鎵�灞為儴闂�" width="150" />
- <el-table-column prop="sealType" label="鐢ㄥ嵃绫诲瀷" width="120" />
- <el-table-column prop="applyTime" label="鐢宠鏃堕棿" width="180" />
+ <el-table-column prop="sealType" label="鐢ㄥ嵃绫诲瀷" width="120">
+ <template #default="scope">
+ {{ getSealTypeText(scope.row.sealType) }}
+ </template>
+ </el-table-column>
+ <el-table-column prop="createTime" label="鐢宠鏃堕棿" width="180" />
<el-table-column prop="status" label="鐘舵��" width="100">
<template #default="scope">
<el-tag :type="getStatusType(scope.row.status)">
@@ -76,7 +80,7 @@
<div class="tab-content">
<el-row :gutter="20" class="mb-20">
<el-col :span="6">
- <el-input v-model="regulationSearchForm.keyword" placeholder="璇疯緭鍏ュ埗搴︽爣棰樻垨鍙戝竷浜�" clearable />
+ <el-input v-model="regulationSearchForm.title" placeholder="璇疯緭鍏ュ埗搴︽爣棰�" clearable />
</el-col>
<el-col :span="4">
<el-select v-model="regulationSearchForm.category" placeholder="鍒跺害鍒嗙被" clearable>
@@ -89,14 +93,14 @@
<el-col :span="8">
<el-button type="primary" @click="searchRegulations">鎼滅储</el-button>
<el-button @click="resetRegulationSearch">閲嶇疆</el-button>
- <el-button type="success" @click="showRegulationDialog = true">
+ <el-button type="success" @click="handleAdd">
鍙戝竷鍒跺害
</el-button>
</el-col>
</el-row>
- <el-table :data="regulations" style="width: 100%">
- <el-table-column prop="id" label="鍒跺害缂栧彿" width="120" />
+ <el-table :data="regulations" border v-loading="tableLoading" style="width: 100%">
+ <el-table-column prop="regulationNum" label="鍒跺害缂栧彿" width="120" />
<el-table-column prop="title" label="鍒跺害鏍囬" min-width="200" />
<el-table-column prop="category" label="鍒嗙被" width="120">
<template #default="scope">
@@ -104,8 +108,8 @@
</template>
</el-table-column>
<el-table-column prop="version" label="鐗堟湰" width="80" />
- <el-table-column prop="publisher" label="鍙戝竷浜�" width="120" />
- <el-table-column prop="publishTime" label="鍙戝竷鏃堕棿" width="180" />
+ <el-table-column prop="createUserName" label="鍙戝竷浜�" width="120" />
+ <el-table-column prop="createTime" label="鍙戝竷鏃堕棿" width="180" />
<el-table-column prop="status" label="鐘舵��" width="100">
<template #default="scope">
<el-tag :type="scope.row.status === 'active' ? 'success' : 'info'">
@@ -117,12 +121,22 @@
<el-table-column label="鎿嶄綔" width="250" fixed="right">
<template #default="scope">
<el-button link @click="viewRegulation(scope.row)">鏌ョ湅</el-button>
- <el-button link type="primary" @click="editRegulation(scope.row)">缂栬緫</el-button>
+ <el-button link type="primary" @click="handleEdit(scope.row)">缂栬緫</el-button>
+ <el-button link type="danger" @click="repealEdit(scope.row)">搴熷純</el-button>
<el-button link type="success" @click="viewVersionHistory(scope.row)">鐗堟湰鍘嗗彶</el-button>
<el-button link type="warning" @click="viewReadStatus(scope.row)">闃呰鐘舵��</el-button>
</template>
</el-table-column>
</el-table>
+ <!-- 鍒嗛〉 -->
+ <pagination
+ v-show="total > 0"
+ :total="total"
+ layout="total, sizes, prev, pager, next, jumper"
+ :page="page.current"
+ :limit="page.size"
+ @pagination="paginationChange"
+ />
</div>
</el-tab-pane>
</el-tabs>
@@ -131,6 +145,9 @@
<!-- 鐢ㄥ嵃鐢宠瀵硅瘽妗� -->
<el-dialog v-model="showSealApplyDialog" title="鐢宠鐢ㄥ嵃" width="600px">
<el-form :model="sealForm" :rules="sealRules" ref="sealFormRef" label-width="100px">
+ <el-form-item label="鐢宠缂栧彿" prop="applicationNum">
+ <el-input v-model="sealForm.applicationNum" placeholder="璇疯緭鍏ョ敵璇风紪鍙�" />
+ </el-form-item>
<el-form-item label="鐢宠鏍囬" prop="title">
<el-input v-model="sealForm.title" placeholder="璇疯緭鍏ョ敵璇锋爣棰�" />
</el-form-item>
@@ -162,8 +179,11 @@
</el-dialog>
<!-- 瑙勭珷鍒跺害鍙戝竷瀵硅瘽妗� -->
- <el-dialog v-model="showRegulationDialog" title="鍙戝竷瑙勭珷鍒跺害" width="800px">
+ <el-dialog v-model="showRegulationDialog" :title="operationType === 'add' ? '鍙戝竷鍒跺害' : '缂栬緫鍒跺害'" width="800px">
<el-form :model="regulationForm" :rules="regulationRules" ref="regulationFormRef" label-width="100px">
+ <el-form-item label="鍒跺害缂栧彿" prop="regulationNum">
+ <el-input v-model="regulationForm.regulationNum" placeholder="璇疯緭鍏ュ埗搴︾紪鍙�" />
+ </el-form-item>
<el-form-item label="鍒跺害鏍囬" prop="title">
<el-input v-model="regulationForm.title" placeholder="璇疯緭鍏ュ埗搴︽爣棰�" />
</el-form-item>
@@ -178,8 +198,12 @@
<el-form-item label="鍒跺害鍐呭" prop="content">
<el-input v-model="regulationForm.content" type="textarea" :rows="10" placeholder="璇疯緭鍏ュ埗搴﹁缁嗗唴瀹�" />
</el-form-item>
+ <el-form-item label="鍒跺害鐗堟湰" prop="version">
+ <el-input v-model="regulationForm.version" placeholder="璇疯緭鍏ュ埗搴︾増鏈�" />
+ </el-form-item>
<el-form-item label="鐢熸晥鏃堕棿" prop="effectiveTime">
- <el-date-picker v-model="regulationForm.effectiveTime" type="datetime" placeholder="閫夋嫨鐢熸晥鏃堕棿" style="width: 100%" />
+ <el-date-picker v-model="regulationForm.effectiveTime" type="datetime" format="YYYY-MM-DD HH:mm:ss"
+ value-format="YYYY-MM-DD HH:mm:ss" placeholder="閫夋嫨鐢熸晥鏃堕棿" style="width: 100%" />
</el-form-item>
<el-form-item label="閫傜敤鑼冨洿" prop="scope">
<el-checkbox-group v-model="regulationForm.scope">
@@ -209,10 +233,10 @@
<el-descriptions :column="2" border>
<el-descriptions-item label="鐢宠缂栧彿">{{ currentSealDetail.id }}</el-descriptions-item>
<el-descriptions-item label="鐢宠鏍囬">{{ currentSealDetail.title }}</el-descriptions-item>
- <el-descriptions-item label="鐢宠浜�">{{ currentSealDetail.applicant }}</el-descriptions-item>
+ <el-descriptions-item label="鐢宠浜�">{{ currentSealDetail.createUserName }}</el-descriptions-item>
<el-descriptions-item label="鎵�灞為儴闂�">{{ currentSealDetail.department }}</el-descriptions-item>
- <el-descriptions-item label="鐢ㄥ嵃绫诲瀷">{{ currentSealDetail.sealType }}</el-descriptions-item>
- <el-descriptions-item label="鐢宠鏃堕棿">{{ currentSealDetail.applyTime }}</el-descriptions-item>
+ <el-descriptions-item label="鐢ㄥ嵃绫诲瀷">{{ getSealTypeText(currentSealDetail.sealType) }}</el-descriptions-item>
+ <el-descriptions-item label="鐢宠鏃堕棿">{{ currentSealDetail.createTime }}</el-descriptions-item>
<el-descriptions-item label="鐘舵��">
<el-tag :type="getStatusType(currentSealDetail.status)">
{{ getStatusText(currentSealDetail.status) }}
@@ -231,8 +255,8 @@
<el-descriptions-item label="鍒跺害鏍囬">{{ currentRegulationDetail.title }}</el-descriptions-item>
<el-descriptions-item label="鍒嗙被">{{ getCategoryText(currentRegulationDetail.category) }}</el-descriptions-item>
<el-descriptions-item label="鐗堟湰">{{ currentRegulationDetail.version }}</el-descriptions-item>
- <el-descriptions-item label="鍙戝竷浜�">{{ currentRegulationDetail.publisher }}</el-descriptions-item>
- <el-descriptions-item label="鍙戝竷鏃堕棿">{{ currentRegulationDetail.publishTime }}</el-descriptions-item>
+ <el-descriptions-item label="鍙戝竷浜�">{{ currentRegulationDetail.createUserName }}</el-descriptions-item>
+ <el-descriptions-item label="鍙戝竷鏃堕棿">{{ currentRegulationDetail.createTime }}</el-descriptions-item>
</el-descriptions>
<div class="mt-20">
<h4>鍒跺害鍐呭</h4>
@@ -274,33 +298,44 @@
import { ref, reactive, onMounted } from 'vue'
import { ElMessage, ElMessageBox } from 'element-plus'
import { Plus } from '@element-plus/icons-vue'
+import { listSealApplication, addSealApplication, updateSealApplication,listRuleManagement,addRuleManagement,updateRuleManagement,delRuleManagement } from '@/api/collaborativeApproval/sealManagement.js'
+import { el } from 'element-plus/es/locales.mjs'
// 鍝嶅簲寮忔暟鎹�
const activeTab = ref('seal')
-
+const operationType = ref('add')
// 鐢ㄥ嵃鐢宠鐩稿叧
const showSealApplyDialog = ref(false)
+const tableLoading = ref(false)
const showSealDetailDialog = ref(false)
const currentSealDetail = ref(null)
const sealFormRef = ref()
const sealForm = reactive({
+ applicationNum: '',
title: '',
sealType: '',
reason: '',
- urgency: 'normal'
+ urgency: 'normal',
+ status: 'pending'
})
const sealRules = {
+ applicationNum: [{ required: true, message: '璇疯緭鍏ョ敵璇风紪鍙�', trigger: 'blur' }],
title: [{ required: true, message: '璇疯緭鍏ョ敵璇锋爣棰�', trigger: 'blur' }],
sealType: [{ required: true, message: '璇烽�夋嫨鐢ㄥ嵃绫诲瀷', trigger: 'change' }],
reason: [{ required: true, message: '璇疯緭鍏ョ敵璇峰師鍥�', trigger: 'blur' }]
}
const sealSearchForm = reactive({
- keyword: '',
+ title: '',
status: ''
})
-
+// 鍒嗛〉鍙傛暟
+const page = reactive({
+ current: 1,
+ size: 10,
+ total: 0
+})
// 瑙勭珷鍒跺害鐩稿叧
const showRegulationDialog = ref(false)
const showRegulationDetailDialog = ref(false)
@@ -309,12 +344,17 @@
const currentRegulationDetail = ref(null)
const regulationFormRef = ref()
const regulationForm = reactive({
+ id: '',
+ regulationNum: '',
title: '',
category: '',
content: '',
+ version: '',
+ status: 'active',
+ readCount: 0,
effectiveTime: '',
scope: [],
- requireConfirm: true
+ requireConfirm: false
})
const regulationRules = {
@@ -326,79 +366,14 @@
}
const regulationSearchForm = reactive({
- keyword: '',
+ title: '',
category: ''
})
// 鍋囨暟鎹�
-const sealApplications = ref([
- {
- id: 'SEAL001',
- title: '鍚堝悓鐢ㄥ嵃鐢宠',
- applicant: '闄堝織寮�',
- department: '閿�鍞儴',
- sealType: '鍚堝悓涓撶敤绔�',
- applyTime: '2025-01-15 10:30:00',
- status: 'pending',
- reason: '瀹㈡埛鍚堝悓闇�瑕佺洊绔�'
- },
- {
- id: 'SEAL002',
- title: '璐㈠姟鎶ュ憡鐢ㄥ嵃',
- applicant: '鐜嬪缓鍥�',
- department: '璐㈠姟閮�',
- sealType: '璐㈠姟涓撶敤绔�',
- applyTime: '2025-01-14 14:20:00',
- status: 'approved',
- reason: '瀛e害璐㈠姟鎶ュ憡闇�瑕佺洊绔�'
- },
- {
- id: 'SEAL003',
- title: '鍏徃绔犵▼鐢ㄥ嵃',
- applicant: '瀛欐槑鍗�',
- department: '娉曞姟閮�',
- sealType: '鍏珷',
- applyTime: '2025-01-13 09:15:00',
- status: 'rejected',
- reason: '鍏徃绔犵▼淇敼闇�瑕佺洊绔�'
- }
-])
+const sealApplications = ref([])
-const regulations = ref([
- {
- id: 'REG001',
- title: '鍛樺伐鑰冨嫟绠$悊鍒跺害',
- category: 'hr',
- version: 'v2.1',
- publisher: '浜轰簨閮�',
- publishTime: '2025-01-10 09:00:00',
- status: 'active',
- readCount: 45,
- content: '涓鸿鑼冨憳宸ヨ�冨嫟绠$悊锛屾彁楂樺伐浣滄晥鐜囷紝鐗瑰埗瀹氭湰鍒跺害...'
- },
- {
- id: 'REG002',
- title: '璐㈠姟鎶ラ攢鍒跺害',
- category: 'finance',
- version: 'v1.5',
- publisher: '璐㈠姟閮�',
- publishTime: '2025-01-08 14:30:00',
- status: 'active',
- readCount: 38,
- content: '涓鸿鑼冭储鍔℃姤閿�娴佺▼锛屽姞寮鸿储鍔$鐞嗭紝鐗瑰埗瀹氭湰鍒跺害...'
- },
- {
- id: 'REG003',
- title: '瀹夊叏鐢熶骇绠$悊鍒跺害',
- category: 'safety',
- version: 'v3.0',
- publisher: '瀹夊叏閮�',
- publishTime: '2025-01-05 16:00:00',
- status: 'active',
- readCount: 52,
- content: '涓虹‘淇濆憳宸ヤ汉韬畨鍏紝棰勯槻瀹夊叏浜嬫晠鍙戠敓锛岀壒鍒跺畾鏈埗搴�...'
- }
-])
+const regulations = ref([])
const versionHistory = ref([
{ version: 'v2.1', updateTime: '2025-01-10 09:00:00', updater: '浜轰簨閮�', changeLog: '鏇存柊鑰冨嫟鏃堕棿瑙勫畾' },
@@ -412,7 +387,7 @@
{ employee: '鐜嬪缓鍥�', department: '璐㈠姟閮�', readTime: '2025-01-12 09:15:00', confirmTime: '2025-01-12 09:20:00', status: 'confirmed' }
])
-// 鏂规硶
+// 鐢ㄥ嵃鐢宠鐘舵��
const getStatusType = (status) => {
const statusMap = {
pending: 'warning',
@@ -421,7 +396,7 @@
}
return statusMap[status] || 'info'
}
-
+// 鍒跺害鐘舵��
const getStatusText = (status) => {
const statusMap = {
pending: '寰呭鎵�',
@@ -430,7 +405,17 @@
}
return statusMap[status] || '鏈煡'
}
-
+// 鐢ㄥ嵃绫诲瀷
+const getSealTypeText = (sealType) => {
+ const sealTypeMap = {
+ official: '鍏珷',
+ contract: '鍚堝悓涓撶敤绔�',
+ finance: '璐㈠姟涓撶敤绔�',
+ tegal: '鎶�鏈笓鐢ㄧ珷'
+ }
+ return sealTypeMap[sealType] || '鏈煡'
+}
+// 鍒跺害鍒嗙被
const getCategoryText = (category) => {
const categoryMap = {
hr: '浜轰簨鍒跺害',
@@ -440,77 +425,159 @@
}
return categoryMap[category] || '鏈煡'
}
-
+// 鎼滅储鍗扮珷鐢宠
const searchSealApplications = () => {
- ElMessage.success('鎼滅储瀹屾垚')
-}
+ page.current=1
+ getSealApplicationList()
+ // ElMessage.success('鎼滅储瀹屾垚')
+}
+// 閲嶇疆鍗扮珷鐢宠鎼滅储
const resetSealSearch = () => {
- sealSearchForm.keyword = ''
+ sealSearchForm.title = ''
sealSearchForm.status = ''
searchSealApplications()
}
-
+// 鎼滅储鍒跺害
const searchRegulations = () => {
- ElMessage.success('鎼滅储瀹屾垚')
+ page.current=1
+ getRegulationList()
}
-
+// 閲嶇疆鍒跺害鎼滅储
const resetRegulationSearch = () => {
- regulationSearchForm.keyword = ''
+ regulationSearchForm.title = ''
regulationSearchForm.category = ''
searchRegulations()
}
-
+// 鎻愪氦鐢ㄥ嵃鐢宠
const submitSealApplication = async () => {
try {
await sealFormRef.value.validate()
- ElMessage.success('鐢宠鎻愪氦鎴愬姛')
- showSealApplyDialog.value = false
- Object.assign(sealForm, {
- title: '',
- sealType: '',
- reason: '',
- urgency: 'normal'
+ addSealApplication(sealForm).then(res => {
+ if(res.code == 200){
+ ElMessage.success('鐢宠鎻愪氦鎴愬姛')
+ showSealApplyDialog.value = false
+ getSealApplicationList()
+ Object.assign(sealForm, {
+ applicationNum: '',
+ title: '',
+ sealType: '',
+ reason: '',
+ urgency: 'normal',
+ status: 'pending'
+ })
+ }
+ }).catch(err => {
+ ElMessage.error(err.msg)
})
+
} catch (error) {
ElMessage.error('璇峰畬鍠勭敵璇蜂俊鎭�')
}
}
+// 鏂板
+const handleAdd = () => {
+ operationType.value = 'add'
+ resetRegulationForm()
+ showRegulationDialog.value = true
+}
+// 缂栬緫
+const handleEdit = (row) => {
+ operationType.value = 'edit'
+ Object.assign(regulationForm, row)
+ showRegulationDialog.value = true
+}
+// 搴熷純
+const repealEdit = (row) => {
+ operationType.value = 'edit'
+ Object.assign(regulationForm, row)
+ regulationForm.status = 'repealed'
+ ElMessageBox.confirm('纭搴熷純璇ュ埗搴︼紵', '鎻愮ず', {
+ confirmButtonText: '纭畾',
+ cancelButtonText: '鍙栨秷',
+ type: 'warning'
+ }).then(() => {
+ updateRuleManagement(regulationForm).then(res => {
+ if(res.code == 200){
+ ElMessage.success('鍒跺害搴熷純鎴愬姛')
+ // showRegulationDialog.value = false
+ getRegulationList()
+ resetRegulationForm()
+ }
+ })
+ }).catch(() => {
+ ElMessage({
+ type: 'info',
+ message: '宸插彇娑堝簾寮�'
+ })
+ })
+}
+// 鍙戝竷鍒跺害
const submitRegulation = async () => {
try {
await regulationFormRef.value.validate()
- ElMessage.success('鍒跺害鍙戝竷鎴愬姛')
- showRegulationDialog.value = false
- Object.assign(regulationForm, {
- title: '',
- category: '',
- content: '',
- effectiveTime: '',
- scope: [],
- requireConfirm: true
- })
- } catch (error) {
- ElMessage.error('璇峰畬鍠勫埗搴︿俊鎭�')
+ if(operationType.value == 'add'){
+ addRuleManagement(regulationForm).then(res => {
+ if(res.code == 200){
+ ElMessage.success('鍒跺害鍙戝竷鎴愬姛')
+ showRegulationDialog.value = false
+ getRegulationList()
+ resetRegulationForm()
+ }
+ })
+ }else{
+ updateRuleManagement(regulationForm).then(res => {
+ if(res.code == 200){
+ ElMessage.success('鍒跺害缂栬緫鎴愬姛')
+ showRegulationDialog.value = false
+ resetRegulationForm()
+ getRegulationList()
+ }})}
+ }catch(err){
+ ElMessage.error(err.msg)
}
+}
+//閲嶇疆鍒跺害琛ㄥ崟
+const resetRegulationForm = () => {
+ Object.assign(regulationForm, {
+ id: '',
+ regulationNum: '',
+ title: '',
+ category: '',
+ content: '',
+ version: '',
+ status: 'active',
+ readCount: 0,
+ effectiveTime: '',
+ scope: [],
+ requireConfirm: false
+})
}
+
+// 鏌ョ湅鐢ㄥ嵃鐢宠璇︽儏
const viewSealDetail = (row) => {
currentSealDetail.value = row
showSealDetailDialog.value = true
}
-
+// 瀹℃壒鐢ㄥ嵃鐢宠
const approveSeal = (row) => {
+ console.log(row)
ElMessageBox.confirm('纭閫氳繃璇ョ敤鍗扮敵璇凤紵', '鎻愮ず', {
confirmButtonText: '纭畾',
cancelButtonText: '鍙栨秷',
type: 'warning'
}).then(() => {
row.status = 'approved'
- ElMessage.success('瀹℃壒閫氳繃')
+ updateSealApplication(row).then(res => {
+ if(res.code == 200){
+ ElMessage.success('瀹℃壒閫氳繃')
+ }
+ })
})
}
-
+// 鎷掔粷鐢ㄥ嵃鐢宠
const rejectSeal = (row) => {
ElMessageBox.prompt('璇疯緭鍏ユ嫆缁濆師鍥�', '鎻愮ず', {
confirmButtonText: '纭畾',
@@ -519,29 +586,61 @@
inputErrorMessage: '鎷掔粷鍘熷洜涓嶈兘涓虹┖'
}).then(({ value }) => {
row.status = 'rejected'
+ updateSealApplication(row).then(res => {
+ if(res.code == 200){
+ ElMessage.success('瀹℃壒鎷掔粷')
+ }
+ })
ElMessage.success('宸叉嫆缁濈敵璇�')
})
}
-
+// 鏌ョ湅鍒跺害璇︽儏
const viewRegulation = (row) => {
currentRegulationDetail.value = row
showRegulationDetailDialog.value = true
}
-const editRegulation = (row) => {
- ElMessage.info('缂栬緫鍔熻兘寮�鍙戜腑...')
-}
-
+// 鏌ョ湅鍒跺害鐗堟湰鍘嗗彶
const viewVersionHistory = (row) => {
showVersionHistoryDialog.value = true
}
-
+// 鏌ョ湅鍒跺害闃呰鐘舵��
const viewReadStatus = (row) => {
showReadStatusDialog.value = true
+}
+// 鑾峰彇鍗扮珷鐢宠鍒楄〃鏁版嵁
+const getSealApplicationList = async () => {
+ tableLoading.value = true
+ listSealApplication(page,sealSearchForm)
+ .then(res => {
+
+ sealApplications.value = res.data.records
+ page.value.total = res.data.total;
+ tableLoading.value = false;
+
+ }).catch(err => {
+ tableLoading.value = false;
+ })
+}
+// 鑾峰彇瑙勭珷鍒跺害鍒楄〃鏁版嵁
+const getRegulationList = async () => {
+ tableLoading.value = true
+ listRuleManagement(page,regulationSearchForm)
+ .then(res => {
+
+ regulations.value = res.data.records
+ page.value.total = res.data.total;
+ tableLoading.value = false;
+
+ }).catch(err => {
+ tableLoading.value = false;
+ })
}
onMounted(() => {
// 鍒濆鍖�
+ getSealApplicationList()
+ getRegulationList()
})
</script>
--
Gitblit v1.9.3