src/views/other/commonDialog/SelectCommonDialog.vue
@@ -29,11 +29,13 @@
          </div>
        </div>
        <TableCommonView
        class="bg-list"
          ref="tableListRef"
          :table-list="tableList"
          :select-box="false"
          :select-box="editCommonConfig.isSelectBox"
          @selCommonClick="selNameClick"
          @selTableCol="selTableCol"
          @getSelectArray="getSelectArray"
        >
        </TableCommonView>
        <div slot="footer" class="dialog-footer">
@@ -42,6 +44,10 @@
            <PagerView class="page" :pager-options="pagerOptions" v-on="pagerEvents" />
          </div>
        </div>
      </div>
      <div slot="footer" class="dialog-footer" v-if="editCommonConfig.isSelectBox">
        <el-button type="primary" size="small" @click="saveClick()">确定</el-button>
        <el-button size="small" @click="editConfig.editVisible = false">取消</el-button>
      </div>
    </el-dialog>
  </div>
@@ -66,12 +72,20 @@
      default: () => {
        return {
          editVisible: false,
          isSelectBox:false,
          title: "",
          clientId: 0,
          isRequest:true,
          client_name: "",
          tableInfomation: []
        }
      }
    }
    },
    // 根据报价单查询产品
    quotationNumber:{
      type:[String,Number],
      default:''
    },
  },
  components: {},
  computed: {},
@@ -91,13 +105,16 @@
      keyword: "",
      keywordType: "",
      tableColumn: [],
      showCol: []
      showCol: [],
      selectArray:[],
    }
  },
  created() {
    this.search_map = {
      client_id: this.editConfig.clientId
    }
    this.keyword = this.editConfig.client_name
    this.keywordType = "客户名称"
    this.setTable()
    this.getData()
  },
@@ -155,11 +172,17 @@
      } else if (this.editConfig.title === "报价单") {
        this.tableColumn = [
          { label: "报价单号", prop: "number", isClick: true, default: true }, // 报价单号
          { label: "销售负责人", prop: "member_name" } // 销售负责人
          { label: "报价名称", prop: "quotationName" },
          { label: "销售负责人", prop: "member_name" }, // 销售负责人
          { label: "客户名称", prop: "client_name" },
          { label: "所属业务机会", prop: "sale_chance_name" },
          { label: "报价单状态", prop: "quotationStatus" },
          { label: "合计", prop: "amountTotal" },
        ]
        this.showCol = ["报价单号", "销售负责人"]
        this.showCol = ["报价单号","报价名称","销售负责人",'客户名称','所属业务机会','报价单状态','合计']
        this.tableList = {
          selectIndex: true,
          tableInfomation: [],
          allcol: [],
          showcol: this.showCol,
@@ -187,10 +210,12 @@
        this.searchSel = { value: "serviceNumber", label: "服务单编号" }
      } else if (this.editConfig.title === "产品名称") {
        this.tableColumn = [
          { label: "产品名称", prop: "name", isClick: true, default: true }, // 产品名称
          { label: "产品编号", prop: "number" }
          { label: "产品名称", prop: "name", isClick: this.editCommonConfig.isSelectBox?false:true, default: true }, // 产品名称
          { label: "产品编号", prop: "number" },
          { label: "规格", prop: "specs" },
          { label: "型号", prop: "type" }
        ]
        this.showCol = ["产品名称", "产品编号"]
        this.showCol = ["产品名称", "产品编号",'规格','型号']
        this.tableList = {
          selectIndex: true,
          tableInfomation: [],
@@ -249,6 +274,14 @@
    selTableCol(val) {
      this.showcol = val
      this.tableList.tableColumn = this.setColumnVisible(val)
    },
    // 列表多选
    getSelectArray(val){
      this.selectArray=val;
    },
    saveClick(){
      this.$emit('getSelectArray',this.selectArray)
      this.editConfig.editVisible = false
    },
    // 请求数据
    async getData() {
@@ -324,6 +357,19 @@
    },
    // 报价单
    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;
      }
      await getQuotationList({
        search_map: this.search_map,
        page: this.pagerOptions.currPage,
@@ -334,7 +380,10 @@
            const list = res.data.list.map((item) => {
              return {
                ...item,
                member_name: item.member.username
                client_name: item.client.name,
                sale_chance_name: item.sale_chance.name,
                member_name: item.member.username,
                quotationStatus: item.quotation_status.name
              }
            })
            this.tableList.tableInfomation = list || []
@@ -349,8 +398,7 @@
    // 销售明细单
    async getSalesDetailsList() {
      await getSalesDetailsList({
        keyword: this.keyword,
        keywordType: this.keywordType,
        clientId:Number(this.editCommonConfig.clientId),
        page: this.pagerOptions.currPage,
        pageSize: this.pagerOptions.pageSize
      }).then((res) => {
@@ -405,12 +453,17 @@
    },
    // 产品名称
    async getProductList() {
      await getProductList({
      let params={
        productName: this.keywordType === "产品名称" ? this.keyword : "",
        productNumber: this.keywordType === "产品编号" ? this.keyword : "",
        page: this.pagerOptions.currPage,
        pageSize: this.pagerOptions.pageSize
      }).then((res) => {
      }
       // 根据报价单查询产品
      if(this.quotationNumber){
        params.quotationNumber=this.quotationNumber
      }
      await getProductList(params).then((res) => {
        console.log(res.data)
        if (res.code === 200) {
          if (res.data.data && res.data.data.length > 0) {
@@ -430,8 +483,7 @@
    },
    async getSalesReturnList() {
      await getSalesReturnList({
        keyword: this.keyword,
        keywordType: this.keywordType,
        clientId:Number(this.editCommonConfig.clientId),
        page: this.pagerOptions.currPage,
        pageSize: this.pagerOptions.pageSize
      }).then((res) => {
@@ -480,6 +532,9 @@
      this.editConfig.editVisible = false
    },
    selNameClick(row) {
      if(this.editCommonConfig.isSelectBox){
        return true;
      }
      this.editConfig.editVisible = false
      if (this.editConfig.title === "销售总单") {
        this.$emit("selClient", row, "master")
@@ -523,6 +578,9 @@
<style lang="scss" scoped>
.bg-view {
  margin: 10px;
  .bg-list{
    min-height:370px;
    }
  .query-bg {
    margin-left: -20px;
    margin-bottom: 10px;
@@ -534,6 +592,7 @@
        width: 100px;
      }
    }
    .btn {
      float: right;
    }