wangting
2023-06-19 8816c08bd878434234cf60a233295d82debda36a
Merge remote-tracking branch 'origin/master'
已修改4个文件
147 ■■■■ 文件已修改
Source/UBCS-WEB/src/api/batchImport/index.js 13 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS-WEB/src/components/BatchImport/index.vue 103 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS-WEB/src/views/MasterData/FormTempalteTest.vue 27 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS-WEB/vue.config.js 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS-WEB/src/api/batchImport/index.js
@@ -1,9 +1,18 @@
import request from '@/router/axios';
export const downloadTemplate = (params) => {
// 历史导入模板下载
export const downloadHistoryImportTemplate = (params) => {
  return request({
    url: '/api/ubcs-code/mdmEngineController/downloadTopImportExcel ',
    url: '/api/ubcs-code/mdmEngineController/downloadTopImportExcel',
    method: 'get',
    params
  })
}
// 下载错误日志
export const downloadErrorFile = (params) => {
  return request({
    url: '/api/ubcs-code/mdmEngineController/downloadErrorFile',
    method: 'get',
    params
  })
Source/UBCS-WEB/src/components/BatchImport/index.vue
@@ -2,7 +2,7 @@
  <el-dialog :title="title" :visible="visible" append-to-body>
    <Divider text="导入提示" left="30px"></Divider>
    <ul>
      <li v-for="(item, index) in tipInfo" :key="index">
      <li v-for="(item, index) in tipList" :key="index">
        {{ item }}
      </li>
    </ul>
@@ -20,66 +20,119 @@
      :action="action"
      :before-upload="beforeUpload"
      :on-exceed="handleExceed"
      :headers="uploadHeaders"
      :on-success="onSuccess"
      :show-file-list="false"
      :data="{
        codeClassifyOid: this.codeClassifyOid,
        classifyAttr: this.classifyAttr,
      }"
    >
      <el-button size="small" type="primary"><i class="el-icon-upload"></i> 点击上传</el-button>
      <el-button size="small" type="primary"
        ><i class="el-icon-upload"></i> 点击上传</el-button
      >
    </el-upload>
    <template #footer>
      <el-button type="primary" size="small" @click="downloadTemplateFun">下载导入模板</el-button>
      <el-button type="primary" size="small" @click="downloadTemplateFun" :loading="downloadLoading"
        >下载导入模板</el-button
      >
      <el-button size="small">关闭</el-button>
    </template>
  </el-dialog>
</template>
<script>
import { downloadTemplate } from '../../api/batchImport/index'
import { downloadHistoryImportTemplate, downloadErrorFile } from "../../api/batchImport/index";
import { getToken } from "@/util/auth";
export default {
  name: "",
  props: {
    title: {
      type: String,
      default: "批量申请编码",
    },
    tipInfo: {
      type: Array,
      default: () => [],
    },
    visible: {
      type: Boolean,
      default: false,
    },
    accept: {
      type: String,
      default: '.xlsx, .xls'
      default: ".xlsx, .xls",
    },
    codeClassifyOid: {
      type: String,
      default: ''
      default: "535FC9B6-FE27-241F-5FCA-ED4DC17CF95B",
    },
    downloadTemplateFun: {
      type: Function
    }
    type: {
      type: String,
      default: "",
    },
  },
  data() {
    return {
      classType: "classCode",
      classifyAttr: "id",
      uploadParams: {},
      downloadLoading: false
    };
  },
  computed: {
    action() {
      console.log(process, 'process');
      return '/api/ubcs-code/mdmEngineController/mdmEngineController/batchTopImportCode'
    }
    uploadHeaders() {
      return {
        "Blade-Auth": "bearer " + getToken(),
      };
    },
  },
  methods: {
    getDataByType() {
      if (this.type === "historyImport") {
        this.title = "历史数据导入";
        this.tipList = [
          "1.标题带五角星的表示关键属性,带星号表示必输项",
          "2.企业编码,集团码和状态都需要导入",
          "3.每次仅能最多导入10000条数据,如果出错会返回错误的数据和原因,但是正确的数据会保存",
          "4.分类的路径需要用#分隔。仅填写当前选的分类树上的下级分类的路径,如果当前分类已经是叶子节点,则不填写",
        ];
        this.action =
          "/api/ubcs-code/mdmEngineController/batchImportHistoryData";
      } else if (this.type === "codeApply") {
        this.title = "批量编码申请";
        this.tipList = [
          "1.标题带五角星的表示关键属性,带星号表示必输项",
          "2.分类的路径需要用#分隔。从当前选择分类节点的下级开始填写,直到最末尾节点,如 产品#主机产品#主机产品",
        ];
      }
    },
    beforeUpload(file) {
      const fileType = file.name.split('.').pop()
      if (fileType !== 'xlsx' && fileType !== 'xls') {
      const fileType = file.name.split(".").pop();
      if (fileType !== "xlsx" && fileType !== "xls") {
        // 上传格式不符合要求,提示错误信息并取消上传
        this.$message.error('只允许上传xlsx、xls格式的文件');
        this.$message.error("只允许上传xlsx、xls格式的文件");
        return false;
      }
      return true;
    },
    // 下载导入模板
    downloadTemplateFun() {
      this.downloadLoading = true
      downloadHistoryImportTemplate({
        codeClassifyOid: "535FC9B6-FE27-241F-5FCA-ED4DC17CF95B",
      }).then(res => {
        this.downloadLoading = false
        console.log(res);
      }).catch(() => {
        this.downloadLoading = false
      });
    },
    onSuccess(res) {
      if (res.code === 400) {
        this.$message.error(`${res.msg},请下载错误信息进行查看!`)
      }
      downloadErrorFile({uuid: res.data.fileOid})
    }
  },
  watch: {
    visible: {
      immediate:true,
      handler() {
        this.getDataByType();
      }
    }
  },
};
</script>
Source/UBCS-WEB/src/views/MasterData/FormTempalteTest.vue
@@ -2,6 +2,7 @@
  <div>
    <el-button @click="visible = true">测试</el-button>
    <el-button @click="visible1 = true">相似项查询</el-button>
    <el-button @click="visible3 = true">批量导入</el-button>
    <el-button @click="visible2 = true">附件管理dialog</el-button>
    <FormTemplateDialog
      :visible.sync="visible"
@@ -20,41 +21,51 @@
      :codeClassifyOid="this.codeClassifyOid"
      :codeRuleOid="this.codeRuleOid"
    ></ResembleQueryDialog>
    <BatchImport
      :visible="visible3"
      type="historyImport"
      :downloadTemplateFun="downloadTemplateFun"
    ></BatchImport>
    <fileInHtml :options="{}"></fileInHtml>
    <fileinDialog
      :visible="visible2"
      :options="{}"
      @close="visible2=false"
      @close="visible2 = false"
    ></fileinDialog>
  </div>
</template>
<script>
import ResembleQueryDialog from '@/components/FormTemplate/ResembleQueryDialog.vue';
import fileInHtml from '@/components/file/inHtml.vue';
import fileinDialog from '@/components/file/inDialog.vue';
import ResembleQueryDialog from "@/components/FormTemplate/ResembleQueryDialog.vue";
import fileInHtml from "@/components/file/inHtml.vue";
import fileinDialog from "@/components/file/inDialog.vue";
import BatchImport from "@/components/BatchImport";
export default {
  name: "FormTempalteTest",
  components: { ResembleQueryDialog ,fileInHtml ,fileinDialog},
  components: { ResembleQueryDialog, fileInHtml, fileinDialog, BatchImport },
  data() {
    return {
      visible: false,
      visible1: false,
      visible2: false,
      visible3: false,
      // 默认禁用的表元素
      disabledProp: ["id", 'lcstatus'],
      disabledProp: ["id", "lcstatus"],
      // 表单类型
      type: "add",
      templateOid: "78B8C7C5-A042-0B96-FE6D-65421451782A",
      codeClassifyOid: "4524E801-6CC6-92E8-1AC3-2AB9604E8F96",
      codeRuleOid: "B95872A6-9CEA-D490-8F1B-9D26548CAF96",
      rowOid: '6EF696C3-CD87-0E7C-1EA1-8DE3913A95C9'
      rowOid: "6EF696C3-CD87-0E7C-1EA1-8DE3913A95C9",
    };
  },
  methods: {
    submit(data) {
      console.log(data);
    },
    downloadTemplateFun() {
    }
  }
  },
};
</script>
Source/UBCS-WEB/vue.config.js
@@ -27,14 +27,10 @@
      '/api': {
        //本地服务接口地址
        // target: 'http://localhost:37000',
        // target: 'http://192.168.1.51:37000',
        // target: 'http://192.168.1.46:37000',
        target: 'http://dev.vci-tech.com:37000',
        // target: 'http://192.168.1.51:37000/',
        // target: 'http://192.168.1.104:37000',
        // target: 'http://192.168.1.63:37000',
        //target: 'http://192.168.3.7:37000',
        // target: 'http://dev.vci-tech.com:37000',
        //target: 'http://192.168.1.51:37000/',
        // target:'http://192.168.1.104:37000',
        //远程演示服务地址,可用于直接启动项目