1
李喆(开发组)
2025-08-04 a136cd7a0543065b949a65be816c2821bb058c10
src/views/basesetting/machine.vue
@@ -17,8 +17,8 @@
    >
      <template #menu-left>
        <el-button type="primary" size="default" icon="el-icon-circle-plus" plain @click="handleExport">导出</el-button>
        <el-button type="primary" size="default" icon="el-icon-circle-plus" plain @click="handleView">导入</el-button>
        <!-- <el-button type="primary" size="default" icon="el-icon-circle-plus" plain @click="handleAdd">新增</el-button> -->
        <!-- <el-button type="primary" size="default" icon="el-icon-circle-plus" plain @click="handleView">导入</el-button> -->
        <el-button type="primary" size="default" icon="el-icon-circle-plus" plain @click="handleAdd">新增</el-button>
      </template>
      <template #menu="scope">
        <el-button type="primary" text size="default" icon="el-icon-upload" @click.stop="handleEdit(scope.row, scope.index)">编辑</el-button>
@@ -34,7 +34,7 @@
    <el-dialog :title="machineTitle" append-to-body v-model="editBox" width="60%">
      <avue-form ref="editFormModal1" :option="editFormModal" v-model="editForm" @submit="formSubmit" @resetForm="resetForm">
        <template #ownerDept="{}">
          <el-tree-select v-model="editForm.ownerDept" :data="organizationTreeList"/>
          <el-tree-select v-model="editForm.ownerDept" :data="organizationTreeList" :props="treePropsConfig"/>
        </template>
      </avue-form>
    </el-dialog>
@@ -51,6 +51,11 @@
  data() {
    var that = this;
    return {
      treePropsConfig: {
        value:  'id',
        label: 'title',
        children: 'children'
      },
      organizationTreeList: [],
      machineTitle: "新增",
      isAdd: true,
@@ -80,7 +85,8 @@
            type: 'input',
            prop: 'keyword',
            search: true,
            hide: true
            hide: true,
            showColumn: false
          },
          {
            label: '机床编号',
@@ -133,6 +139,13 @@
            type: 'input',
            span: 12,
            dataType: 'string',
            rules: [
              {
                required: true,
                message: '请输入机床编号',
                trigger: 'blur'
              }
            ]
          },
          {
            label: '机床型号',
@@ -140,6 +153,13 @@
            type: 'input',
            span: 12,
            dataType: 'string',
            rules: [
              {
                required: true,
                message: '请输入机床型号',
                trigger: 'blur'
              }
            ]
          },
          {
            label: '机床类型',
@@ -150,7 +170,14 @@
            props: {
              label: 'dictValue',
              value: 'dictKey',
            }
            },
            rules: [
              {
                required: true,
                message: '请选择机床类型',
                trigger: 'change'
              }
            ]
          },
          {
            label: '所属机床组',
@@ -161,7 +188,14 @@
            props: {
              label: 'dictValue',
              value: 'dictKey',
            }
            },
            rules: [
              {
                required: true,
                message: '请选择所属机床组',
                trigger: 'change'
              }
            ]
          },
          {
            label: '操作员',
@@ -173,18 +207,19 @@
          {
            label: '所属组织',
            prop: 'ownerDept',
            span: 12
            type: 'tree',
            span: 12,
            rules: [
              {
                required: true,
                message: '请选择所属组织',
                trigger: 'click'
              }
            ]
          },
          {
            label: '生产商',
            prop: 'manufacturer',
            type: 'input',
            span: 12,
            dataType: 'string',
          },
          {
            label: '轮询时间(小时)',
            prop: 'pollingHours',
            type: 'input',
            span: 12,
            dataType: 'string',
@@ -237,6 +272,17 @@
    };
  },
  methods: {
    initData(tenantId) {
      axios({
        url: 'blade-system/dept/tree',
        method: 'get'
      }).then(
        res => {
          //const column = this.findObject(this.option.column, 'parentId');
          //column.dicData = res.data.data;
        }
      );
    },
    handleAdd() {
      this.machineTitle = "新增";
      this.isAdd = true;
@@ -331,22 +377,17 @@
        var url = '/blade-mdm/machine/update';
      }
      this.loading = true;
      axios({
        url: url,
        method: 'post',
        data: obj,
      }).then(
        res => {
          this.loading = false;
          this.$message({
            type: 'success',
            message: '操作成功!',
          });
      axios({url: url,method: 'post',data: obj}).then(res => {
        this.loading = false;
        if(res,res.data.success) {
          this.editBox = false;
          this.$message({type: 'success',message: '操作成功!'});
          this.onLoad();
          done();
        }else {
          this.$message({type: 'error',message: res.data.msg});
        }
      );
        done();
      });
    },
    handleView() {
@@ -372,14 +413,14 @@
      this.loading = true;
      var obj = {
        keyword: this.search.keyword,
        machineGroupCode: this.search.machineGroupCode,
        machineGroupCode: this.search.machineGroupName,
        current: this.mypage.current,
        size: this.mypage.size,
      }
      axios({
        url: '/blade-mdm/machine/page',
        method: 'get',
        date: obj,
        params: obj,
      }).then(
        res => {
          const data = res.data.data;
@@ -408,19 +449,11 @@
      });
    }
  },
  mounted() {
    //判断版本  0:涉密网,1:工控网;//工控网5个,涉密网4个
    axios({url: '/blade-mdm/system/param/getValue?paramKey=networkType',method: 'get'}).then(res => {
        if(res.data.data === "0") {
          var aurl = "/blade-system/dept/lazy-list";
        }else {
          var aurl = "/blade-mdm/system/dept/lazy-list";
        }
        axios({url: aurl,method: 'get'}).then(resp => {
          this.organizationTreeList = this.traversalLabelValueToTree(resp.data.data);
        })
      }
    );
  mounted() {
    //所属组织 /api/blade-system/dept/tree
    axios({url: '/blade-system/dept/tree',method: 'get'}).then(resp => {
      this.organizationTreeList = this.traversalLabelValueToTree(resp.data.data);
    })
  }
};
</script>