yangys
2025-11-27 f97351a6f1fdc679f4956030d179dca843bbeb0c
src/views/wel/index.vue
@@ -1,300 +1,49 @@
<!--
 * @Author: 李喆(开发组) lzhe@yxqiche.com
 * @Date: 2025-08-11 09:25:36
 * @LastEditors: 李喆(开发组) lzhe@yxqiche.com
 * @LastEditTime: 2025-08-19 16:23:04
 * @FilePath: /mdmweb/src/views/wel/index.vue
 * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
-->
<template>
  <basic-container>
    <avue-crud
      :addBtn="false"
      :option="option"
      :table-loading="loading"
      :data="data"
      ref="crud"
      v-model:search="search"
      v-model:page="mypage"
      @current-change="currentChange"
      @size-change="sizeChange"
      @refresh-change="refreshChange"
      @on-load="onLoad"
      @tree-load="treeLoad"
      @row-del="rowDel"
      @row-save="rowSave"
      @row-update="rowUpdate"
    >
      <template #name="{ row }">
        <span>{{row.name}}</span>
        <el-button :size="size" text icon="el-icon-setting" type="primary" placeholder="修改" @click="showEdit(row)"></el-button>
        <el-button :size="size" text icon="el-icon-delete" type="primary" @click="showDel(row)" placeholder="删除"></el-button>
        <el-button :size="size" text icon="el-icon-document-add" type="primary" @click="showAdd(row)" placeholder="新增子级"></el-button>
      </template>
    </avue-crud>
    <el-dialog :title="modalTitle" append-to-body v-model="modalBox">
      <avue-form :option="modalOption" v-model="modalForm" @submit="modalSubmit" @reset-change="modalCancel"/>
    </el-dialog>
  </basic-container>
 <shemi v-if="isSM"></shemi>
  <gongkong v-else></gongkong>
   <!-- <gongkong></gongkong> -->
