gaoshp
2024-03-26 b43d75fee8cd67df67025029431c3295a0619f12
src/views/basicdata/machine/workstation.vue
@@ -65,15 +65,79 @@
                                 </el-button-group>
                              </template>
                           </el-table-column>
                        </scTable>
                     </el-main>
                  </el-container>
               </el-container>
            </el-tab-pane>
            <!-- 工位组 -->
            <el-tab-pane label="工位组" name="2">
               <el-container>
                  <el-aside width="200px" v-loading="showGrouploading">
                     <el-container>
                        <el-main class="nopadding">
                           <el-tree ref="group" class="menu" node-key="id" :data="group"
                              :current-node-key="treeCheckKey"
                              :highlight-current="true"
                              :expand-on-click-node="false"
                              :check-on-click-node="true"
                              :default-expanded-keys="[1]"
                              :filter-node-method="groupFilterNode"
                              @node-click="groupClick"></el-tree>
                        </el-main>
                     </el-container>
                  </el-aside>
                  <el-container>
                     <el-header>
                        <div class="left-panel">
                           <el-button type="primary" plain>新增下级</el-button>
                           <el-button v-show="!['1','101'].includes(treeCheckedNode.id)" type="danger" plain>删除</el-button>
                        </div>
                     </el-header>
                     <el-main class="">
                        <ul class="show-info" v-show="['1','101'].includes(treeCheckedNode.id)">
                           <li>名称: {{treeCheckedNode.name}}</li>
                           <li>排序: {{treeCheckedNode.sort}}</li>
                           <li>备注: {{treeCheckedNode.remark}}</li>
                        </ul>
                        <el-form v-show="beltline_type.map(item => item.dictKey).includes(treeCheckedNode.groupTag)" :model="form" :rules="rules" ref="dialogForm" label-width="200px"
                           label-position="left">
                           <el-form-item label="产线标签" prop="meta.title">
                              <el-input v-model="form.meta.title" clearable placeholder="工位组名称"></el-input>
                           </el-form-item>
                           <el-form-item label="产线名称" prop="meta.title">
                              <el-input v-model="form.meta.title" clearable placeholder="工位组名称"></el-input>
                           </el-form-item>
                           <el-form-item label="产线排序" prop="meta.title">
                              <el-input v-model="form.meta.title" clearable placeholder="工位组名称"></el-input>
                           </el-form-item>
                           <el-form-item label="备注" prop="meta.title">
                              <el-input v-model="form.meta.title" clearable placeholder="工位组名称"></el-input>
                           </el-form-item>
                        </el-form>
                        <ul v-show="group_tag.map(item => item.dictKey).includes(treeCheckedNode.groupTag)">
                           <li>产线名称:千文科技</li>
                           <li>产线标签:柔性产线</li>
                           <li>备注:</li>
                        </ul>
                        <el-form v-show="group_tag.map(item => item.dictKey).includes(treeCheckedNode.groupTag)" :model="form" :rules="rules" ref="dialogForm" label-width="200px"
                           label-position="left">
                           <el-form-item label="工位组名称" prop="meta.title">
                              <el-input v-model="form.meta.title" clearable placeholder="工位组名称"></el-input>
                           </el-form-item>
                           <el-form-item label="工位组排序" prop="meta.title">
                              <el-input v-model="form.meta.title" clearable placeholder="工位组名称"></el-input>
                           </el-form-item>
                           <el-form-item label="工位组标签" prop="meta.title">
                              <el-input v-model="form.meta.title" clearable placeholder="工位组名称"></el-input>
                           </el-form-item>
                           <el-form-item label="备注" prop="meta.title">
                              <el-input v-model="form.meta.title" clearable placeholder="工位组名称"></el-input>
                           </el-form-item>
                        </el-form>
                     </el-main>
                  </el-container>
               </el-container>
            </el-tab-pane>
         </el-tabs>
@@ -86,20 +150,56 @@
   name: 'system',
   data() {
      return {
         activeName: '1',
         showGrouploading: false,
         options: [],
         activeName: '2',
         group: [],
         groupFilterText: ''
         groupFilterText: '',
         // --------
         form: {
            meta: {
            }
         },
         rules: {},
         treeCheckedNode: {},
         treeCheckKey: [],
         beltline_type: [],
         group_tag: []
      }
   },
   watch: {
      activeName () {
         this.queryList()
      }
   },
   created() {
      this.$API.basicdata.getWorkstationGroup.get().then(res => {
         if (res.code == 200) {
            let data = this.formatData(res.data)
            this.group = data
         }
      })
      this.init()
      this.queryList()
   },
   methods: {
      init () {
         this.$API.system.dic.getDic.get({code: 'beltline_type'}).then(res => {
            this.beltline_type = res.data
         })
         this.$API.system.dic.getDic.get({code: 'group_tag'}).then(res => {
            this.group_tag = res.data
         })
      },
      queryList () {
         this.showGrouploading = true
         this.$API.basicdata.getWorkstationGroup.get().then(res => {
         if (res.code == 200) {
            let parent = res.data.filter(item => item.parentId == 0)[0]
            this.treeCheckedNode = parent
            this.treeCheckKey = parent.id
            let data = this.formatData(res.data)
            this.group = data
            this.showGrouploading = false
         }
      })
      },
      formatData(data, current) {
         let newData = []
         if (!current) {
@@ -110,7 +210,9 @@
         } else {
            let res = data.filter(v => v.parentId === current.id)
            res = res.map(item => {
               item.children = this.formatData(data, item)
               item.children = this.formatData(data, item).sort((a,b) => {
                  return a.sort - b.sort
               })
               return item
            })
            return res
@@ -120,8 +222,9 @@
      groupFilterNode() {
      },
      groupClick() {
      groupClick(node) {
         console.log(node)
         this.treeCheckedNode = node
      },
      table_add() {
         var newRow = {
@@ -146,4 +249,9 @@
}
</script>
<style></style>
<style scoped>
.show-info {
   list-style: none;
   font-size: 14px;
}
</style>