huminmin
2026-03-19 f92e790af99264551dd13cfa10abd1f833ee8429
Merge branch 'dev_KTHG' of http://114.132.189.42:9002/r/product-inventory-management into dev_KTHG
已修改10个文件
92 ■■■■ 文件已修改
src/views/consumablesLogistics/dispatchLog/Record.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/consumablesLogistics/stockManagement/Subtract.vue 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/index.vue 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/inventoryManagement/dispatchLog/Record.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/inventoryManagement/stockManagement/New.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/inventoryManagement/stockManagement/Subtract.vue 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/qualityManagement/InspectItem/index.vue 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/qualityManagement/nonconformingManagement/index.vue 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/safeProduction/safeQualifications/index.vue 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
vite.config.js 16 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/consumablesLogistics/dispatchLog/Record.vue
@@ -29,7 +29,7 @@
            <div>
                <el-button @click="handleOut">导出</el-button>
                <el-button type="danger" plain @click="handleDelete">删除</el-button>
                <el-button type="primary" plain @click="handlePrint">打印</el-button>
                <!-- <el-button type="primary" plain @click="handlePrint">打印</el-button> -->
            </div>
        </div>
        <div class="table_list">
src/views/consumablesLogistics/stockManagement/Subtract.vue
@@ -229,7 +229,13 @@
    const computedNet = safeNet > 0 ? safeNet : 0;
    const maxNet = ledgerNetWeight.value;
    if (Number.isFinite(maxNet) && maxNet > 0 && computedNet > maxNet) {
      formState.value.netWeight = Number(maxNet.toFixed(2));
      const cappedNet = Number(maxNet.toFixed(2));
      formState.value.netWeight = cappedNet;
      // 同步毛重,保持:净重 = 毛重 - 皮重
      const tare = Number(tareWeight);
      if (Number.isFinite(tare)) {
        formState.value.grossWeight = Number((tare + cappedNet).toFixed(2));
      }
      proxy?.$modal?.msgWarning?.(`领用净重不能超过台账净重(${maxNet.toFixed(2)} 吨)`);
      return;
    }
src/views/index.vue
@@ -47,6 +47,22 @@
        </div>
      </div>
      <div class="top-middle2">
        <div class="data-card consumables">
          <div class="data-title">耗材数据</div>
          <div class="data-num">
            <div>
              <div class="data-desc">当前耗材总量/件</div>
              <div class="data-value">{{ businessInfo.consumablesQuantityTotal || 0 }}</div>
            </div>
            <div>
              <div class="data-desc">今日耗材入库/件</div>
              <div class="data-value">{{ businessInfo.consumablesTodayNum || 0 }}</div>
            </div>
          </div>
        </div>
      </div>
      <div class="top-right">
        <div class="todo-panel">
          <div class="section-title">待办事项</div>
@@ -158,9 +174,9 @@
          </el-radio-group>
        </div>
        <div class="quality-cards">
          <div class="quality-card one">原材料已检测数 <span>{{ qualityStatisticsObject.supplierNum }}件</span></div>
          <div class="quality-card two">过程检验数量 <span>{{ qualityStatisticsObject.processNum }}件</span></div>
          <div class="quality-card three">出厂已检数量 <span>{{ qualityStatisticsObject.factoryNum }}件</span></div>
          <div class="quality-card one">入厂检测数 <span>{{ qualityStatisticsObject.supplierNum }}件</span></div>
          <div class="quality-card two">车间检测数 <span>{{ qualityStatisticsObject.processNum }}件</span></div>
          <div class="quality-card three">出厂检数 <span>{{ qualityStatisticsObject.factoryNum }}件</span></div>
        </div>
        <Echarts ref="chart" :chartStyle="chartStyle" :grid="grid" :legend="barLegend" :series="barSeries1"
          :tooltip="tooltip" :xAxis="xAxis1" :yAxis="yAxis1" style="height: 260px"></Echarts>
