| | |
| | | <div class="search_form"> |
| | | <el-form :model="searchForm" :inline="true"> |
| | | <el-form-item label="销售订单号:"> |
| | | <el-input v-model="searchForm.salesContractNo" placeholder="请输入" clearable prefix-icon="Search" |
| | | <el-input |
| | | v-model="searchForm.salesContractNo" |
| | | placeholder="请输入" |
| | | clearable |
| | | prefix-icon="Search" |
| | | style="width: 200px" |
| | | @change="handleQuery"/> |
| | | @change="handleQuery" |
| | | /> |
| | | </el-form-item> |
| | | <el-form-item label="车牌号:"> |
| | | <el-input v-model="searchForm.shippingCarNumber" placeholder="请输入" clearable prefix-icon="Search" |
| | | <el-input |
| | | v-model="searchForm.shippingCarNumber" |
| | | placeholder="请输入" |
| | | clearable |
| | | prefix-icon="Search" |
| | | style="width: 200px" |
| | | @change="handleQuery"/> |
| | | @change="handleQuery" |
| | | /> |
| | | </el-form-item> |
| | | <el-form-item label="快递单号:"> |
| | | <el-input v-model="searchForm.expressNumber" placeholder="请输入" clearable prefix-icon="Search" |
| | | <el-input |
| | | v-model="searchForm.expressNumber" |
| | | placeholder="请输入" |
| | | clearable |
| | | prefix-icon="Search" |
| | | style="width: 200px" |
| | | @change="handleQuery"/> |
| | | @change="handleQuery" |
| | | /> |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <el-button type="primary" @click="handleQuery"> 搜索</el-button> |
| | |
| | | <el-button type="danger" plain @click="handleDelete">删除</el-button> |
| | | </div> |
| | | </div> |
| | | <el-table :data="tableData" border v-loading="tableLoading" @selection-change="handleSelectionChange" |
| | | :row-key="(row) => row.id" style="width: 100%" height="calc(100vh - 21.5em)"> |
| | | <el-table |
| | | :data="tableData" |
| | | border |
| | | v-loading="tableLoading" |
| | | @selection-change="handleSelectionChange" |
| | | :row-key="(row) => row.id" |
| | | style="width: 100%" |
| | | height="calc(100vh - 21.5em)" |
| | | > |
| | | <el-table-column align="center" type="selection" width="55"/> |
| | | <el-table-column align="center" label="序号" type="index" width="60"/> |
| | | <el-table-column label="销售订单" prop="salesContractNo" show-overflow-tooltip/> |
| | | <el-table-column label="发货订单号" prop="shippingNo" show-overflow-tooltip/> |
| | | <el-table-column label="客户名称" prop="customerName" show-overflow-tooltip/> |
| | | <el-table-column label="产品名称" prop="productName" show-overflow-tooltip/> |
| | | <el-table-column label="规格型号" prop="specificationModel" show-overflow-tooltip/> |
| | | <el-table-column label="发货时间" prop="shippingDate" show-overflow-tooltip/> |
| | | <el-table-column label="发货车牌号" prop="shippingCarNumber" show-overflow-tooltip/> |
| | | <el-table-column label="快递公司" prop="expressCompany" show-overflow-tooltip/> |
| | | <el-table-column label="快递单号" prop="expressNumber" show-overflow-tooltip/> |
| | | <el-table-column label="审核状态" prop="status" align="center" width="120"> |
| | | <el-table-column |
| | | label="销售订单" |
| | | prop="salesContractNo" |
| | | show-overflow-tooltip |
| | | /> |
| | | <el-table-column |
| | | label="发货订单号" |
| | | prop="shippingNo" |
| | | show-overflow-tooltip |
| | | /> |
| | | <el-table-column |
| | | label="客户名称" |
| | | prop="customerName" |
| | | show-overflow-tooltip |
| | | /> |
| | | <el-table-column |
| | | label="产品名称" |
| | | prop="productName" |
| | | show-overflow-tooltip |
| | | /> |
| | | <el-table-column |
| | | label="规格型号" |
| | | prop="specificationModel" |
| | | show-overflow-tooltip |
| | | /> |
| | | <el-table-column |
| | | label="发货时间" |
| | | prop="shippingDate" |
| | | show-overflow-tooltip |
| | | /> |
| | | <el-table-column |
| | | label="发货车牌号" |
| | | prop="shippingCarNumber" |
| | | show-overflow-tooltip |
| | | /> |
| | | <el-table-column |
| | | label="快递公司" |
| | | prop="expressCompany" |
| | | show-overflow-tooltip |
| | | /> |
| | | <el-table-column |
| | | label="快递单号" |
| | | prop="expressNumber" |
| | | show-overflow-tooltip |
| | | /> |
| | | <el-table-column |
| | | label="审核状态" |
| | | prop="status" |
| | | align="center" |
| | | width="120" |
| | | > |
| | | <template #default="scope"> |
| | | <el-tag :type="getApprovalStatusType(scope.row.status)"> |
| | | {{ getApprovalStatusText(scope.row.status) }} |
| | |
| | | </el-table-column> |
| | | <el-table-column fixed="right" label="操作" width="220" align="center"> |
| | | <template #default="scope"> |
| | | <!-- <el-button--> |
| | | <!-- link--> |
| | | <!-- type="primary"--> |
| | | <!-- :disabled="!isApproved(scope.row.status)"--> |
| | | <!-- @click="openForm('edit', scope.row)">发货--> |
| | | <!-- </el-button>--> |
| | | <el-button |
| | | link |
| | | type="primary" |
| | | :disabled="!isApproved(scope.row.status)" |
| | | @click="openForm('edit', scope.row)">发货 |
| | | </el-button> |
| | | <el-button |
| | | link |
| | | type="primary" |
| | | style="color: #67C23A" |
| | | style="color: #67c23a" |
| | | @click="openDetail(scope.row)" |
| | | >详情 |
| | | </el-button> |
| | |
| | | link |
| | | type="danger" |
| | | :disabled="isApproving(scope.row.status)" |
| | | @click="handleDeleteSingle(scope.row)">删除 |
| | | @click="handleDeleteSingle(scope.row)" |
| | | >删除 |
| | | </el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | <pagination v-show="total > 0" :total="total" layout="total, sizes, prev, pager, next, jumper" |
| | | :page="page.current" :limit="page.size" @pagination="paginationChange"/> |
| | | <pagination |
| | | v-show="total > 0" |
| | | :total="total" |
| | | layout="total, sizes, prev, pager, next, jumper" |
| | | :page="page.current" |
| | | :limit="page.size" |
| | | @pagination="paginationChange" |
| | | /> |
| | | </div> |
| | | <el-dialog v-model="dialogFormVisible" :title="operationType === 'add' ? '新增发货台账' : '编辑发货台账'" |
| | | <el-dialog |
| | | v-model="dialogFormVisible" |
| | | :title="operationType === 'add' ? '新增发货台账' : '编辑发货台账'" |
| | | width="40%" |
| | | @close="closeDia"> |
| | | <el-form :model="form" label-width="120px" label-position="top" :rules="rules" ref="formRef"> |
| | | @close="closeDia" |
| | | > |
| | | <el-form |
| | | :model="form" |
| | | label-width="120px" |
| | | label-position="top" |
| | | :rules="rules" |
| | | ref="formRef" |
| | | > |
| | | <el-row :gutter="30"> |
| | | <el-col :span="24"> |
| | | <el-form-item label="发货类型:" prop="type"> |
| | |
| | | </el-dialog> |
| | | |
| | | <!-- 详情弹框 --> |
| | | <el-dialog v-model="detailDialogVisible" title="发货台账详情" width="55%" @close="closeDetail"> |
| | | <el-dialog |
| | | v-model="detailDialogVisible" |
| | | title="发货台账详情" |
| | | width="55%" |
| | | @close="closeDetail" |
| | | > |
| | | <div v-if="detailRow" class="detail-wrapper"> |
| | | <el-descriptions :column="2" border> |
| | | <el-descriptions-item label="销售订单">{{ detailRow.salesContractNo || '--' }}</el-descriptions-item> |
| | | <el-descriptions-item label="发货订单号">{{ detailRow.shippingNo || '--' }}</el-descriptions-item> |
| | | <el-descriptions-item label="客户名称">{{ detailRow.customerName || '--' }}</el-descriptions-item> |
| | | <el-descriptions-item label="产品名称">{{ detailRow.productName || '--' }}</el-descriptions-item> |
| | | <el-descriptions-item label="规格型号">{{ detailRow.specificationModel || '--' }}</el-descriptions-item> |
| | | <el-descriptions-item label="发货类型">{{ detailRow.type || '--' }}</el-descriptions-item> |
| | | <el-descriptions-item label="发货日期">{{ detailRow.shippingDate || '--' }}</el-descriptions-item> |
| | | <el-descriptions-item label="审核状态">{{ getApprovalStatusText(detailRow.status) }}</el-descriptions-item> |
| | | <el-descriptions-item label="发货车牌号">{{ detailRow.shippingCarNumber || '--' }}</el-descriptions-item> |
| | | <el-descriptions-item label="快递公司">{{ detailRow.expressCompany || '--' }}</el-descriptions-item> |
| | | <el-descriptions-item label="快递单号" :span="2">{{ detailRow.expressNumber || '--' }}</el-descriptions-item> |
| | | <el-descriptions-item label="销售订单">{{ |
| | | detailRow.salesContractNo || "--" |
| | | }}</el-descriptions-item> |
| | | <el-descriptions-item label="发货订单号">{{ |
| | | detailRow.shippingNo || "--" |
| | | }}</el-descriptions-item> |
| | | <el-descriptions-item label="客户名称">{{ |
| | | detailRow.customerName || "--" |
| | | }}</el-descriptions-item> |
| | | <el-descriptions-item label="产品名称">{{ |
| | | detailRow.productName || "--" |
| | | }}</el-descriptions-item> |
| | | <el-descriptions-item label="规格型号">{{ |
| | | detailRow.specificationModel || "--" |
| | | }}</el-descriptions-item> |
| | | <el-descriptions-item label="发货类型">{{ |
| | | detailRow.type || "--" |
| | | }}</el-descriptions-item> |
| | | <el-descriptions-item label="发货日期">{{ |
| | | detailRow.shippingDate || "--" |
| | | }}</el-descriptions-item> |
| | | <el-descriptions-item label="审核状态">{{ |
| | | getApprovalStatusText(detailRow.status) |
| | | }}</el-descriptions-item> |
| | | <el-descriptions-item label="发货车牌号">{{ |
| | | detailRow.shippingCarNumber || "--" |
| | | }}</el-descriptions-item> |
| | | <el-descriptions-item label="快递公司">{{ |
| | | detailRow.expressCompany || "--" |
| | | }}</el-descriptions-item> |
| | | <el-descriptions-item label="快递单号" :span="2">{{ |
| | | detailRow.expressNumber || "--" |
| | | }}</el-descriptions-item> |
| | | </el-descriptions> |
| | | <el-table :data="getDeliveryProductInfoList()" |
| | | <el-table |
| | | :data="getDeliveryProductInfoList()" |
| | | border |
| | | size="small" |
| | | class="delivery-product-table" |
| | | style="width: 100%; margin-top: 16px;"> |
| | | <el-table-column label="批号" |
| | | style="width: 100%; margin-top: 16px" |
| | | > |
| | | <el-table-column |
| | | label="批号" |
| | | prop="batchNo" |
| | | min-width="160" |
| | | show-overflow-tooltip/> |
| | | <el-table-column label="产品名称" |
| | | show-overflow-tooltip |
| | | /> |
| | | <el-table-column |
| | | label="产品名称" |
| | | prop="productName" |
| | | min-width="160" |
| | | show-overflow-tooltip/> |
| | | <el-table-column label="规格型号" |
| | | show-overflow-tooltip |
| | | /> |
| | | <el-table-column |
| | | label="规格型号" |
| | | prop="specificationModel" |
| | | min-width="160" |
| | | show-overflow-tooltip/> |
| | | <el-table-column label="发货数量" |
| | | show-overflow-tooltip |
| | | /> |
| | | <el-table-column |
| | | label="发货数量" |
| | | prop="deliveryQuantity" |
| | | min-width="120" |
| | | align="center"/> |
| | | align="center" |
| | | /> |
| | | </el-table> |
| | | <ImagePreview :file-list="detailRow.storageBlobVOs || []" /> |
| | | </div> |
| | |
| | | import {delLedgerFile} from "@/api/salesManagement/salesLedger.js"; |
| | | import ImageUpload from "@/components/AttachmentUpload/image/index.vue"; |
| | | import ImagePreview from "@/components/AttachmentPreview/image/index.vue"; |
| | | |
| | | |
| | | const {proxy} = getCurrentInstance(); |
| | | const tableData = ref([]); |
| | |
| | | expressNumber: "", // 快递单号 |
| | | }, |
| | | rules: { |
| | | salesContractNo: [{required: true, message: "请选择销售订单", trigger: "change"}], |
| | | customerName: [{required: true, message: "请输入客户名称", trigger: "blur"}], |
| | | type: [ |
| | | {required: true, message: "请选择发货类型", trigger: "change"} |
| | | salesContractNo: [ |
| | | { required: true, message: "请选择销售订单", trigger: "change" }, |
| | | ], |
| | | shippingDate: [{required: true, message: "请选择发货时间", trigger: "change"}], |
| | | customerName: [ |
| | | { required: true, message: "请输入客户名称", trigger: "blur" }, |
| | | ], |
| | | type: [{ required: true, message: "请选择发货类型", trigger: "change" }], |
| | | shippingDate: [ |
| | | { required: true, message: "请选择发货时间", trigger: "change" }, |
| | | ], |
| | | shippingCarNumber: [ |
| | | {validator: (_, value, callback) => validateShippingCarNumber(value, callback), trigger: "blur"} |
| | | { |
| | | validator: (_, value, callback) => |
| | | validateShippingCarNumber(value, callback), |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | | expressCompany: [ |
| | | {validator: (_, value, callback) => validateExpressCompany(value, callback), trigger: "blur"} |
| | | { |
| | | validator: (_, value, callback) => |
| | | validateExpressCompany(value, callback), |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | | }, |
| | | }); |
| | | const {form, rules} = toRefs(data); |
| | | const {searchForm} = toRefs(data); |
| | | |
| | | |
| | | // 查询列表 |
| | | const handleQuery = () => { |
| | |
| | | |
| | | // 销售订单变化时自动填充客户名称 |
| | | const handleSalesOrderChange = (value) => { |
| | | const selectedOrder = salesOrderOptions.value.find(item => item.salesContractNo === value); |
| | | const selectedOrder = salesOrderOptions.value.find( |
| | | (item) => item.salesContractNo === value |
| | | ); |
| | | if (selectedOrder) { |
| | | form.value.customerName = selectedOrder.customerName; |
| | | } |
| | |
| | | // 打开弹框 |
| | | const openForm = async (type, row) => { |
| | | // 发货:仅“审核通过”允许编辑 |
| | | if (type === 'edit' && row && !isApproved(row.status)) { |
| | | if (type === "edit" && row && !isApproved(row.status)) { |
| | | proxy.$modal.msgWarning("只有审核通过的数据才可以发货"); |
| | | return; |
| | | } |
| | | |
| | | operationType.value = type; |
| | | |
| | | if (type === 'edit' && row) { |
| | | if (type === "edit" && row) { |
| | | form.value = { |
| | | id: row.id ?? null, |
| | | salesContractNo: row.salesContractNo ?? "", |
| | |
| | | proxy.$modal.msgError("加载发货台账详情失败"); |
| | | } |
| | | }; |
| | | const resolveDeliveryDetailList = data => { |
| | | const resolveDeliveryDetailList = (data) => { |
| | | if (Array.isArray(data)) return data; |
| | | if (!data || typeof data !== "object") return []; |
| | | return [ |
| | | return ( |
| | | [ |
| | | data.batchNoDetailList, |
| | | data.batchNoList, |
| | | data.shippingBatchList, |
| | |
| | | data.records, |
| | | data.list, |
| | | data.data, |
| | | ].find(value => Array.isArray(value) && value.length) || []; |
| | | ].find((value) => Array.isArray(value) && value.length) || [] |
| | | ); |
| | | }; |
| | | const getDeliveryProductInfoList = () => { |
| | | const row = detailRow.value; |
| | | if (!row) return []; |
| | | const normalizeBatchNoList = value => { |
| | | const normalizeBatchNoList = (value) => { |
| | | if (Array.isArray(value)) return value; |
| | | if (typeof value === "string" && value.includes(",")) { |
| | | return value.split(",").map(item => item.trim()).filter(Boolean); |
| | | return value |
| | | .split(",") |
| | | .map((item) => item.trim()) |
| | | .filter(Boolean); |
| | | } |
| | | return value ? [value] : []; |
| | | }; |
| | | const detailList = detailProductList.value.length ? detailProductList.value : [ |
| | | const detailList = detailProductList.value.length |
| | | ? detailProductList.value |
| | | : [ |
| | | row.batchNoDetailList, |
| | | row.batchNoList, |
| | | row.shippingBatchList, |
| | | row.shippingInfoDetailList, |
| | | row.detailList, |
| | | row.batchDetailList, |
| | | ].find(value => Array.isArray(value) && value.length); |
| | | ].find((value) => Array.isArray(value) && value.length); |
| | | const batchNoList = normalizeBatchNoList(row.batchNo); |
| | | const toTableRow = (item = {}) => ({ |
| | | batchNo: |
| | |
| | | return detailList.map(toTableRow); |
| | | } |
| | | if (batchNoList.length) { |
| | | return batchNoList.map(batchNo => toTableRow({batchNo})); |
| | | return batchNoList.map((batchNo) => toTableRow({ batchNo })); |
| | | } |
| | | return [toTableRow()]; |
| | | }; |
| | |
| | | id: form.value.id, |
| | | type: form.value.type, |
| | | shippingDate: form.value.shippingDate, |
| | | shippingCarNumber: form.value.type === "货车" ? form.value.shippingCarNumber : "", |
| | | expressCompany: form.value.type === "快递" ? form.value.expressCompany : "", |
| | | expressNumber: form.value.type === "快递" ? form.value.expressNumber : "", |
| | | shippingCarNumber: |
| | | form.value.type === "货车" ? form.value.shippingCarNumber : "", |
| | | expressCompany: |
| | | form.value.type === "快递" ? form.value.expressCompany : "", |
| | | expressNumber: |
| | | form.value.type === "快递" ? form.value.expressNumber : "", |
| | | storageBlobDTOs: deliveryFileList.value || [], |
| | | }; |
| | | deductStock(payload).then((res) => { |
| | |
| | | } |
| | | |
| | | // 检查选中的行是否有"审核中"状态 |
| | | const approvingRows = selectedRows.value.filter(row => isApproving(row.status)); |
| | | const approvingRows = selectedRows.value.filter((row) => |
| | | isApproving(row.status) |
| | | ); |
| | | if (approvingRows.length > 0) { |
| | | proxy.$modal.msgWarning("审核中的数据不能删除"); |
| | | return; |
| | |
| | | // 发货图片上传前校检 |
| | | function handleDeliveryBeforeUpload(file) { |
| | | // 校检文件类型 |
| | | const isImage = file.type === 'image/png' || file.type === 'image/jpeg' || file.type === 'image/jpg'; |
| | | const isImage = |
| | | file.type === "image/png" || |
| | | file.type === "image/jpeg" || |
| | | file.type === "image/jpg"; |
| | | if (!isImage) { |
| | | proxy.$modal.msgError("只能上传 jpg、jpeg、png 格式的图片!"); |
| | | return false; |
| | |
| | | |
| | | // 移除发货图片 |
| | | function handleDeliveryRemove(file) { |
| | | console.log('file--', file) |
| | | console.log("file--", file); |
| | | // 如果是编辑模式且文件有 id,需要调用接口删除 |
| | | if (operationType.value === "edit") { |
| | | let ids = []; |
| | | ids.push(file.uid); |
| | | delLedgerFile(ids).then((res) => { |
| | | delLedgerFile(ids) |
| | | .then((res) => { |
| | | proxy.$modal.msgSuccess("删除成功"); |
| | | // 从文件列表中移除 |
| | | const index = deliveryFileList.value.findIndex(item => item.uid === file.uid); |
| | | const index = deliveryFileList.value.findIndex( |
| | | (item) => item.uid === file.uid |
| | | ); |
| | | if (index > -1) { |
| | | deliveryFileList.value.splice(index, 1); |
| | | } |
| | | }).catch(() => { |
| | | }) |
| | | .catch(() => { |
| | | proxy.$modal.msgError("删除失败"); |
| | | }); |
| | | } else { |
| | | // 新增模式或没有 id 的文件,直接从列表中移除 |
| | | const index = deliveryFileList.value.findIndex(item => item.uid === file.uid); |
| | | const index = deliveryFileList.value.findIndex( |
| | | (item) => item.uid === file.uid |
| | | ); |
| | | if (index > -1) { |
| | | deliveryFileList.value.splice(index, 1); |
| | | } |
| | |
| | | |
| | | // 获取审核状态文本 |
| | | const getApprovalStatusText = (status) => { |
| | | if (status === null || status === undefined || status === '') { |
| | | return '待审核'; |
| | | if (status === null || status === undefined || status === "") { |
| | | return "待审核"; |
| | | } |
| | | // 如果是数字 |
| | | if (typeof status === 'number') { |
| | | if (typeof status === "number") { |
| | | const statusMap = { |
| | | 0: '待审核', |
| | | 1: '审核中', |
| | | 2: '审核拒绝', |
| | | 3: '审核通过' |
| | | 0: "待审核", |
| | | 1: "审核中", |
| | | 2: "审核拒绝", |
| | | 3: "审核通过", |
| | | }; |
| | | return statusMap[status] || '待审核'; |
| | | return statusMap[status] || "待审核"; |
| | | } |
| | | // 如果是字符串,直接返回或映射 |
| | | const statusStr = String(status).trim(); |
| | | const statusTextMap = { |
| | | '待审核': '待审核', |
| | | '审核中': '审核中', |
| | | '审核拒绝': '审核拒绝', |
| | | '审核通过': '审核通过', |
| | | '已发货': '已发货', |
| | | '0': '待审核', |
| | | '1': '审核中', |
| | | '2': '审核拒绝', |
| | | '3': '审核通过' |
| | | 待审核: "待审核", |
| | | 审核中: "审核中", |
| | | 审核拒绝: "审核拒绝", |
| | | 审核通过: "审核通过", |
| | | 已发货: "已发货", |
| | | 0: "待审核", |
| | | 1: "审核中", |
| | | 2: "审核拒绝", |
| | | 3: "审核通过", |
| | | }; |
| | | return statusTextMap[statusStr] || statusStr || '待审核'; |
| | | return statusTextMap[statusStr] || statusStr || "待审核"; |
| | | }; |
| | | |
| | | // 获取审核状态标签类型(颜色) |
| | | const getApprovalStatusType = (status) => { |
| | | if (status === null || status === undefined || status === '') { |
| | | return 'info'; |
| | | if (status === null || status === undefined || status === "") { |
| | | return "info"; |
| | | } |
| | | // 如果是数字 |
| | | if (typeof status === 'number') { |
| | | if (typeof status === "number") { |
| | | const typeMap = { |
| | | 0: 'info', // 待审核 - 灰色 |
| | | 1: 'warning', // 审核中 - 黄色 |
| | | 2: 'danger', // 审核拒绝 - 红色 |
| | | 3: 'success' // 审核通过 - 绿色 |
| | | 0: "info", // 待审核 - 灰色 |
| | | 1: "warning", // 审核中 - 黄色 |
| | | 2: "danger", // 审核拒绝 - 红色 |
| | | 3: "success", // 审核通过 - 绿色 |
| | | }; |
| | | return typeMap[status] || 'info'; |
| | | return typeMap[status] || "info"; |
| | | } |
| | | // 如果是字符串 |
| | | const statusStr = String(status).trim(); |
| | | const typeTextMap = { |
| | | '待审核': 'info', |
| | | '审核中': 'warning', |
| | | '审核拒绝': 'danger', |
| | | '审核通过': 'success', |
| | | '已发货': 'success', |
| | | '0': 'info', |
| | | '1': 'warning', |
| | | '2': 'danger', |
| | | '3': 'success' |
| | | 待审核: "info", |
| | | 审核中: "warning", |
| | | 审核拒绝: "danger", |
| | | 审核通过: "success", |
| | | 已发货: "success", |
| | | 0: "info", |
| | | 1: "warning", |
| | | 2: "danger", |
| | | 3: "success", |
| | | }; |
| | | return typeTextMap[statusStr] || 'info'; |
| | | return typeTextMap[statusStr] || "info"; |
| | | }; |
| | | |
| | | // 检查审核状态是否为"审核通过" |
| | | const isApproved = (status) => { |
| | | if (status === null || status === undefined || status === '') { |
| | | if (status === null || status === undefined || status === "") { |
| | | return false; |
| | | } |
| | | // 如果是数字,3 表示审核通过 |
| | | if (typeof status === 'number') { |
| | | if (typeof status === "number") { |
| | | return status === 3; |
| | | } |
| | | // 如果是字符串 |
| | | const statusStr = String(status).trim(); |
| | | return statusStr === '审核通过' || statusStr === '3'; |
| | | return statusStr === "审核通过" || statusStr === "3"; |
| | | }; |
| | | |
| | | // 检查审核状态是否为"审核中" |
| | | const isApproving = (status) => { |
| | | if (status === null || status === undefined || status === '') { |
| | | if (status === null || status === undefined || status === "") { |
| | | return false; |
| | | } |
| | | // 如果是数字,1 表示审核中 |
| | | if (typeof status === 'number') { |
| | | if (typeof status === "number") { |
| | | return status === 1; |
| | | } |
| | | // 如果是字符串 |
| | | const statusStr = String(status).trim(); |
| | | return statusStr === '审核中' || statusStr === '1'; |
| | | return statusStr === "审核中" || statusStr === "1"; |
| | | }; |
| | | |
| | | onMounted(() => { |
| | |
| | | color: #909399; |
| | | } |
| | | </style> |
| | | |