ZN
8 天以前 c0d6fe2638379e6fb23f1af5eff27355cb565e9d
src/views/procurementManagement/advancedPriceManagement/index.vue
@@ -31,10 +31,10 @@
          <el-icon><Plus /></el-icon>
          新增价格
        </el-button>
        <el-button type="success" @click="openBatchDiscountDialog">
        <!-- <el-button type="success" @click="openBatchDiscountDialog">
          <el-icon><Discount /></el-icon>
          批量折扣
        </el-button>
        </el-button> -->
        <el-button type="info" @click="exportData">
          <el-icon><Download /></el-icon>
          导出数据
@@ -62,17 +62,16 @@
            <div class="product-info">
              <div class="product-name">{{ row.productName }}</div>
              <div class="product-spec">{{ row.specification }}</div>
              <!-- <div class="product-code">编码: {{ row.productCode }}</div> -->
            </div>
          </template>
        </el-table-column>
        <el-table-column label="供应商" prop="supplierName" width="200" />
        <el-table-column label="基础价格" width="120" align="right">
        <el-table-column label="基础价格(不含税)" width="150" align="right">
          <template #default="{ row }">
            <span class="price-text">¥{{ row.basePrice }}</span>
          </template>
        </el-table-column>
        <el-table-column label="折扣信息" width="150">
        <el-table-column label="折扣信息" width="120" align="center">
          <template #default="{ row }">
            <div v-if="row.discountType">
              <el-tag :type="getDiscountTagType(row.discountType)" size="small">
@@ -83,9 +82,12 @@
            <span v-else class="no-discount">无折扣</span>
          </template>
        </el-table-column>
        <el-table-column label="实际价格" width="120" align="right">
        <!-- <el-table-column label="实际价格(不含税)" prop="actuallyPrice" width="150" align="right"> -->
        <!-- </el-table-column> -->
        <el-table-column label="实际价格(不含税)"  width="150" align="right">
          <template #default="{ row }">
            <span class="final-price">¥{{ calculateFinalPrice(row) }}</span>
            <!-- <span class="final-price">¥{{ calculateFinalPrice(row) }}</span> -->
            <span class="final-price" >¥{{ row.actuallyPrice?row.actuallyPrice:row.basePrice }}</span>
          </template>
        </el-table-column>
        <el-table-column label="价格控制" width="120">
@@ -108,8 +110,9 @@
            </div> -->
          </template>
        </el-table-column>
        <el-table-column label="生效时间" prop="effectiveTime" width="180" />
        <el-table-column label="更新时间" prop="updateTime" width="180" sortable />
        <el-table-column label="生效时间" prop="effectiveTime" width="100" align="center" />
        <el-table-column label="更新时间" prop="updateTime" width="160" sortable align="center" />
        <el-table-column label="备注" width="200" prop="remark" align="center" show-overflow-tooltip />
        <el-table-column label="操作" width="250" align="center" fixed="right">
          <template #default="{ row }">
            <el-button type="primary" link @click="openDialog('edit', row)">
@@ -160,13 +163,6 @@
            </el-form-item>
          </el-col>
          <el-col :span="12">
            <el-form-item label="商品编码" prop="productCode">
              <el-input v-model="formData.productCode" placeholder="请输入商品编码" />
            </el-form-item>
          </el-col>
        </el-row>
        <el-row :gutter="20">
          <el-col :span="12">
            <el-form-item label="规格型号" prop="specification">
              <el-select
                v-model="formData.specification"
@@ -183,6 +179,8 @@
              </el-select>
            </el-form-item>
          </el-col>
        </el-row>
        <el-row :gutter="20">
          <el-col :span="12">
            <el-form-item label="供应商" prop="supplierId">
              <el-select
@@ -200,13 +198,13 @@
              </el-select>
            </el-form-item>
          </el-col>
        </el-row>
        <el-row :gutter="20">
          <el-col :span="12">
            <el-form-item label="基础价格" prop="basePrice">
              <el-input-number v-model="formData.basePrice" :min="0" :precision="2" placeholder="请输入基础价格" style="width: 100%" />
            </el-form-item>
          </el-col>
        </el-row>
        <el-row :gutter="20">
          <el-col :span="12">
            <el-form-item label="单位">
              <el-input v-model="formData.unit" placeholder="请输入单位" />
@@ -402,7 +400,6 @@
const formData = reactive({
  productId: null,
  productName: '',
  productCode: '',
  specification: '',
  supplierId: null,
  supplierName: '',
@@ -442,7 +439,6 @@
// 表单验证规则
const formRules = {
  productId: [{ required: true, message: '请选择商品名称', trigger: 'change' }],
  productCode: [{ required: true, message: '请输入商品编码', trigger: 'blur' }],
  supplierId: [{ required: true, message: '请选择供应商', trigger: 'change' }],
  basePrice: [{ required: true, message: '请输入基础价格', trigger: 'blur' }],
  effectiveTime: [{ required: true, message: '请选择生效时间', trigger: 'change' }],
@@ -508,14 +504,13 @@
    const selectedProduct = findNodeById(productOptions.value, value);
    if (selectedProduct) {
      formData.productName = selectedProduct.productName;
      formData.productCode = selectedProduct.productCode;
    }
    modelList({ id: value }).then((res) => {
      modelOptions.value = res;
    });
    formData.specification = "";
  } else {
    formData.productName = "";
    formData.productCode = "";
    modelOptions.value = [];
  }
};
@@ -601,7 +596,6 @@
  Object.assign(formData, {
    productId: null,
    productName: '',
    productCode: '',
    specification: '',
    supplierId: null,
    supplierName: '',
@@ -631,11 +625,11 @@
const handleSubmit = async () => {
  if (!formRef.value) return
    formData.actualPrice = calculateFinalPrice(formData)
    formData.actuallyPrice = Number(calculateFinalPrice(formData))
    if( formData.discountType === ''){
      formData.discountEndTime = '2099-12-31 23:59:59'
    }
  try {
    await formRef.value.validate()
    submitLoading.value = true