gaoshp
2025-06-16 001ad94951493fa4ae875ce294c818040c23ecf9
Merge branch 'master' of http://www.beijingsoft.cn:9090/r/mdmweb
已修改1个文件
已添加1个文件
319 ■■■■■ 文件已修改
src/views/basesetting/machine.vue 172 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/flowmgr/backImport.vue 147 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/basesetting/machine.vue
@@ -16,13 +16,14 @@
      @on-load="onLoad"
    >
      <template #menu-left>
        <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="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> -->
      </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="handleView(scope.row, scope.index)">删除</el-button>
        <el-button type="primary" text size="default" icon="el-icon-upload" @click.stop="handleView(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-upload" @click.stop="handleUp(scope.row, scope.index)">产生机床回传机构树</el-button>
      </template>
      <template #status="{ row }">
@@ -30,17 +31,24 @@
      </template>
    </avue-crud>
    <el-dialog title="编辑" append-to-body v-model="editBox" width="60%">
      <avue-form ref="editFormModal" :option="editFormModal" v-model="form" @submit="formSubmit" />
    <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"/>
    </el-dialog>
  </basic-container>
</template>
<script>
import { exportBlob } from '@/api/common';
import { getToken } from '@/utils/auth';
import NProgress from 'nprogress';
import { downloadXls } from '@/utils/util';
import 'nprogress/nprogress.css';
export default {
  data() {
    var that = this;
    return {
      machineTitle: "新增",
      isAdd: true,
      editBox: false,
      search: {
        keyword: "",
@@ -52,6 +60,7 @@
        current: 1,
        total: 0,
      },
      editForm: {},
      option: {
        index: true,
        addBtn: false,
@@ -122,17 +131,17 @@
          },
          {
            label: '机床型号',
            prop: '',
            prop: 'name',
            type: 'input',
            span: 12,
            dataType: 'string',
          },
          {
            label: '机床类型',
            prop: '',
            prop: 'machineSpec',
            type: 'select',
            span: 12,
            dicUrl: '/blade-system/dict-biz/dictionary?code=machine_group',
            dicUrl: '/blade-system/dict-biz/dictionary?code=machine_spec',
            props: {
              label: 'dictValue',
              value: 'dictKey',
@@ -140,7 +149,7 @@
          },
          {
            label: '所属机床组',
            prop: '',
            prop: 'machineGroupCode',
            type: 'select',
            span: 12,
            dicUrl: '/blade-system/dict-biz/dictionary?code=machine_group',
@@ -151,39 +160,39 @@
          },
          {
            label: '操作员',
            prop: '',
            prop: 'operator',
            type: 'input',
            span: 12,
            dataType: 'string',
          },
          {
            label: '所属组织',
            prop: '',
            type: 'select',
            prop: 'ownerDept',
            type: 'tree',
            span: 12,
            dicUrl: '/blade-system/dict-biz/dictionary?code=machine_group',
            props: {
              label: 'dictValue',
              value: 'dictKey',
            }
              label: 'deptName',
              value: 'id'
            },
            dicUrl: `/blade-system/dept/lazy-list`
          },
          {
            label: '生产商',
            prop: '',
            prop: 'manufacturer',
            type: 'input',
            span: 12,
            dataType: 'string',
          },
          {
            label: '轮询时间(小时)',
            prop: '',
            prop: 'pollingHours',
            type: 'input',
            span: 12,
            dataType: 'string',
          },
          {
            label: '系统控制',
            prop: '',
            prop: 'controlSystem',
            type: 'select',
            span: 12,
            dicUrl: '/blade-system/dict-biz/dictionary?code=machine_control_system',
@@ -194,7 +203,7 @@
          },
          {
            label: '状态',
            prop: 'checkbox',
            prop: 'status',
            type: 'checkbox',
            span: 12,
            dicData: [{
@@ -204,21 +213,21 @@
          },
          {
            label: '程序下发目录',
            prop: '',
            prop: 'progSendDir',
            type: 'input',
            span: 12,
            dataType: 'string',
          },
          {
            label: '程序回传目录',
            prop: '',
            prop: 'progReceiveDir',
            type: 'input',
            span: 12,
            dataType: 'string',
          },
          {
            label: '备注',
            prop: '',
            prop: 'remark',
            type: 'textarea',
            span: 24,
            dataType: 'string',
@@ -229,11 +238,119 @@
    };
  },
  methods: {
    handleEdit() {
    handleAdd() {
      this.machineTitle = "新增";
      this.isAdd = true;
      this.editBox = true;
      this.$refs.editFormModal1.resetForm();
    },
    formSubmit() {
    handleEdit(row,index) {
      this.machineTitle = "编辑";
      this.isAdd = false;
      axios({
        url: '/blade-mdm/machine/detail',
        method: 'get',
        params: {id: row.id},
      }).then(
        res => {
          res.data.data.status = [res.data.data.status];
          this.editForm = res.data.data;
          this.editBox = true;
        },
        error => {
          this.loading = false;
        }
      );
    },
    handleDel(row,index) {
      this.loading = true;
      axios({
        url: '/blade-mdm/machine/remove',
        method: 'post',
        params: {ids: row.id},
      }).then(
        res => {
          this.loading = false;
          this.$message({
            type: 'success',
            message: '操作成功!',
          });
          this.onLoad();
          done();
        },
        error => {
          this.loading = false;
        }
      );
    },
    handleUp(row,index) {
      this.loading = true;
      axios({
        url: '/blade-mdm/machine/gen-fileback-dirs',
        method: 'post',
        params: {id: row.id},
      }).then(
        res => {
          this.loading = false;
          this.$message({
            type: 'success',
            message: '操作成功!',
          });
          this.onLoad();
          done();
        },
        error => {
          this.loading = false;
        }
      );
    },
    handleExport() {
      this.$confirm('是否导出?', '提示', {
        confirmButtonText: '确定',
        cancelButtonText: '取消',
        type: 'warning',
      }).then(() => {
        NProgress.start();
        exportBlob(
          `/blade-mdm/machine/export?${this.website.tokenHeader}=${getToken()}`
        ).then(res => {
          downloadXls(res.data, `导出机床${this.$dayjs().format('YYYY-MM-DD HH:mm:ss')}.xlsx`);
          NProgress.done();
        });
      });
    },
    formSubmit(params, done) {
      var obj = {...params};
      if(params.status.length == 0) {
        obj.status = "0";
      }else {
        obj.status = "1";
      }
      if(this.isAdd) {  //新增
        var url = '/blade-mdm/machine/save';
      }else {
        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: '操作成功!',
          });
          this.editBox = false;
          this.onLoad();
          done();
        },
        error => {
        }
      );
    },
    handleView() {
@@ -255,7 +372,7 @@
    refreshChange() {
      
    },
    onLoad(page, params = {}) {
    onLoad() {
      this.loading = true;
      var obj = {
        keyword: this.search.keyword,
@@ -278,6 +395,7 @@
            
        }
      );
    }
  },
};
src/views/flowmgr/backImport.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,147 @@
<template>
  <basic-container>
    <avue-crud
      :addBtn="false"
      :option="option"
      :table-loading="loading"
      :data="data"
      ref="crud"
      v-model:search="search"
      v-model:page="mypage"
      @search-change="searchChange"
      @search-reset="searchReset"
      @current-change="currentChange"
      @size-change="sizeChange"
      @refresh-change="refreshChange"
      @on-load="onLoad"
    >
      <template #menu-left>
        <el-button type="primary" size="default" icon="el-icon-circle-plus" plain @click="handleEdit">导入</el-button>
        <el-button type="primary" size="default" icon="el-icon-circle-plus" plain @click="handleEdit">入库</el-button>
      </template>
    </avue-crud>
  </basic-container>
</template>
<script>
export default {
  data() {
    return {
      search: {},
      loading: true,
      mypage: {
        size: 10,
        current: 1,
        total: 0,
      },
      option: {
        addBtn: false,
        editBtn: false,
        delBtn: false,
        labelWidth: 120,
        emptyBtn: false,
        searchSpan: 8,
        selection: true,
        menu: false,
        column: [
          {
            label: '文件路径',
            type: 'input',
            prop: 'keyword',
            search: true,
            hide: true
          },
          {
            label: '任务编号',
            prop: ''
          },
          {
            label: '程序名称',
            prop: '',
          },
          {
            label: '文件到达时间',
            prop: '',
          },
          {
            label: '文件数据库编号',
            prop: '',
          },
          {
            label: '处理状态',
            prop: '',
          },
          {
            label: '处理方式',
            prop: ''
          },
          {
            label: '处理时间',
            prop: ''
          },
          {
            label: '处理人',
            prop: ''
          },
          {
            label: 'MD5值',
            prop: ''
          }
        ],
      },
      data: [],
    };
  },
  methods: {
    handleEdit(row,index) {
    },
    searchReset() {
      //this.onLoad(this.mypage);
    },
    searchChange(params, done) {
      this.mypage.current = 1;
      this.onLoad();
      done();
    },
    currentChange(current) {
      this.mypage.current = current;
    },
    sizeChange(size) {
      this.mypage.size = size;
    },
    refreshChange() {
    },
    onLoad() {
      this.loading = true;
      var obj = {
        keyword: this.search.keyword,
        machineSpec: "",
        current: this.mypage.current,
        size: this.mypage.size,
      }
      axios({
        url: '/blade-mdm/machineback/file/page',
        method: 'get',
        params: obj,
      }).then(
        res => {
          const data = res.data.data;
          this.mypage.total = data.total;
          this.data = data.records;
          this.loading = false;
        },
        error => {
        }
      );
    }
  },
};
</script>
<style lang="scss">
</style>