Commit 0e19d11e authored by 仇晓婷's avatar 仇晓婷

Merge branch 'master' of http://git.mes123.com/zhouyx/mes-ui

parents c25fd74e c0b6424e
......@@ -21,9 +21,7 @@ ul,
li {
list-style: none;
}
.ivu-drawer-wrap{
z-index: 12000;
}
div::-webkit-scrollbar {
width: 10px;
height: 10px;
......
......@@ -23,6 +23,9 @@
background-color: @primary-color;
border-color: @primary-color;
}
.ivu-drawer-wrap,.tree-drawer{
z-index: 12000;
}
.ivu-btn-group:not(.ivu-btn-group-vertical) .ivu-btn-primary:first-child:not(:last-child) {
border-right-color: @primary-color;
......
......@@ -39,7 +39,7 @@
<Table :border="true" :columns="columnsImport" :data="excelData" :height="tdHeightExcel" :no-data-text="noDataText" ref="table" class="tableCommon" v-if="tableImport"></Table>
<component :is="detailExcel" ref="comExcel" @on-datalength="datalength" />
</div>
<FooterToolbar v-if="sheetNames.length>1&&tableImport">
<FooterToolbar v-if="sheetNames.length>1&&tableImport" class="footer">
<Form inline>
<FormItem>
<Tabs :animated="false" :value="0" @on-click="sheetClick">
......@@ -79,11 +79,10 @@ export default {
tableImport: true,
tdHeightExcel: "",
excelData: [],
excelDataBack: [], //临时存储原始数据
excelDataBack: [], //临时存储原始数据,
formatList: ["xlsx"],
columnsImport: [],
departArr: [], //部门list
usersArr: [],
sheetNames: [], //excel的表明
workBook: {},
openDatas: [],
......@@ -105,7 +104,7 @@ export default {
props: {
eid: Number,
data: {
// 当作table使用,直接显示数据
// 当作table使用,直接显示数据,数据里不能用英文逗号',',因为将excel转为数据后是用','分解的
type: Array,
default: function () {
return [];
......@@ -131,12 +130,6 @@ export default {
this.$api.get(`${systemUrl}/Department/GetDepartments`).then((r) => {
this.departArr = r.result.items;
});
this.$api.get(`${systemUrl}/user/getuserlist`)
.then((r) => {
if (r.success) {
this.usersArr = r.result
}
})
//导出对列表头进行预加载end
},
async fetch({
......@@ -279,25 +272,28 @@ export default {
//人员名称转换为userid,如果查不到此人员,则为空
arrUseName.forEach((euser) => {
if (eles[euser.key] && eles[euser.key] != "" && eles[euser.key] != null) {
this.usersArr.forEach(eluser => {
if (eles[euser.key] == eluser.name) {
eles[euser.key] = eluser.id
if (this.$store.state.userNameMap.get(eles[euser.key])) {
eles[euser.key] = this.$store.state.userNameMap.get(eles[euser.key]).id
} else {
eles[euser.key] = null
}
})
}
});
//多个名称转换为数组
arrUseNames.forEach((eusers) => {
if (eles[eusers.key] && eles[eusers.key] != "" && eles[eusers.key] != null) {
let arruserstemp = this.$u.clone(eles[eusers.key].split(',') || eles[eusers.key].split(','))
var arruserstemp = []
if (eles[eusers.key].indexOf(',') > -1) {
arruserstemp = eles[eusers.key].split(',')
} else {
arruserstemp = [eles[eusers.key]]
}
let tempUserIds = []
arruserstemp.forEach(eltempUsers => {
this.usersArr.forEach(elusers => {
if (eltempUsers == elusers.name) {
tempUserIds.push(elusers.id)
if (this.$store.state.userNameMap.get(eltempUsers)) {
tempUserIds.push(this.$store.state.userNameMap.get(eltempUsers).id)
}
})
})
eles[eusers.key] = tempUserIds
}
......@@ -567,5 +563,17 @@ export default {
text-align: right;
}
}
.footer {
.ivu-tabs-tab {
color: #aaa;
}
.ivu-tabs-tab-active,
.ivu-tabs-tab-focused {
color: #fff;
}
}
}
</style>
This diff is collapsed.
......@@ -51,7 +51,7 @@
<Button @click="complexSearch" type="primary" style="margin-left: 10px">查询</Button>
</div>
</Modal>
<Drawer title="列设置" v-if="set" v-model="config" :scrollable="true" placement="left" :mask="false">
<Drawer title="列设置" v-if="set" v-model="config" :scrollable="true" placement="left" :mask="false" class-name="tree-drawer">
<div slot="header">
列设置
<a @click="undoConfig" class="ml50">
......
<template>
<div>
<Select
:placeholder="placeholder"
v-model="name"
......@@ -7,7 +6,6 @@
:multiple="multiple"
clearable
filterable
transfer
>
<Option
v-for="item in users"
......@@ -30,7 +28,6 @@
</div>
</Option>
</Select>
</div>
</template>
<script>
......
import XLSX from 'xlsx';
import Api from '@/plugins/request'
let henq = {};
let pdfInfo = ''
henq.clone = (data)=> {
......@@ -133,7 +132,7 @@ henq.toTree = (list, rootId, format, parentFiledName) => {
function toTree(data, parentId, level) {
let parents = data.filter(u => {
if(u[upId]=='')
if(u[upId]==='')
{
u[upId]=null
}
......@@ -349,6 +348,7 @@ henq.dirName = (code, v) => {
items = code[0].name
}
return items
}
//得到根据name得到对应数据字典的code
henq.dirCode = (code, v) => {
......@@ -628,6 +628,122 @@ henq.getCurMonth = (val) => {
}
return m_year + '-' + m_month
}
//获取当天、明天、昨天、本周、上周、本月、上月的日期 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;
......@@ -26,6 +26,9 @@ export default {
}
});
},
batch(ids) {
return Api.post(`${material}/projectplan/batchdelete`,ids);
},
///projecttemplate/list
templates(params){
return Api.post(`${material}/projecttemplate/list`,params)
......
......@@ -142,7 +142,7 @@ export default {
}).then((r) => {
if (r.success) {
this.$Message.success("导入成功");
this.$emit("on-load");
this.$emit("on-ok");
}
});
},
......
This diff is collapsed.
......@@ -5,6 +5,7 @@ export const state = () => ({
counter: 0,
dictionary: new Map(), //所有字典项
userMap: new Map(), //所有用户缓存;
userNameMap: new Map(), //所有用户名称缓存;
departmentsMap: new Map(), //部门缓存;
userInfo: {
userId: 0,
......@@ -69,6 +70,9 @@ export const mutations = {
setUsers(state, users) {
state.userMap = users;
},
setUserNames(state, usersNames) {
state.userNameMap = usersNames;
},
addUser(state, user) {
state.userMap.push(user);
},
......@@ -178,10 +182,14 @@ export const actions = {
let r = await Api.get(`${systemUrl}/user/getuserlist`);
var umap = new Map();
var unamemap=new Map();
r.result.map(u => {
umap.set(u.id, u);
unamemap.set(u.name,u)
});
commit("setUsers", umap);
commit("setUserNames", unamemap);
},
async loadDepartments({
commit
......
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