@@ -195,11 +211,13 @@
const businessInfo = ref({
  inventoryNum: 0,
  consumablesQuantityTotal: 0,
  monthPurchaseHaveMoney: 0,
  monthPurchaseMoney: 0,
  monthSaleHaveMoney: 0,
  monthSaleMoney: 0,
  todayInventoryNum: 0,
  consumablesTodayNum: 0,
})
const qualityStatisticsObject = ref({
  supplierNum: 0,
@@ -806,6 +824,10 @@
  background-repeat: no-repeat;
}
.data-card.consumables {
  background: linear-gradient(135deg, #f59e0b 0%, #f97316 100%);
}
.data-desc {
  font-weight: 500;
  font-size: 16px;
@@ -821,9 +843,15 @@
.top-left,
.top-middle,
.top-middle2,
.top-right {
  flex: 1;
  display: flex;
  min-width: 0;
}
.dashboard-top {
  gap: 12px;
}
.todo-panel {
src/views/inventoryManagement/dispatchLog/Record.vue
@@ -29,7 +29,7 @@
            <div>
                <el-button @click="handleOut">导出</el-button>
                <el-button type="danger" plain @click="handleDelete">删除</el-button>
                <el-button type="primary" plain @click="handlePrint">打印</el-button>
                <!-- <el-button type="primary" plain @click="handlePrint">打印</el-button> -->
            </div>
        </div>
        <div class="table_list">
src/views/inventoryManagement/stockManagement/New.vue
@@ -39,7 +39,7 @@
        <!-- 半成品:允许手动填写数量入库 -->
        <el-form-item
            v-if="type === 'qualified' && (formState.parentName === '半成品' || formState.productType === 1)"
            v-if="type === 'qualified' && (formState.parentName === '半成品' || formState.parentName === '成品' || formState.productType === 1)"
            label="数量"
            prop="qualitity"
            :rules="[
src/views/inventoryManagement/stockManagement/Subtract.vue
@@ -229,7 +229,13 @@
    const computedNet = safeNet > 0 ? safeNet : 0;
    const maxNet = ledgerNetWeight.value;
    if (Number.isFinite(maxNet) && maxNet > 0 && computedNet > maxNet) {
      formState.value.netWeight = Number(maxNet.toFixed(2));
      const cappedNet = Number(maxNet.toFixed(2));
      formState.value.netWeight = cappedNet;
      // 同步毛重,保持:净重 = 毛重 - 皮重
      const tare = Number(tareWeight);
      if (Number.isFinite(tare)) {
        formState.value.grossWeight = Number((tare + cappedNet).toFixed(2));
      }
      proxy?.$modal?.msgWarning?.(`领用净重不能超过台账净重(${maxNet.toFixed(2)} 吨)`);
      return;
    }
src/views/qualityManagement/InspectItem/index.vue
@@ -9,7 +9,6 @@
          placeholder="请输入检测项目名称"
          clearable
          :prefix-icon="Search"
          @change="handleQuery"
          @clear="handleQuery"
        />
        <el-button type="primary" style="margin-left: 10px" @click="handleQuery">搜索</el-button>
src/views/qualityManagement/nonconformingManagement/index.vue
@@ -4,19 +4,19 @@
      <div style="display: flex;flex-direction: row;align-items: center;">
        <div>
          <span class="search_title">类型:</span>
          <el-select v-model="searchForm.inspectType" clearable style="width: 200px" @change="handleQuery">
          <el-select v-model="searchForm.checkType" clearable style="width: 200px" @change="handleQuery">
            <el-option label="入厂检" :value="0" />
            <el-option label="车间检" :value="1" />
            <el-option label="出厂检" :value="2" />
          </el-select>
        </div>
        <div style="margin-left: 10px">
        <!-- <div style="margin-left: 10px">
          <span class="search_title">状态:</span>
          <el-select v-model="searchForm.inspectState" clearable style="width: 200px" @change="handleQuery">
            <el-option label="待处理" :value="0" />
            <el-option label="已处理" :value="1" />
          </el-select>
        </div>
        </div> -->
        <div style="margin-left: 10px">
          <span class="search_title">产品名称:</span>
          <el-input
@@ -69,7 +69,7 @@
const data = reactive({
  searchForm: {
    inspectType: "",
    checkType: "",
    inspectState: "",
    productName: "",
    entryDate: undefined, // 录入日期
src/views/safeProduction/safeQualifications/index.vue
@@ -408,7 +408,9 @@
        executionDate: "",
      };
    } else {
      form.value = row;
      // 关键:编辑时不要直接引用表格行对象,避免取消/重置时把列表数据一起清空
      // 使用深拷贝断开引用关系
      form.value = JSON.parse(JSON.stringify(row || {}));
    }
    dialogFormVisible.value = true;
  };
@@ -453,6 +455,7 @@
  // 关闭弹框
  const closeDia = () => {
    proxy.resetForm("formRef");
    form.value = {};
    dialogFormVisible.value = false;
  };
  // 关闭产品弹框
@@ -724,9 +727,9 @@
    background-color: #fef0f0 !important;
  }
  :deep(.warning-row td) {
    // color: #cf1322 !important;
  }
  /* :deep(.warning-row td) {
    color: #cf1322 !important;
  } */
  .actions {
    display: flex;
vite.config.js
@@ -7,16 +7,16 @@
  const env = loadEnv(mode, process.cwd());
  const { VITE_APP_ENV } = env;
  const baseUrl =
      env.VITE_APP_ENV === "development"
          ? "http://1.15.17.182:9003"
          : env.VITE_BASE_API;
    env.VITE_APP_ENV === "development"
      ? "http://1.15.17.182:9011"
      : env.VITE_BASE_API;
  const javaUrl =
      env.VITE_APP_ENV === "development"
          ? "http://1.15.17.182:9002"
          : env.VITE_JAVA_API;
    env.VITE_APP_ENV === "development"
      ? "http://1.15.17.182:9010"
      : env.VITE_JAVA_API;
  return {
    define:{
      __BASE_API__: JSON.stringify(javaUrl)
    define: {
      __BASE_API__: JSON.stringify(javaUrl),
    },
    // 部署生产环境和开发环境下的URL。
    // 默认情况下,vite 会假设你的应用是被部署在一个域名的根路径上