1
lzhe
2025-08-22 e0529600d302c3e3190d802390417bd1a8b72a05
src/views/basesetting/machine.vue
@@ -27,22 +27,21 @@
          @on-load="onLoad"
        >
          <template #menu-left>
            <el-button type="primary" size="default" icon="el-icon-circle-plus" plain @click="handleExport">导出</el-button>
            <div class="menuLeft">
              <el-button type="primary" size="default" icon="el-icon-circle-plus" plain @click="handleExport">导出</el-button>
              <!-- <el-upload :show-file-list="false" class="upload-demo"
                  action="/api/blade-mdm/machine/import"
                        :on-change="handleChange">
                <el-button type="primary" plain size="default">导入</el-button>
              </el-upload> -->
              <el-button type="primary" plain @click="importAction">导入</el-button>
              <el-button type="primary" size="default" icon="el-icon-circle-plus" plain @click="handleAdd">新增</el-button>
            </div>
            <el-upload :show-file-list="false" class="upload-demo"
                action="/api/blade-mdm/machine/import"
                       :on-change="handleChange">
              <el-button type="primary" plain size="default">导入</el-button>
            </el-upload>
            <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>
            <el-button type="primary" text size="default" icon="el-icon-upload" @click.stop="handleDel(scope.row, scope.index)">删除</el-button>
            <el-button type="primary" text size="default" icon="el-icon-edit" @click.stop="handleEdit(scope.row, scope.index)">编辑</el-button>
            <el-button type="primary" text size="default" icon="el-icon-delete" @click.stop="handleDel(scope.row, scope.index)">删除</el-button>
            <!--
            <el-button type="primary" text size="default" icon="el-icon-upload" @click.stop="handleUp(scope.row, scope.index)">产生机床回传机构树</el-button>
            -->
@@ -60,6 +59,11 @@
            </template>
          </avue-form>
        </el-dialog>
        <el-dialog title="" append-to-body v-model="excelBox" width="555px">
            <avue-form :option="excelOption" v-model="excelForm" :upload-after="uploadAfter">
            </avue-form>
        </el-dialog>
      </basic-container>
    </el-col>
  </el-row>
@@ -76,6 +80,29 @@
  data() {
    var that = this;
    return {
      excelBox: false,
      excelOption: {
          submitBtn: false,
          emptyBtn: false,
          column: [
              {
                  label: '文件导入',
                  prop: 'file',
                  type: 'upload',
                  drag: true,
                  loadText: '导入中,请稍后',
                  span: 24,
                  propsHttp: {
                      res: 'data',
                  },
                  data: {
                  },
                  tip: '',
                  action: '/blade-mdm/machine/import',
              },
          ],
      },
      excelForm: {},
      treeOption: {
        nodeKey: 'id',
        lazy: true,
@@ -279,7 +306,7 @@
            dataType: 'string',
          },
          {
            label: '系统控制',
            label: '控制系统',
            prop: 'controlSystem',
            type: 'select',
            span: 12,
@@ -352,6 +379,24 @@
    };
  },
  methods: {
    importAction() {
      this.excelBox = true;
    },
    uploadAfter(res, done, loading, column) {
        //window.console.log(column);
        //console.log('res',res)
        if(res.success>0){
            //有成功的,关闭对话框
            this.excelBox = false;
            this.$message.success(res.message);
            this.onLoad(this.page);
            //done();
        }else{
            //0成功的,仅提示
            this.$message.success(res.message);
        }
    },
    handleChange(a,b,c) {
      console.log(a,b,c);
    },
@@ -544,4 +589,8 @@
  margin-left: 6px;
  margin-right: 6px;
}
.menuLeft {
  display: flex;
  align-items: center;
}
</style>