| | |
| | | {{ item }}
|
| | | </li>
|
| | | </ul>
|
| | | <div class="radio_box" v-show="currentTypeObj[type]['upParams'] === 'classifyAttr'">
|
| | | <div
|
| | | class="radio_box"
|
| | | v-show="currentTypeObj[type]['upParams'] === 'classifyAttr'"
|
| | | >
|
| | | <span>分类的路径使用的属性:</span>
|
| | | <el-radio-group v-model="classifyAttr">
|
| | | <el-radio label="id">分类编号</el-radio>
|
| | | <el-radio label="name">分类名称</el-radio>
|
| | | </el-radio-group>
|
| | | </div>
|
| | | <div style="margin-top: 20px;" v-if="showCodeApply && type === 'batchImportApply'">
|
| | | <Divider text="编码规则的码段信息,请先选择后再导入" left="30px"></Divider>
|
| | | <div
|
| | | style="margin-top: 20px"
|
| | | v-if="showCodeApply && currentTypeObj[type]['upParams'] === 'codeApply'"
|
| | | >
|
| | | <Divider
|
| | | text="编码规则的码段信息,请先选择后再导入"
|
| | | left="30px"
|
| | | ></Divider>
|
| | | <FormTemplate
|
| | | style="margin-top: 30px;"
|
| | | style="margin-top: 30px"
|
| | | type="add"
|
| | | :selfColumnType="selfColumnType"
|
| | | :selfColumnConfig="selfColumnConfig"
|
| | |
| | | :on-exceed="handleExceed"
|
| | | :headers="uploadHeaders"
|
| | | :on-success="onSuccess"
|
| | | :on-error="onError"
|
| | | :show-file-list="false"
|
| | | :on-change="uploadChange"
|
| | | :data="upParams"
|
| | |
| | | :codeClassifyOid="codeClassifyOid"
|
| | | :redisOid="redisOid"
|
| | | :type="type"
|
| | | :title="title"
|
| | | :secDTOList="secDTOList"
|
| | | ></ShowImportData>
|
| | | </el-dialog>
|
| | | </template>
|
| | |
| | | import {
|
| | | downloadHistoryImportTemplate,
|
| | | downloadErrorFile,
|
| | | getHistoryLeftTree,
|
| | | downloadBatchImportApplyTemplate
|
| | | importDataShow,
|
| | | downloadBatchImportApplyTemplate,
|
| | | downloadBatchApplyCodeTemplate,
|
| | | } from "../../api/batchImport/index";
|
| | | import FormTemplate from "../FormTemplate/FormTemplate.vue";
|
| | | import { getToken } from "@/util/auth";
|
| | | import codeApply from '@/mixins/codeApply.js'
|
| | | import codeApply from "@/mixins/codeApply.js";
|
| | | export default {
|
| | | name: "BatchImport",
|
| | | mixins: [codeApply],
|
| | |
| | | },
|
| | | },
|
| | | title() {
|
| | | return this.currentTypeObj[this.type]['title']
|
| | | return this.currentTypeObj[this.type]["title"];
|
| | | },
|
| | | tipList() {
|
| | | return this.currentTypeObj[this.type]['tipList']
|
| | | return this.currentTypeObj[this.type]["tipList"];
|
| | | },
|
| | | downloadTemplateApi() {
|
| | | return this.currentTypeObj[this.type]['downloadTemplateFun']
|
| | | console.log(this.currentTypeObj[this.type], "this.type");
|
| | | return this.currentTypeObj[this.type]["downloadTemplateFun"];
|
| | | },
|
| | | action() {
|
| | | return this.currentTypeObj[this.type]['action']
|
| | | return this.currentTypeObj[this.type]["action"];
|
| | | },
|
| | | upParams() {
|
| | | if (this.type === 'historyImport') {
|
| | | return {
|
| | | codeClassifyOid: this.codeClassifyOid,
|
| | | classifyAttr: this.classifyAttr,
|
| | | }
|
| | | } else if(this.type === 'batchImportApply') {
|
| | | if (this.type === "historyImport" || this.type === "batchApplyCode") {
|
| | | return {
|
| | | codeClassifyOid: this.codeClassifyOid,
|
| | | secDTOList: this.secDTOList,
|
| | | ...this.codeApplyForm
|
| | | }
|
| | | classifyAttr: this.classifyAttr,
|
| | | };
|
| | | } else if (this.type === "batchImportApply") {
|
| | | // eslint-disable-next-line vue/no-side-effects-in-computed-properties
|
| | | this.secDTOList = this.localSecVOList.map((item) => {
|
| | | return {
|
| | | secOid: item.oid,
|
| | | secValue: this.codeApplyForm[item.oid],
|
| | | };
|
| | | });
|
| | | return {
|
| | | codeClassifyOid: this.codeClassifyOid,
|
| | | secDTOList: JSON.stringify(this.secDTOList),
|
| | | ...this.codeApplyForm,
|
| | | };
|
| | | }
|
| | | }
|
| | | },
|
| | | },
|
| | | data() {
|
| | | return {
|
| | |
| | | leftTree: [],
|
| | | redisOid: "",
|
| | | pageLoading: null,
|
| | | showCodeApply: false,
|
| | | currentTypeObj: {
|
| | | historyImport: {
|
| | | title: "历史数据导入",
|
| | |
| | | ],
|
| | | action: "/api/ubcs-code/mdmEngineController/batchImportHistoryData",
|
| | | downloadTemplateFun: downloadHistoryImportTemplate,
|
| | | upParams: 'classifyAttr'
|
| | | upParams: "classifyAttr",
|
| | | },
|
| | | batchImportApply: {
|
| | | title: "批量申请编码",
|
| | |
| | | ],
|
| | | action: "/api/ubcs-code/mdmEngineController/batchImportCode",
|
| | | downloadTemplateFun: downloadBatchImportApplyTemplate,
|
| | | upParams: false
|
| | | }
|
| | | upParams: "codeApply",
|
| | | },
|
| | | batchApplyCode: {
|
| | | title: "批量申请编码",
|
| | | tipList: [
|
| | | "1.标题带五角星的表示关键属性,带星号表示必输项",
|
| | | "2.分类的路径需要用#分隔。从当前选择分类节点的下级开始填写,直到最末尾节点,如 产品#主机产品#主机产品",
|
| | | ],
|
| | | action: "/api/ubcs-code/mdmEngineController/batchTopImportCode",
|
| | | downloadTemplateFun: downloadBatchApplyCodeTemplate,
|
| | | upParams: "classifyAttr",
|
| | | },
|
| | | },
|
| | | secDTOList: [],
|
| | | };
|
| | | },
|
| | | methods: {
|
| | | async beforeUpload(file) {
|
| | | console.log(223344);
|
| | | const fileType = file.name.split(".").pop();
|
| | | if (fileType !== "xlsx" && fileType !== "xls") {
|
| | | // 上传格式不符合要求,提示错误信息并取消上传
|
| | | this.$message.error("只允许上传xlsx、xls格式的文件");
|
| | | return Promise.reject(false)
|
| | | return Promise.reject(false);
|
| | | }
|
| | | if (this.type === 'batchImportApply') {
|
| | | const flag = await this.$refs.CodeApply.validate()
|
| | | if (this.type === "batchImportApply" && this.showCodeApply) {
|
| | | const flag = await this.$refs.CodeApply.validate();
|
| | | if (!flag) {
|
| | | return Promise.reject(false)
|
| | | return Promise.reject(false);
|
| | | }
|
| | | }
|
| | | this.pageLoading = this.$loading({
|
| | | lock: true,
|
| | | text: "文件上传中",
|
| | | spinner: "el-icon-loading",
|
| | | background: "rgba(0, 0, 0, 0.7)",
|
| | | });
|
| | | return true;
|
| | | },
|
| | | // 下载导入模板
|
| | |
| | | });
|
| | | },
|
| | | onSuccess(res) {
|
| | | let fileName = res.data.filePath.split("/").pop();
|
| | | if (Object.keys(res.data).length === 0) {
|
| | | this.$message.success(this.title + "导入成功!");
|
| | | this.dialogVisible = false;
|
| | | return;
|
| | | }
|
| | | if (res.data.fileOid) {
|
| | | const fileName = res.data.filePath.split("/").pop();
|
| | | this.$message.error("请下载错误信息文件进行查看!");
|
| | | downloadErrorFile({ uuid: res.data.fileOid }).then((res2) => {
|
| | | this.$utilFunc.downloadFileByBlob(res2.data, fileName);
|
| | |
| | | }
|
| | | if (res.data.redisUuid) {
|
| | | this.redisOid = res.data.redisUuid;
|
| | | getHistoryLeftTree(res.data.redisUuid).then((res) => {
|
| | | this.leftTree = res.obj.map((item) => {
|
| | | return {
|
| | | importDataShow(res.data.redisUuid).then((res2) => {
|
| | | this.leftTree = res2.data.data.map((item) => {
|
| | | if (this.type === 'batchApplyCode') {
|
| | | return {
|
| | | cloNamesList: item.cloNamesList,
|
| | | oid: item.codeTemplateOid,
|
| | | codeClassifyOid: item.codeClassifyOid,
|
| | | codeRuleOid: item.codeRuleOid,
|
| | | name: item.codeRuleVO.name
|
| | | }
|
| | | } else {
|
| | | return {
|
| | | ...item.codeClassifyTemplateVO,
|
| | | cloNamesList: item.cloNamesList,
|
| | | codeClassifyOid: item.codeClassifyTemplateVO.codeclassifyoid
|
| | | };
|
| | | }
|
| | | });
|
| | | this.showVisible = true;
|
| | | });
|
| | | }
|
| | | },
|
| | | onError(err) {
|
| | | console.log(err, "err");
|
| | | this.pageLoading.close();
|
| | | },
|
| | | uploadChange(file) {
|
| | | if (file.status === "uploadin") {
|
| | | this.pageLoading = this.$loading({
|
| | | lock: true,
|
| | | text: "文件上传中",
|
| | | spinner: "el-icon-loading",
|
| | | background: "rgba(0, 0, 0, 0.7)",
|
| | | });
|
| | | }
|
| | | if (file.status === "success" || file.status === "error") {
|
| | | this.pageLoading.close();
|
| | | }
|
| | | },
|
| | | },
|
| | | watch: {
|
| | | },
|
| | | watch: {},
|
| | | };
|
| | | </script>
|
| | |
|