spring
7 小时以前 e65eba077662e270ba462304b15507d00ec2875a
fix: 库存bug修改
已修改4个文件
121 ■■■■ 文件已修改
src/pages/consumablesLogistics/stockManagement/subtract.vue 18 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/pages/inventoryManagement/stockManagement/add.vue 59 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/pages/inventoryManagement/stockManagement/subtract.vue 17 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/pages/qualityManagement/nonconformingManagement/index.vue 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/pages/consumablesLogistics/stockManagement/subtract.vue
@@ -31,15 +31,15 @@
        </view>
        <view class="form-row">
          <text class="form-label">毛重(吨)</text>
          <up-input v-model="form.grossWeight" type="number" placeholder="请输入毛重" />
          <up-input v-model="form.grossWeight" type="digit" placeholder="请输入毛重" />
        </view>
        <view class="form-row">
          <text class="form-label">皮重(吨)</text>
          <up-input v-model="form.tareWeight" type="number" placeholder="请输入皮重" />
          <up-input v-model="form.tareWeight" type="digit" placeholder="请输入皮重" />
        </view>
        <view class="form-row">
          <text class="form-label">净重(吨)</text>
          <up-input v-model="form.netWeight" type="number" disabled placeholder="自动计算" />
          <up-input v-model="form.netWeight" type="digit" disabled placeholder="自动计算" />
        </view>
        <view class="form-row">
          <text class="form-label">过磅日期</text>
