Merge remote-tracking branch 'origin/dev_pro_河南鹤壁_泽淇实业' into dev_pro_河南鹤壁_泽淇实业
已修改21个文件
282 ■■■■■ 文件已修改
src/main.js 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/basicData/customerFile/index.vue 16 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/basicData/customerFileOpenSea/index.vue 64 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/basicData/parameterMaintenance/index.vue 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/basicData/product/index.vue 24 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/collaborativeApproval/approvalProcess/components/approvalDia.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/customerService/components/viewDia.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/customerService/feedbackRegistration/components/formDia.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/energyManagement/meterArchive/index.vue 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/equipmentManagement/upkeep/Form/PlanModal.vue 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/equipmentManagement/upkeep/Form/formDia.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/inventoryManagement/dispatchLog/Record.vue 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/inventoryManagement/receiptManagement/Record.vue 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/inventoryManagement/stockManagement/BatchNoQtyDetail.vue 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/inventoryManagement/stockManagement/New.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/inventoryManagement/stockManagement/Record.vue 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/procurementManagement/procurementLedger/index.vue 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/salesManagement/deliveryLedger/index.vue 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/salesManagement/paymentShipping/index.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/salesManagement/receiptPaymentLedger/index.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/salesManagement/salesLedger/index.vue 66 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main.js
@@ -115,5 +115,22 @@
  size: Cookies.get("size") || "default",
});
app._context.components.ElDialog.props.closeOnClickModal.default = false;
const ElTable = app._context.components.ElTable;
if (ElTable?.props?.tooltipOptions) {
  if (ElTable.props.tooltipOptions === Object) {
    ElTable.props.tooltipOptions = {
      type: Object,
      default: () => ({
        appendTo: "body",
      }),
    };
  } else if (typeof ElTable.props.tooltipOptions === "object") {
    ElTable.props.tooltipOptions.default =
      ElTable.props.tooltipOptions.default ||
      (() => ({
        appendTo: "body",
      }));
  }
}
app.mount("#app");
src/views/basicData/customerFile/index.vue
@@ -18,8 +18,8 @@
                   @change="handleQuery">
          <el-option label="零售客户"
                     value="零售客户" />
          <el-option label="进销商客户"
                     value="进销商客户" />
          <el-option label="经销商客户"
                     value="经销商客户" />
        </el-select>
        <el-button type="primary"
                   @click="handleQuery"
@@ -131,8 +131,8 @@
                         clearable>
                <el-option label="零售客户"
                           value="零售客户" />
                <el-option label="进销商客户"
                           value="进销商客户" />
                <el-option label="经销商客户"
                           value="经销商客户" />
              </el-select>
            </el-form-item>
          </el-col>
@@ -415,14 +415,14 @@
                <span class="info-value">{{ detailForm.companyAddress }}</span>
              </div>
            </el-col>
            <el-col :span="12">
            <!-- <el-col :span="12">
              <div class="info-item">
                <span class="info-label">银行基本户:</span>
                <span class="info-value">{{ detailForm.basicBankAccount }}</span>
              </div>
            </el-col>
            </el-col> -->
          </el-row>
          <el-row :gutter="20">
          <!-- <el-row :gutter="20">
            <el-col :span="12">
              <div class="info-item">
                <span class="info-label">银行账号:</span>
@@ -435,7 +435,7 @@
                <span class="info-value">{{ detailForm.bankCode }}</span>
              </div>
            </el-col>
          </el-row>
          </el-row> -->
          <el-row :gutter="20">
            <el-col :span="12">
              <div class="info-item">
src/views/basicData/customerFileOpenSea/index.vue
@@ -18,8 +18,8 @@
                   @change="handleQuery">
          <el-option label="零售客户"
                     value="零售客户" />
          <el-option label="进销商客户"
                     value="进销商客户" />
          <el-option label="经销商客户"
                     value="经销商客户" />
        </el-select>
        <el-button type="primary"
                   @click="handleQuery"
