jinlin
2024-09-06 3ecb68c427a627ad8e90d8c555655e7724be2d96
web/src/views/modules/basicInfo/SelectTyModel.vue
@@ -1,18 +1,21 @@
<template>
  <zt-dialog ref="dialog" column="2" title="选择通用模型" append-to-body :editAble="false" :hasConfirm="true"
  <zt-dialog ref="dialog" column="2" title="选择通用产品节点" append-to-body :editAble="false" :hasConfirm="true"
             @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,30 +28,49 @@
    name: 'SelectTyModel',
    data() {
      return {
        url: '/basicInfo/TyProductModel/page',
        selectList: [],
        data: '',
        dataForm: {
          type:'noTree',
          type: 'noTree',
          nodeType: '',
          shipId:'',
          id: '',
          pid: '',
          name: '',
          namePath: '',
          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.dataForm.shipId =params.shipId
        this.dataForm.namePath =params.namePath
        console.log(params, 'init()')
      },
      async onSelected() {
        let res = await this.$http[!this.dataForm.id ? 'post' : 'put']('/basicInfo/XhProductModel/', this.dataForm)
      changeRow(selection) {
        console.log(selection, ' changeRow(selection)')
        let item = {}
        for (item of selection) {
          item.pid = this.dataForm.pid
          item.namePath = this.dataForm.namePath
          item.shipId = this.dataForm.shipId
        }
        this.selectList = selection
      },
      async formSubmit() {
        let res = await this.$http.post('/basicInfo/XhProductModel/get', this.selectList)
        if (res.success) {
          await this.$tip.success()
          this.$refs.dialog.close()
          this.$emit('refreshDataList')
          this.map.clear()
        }
      }
    }