From facea208b2fc7c8c7a0d176df06305b866c6520f Mon Sep 17 00:00:00 2001
From: zhouwx <1175765986@qq.com>
Date: Wed, 17 Jun 2026 08:56:00 +0800
Subject: [PATCH] 中科大支线—申购功能
---
src/views/hazardousChemicals/subscribeApplyManage/approval/index.vue | 130 ++++++++++++++++++++++++++++++------------
1 files changed, 92 insertions(+), 38 deletions(-)
diff --git a/src/views/hazardousChemicals/subscribeApplyManage/approval/index.vue b/src/views/hazardousChemicals/subscribeApplyManage/approval/index.vue
index f107b29..954e272 100644
--- a/src/views/hazardousChemicals/subscribeApplyManage/approval/index.vue
+++ b/src/views/hazardousChemicals/subscribeApplyManage/approval/index.vue
@@ -2,16 +2,16 @@
<div class="app-container">
<div style="display: flex;justify-content: space-between">
<el-form :inline="true" style="display: flex;align-items: center;flex-wrap: wrap;" >
-<!-- <el-form-item>-->
-<!-- <el-button-->
-<!-- type="primary"-->
-<!-- plain-->
-<!-- icon="Plus"-->
-<!-- @click="openDialog('add',{})"-->
-<!-- >新增</el-button>-->
-<!-- </el-form-item>-->
+ <el-form-item>
+ <el-button
+ type="primary"
+ plain
+ icon="Plus"
+ @click="openDialog('add',{})"
+ >新增</el-button>
+ </el-form-item>
<el-form-item label="审批状态:" >
- <el-select v-model="data.queryParams.state" placeholder="请选择" >
+ <el-select v-model="data.queryParams.status" placeholder="请选择" >
<el-option
v-for="item in data.stateOptions"
:key="item.id"
@@ -20,7 +20,7 @@
/>
</el-select>
</el-form-item>
- <el-form-item label="审批人:" prop="userId" >
+ <el-form-item label="申购人:" >
<el-select
clearable
v-model="data.userName"
@@ -28,7 +28,7 @@
remote
@change="selectValue"
reserve-keyword
- placeholder="请输入审批人名称"
+ placeholder="请输入申购人名称"
remote-show-suffix
:remote-method="getPeopleList"
style="width: 100%"
@@ -57,24 +57,62 @@
<!-- 表格数据 -->
<el-table v-loading="loading" :data="dataList" :border="true">
<el-table-column label="序号" type="index" align="center" width="80" />
- <el-table-column label="申购单号" prop="creditCode" align="center" />
- <el-table-column label="危化品名称" prop="code" align="center" />
- <el-table-column label="申购数量" prop="name" align="center" />
- <el-table-column label="申购人" prop="major" align="center" />
- <el-table-column label="审批人" prop="phone" align="center"/>
- <el-table-column label="申购文件" prop="phone" align="center">
+ <el-table-column label="申购单号" prop="subscribeNum" align="center" />
+ <el-table-column label="危化品名称" align="center" class-name="subscribe-quantity-cell" width="200">
<template #default="scope">
- <el-link v-if="scope.row.fileName" style="" type="primary" @click="openFile(scope.row.filePath)">{{scope.row.fileName}}</el-link>
+ <div style="width: 100%; height: 100%;display: flex; flex-direction: column;justify-content: center;align-items: center; ">
+ <div
+ v-for="(item, index) in scope.row.subscribeHazmats"
+ :key="item.id"
+ style="
+ width: 100%;
+ text-align: center;
+ padding: 8px 0;
+ border-bottom: 1px solid #ebeef5;"
+ :style="{
+ borderBottom: index === scope.row.subscribeHazmats.length - 1 ? 'none' : '1px solid #ebeef5'
+ }"
+ >
+ <span>{{ item.hazmatName }}</span>
+ </div>
+ </div>
</template>
</el-table-column>
- <el-table-column label="审批状态" prop="phone" align="center">
+ <el-table-column label="申购数量" align="center" class-name="subscribe-quantity-cell">
<template #default="scope">
- <span> {{scope.row.state == 0 ? '未审批' :scope.row.state == 1 ?'审批通过':scope.row.state == 2 ?'审批驳回':''}}</span><span></span>
+ <div style="width: 100%; height: 100%;display: flex; flex-direction: column;justify-content: center;align-items: center; ">
+ <div
+ v-for="(item, index) in scope.row.subscribeHazmats"
+ style="
+ width: 100%;
+ text-align: center;
+ padding: 8px 0;
+ border-bottom: 1px solid #ebeef5;"
+ :style="{
+ borderBottom: index === scope.row.subscribeHazmats.length - 1 ? 'none' : '1px solid #ebeef5'
+ }"
+ >
+ {{ item.hazmatCount }}
+ </div>
+ </div>
+ </template>
+ </el-table-column>
+ <el-table-column label="申购人" prop="subscribePersonName" align="center" />
+ <el-table-column label="审批人" prop="checkName" align="center"/>
+ <el-table-column label="申购文件" prop="fileName" align="center">
+ <template #default="scope">
+ <el-link v-if="scope.row.fileName" style="" type="primary" @click="openFile(scope.row.filePath)">{{scope.row.fileName}}</el-link>
+ <span v-else></span>
+ </template>
+ </el-table-column>
+ <el-table-column label="审批状态" prop="status" align="center">
+ <template #default="scope">
+ <span> {{scope.row.status == 0 ? '未审批' :scope.row.status == 1 ?'审批通过':scope.row.status == 2 ?'审批驳回':''}}</span><span></span>
</template>
</el-table-column>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="200" >
<template #default="scope">
- <el-button v-if="scope.row.state == 0" link type="primary" @click="openDialog('approval',scope.row)">审批</el-button>
+ <el-button v-if="scope.row.status == 0" link type="danger" @click="openDialog('approval',scope.row)">审批</el-button>
<el-button link type="primary" @click="openDialog('view',scope.row)">查看</el-button>
</template>
</el-table-column>
@@ -99,6 +137,8 @@
import editDialog from "./components/editDialog.vue";
import {getUser} from "@/api/hazardousChemicals/user";
import {renderAsync} from "docx-preview";
+import {delSubscribe, getAuditList, getSubscribeList} from "@/api/hazardousChemicals/subscribeApply";
+import Cookies from "js-cookie";
const { proxy } = getCurrentInstance();
const loading = ref(false);
const dialogRef = ref();
@@ -106,8 +146,9 @@
queryParams: {
pageNum: 1,
pageSize: 10,
- state: null,
- userId:null
+ status: null,
+ subscribePersonId:null,
+ checkId:null
},
total: 0,
dataList: [],
@@ -132,8 +173,11 @@
const { queryParams, total, dataList } = toRefs(data);
const classHourRef = ref();
onMounted(()=>{
+ const userInfo = JSON.parse(Cookies.get('userInfo'))
+ data.queryParams.checkId = userInfo.id
getList()
getPeopleList("")
+
})
onUnmounted(()=>{
@@ -142,13 +186,16 @@
const getList = async () => {
loading.value = true
- // const res = await getCompany(data.queryParams)
- // if(res.code == 200){
- // data.dataList = res.data.list
- // data.total = res.data.total
- // }else{
- // ElMessage.warning(res.message)
- // }
+ const res = await getAuditList(data.queryParams).catch(error => {
+ loading.value = false
+ return
+ })
+ if(res.code == 200){
+ data.dataList = res.data.list
+ data.total = res.data.total
+ }else{
+ ElMessage.warning(res.message)
+ }
loading.value = false
}
@@ -161,8 +208,9 @@
data.queryParams = {
pageNum: 1,
pageSize: 10,
- state: null,
- userId:null
+ status: null,
+ subscribePersonId:null,
+ checkId:null
}
data.userName = ''
getList()
@@ -178,7 +226,7 @@
type: 'warning',
})
.then( async() => {
- const res = await delCompany(val.id)
+ const res = await delSubscribe(val.id)
if(res.code == 200){
ElMessage.success('数据删除成功')
await getList()
@@ -190,11 +238,11 @@
const getPeopleList = async (val)=>{
let queryParams = {}
if(val != ""){
- queryParams = {
+ queryParams = {
name: val
}
}else {
- queryParams = {
+ queryParams = {
pageNum: 1,
pageSize: 10
}
@@ -208,11 +256,12 @@
}
const selectValue = (val) => {
if(!val){
- data.queryParams.userId = null
+ data.queryParams.subscribePersonId = null
}
data.peopleList.forEach(item => {
if(item.name === val){
- data.queryParams.userId = item.id
+ data.queryParams.subscribePersonId = item.id
+
}
})
}
@@ -258,5 +307,10 @@
}
}
}
-
</script>
+<style scoped>
+/* 只对申购数量这一列生效 */
+:deep(.subscribe-quantity-cell .cell) {
+ padding: 0 !important; /* 关键:把默认的padding清零,优先级拉满 */
+}
+</style>
--
Gitblit v1.9.2