wente
2024-06-07 682de99bfea2567dc3d505516cd98aef0f2ab927
web/src/views/modules/basicInfo/SelectTyModel.vue
@@ -3,16 +3,19 @@
             @confirm="formSubmit">
    <el-card shadow="never" class="aui-card--fill">
      <div class="mod-tyProductModel-tyProductModel}">
        <zt-table-wraper query-url="/basicInfo/TyProductModel/page"
        <zt-table-wraper :query-url=url
                         :paging='false'
                         v-slot="{ table }">
          <el-form :inline="true" :model="dataForm" @keyup.enter.native="table.query()">
          </el-form>
          <el-table v-loading="table.dataLoading" :data="table.dataList" height="100px" v-adaptive="{bottomOffset:70}"
                    border
                    @selection-change="table.selectionChangeHandle"
                    @selected="onSelected">
                    @selection-change="changeRow">
            <el-table-column type="selection" width="40" align="center"/>
            <el-table-column prop="name" label="名称"/>
            <zt-table-column-dict v-if="!pageCode" prop="nodeType" label="节点类型" dict="product"/>
            <zt-table-column-dict v-else prop="productType" label="节点类型" dict="product"/>
            <el-table-column prop="sort" label="排序"/>
          </el-table>
        </zt-table-wraper>
      </div>
@@ -25,32 +28,61 @@
    name: 'SelectTyModel',
    data() {
      return {
        url: '/basicInfo/XhProductModel/page',
        selectList: [],
        data: '',
        pageCode:'',
        dataForm: {
          type:'noTree',
          type: 'noTree',
          nodeType: '',
          id: '',
          pid: '',
          name: '',
          operationalStatus: '',
          standbyState: '',
          faultState: '',
          sort: ''
        }
      }
    },
    components: {},
    methods: {
      init(type) {
        this.dataForm.nodeType = type
        console.log(this.dataForm.nodeType, 'init()')
      init(id, params) {
        this.dataForm.nodeType = params.type
        this.dataForm.pid = params.id
        this.pageCode = params.pageCode
        if (!this.pageCode) {
          this.url = '/basicInfo/TyProductModel/page'
        }
        console.log(params, 'init()')
      },
      async onSelected() {
        let res = await this.$http[!this.dataForm.id ? 'post' : 'put']('/basicInfo/XhProductModel/', this.dataForm)
        if (res.success) {
          await this.$tip.success()
          this.$refs.dialog.close()
          this.$emit('refreshDataList')
          this.map.clear()
      changeRow(selection) {
        console.log(selection, ' changeRow(selection)')
        let item = {}
        for (item of selection) {
          console.log(item)
          item.pid = this.dataForm.pid
        }
        this.selectList = selection
        this.selectList.forEach( item => {
          item.pageCode = this.pageCode
        })
      },
      async formSubmit() {
        let res
        if (this.pageCode) {
          if (this.pageCode === 'expect' || this.pageCode === 'assign') {
            res = await this.$http.post('/basicInfo/ParamData/get', this.selectList)
          }
          } else {
            res = await this.$http.post('/basicInfo/XhProductModel/get', this.selectList)
          }
          if (res.success) {
            await this.$tip.success()
            this.$refs.dialog.close()
            this.$emit('refreshDataList')
          }
        }
      }
    }
  }
</script>