</template>
<script>
import shemi from './shemi.vue'
import gongkong from './gongkong.vue'
export default {
  name: 'WelIndex',
  components: {shemi,gongkong},
  data() {
    return {
      selectedColumn: {},
      modalForm: {},
      modalOption: {
        submitText: "保存",
        emptyText: "取消",
        menuPosition: "right",
        column: [
          {
            label: '节点类型',
            prop: 'nodeType',
            type: 'select',
            dicUrl: '/blade-system/dict-biz/dictionary?code=nc_node_type',
            props: {
              label: 'dictValue',
              value: 'dictKey',
            },
            disabled: true
          },
          {
            label: '设备(机床)',
            prop: 'abc',
            hide: true
          },
          {
            label: '节点名称',
            prop: 'name',
            hide: true
          },
          {
            label: '节点描述',
            prop: 'abc',
            hide: true
          },
          {
            label: '全路径',
            prop: 'abc',
            hide: true,
            span: 24
          },
          {
            label: '备注',
            prop: 'remark',
            type: "textarea",
            hide: true,
            span: 24
          }
        ]
      },
      modalBox: false,
      modalTitle: "",
      id: "",
      parentId:1,
      search: {
        keyword: "",
        machineGroupCode: ""
      },
      loading: true,
      mypage: {
        size: 10,
        current: 1,
        total: 0,
      },
      option: {
        lazy: true,
        rowKey: 'id',
        addBtn: false,
        editBtn: false,
        delBtn: false,
        fit: true,
        menu: false,
        column: [
          {
            label: '目录',
            prop: 'name',
            width: '300'
          },
          {
            label: '版本',
            prop: 'abc'
          },
          {
            label: '版次',
            prop: 'abc'
          },
          {
            label: '描述',
            prop: 'abc'
          },
          {
            label: '类型',
            prop: 'nodeType'
          },
          {
            label: '设备',
            prop: 'abc'
          },
          {
            label: '固化状态',
            prop: 'abc'
          },
          {
            label: '锁定状态',
            prop: 'abc'
          },
          {
            label: '流程状态',
            prop: 'abc'
          },
          {
            label: '测试程序',
            prop: 'abc'
          },
          {
            label: '创建人',
            prop: 'createUser',
            width: '180'
          }
        ],
      },
      data: [],
    };
  },
  methods: {
    rowDel(row, index, done) {
      console.log(done);
      done(row);
    },
    rowSave (row, done) {
      console.log(done,1111);
      done(row);
    },
    rowUpdate (row, index, done) {
      console.log(done,222);
      done(row);
    },
    showEdit(row,done) {
      this.modalTitle = "修改";
      this.modalBox = true;
      return;
    },
    showDel(row) {
      //调用接口
      this.loading = true;
      axios({
        url: '/blade-mdm/program/node/remove',
        method: 'post',
        params: {id: row.id},
      }).then(
        res => {
          this.loading = false;
          this.$refs.crud.rowDel(row);
        }
      );
    },
    showAdd (row) {  //新增子节点
      this.modalTitle = "新增子节点";
      this.selectedColumn.nodeType = String(Number(row.nodeType) + 10);
      this.selectedColumn.parentId = row.id;
      this.selectedColumn.name = "";
      this.selectedColumn.id = "";
      this.modalForm = this.selectedColumn;
      this.modalBox = true;
    },
    modalSubmit(row) {  //新增子节点保存
      //调用接口
      this.loading = true;
      axios({
        url: '/blade-mdm/program/node/save',
        method: 'post',
        data: this.modalForm,
      }).then(
        res => {
          //this.$refs.crud.rowSave(this.modalForm);
          this.onLoad();
          this.$refs.crud.refreshTable();
          this.modalBox = false;
          this.loading = false;
        }
      );
    },
    modalCancel() {
      this.modalBox = false;
    },
    treeLoad (tree, treeNode, resolve) {
      // setTimeout(() => {
      //   this.parentId += 1;
      //   var hasChildren = true;
      //   if(this.parentId == 6) {
      //     this.$message.error("到头了");
      //     hasChildren = false;
      //   }
      //   resolve([{
      //     id: this.parentId,
      //     parentId: this.parentId,
      //     date: '2016-05-01',
      //     name: '王小虎',
      //     address: '新增',
      //     hasChildren: hasChildren
      //   }]);
      //   console.log(tree,111)
      // }, 100);
      this.loading = true;
      var obj = {parentId: tree.id}
      axios({
        url: '/blade-mdm/program/node/lazy-list',
        method: 'get',
        params: obj,
      }).then(
        res => {
          resolve(res.data.data);
          this.loading = false;
        }
      );
    },
    currentChange(current) {
      this.mypage.current = current;
    },
    sizeChange(size) {
      this.mypage.size = size;
    },
    refreshChange() {
    },
    onLoad() {  //查询treeTable
      this.loading = true;
      var obj = {parentId: ""}
      axios({
        url: '/blade-mdm/program/node/lazy-list',
        method: 'get',
        params: obj,
      }).then(
        res => {
          this.data = res.data.data;
          this.loading = false;
        }
      );
      // this.data =   [{
      //     id: this.parentId,
      //     parentId: this.parentId,
      //     date: '2016-05-02',
      //     name: '王小虎',
      //     address: 'hhh',
      //     hasChildren: true
      //   },
      //   {
      //     id: 7,
      //     parentId: 7,
      //     date: '2016-05-02',
      //     name: '王小虎',
      //     address: 'hhh',
      //     hasChildren: false
      //   }]
      //   this.loading = false;
      nodeId: 0,
      isSM: false
    }
  },
  computed: {},
  watch: {
  },
  methods: {
  },
  mounted() {
    //判断版本  0:涉密网,1:工控网;
    axios({url: '/blade-mdm/system/param/getValue?paramKey=networkType',method: 'get'}).then(res => {
        if(res.data.data === "0") {
          this.isSM = true;
        }else {
          // this.getPre();
        }
      }
    );
  }
};
</script>
<style lang="scss">
.el-form-item__label {
  width: 120px!important;
}
</style>