yangfeng
2024-02-28 7979474ca5570945126d7f087fa4363272d964b4
src/views/other/commonDialog/SelectCommonDialog.vue
@@ -29,10 +29,11 @@
          </div>
        </div>
        <TableCommonView
        class="bg-list"
          class="bg-list"
          ref="tableListRef"
          :table-list="tableList"
          :select-box="editCommonConfig.isSelectBox"
          :selectBoxList="selectBoxList"
          @selCommonClick="selNameClick"
          @selTableCol="selTableCol"
          @getSelectArray="getSelectArray"
@@ -72,20 +73,24 @@
      default: () => {
        return {
          editVisible: false,
          isSelectBox:false,
          isSelectBox: false,
          title: "",
          clientId: 0,
          isRequest:true,
          isRequest: true,
          client_name: "",
          tableInfomation: []
        }
      }
    },
    // 根据报价单查询产品
    quotationNumber:{
      type:[String,Number],
      default:''
    quotationNumber: {
      type: [String, Number],
      default: ""
    },
    selectBoxList: {
      type: Array,
      default: () => []
    }
  },
  components: {},
  computed: {},
@@ -106,7 +111,7 @@
      keywordType: "",
      tableColumn: [],
      showCol: [],
      selectArray:[],
      selectArray: []
    }
  },
  created() {
@@ -177,9 +182,9 @@
          { label: "客户名称", prop: "client_name" },
          { label: "所属业务机会", prop: "sale_chance_name" },
          { label: "报价单状态", prop: "quotationStatus" },
          { label: "合计", prop: "amountTotal" },
          { label: "合计", prop: "amountTotal" }
        ]
        this.showCol = ["报价单号","报价名称","销售负责人",'客户名称','所属业务机会','报价单状态','合计']
        this.showCol = ["报价单号", "报价名称", "销售负责人", "客户名称", "所属业务机会", "报价单状态", "合计"]
        this.tableList = {
          selectIndex: true,
@@ -210,12 +215,14 @@
        this.searchSel = { value: "serviceNumber", label: "服务单编号" }
      } else if (this.editConfig.title === "产品名称") {
        this.tableColumn = [
          { label: "产品名称", prop: "name", isClick: this.editCommonConfig.isSelectBox?false:true, default: true }, // 产品名称
          { label: "产品名称", prop: "name", isClick: this.editCommonConfig.isSelectBox ? false : true, default: true }, // 产品名称
          { label: "产品编号", prop: "number" },
          { label: "规格", prop: "specs" },
          { label: "销售单价", prop: "price" },
          { label: "单位", prop: "unit" },
          { label: "产品规格", prop: "specs" },
          { label: "型号", prop: "type" }
        ]
        this.showCol = ["产品名称", "产品编号",'规格','型号']
        this.showCol = ["产品名称", "产品编号", "销售单价", "单位", "产品规格", "型号"]
        this.tableList = {
          selectIndex: true,
          tableInfomation: [],
@@ -276,11 +283,11 @@
      this.tableList.tableColumn = this.setColumnVisible(val)
    },
    // 列表多选
    getSelectArray(val){
      this.selectArray=val;
    getSelectArray(val) {
      this.selectArray = val
    },
    saveClick(){
      this.$emit('getSelectArray',this.selectArray)
    saveClick() {
      this.$emit("getSelectArray", this.selectArray)
      this.editConfig.editVisible = false
    },
    // 请求数据
@@ -357,18 +364,18 @@
    },
    // 报价单
    async getQuotationList() {
      if(!this.editConfig.isRequest){
        this.tableList.tableInfomation =this.editConfig.tableInfomation.map((item) => {
              return {
                ...item,
                client_name: item.client.name,
                sale_chance_name: item.sale_chance.name,
                member_name: item.member.username,
                quotationStatus: item.quotation_status.name
              }
            })
        this.pagerOptions.totalCount =this.editConfig.count?this.editConfig.count:0
        return true;
      if (!this.editConfig.isRequest) {
        this.tableList.tableInfomation = this.editConfig.tableInfomation.map((item) => {
          return {
            ...item,
            client_name: item.client.name,
            sale_chance_name: item.sale_chance.name,
            member_name: item.member.username,
            quotationStatus: item.quotation_status.name
          }
        })
        this.pagerOptions.totalCount = this.editConfig.count ? this.editConfig.count : 0
        return true
      }
      await getQuotationList({
        search_map: this.search_map,
@@ -398,7 +405,7 @@
    // 销售明细单
    async getSalesDetailsList() {
      await getSalesDetailsList({
        clientId:Number(this.editCommonConfig.clientId),
        clientId: Number(this.editCommonConfig.clientId),
        page: this.pagerOptions.currPage,
        pageSize: this.pagerOptions.pageSize
      }).then((res) => {
@@ -453,15 +460,15 @@
    },
    // 产品名称
    async getProductList() {
      let params={
      let params = {
        productName: this.keywordType === "产品名称" ? this.keyword : "",
        productNumber: this.keywordType === "产品编号" ? this.keyword : "",
        page: this.pagerOptions.currPage,
        pageSize: this.pagerOptions.pageSize
      }
       // 根据报价单查询产品
      if(this.quotationNumber){
        params.quotationNumber=this.quotationNumber
      // 根据报价单查询产品
      if (this.quotationNumber) {
        params.quotationNumber = this.quotationNumber
      }
      await getProductList(params).then((res) => {
        console.log(res.data)
@@ -483,7 +490,7 @@
    },
    async getSalesReturnList() {
      await getSalesReturnList({
        clientId:Number(this.editCommonConfig.clientId),
        clientId: Number(this.editCommonConfig.clientId),
        page: this.pagerOptions.currPage,
        pageSize: this.pagerOptions.pageSize
      }).then((res) => {
@@ -532,8 +539,8 @@
      this.editConfig.editVisible = false
    },
    selNameClick(row) {
      if(this.editCommonConfig.isSelectBox){
        return true;
      if (this.editCommonConfig.isSelectBox) {
        return true
      }
      this.editConfig.editVisible = false
      if (this.editConfig.title === "销售总单") {
@@ -578,9 +585,9 @@
<style lang="scss" scoped>
.bg-view {
  margin: 10px;
  .bg-list{
    min-height:370px;
    }
  .bg-list {
    min-height: 370px;
  }
  .query-bg {
    margin-left: -20px;
    margin-bottom: 10px;
@@ -592,7 +599,7 @@
        width: 100px;
      }
    }
    .btn {
      float: right;
    }