提交 abdd6e16 编写于 作者: zhentian.jia's avatar zhentian.jia

文件上传导入问题

上级 fc8769d4
......@@ -2,7 +2,7 @@ import fetch from '../fetch';
import { getBaseUrl } from '@/utils/index';
export const uploadExcel = (data,projectId) => {
export const uploadExcel = (data, projectId) => {
// return utils.checkAuth(()=>{
return fetch({
headers: {
......@@ -10,10 +10,40 @@ export const uploadExcel = (data,projectId) => {
sysCode: 12,
token: localStorage.getItem('storageToken'),
},
url: getBaseUrl('portal/v2/role/importRoleFile?projectId='+projectId),
url: getBaseUrl('portal/v2/role/importRoleFile?projectId=' + projectId),
method: 'post',
data: data,
description: '上传excel文件',
})
// })
}
export const uploadOrgExcel = (data, projectId) => {
// return utils.checkAuth(()=>{
return fetch({
headers: {
'Content-Type': 'application/json;charset=UTF-8',
sysCode: 12,
token: localStorage.getItem('storageToken'),
},
url: getBaseUrl('portal/new/scope/org/v1/' + projectId + '/import'),
method: 'put',
data: data,
description: '上传excel文件',
})
// })
}
export const uploadPersonExcel = (data, projectId) => {
// return utils.checkAuth(()=>{
return fetch({
headers: {
'Content-Type': 'application/json;charset=UTF-8',
sysCode: 12,
token: localStorage.getItem('storageToken'),
},
url: getBaseUrl('portal/new/scope/doctor/v1/' + projectId + '/import'),
method: 'put',
data: data,
description: '上传excel文件',
})
// })
}
\ No newline at end of file
......@@ -630,7 +630,7 @@
:before-upload="uploadOrganization"
>
<el-button class="down-button-close" slot="tip" size="small" @click="dialogUpload = false">取消</el-button>
<el-button type="primary" size="small">继续导入</el-button>
<el-button @click="closeUpload()" type="primary" size="small">继续导入</el-button>
</el-upload>
<el-upload
v-if="activeName == 'fourth'"
......@@ -641,7 +641,7 @@
:before-upload="uploadPerson"
>
<el-button class="down-button-close" slot="tip" size="small" @click="dialogUpload = false">取消</el-button>
<el-button type="primary" size="small">继续导入</el-button>
<el-button @click="closeUpload()" type="primary" size="small">继续导入</el-button>
</el-upload>
</span>
</el-dialog>
......@@ -675,6 +675,7 @@
</div>
<span slot="footer" class="dialog-footer">
<el-upload
v-if="uploadType == 'org'"
class="upload-button"
action="#"
accept=".xlsx"
......@@ -690,6 +691,23 @@
@click="closeFail()"
>重新导入</el-button>
</el-upload>
<el-upload
v-if="uploadType == 'person'"
class="upload-button"
action="#"
accept=".xlsx"
multiple
:limit="1"
:before-upload="uploadPerson"
>
<el-button slot="tip" class="down-button-close" size="small" @click="dialogFail = false">取消</el-button>
<el-button
stype="position: absolute;top: -14px;"
type="primary"
size="small"
@click="closeFail()"
>重新导入</el-button>
</el-upload>
</span>
</el-dialog>
</div>
......@@ -848,6 +866,7 @@ import { openLoading, closeLoading } from "../../utils/utils";
import * as commonUtil from "../../utils/utils";
import * as operationData from "../../utils/operation";
import { getExeclUrl } from "@/utils/index";
import { uploadOrgExcel, uploadPersonExcel } from "@/utils/education/educationApi";
import Sortable from 'sortablejs'
let vm = null;
......@@ -1072,7 +1091,9 @@ export default {
dialogSuccess: false,
failType: 2,
failNum: 0,
failExcelUrl: '',
dialogFail: false,
uploadType: '',
props: {
lazy: true,
lazyLoad(node, resolve) {
......@@ -3428,11 +3449,111 @@ export default {
closeFail() {
vm.dialogFail = false;
},
closeUpload() {
vm.dialogUpload = false;
},
setDialog(res) {
if (res.code == "000000") {
if (res.data.success == true) {
//导入成功
vm.dialogSuccess = true;
vm.updateNum = res.data.total;
if(vm.uploadType == 'org') {
vm.searchOrganization();
}else {
vm.searchPeople();
}
} else {
if (res.data.outCount == true) {
//导入数据超5000
vm.failType = 1;
vm.dialogFail = true;
vm.failNum = res.data.total;
vm.failExcelUrl = res.data.url;
} else {
//导入失败
// setTimeout(function() {
vm.failType = 2;
vm.dialogFail = true;
vm.failNum = res.data.total;
vm.failExcelUrl = res.data.url;
// }, 800);
}
}
} else {
//接口失败
vm.$message.error(res.message);
}
},
uploadOrganization(file) {
vm.dialogFail = false;
vm.uploadType = 'org';
console.log(file);
let arr = file.type.split("/");
let ext = "." + arr[1];
let name = file.name;
let reader = new FileReader();
reader.onload = function(e) {
let fileJson = {
fileName: file.name,
file: e.target.result.substr(e.target.result.indexOf("base64,") + 7),
ext: ext
};
let fileArray = [
{
type: "",
base64: fileJson
}
];
let req = {
fileArray: fileArray,
scopeOfAdministrative: vm.getScope("administrative"),
};
let projectId = vm.projectId;
console.log("req", req);
let reqStr = JSON.stringify(req);
openLoading(vm);
uploadOrgExcel(reqStr, projectId).then(res => {
closeLoading(vm);
vm.setDialog(res);
});
};
reader.readAsDataURL(file);
},
uploadPerson(file) {
console.log(file);
vm.dialogFail = false;
vm.uploadType = 'person';
let arr = file.type.split("/");
let ext = "." + arr[1];
let name = file.name;
let reader = new FileReader();
reader.onload = function(e) {
let fileJson = {
fileName: file.name,
file: e.target.result.substr(e.target.result.indexOf("base64,") + 7),
ext: ext
};
let fileArray = [
{
type: "",
base64: fileJson
}
];
let req = {
fileArray: fileArray,
scopeOfAdministrative: vm.getScope("administrative"),
scopeOfDepartment: vm.getScopeDepartment(),
};
let projectId = vm.projectId;
console.log("req", req);
let reqStr = JSON.stringify(req);
openLoading(vm);
uploadPersonExcel(reqStr, projectId).then(res => {
closeLoading(vm);
vm.setDialog(res);
});
};
reader.readAsDataURL(file);
},
download(type) {
let downloadUrl = "";
......@@ -3444,7 +3565,9 @@ export default {
downloadUrl = getExeclUrl(
"%E6%95%99%E5%9F%B9%E9%A1%B9%E7%9B%AE%E8%A7%92%E8%89%B2%E5%AF%BC%E5%85%A5%E6%A8%A1%E6%9D%BF.xlsx"
);
}
} else if (type == "fail") {
downloadUrl = vm.failExcelUrl;
}
setTimeout(() => {
window.open(downloadUrl);
}, 500);
......@@ -3768,12 +3891,6 @@ export default {
.el-tree-node__expand-icon {
display: none;
}
.el-table__header-wrapper {
.el-checkbox__inner {
//display: none;
//visibility: hidden;
}
}
.department {
margin-top: 20px;
border: 1px solid #dddddd;
......
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册