From 1ea0d85b0fe2e7e4427fd484a9342d964c831b3d Mon Sep 17 00:00:00 2001 From: zhouwx <1175765986@qq.com> Date: 星期三, 06 八月 2025 15:15:00 +0800 Subject: [PATCH] 修改 --- src/views/hazardousChemicals/electronicWarehouse/components/proDetail.vue | 79 +++++++++++++++++++++++++++++++++++---- 1 files changed, 71 insertions(+), 8 deletions(-) diff --git a/src/views/hazardousChemicals/electronicWarehouse/components/proDetail.vue b/src/views/hazardousChemicals/electronicWarehouse/components/proDetail.vue index b807bc3..1e2249c 100644 --- a/src/views/hazardousChemicals/electronicWarehouse/components/proDetail.vue +++ b/src/views/hazardousChemicals/electronicWarehouse/components/proDetail.vue @@ -37,14 +37,14 @@ </div> </div> <!-- 表格数据 --> - <el-table v-loading="loading" :data="data.dataList" :border="true"> + <el-table v-loading="loading" :data="data.dataList" :border="true" :cell-style="cellStyle"> <el-table-column label="序号" type="index" align="center" width="80" /> <el-table-column label="品名" prop="productBasic.name" align="center" /> <el-table-column label="产品编号" prop="productBasic.productSn" align="center" /> <el-table-column label="CAS号" prop="productBasic.cas" align="center" /> <el-table-column label="厂家" prop="productBasic.manufacturer" align="center" /> <el-table-column label="供应商" prop="productBasic.supplier" align="center" /> - <el-table-column label="批号" prop="batchNo" align="center" width="120" /> + <el-table-column label="二维码编号" prop="code" align="center" width="120" /> <el-table-column label="危险性质" prop="productBasic.productCharacter" align="center" /> <el-table-column label="最小包装" prop="productBasic.productSn" align="center" width="120"> <template #default="scope"> @@ -59,14 +59,14 @@ </el-table-column> <el-table-column label="在库余量" prop="remaining" align="center" > <template #default="scope"> - <span v-if="scope.row.state === 0">{{scope.row.remaining}}{{scope.row.productBasic.unit}}</span> - <span v-else>—</span> + <span >{{scope.row.remaining}}{{scope.row.productBasic.unit}}</span> </template> </el-table-column> <el-table-column label="所在仓库" prop="warehouseName" align="center" /> <el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="180" > <template #default="scope"> - <el-button link type="primary" >取用记录</el-button> + <el-button link type="primary" @click="viewFlow(scope.row)">取用记录</el-button> + <el-button link type="danger" v-if="scope.row.state === 0" @click="disCard(scope.row)">标签作废</el-button> <el-button link type="primary" @click="viewQR(scope.row)">查看二维码</el-button> </template> </el-table-column> @@ -79,19 +79,32 @@ @pagination="getList" /> <viewQRcode ref="dialogRef" @getList="getList"></viewQRcode> + <el-dialog + v-model="dialogVisible" + width="650px" + :before-close="handleClose" + :close-on-press-escape="false" + :close-on-click-modal="false" + > + <flow-deail ref="flowRef"></flow-deail> + </el-dialog> </div> </template> <script setup> -import {onMounted, reactive, ref} from "vue"; +import {nextTick, onMounted, reactive, ref} from "vue"; import {useRoute, useRouter} from "vue-router"; -import {getProDetail, getProductRecord} from "@/api/hazardousChemicals/productRecord"; +import flowDeail from '../../../components/flowDetail.vue' +import {disCardPro, doEntryPro, getProDetail, getProductRecord} from "@/api/hazardousChemicals/productRecord"; import viewQRcode from './viewQR.vue' -import {ElMessage} from "element-plus"; +import {ElMessage, ElMessageBox} from "element-plus"; import Cookies from "js-cookie"; const route = useRoute() const router = useRouter(); const dialogRef = ref(); +const flowRef = ref(); + +const dialogVisible = ref(false) const data = reactive({ queryParams: { basicId: null, @@ -165,7 +178,57 @@ const viewQR = (val) => { dialogRef.value.openDialog('pro',val) } +const disCard = async (val) => { + ElMessageBox.confirm( + '确定作废该标签?', + '提示', + { + confirmButtonText: '确定', + cancelButtonText: '取消', + type: 'warning', + }) + .then( async() => { + const res = await disCardPro(val.id) + if(res.code == 200){ + ElMessage.success('操作成功') + await getList() + }else{ + ElMessage.warning(res.message) + } + }) + +} +const handleClose = () => { + dialogVisible.value = false +} +const viewFlow = (val) => { + dialogVisible.value = true + nextTick(() => { + + flowRef.value.openDialog('pro',val) + }) + +} + + +const cellStyle = ({ row, column,rowIndex, columnIndex }) => { + let arr = [] + if (data.dataList !== null) { + data.dataList.filter((item, index) => { + arr.push(item.basicId) + }) + } + for (let i = 0; i <= arr.length; i++) { + if (arr[i] == row.basicId) { + if(row.remaining < row.productBasic.metering){ + if (columnIndex === 11 || columnIndex === 10){ + return { color:' red' } + } + } + } + } +}; </script> <style scoped lang="scss"> -- Gitblit v1.9.2