Commit 682131a8 authored by renjintao's avatar renjintao

henq plan

parent 96de0e7d
import XLSX from 'xlsx'; import XLSX from 'xlsx';
import Api from '@/plugins/request'
let henq = {}; let henq = {};
let pdfInfo = '' let pdfInfo = ''
henq.clone = (data)=> { henq.clone = (data)=> {
...@@ -337,18 +336,19 @@ henq.readXLSX = (file) => { ...@@ -337,18 +336,19 @@ henq.readXLSX = (file) => {
} }
//得到根据value得到对应数据字典的name //得到根据value得到对应数据字典的name
henq.dirName = (code, v) => { henq.dirName = (code, v) => {
var items = "" var items = ""
let i = 0 let i = 0
code.forEach(ele => { code.forEach(ele => {
if (ele.code == v) { if (ele.code == v) {
items = ele.name items = ele.name
i++ i++
}
});
if (i == 0) { //如果没查到对应的name,则返回默认name
items = code[0].name
} }
}); return items
if (i == 0) { //如果没查到对应的name,则返回默认name
items = code[0].name
}
return items
} }
//得到根据name得到对应数据字典的code //得到根据name得到对应数据字典的code
henq.dirCode = (code, v) => { henq.dirCode = (code, v) => {
...@@ -628,6 +628,122 @@ henq.getCurMonth = (val) => { ...@@ -628,6 +628,122 @@ henq.getCurMonth = (val) => {
} }
return m_year + '-' + m_month return m_year + '-' + m_month
} }
//获取当天、明天、昨天、本周、上周、本月、上月的日期 end //获取当天、明天、昨天、本周、上周、本月、上月的日期 end
//导出excel
henq.export2excel=(exTitle,columns,datalist,store)=>{
//当前显示数据
let list = henq.clone(datalist);
const tHeader = []; // 设置Excel的表格第一行的标题
const filterVal = []; //list里对象的属性
var tempCol = [];
var tempColUser = []; //存放type=user的表头
var tempColUsers = []; //存放type=users的表头
var columnsCur = henq.clone(columns); //导出列标题信息griddata this.$refs.grid.columnsCur
columnsCur.forEach((el) => {
if (el.export) {
if (el.code) {
tempCol.push({
key: el.key,
code: el.code,
}); //临时存放code数据字典的字段及对应的数据字典code
}
if (el.type && el.type == "user") {
tempColUser.push({
key: el.key,
code: el.type,
}); //临时存放user列
}
if (el.type && el.type == "users") {
tempColUsers.push({
key: el.key,
code: el.type,
}); //临时存放user列
}
tHeader.push(el.title);
filterVal.push(el.key);
}
});
list.forEach((e) => {
tempCol.forEach((elem) => {
if (
(e[elem.key] && e[elem.key] != "" && e[elem.key] != null) ||
e[elem.key] == 0
) {
//如果数据字典项对应的DirName字段存在,通过name查询到对应的code,然后赋值。
let codeArr = [];
let keyValue = e[elem.key];
if (
keyValue.length > 0 &&
(keyValue.indexOf(",") > -1 || keyValue.indexOf(",") > -1)
) {
//如果对应的数据包含多个数据字典项,比如包含“,”或“,”
if (keyValue.indexOf(",") > -1) {
codeArr = keyValue.split(",");
}
if (keyValue.indexOf > -1) {
codeArr = keyValue.split(",");
}
}
if (codeArr.length <= 1) {
//对应的数据包含一个数据字典项
e[elem.key] = henq.dirName(store.getters.dictionaryByKey(elem.code),e[elem.key]);
} else {
//对应的数据包含多个数据字典项
let codeInfo = "";
codeArr.forEach((el) => {
codeInfo =
codeInfo +
henq.dirName(
store.getters.dictionaryByKey(elem.code),
el
) +
",";
});
e[elem.key] = codeInfo.substr(0, codeInfo.length - 1);
}
}
});
//导出username相关信息
tempColUser.forEach((eluser) => {
if (Array.isArray(e[eluser.key]) && e[eluser.key].length > 0) {
let temUsers = henq.clone(e[eluser.key]);
let temUserName = "";
temUsers.forEach((u) => {
temUserName = temUserName + store.getters.getUser(u).name;
});
e[eluser.key] = temUserName;
}
if (
e[eluser.key] &&
typeof e[eluser.key] == "string" &&
e[eluser.key] != "" &&
e[eluser.key] != null
) {
e[eluser.key] = store.getters.getUser(e[eluser.key]).name;
}
});
tempColUsers.forEach((elusers) => {
if (e[elusers.key].length > 0) {
let temUsers = henq.clone(e[elusers.key]);
let temUserName = "";
temUsers.forEach((u) => {
temUserName = temUserName + store.getters.getUser(u).name + ",";
});
e[elusers.key] = temUserName.substr(0, temUserName.length - 1);
}
});
});
let nowDate = henq.getNowTime(); //年月日时分秒yyyyMMddhhmmss
//获取导出数据结束
henq.outExcel(
exTitle + "(" + nowDate + ")",
tHeader,
filterVal,
list
);
}
export default henq; export default henq;
...@@ -83,6 +83,7 @@ export default { ...@@ -83,6 +83,7 @@ export default {
detail: null, detail: null,
curId: null, curId: null,
list: [], list: [],
rootList: [],
columns: [{ columns: [{
key: "drag", key: "drag",
type: "drag", type: "drag",
...@@ -284,6 +285,7 @@ export default { ...@@ -284,6 +285,7 @@ export default {
}; };
Api.list(params).then((r) => { Api.list(params).then((r) => {
let res = r.result; let res = r.result;
this.rootList = this.$u.clone(r.result)
var data = this.$u.toTree( var data = this.$u.toTree(
res, res,
null, null,
...@@ -395,7 +397,8 @@ export default { ...@@ -395,7 +397,8 @@ export default {
//导出excel //导出excel
if (name == 'down') { if (name == 'down') {
this.exportTl = '项目目录-' + this.data.title; this.exportTl = '项目目录-' + this.data.title;
this.$refs.grid.export2Excel() // this.$refs.grid.export2Excel()
this.$u.export2excel(this.exportTl, this.columns, this.list)
} }
if (name == 'importExcel') { if (name == 'importExcel') {
this.openModalIm() this.openModalIm()
...@@ -421,7 +424,8 @@ export default { ...@@ -421,7 +424,8 @@ export default {
}, },
down() { down() {
this.exportTl = '项目目录-' + this.data.title; this.exportTl = '项目目录-' + this.data.title;
this.$refs.grid.export2Excel() this.$u.export2excel(this.exportTl, this.columns, this.rootList, this.$store)
//this.$refs.grid.export2Excel()
}, },
importExcel() { importExcel() {
this.openModalIm() this.openModalIm()
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment