|  |  | 
 |  |  |         </el-button> | 
 |  |  |       </div> | 
 |  |  |       <div> | 
 |  |  |         <el-button @click="handleExport" style="margin-right: 10px">导出</el-button> | 
 |  |  |         <el-button type="primary" @click="openForm('add')">新增知识</el-button> | 
 |  |  |         <el-button type="danger" plain @click="handleDelete">删除</el-button> | 
 |  |  |       </div> | 
 |  |  | 
 |  |  |  | 
 |  |  | <script setup> | 
 |  |  | import { Search } from "@element-plus/icons-vue"; | 
 |  |  | import { onMounted, ref, reactive, toRefs } from "vue"; | 
 |  |  | import { onMounted, ref, reactive, toRefs, getCurrentInstance } from "vue"; | 
 |  |  | import { ElMessage, ElMessageBox } from "element-plus"; | 
 |  |  | import PIMTable from "@/components/PIMTable/PIMTable.vue"; | 
 |  |  | import { listKnowledgeBase, delKnowledgeBase,addKnowledgeBase,updateKnowledgeBase } from "@/api/collaborativeApproval/knowledgeBase.js"; | 
 |  |  | 
 |  |  |     // 用户取消 | 
 |  |  |   }); | 
 |  |  | }; | 
 |  |  |  | 
 |  |  | // 导出 | 
 |  |  | const { proxy } = getCurrentInstance() | 
 |  |  | const handleExport = () => { | 
 |  |  |   proxy.download('/knowledgeBase/export', { ...searchForm.value }, '知识库.xlsx') | 
 |  |  | } | 
 |  |  | </script> | 
 |  |  |  | 
 |  |  | <style scoped> | 
 
 |  |  | 
 |  |  |     <!-- 页面标题 --> | 
 |  |  |     <div class="page-header"> | 
 |  |  |       <h2>会议室设置</h2> | 
 |  |  |       <div> | 
 |  |  |         <el-button @click="handleExport" style="margin-right: 10px">导出</el-button> | 
 |  |  |       <el-button type="primary" @click="handleAdd"> | 
 |  |  |         <el-icon><Plus /></el-icon> | 
 |  |  |         新增会议室 | 
 |  |  |       </el-button> | 
 |  |  |       </div> | 
 |  |  |     </div> | 
 |  |  |  | 
 |  |  |     <!-- 搜索区域 --> | 
 |  |  | 
 |  |  | </template> | 
 |  |  |  | 
 |  |  | <script setup> | 
 |  |  | import { ref, reactive, onMounted } from 'vue' | 
 |  |  | import { ref, reactive, onMounted, getCurrentInstance } from 'vue' | 
 |  |  | import { ElMessage, ElMessageBox } from 'element-plus' | 
 |  |  | import { Plus } from '@element-plus/icons-vue' | 
 |  |  | import Pagination from '@/components/Pagination/index.vue' | 
 |  |  | 
 |  |  |   }) | 
 |  |  | } | 
 |  |  |  | 
 |  |  | // 导出 | 
 |  |  | const { proxy } = getCurrentInstance() | 
 |  |  | const handleExport = () => { | 
 |  |  |   proxy.download('/meeting/export', { ...searchForm }, '会议室设置.xlsx') | 
 |  |  | } | 
 |  |  |  | 
 |  |  | // 页面加载时获取数据 | 
 |  |  | onMounted(() => { | 
 |  |  |   getList() | 
 
 |  |  | 
 |  |  |         </el-button> | 
 |  |  |       </div> | 
 |  |  |       <div> | 
 |  |  |         <el-button @click="handleExport" style="margin-right: 10px">导出</el-button> | 
 |  |  |         <el-button type="primary" @click="openForm('add')">新增</el-button> | 
 |  |  |         <el-button type="danger" plain @click="handleDelete">删除</el-button> | 
 |  |  |       </div> | 
 |  |  | 
 |  |  |  | 
 |  |  | <script setup> | 
 |  |  | import { Search } from "@element-plus/icons-vue"; | 
 |  |  | import { onMounted, ref, reactive, toRefs } from "vue"; | 
 |  |  | import { onMounted, ref, reactive, toRefs, getCurrentInstance } from "vue"; | 
 |  |  | import { ElMessage, ElMessageBox } from "element-plus"; | 
 |  |  | import PIMTable from "@/components/PIMTable/PIMTable.vue"; | 
 |  |  | import {listRpa, addRpa, updateRpa, delRpa, delRpaBatch} from "@/api/collaborativeApproval/rpaManagement.js"; | 
 |  |  | 
 |  |  |         proxy.$modal.msg("已取消"); | 
 |  |  |     }); | 
 |  |  | }; | 
 |  |  |  | 
 |  |  | // 导出功能 | 
 |  |  | const { proxy } = getCurrentInstance() | 
 |  |  | const handleExport = () => { | 
 |  |  |   proxy.download('/rpaProcessAutomation/export', { ...searchForm.value }, 'RPA管理.xlsx') | 
 |  |  | } | 
 |  |  | </script> | 
 |  |  |  | 
 |  |  | <style scoped></style> | 
 
 |  |  | 
 |  |  |                 <el-col :span="8"> | 
 |  |  |                   <el-button type="primary" @click="searchRegulations">搜索</el-button> | 
 |  |  |                   <el-button @click="resetRegulationSearch">重置</el-button> | 
 |  |  |                   <el-button @click="handleExport">导出</el-button> | 
 |  |  |                   <el-button type="success" @click="handleAdd"> | 
 |  |  |                     发布制度 | 
 |  |  |                   </el-button> | 
 |  |  | 
 |  |  | </template> | 
 |  |  |  | 
 |  |  | <script setup> | 
 |  |  | import { ref, reactive, onMounted } from 'vue' | 
 |  |  | import { ref, reactive, onMounted, getCurrentInstance } from 'vue' | 
 |  |  | import { ElMessage, ElMessageBox } from 'element-plus' | 
 |  |  | import { Plus } from '@element-plus/icons-vue' | 
 |  |  | import { listSealApplication, addSealApplication, updateSealApplication,listRuleManagement,addRuleManagement,updateRuleManagement,delRuleManagement,getReadingStatusByRuleId,getReadingStatusList,addReadingStatus,updateReadingStatus  } from '@/api/collaborativeApproval/sealManagement.js' | 
 |  |  | 
 |  |  |   }) | 
 |  |  | } | 
 |  |  |  | 
 |  |  | // 导出规章制度 | 
 |  |  | const { proxy } = getCurrentInstance() | 
 |  |  | const handleExport = () => { | 
 |  |  |   proxy.download('/rulesRegulationsManagement/export', { ...regulationSearchForm }, '规章制度.xlsx') | 
 |  |  | } | 
 |  |  |  | 
 |  |  | // 获取印章申请列表数据 | 
 |  |  | const getSealApplicationList = async () => { | 
 |  |  |   tableLoading.value = true | 
 
 |  |  | 
 |  |  |               <el-col :span="8"> | 
 |  |  |                 <el-button type="primary" @click="searchSealApplications">搜索</el-button> | 
 |  |  |                 <el-button @click="resetSealSearch">重置</el-button> | 
 |  |  |                 <el-button @click="handleExport">导出</el-button> | 
 |  |  |                 <el-button type="primary" @click="showSealApplyDialog = true">申请用印 | 
 |  |  |                 </el-button> | 
 |  |  |               </el-col> | 
 |  |  | 
 |  |  |             </el-table> | 
 |  |  |         </div>  | 
 |  |  |     </el-card> | 
 |  |  |        | 
 |  |  |          | 
 |  |  |            | 
 |  |  |          | 
 |  |  |  | 
 |  |  |         <!-- 规章制度管理 --> | 
 |  |  |          | 
 |  |  |           <!-- <div class="tab-content"> | 
 |  |  |             <el-row :gutter="20" class="mb-20"> | 
 |  |  |               <el-col :span="6"> | 
 |  |  |                 <el-input v-model="regulationSearchForm.title" placeholder="请输入制度标题" clearable /> | 
 |  |  |               </el-col> | 
 |  |  |               <el-col :span="4"> | 
 |  |  |                 <el-select v-model="regulationSearchForm.category" placeholder="制度分类" clearable> | 
 |  |  |                   <el-option label="人事制度" value="hr" /> | 
 |  |  |                   <el-option label="财务制度" value="finance" /> | 
 |  |  |                   <el-option label="安全制度" value="safety" /> | 
 |  |  |                   <el-option label="技术制度" value="tech" /> | 
 |  |  |                 </el-select> | 
 |  |  |               </el-col> | 
 |  |  |               <el-col :span="8"> | 
 |  |  |                 <el-button type="primary" @click="searchRegulations">搜索</el-button> | 
 |  |  |                 <el-button @click="resetRegulationSearch">重置</el-button> | 
 |  |  |                 <el-button type="success" @click="handleAdd"> | 
 |  |  |                   发布制度 | 
 |  |  |                 </el-button> | 
 |  |  |               </el-col> | 
 |  |  |             </el-row> | 
 |  |  |  | 
 |  |  |             <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"> | 
 |  |  |                   <el-tag>{{ getCategoryText(scope.row.category) }}</el-tag> | 
 |  |  |                 </template> | 
 |  |  |               </el-table-column> | 
 |  |  |               <el-table-column prop="version" label="版本" width="80" /> | 
 |  |  |               <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'"> | 
 |  |  |                     {{ scope.row.status === 'active' ? '生效中' : '已废止' }} | 
 |  |  |                   </el-tag> | 
 |  |  |                 </template> | 
 |  |  |               </el-table-column> | 
 |  |  |               <el-table-column prop="readCount" label="已读人数" width="100" /> | 
 |  |  |               <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="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> | 
 |  |  |                  | 
 |  |  |           </div> --> | 
 |  |  |          | 
 |  |  |  | 
 |  |  |     <!-- 用印申请对话框 --> | 
 |  |  |     <el-dialog v-model="showSealApplyDialog" title="申请用印" width="600px"> | 
 |  |  | 
 |  |  | </template> | 
 |  |  |  | 
 |  |  | <script setup> | 
 |  |  | import { ref, reactive, onMounted } from 'vue' | 
 |  |  | import { ref, reactive, onMounted, getCurrentInstance } from 'vue' | 
 |  |  | import { ElMessage, ElMessageBox } from 'element-plus' | 
 |  |  | import { Plus } from '@element-plus/icons-vue' | 
 |  |  | import { listSealApplication, addSealApplication, updateSealApplication,listRuleManagement,addRuleManagement,updateRuleManagement,delRuleManagement,getReadingStatusByRuleId,getReadingStatusList,addReadingStatus,updateReadingStatus  } from '@/api/collaborativeApproval/sealManagement.js' | 
 |  |  | 
 |  |  |   }) | 
 |  |  | } | 
 |  |  |  | 
 |  |  | // 导出用印申请 | 
 |  |  | const { proxy } = getCurrentInstance() | 
 |  |  | const handleExport = () => { | 
 |  |  |   proxy.download('/sealApplicationManagement/export', { ...sealSearchForm }, '用印申请.xlsx') | 
 |  |  | } | 
 |  |  |  | 
 |  |  | // 获取印章申请列表数据 | 
 |  |  | const getSealApplicationList = async () => { | 
 |  |  |   tableLoading.value = true |