湟水峡
1.反馈登记删减字段
2.售后服务字段匹配错误问题
| | |
| | | const workOrderStatusOptions = computed(() => work_order_status?.value || []); |
| | | |
| | | const tableColumn = ref([ |
| | | { |
| | | label: "工单编号", |
| | | prop:"afterSalesServiceNo", |
| | | width: 150, |
| | | align: "center" |
| | | }, |
| | | { |
| | | label: "销售单号", |
| | | prop:"salesContractNo", |
| | | width: 150, |
| | | align: "center" |
| | | }, |
| | | // { |
| | | // label: "工单编号", |
| | | // prop:"afterSalesServiceNo", |
| | | // width: 150, |
| | | // align: "center" |
| | | // }, |
| | | // { |
| | | // label: "销售单号", |
| | | // prop:"salesContractNo", |
| | | // width: 150, |
| | | // align: "center" |
| | | // }, |
| | | { |
| | | label: "处理状态", |
| | | prop: "status", |
| | |
| | | prop: "checkNickName", |
| | | align: "center" |
| | | }, |
| | | { |
| | | label: "紧急程度", |
| | | prop: "urgency", |
| | | // 根据degreeOfUrgencyOptions字典去自动匹配 |
| | | formatData: (params) => { |
| | | if (params) { |
| | | const item = degreeOfUrgencyOptions.value.find(item => item.value === params); |
| | | return item?.label || params; |
| | | } |
| | | return null; |
| | | }, |
| | | align: "center" |
| | | }, |
| | | { |
| | | label: "售后类型", |
| | | prop: "serviceType", |
| | | // 根据classificationOptions字典去自动匹配 |
| | | formatData: (params) => { |
| | | if (params) { |
| | | const item = classificationOptions.value.find(item => item.value === params); |
| | | return item?.label || params; |
| | | } |
| | | return null; |
| | | }, |
| | | align: "center" |
| | | }, |
| | | // { |
| | | // label: "紧急程度", |
| | | // prop: "urgency", |
| | | // // 根据degreeOfUrgencyOptions字典去自动匹配 |
| | | // formatData: (params) => { |
| | | // if (params) { |
| | | // const item = degreeOfUrgencyOptions.value.find(item => item.value === params); |
| | | // return item?.label || params; |
| | | // } |
| | | // return null; |
| | | // }, |
| | | // align: "center" |
| | | // }, |
| | | // { |
| | | // label: "售后类型", |
| | | // prop: "serviceType", |
| | | // // 根据classificationOptions字典去自动匹配 |
| | | // formatData: (params) => { |
| | | // if (params) { |
| | | // const item = classificationOptions.value.find(item => item.value === params); |
| | | // return item?.label || params; |
| | | // } |
| | | // return null; |
| | | // }, |
| | | // align: "center" |
| | | // }, |
| | | { |
| | | label: "问题描述", |
| | | prop: "proDesc", |
| | |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="4"> |
| | | <el-form-item label="售后类型:" prop="serviceType"> |
| | | <el-select |
| | | v-model="form.serviceType" |
| | | filterable |
| | | > |
| | | <el-option |
| | | v-for="dict in serviceTypeOptions" |
| | | :key="dict.value" |
| | | :label="dict.label" |
| | | :value="dict.value" |
| | | /> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="4"> |
| | | <el-form-item label="关联销售单号:" prop="salesContractNo"> |
| | | <el-select |
| | | v-model="form.salesContractNo" |
| | |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="4"> |
| | | <el-form-item label="紧急程度:" prop="urgency"> |
| | | <el-select |
| | | v-model="form.urgency" |
| | | filterable |
| | | > |
| | | <el-option |
| | | v-for="dict in urgencyOptions" |
| | | :key="dict.value" |
| | | :label="dict.label" |
| | | :value="dict.value" |
| | | /> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="4"> |
| | | <el-form-item label="问题描述:" prop="disRes"> |
| | | <el-form-item label="问题描述:" prop="proDesc"> |
| | | <el-input |
| | | v-model="form.disRes" |
| | | v-model="form.proDesc" |
| | | placeholder="请输入问题描述" |
| | | /> |
| | | </el-form-item> |
| | |
| | | const data = reactive({ |
| | | form: { |
| | | topic: "", |
| | | serviceType: "", |
| | | urgency: "", |
| | | salesLedgerId: null, |
| | | productModelIds: "", |
| | | customerId: null, |
| | | salesContractNo: "", |
| | | disRes: "", |
| | | proDesc: "", |
| | | customerName: "" |
| | | }, |
| | | rules: { |
| | | customerName: [{required: true, message: "请选择客户名称", trigger: "change"}], |
| | | serviceType: [{required: true, message: "请选择售后类型", trigger: "change"}], |
| | | urgency: [{required: true, message: "请选择紧急程度", trigger: "change"}], |
| | | feedbackDate: [{required: true, message: "请选择", trigger: "change"}], |
| | | } |
| | | }) |
| | |
| | | const num = Number(val) |
| | | return Number.isFinite(num) ? num.toFixed(2) : '-' |
| | | } |
| | | |
| | | const { post_sale_waiting_list, degree_of_urgency } = proxy.useDict( |
| | | "post_sale_waiting_list", |
| | | "degree_of_urgency" |
| | | ); |
| | | |
| | | const serviceTypeOptions = computed(() => post_sale_waiting_list?.value || []); |
| | | const urgencyOptions = computed(() => degree_of_urgency?.value || []); |
| | | |
| | | const getProductRowId = (row) => { |
| | | return row?.id ?? row?.productModelId ?? row?.modelId ?? `${row?.productCategory || row?.productName || ""}-${row?.specificationModel || row?.model || ""}-${row?.unit || ""}` |
| | |
| | | const openDialog =async (type, row) => { |
| | | // 请求多个接口,获取数据 |
| | | let res = await getAllCustomerList({ |
| | | current: 1, |
| | | size: 1000, |
| | | total: 0, |
| | | current: -1, |
| | | size: -1, |
| | | }); |
| | | if(res.records){ |
| | | customerNameOptions.value = res.records.map(item => ({ |
| | | if(res.data.records){ |
| | | customerNameOptions.value = res.data.records.map(item => ({ |
| | | label: item.customerName, |
| | | value: item.customerName, |
| | | id: item.id |
| | |
| | | <el-row :gutter="20"> |
| | | <el-col :span="4"> |
| | | <el-form-item> |
| | | <el-input |
| | | v-model="searchForm.afterSalesServiceNo" |
| | | placeholder="请输入工单编号" |
| | | clearable |
| | | /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="4"> |
| | | <el-form-item> |
| | | <el-select |
| | | v-model="searchForm.status" |
| | | placeholder="请选择工单状态" |
| | |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="4"> |
| | | <el-form-item> |
| | | <el-select |
| | | v-model="searchForm.urgency" |
| | | placeholder="请选择紧急程度" |
| | | clearable |
| | | > |
| | | <el-option |
| | | v-for="dict in degreeOfUrgencyOptions" |
| | | :key="dict.value" |
| | | :label="dict.label" |
| | | :value="dict.value" |
| | | /> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="4"> |
| | | <el-form-item> |
| | | <el-select |
| | | v-model="searchForm.serviceType" |
| | | placeholder="请选择售后类型" |
| | | clearable |
| | | > |
| | | <el-option |
| | | v-for="dict in classificationOptions" |
| | | :key="dict.value" |
| | | :label="dict.label" |
| | | :value="dict.value" |
| | | /> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="4"> |
| | | <el-form-item> |
| | | <el-input |
| | | v-model="searchForm.orderNo" |
| | | placeholder="请输入销售单号" |
| | | clearable |
| | | /> |
| | | </el-form-item> |
| | | </el-col> |
| | | |
| | | |
| | | |
| | | <!-- 按钮 --> |
| | | <el-col :span="4"> |
| | |
| | | |
| | | const data = reactive({ |
| | | searchForm : { |
| | | customerName: "", |
| | | status: "", |
| | | urgency: "", |
| | | serviceType: "", |
| | | reviewStatus: "", |
| | | orderNo: "", |
| | | } |
| | | }); |
| | | const { searchForm } = toRefs(data); |
| | | |
| | | const tableColumn = ref([ |
| | | { |
| | | label: "工单编号", |
| | | prop:"afterSalesServiceNo", |
| | | width: 150, |
| | | align: "center" |
| | | }, |
| | | { |
| | | label: "销售单号", |
| | | prop:"salesContractNo", |
| | | width: 150, |
| | | align: "center" |
| | | }, |
| | | { |
| | | label: "处理状态", |
| | | prop: "status", |
| | |
| | | align: "center" |
| | | }, |
| | | { |
| | | label: "紧急程度", |
| | | prop: "urgency", |
| | | // 根据degreeOfUrgencyOptions字典去自动匹配 |
| | | formatData: (params) => { |
| | | if (params) { |
| | | const item = degreeOfUrgencyOptions.value.find(item => item.value === params); |
| | | return item?.label || params; |
| | | } |
| | | return null; |
| | | }, |
| | | align: "center" |
| | | }, |
| | | { |
| | | label: "售后类型", |
| | | prop: "serviceType", |
| | | // 根据classificationOptions字典去自动匹配 |
| | | formatData: (params) => { |
| | | if (params) { |
| | | const item = classificationOptions.value.find(item => item.value === params); |
| | | return item?.label || params; |
| | | } |
| | | return null; |
| | | }, |
| | | align: "center" |
| | | }, |
| | | { |
| | | label: "问题描述", |
| | | prop: "disRes", |
| | | prop: "proDesc", |
| | | width:300, |
| | | }, |
| | | { |
| | |
| | | { |
| | | dataType: "action", |
| | | label: "操作", |
| | | align: "center", |
| | | fixed: 'right', |
| | | operation: [ |
| | | { |
| | |
| | | |
| | | // 字典获取 |
| | | /* |
| | | post_sale_waiting_list 新增的售后分类 |
| | | degree_of_urgency 新增的紧急程度 |
| | | work_order_status 主页的工单状态 |
| | | review_status 首页的审核状态 |
| | | */ |
| | | const { post_sale_waiting_list, degree_of_urgency, work_order_status, review_status } = proxy.useDict( |
| | | "post_sale_waiting_list", |
| | | "degree_of_urgency", |
| | | "work_order_status", |
| | | "review_status" |
| | | const { work_order_status } = proxy.useDict( |
| | | "work_order_status" |
| | | ); |
| | | |
| | | const classificationOptions = computed(() => post_sale_waiting_list?.value || []); |
| | | const degreeOfUrgencyOptions = computed(() => degree_of_urgency?.value || []); |
| | | const workOrderStatusOptions = computed(() => work_order_status?.value || []); |
| | | |
| | | // 查询列表 |
| | |
| | | <el-table-column fixed="right" label="操作" min-width="90" align="center"> |
| | | <template #default="scope"> |
| | | <el-button link type="primary" @click="showSubtractModal(scope.row)" :disabled="scope.row.unQualifiedUnLockedQuantity === 0 && scope.row.qualifiedUnLockedQuantity === 0">{{ actionButtonText }}</el-button> |
| | | <el-button link type="primary" v-if="scope.row.unQualifiedUnLockedQuantity > 0 || scope.row.qualifiedUnLockedQuantity > 0" @click="showFrozenModal(scope.row)">冻结</el-button> |
| | | <el-button link type="primary" v-if="scope.row.qualifiedLockedQuantity > 0 || scope.row.unQualifiedLockedQuantity > 0" @click="showThawModal(scope.row)">解冻</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | |
| | | </template> |
| | | </el-dialog> |
| | | |
| | | <!-- 冻结/解冻弹框 --> |
| | | <el-dialog |
| | | v-model="isShowFrozenModal" |
| | | :title="frozenDialogTitle" |
| | | width="800" |
| | | @close="closeFrozenModal" |
| | | > |
| | | <el-form label-width="140px" :model="frozenForm" label-position="top" ref="frozenFormRef"> |
| | | <el-form-item |
| | | label="产品名称" |
| | | prop="productModelId" |
| | | :rules="[{ required: true, message: '请选择产品', trigger: 'change' }]" |
| | | > |
| | | <el-button type="primary" disabled> |
| | | {{ frozenForm.productName ? frozenForm.productName : '选择产品' }} |
| | | </el-button> |
| | | </el-form-item> |
| | | |
| | | <el-form-item label="规格" prop="productModelName"> |
| | | <el-input v-model="frozenForm.model" disabled /> |
| | | </el-form-item> |
| | | |
| | | <el-form-item label="单位" prop="unit"> |
| | | <el-input v-model="frozenForm.unit" disabled /> |
| | | </el-form-item> |
| | | |
| | | <el-form-item |
| | | label="库存类型" |
| | | prop="type" |
| | | :rules="[{ required: true, message: '请选择库存类型', trigger: 'change' }]" |
| | | > |
| | | <el-select v-model="frozenForm.type" placeholder="请选择库存类型" @change="handleFrozenTypeChange"> |
| | | <el-option |
| | | label="合格库存" |
| | | value="qualified" |
| | | :disabled="frozenOperationType === 'frozen' ? currentRecord.qualifiedUnLockedQuantity <= 0 : currentRecord.qualifiedLockedQuantity <= 0" |
| | | /> |
| | | <el-option |
| | | label="不合格库存" |
| | | value="unqualified" |
| | | :disabled="frozenOperationType === 'frozen' ? currentRecord.unQualifiedUnLockedQuantity <= 0 : currentRecord.unQualifiedLockedQuantity <= 0" |
| | | /> |
| | | </el-select> |
| | | </el-form-item> |
| | | |
| | | <el-form-item label="数量" prop="qualitity"> |
| | | <el-input-number v-model="frozenForm.qualitity" :step="1" :min="1" :max="frozenMaxQuality" style="width: 100%" /> |
| | | </el-form-item> |
| | | |
| | | <el-form-item label="备注" prop="remark"> |
| | | <el-input v-model="frozenForm.remark" type="textarea" /> |
| | | </el-form-item> |
| | | </el-form> |
| | | <template #footer> |
| | | <div class="dialog-footer"> |
| | | <el-button type="primary" @click="handleFrozenSubmit">确认</el-button> |
| | | <el-button @click="closeFrozenModal">取消</el-button> |
| | | </div> |
| | | </template> |
| | | </el-dialog> |
| | | </div> |
| | | </template> |
| | | |
| | |
| | | } from "@/api/inventoryManagement/stockInventory.js"; |
| | | import { |
| | | subtractStockUnInventory |
| | | } from "@/api/inventoryManagement/stockUninventory.js"; |
| | | import { |
| | | frozenStockInventory, |
| | | thawStockInventory |
| | | } from "@/api/inventoryManagement/stockInventory.js"; |
| | | import { |
| | | frozenStockUninventory, |
| | | thawStockUninventory |
| | | } from "@/api/inventoryManagement/stockUninventory.js"; |
| | | import { getCurrentDate } from "@/utils/index.js"; |
| | | import { |
| | |
| | | |
| | | // 是否显示领用/发货弹框 |
| | | const isShowSubtractModal = ref(false) |
| | | // 是否显示冻结/解冻弹框 |
| | | const isShowFrozenModal = ref(false) |
| | | // 冻结/解冻操作类型 |
| | | const frozenOperationType = ref('frozen') |
| | | |
| | | // 判断是否是成品(产品名称包含"成品") |
| | | const isFinishedProduct = computed(() => { |
| | | return props.productName && props.productName.includes('成品') |
| | | return props.productName && props.productName.includes('销售') |
| | | }) |
| | | |
| | | // 按钮文字:成品显示"发货",其他显示"领用" |
| | | const actionButtonText = computed(() => { |
| | | return isFinishedProduct.value ? '发货' : '领用' |
| | | return isFinishedProduct.value ? '出库' : '领用' |
| | | }) |
| | | |
| | | // 弹框标题 |
| | | const dialogTitle = computed(() => { |
| | | return isFinishedProduct.value ? '发货' : '领用' |
| | | }) |
| | | |
| | | // 冻结/解冻弹框标题 |
| | | const frozenDialogTitle = computed(() => { |
| | | return frozenOperationType.value === 'frozen' ? '冻结' : '解冻' |
| | | return isFinishedProduct.value ? '出库' : '领用' |
| | | }) |
| | | |
| | | // 领用/发货表单 |
| | | const subtractFormRef = ref(null) |
| | | const subtractForm = ref({ |
| | | productId: undefined, |
| | | productModelId: undefined, |
| | | productName: "", |
| | | model: "", |
| | | unit: "", |
| | | type: "", |
| | | qualitity: 0, |
| | | remark: '', |
| | | }) |
| | | |
| | | // 冻结/解冻表单 |
| | | const frozenFormRef = ref(null) |
| | | const frozenForm = ref({ |
| | | productId: undefined, |
| | | productModelId: undefined, |
| | | productName: "", |
| | |
| | | max = currentRecord.value.qualifiedUnLockedQuantity ? currentRecord.value.qualifiedUnLockedQuantity : 0; |
| | | } else { |
| | | max = currentRecord.value.unQualifiedUnLockedQuantity ? currentRecord.value.unQualifiedUnLockedQuantity : 0; |
| | | } |
| | | return Math.max(max, 1); |
| | | }) |
| | | |
| | | // 冻结/解冻最大数量 |
| | | const frozenMaxQuality = computed(() => { |
| | | let max = 0; |
| | | if (frozenOperationType.value === 'frozen') { |
| | | if (frozenForm.value.type === 'qualified') { |
| | | max = currentRecord.value.qualifiedUnLockedQuantity ? currentRecord.value.qualifiedUnLockedQuantity : 0; |
| | | } else { |
| | | max = currentRecord.value.unQualifiedUnLockedQuantity ? currentRecord.value.unQualifiedUnLockedQuantity : 0; |
| | | } |
| | | } else { |
| | | if (frozenForm.value.type === 'qualified') { |
| | | max = currentRecord.value.qualifiedLockedQuantity ? currentRecord.value.qualifiedLockedQuantity : 0; |
| | | } else { |
| | | max = currentRecord.value.unQualifiedLockedQuantity ? currentRecord.value.unQualifiedLockedQuantity : 0; |
| | | } |
| | | } |
| | | return Math.max(max, 1); |
| | | }) |
| | |
| | | subtractForm.value.qualitity = 0; |
| | | } |
| | | |
| | | // 冻结类型改变 |
| | | const handleFrozenTypeChange = () => { |
| | | frozenForm.value.qualitity = 0; |
| | | } |
| | | |
| | | // 提交领用/发货 |
| | | const handleSubtractSubmit = () => { |
| | | proxy.$refs["subtractFormRef"].validate(valid => { |
| | |
| | | proxy.$modal.msgSuccess("提交成功"); |
| | | getList(); |
| | | }) |
| | | } |
| | | } |
| | | }) |
| | | } |
| | | |
| | | // 点击冻结 |
| | | const showFrozenModal = (row) => { |
| | | currentRecord.value = row |
| | | frozenOperationType.value = 'frozen' |
| | | frozenForm.value = { |
| | | ...row, |
| | | type: '', |
| | | qualitity: 0, |
| | | remark: '', |
| | | } |
| | | isShowFrozenModal.value = true |
| | | } |
| | | |
| | | // 点击解冻 |
| | | const showThawModal = (row) => { |
| | | currentRecord.value = row |
| | | frozenOperationType.value = 'thaw' |
| | | frozenForm.value = { |
| | | ...row, |
| | | type: '', |
| | | qualitity: 0, |
| | | remark: '', |
| | | } |
| | | isShowFrozenModal.value = true |
| | | } |
| | | |
| | | // 关闭冻结/解冻弹框 |
| | | const closeFrozenModal = () => { |
| | | frozenForm.value = { |
| | | productId: undefined, |
| | | productModelId: undefined, |
| | | productName: "", |
| | | model: "", |
| | | unit: "", |
| | | type: "", |
| | | qualitity: 0, |
| | | remark: '', |
| | | } |
| | | isShowFrozenModal.value = false |
| | | } |
| | | |
| | | // 提交冻结/解冻 |
| | | const handleFrozenSubmit = () => { |
| | | proxy.$refs["frozenFormRef"].validate(valid => { |
| | | if (valid) { |
| | | if (!frozenForm.value.productModelId) { |
| | | proxy.$modal.msgError("请选择产品"); |
| | | return; |
| | | } |
| | | const isQualified = frozenForm.value.type === 'qualified' |
| | | const isFrozen = frozenOperationType.value === 'frozen' |
| | | |
| | | if (isQualified) { |
| | | if (isFrozen) { |
| | | frozenStockInventory(frozenForm.value).then(res => { |
| | | isShowFrozenModal.value = false; |
| | | proxy.$modal.msgSuccess("冻结成功"); |
| | | getList(); |
| | | }) |
| | | } else { |
| | | thawStockInventory(frozenForm.value).then(res => { |
| | | isShowFrozenModal.value = false; |
| | | proxy.$modal.msgSuccess("解冻成功"); |
| | | getList(); |
| | | }) |
| | | } |
| | | } else { |
| | | if (isFrozen) { |
| | | frozenStockUninventory(frozenForm.value).then(res => { |
| | | isShowFrozenModal.value = false; |
| | | proxy.$modal.msgSuccess("冻结成功"); |
| | | getList(); |
| | | }) |
| | | } else { |
| | | thawStockUninventory(frozenForm.value).then(res => { |
| | | isShowFrozenModal.value = false; |
| | | proxy.$modal.msgSuccess("解冻成功"); |
| | | getList(); |
| | | }) |
| | | } |
| | | } |
| | | } |
| | | }) |
| | |
| | | <el-table-column label="库存预警数量" prop="warnNum" show-overflow-tooltip /> |
| | | <el-table-column label="备注" prop="remark" show-overflow-tooltip /> |
| | | <el-table-column label="最近更新时间" prop="updateTime" show-overflow-tooltip /> |
| | | <el-table-column fixed="right" label="操作" min-width="90" align="center"> |
| | | <template #default="scope"> |
| | | <el-button link type="primary" @click="showSubtractModal(scope.row)" :disabled="scope.row.unQualifiedUnLockedQuantity === 0 && scope.row.qualifiedUnLockedQuantity === 0">领用</el-button> |
| | | <el-button link type="primary" v-if="scope.row.unQualifiedUnLockedQuantity > 0 || scope.row.qualifiedUnLockedQuantity > 0" @click="showFrozenModal(scope.row)">冻结</el-button> |
| | | <el-button link type="primary" v-if="scope.row.qualifiedLockedQuantity > 0 || scope.row.unQualifiedLockedQuantity > 0" @click="showThawModal(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" /> |
| | |
| | | v-model:visible="isShowNewModal" |
| | | :top-product-parent-id="props.productId" |
| | | @completed="handleQuery" /> |
| | | |
| | | <subtract-stock-inventory v-if="isShowSubtractModal" |
| | | v-model:visible="isShowSubtractModal" |
| | | :record="record" |
| | | :type="record.stockType" |
| | | @completed="handleQuery" /> |
| | | <!-- 导入库存--> |
| | | <import-stock-inventory v-if="isShowImportModal" |
| | | v-model:visible="isShowImportModal" |
| | | type="qualified" |
| | | @uploadSuccess="handleQuery" /> |
| | | <!-- 冻结/解冻库存--> |
| | | <frozen-and-thaw-stock-inventory v-if="isShowFrozenAndThawModal" |
| | | v-model:visible="isShowFrozenAndThawModal" |
| | | :record="record" |
| | | :operation-type="operationType" |
| | | :type="record.stockType" |
| | | @completed="handleQuery" /> |
| | | </div> |
| | | </template> |
| | | |
| | |
| | | }); |
| | | |
| | | const NewStockInventory = defineAsyncComponent(() => import("@/views/inventoryManagement/stockManagement/New.vue")); |
| | | const SubtractStockInventory = defineAsyncComponent(() => import("@/views/inventoryManagement/stockManagement/Subtract.vue")); |
| | | const ImportStockInventory = defineAsyncComponent(() => import("@/views/inventoryManagement/stockManagement/Import.vue")); |
| | | const FrozenAndThawStockInventory = defineAsyncComponent(() => import("@/views/inventoryManagement/stockManagement/FrozenAndThaw.vue")); |
| | | const { proxy } = getCurrentInstance() |
| | | const tableData = ref([]) |
| | | const selectedRows = ref([]) |
| | |
| | | const total = ref(0) |
| | | // 是否显示新增弹框 |
| | | const isShowNewModal = ref(false) |
| | | // 是否显示领用弹框 |
| | | const isShowSubtractModal = ref(false) |
| | | // 是否显示冻结/解冻弹框 |
| | | const isShowFrozenAndThawModal = ref(false) |
| | | // 操作类型 |
| | | const operationType = ref('frozen') |
| | | // 是否显示导入弹框 |
| | | const isShowImportModal = ref(false) |
| | | const data = reactive({ |
| | |
| | | const showSubtractModal = (row) => { |
| | | record.value = row |
| | | isShowSubtractModal.value = true |
| | | } |
| | | |
| | | // 点击冻结 |
| | | const showFrozenModal = (row) => { |
| | | record.value = row |
| | | isShowFrozenAndThawModal.value = true |
| | | operationType.value = 'frozen' |
| | | } |
| | | |
| | | // 点击解冻 |
| | | const showThawModal = (row) => { |
| | | record.value = row |
| | | isShowFrozenAndThawModal.value = true |
| | | operationType.value = 'thaw' |
| | | } |
| | | |
| | | // 表格选择数据 |