@@ -93,7 +93,7 @@
            </el-form-item>
          </el-col>
        </el-row>
        <el-row :gutter="30">
        <!-- <el-row :gutter="30">
          <el-col :span="12">
            <el-form-item label="银行基本户:"
                          prop="basicBankAccount">
@@ -110,16 +110,16 @@
                        clearable />
            </el-form-item>
          </el-col>
        </el-row>
        </el-row> -->
        <el-row :gutter="30">
          <el-col :span="12">
          <!-- <el-col :span="12">
            <el-form-item label="开户行号:"
                          prop="bankCode">
              <el-input v-model="form.bankCode"
                        placeholder="请输入"
                        clearable />
            </el-form-item>
          </el-col>
          </el-col> -->
          <el-col :span="12">
            <el-form-item label="客户分类:"
                          prop="customerType">
@@ -128,8 +128,8 @@
                         clearable>
                <el-option label="零售客户"
                           value="零售客户" />
                <el-option label="进销商客户"
                           value="进销商客户" />
                <el-option label="经销商客户"
                           value="经销商客户" />
              </el-select>
            </el-form-item>
          </el-col>
@@ -412,14 +412,14 @@
                <span class="info-value">{{ detailForm.companyAddress }}</span>
              </div>
            </el-col>
            <el-col :span="12">
            <!-- <el-col :span="12">
              <div class="info-item">
                <span class="info-label">银行基本户:</span>
                <span class="info-value">{{ detailForm.basicBankAccount }}</span>
              </div>
            </el-col>
            </el-col> -->
          </el-row>
          <el-row :gutter="20">
          <!-- <el-row :gutter="20">
            <el-col :span="12">
              <div class="info-item">
                <span class="info-label">银行账号:</span>
@@ -432,7 +432,7 @@
                <span class="info-value">{{ detailForm.bankCode }}</span>
              </div>
            </el-col>
          </el-row>
          </el-row> -->
          <el-row :gutter="20">
            <el-col :span="12">
              <div class="info-item">
