zuozhengqing
2024-03-29 46d46b7159c3f97e3e4cb0bf00e90e27b5367325
src/views/other/commonDialog/SelectCommonDialog.vue
@@ -28,12 +28,15 @@
            <el-button type="primary" size="mini" disabled>快速创建</el-button> -->
          </div>
        </div>
        <TableCommonView
        <TableCommonView
          class="bg-list"
          ref="tableListRef"
          :table-list="tableList"
          :select-box="false"
          :select-box="editCommonConfig.isSelectBox"
          :selectBoxList="selectBoxList"
          @selCommonClick="selNameClick"
          @selTableCol="selTableCol"
          @getSelectArray="getSelectArray"
        >
        </TableCommonView>
        <div slot="footer" class="dialog-footer">
@@ -42,6 +45,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>
@@ -60,14 +67,23 @@
      default: () => {
        return {
          editVisible: false,
          isSelectBox: false,
          title: "",
          tableInfomation: []
          clientId: 0,
          isRequest: true,
          client_name: "",
          tableInfomation: [],
          supplierId:null,
        }
      }
    },
    sign: {
      type: String,
      default: ""
    },
    selectBoxList: {
      type: Array,
      default: () => []
    }
  },
  components: {},
@@ -87,15 +103,20 @@
      searchSel: {},
      keyword: "",
      keywordType: "",
      showProductCol: ["产品名称", "产品编号"],
      showProductCol: ["产品名称", "产品编号", "销售单价", "单位", "产品规格", "型号"],
      tableProductColumn: [
        { label: "产品名称", prop: "name", isClick: true },
        { label: "产品编号", prop: "number" }
        { label: "产品编号", prop: "number" },
        { label: "销售单价", prop: "purchasePrice" },
        { label: "单位", prop: "unit" },
        { label: "产品规格", prop: "specifications" },
        { label: "型号", prop: "modelNumber" }
      ],
      showCol: [],
      tableColumn: []
      tableColumn: [],
      selectArray: []
    }
  },
  },
  created() {
    this.setTable()
    this.getData()
@@ -133,17 +154,17 @@
      }
    },
    selTableCol(val) {
      this.showcol = val;
      this.tableList.tableColumn = this.setColumnVisible(val);
      this.showcol = val
      this.tableList.tableColumn = this.setColumnVisible(val)
    },
    // setColumnVisible(showCol){
    //   return  this.tableColumn.map(ele=>{
    //     return {
    //       ...ele,
    //       isShowColumn:showCol.includes(ele.label)
    //     }
    //   })
    // },
    // 列表多选
    getSelectArray(val) {
      this.selectArray = val
    },
    saveClick() {
      this.$emit("getSelectArray", this.selectArray)
      this.editConfig.editVisible = false
    },
    // 请求数据
    async getData() {
      this.loading = true
@@ -155,10 +176,11 @@
    async getProductList() {
      let fn = this.sign == "purchase" ? getProductList : getProductListFromGrpc
      await fn({
        keyword:this.keyword,
        page: this.pagerOptions.currPage,
        pageSize: this.pagerOptions.pageSize
      }).then((res) => {
          keyword: this.keyword,
          page: this.pagerOptions.currPage,
          supplierId:this.editConfig.supplierId,
          pageSize: this.pagerOptions.pageSize,
        }).then((res) => {
        if (res.code === 200) {
          if (res.data.list && res.data.list.length > 0) {
            const list = res.data.list.map((item) => {
@@ -186,7 +208,7 @@
    },
    // 搜索
    searchClick(content) {
      console.log( content)
      console.log(content)
      this.keyword = content
      this.getData()
    },