yangfeng
2023-08-16 1249ca8ff44f8de7992fdb5866eae19613d606c3
src/views/sales/quotation/AddQuotationDialog.vue
@@ -185,7 +185,7 @@
            </el-row>
          </div> -->
          <!-- 产品管理 -->
          <!-- <div class="basic-info-title" style="display: flex">
          <div class="basic-info-title" style="display: flex">
            产品管理
            <div style="margin-left: 400px">
              币种
@@ -196,8 +196,13 @@
            </div>
          </div>
          <div class="product-view">
            <CommonFormTableView :show-summary="showSummary" :product-table-list="productTableList" />
          </div> -->
            <CommonFormTableView
              :show-summary="showSummary"
              :product-table-list="productTableList"
              @inputContent="inputContent"
              @addProductClick="addProductClick"
            />
          </div>
          <!-- 选择审批流程 -->
          <!-- <div class="basic-info-title">选择审批流程</div>
          <div class="basic-info-view">
@@ -267,7 +272,7 @@
</template>
<script>
// import CommonFormTableView from "@/components/makepager/CommonFormTableView"
import CommonFormTableView from "@/components/makepager/CommonFormTableView"
import { getAllData } from "@/api/client/client"
import { getAddQuotation, getUpdateQuotation } from "@/api/sales/quotation"
import SelectClientDialog from "@/views/other/commonDialog/SelectClientDialog"
@@ -287,7 +292,7 @@
      }
    }
  },
  components: { SelectClientDialog, SelectContactDialog, SelectChanceDialog },
  components: { SelectClientDialog, SelectContactDialog, SelectChanceDialog, CommonFormTableView },
  computed: {
    searchCommonHeight() {
      return this.$refs.searchCommonView.offsetHeight
@@ -320,7 +325,7 @@
      showSummary: {
        show: true,
        total: true,
        sumProp: ["other1", "other2", "other3", "other4"],
        sumProp: ["Amount", "Unit", "other3"],
        mergeNumber: 3
      },
      editSelectClientConfig: {
@@ -340,7 +345,11 @@
      },
      clientId: this.editCommonConfig.infomation.client_id,
      contactId: this.editCommonConfig.infomation.contact_id,
      saleChanceId: this.editCommonConfig.infomation.sale_chance_id
      saleChanceId: this.editCommonConfig.infomation.sale_chance_id,
      tableData: [],
      productId: 1,
      addProductArr: [],
      isProductName: false
    }
  },
  created() {
@@ -369,45 +378,45 @@
        }
      })
    },
    productNameValidate() {
      for (let i = 0; i < this.tableData.length; i++) {
        if (this.tableData[i].Name === "") {
          this.isProductName = true
          return
        } else {
          this.isProductName = false
        }
      }
    },
    // 保存
    saveClick(formName) {
      this.productNameValidate()
      this.$refs[formName].validate((valid) => {
        if (valid) {
          console.log(this.editConfig.infomation)
          const params = this.saveParams()
          console.log(params)
          if (this.editConfig.title === "新建") {
            getAddQuotation(params)
              .then((res) => {
                console.log(res)
                this.editConfig.visible = false
                if (res.code === 200) {
                  this.$message({
                    message: "添加成功",
                    type: "success"
                  })
                  this.$parent.getData()
                }
              })
              .catch((err) => {
                console.log(err)
              })
          console.log(this.isProductName)
          if (this.isProductName) {
            this.$message.error("产品名称不能为空")
          } else {
            getUpdateQuotation(params)
              .then((res) => {
            const params = this.saveParams()
            console.log(params)
            if (this.editConfig.title === "新建") {
              getAddQuotation(params).then((res) => {
                console.log(res)
                this.editConfig.visible = false
                if (res.code === 200) {
                  this.$message({
                    message: "编辑成功",
                    type: "success"
                  })
                  this.$message.success("添加成功")
                  this.$parent.getData()
                }
              })
              .catch((err) => {
                console.log(err)
            } else {
              getUpdateQuotation(params).then((res) => {
                this.editConfig.visible = false
                if (res.code === 200) {
                  this.$message.success("编辑成功")
                  this.$parent.getData()
                }
              })
            }
          }
        } else {
          console.log("error submit")
@@ -427,7 +436,8 @@
        number: data.number || "",
        quotation_status_id: data.quotation_status_id || 0,
        sale_chance_id: this.saleChanceId || 0,
        validity_date: data.validity_date || ""
        validity_date: data.validity_date || "",
        products: this.tableData
      }
      return params
    },
@@ -502,36 +512,64 @@
    // 设置允许上传文件格式
    setFormatClick() {},
    setTableForm() {
      this.productTableList = {
        tableData: [
      if (this.editConfig.title === "新建") {
        this.tableData = [
          {
            id: "1",
            productName: "上海有限公司",
            other0: "ZDYBD03-1",
            other1: "12",
            other2: "5.00",
            other4: "3.00",
            other3: "2.00"
            id: 1,
            Amount: 0,
            IsSale: true,
            MaterialMode: "",
            MinInventory: 0,
            Name: "",
            Number: "",
            PurchaseType: "",
            SalePrice: 0,
            Unit: ""
          }
        ],
        ]
      } else {
        this.tableData = this.editConfig.infomation.products
      }
      this.productTableList = {
        tableData: this.tableData,
        tableColumn: [
          { label: "#", prop: "id", width: 40 },
          { label: "含税单价", prop: "other9", input: true },
          { label: "产品名称", prop: "productName", input: true, isRequird: true },
          { label: "产品编号", prop: "other0" },
          { label: "数量", prop: "other1", input: true, isRequird: true },
          { label: "折扣率(%)", prop: "other6", input: true },
          { label: "不含税单价", prop: "other7", input: true },
          { label: "折扣额", prop: "other2" },
          { label: "税(销售)", prop: "other7", input: true },
          { label: "实际含税单价", prop: "other3" },
          { label: "不含税金额", prop: "other4" },
          { label: "产品名称", prop: "Name", input: true, isRequird: true },
          { label: "产品编号", prop: "Number" },
          { label: "数量", prop: "Amount", input: true, isRequird: true },
          { label: "销售单价", prop: "Unit", input: true },
          { label: "价税合计", prop: "other3", input: true },
          { label: "描述", prop: "other8" },
          { label: "源单类型", prop: "other5" },
          { label: "源单", prop: "other6" }
          { label: "描述", prop: "other8" }
        ]
      }
    },
    // 产品列表输入
    inputContent(val, prop, row) {
      console.log("aaaaaaaa")
      console.log(val, prop)
      this.productId = row.id
      this.tableData.map((item) => {
        if (item.id === row.id) {
          item[prop] = val
        }
      })
      console.log(this.tableData)
    },
    // 产品新增
    addProductClick() {
      this.productId++
      this.tableData.push({
        id: this.productId,
        Amount: 0,
        IsSale: true,
        MaterialMode: "",
        MinInventory: 0,
        Name: "",
        Number: "",
        PurchaseType: "",
        SalePrice: 0,
        Unit: ""
      })
    }
  }
}