From 0bc2784f60f30108cf6fa133b774703bda861721 Mon Sep 17 00:00:00 2001
From: zhouwx <1175765986@qq.com>
Date: Thu, 13 Feb 2025 16:56:35 +0800
Subject: [PATCH] 特性、分类信息等修改
---
src/views/hazardousChemicals/warehouseManage/components/productTable.vue | 1
src/layout/components/Sidebar/menu.js | 12
src/views/hazardousChemicals/finishedBasicInfo/index.vue | 1
public/files/classify.xls | 0
src/views/hazardousChemicals/systemManage/characteristic/components/characteristicDialog.vue | 133 +++++++
src/views/hazardousChemicals/systemManage/warehouse/index.vue | 47 ++
src/views/hazardousChemicals/warehouseManage/components/addRawDialog.vue | 45 ++
src/views/hazardousChemicals/warehouseManage/components/proDetail.vue | 1
src/assets/styles/variables.module.scss | 2
src/router/index.js | 12
src/views/hazardousChemicals/basicInfon/index.vue | 1
src/views/hazardousChemicals/warehouseManage/components/addProDialog.vue | 39 +
.env.development | 7
src/views/hazardousChemicals/warehouseManage/components/rawDetail.vue | 1
src/views/hazardousChemicals/systemManage/warehouse/components/cupboard.vue | 132 +++++++
src/views/hazardousChemicals/systemManage/characteristic/index.vue | 115 ++++++
src/api/hazardousChemicals/warehouse.js | 30 +
src/views/hazardousChemicals/systemManage/classifyInfoTable/index.vue | 238 +++++++++++++
src/api/hazardousChemicals/classifyInfo.js | 40 ++
src/views/hazardousChemicals/warehouseManage/components/rawTable.vue | 1
src/api/hazardousChemicals/characteristic.js | 41 ++
src/views/hazardousChemicals/systemManage/classifyInfoTable/components/classifyInfoDialog.vue | 181 ++++++++++
22 files changed, 1,066 insertions(+), 14 deletions(-)
diff --git a/.env.development b/.env.development
index a09dbe4..c2994dd 100644
--- a/.env.development
+++ b/.env.development
@@ -7,8 +7,11 @@
# 危化品全生命周期管理/开发环境
#孔哥
-VITE_APP_BASE_API = 'http://192.168.2.15:8083/api'
+#VITE_APP_BASE_API = 'http://192.168.2.15:8083/api'
VITE_APP_RESOURCE_API = 'http://192.168.2.16:9000/trainexam/'
+#董
+VITE_APP_BASE_API = 'http://192.168.2.24:8083/api'
+
#线上
-#VITE_APP_BASE_API = 'http://106.15.95.149:8088/api'
+#VITE_APP_BASE_API = 'http://47.108.222.15:8001/api'
diff --git a/public/files/classify.xls b/public/files/classify.xls
new file mode 100644
index 0000000..e231d21
--- /dev/null
+++ b/public/files/classify.xls
Binary files differ
diff --git a/src/api/hazardousChemicals/characteristic.js b/src/api/hazardousChemicals/characteristic.js
new file mode 100644
index 0000000..5e2cd08
--- /dev/null
+++ b/src/api/hazardousChemicals/characteristic.js
@@ -0,0 +1,41 @@
+import request from '@/utils/request'
+
+export function getCharacteristic(params) {
+ return request({
+ url: '/peculiarity/list',
+ method: 'get',
+ params: params
+ })
+}
+
+export function getCharacteristicAll(params) {
+ return request({
+ url: '/peculiarity/select',
+ method: 'get',
+ params: params
+ })
+}
+
+
+export function addCharacteristic(data) {
+ return request({
+ url: '/peculiarity/add',
+ method: 'post',
+ data: data
+ })
+}
+
+export function editCharacteristic(data) {
+ return request({
+ url: `/peculiarity/update`,
+ method: 'post',
+ data: data
+ })
+}
+
+export function delCharacteristic(data) {
+ return request({
+ url: `/peculiarity/deleted/` + data,
+ method: 'get'
+ })
+}
diff --git a/src/api/hazardousChemicals/classifyInfo.js b/src/api/hazardousChemicals/classifyInfo.js
new file mode 100644
index 0000000..b740d5e
--- /dev/null
+++ b/src/api/hazardousChemicals/classifyInfo.js
@@ -0,0 +1,40 @@
+import request from '@/utils/request'
+
+export function getClassifyInfo(params) {
+ return request({
+ url: '/secientific/list',
+ method: 'get',
+ params: params
+ })
+}
+
+export function addClassifyInfo(data) {
+ return request({
+ url: '/secientific/add',
+ method: 'post',
+ data: data
+ })
+}
+
+export function editClassifyInfo(data) {
+ return request({
+ url: `/secientific/update`,
+ method: 'post',
+ data: data
+ })
+}
+
+export function delClassifyInfo(data) {
+ return request({
+ url: `/secientific/deleted/` + data,
+ method: 'get'
+ })
+}
+
+export function exportClassifyInfo(data) {
+ return request({
+ url: '/secientific/importExcel',
+ method: 'post',
+ data: data
+ })
+}
diff --git a/src/api/hazardousChemicals/warehouse.js b/src/api/hazardousChemicals/warehouse.js
index cd2ec2d..d32f486 100644
--- a/src/api/hazardousChemicals/warehouse.js
+++ b/src/api/hazardousChemicals/warehouse.js
@@ -39,3 +39,33 @@
})
}
+export function addCupboard(data) {
+ return request({
+ url: '/warehouse/insertCupboard',
+ method: 'post',
+ data: data
+ })
+}
+
+export function editCupboard(params) {
+ return request({
+ url: `/warehouse/updateCupboard`,
+ method: 'post',
+ data: params
+ })
+}
+
+export function delCupboard(data) {
+ return request({
+ url: `/warehouse/deletedCupboard/` + data,
+ method: 'get'
+ })
+}
+
+export function getCupById(data) {
+ return request({
+ url: `/warehouse/listByid/` + data,
+ method: 'get'
+ })
+}
+
diff --git a/src/assets/styles/variables.module.scss b/src/assets/styles/variables.module.scss
index c599e9c..4c06fc8 100644
--- a/src/assets/styles/variables.module.scss
+++ b/src/assets/styles/variables.module.scss
@@ -42,7 +42,7 @@
$--color-danger: #F56C6C;
$--color-info: #909399;
-$base-sidebar-width: 200px;
+$base-sidebar-width: 220px;
// the :export directive is the magic sauce for webpack
// https://www.bluematador.com/blog/how-to-share-variables-between-js-and-sass
diff --git a/src/layout/components/Sidebar/menu.js b/src/layout/components/Sidebar/menu.js
index 1c88d54..765898c 100644
--- a/src/layout/components/Sidebar/menu.js
+++ b/src/layout/components/Sidebar/menu.js
@@ -56,6 +56,18 @@
meta: { title: '系统管理',icon: 'dict'},
children: [
{
+ path: 'characteristic',
+ name: 'characteristic',
+ meta: { title: '危化品特性管理',icon: 'druid'}
+
+ },
+ {
+ path: 'classifyInfoTable',
+ name: 'classifyInfoTable',
+ meta: { title: '危化品分类信息表',icon: 'table'}
+
+ },
+ {
path: 'company',
name: 'company',
meta: { title: '企业管理',icon: 'form'}
diff --git a/src/router/index.js b/src/router/index.js
index a3afac9..83033f8 100644
--- a/src/router/index.js
+++ b/src/router/index.js
@@ -258,6 +258,18 @@
name: 'config',
meta: { title: '企业配置',icon: 'form'}
},
+ {
+ path: 'characteristic',
+ component: () => import('@/views/hazardousChemicals/systemManage/characteristic/index.vue'),
+ name: 'characteristic',
+ meta: { title: '危化品特性管理',icon: 'form'}
+ },
+ {
+ path: 'classifyInfoTable',
+ component: () => import('@/views/hazardousChemicals/systemManage/classifyInfoTable/index.vue'),
+ name: 'classifyInfoTable',
+ meta: { title: '危化品分类信息表',icon: 'form'}
+ },
]
},
diff --git a/src/views/hazardousChemicals/basicInfon/index.vue b/src/views/hazardousChemicals/basicInfon/index.vue
index 6e4d03a..eac0e60 100644
--- a/src/views/hazardousChemicals/basicInfon/index.vue
+++ b/src/views/hazardousChemicals/basicInfon/index.vue
@@ -71,6 +71,7 @@
<el-table-column label="CAS" prop="cas" align="center"/>
<el-table-column label="试剂类型" prop="hazmatType" align="center"/>
<el-table-column label="危险性质" prop="hazmatCharacter" align="center" width="140"/>
+ <el-table-column label="危化品特性" prop="peculiarityType" align="center" width="140"/>
<el-table-column label="供应商" prop="supplier" align="center"/>
<el-table-column label="厂家" prop="manufacturer" align="center"/>
<el-table-column label="规格" prop="hazmatFormat" align="center"/>
diff --git a/src/views/hazardousChemicals/finishedBasicInfo/index.vue b/src/views/hazardousChemicals/finishedBasicInfo/index.vue
index 77330a9..f9d130e 100644
--- a/src/views/hazardousChemicals/finishedBasicInfo/index.vue
+++ b/src/views/hazardousChemicals/finishedBasicInfo/index.vue
@@ -70,6 +70,7 @@
<el-table-column label="CAS" prop="cas" align="center"/>
<el-table-column label="试剂类型" prop="productType" align="center"/>
<el-table-column label="危险性质" prop="productCharacter" align="center"/>
+ <el-table-column label="危化品特性" prop="peculiarityType" align="center" width="140"/>
<el-table-column label="供应商" prop="supplier" align="center"/>
<el-table-column label="厂家" prop="manufacturer" align="center"/>
<el-table-column label="规格" prop="productFormat" align="center"/>
diff --git a/src/views/hazardousChemicals/systemManage/characteristic/components/characteristicDialog.vue b/src/views/hazardousChemicals/systemManage/characteristic/components/characteristicDialog.vue
new file mode 100644
index 0000000..c2d5d07
--- /dev/null
+++ b/src/views/hazardousChemicals/systemManage/characteristic/components/characteristicDialog.vue
@@ -0,0 +1,133 @@
+<template>
+ <div class="notice">
+ <el-dialog
+ v-model="dialogVisible"
+ :title="title"
+ width="500px"
+ :before-close="handleClose"
+ :close-on-press-escape="false"
+ :close-on-click-modal="false"
+ >
+ <el-form :model="state.form" size="default" ref="busRef" :rules="state.formRules" label-width="150px" >
+ <el-form-item label="种类:" prop="peculiarityType" >
+ <el-input v-model.trim="state.form.peculiarityType" placeholder="请输入种类"></el-input>
+ </el-form-item>
+ <el-form-item label="编号:" prop="peculiarityNumber" >
+ <el-input v-model.trim="state.form.peculiarityNumber" oninput="value=value.replace(/^\.+|[^\d]/g,'')" placeholder="请输入编号"></el-input>
+ </el-form-item>
+ </el-form>
+ <template #footer>
+ <span class="dialog-footer">
+ <el-button @click="handleClose" size="default">取 消</el-button>
+ <el-button type="primary" @click="onSubmit" size="default" v-preReClick>确认</el-button>
+ </span>
+ </template>
+ </el-dialog>
+ </div>
+</template>
+<script setup>
+import {reactive, ref, toRefs} from 'vue'
+import {ElMessage} from "element-plus";
+import {addWarehouse, checkName, editWarehouse} from "@/api/hazardousChemicals/warehouse";
+import {verifyPhone} from "@/utils/validate";
+import {checkBasicName} from "@/api/hazardousChemicals/basicInfo";
+import {addCharacteristic, editCharacteristic} from "@/api/hazardousChemicals/characteristic";
+
+const dialogVisible = ref(false);
+const title = ref("");
+const busRef = ref();
+const length = ref()
+const emit = defineEmits(["getList"]);
+const startUsername = ref('');
+const state = reactive({
+ form: {
+ id: '',
+ peculiarityType: '',
+ peculiarityNumber: null
+
+ },
+ formRules:{
+ peculiarityType: [{ required: true, trigger: "blur", message: '请输入种类', }],
+ peculiarityNumber: [{ required: true, message: '请输入编号', trigger: 'blur' }],
+ },
+})
+
+
+const openDialog = async (type, value) => {
+
+ title.value = type === 'add' ? '新增种类' : type ==='edit' ? '编辑种类':'' ;
+ if(type === 'edit' ) {
+ state.form = JSON.parse(JSON.stringify(value));
+ startUsername.value = value.username
+ }
+ dialogVisible.value = true;
+}
+
+const onSubmit = async () => {
+ const valid = await busRef.value.validate();
+ if(valid){
+ if(title.value === '新增种类'){
+ const {id, ...data} = JSON.parse(JSON.stringify(state.form))
+ const res = await addCharacteristic(data)
+ if(res.code === 200){
+ ElMessage({
+ type: 'success',
+ message: '新增成功'
+ });
+ }else{
+ ElMessage.warning(res.message)
+ }
+ emit("getList")
+ busRef.value.clearValidate();
+ reset();
+ dialogVisible.value = false;
+ }else if(title.value === '编辑种类'){
+ const {createBy,createTime,delFlag,...data} = JSON.parse(JSON.stringify(state.form))
+ const res = await editCharacteristic(data)
+ if(res.code === 200){
+ ElMessage({
+ type: 'success',
+ message: '编辑成功'
+ });
+ }else{
+ ElMessage.warning(res.message)
+ }
+ emit("getList")
+ busRef.value.clearValidate();
+ reset();
+ dialogVisible.value = false;
+ }
+ }
+}
+
+const handleClose = () => {
+ busRef.value.clearValidate();
+ reset();
+ dialogVisible.value = false;
+ emit("getList")
+}
+const reset = () => {
+ state.form = {
+ id: '',
+ peculiarityType: '',
+ peculiarityNumber: null
+ }
+}
+defineExpose({
+ openDialog
+});
+
+</script>
+
+<style scoped lang="scss">
+.notice{
+ :deep(.el-form .el-form-item__label) {
+ font-size: 15px;
+ }
+ .file {
+ display: flex;
+ flex-direction: column;
+ align-items: flex-start;
+ }
+}
+</style>
diff --git a/src/views/hazardousChemicals/systemManage/characteristic/index.vue b/src/views/hazardousChemicals/systemManage/characteristic/index.vue
new file mode 100644
index 0000000..9351b1c
--- /dev/null
+++ b/src/views/hazardousChemicals/systemManage/characteristic/index.vue
@@ -0,0 +1,115 @@
+<template>
+ <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>
+ </div>
+ <!-- 表格数据 -->
+ <el-table v-loading="loading" :data="dataList" :border="true">
+ <el-table-column label="序号" type="index" align="center" width="80" />
+ <el-table-column label="种类" prop="peculiarityType" align="center" />
+ <el-table-column label="编号" prop="peculiarityNumber" align="center" />
+ <el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="200" >
+ <template #default="scope">
+ <el-button link type="primary" @click="openDialog('edit',scope.row)">编辑</el-button>
+ <el-button link type="danger" @click="handleDelete(scope.row)">删除</el-button>
+ </template>
+ </el-table-column>
+ </el-table>
+
+ <pagination
+ v-show="total > 0"
+ :total="total"
+ v-model:page="queryParams.pageNum"
+ v-model:limit="queryParams.pageSize"
+ @pagination="getList"
+ />
+
+ <characteristic-dialog ref="dialogRef" @getList=getList></characteristic-dialog>
+ </div>
+</template>
+
+<script setup>
+import {getCurrentInstance, onMounted, onUnmounted, reactive, ref, toRefs} from "vue";
+import {ElMessage, ElMessageBox} from "element-plus";
+import characteristicDialog from "./components/characteristicDialog.vue";
+import {delWarehouse, getWarehouse} from "@/api/hazardousChemicals/warehouse";
+import {delCharacteristic, getCharacteristic} from "@/api/hazardousChemicals/characteristic";
+const { proxy } = getCurrentInstance();
+const loading = ref(false);
+const dialogRef = ref();
+const data = reactive({
+ queryParams: {
+ pageNum: 1,
+ pageSize: 10,
+ name: ''
+ },
+ total: 0,
+ dataList: []
+});
+
+const { queryParams, total, dataList } = toRefs(data);
+const classHourRef = ref();
+onMounted(()=>{
+ getList()
+})
+
+onUnmounted(()=>{
+
+})
+
+const getList = async () => {
+ loading.value = true
+ const res = await getCharacteristic(data.queryParams)
+ if(res.code == 200){
+ data.dataList = res.data.list
+ data.total = res.data.total
+ }else{
+ ElMessage.warning(res.message)
+ }
+ loading.value = false
+}
+
+const openDialog = (type, value) => {
+ dialogRef.value.openDialog(type, value);
+}
+
+/** 重置新增的表单以及其他数据 */
+function reset() {
+ data.queryParams = {
+ pageNum: 1,
+ pageSize: 10,
+ name: ''
+ }
+ getList()
+}
+const handleDelete = (val) => {
+ ElMessageBox.confirm(
+ '确定删除此条数据?',
+ '提示',
+ {
+ confirmButtonText: '确定',
+ cancelButtonText: '取消',
+ type: 'warning',
+ })
+ .then( async() => {
+ const res = await delCharacteristic(val.id)
+ if(res.code == 200){
+ ElMessage.success('数据删除成功')
+ await getList()
+ }else{
+ ElMessage.warning(res.message)
+ }
+ })
+}
+
+
+</script>
diff --git a/src/views/hazardousChemicals/systemManage/classifyInfoTable/components/classifyInfoDialog.vue b/src/views/hazardousChemicals/systemManage/classifyInfoTable/components/classifyInfoDialog.vue
new file mode 100644
index 0000000..dd43a04
--- /dev/null
+++ b/src/views/hazardousChemicals/systemManage/classifyInfoTable/components/classifyInfoDialog.vue
@@ -0,0 +1,181 @@
+<template>
+ <div class="notice">
+ <el-dialog
+ v-model="dialogVisible"
+ :title="title"
+ width="500px"
+ :before-close="handleClose"
+ :close-on-press-escape="false"
+ :close-on-click-modal="false"
+ >
+ <el-form :model="state.form" size="default" ref="busRef" :rules="state.formRules" label-width="150px" >
+ <el-form-item label="品名:" prop="secientificName" >
+ <el-input v-model.trim="state.form.secientificName" placeholder="请输入品名"></el-input>
+ </el-form-item>
+ <el-form-item label="别名:" prop="aliasName" >
+ <el-input v-model.trim="state.form.aliasName" placeholder="请输入别名"></el-input>
+ </el-form-item>
+ <el-form-item label="CAS号:" prop="cas" >
+ <el-input v-model.trim="state.form.cas" placeholder="请输入CAS号"></el-input>
+ </el-form-item>
+ <el-form-item label="危险性类别:" prop="riskType" >
+ <el-input type="textarea" v-model.trim="state.form.riskType" placeholder="请输入危险性类别"></el-input>
+ </el-form-item>
+ <el-form-item label="危化品特性:" prop="peculiarityType" >
+ <el-select
+ v-model="state.form.peculiarityType"
+ placeholder="请选择危化品特性"
+ style="width: 100%"
+ @change="changeSelect"
+ >
+ <el-option
+ v-for="item in state.characteristicList"
+ :key="item.peculiarityNumber"
+ :label="item.peculiarityType"
+ :value="item.peculiarityNumber"
+ />
+ </el-select>
+ </el-form-item>
+ <el-form-item label="备注:" prop="remark" >
+ <el-input type="textarea" v-model.trim="state.form.remark" placeholder="请输入描述"></el-input>
+ </el-form-item>
+ </el-form>
+ <template #footer>
+ <span class="dialog-footer">
+ <el-button @click="handleClose" size="default">取 消</el-button>
+ <el-button type="primary" @click="onSubmit" size="default" v-preReClick>确认</el-button>
+ </span>
+ </template>
+ </el-dialog>
+ </div>
+</template>
+<script setup>
+import {reactive, ref, toRefs} from 'vue'
+import {ElMessage} from "element-plus";
+import {addWarehouse, checkName, editWarehouse} from "@/api/hazardousChemicals/warehouse";
+import {verifyPhone} from "@/utils/validate";
+import {checkBasicName} from "@/api/hazardousChemicals/basicInfo";
+import {getCharacteristic, getCharacteristicAll} from "@/api/hazardousChemicals/characteristic";
+import {addClassifyInfo, editClassifyInfo} from "@/api/hazardousChemicals/classifyInfo";
+
+const dialogVisible = ref(false);
+const title = ref("");
+const busRef = ref();
+const length = ref()
+const emit = defineEmits(["getList"]);
+
+const state = reactive({
+ form: {
+ id: '',
+ secientificName: '',
+ aliasName: '',
+ cas: '',
+ riskType: '',
+ peculiarityNumber: ''
+
+ },
+ formRules:{
+ secientificName: [{ required: true, message: '请输入品名', trigger: 'blur' }],
+ aliasName: [{ required: true, message: '请输入别名', trigger: 'blur' }],
+ cas: [{ required: true, message: '请输入CAS编号', trigger: 'blur' }],
+ riskType: [{ required: true, message: '请输入危险性类别', trigger: 'blur' }],
+ peculiarityType: [{ required: true, message: '请选择危化品特性', trigger: 'blur' }],
+ },
+ characteristicList: []
+})
+
+
+const openDialog = async (type, value) => {
+ await getCharacteristicList()
+ title.value = type === 'add' ? '新增危化品分类信息' : type ==='edit' ? '编辑危化品分类信息':'' ;
+ if(type === 'edit' ) {
+ state.form = JSON.parse(JSON.stringify(value));
+ console.log('state.form',state.form)
+ }
+ dialogVisible.value = true;
+}
+
+const getCharacteristicList = async () => {
+ const res = await getCharacteristicAll()
+ if(res.code == 200){
+ state.characteristicList = res.data.list
+ console.log('state.characteristicList',state.characteristicList)
+ }else{
+ ElMessage.warning(res.message)
+ }
+}
+const onSubmit = async () => {
+ const valid = await busRef.value.validate();
+ if(valid){
+ if(title.value === '新增危化品分类信息'){
+ const {id,peculiarityType, ...data} = JSON.parse(JSON.stringify(state.form))
+ const res = await addClassifyInfo(data)
+ if(res.code === 200){
+ ElMessage({
+ type: 'success',
+ message: '新增成功'
+ });
+ }else{
+ ElMessage.warning(res.message)
+ }
+ emit("getList")
+ busRef.value.clearValidate();
+ reset();
+ dialogVisible.value = false;
+ }else if(title.value === '编辑危化品分类信息'){
+ const {peculiarityType,...data} = JSON.parse(JSON.stringify(state.form))
+ const res = await editClassifyInfo(data)
+ if(res.code === 200){
+ ElMessage({
+ type: 'success',
+ message: '编辑成功'
+ });
+ }else{
+ ElMessage.warning(res.message)
+ }
+ emit("getList")
+ busRef.value.clearValidate();
+ reset();
+ dialogVisible.value = false;
+ }
+ }
+}
+
+const changeSelect = (val) => {
+ state.form.peculiarityNumber = val
+}
+
+const handleClose = () => {
+ busRef.value.clearValidate();
+ reset();
+ dialogVisible.value = false;
+ emit("getList")
+}
+const reset = () => {
+ state.form = {
+ id: '',
+ secientificName: '',
+ aliasName: '',
+ cas: '',
+ riskType: '',
+ peculiarityNumber: ''
+ }
+}
+defineExpose({
+ openDialog
+});
+
+</script>
+
+<style scoped lang="scss">
+.notice{
+ :deep(.el-form .el-form-item__label) {
+ font-size: 15px;
+ }
+ .file {
+ display: flex;
+ flex-direction: column;
+ align-items: flex-start;
+ }
+}
+</style>
diff --git a/src/views/hazardousChemicals/systemManage/classifyInfoTable/index.vue b/src/views/hazardousChemicals/systemManage/classifyInfoTable/index.vue
new file mode 100644
index 0000000..9ab366b
--- /dev/null
+++ b/src/views/hazardousChemicals/systemManage/classifyInfoTable/index.vue
@@ -0,0 +1,238 @@
+<template>
+ <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
+ style="width: 80px;margin-left: -20px"
+ @click="exportData"
+ >批量导入</el-button>
+ </el-form-item>
+ <el-form-item label="品名:" >
+ <el-input v-model="data.queryParams.secientificName" placeholder="请输入品名"></el-input>
+ </el-form-item>
+ <el-form-item >
+ <el-button
+ type="primary"
+ @click="getList"
+ >查询</el-button>
+ <el-button
+ type="primary"
+ plain
+ @click="reset"
+ >重置</el-button>
+ </el-form-item>
+ </el-form>
+ </div>
+ <!-- 表格数据 -->
+ <el-table v-loading="loading" :data="dataList" :border="true">
+ <el-table-column label="序号" type="index" align="center" width="80" />
+ <el-table-column label="品名" prop="secientificName" align="center" />
+ <el-table-column label="别名" prop="aliasName" align="center" />
+ <el-table-column label="CAS号" prop="cas" align="center" />
+ <el-table-column label="危险性类别" prop="riskType" >
+ <template #default="scope">
+ <div v-html="scope.row.riskType.split('\n').join('<br/>')"></div>
+ </template>
+ </el-table-column>
+ <el-table-column label="危化品特性" prop="peculiarityType" align="center" />
+ <el-table-column label="编号" prop="peculiarityNumber" align="center" />
+ <el-table-column label="备注" prop="remark" align="center" />
+ <el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="200" >
+ <template #default="scope">
+ <el-button link type="primary" @click="openDialog('edit',scope.row)">编辑</el-button>
+ <el-button link type="danger" @click="handleDelete(scope.row)">删除</el-button>
+ </template>
+ </el-table-column>
+ </el-table>
+
+ <pagination
+ v-show="total > 0"
+ :total="total"
+ v-model:page="queryParams.pageNum"
+ v-model:limit="queryParams.pageSize"
+ @pagination="getList"
+ />
+
+ <classify-info-dialog ref="dialogRef" @getList=getList></classify-info-dialog>
+ <el-dialog
+ v-model="exportDialog"
+ title="批量导入危化品分类信息"
+ width="500px"
+ :before-close="handleClose"
+ :close-on-press-escape="false"
+ :close-on-click-modal="false"
+ >
+ <el-form size="default" ref="busRef" label-width="180px" >
+ <el-form-item label="危化品分类信息模板:">
+ <el-button type="primary" plain @click="downloadFile">下载模板</el-button>
+ </el-form-item>
+ <div style="color: #ed5565;margin-left: 30px;margin-top: -8px;margin-bottom: 18px">
+ 导入危化品分类信息数据须依据此模板
+ </div>
+ <el-form-item label="危化品分类信息表文件:">
+ <el-upload
+ :auto-upload="false"
+ action="#"
+ :file-list="data.fileList"
+ :remove="handleRemove"
+ :on-change="handleChange"
+ accept=".xlsx,.xls"
+ :limit="data.limit"
+ style="width: 230px"
+ >
+ <el-button type="primary"> 点击上传 </el-button>
+ </el-upload>
+ </el-form-item>
+ </el-form>
+ <template #footer>
+ <span class="dialog-footer">
+ <el-button @click="handleClose" size="default">取 消</el-button>
+ <el-button type="primary" @click="onUpload" size="default" v-preReClick>确认</el-button>
+ </span>
+ </template>
+
+
+ </el-dialog>
+ </div>
+</template>
+
+<script setup>
+import {getCurrentInstance, onMounted, onUnmounted, reactive, ref, toRefs} from "vue";
+import {ElMessage, ElMessageBox} from "element-plus";
+import classifyInfoDialog from "./components/classifyInfoDialog.vue";
+import {delWarehouse, getWarehouse} from "@/api/hazardousChemicals/warehouse";
+import {exportBasicInfo} from "@/api/hazardousChemicals/basicInfo";
+import {delClassifyInfo, exportClassifyInfo, getClassifyInfo} from "@/api/hazardousChemicals/classifyInfo";
+const { proxy } = getCurrentInstance();
+const loading = ref(false);
+const dialogRef = ref();
+const exportDialog = ref(false)
+const data = reactive({
+ queryParams: {
+ pageNum: 1,
+ pageSize: 10,
+ secientificName: ''
+ },
+ total: 0,
+ dataList: [],
+ fileList: []
+});
+
+const { queryParams, total, dataList } = toRefs(data);
+const classHourRef = ref();
+onMounted(()=>{
+ getList()
+})
+
+onUnmounted(()=>{
+
+})
+
+const getList = async () => {
+ loading.value = true
+ const res = await getClassifyInfo(data.queryParams)
+ if(res.code == 200){
+ data.dataList = res.data.list
+ data.total = res.data.total
+ }else{
+ ElMessage.warning(res.message)
+ }
+ loading.value = false
+}
+
+const openDialog = (type, value) => {
+ dialogRef.value.openDialog(type, value);
+}
+
+/** 重置新增的表单以及其他数据 */
+function reset() {
+ data.queryParams = {
+ pageNum: 1,
+ pageSize: 10,
+ secientificName: ''
+ }
+ getList()
+}
+const handleDelete = (val) => {
+ ElMessageBox.confirm(
+ '确定删除此条数据?',
+ '提示',
+ {
+ confirmButtonText: '确定',
+ cancelButtonText: '取消',
+ type: 'warning',
+ })
+ .then( async() => {
+ const res = await delClassifyInfo(val.id)
+ if(res.code == 200){
+ ElMessage.success('数据删除成功')
+ await getList()
+ }else{
+ ElMessage.warning(res.message)
+ }
+ })
+}
+const exportData = () => {
+ exportDialog.value = true
+}
+const handleClose = () => {
+ data.fileList = []
+ exportDialog.value = false
+}
+const downloadFile = () => {
+ const link = document.createElement('a')
+ link.href = '../files/classify.xls'
+ link.target = '_blank'
+ link.download = '危化品分类信息模板.xls'
+ link.click()
+}
+const handleRemove = (file) => {
+ const index = data.fileList.indexOf(file)
+ const newFileList = data.fileList.slice()
+ newFileList.splice(index, 1)
+ data.fileList = newFileList;
+}
+const f = ref()
+const handleChange = (file,fileList) => {
+ console.log('file',file)
+ let fileExtension = file.name.split('.').pop();
+ if(fileExtension == 'xls' || fileExtension == 'xlsx'){
+ f.value = file.raw
+ }else {
+ data.fileList = []
+ ElMessage.warning('仅可上传Execl文件')
+ }
+}
+const onUpload = async () => {
+
+ if(!f.value){
+ ElMessage.warning('请先上传危化品分类信息表')
+ return;
+ }else{
+ const formData = new FormData();
+ formData.append('file', f.value)
+
+ const res = await exportClassifyInfo(formData)
+ if(res.code == 200){
+ ElMessage.success('上传成功')
+ data.fileList = []
+ exportDialog.value = false
+ await getList()
+ }else{
+ ElMessage.warning(res.message)
+ }
+ }
+}
+
+</script>
diff --git a/src/views/hazardousChemicals/systemManage/warehouse/components/cupboard.vue b/src/views/hazardousChemicals/systemManage/warehouse/components/cupboard.vue
new file mode 100644
index 0000000..ff92737
--- /dev/null
+++ b/src/views/hazardousChemicals/systemManage/warehouse/components/cupboard.vue
@@ -0,0 +1,132 @@
+<template>
+ <div class="notice">
+ <el-dialog
+ v-model="dialogVisible"
+ :title="title"
+ width="500px"
+ :before-close="handleClose"
+ :close-on-press-escape="false"
+ :close-on-click-modal="false"
+ >
+ <el-form :model="state.form" size="default" ref="busRef" :rules="state.formRules" label-width="150px" >
+ <el-form-item label="存储柜名:" prop="cupboardName" >
+ <el-input v-model.trim="state.form.cupboardName" placeholder="请输入存储柜名"></el-input>
+ </el-form-item>
+ <el-form-item label="描述:" prop="mess" >
+ <el-input type="textarea" v-model.trim="state.form.mess" placeholder="请输入描述"></el-input>
+ </el-form-item>
+ </el-form>
+ <template #footer>
+ <span class="dialog-footer">
+ <el-button @click="handleClose" size="default">取 消</el-button>
+ <el-button type="primary" @click="onSubmit" size="default" v-preReClick>确认</el-button>
+ </span>
+ </template>
+ </el-dialog>
+ </div>
+</template>
+<script setup>
+import {reactive, ref, toRefs} from 'vue'
+import {ElMessage} from "element-plus";
+import {addCupboard, addWarehouse, checkName, editCupboard, editWarehouse} from "@/api/hazardousChemicals/warehouse";
+import {verifyPhone} from "@/utils/validate";
+import {checkBasicName} from "@/api/hazardousChemicals/basicInfo";
+
+const dialogVisible = ref(false);
+const title = ref("");
+const busRef = ref();
+const length = ref()
+const emit = defineEmits(["getList"]);
+
+const state = reactive({
+ form: {
+ id: '',
+ warehouseId: null,
+ cupboardName: '',
+ mess: ''
+
+ },
+ formRules:{
+ cupboardName: [{ required: true, trigger: "blur", message: '请输入存储柜名' }],
+ },
+})
+
+const warehouseId = ref(null)
+const openDialog = async (type, value) => {
+ state.form.warehouseId = value.id
+ title.value = type === 'add' ? '新增存储柜' : type ==='edit' ? '编辑存储柜':'' ;
+ if(type === 'edit' ) {
+ state.form = JSON.parse(JSON.stringify(value));
+ }
+ dialogVisible.value = true;
+}
+
+const onSubmit = async () => {
+ const valid = await busRef.value.validate();
+ if(valid){
+ if(title.value === '新增存储柜'){
+ const {id, ...data} = JSON.parse(JSON.stringify(state.form))
+ const res = await addCupboard(data)
+ if(res.code === 200){
+ ElMessage({
+ type: 'success',
+ message: '新增成功'
+ });
+ }else{
+ ElMessage.warning(res.message)
+ }
+ emit("getList")
+ busRef.value.clearValidate();
+ reset();
+ dialogVisible.value = false;
+ }else if(title.value === '编辑存储柜'){
+ const {createBy,createTime,delFlag,...data} = JSON.parse(JSON.stringify(state.form))
+ const res = await editCupboard(data)
+ if(res.code === 200){
+ ElMessage({
+ type: 'success',
+ message: '编辑成功'
+ });
+ }else{
+ ElMessage.warning(res.message)
+ }
+ emit("getList")
+ busRef.value.clearValidate();
+ reset();
+ dialogVisible.value = false;
+ }
+ }
+}
+
+const handleClose = () => {
+ busRef.value.clearValidate();
+ reset();
+ dialogVisible.value = false;
+ emit("getList")
+}
+const reset = () => {
+ state.form = {
+ id: '',
+ warehouseId: null,
+ cupboardName: '',
+ mess: ''
+ }
+}
+defineExpose({
+ openDialog
+});
+
+</script>
+
+<style scoped lang="scss">
+.notice{
+ :deep(.el-form .el-form-item__label) {
+ font-size: 15px;
+ }
+ .file {
+ display: flex;
+ flex-direction: column;
+ align-items: flex-start;
+ }
+}
+</style>
diff --git a/src/views/hazardousChemicals/systemManage/warehouse/index.vue b/src/views/hazardousChemicals/systemManage/warehouse/index.vue
index c84bd53..b887376 100644
--- a/src/views/hazardousChemicals/systemManage/warehouse/index.vue
+++ b/src/views/hazardousChemicals/systemManage/warehouse/index.vue
@@ -28,11 +28,26 @@
</div>
<!-- 表格数据 -->
<el-table v-loading="loading" :data="dataList" :border="true">
+ <el-table-column type="expand">
+ <template #default="props">
+ <el-table :data="props.row.warehouseCupboards" style="width: 90%;margin-left: 5%" :row-key="getRowKeys" border>
+ <el-table-column label="存储柜名" prop="cupboardName" align="center" />
+ <el-table-column label="描述" prop="mess" align="center" />
+ <el-table-column label="操作" show-overflow-tooltip width="150" >
+ <template #default="scope">
+ <el-button size="small" text type="primary" @click="addCupboard('edit',scope.row)">编辑</el-button>
+ <el-button size="small" text type="danger" @click="delCup(scope.row)">删除</el-button>
+ </template>
+ </el-table-column>
+ </el-table>
+ </template>
+ </el-table-column>
<el-table-column label="序号" type="index" align="center" width="80" />
<el-table-column label="仓库名称" prop="name" align="center" />
<el-table-column label="描述" prop="remark" align="center" />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="200" >
<template #default="scope">
+ <el-button link type="primary" @click="addCupboard('add',scope.row)">新增存储柜</el-button>
<el-button link type="primary" @click="openDialog('edit',scope.row)">编辑</el-button>
<el-button link type="danger" @click="handleDelete(scope.row)">删除</el-button>
</template>
@@ -48,6 +63,8 @@
/>
<warehouse-dialog ref="dialogRef" @getList=getList></warehouse-dialog>
+ <cupboard-dialog ref="cupDialogRef" @getList=getList></cupboard-dialog>
+
</div>
</template>
@@ -55,10 +72,12 @@
import {getCurrentInstance, onMounted, onUnmounted, reactive, ref, toRefs} from "vue";
import {ElMessage, ElMessageBox} from "element-plus";
import warehouseDialog from "./components/warehouseDialog.vue";
-import {delWarehouse, getWarehouse} from "@/api/hazardousChemicals/warehouse";
+import cupboardDialog from "./components/cupboard.vue"
+import {delCupboard, delWarehouse, getWarehouse} from "@/api/hazardousChemicals/warehouse";
const { proxy } = getCurrentInstance();
const loading = ref(false);
const dialogRef = ref();
+const cupDialogRef = ref();
const data = reactive({
queryParams: {
pageNum: 1,
@@ -123,6 +142,30 @@
}
})
}
+const delCup = (val) => {
+ ElMessageBox.confirm(
+ '确定删除此条数据?',
+ '提示',
+ {
+ confirmButtonText: '确定',
+ cancelButtonText: '取消',
+ type: 'warning',
+ })
+ .then( async() => {
+ const res = await delCupboard(val.id)
+ if(res.code == 200){
+ ElMessage.success('数据删除成功')
+ await getList()
+ }else{
+ ElMessage.warning(res.message)
+ }
+ })
+}
+const addCupboard = (type,value) => {
+ cupDialogRef.value.openDialog(type, value);
+}
-
+const getRowKeys = (row) => {
+ return row.name
+}
</script>
diff --git a/src/views/hazardousChemicals/warehouseManage/components/addProDialog.vue b/src/views/hazardousChemicals/warehouseManage/components/addProDialog.vue
index 3a5451c..31c6a3d 100644
--- a/src/views/hazardousChemicals/warehouseManage/components/addProDialog.vue
+++ b/src/views/hazardousChemicals/warehouseManage/components/addProDialog.vue
@@ -51,6 +51,20 @@
/>
</el-select>
</el-form-item>
+ <el-form-item label="存储柜:" prop="cupboardId" >
+ <el-select
+ v-model="state.form.cupboardId"
+ placeholder="请选择存储柜"
+ style="width: 100%"
+ >
+ <el-option
+ v-for="item in state.cupList"
+ :key="item.id"
+ :label="item.cupboardName"
+ :value="item.id"
+ />
+ </el-select>
+ </el-form-item>
<el-form-item label="数量:" prop="num" >
<el-input v-model.trim="state.form.num" oninput="value=value.replace(/^\.+|[^\d]/g,'')" placeholder="请输入最小包装数量" @input="changeNum"></el-input>
</el-form-item>
@@ -73,7 +87,7 @@
<script setup>
import {reactive, ref, toRefs} from 'vue'
import {ElMessage} from "element-plus";
-import {getWarehouse} from "@/api/hazardousChemicals/warehouse";
+import {getCupById, getWarehouse} from "@/api/hazardousChemicals/warehouse";
import {addProductRecord, editProductRecord, getProductRecord} from "@/api/hazardousChemicals/productRecord";
import {getFinishBasicList} from "@/api/hazardousChemicals/finishedBasicInfo";
import moment from "moment";
@@ -105,13 +119,16 @@
warehouseName: '',
warehouseId: null,
num: null,
- batchNo: ''
+ batchNo: '',
+ cupboardName: '',
+ cupboardId: null,
},
formRules:{
num: [{ required: true, trigger: "blur", validator: validateNum }],
warehouseName: [{ required: true, trigger: "blur", message: '请选择入库仓库' }],
basicName: [{ required: true, trigger: "blur", message: '请选择入库成品' }],
+ cupboardId: [{ required: true, trigger: "blur", message: '请选择存储柜' }]
// batchNo: [{ required: true, trigger: "blur", message: '请输入批号' }]
},
proList: [],
@@ -126,7 +143,9 @@
state.form.batchNo = moment(new Date()).format("YYYYMMDD")
title.value = type === 'add' ? '新增' : type ==='edit' ? '编辑':'' ;
if(type === 'edit' ) {
- state.form = value;
+ await getCupList(value.warehouseId)
+ state.form = JSON.parse(JSON.stringify(value));
+ state.form.cupboardId = state.form.cupboard && state.form.cupboard.id ?state.form.cupboard.id : null
state.form.basicName = value.productBasic.name + '—' + value.productBasic.productSn + ' (' + value.productBasic.metering +value.productBasic.unit+') '
state.form.warehouseName = value.warehouse.name;
choosePro.value = value.productBasic
@@ -238,13 +257,23 @@
state.message = `您将入库 { ${choosePro.value.name.substring(0,choosePro.value.name.lastIndexOf('—')) } },编号:{ ${choosePro.value.productSn} },最小包装${choosePro.value.metering}${choosePro.value.unit},类别:${minPackageType}。 \n 共计:${state.form.num}${minPackageType}`
}
const selectWareValue = (val) => {
+ state.form.cupboardId = null
state.wareHouseList.forEach(item => {
if(item.name === val){
state.form.warehouseId = item.id
+ getCupList(item.id)
}
})
}
+const getCupList = async (val) => {
+ const res = await getCupById(val)
+ if(res.code == 200) {
+ state.cupList = res.data
+ }else {
+ ElMessage.warning(res.message)
+ }
+}
const handleClose = () => {
busRef.value.clearValidate();
reset();
@@ -259,7 +288,9 @@
warehouseName: '',
warehouseId: null,
num: null,
- batchNo: ''
+ batchNo: '',
+ cupboardName: '',
+ cupboardId: null,
}
state.proList = [];
state.wareHouseList = [];
diff --git a/src/views/hazardousChemicals/warehouseManage/components/addRawDialog.vue b/src/views/hazardousChemicals/warehouseManage/components/addRawDialog.vue
index afcec8b..f37ac11 100644
--- a/src/views/hazardousChemicals/warehouseManage/components/addRawDialog.vue
+++ b/src/views/hazardousChemicals/warehouseManage/components/addRawDialog.vue
@@ -51,6 +51,20 @@
/>
</el-select>
</el-form-item>
+ <el-form-item label="存储柜:" prop="cupboardId" >
+ <el-select
+ v-model="state.form.cupboardId"
+ placeholder="请选择存储柜"
+ style="width: 100%"
+ >
+ <el-option
+ v-for="item in state.cupList"
+ :key="item.id"
+ :label="item.cupboardName"
+ :value="item.id"
+ />
+ </el-select>
+ </el-form-item>
<el-form-item label="数量:" prop="num" >
<el-input v-model.trim="state.form.num" oninput="value=value.replace(/^\.+|[^\d]/g,'')" placeholder="请输入最小包装数量" @input="changeNum"></el-input>
</el-form-item>
@@ -76,7 +90,7 @@
<script setup>
import {reactive, ref, toRefs} from 'vue'
import {ElMessage} from "element-plus";
-import {addWarehouse, checkName, editWarehouse, getWarehouse} from "@/api/hazardousChemicals/warehouse";
+import {addWarehouse, checkName, editWarehouse, getCupById, getWarehouse} from "@/api/hazardousChemicals/warehouse";
import {verifyPhone} from "@/utils/validate";
import {checkBasicName, getBasicList} from "@/api/hazardousChemicals/basicInfo";
import {addProductRecord, editProductRecord, getProductRecord} from "@/api/hazardousChemicals/productRecord";
@@ -111,6 +125,8 @@
basicName:'',
warehouseName: '',
warehouseId: null,
+ cupboardName: '',
+ cupboardId: null,
num: null,
batchNo: ''
@@ -119,11 +135,12 @@
num: [{ required: true, trigger: "blur", validator: validateNum }],
warehouseName: [{ required: true, trigger: "blur", message: '请选择入库仓库' }],
basicName: [{ required: true, trigger: "blur", message: '请选择入库成品' }],
- // batchNo: [{ required: true, trigger: "blur", message: '请输入批号' }]
+ cupboardId: [{ required: true, trigger: "blur", message: '请选择存储柜' }]
},
rawList: [],
wareHouseList: [],
- message: ''
+ message: '',
+ cupList: []
})
@@ -134,6 +151,7 @@
title.value = type === 'add' ? '新增' : type ==='edit' ? '编辑':'' ;
if(type === 'edit' ) {
state.form = JSON.parse(JSON.stringify(value));
+ await getCupList(value.warehouseId)
state.form.basicName = value.hazmatBasic.name + '—' + value.hazmatBasic.productSn + ' (' + value.hazmatBasic.metering + value.hazmatBasic.unit+') '
state.form.warehouseName = value.warehouse.name;
choosePro.value = value.hazmatBasic
@@ -182,7 +200,12 @@
}
const res = await getWarehouse(param)
if(res.code == 200){
- state.wareHouseList = res.data.list
+ state.wareHouseList = res.data.list.map(item => {
+ return {
+ ...item,
+ children: item.warehouseCupboards && item.warehouseCupboards.length>0 ? item.warehouseCupboards : null
+ }
+ })
}else{
ElMessage.warning(res.message)
}
@@ -246,11 +269,21 @@
state.message = `您将入库 { ${choosePro.value.name.substring(0,choosePro.value.name.lastIndexOf('—')) } },编号:{ ${choosePro.value.productSn} },最小包装${choosePro.value.metering}${choosePro.value.unit},类别:${minPackageType}。 \n 共计:${state.form.num}${minPackageType}`
}
const selectWareValue = (val) => {
+ state.form.cupboardId = null
state.wareHouseList.forEach(item => {
if(item.name === val){
state.form.warehouseId = item.id
+ getCupList(item.id)
}
})
+}
+const getCupList = async (val) => {
+ const res = await getCupById(val)
+ if(res.code == 200) {
+ state.cupList = res.data
+ }else {
+ ElMessage.warning(res.message)
+ }
}
const handleClose = () => {
@@ -267,7 +300,9 @@
warehouseName: '',
warehouseId: null,
num: null,
- batchNo: ''
+ batchNo: '',
+ cupboardName: '',
+ cupboardId: null,
}
state.rawList = [];
state.wareHouseList = [];
diff --git a/src/views/hazardousChemicals/warehouseManage/components/proDetail.vue b/src/views/hazardousChemicals/warehouseManage/components/proDetail.vue
index 57ab999..d6219a6 100644
--- a/src/views/hazardousChemicals/warehouseManage/components/proDetail.vue
+++ b/src/views/hazardousChemicals/warehouseManage/components/proDetail.vue
@@ -64,6 +64,7 @@
</template>
</el-table-column>
<el-table-column label="所在仓库" prop="warehouseName" align="center" />
+ <el-table-column label="存储柜" prop="cupboardName" align="center" width="120" />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="180" >
<template #default="scope">
<el-button link type="primary" @click="viewFlow(scope.row)">取用记录</el-button>
diff --git a/src/views/hazardousChemicals/warehouseManage/components/productTable.vue b/src/views/hazardousChemicals/warehouseManage/components/productTable.vue
index 8efee46..16bb840 100644
--- a/src/views/hazardousChemicals/warehouseManage/components/productTable.vue
+++ b/src/views/hazardousChemicals/warehouseManage/components/productTable.vue
@@ -49,6 +49,7 @@
<span>{{scope.row.warehouse.name}}</span>
</template>
</el-table-column>
+ <el-table-column label="存储柜" prop="cupboard.cupboardName" align="center" width="120" />
<el-table-column label="批号" prop="batchNo" align="center" width="120" />
<el-table-column label="状态" prop="state" align="center">
<template #default="scope">
diff --git a/src/views/hazardousChemicals/warehouseManage/components/rawDetail.vue b/src/views/hazardousChemicals/warehouseManage/components/rawDetail.vue
index 77c8fe9..90f5913 100644
--- a/src/views/hazardousChemicals/warehouseManage/components/rawDetail.vue
+++ b/src/views/hazardousChemicals/warehouseManage/components/rawDetail.vue
@@ -64,6 +64,7 @@
</template>
</el-table-column>
<el-table-column label="所在仓库" prop="warehouseName" align="center" />
+ <el-table-column label="存储柜" prop="cupboardName" align="center" width="120" />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="180" >
<template #default="scope">
<el-button link type="primary" v-if="scope.row.state ===0 || scope.row.state === 1" @click="editNum(scope.row)">零头修改</el-button>
diff --git a/src/views/hazardousChemicals/warehouseManage/components/rawTable.vue b/src/views/hazardousChemicals/warehouseManage/components/rawTable.vue
index e5f89b4..8af5238 100644
--- a/src/views/hazardousChemicals/warehouseManage/components/rawTable.vue
+++ b/src/views/hazardousChemicals/warehouseManage/components/rawTable.vue
@@ -50,6 +50,7 @@
<span>{{scope.row.warehouse.name}}</span>
</template>
</el-table-column>
+ <el-table-column label="存储柜" prop="cupboard.cupboardName" align="center" width="120" />
<el-table-column label="批号" prop="batchNo" align="center" width="120" />
<el-table-column label="状态" prop="state" align="center">
<template #default="scope">
--
Gitblit v1.9.2