| | |
| | | <div class="app-container"> |
| | | <!-- 标签页切换不同的审批类型 --> |
| | | <el-tabs v-model="activeTab" @tab-change="handleTabChange" class="approval-tabs"> |
| | | <el-tab-pane label="公出管理" name="1"></el-tab-pane> |
| | | <el-tab-pane label="请假管理" name="2"></el-tab-pane> |
| | | <el-tab-pane label="出差管理" name="3"></el-tab-pane> |
| | | <el-tab-pane label="报销管理" name="4"></el-tab-pane> |
| | | <el-tab-pane label="协同审批" name="1"></el-tab-pane> |
| | | <el-tab-pane label="销售审批" name="3"></el-tab-pane> |
| | | <el-tab-pane label="采购审批" name="5"></el-tab-pane> |
| | | <el-tab-pane label="报价审批" name="6"></el-tab-pane> |
| | | <el-tab-pane label="发货审批" name="7"></el-tab-pane> |
| | | </el-tabs> |
| | | |
| | | |
| | | <div class="search_form"> |
| | | <div> |
| | | <span class="search_title">流程编号:</span> |
| | |
| | | :prefix-icon="Search" |
| | | /> |
| | | <span class="search_title ml10">审批状态:</span> |
| | | <el-select v-model="searchForm.approveStatus" clearable @change="handleQuery" style="width: 240px"> |
| | | <el-option label="待审核" :value="0" /> |
| | | <el-option label="审核中" :value="1" /> |
| | | <el-option label="审核完成" :value="2" /> |
| | | <el-option label="审核未通过" :value="3" /> |
| | | <el-option label="已重新提交" :value="4" /> |
| | | </el-select> |
| | | <el-select v-model="searchForm.approveStatus" clearable @change="handleQuery" style="width: 240px"> |
| | | <el-option label="待审核" :value="0" /> |
| | | <el-option label="审核中" :value="1" /> |
| | | <el-option label="审核完成" :value="2" /> |
| | | <el-option label="审核未通过" :value="3" /> |
| | | <el-option label="已重新提交" :value="4" /> |
| | | </el-select> |
| | | <el-button type="primary" @click="handleQuery" style="margin-left: 10px" |
| | | >搜索</el-button |
| | | > |
| | | </div> |
| | | <div> |
| | | <el-button |
| | | type="primary" |
| | | @click="openForm('add')" |
| | | v-if="currentApproveType !== 6 && currentApproveType !== 7" |
| | | >新增</el-button> |
| | | <el-button type="primary" @click="openForm('add')" v-if="currentApproveType !== 6">新增</el-button> |
| | | <el-button @click="handleOut">导出</el-button> |
| | | <el-button |
| | | type="danger" |
| | | plain |
| | | @click="handleDelete" |
| | | v-if="currentApproveType !== 7" |
| | | >删除</el-button> |
| | | <el-button type="danger" plain @click="handleDelete">删除</el-button> |
| | | </div> |
| | | </div> |
| | | <div class="table_list"> |
| | |
| | | |
| | | const data = reactive({ |
| | | searchForm: { |
| | | approveId: "", |
| | | approveStatus: "", |
| | | approveId: "", |
| | | approveStatus: "", |
| | | }, |
| | | }); |
| | | const { searchForm } = toRefs(data); |
| | |
| | | const isLeaveType = currentApproveType.value === 2; // 请假管理 |
| | | const isReimburseType = currentApproveType.value === 4; // 报销管理 |
| | | const isQuotationType = currentApproveType.value === 6; // 报价审批 |
| | | |
| | | |
| | | // 基础列配置 |
| | | const baseColumns = [ |
| | | { |
| | |
| | | width: 120 |
| | | } |
| | | ]; |
| | | |
| | | |
| | | // 金额列(仅报销管理显示) |
| | | if (isReimburseType) { |
| | | baseColumns.push({ |
| | |
| | | width: 120 |
| | | }); |
| | | } |
| | | |
| | | |
| | | // 日期列(根据类型动态配置) |
| | | baseColumns.push( |
| | | { |
| | | label: isLeaveType ? "开始日期" : "申请日期", |
| | | prop: isLeaveType ? "startDate" : "approveTime", |
| | | width: 200 |
| | | }, |
| | | { |
| | | label: "结束日期", |
| | | prop: isLeaveType ? "endDate" : "approveOverTime", |
| | | width: 120 |
| | | } |
| | | { |
| | | label: isLeaveType ? "开始日期" : "申请日期", |
| | | prop: isLeaveType ? "startDate" : "approveTime", |
| | | width: 200 |
| | | }, |
| | | { |
| | | label: "结束日期", |
| | | prop: isLeaveType ? "endDate" : "approveOverTime", |
| | | width: 120 |
| | | } |
| | | ); |
| | | |
| | | |
| | | // 当前审批人列 |
| | | baseColumns.push({ |
| | | label: "当前审批人", |
| | | prop: "approveUserCurrentName", |
| | | width: 120 |
| | | }); |
| | | |
| | | |
| | | // 操作列 |
| | | baseColumns.push({ |
| | | dataType: "action", |
| | |
| | | clickFun: (row) => { |
| | | openForm("edit", row); |
| | | }, |
| | | disabled: (row) => |
| | | currentApproveType.value === 6 || |
| | | currentApproveType.value === 7 || |
| | | row.approveStatus == 2 || |
| | | row.approveStatus == 1 || |
| | | row.approveStatus == 4 |
| | | disabled: (row) => currentApproveType.value === 6 || row.approveStatus == 2 || row.approveStatus == 1 || row.approveStatus == 4 |
| | | }, |
| | | { |
| | | name: "审核", |
| | |
| | | }, |
| | | ], |
| | | }); |
| | | |
| | | |
| | | return baseColumns; |
| | | }); |
| | | const tableData = ref([]); |
| | |
| | | 4: "报销管理审批表", |
| | | 5: "采购申请审批表", |
| | | 6: "报价审批表", |
| | | 7: "发货审批表", |
| | | 7: "出库审批表", |
| | | } |
| | | const fileName = nameMap[type] || nameMap[0] |
| | | proxy.download(url, {}, `${fileName}.xlsx`) |
| | |
| | | // 根据URL参数设置标签页和查询条件 |
| | | const approveType = route.query.approveType; |
| | | const approveId = route.query.approveId; |
| | | |
| | | |
| | | if (approveType) { |
| | | // 设置标签页(approveType 对应 activeTab 的 name) |
| | | activeTab.value = String(approveType); |
| | | } |
| | | |
| | | |
| | | if (approveId) { |
| | | // 设置流程编号查询条件 |
| | | searchForm.value.approveId = String(approveId); |
| | | } |
| | | |
| | | |
| | | // 查询列表 |
| | | getList(); |
| | | }); |