| | |
| | | }) |
| | | } |
| | | |
| | | export const importClassify = (data) =>{ |
| | | return request({ |
| | | url:'/api/ubcs-code/codeClassify/importClassify', |
| | | method: 'post', |
| | | data:data |
| | | }) |
| | | } |
| | | |
| | | |
| | | //主键获取分类模板属性 |
| | | export const gridCodeClassifyTemplate = (params) =>{ |
| | |
| | | } |
| | | }) |
| | | } |
| | | |
| | | //导入 |
| | | export const importClassify = (data) =>{ |
| | | return request({ |
| | | url:'/api/ubcs-code/codeClassify/importClassify', |
| | | method: 'post', |
| | | data:data |
| | | }) |
| | | } |
| | | //主题库导入下载错误信息 |
| | | export const downloadErrorFile = (params) =>{ |
| | | return request({ |
| | | url:'/api/ubcs-code/codeClassify/downloadErrorFile', |
| | | method: 'get', |
| | | responseType: 'blob', |
| | | params:{ |
| | | ...params |
| | | } |
| | | }) |
| | | } |
| | | //下载模板 |
| | | export const downloadBatchImportApplyTemplate = (params) => { |
| | | return request({ |
| | | url: '/api/ubcs-code/mdmEngineController/downloadImportExcel', |
| | | method: 'get', |
| | | params, |
| | | responseType: 'blob' |
| | | }) |
| | | } |
| | | |
| | | |
| | |
| | | });
|
| | | },
|
| | | onSuccess(res) {
|
| | | console.log('res',res) |
| | | if (Object.keys(res.data).length === 0) {
|
| | | this.$message.success(this.title + "导入成功!");
|
| | | this.dialogVisible = false;
|
| | |
| | | const fileName = res.data.filePath.split("/").pop();
|
| | | this.$message.error("请下载错误信息文件进行查看!");
|
| | | downloadErrorFile({ uuid: res.data.fileOid }).then((res2) => {
|
| | | console.log('res2',res2) |
| | | this.$utilFunc.downloadFileByBlob(res2.data, fileName);
|
| | | });
|
| | | }
|
| | |
| | | exportCode({ codeClassifyOid: this.codeClassifyOid, ...this.exportArr, limit: this.limit, page: start, endPage: end }).then((res) => { |
| | | // console.log('res',res) |
| | | if (res) { |
| | | func.downloadFileByBlob(res); |
| | | func.downloadFileByBlobHandler(res); |
| | | this.escHandler() |
| | | } |
| | | }); |
| | |
| | | <div style="display: flex; margin-top: 10px"> |
| | | <el-button plain size="small" type="primary" @click="Enable">启用</el-button> |
| | | <el-button plain size="small" type="primary" @click="Deactivate">停用</el-button> |
| | | <el-button plain size="small" type="primary" @click="ImportExcel">导入</el-button> |
| | | <el-button plain size="small" type="primary" @click.native="ImportExcel">导入</el-button> |
| | | <el-button plain size="small" type="primary" @click="ExportExcel">导出</el-button> |
| | | </div> |
| | | </div> |
| | |
| | | </div> |
| | | </div> |
| | | </el-dialog> |
| | | <ThemeImport :visible.sync="ThemeImportVisible"></ThemeImport> |
| | | <ThemeImport :visible.sync="ThemeImportVisible" :codeClassifyOid="this.codeClassifyOid"></ThemeImport> |
| | | </basic-container> |
| | | </el-main> |
| | | </el-container> |
| | |
| | | label: '', |
| | | prop: 'radio', |
| | | width: 60, |
| | | hide: false, |
| | | display: false |
| | | }, |
| | | { |
| | | label: "模板编号", |
| | |
| | | methods: { |
| | | /** 导入 */ |
| | | ImportExcel(){ |
| | | // debugger |
| | | // this.batchImportData.visible = true |
| | | // this.batchImportData.codeClassifyOid = this.codeClassifyOid |
| | | this.ThemeImportVisible=true; |
| | | console.log('ThemeImportVisible',this.ThemeImportVisible) |
| | | }, |
| | | /** 导出 */ |
| | | ExportExcel(){ |
| | |
| | | <template> |
| | | <el-dialog |
| | | title="主题库导入" |
| | | title="主题库分类导入" |
| | | :visible.sync="dialogVisible" |
| | | append-to-body |
| | | v-dialogDrag |
| | | ></el-dialog> |
| | | > |
| | | <Divider text="导入提示" left="30px"></Divider> |
| | | <ul> |
| | | <li> |
| | | 1.红色字体表示必输项 |
| | | </li> |
| | | <li> |
| | | 2.分类的路径需要用#分隔 |
| | | </li> |
| | | <li> |
| | | 3.每次仅能最多导入10000条数据 |
| | | </li> |
| | | </ul> |
| | | <Divider text="excel文件,选择文件后会自动上传" left="30px"></Divider> |
| | | <el-upload |
| | | accept=".xlsx, .xls" |
| | | action="/api/ubcs-code/codeClassify/importClassify" |
| | | :on-success="onSuccess" |
| | | :on-error="onError" |
| | | :headers="uploadHeaders" |
| | | :show-file-list="false" |
| | | :before-upload="beforeUpload" |
| | | :on-change="uploadChange" |
| | | class="upload-demo"> |
| | | <el-button size="small" type="primary" style="margin: 15px 35px">浏览文件</el-button> |
| | | </el-upload> |
| | | <template #footer> |
| | | <el-button |
| | | type="primary" |
| | | size="small" |
| | | @click="downloadTemplateFun" |
| | | :loading="downloadLoading" |
| | | >下载导入模板</el-button |
| | | > |
| | | <el-button size="small" @click="dialogVisible = false">关闭</el-button> |
| | | </template> |
| | | </el-dialog> |
| | | </template> |
| | | |
| | | <script> |
| | | import {downloadErrorFile,downloadBatchImportApplyTemplate} from '@/api/template/templateAttr' |
| | | import {getToken} from "@/util/auth"; |
| | | import func from "@/util/func"; |
| | | export default { |
| | | name: "ThemeImport", |
| | | props:{ |
| | | dialogVisible: { |
| | | get() { |
| | | return this.dialogVisible; |
| | | visible: { |
| | | type: Boolean, |
| | | default: false, |
| | | }, |
| | | set(val) { |
| | | this.$emit("update:dialogVisible", val); |
| | | }, |
| | | codeClassifyOid: { |
| | | type: String, |
| | | default: "", |
| | | }, |
| | | }, |
| | | data(){ |
| | | return{ |
| | | |
| | | flga:true, |
| | | pageLoading: null, |
| | | downloadLoading: false, |
| | | } |
| | | }, |
| | | watch:{ |
| | | visible:{ |
| | | handler(newval,oldval){ |
| | | console.log('newval',newval) |
| | | } |
| | | } |
| | | }, |
| | | computed:{ |
| | | uploadHeaders() { |
| | | return { |
| | | "Blade-Auth": "bearer " + getToken(), |
| | | }; |
| | | }, |
| | | dialogVisible: { |
| | | get() { |
| | | return this.visible; |
| | | }, |
| | | set(val) { |
| | | this.$emit("update:visible", val); |
| | | }, |
| | | }, |
| | | }, |
| | | methods:{ |
| | | //文件上传前 |
| | | async beforeUpload(file) { |
| | | const fileType = file.name.split(".").pop(); |
| | | if (fileType !== "xlsx" && fileType !== "xls") { |
| | | // 上传格式不符合要求,提示错误信息并取消上传 |
| | | this.$message.error("只允许上传xlsx、xls格式的文件"); |
| | | 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(resbonse){ |
| | | if (Object.keys(resbonse.data).length === 0) { |
| | | this.$message.success( "主题库分类导入成功!"); |
| | | this.dialogVisible = false; |
| | | return; |
| | | } |
| | | if (resbonse.data.fileOid) { |
| | | const fileName = resbonse.data.filePath.split("/").pop(); |
| | | this.$message.error("请下载错误信息文件进行查看!"); |
| | | downloadErrorFile({ uuid: resbonse.data.fileOid }).then((res) => { |
| | | func.downloadFileByBlobHandler(res); |
| | | }); |
| | | } |
| | | }, |
| | | //点击下载模板 |
| | | downloadTemplateFun(){ |
| | | this.downloadLoading = true; |
| | | downloadBatchImportApplyTemplate({codeClassifyOid: this.codeClassifyOid}).then(res=>{ |
| | | console.log(res) |
| | | this.$utilFunc.downloadFileByBlob(res.data, "主题库分类模板.xls"); |
| | | this.downloadLoading = false; |
| | | }).catch((res)=>{ |
| | | this.$message.warning(res) |
| | | this.downloadLoading = false; |
| | | }) |
| | | }, |
| | | //文件上传失败 |
| | | onError(res){ |
| | | console.log(res) |
| | | this.pageLoading.close(); |
| | | }, |
| | | //文件状态改变 |
| | | uploadChange(file){ |
| | | if (file.status === "success" || file.status === "error") { |
| | | this.pageLoading.close(); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style scoped> |
| | | |
| | | <style scoped lang="scss"> |
| | | ul { |
| | | color: rgb(188, 188, 188); |
| | | margin: 20px 0 20px 0; |
| | | padding: 0 0 0 30px; |
| | | list-style: none; |
| | | li { |
| | | margin-bottom: 5px; |
| | | font-size: 13px; |
| | | } |
| | | } |
| | | </style> |
| | |
| | | download(data).then(res=>{ |
| | | // console.log(res); |
| | | if(res){ |
| | | func.downloadFileByBlob(res); |
| | | func.downloadFileByBlobHandler(res); |
| | | } |
| | | }); |
| | | }, |
| | |
| | | * @param value |
| | | * @returns {Boolean} |
| | | */ |
| | | static downloadFileByBlob(res) { |
| | | static downloadFileByBlobHandler(res) { |
| | | const fileNames = res.headers['content-disposition'].split(";"); |
| | | let characterSet = fileNames[2].split("filename*=")[1]; |
| | | let fileName = decodeURI(fileNames[1].split("filename=")[1],characterSet); // 下载的文件名 |
| | |
| | | document.body.removeChild(link); //删除下载 |
| | | window.URL.revokeObjectURL(url); //释放掉blob对象 |
| | | } |
| | | |
| | | /** |
| | | * 获取流文件进行文件下 |
| | | * @param value |
| | | * @returns {Boolean} |
| | | */ |
| | | static downloadFileByBlob(blobData, name) { |
| | | const url = URL.createObjectURL(blobData); // 生成下载链接 |
| | | const link = document.createElement("a"); |
| | | link.href = url; |
| | | link.download = name; // 指定文件名和格式 |
| | | document.body.appendChild(link); // 添加下载链接到页面 |
| | | link.click(); // 触发下载 |
| | | document.body.removeChild(link); //删除下载 |
| | | } |
| | | |
| | | } |
| | |
| | | //本地服务接口地址 |
| | | // target: 'http://localhost:37000', |
| | | // target: 'http://192.168.1.51:37000', |
| | | // target: 'http://192.168.0.102:37000', |
| | | target: 'http://dev.vci-tech.com:37000', |
| | | target: 'http://192.168.0.102:37000', |
| | | // target: 'http://dev.vci-tech.com:37000', |
| | | // target: 'http://192.168.1.104:37000', |
| | | // target: 'http://192.168.1.63:37000', |
| | | // target: 'http://192.168.3.7:37000', |