gaoluyang
2025-11-25 bd4ac5f01216b1352a271be281db03bab63ae8ea
1.敦煌鼎诚-销售台账产品,开票登记,回款金额金额可以为0
已修改3个文件
95 ■■■■■ 文件已修改
src/views/salesManagement/invoiceRegistration/index.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/salesManagement/receiptPayment/index.vue 41 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/salesManagement/salesLedger/index.vue 50 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/salesManagement/invoiceRegistration/index.vue
@@ -26,13 +26,13 @@
            clearable
          />
        </el-form-item>
        <el-form-item>
        <!-- <el-form-item>
          <el-checkbox
            v-model="searchForm.status"
            label="不显示未开票金额为0"
            @change="handleQuery"
          />
        </el-form-item>
        </el-form-item> -->
        <el-form-item>
          <el-button type="primary" @click="handleQuery"> 搜索 </el-button>
          <el-button @click="resetForm"> 重置 </el-button>
src/views/salesManagement/receiptPayment/index.vue
@@ -31,13 +31,13 @@
                prefix-icon="Search"
              />
            </el-form-item>
            <el-form-item>
            <!-- <el-form-item>
              <el-checkbox
                v-model="searchForm.status"
                label="不显示待回款为0"
                @change="handleQuery"
              />
            </el-form-item>
            </el-form-item> -->
            <el-form-item>
              <el-button type="primary" @click="handleQuery"> 搜索 </el-button>
            </el-form-item>
@@ -173,7 +173,7 @@
          show-overflow-tooltip
          width="340"
        />
        <el-table-column
        <!-- <el-table-column
          label="回款状态"
          prop="statusName"
          width="120"
@@ -183,7 +183,7 @@
              {{ row.statusName || "--" }}
            </el-tag>
          </template>
        </el-table-column>
        </el-table-column> -->
        <el-table-column
          label="产品大类"
          prop="productCategory"
@@ -211,7 +211,7 @@
          :formatter="formattedNumber"
          width="200"
        />
        <el-table-column
        <!-- <el-table-column
          label="待回款金额(元)"
          prop="noReceiptAmount"
          show-overflow-tooltip
@@ -222,7 +222,7 @@
              {{ formattedNumber(row, column, row.noReceiptAmount) }}
            </el-text>
          </template>
        </el-table-column>
        </el-table-column> -->
      </el-table>
      <pagination
        v-show="total > 0"
@@ -251,8 +251,8 @@
            <el-form-item label="销售合同号:" prop="salesContractNo">
              <el-input
                v-model="form.salesContractNo"
                placeholder="自动填充"
                disabled
                placeholder="请输入"
                clearable
              />
            </el-form-item>
          </el-col>
@@ -260,8 +260,8 @@
            <el-form-item label="客户名称:" prop="customerName">
              <el-input
                v-model="form.customerName"
                placeholder="自动填充"
                disabled
                placeholder="请输入"
                clearable
              />
            </el-form-item>
          </el-col>
@@ -271,8 +271,8 @@
            <el-form-item label="发票号:" prop="invoiceNo">
              <el-input
                v-model="form.invoiceNo"
                placeholder="自动填充"
                disabled
                placeholder="请输入"
                clearable
              />
            </el-form-item>
          </el-col>
@@ -281,9 +281,9 @@
              <el-input
                type="number"
                v-model="form.invoiceTotal"
                placeholder="自动填充"
                placeholder="请输入"
                :step="0.01"
                disabled
                clearable
              />
            </el-form-item>
          </el-col>
@@ -294,16 +294,16 @@
              <el-input
                type="number"
                v-model="form.taxRate"
                placeholder="自动填充"
                placeholder="请输入"
                :step="0.01"
                disabled
                clearable
              />
            </el-form-item>
          </el-col>
          <el-col :span="12">
            <el-form-item label="本次回款金额:" prop="receiptPaymentAmount">
              <el-input-number :step="0.01" :min="0" style="width: 100%"
                                                             :precision="2"
                                             :precision="2"
                v-model="form.receiptPaymentAmount"
                placeholder="请输入"
                clearable
@@ -349,7 +349,6 @@
                                v-model="form.registrant"
                                placeholder="请输入"
                                clearable
                                disabled
                            />
                        </el-form-item>
                    </el-col>