@@ -160,18 +160,6 @@
  if (!outNum || outNum <= 0 || outNum > Number(stockRecord.unLockedQuantity)) {
    uni.showToast({ title: `请输入 1~${stockRecord.unLockedQuantity} 之间的数量`, icon: "none" });
    return;
  }
  const net = Number(form.netWeight);
  if (!isNaN(net) && net > 0) {
    const max = Number(stockRecord.unLockedQuantity) || 0;
    if (max > 0 && net > max) {
      uni.showToast({ title: `净重不能大于可用库存 ${max}`, icon: "none" });
      return;
    }
    if (net > outNum) {
      uni.showToast({ title: `净重不能大于出库数量 ${outNum}`, icon: "none" });
      return;
    }
  }
  subtractConsumablesIn({
    id: stockRecord.id,
src/pages/inventoryManagement/stockManagement/add.vue
@@ -23,8 +23,16 @@
        </view>
      </view>
      <!-- 过磅相关字段 -->
      <view class="form-section">
      <!-- 成品:只需要数量 -->
      <view v-if="isFinishedProduct" class="form-section">
        <view class="form-row">
          <text class="form-label required">数量</text>
          <up-input v-model="form.qualitity" type="number" placeholder="请输入数量" />
        </view>
      </view>
      <!-- 原材料:过磅相关字段 -->
      <view v-else class="form-section">
        <view class="section-title">过磅信息</view>
        <view class="form-row">
          <text class="form-label">车牌号</text>
@@ -34,7 +42,7 @@
          <text class="form-label">毛重(吨)</text>
          <up-input
            v-model="form.grossWeight"
            type="number"
            type="digit"
            placeholder="请输入毛重"
          />
        </view>
@@ -42,7 +50,7 @@
          <text class="form-label">皮重(吨)</text>
          <up-input
            v-model="form.tareWeight"
            type="number"
            type="digit"
            placeholder="请输入皮重"
          />
        </view>
@@ -50,7 +58,7 @@
          <text class="form-label">净重(吨)</text>
          <up-input
            v-model="form.netWeight"
            type="number"
            type="digit"
            disabled
            placeholder="自动计算"
          />
@@ -71,10 +79,6 @@
      </view>
      <view class="form-section">
        <!-- <view class="form-row">
          <text class="form-label required">数量</text>
          <up-input v-model="form.qualitity" type="number" placeholder="请输入数量" />
        </view> -->
        <view class="form-row">
          <text class="form-label">备注</text>
          <up-input v-model="form.remark" type="textarea" placeholder="选填" />
@@ -154,6 +158,7 @@
  productModelName: '',
  unit: '',
  productType: undefined,
  parentName: '',
  licensePlateNo: '',
  grossWeight: '',
  tareWeight: '',
@@ -166,6 +171,7 @@
const type = ref('0') // 固定合格库存
const isQualified = computed(() => true)
const isFinishedProduct = computed(() => form.parentName === '成品')
const showProductPopup = ref(false)
const productQuery = reactive({
@@ -223,6 +229,19 @@
  form.productModelName = item.model
  form.unit = item.unit
  form.productType = item.productType
  form.parentName = parentName
  // 切换产品后,按类型清理无关字段
  if (parentName === '成品') {
    form.licensePlateNo = ''
    form.grossWeight = ''
    form.tareWeight = ''
    form.netWeight = ''
    form.weighingDate = ''
    form.weighingOperator = ''
  } else {
    form.qualitity = ''
  }
  showProductPopup.value = false
}
@@ -264,24 +283,32 @@
    uni.showToast({ title: '请选择产品', icon: 'none' })
    return
  }
  // if (!form.qualitity || Number(form.qualitity) <= 0) {
  //   uni.showToast({ title: '请输入数量', icon: 'none' })
  //   return
  // }
  const payload = {
  if (isFinishedProduct.value) {
    if (!form.qualitity || Number(form.qualitity) <= 0) {
      uni.showToast({ title: '请输入数量', icon: 'none' })
      return
    }
  }
  const base = {
    productId: form.productId,
    productModelId: form.productModelId,
    productName: form.productName,
    productModelName: form.productModelName,
    unit: form.unit,
    productType: form.productType,
    remark: form.remark
  }
  const payload = isFinishedProduct.value
    ? { ...base, qualitity: Number(form.qualitity) }
    : {
        ...base,
    licensePlateNo: form.licensePlateNo,
    grossWeight: form.grossWeight,
    tareWeight: form.tareWeight,
    netWeight: form.netWeight,
    weighingDate: form.weighingDate,
    weighingOperator: form.weighingOperator,
    remark: form.remark
        weighingOperator: form.weighingOperator
  }
  createStockInventory(payload)
    .then(() => {
src/pages/inventoryManagement/stockManagement/subtract.vue
@@ -28,7 +28,7 @@
          <text class="form-label">毛重(吨)</text>
          <up-input
            v-model="form.grossWeight"
            type="number"
            type="digit"
            placeholder="请输入毛重"
          />
        </view>
@@ -36,7 +36,7 @@
          <text class="form-label">皮重(吨)</text>
          <up-input
            v-model="form.tareWeight"
            type="number"
            type="digit"
            placeholder="请输入皮重"
          />
        </view>
@@ -44,7 +44,7 @@
          <text class="form-label">净重(吨)</text>
          <up-input
            v-model="form.netWeight"
            type="number"
            type="digit"
            disabled
            placeholder="自动计算"
          />
@@ -127,12 +127,6 @@
const showWeighingDatePicker = ref(false)
const weighingDateValue = ref(Date.now())
const maxAllowedNetWeight = computed(() => {
  const v = form.unLockedQuantity ?? form.qualitity
  const n = Number(v)
  return !isNaN(n) ? n : 0
})
onLoad((options) => {
  type.value = '0'
  const cached = uni.getStorageSync('stockSubtractRecord')
@@ -184,11 +178,6 @@
const handleSubmit = () => {
  if (!form.id) {
    uni.showToast({ title: '记录信息缺失,无法出库', icon: 'none' })
    return
  }
  const net = Number(form.netWeight)
  if (!isNaN(net) && net > 0 && maxAllowedNetWeight.value > 0 && net > maxAllowedNetWeight.value) {
    uni.showToast({ title: `净重不能大于可用库存 ${maxAllowedNetWeight.value}`, icon: 'none' })
    return
  }
  const payload = { ...form }
src/pages/qualityManagement/nonconformingManagement/index.vue
@@ -55,7 +55,7 @@
          <view class="card-actions">
            <view class="btn-link btn-link-primary" v-if="item.inspectState == 0" @click.stop="openDealDialog(item)">处理</view>
            <view class="btn-link btn-link-plain" v-if="item.inspectState == 0" @click.stop="openForm('edit', item)">编辑</view>
            <view class="btn-link btn-link-warn" @click.stop="handleDelete(item)">删除</view>
            <view class="btn-link btn-link-warn" v-if="item.inspectState == 0" @click.stop="handleDelete(item)">删除</view>
          </view>
        </view>
        <view class="load-more-wrap">
@@ -243,9 +243,14 @@
  return types[String(type ?? '')] || '-';
};
const getList = () => {
const getList = (force = false) => {
  const isFirstPage = page.current === 1
  if (loadStatus.value === 'loading' || (!isFirstPage && page.total > 0 && tableData.value.length >= page.total)) return
  if (
    !force &&
    (loadStatus.value === 'loading' ||
      (!isFirstPage && page.total > 0 && tableData.value.length >= page.total))
  )
    return
  loadStatus.value = 'loading'
  const params = {
@@ -288,7 +293,7 @@
  page.total = 0;
  tableData.value = [];
  loadStatus.value = 'loadmore';
  getList();
  getList(true);
};
const selectType = (e) => {
@@ -353,14 +358,12 @@
};
const handleDelete = (row) => {
  showConfirm('确认删除该不合格记录吗?').then(res => {
    if (res.confirm) {
      qualityUnqualifiedDel([row.id]).then(() => {
        toast('删除成功');
        handleQuery();
      });
    }
  });
  showConfirm('确认删除该不合格记录吗?').then(async res => {
    if (!res.confirm) return
    await qualityUnqualifiedDel([row.id])
    toast('删除成功')
    handleQuery()
  })
};
const confirmDate = (e) => {