@@ -748,21 +748,21 @@
    //   prop: "followUpTime",
    //   width: 120,
    // },
    {
      label: "银行基本户",
      prop: "basicBankAccount",
      width: 220,
    },
    {
      label: "银行账号",
      prop: "bankAccount",
      width: 220,
    },
    {
      label: "开户行号",
      prop: "bankCode",
      width: 220,
    },
    // {
    //   label: "银行基本户",
    //   prop: "basicBankAccount",
    //   width: 220,
    // },
    // {
    //   label: "银行账号",
    //   prop: "bankAccount",
    //   width: 220,
    // },
    // {
    //   label: "开户行号",
    //   prop: "bankCode",
    //   width: 220,
    // },
    {
      label: "维护人",
      prop: "maintainer",
@@ -854,11 +854,11 @@
    },
    rules: {
      customerName: [{ required: true, message: "请输入", trigger: "blur" }],
      taxpayerIdentificationNumber: [
        { required: true, message: "请输入", trigger: "blur" },
      ],
      companyAddress: [{ required: true, message: "请输入", trigger: "blur" }],
      companyPhone: [{ required: true, message: "请输入", trigger: "blur" }],
      // taxpayerIdentificationNumber: [
      //   { required: true, message: "请输入", trigger: "blur" },
      // ],
      // companyAddress: [{ required: true, message: "请输入", trigger: "blur" }],
      // companyPhone: [{ required: true, message: "请输入", trigger: "blur" }],
      // contactPerson: [{ required: true, message: "请输入", trigger: "blur" }],
      // contactPhone: [{ required: true, message: "请输入", trigger: "blur" }],
      maintainer: [{ required: false, message: "请选择", trigger: "change" }],
src/views/basicData/parameterMaintenance/index.vue
@@ -223,6 +223,7 @@
  import { deptTreeSelect } from "@/api/system/user.js";
  import PIMTable from "@/components/PIMTable/PIMTable.vue";
  import { ElMessage, ElMessageBox } from "element-plus";
  import { parseTime } from "@/utils/ruoyi";
  const tableColumn = ref([
    {
@@ -293,6 +294,10 @@
    {
      label: "创建时间",
      prop: "createTime",
      formatData: val => {
        if (!val) return "";
        return parseTime(val, "{y}-{m}-{d} {h}:{i}:{s}");
      },
    },
    {
      label: "操作",
src/views/basicData/product/index.vue
@@ -104,8 +104,10 @@
            <el-form-item label="产品名称:"
                          prop="productName">
              <el-input v-model="form.productName"
                        type="textarea"
                        resize="vertical"
                        placeholder="请输入产品名称"
                        maxlength="20"
                        maxlength="50"
                        show-word-limit
                        clearable
                        @keydown.enter.prevent />
@@ -132,17 +134,15 @@
               :rules="modelRules"
               ref="modelFormRef">
        <el-row>
          <el-row>
            <el-col :span="24">
              <el-form-item label="产品编号:"
                            prop="productCode">
                <el-input v-model="modelForm.productCode"
                          placeholder="请输入产品编号"
                          clearable
                          @keydown.enter.prevent />
              </el-form-item>
            </el-col>
          </el-row>
          <el-col :span="24">
            <el-form-item label="产品编号:"
                          prop="productCode">
              <el-input v-model="modelForm.productCode"
                        placeholder="请输入产品编号"
                        clearable
                        @keydown.enter.prevent />
            </el-form-item>
          </el-col>
          <el-col :span="24">
            <el-form-item label="规格型号:"
                          prop="model">
src/views/collaborativeApproval/approvalProcess/components/approvalDia.vue
@@ -193,9 +193,9 @@
                <el-descriptions-item label="发货日期">{{ currentDelivery.shippingInfo.shippingDate || '--' }}</el-descriptions-item>
                <el-descriptions-item label="审核状态">{{ currentDelivery.shippingInfo.status || '--' }}</el-descriptions-item>
                <el-descriptions-item label="发货车牌号">{{ currentDelivery.shippingInfo.shippingCarNumber || '--' }}</el-descriptions-item>
                <el-descriptions-item label="快递公司">{{ currentDelivery.shippingInfo.expressCompany || '--' }}</el-descriptions-item>
                <el-descriptions-item label="快递公司" v-if="false">{{ currentDelivery.shippingInfo.expressCompany || '--' }}</el-descriptions-item>
                <el-descriptions-item label="快递单号"
                                      :span="2">{{ currentDelivery.shippingInfo.expressNumber || '--' }}</el-descriptions-item>
                                      :span="2" v-if="false">{{ currentDelivery.shippingInfo.expressNumber || '--' }}</el-descriptions-item>
              </el-descriptions>
              <div style="margin-top: 20px;">
                <h4>产品明细</h4>
src/views/customerService/components/viewDia.vue
@@ -34,8 +34,8 @@
          <el-table-column prop="productCategory" label="产品大类" align="center" />
          <el-table-column prop="specificationModel" label="规格型号" align="center" />
          <el-table-column prop="unit" label="单位" align="center" />
          <el-table-column prop="expressCompany" label="快递公司" align="center" />
          <el-table-column prop="expressNumber" label="快递单号" align="center" />
          <el-table-column prop="expressCompany" label="快递公司" align="center" v-if="false" />
          <el-table-column prop="expressNumber" label="快递单号" align="center" v-if="false" />
          <el-table-column prop="shippingCarNumber" label="发货车牌" align="center" />
          <el-table-column prop="shippingDate" label="发货日期" align="center" />
          <el-table-column prop="quantity" label="售后数量" align="center" />
src/views/customerService/feedbackRegistration/components/formDia.vue
@@ -235,8 +235,8 @@
      dataType: "slot",
      slot: "shippingStatus",
    },
    { label: "快递公司", prop: "expressCompany", width: 140 },
    { label: "快递单号", prop: "expressNumber", width: 160 },
    // { label: "快递公司", prop: "expressCompany", width: 140 },
    // { label: "快递单号", prop: "expressNumber", width: 160 },
    {
      label: "发货车牌",
      prop: "shippingCarNumber",
src/views/energyManagement/meterArchive/index.vue
@@ -36,6 +36,9 @@
            {{ row.relayState === "1" ? "合闸" : row.relayState === "0" ? "拉闸" : "未知" }}
          </el-tag>
        </template>
        <template #syncTime="{ row }">
          {{ row.syncTime ? dayjs(row.syncTime).format('YYYY-MM-DD HH:mm:ss') : '-' }}
        </template>
        <template #operate="{ row }">
          <el-button link type="primary" @click="openForm('edit', row)">编辑</el-button>
          <el-button v-if="row.source === 'manual'" link type="danger" @click="handleDelete(row)">删除</el-button>
@@ -49,6 +52,7 @@
<script setup>
import { onMounted, reactive, ref, toRefs } from "vue";
import { ElMessage, ElMessageBox } from "element-plus";
import dayjs from "dayjs";
import FormDia from "./components/formDia.vue";
import { meterListPage, meterSync, meterDelete } from "@/api/energyManagement/tqdianbiao.js";
@@ -69,7 +73,7 @@
  { label: "来源", prop: "source", dataType: "slot", slot: "source", width: 80 },
  { label: "继电器", prop: "relayState", dataType: "slot", slot: "relayState", width: 90 },
  { label: "备注", prop: "description", minWidth: 100 },
  { label: "同步时间", prop: "syncTime", minWidth: 160 },
  { label: "同步时间", prop: "syncTime", dataType: "slot", slot: "syncTime", minWidth: 160 },
  { label: "操作", prop: "operate", dataType: "slot", slot: "operate", width: 120, fixed: "right" },
]);
src/views/equipmentManagement/upkeep/Form/PlanModal.vue
@@ -35,6 +35,7 @@
      <el-form-item label="保养项目">
        <el-input
            v-model="form.machineryCategory"
            type="textarea"
            placeholder="请输入保养项目"
        />
      </el-form-item>
src/views/equipmentManagement/upkeep/Form/formDia.vue
@@ -70,8 +70,8 @@
                    <el-form-item label="保养项目" prop="machineryCategory">
                        <el-input
                            v-model.trim="form.machineryCategory"
                            type="textarea"
                            placeholder="请输入保养项目"
                            maxlength="100"
                            clearable
                        />
                    </el-form-item>
src/views/inventoryManagement/dispatchLog/Record.vue
@@ -102,6 +102,7 @@
        <el-table-column
          label="出库日期"
          prop="createTime"
          width="180"
          show-overflow-tooltip
        />
        <el-table-column
@@ -110,14 +111,15 @@
          show-overflow-tooltip
        />
        <el-table-column label="规格型号" prop="model" show-overflow-tooltip />
        <el-table-column label="批号" prop="batchNo" show-overflow-tooltip />
        <el-table-column label="单位" prop="unit" show-overflow-tooltip />
        <el-table-column label="批号" prop="batchNo" width="150" show-overflow-tooltip />
        <el-table-column label="单位" prop="unit" width="80" show-overflow-tooltip />
        <el-table-column
          label="出库数量"
          prop="stockOutNum"
          width="80"
          show-overflow-tooltip
        />
        <el-table-column label="出库人" prop="createBy" show-overflow-tooltip />
        <el-table-column label="出库人" prop="createBy" width="100" show-overflow-tooltip />
        <el-table-column label="来源" prop="recordType" show-overflow-tooltip>
          <template #default="scope">
            {{ getRecordType(scope.row.recordType) }}
src/views/inventoryManagement/receiptManagement/Record.vue
@@ -102,10 +102,11 @@
                         width="60"/>
        <el-table-column label="入库批次"
                         prop="inboundBatches"
                         width="200"
                         width="150"
                         show-overflow-tooltip/>
        <el-table-column label="入库时间"
                         prop="createTime"
                         width="160"
                         show-overflow-tooltip/>
        <el-table-column label="产品大类"
                         prop="productName"
@@ -115,6 +116,7 @@
                         show-overflow-tooltip/>
        <el-table-column label="批号"
                         prop="batchNo"
                         width="180"
                         show-overflow-tooltip/>
        <el-table-column label="单位"
                         prop="unit"
src/views/inventoryManagement/stockManagement/BatchNoQtyDetail.vue
@@ -29,12 +29,12 @@
            prop="qualifiedQuantity"
            show-overflow-tooltip
          />
          <el-table-column
          <!-- <el-table-column
            label="不合格库存数量"
            prop="unQualifiedQuantity"
            show-overflow-tooltip
          />
          <el-table-column
          /> -->
          <!-- <el-table-column
            label="合格冻结数量"
            prop="qualifiedLockedQuantity"
            show-overflow-tooltip
@@ -43,7 +43,7 @@
            label="不合格冻结数量"
            prop="unQualifiedLockedQuantity"
            show-overflow-tooltip
          />
          /> -->
          <el-table-column
            label="库存预警数量"
            prop="warnNum"
@@ -55,7 +55,7 @@
            prop="updateTime"
            show-overflow-tooltip
          />
          <el-table-column fixed="right" label="操作" min-width="180" align="center">
          <el-table-column fixed="right" label="操作" min-width="100" align="center">
            <template #default="scope">
              <el-button
                link
@@ -71,7 +71,7 @@
                "
                >领用</el-button
              >
              <el-button
              <!-- <el-button
                link
                type="primary"
                v-if="
@@ -80,7 +80,7 @@
                "
                @click="handleFrozen(scope.row)"
                >冻结</el-button
              >
              > -->
              <el-button
                link
                type="primary"
src/views/inventoryManagement/stockManagement/New.vue
@@ -45,8 +45,8 @@
                     placeholder="请选择库存类型">
            <el-option label="合格库存"
                       value="qualified" />
            <el-option label="不合格库存"
                       value="unqualified" />
            <!-- <el-option label="不合格库存"
                       value="unqualified" /> -->
          </el-select>
        </el-form-item>
        <el-form-item label="库存数量"
src/views/inventoryManagement/stockManagement/Record.vue
@@ -83,18 +83,18 @@
        />
        <el-table-column label="规格型号" prop="model" show-overflow-tooltip />
        <el-table-column label="单位" prop="unit" show-overflow-tooltip />
        <el-table-column label="批号" prop="batchNo" show-overflow-tooltip />
        <!-- <el-table-column label="批号" prop="batchNo" show-overflow-tooltip /> -->
        <el-table-column
          label="合格库存数量"
          prop="qualifiedQuantity"
          show-overflow-tooltip
        />
        <el-table-column
        <!-- <el-table-column
          label="不合格库存数量"
          prop="unQualifiedQuantity"
          show-overflow-tooltip
        />
        <el-table-column
        /> -->
        <!-- <el-table-column
          label="合格冻结数量"
          prop="qualifiedLockedQuantity"
          show-overflow-tooltip
@@ -103,7 +103,7 @@
          label="不合格冻结数量"
          prop="unQualifiedLockedQuantity"
          show-overflow-tooltip
        />
        /> -->
        <el-table-column
          label="库存预警数量"
          prop="warnNum"
src/views/procurementManagement/procurementLedger/index.vue
@@ -632,13 +632,6 @@
const { form, rules } = toRefs(data);
const { form: searchForm } = useFormData({
  ...data.searchForm,
  // 设置录入日期范围为当天
  entryDate: [
    dayjs().startOf("day").format("YYYY-MM-DD"),
    dayjs().endOf("day").format("YYYY-MM-DD"),
  ],
  entryDateStart: dayjs().startOf("day").format("YYYY-MM-DD"),
  entryDateEnd: dayjs().endOf("day").format("YYYY-MM-DD"),
});
// 产品表单弹框数据
src/views/salesManagement/deliveryLedger/index.vue
@@ -22,7 +22,7 @@
            @change="handleQuery"
          />
        </el-form-item>
        <el-form-item label="快递单号:">
        <el-form-item label="快递单号:" v-if="false">
          <el-input
            v-model="searchForm.expressNumber"
            placeholder="请输入"
@@ -99,11 +99,13 @@
        <el-table-column
          label="快递公司"
          prop="expressCompany"
          v-if="false"
          show-overflow-tooltip
        />
        <el-table-column
          label="快递单号"
          prop="expressNumber"
          v-if="false"
          show-overflow-tooltip
        />
        <el-table-column
@@ -181,7 +183,7 @@
                @change="handleShippingTypeChange"
              >
                <el-option label="货车" value="货车" />
                <el-option label="快递" value="快递" />
                <el-option label="快递" value="快递" v-if="false" />
              </el-select>
            </el-form-item>
          </el-col>
@@ -211,7 +213,7 @@
              />
            </el-form-item>
          </el-col>
          <el-col :span="24" v-else>
          <el-col :span="24" v-else-if="false">
            <el-form-item label="快递公司:" prop="expressCompany">
              <el-input
                v-model="form.expressCompany"
@@ -221,7 +223,7 @@
            </el-form-item>
          </el-col>
        </el-row>
        <el-row :gutter="30" v-if="form.type === '快递'">
        <el-row :gutter="30" v-if="false">
          <el-col :span="24">
            <el-form-item label="快递单号:" prop="expressNumber">
              <el-input
@@ -284,10 +286,10 @@
          <el-descriptions-item label="发货车牌号">{{
            detailRow.shippingCarNumber || "--"
          }}</el-descriptions-item>
          <el-descriptions-item label="快递公司">{{
          <el-descriptions-item label="快递公司" v-if="false">{{
            detailRow.expressCompany || "--"
          }}</el-descriptions-item>
          <el-descriptions-item label="快递单号" :span="2">{{
          <el-descriptions-item label="快递单号" :span="2" v-if="false">{{
            detailRow.expressNumber || "--"
          }}</el-descriptions-item>
          <el-descriptions-item label="出库单号" :span="2">{{
src/views/salesManagement/paymentShipping/index.vue
@@ -239,8 +239,8 @@
          <el-select v-model="logisticsCompany" placeholder="请选择物流公司" style="width: 100%">
            <el-option label="顺丰速运" value="顺丰速运"></el-option>
            <el-option label="圆通速递" value="圆通速递"></el-option>
            <el-option label="中通快递" value="中通快递"></el-option>
            <el-option label="申通快递" value="申通快递"></el-option>
            <el-option label="中通快递" value="中通快递" v-if="false"></el-option>
            <el-option label="申通快递" value="申通快递" v-if="false"></el-option>
            <el-option label="韵达速递" value="韵达速递"></el-option>
          </el-select>
        </el-form-item>
src/views/salesManagement/receiptPaymentLedger/index.vue
@@ -4,7 +4,7 @@
         style="margin-bottom: 20px;">
      <div>
        <span class="search_title">客户名称:</span>
        <el-input v-model="searchForm.searchText"
        <el-input v-model="searchForm.customerName"
                  style="width: 240px"
                  placeholder="输入客户名称搜索"
                  @change="handleQuery"
@@ -142,7 +142,7 @@
  const recordTotal = ref(0);
  const data = reactive({
    searchForm: {
      searchText: "",
      customerName: "",
      invoiceDate: "",
    },
  });
src/views/salesManagement/salesLedger/index.vue
@@ -123,9 +123,11 @@
              </el-table-column>
              <el-table-column label="快递公司"
                               prop="expressCompany"
                               v-if="false"
                               show-overflow-tooltip />
              <el-table-column label="快递单号"
                               prop="expressNumber"
                               v-if="false"
                               show-overflow-tooltip />
              <el-table-column label="发货车牌"
                               minWidth="100px"
@@ -725,12 +727,33 @@
          <el-col :span="12">
            <el-form-item label="是否生产:"
                          prop="isProduction">
              <el-radio-group v-model="productForm.isProduction">
                <el-radio label="是"
                          :value="true" />
                <el-radio label="否"
                          :value="false" />
              </el-radio-group>
              <div style="display: flex; align-items: center; width: 100%;">
                <el-radio-group v-model="productForm.isProduction">
                  <el-radio label="是"
                            :value="true" />
                  <el-radio label="否"
                            :value="false" />
                </el-radio-group>
                <div
                  v-if="currentStock !== null"
                  :style="{
                    marginLeft: '20px',
                    padding: '0 12px',
                    height: '28px',
                    lineHeight: '28px',
                    borderRadius: '4px',
                    fontSize: '13px',
                    fontWeight: '500',
                    display: 'inline-block',
                    whiteSpace: 'nowrap',
                    backgroundColor: (productForm.quantity || 0) > currentStock ? '#fff0f0' : '#f0f9eb',
                    border: (productForm.quantity || 0) > currentStock ? '1px solid #ffcccc' : '1px solid #e1f3d8',
                    color: (productForm.quantity || 0) > currentStock ? '#f56c6c' : '#67c23a'
                  }"
                >
                  <span>当前库存:{{ currentStock }} {{ productForm.unit || '' }}</span>
                </div>
              </div>
            </el-form-item>
          </el-col>
        </el-row>
@@ -917,6 +940,7 @@
                <el-option label="货车"
                           value="货车" />
                <el-option label="快递"
                           v-if="false"
                           value="快递" />
              </el-select>
            </el-form-item>
@@ -939,7 +963,7 @@
            </el-form-item>
          </el-col>
          <el-col :span="24"
                  v-else>
                  v-else-if="false">
            <el-form-item label="快递公司:"
                          prop="expressCompany">
              <el-input v-model="deliveryForm.expressCompany"
@@ -949,7 +973,7 @@
          </el-col>
        </el-row>
        <el-row :gutter="30"
                v-if="deliveryForm.type === '快递'">
                v-if="false">
          <el-col :span="24">
            <el-form-item label="快递单号:"
                          prop="expressNumber">
@@ -1194,6 +1218,27 @@
      item?.qualifiedQuantity ??
      item?.stockQuantity;
    return quantity ?? 0;
  };
  const currentStock = ref(null);
  const fetchCurrentStock = async (productModelId) => {
    if (!productModelId) {
      currentStock.value = null;
      return;
    }
    try {
      const res = await getStockInventoryByModelId(productModelId);
      const rawList = Array.isArray(res?.data)
        ? res.data
        : res?.data?.records || res?.data?.rows || [];
      let total = 0;
      rawList.forEach(item => {
        total += Number(getDeliveryBatchQuantity(item) || 0);
      });
      currentStock.value = total;
    } catch (e) {
      console.error(e);
      currentStock.value = 0;
    }
  };
  const getCurrentDeliveryRowQuantity = () => {
    return Number(currentDeliveryRow.value?.noQuantity || 0);
@@ -1460,6 +1505,7 @@
  // 获取tree子数据
  const getModels = value => {
    productForm.value.productCategory = findNodeById(productOptions.value, value);
    currentStock.value = null;
    modelList({ id: value }).then(res => {
      modelOptions.value = res;
    });
@@ -1469,9 +1515,11 @@
    if (index !== -1) {
      productForm.value.specificationModel = modelOptions.value[index].model;
      productForm.value.unit = modelOptions.value[index].unit;
      fetchCurrentStock(value);
    } else {
      productForm.value.specificationModel = null;
      productForm.value.unit = null;
      currentStock.value = null;
    }
  };
  const findNodeById = (nodes, productId) => {
@@ -1795,6 +1843,7 @@
    productOperationType.value = type;
    productForm.value = {};
    currentStock.value = null;
    if (type === "add") {
      productForm.value.isProduction = false;
    }
@@ -1821,6 +1870,7 @@
          );
          if (currentModel) {
            productForm.value.productModelId = currentModel.id;
            fetchCurrentStock(currentModel.id);
          }
        }
      } catch (e) {