@@ -396,7 +395,7 @@
const data = reactive({
  searchForm: {
    searchText: "",
    status: true,
    status: false,
    customerName: "",
    customerContractNo: "",
    projectName: "",
@@ -528,10 +527,6 @@
  form.value = {};
  if (selectedRows.value.length !== 1) {
    proxy.$modal.msgError("请选择一条数据");
    return;
  }
  if (selectedRows.value[0].noReceiptAmount == 0) {
    proxy.$modal.msgWarning("无需再回款");
    return;
  }
  invoiceInfo({ id: selectedRows.value[0].id }).then((res) => {
src/views/salesManagement/salesLedger/index.vue
@@ -215,9 +215,6 @@
        <el-row :gutter="30">
          <el-col :span="24">
            <el-form-item label="产品大类:" prop="productCategory">
              <!-- <el-select v-model="productForm.productCategory" placeholder="请选择" clearable>
                <el-option v-for="item in userList" :key="item.nickName" :label="item.nickName" :value="item.nickName"/>
              </el-select> -->
              <el-tree-select v-model="productForm.productCategory" placeholder="请选择" clearable check-strictly
                @change="getModels" :data="productOptions" :render-after-expand="false" style="width: 100%" />
            </el-form-item>
@@ -559,18 +556,18 @@
      { required: true, message: "请选择", trigger: "change" },
    ],
    unit: [{ required: true, message: "请输入", trigger: "blur" }],
    quantity: [{ required: true, message: "请输入", trigger: "blur" }],
    quantity: [{ required: false, message: "请输入", trigger: "blur" }],
    taxInclusiveUnitPrice: [
      { required: true, message: "请输入", trigger: "blur" },
      { required: false, message: "请输入", trigger: "blur" },
    ],
    taxRate: [{ required: true, message: "请选择", trigger: "change" }],
    taxRate: [{ required: false, message: "请选择", trigger: "change" }],
    taxInclusiveTotalPrice: [
      { required: true, message: "请输入", trigger: "blur" },
      { required: false, message: "请输入", trigger: "blur" },
    ],
    taxExclusiveTotalPrice: [
      { required: true, message: "请输入", trigger: "blur" },
      { required: false, message: "请输入", trigger: "blur" },
    ],
    invoiceType: [{ required: true, message: "请选择", trigger: "change" }],
    invoiceType: [{ required: false, message: "请选择", trigger: "change" }],
  },
});
const { productForm, productRules } = toRefs(productFormData);
@@ -860,13 +857,25 @@
const submitProduct = () => {
  proxy.$refs["productFormRef"].validate((valid) => {
    if (valid) {
      // 处理税率、金额和数量字段,如果为空则设置为0
      const processedForm = { ...productForm.value };
      // 需要处理的字段列表
      const numericFields = ['taxRate', 'taxInclusiveUnitPrice', 'taxInclusiveTotalPrice', 'taxExclusiveTotalPrice', 'quantity'];
      numericFields.forEach(field => {
        if (processedForm[field] === '' || processedForm[field] === null || processedForm[field] === undefined) {
          processedForm[field] = 0;
        }
      });
      if (operationType.value === "edit") {
        submitProductEdit();
      } else {
        if(productOperationType.value === "add"){
          productData.value.push({ ...productForm.value });
          productData.value.push(processedForm);
        }else{
          productData.value[productIndex.value] = { ...productForm.value }
          productData.value[productIndex.value] = processedForm;
        }
        closeProductDia();
      }
@@ -874,9 +883,22 @@
  });
};
const submitProductEdit = () => {
  productForm.value.salesLedgerId = currentId.value;
  productForm.value.type = 1
  addOrUpdateSalesLedgerProduct(productForm.value).then((res) => {
  // 处理税率、金额和数量字段,如果为空则设置为0
  const processedForm = { ...productForm.value };
  // 需要处理的字段列表
  const numericFields = ['taxRate', 'taxInclusiveUnitPrice', 'taxInclusiveTotalPrice', 'taxExclusiveTotalPrice', 'quantity'];
  numericFields.forEach(field => {
    if (processedForm[field] === '' || processedForm[field] === null || processedForm[field] === undefined) {
      processedForm[field] = 0;
    }
  });
  processedForm.salesLedgerId = currentId.value;
  processedForm.type = 1;
  addOrUpdateSalesLedgerProduct(processedForm).then((res) => {
    proxy.$modal.msgSuccess("提交成功");
    closeProductDia();
    getSalesLedgerWithProducts({ id: currentId.value, type: 1 }).then((res) => {