提交 125a54c7 authored 作者: 黄志强's avatar 黄志强

修改

上级 6159e473
...@@ -495,3 +495,26 @@ ...@@ -495,3 +495,26 @@
border-bottom-color: #C0C4CC; border-bottom-color: #C0C4CC;
} }
.el-tag {
background-color: #f3fdff;
border-color: #d9ecff;
font-size: 18px;
color: #5059D5;
}
.el-tooltip__popper.is-light {
font-size: 18px;
background: #FFF;
border: 1px solid #d1d1d1;/*no*/
box-shadow: 10px 10px 10px 1px #d1d1d1;
}
.el-select-dropdown.is-multiple .el-select-dropdown__item.selected {
color: #5059D5;
background-color: #FFF;
}
.el-tree-node__content>.el-tree-node__expand-icon {
padding: 6px;
margin-bottom:6px;
}
let baseUrl = "https://workbook.zjtys.com.cn:8289"; // 120.55.57.35 localhost 8289 let baseUrl = "http://192.168.1.12:8289"; // 120.55.57.35 localhost 8289
let env = process.env.VUE_APP_TITLE === 'alpha' ? 'alpha' : 'production'; let env = process.env.VUE_APP_TITLE === 'alpha' ? 'alpha' : 'production';
switch (env) { switch (env) {
case 'production': case 'production':
// baseUrl = "http://192.168.1.248:8090"; // 测试环境 // baseUrl = "http://192.168.1.248:8090"; // 测试环境
baseUrl = "https://workbook.zjtys.com.cn:8289"; // 测试环境 baseUrl = "http://192.168.1.12:8289"; // 测试环境
break; break;
case 'alpha': case 'alpha':
// baseUrl = "https://workbook.zjtys.com.cn"; // 阿里云环境 // baseUrl = "https://workbook.zjtys.com.cn"; // 阿里云环境
baseUrl = "https://workbook.zjtys.com.cn:8289"; // 阿里云环境 baseUrl = "http://192.168.1.12:8289"; // 阿里云环境
break; break;
} }
// https://workbook.zjtys.com.cn:8289 // https://workbook.zjtys.com.cn:8289
......
...@@ -291,8 +291,8 @@ const requests = { ...@@ -291,8 +291,8 @@ const requests = {
method: 'get' method: 'get'
}) })
}, },
putPassword(data) { // 修改密码 putPassword(id, data) { // 修改密码
return axios(ip + '/manage/user/password', { return axios(ip + '/manage/user/password/' + id, {
method: 'put', method: 'put',
data: data data: data
}) })
...@@ -420,6 +420,12 @@ const requests = { ...@@ -420,6 +420,12 @@ const requests = {
return axios(ip + '/attendance/approval/deleteWorkover/' + id, { return axios(ip + '/attendance/approval/deleteWorkover/' + id, {
method: 'delete' method: 'delete'
}) })
},
postLogData(data) {
return axios(ip + '/pas/log/findAllLogs', {
method: 'post',
data: data
})
} }
}; };
......
...@@ -168,6 +168,7 @@ ...@@ -168,6 +168,7 @@
line-height: 40px; line-height: 40px;
position: relative; position: relative;
font-size: 18px; font-size: 18px;
font-weight: bold;
margin-left: 0 !important; margin-left: 0 !important;
color: #19152c; color: #19152c;
} }
......
...@@ -215,6 +215,7 @@ ...@@ -215,6 +215,7 @@
line-height: 40px; line-height: 40px;
position: relative; position: relative;
font-size: 14px; font-size: 14px;
font-weight: bold;
margin-left: 0 !important; margin-left: 0 !important;
} }
......
...@@ -198,12 +198,16 @@ ...@@ -198,12 +198,16 @@
}, },
roleList: { roleList: {
handler(val) { handler(val) {
console.log(val) console.log(val);
val.forEach((v, i) => {
v.disabled = false;
})
this.roleLists = val; this.roleLists = val;
} }
}, },
editConsumer: { editConsumer: {
handler(editConsumer) { handler(editConsumer) {
console.log(editConsumer)
if (JSON.stringify(editConsumer) !== '{}') { if (JSON.stringify(editConsumer) !== '{}') {
let data = JSON.parse(JSON.stringify(editConsumer)); let data = JSON.parse(JSON.stringify(editConsumer));
let roles = []; let roles = [];
...@@ -234,6 +238,9 @@ ...@@ -234,6 +238,9 @@
this.createForm.email = ''; this.createForm.email = '';
this.createForm.entryTime = ''; this.createForm.entryTime = '';
this.createForm.roles = []; this.createForm.roles = [];
this.roleLists.forEach((v, i) => {
v.disabled = false;
})
this.$emit('close', val); this.$emit('close', val);
}, },
// selectChange(e){ // selectChange(e){
......
...@@ -37,7 +37,7 @@ ...@@ -37,7 +37,7 @@
export default { export default {
name: "departmentAddDialog", name: "departmentAddDialog",
//import引入的组件需要注入到对象中才能使用 //import引入的组件需要注入到对象中才能使用
props: ['showDepartmentDialog', 'currrentId'], props: ['showDepartmentDialog', 'currentId'],
components: {}, components: {},
data () { data () {
//这里存放数据 //这里存放数据
...@@ -65,7 +65,7 @@ ...@@ -65,7 +65,7 @@
immediate: true, immediate: true,
handler(showDepartmentDialog) { handler(showDepartmentDialog) {
this.dialogDepartmentAddVisible = showDepartmentDialog; this.dialogDepartmentAddVisible = showDepartmentDialog;
console.log(this.currrentId); console.log(this.currentId);
} }
}, },
}, },
...@@ -80,7 +80,7 @@ ...@@ -80,7 +80,7 @@
if (valid) { if (valid) {
console.log(this.departmentForm) console.log(this.departmentForm)
let data = JSON.parse(JSON.stringify(this.departmentForm)); let data = JSON.parse(JSON.stringify(this.departmentForm));
data.parentId = this.currrentId; data.parentId = this.currentId;
console.log(data) console.log(data)
this.$axios.postAddDepartment(data).then((res) => { this.$axios.postAddDepartment(data).then((res) => {
console.log(res); console.log(res);
...@@ -140,6 +140,7 @@ ...@@ -140,6 +140,7 @@
line-height: 40px; line-height: 40px;
position: relative; position: relative;
font-size: 14px; font-size: 14px;
font-weight: bold;
margin-left: 0 !important; margin-left: 0 !important;
} }
......
...@@ -151,6 +151,7 @@ ...@@ -151,6 +151,7 @@
line-height: 40px; line-height: 40px;
position: relative; position: relative;
font-size: 14px; font-size: 14px;
font-weight: bold;
margin-left: 0 !important; margin-left: 0 !important;
} }
......
...@@ -14,13 +14,13 @@ ...@@ -14,13 +14,13 @@
</span> </span>
</div> </div>
<div class="rightMenuDiv" style=""> <div class="rightMenuDiv" style="">
<span> <!--<span>-->
<img class="menuImgs" v-show="!showSearch" src="../assets/images/nav-top-ss.png" title="搜索" style="cursor: pointer;" @click="showSearch = true"/> <!--<img class="menuImgs" v-show="!showSearch" src="../assets/images/nav-top-ss.png" title="搜索" style="cursor: pointer;" @click="showSearch = true"/>-->
<div v-show="showSearch" class="div-search"> <!--<div v-show="showSearch" class="div-search">-->
<i class="search-icon" @click="openSearch()"></i> <!--<i class="search-icon" @click="openSearch()"></i>-->
<input type="text" v-model="searchHeader" id="searchVal" placeholder="请输入" class="in-search" @keyup.enter="openSearch()"/> <!--<input type="text" v-model="searchHeader" id="searchVal" placeholder="请输入" class="in-search" @keyup.enter="openSearch()"/>-->
</div> <!--</div>-->
</span> <!--</span>-->
<span> <span>
<img class="menuImgs" title="帮助" src="../assets/images/nav-top-wh.png" style="cursor: pointer"> <img class="menuImgs" title="帮助" src="../assets/images/nav-top-wh.png" style="cursor: pointer">
</span> </span>
......
...@@ -92,6 +92,10 @@ ...@@ -92,6 +92,10 @@
<img class="paramsImg" src="../assets/images/paramsIcon.png"/> <img class="paramsImg" src="../assets/images/paramsIcon.png"/>
<span slot="title">参数配置</span> <span slot="title">参数配置</span>
</el-menu-item> </el-menu-item>
<el-menu-item class="rootMenuItem" v-if="authority.username === 'root'" index="logManage">
<img class="paramsImg" src="../assets/images/paramsIcon.png"/>
<span slot="title">日志管理</span>
</el-menu-item>
</div> </div>
</el-menu> </el-menu>
</div> </div>
......
...@@ -167,6 +167,7 @@ ...@@ -167,6 +167,7 @@
line-height: 40px; line-height: 40px;
position: relative; position: relative;
font-size: 18px; font-size: 18px;
font-weight: bold;
margin-left: 0 !important; margin-left: 0 !important;
color: #19152c; color: #19152c;
} }
......
...@@ -278,6 +278,7 @@ ...@@ -278,6 +278,7 @@
line-height: 40px; line-height: 40px;
position: relative; position: relative;
font-size: 14px; font-size: 14px;
font-weight: bold;
margin-left: 0 !important; margin-left: 0 !important;
} }
......
...@@ -8,11 +8,14 @@ ...@@ -8,11 +8,14 @@
</div> </div>
<div class="passDiv"> <div class="passDiv">
<el-form :hide-required-asterisk="true" :model="passwordForm" :rules="rules" ref="passwordForm" label-width="100px" class="demo-ruleForm"> <el-form :hide-required-asterisk="true" :model="passwordForm" :rules="rules" ref="passwordForm" label-width="100px" class="demo-ruleForm">
<el-form-item label="原密码" prop="old">
<el-input v-model="passwordForm.old" placeholder="请输入原密码"></el-input>
</el-form-item>
<el-form-item label="新密码" prop="new"> <el-form-item label="新密码" prop="new">
<el-input v-model="passwordForm.new" placeholder="请输入新密码"></el-input> <el-input v-model="passwordForm.new" show-password placeholder="请输入新密码"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="确认密码" prop="confirm"> <el-form-item label="确认密码" prop="confirm">
<el-input v-model="passwordForm.confirm" placeholder="请输入确认密码"></el-input> <el-input v-model="passwordForm.confirm" show-password placeholder="请输入确认密码"></el-input>
</el-form-item> </el-form-item>
</el-form> </el-form>
</div> </div>
...@@ -33,7 +36,9 @@ ...@@ -33,7 +36,9 @@
components: {}, components: {},
data () { data () {
// let validateOld=(rule, value, callback)=>{ // let validateOld=(rule, value, callback)=>{
// if (value !== this.userDetail.password) { // if (value === '') {
// callback(new Error('请输入原密码'));
// } else if (value !== this.userDetail.password) {
// callback(new Error('密码错误,请重新输入!')); // callback(new Error('密码错误,请重新输入!'));
// } else{ // } else{
// callback(); // callback();
...@@ -41,10 +46,12 @@ ...@@ -41,10 +46,12 @@
// }; // };
let validateNew = (rule, value, callback) => { let validateNew = (rule, value, callback) => {
if (value === '') { if (value === '') {
callback(new Error('请输入密码')); callback(new Error('请输入新密码'));
}else if (value === this.passwordForm.old){ }
callback(new Error('新密码不能和旧密码相同!')); // else if (value === this.passwordForm.old){
} else { // callback(new Error('新密码不能和旧密码相同!'));
// }
else {
if (this.passwordForm.confirm != '') { if (this.passwordForm.confirm != '') {
this.$refs.passwordForm.validateField('confirm'); this.$refs.passwordForm.validateField('confirm');
} }
...@@ -53,9 +60,9 @@ ...@@ -53,9 +60,9 @@
}; };
let validateConfirm = (rule, value, callback) => { let validateConfirm = (rule, value, callback) => {
if (value === "") { if (value === "") {
callback(new Error("请再次输入密码")); callback(new Error("请输入确认密码"));
} else if (value !== this.passwordForm.confirm) { } else if (value !== this.passwordForm.new) {
callback(new Error("两次输入密码不一致!")); callback(new Error("确认密码和新密码不一致!"));
} else { } else {
callback(); callback();
} }
...@@ -74,8 +81,8 @@ ...@@ -74,8 +81,8 @@
// { required: true, message: '请输入新密码', trigger: 'blur' }, // { required: true, message: '请输入新密码', trigger: 'blur' },
], ],
old: [ old: [
// { validator: validateOld, trigger: 'blur' } // { validator: validateOld, trigger: 'blur' },
{ required: true, message: '请输入当前密码', trigger: 'blur' }, { required: true, message: '请输入密码', trigger: 'blur' },
], ],
confirm: [ confirm: [
{ validator: validateConfirm, trigger: 'blur' } { validator: validateConfirm, trigger: 'blur' }
...@@ -105,24 +112,25 @@ ...@@ -105,24 +112,25 @@
this.$refs[val].validate((valid) => { this.$refs[val].validate((valid) => {
if (valid) { if (valid) {
let data = JSON.parse(this.$Base64.decode(localStorage.getItem('login'))); let data = JSON.parse(this.$Base64.decode(localStorage.getItem('login')));
data.password = this.passwordForm.confirm; data.password = this.passwordForm.confirm.trim();
this.$axios.putPassword(data).then((res) => { let old = this.passwordForm.old.trim();
this.$axios.putPassword(old, data).then((res) => {
console.log(res) console.log(res)
if (res.status === 200) { if (res.status === 200) {
this.$message({ // this.$message({
message: '修改密码成功!', // message: '修改密码成功!',
type: 'success' // type: 'success'
}); // });
this.$emit('close', false); // this.$emit('close', false);
let that = this; // let that = this;
setTimeout(function () { // setTimeout(function () {
that.$axios.getLogout().then(res => { // 登出 // that.$axios.getLogout().then(res => { // 登出
if (res.data.code === 200) { // if (res.data.code === 200) {
that.$router.push({name: 'login'}); // that.$router.push({name: 'login'});
localStorage.clear(); // localStorage.clear();
} // }
}) // })
}, 500) // }, 500)
} }
}) })
} else { } else {
...@@ -178,7 +186,7 @@ ...@@ -178,7 +186,7 @@
.passDiv{ .passDiv{
width: 50%; width: 50%;
margin: 200px auto; margin: 150px auto;
} }
.dialogBtns{ .dialogBtns{
...@@ -209,6 +217,7 @@ ...@@ -209,6 +217,7 @@
line-height: 40px; line-height: 40px;
position: relative; position: relative;
font-size: 14px; font-size: 14px;
font-weight: bold;
margin-left: 0 !important; margin-left: 0 !important;
} }
</style> </style>
...@@ -16,8 +16,8 @@ ...@@ -16,8 +16,8 @@
<img v-show="listDetails.status === '1'" class="statusImg" src="../assets/images/statusNormal.png"/> <img v-show="listDetails.status === '1'" class="statusImg" src="../assets/images/statusNormal.png"/>
</div> </div>
<div class="nameDiv"> <div class="nameDiv">
<div class="nameStyle">{{listDetails.username}}</div> <div class="nameStyle"><span class="personSpan">姓名</span>{{listDetails.username}}</div>
<div class="jobStyle">{{listDetails.jobs}}</div> <div class="jobStyle"><span class="personSpan">岗位</span>{{listDetails.jobs}}</div>
</div> </div>
</div> </div>
<div class="elDiv"> <div class="elDiv">
...@@ -147,6 +147,7 @@ ...@@ -147,6 +147,7 @@
.detailTop{ .detailTop{
height: 320px; height: 320px;
margin-top: 50px; margin-top: 50px;
font-family: Alibaba;
/*line-height: 320px;*/ /*line-height: 320px;*/
} }
...@@ -162,8 +163,8 @@ ...@@ -162,8 +163,8 @@
background-image: url("../assets/images/personPhoto.png"); background-image: url("../assets/images/personPhoto.png");
background-repeat: no-repeat; background-repeat: no-repeat;
background-size: 100% 100%; background-size: 100% 100%;
margin-right: 160px; margin-right: 140px;
margin-left: -180px; margin-left: -20px;
position: relative; position: relative;
} }
...@@ -180,18 +181,35 @@ ...@@ -180,18 +181,35 @@
} }
.nameDiv{ .nameDiv{
text-align: center; text-align: left;
}
/*.nameStyle{*/
/*color: #5059D5;*/
/*font-size: 30px;*/
/*}*/
/*.jobStyle{*/
/*color: #19152C;*/
/*font-size: 20px;*/
/*margin-top: 30px;*/
/*}*/
.nameDiv .personSpan{
display: inline-block;
margin-right: 30px;
font-size: 30px;
color: #19152c;
} }
.nameStyle{ .nameStyle{
color: #5059D5; color: #5059d5;
font-size: 30px; font-size: 30px;
} }
.jobStyle{ .jobStyle{
color: #19152C; color: #5059d5;
font-size: 20px;
margin-top: 30px; margin-top: 30px;
font-size: 30px;
} }
.elDiv{ .elDiv{
......
...@@ -280,6 +280,7 @@ ...@@ -280,6 +280,7 @@
line-height: 40px; line-height: 40px;
position: relative; position: relative;
font-size: 14px; font-size: 14px;
font-weight: bold;
margin-left: 0 !important; margin-left: 0 !important;
} }
......
...@@ -173,6 +173,12 @@ const routes = [ ...@@ -173,6 +173,12 @@ const routes = [
name: 'departmentManage', name: 'departmentManage',
meta: ['root'], meta: ['root'],
component: () => import(/* webpackChunkName: "home" */ '../views/root/DepartmentManage.vue') component: () => import(/* webpackChunkName: "home" */ '../views/root/DepartmentManage.vue')
},
{
path: '/logManage',
name: 'logManage',
meta: ['root'],
component: () => import(/* webpackChunkName: "home" */ '../views/root/LogManage.vue')
} }
] ]
}, },
......
...@@ -24,6 +24,7 @@ ...@@ -24,6 +24,7 @@
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="des" prop="des"
show-overflow-tooltip
label="反馈内容"> label="反馈内容">
</el-table-column> </el-table-column>
</el-table> </el-table>
...@@ -130,4 +131,8 @@ ...@@ -130,4 +131,8 @@
border-radius: 10px; border-radius: 10px;
background: #FFF; background: #FFF;
} }
/deep/ .el-tooltip__popper {
padding: 10px 10px 10px 20px;
}
</style> </style>
...@@ -30,8 +30,8 @@ ...@@ -30,8 +30,8 @@
let pwd = this.psd; let pwd = this.psd;
if (user !== '' && pwd !== '') { if (user !== '' && pwd !== '') {
let name = { let name = {
username: user, username: user.trim(),
password: pwd password: pwd.trim()
}; };
console.log(name) console.log(name)
// if (name.username === '1') { // if (name.username === '1') {
...@@ -70,9 +70,10 @@ ...@@ -70,9 +70,10 @@
}, },
// 提示框 // 提示框
modal (msg) { modal (msg) {
this.$alert(msg, '提示', { this.$message.error(msg);
confirmButtonText: '确定' // this.$alert(msg, '提示', {
}); // confirmButtonText: '确定',
// });
// this.$Modal.warning({ // this.$Modal.warning({
// title: '提示', // title: '提示',
// content: '<p>' + msg + '</p>' // content: '<p>' + msg + '</p>'
......
...@@ -45,8 +45,8 @@ ...@@ -45,8 +45,8 @@
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<div class="nameDiv"> <div class="nameDiv">
<div class="nameStyle">{{userForm.username}}</div> <div class="nameStyle ptp100"><span class="personSpan">姓名</span>{{userForm.username}}</div>
<div class="jobStyle">{{userForm.jobs}}</div> <div class="nameStyle jobStyle"><span class="personSpan">岗位</span>{{userForm.jobs}}</div>
</div> </div>
<el-form-item class="first" prop="email" label="邮箱"> <el-form-item class="first" prop="email" label="邮箱">
<el-input v-model="userForm.email"></el-input> <el-input v-model="userForm.email"></el-input>
...@@ -188,6 +188,7 @@ ...@@ -188,6 +188,7 @@
console.log(val) console.log(val)
let name = ''; let name = '';
console.log(this.deOptions) console.log(this.deOptions)
if (this.deOptions.length > 0) {
for ( let i = 0; i < this.deOptions.length; i++ ) { for ( let i = 0; i < this.deOptions.length; i++ ) {
for (let j = 0; j < val.length; j++) { for (let j = 0; j < val.length; j++) {
if (this.deOptions[i].id === val[j]) { if (this.deOptions[i].id === val[j]) {
...@@ -196,6 +197,9 @@ ...@@ -196,6 +197,9 @@
} }
} }
name = name.substring(0, name.length - 1); name = name.substring(0, name.length - 1);
} else {
name = '无';
}
console.log(name); console.log(name);
return name; return name;
}, },
...@@ -362,15 +366,23 @@ ...@@ -362,15 +366,23 @@
height: 242px; height: 242px;
} }
.nameDiv .personSpan{
display: inline-block;
margin-right: 30px;
font-size: 30px;
color: #19152c;
}
.nameStyle{ .nameStyle{
color: #5059D5; color: #5059d5;
font-size: 30px; font-size: 30px;
padding-top: 100px;
} }
.ptp100{
padding-top: 100px;
}
.jobStyle{ .jobStyle{
color: #19152C; color: #5059d5;
font-size: 20px;
margin-top: 30px; margin-top: 30px;
} }
...@@ -379,7 +391,7 @@ ...@@ -379,7 +391,7 @@
vertical-align: middle; vertical-align: middle;
float: none; float: none;
font-size: 18px; font-size: 18px;
color: #606266; color: #787682;
line-height: 40px; line-height: 40px;
padding: 0 12px 0 0; padding: 0 12px 0 0;
-webkit-box-sizing: border-box; -webkit-box-sizing: border-box;
...@@ -391,6 +403,8 @@ ...@@ -391,6 +403,8 @@
position: relative; position: relative;
font-size: 14px; font-size: 14px;
margin-left: 0 !important; margin-left: 0 !important;
color: #19152c;
font-weight: bold;
} }
.formDiv{ .formDiv{
...@@ -411,7 +425,8 @@ ...@@ -411,7 +425,8 @@
border: 1px solid #DCDFE6; border: 1px solid #DCDFE6;
-webkit-box-sizing: border-box; -webkit-box-sizing: border-box;
box-sizing: border-box; box-sizing: border-box;
color: #606266; color: #19152c;
font-weight: bold;
display: inline-block; display: inline-block;
font-size: 18px; font-size: 18px;
height: 40px; height: 40px;
......
...@@ -232,6 +232,7 @@ ...@@ -232,6 +232,7 @@
line-height: 40px; line-height: 40px;
position: relative; position: relative;
font-size: 18px; font-size: 18px;
font-weight: bold;
margin-left: 0 !important; margin-left: 0 !important;
} }
......
...@@ -66,7 +66,10 @@ ...@@ -66,7 +66,10 @@
align="center"> align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button @click="openDetails(scope.row)" type="text" size="small">编辑<i class="el-icon-edit-outline"></i></el-button> <el-button @click="openDetails(scope.row)" type="text" size="small">编辑<i class="el-icon-edit-outline"></i></el-button>
<el-button style="background: #EE4B4C" @click="deleteUSer(scope.row)" type="text" size="small">删除<i class="el-icon-delete"></i></el-button> <el-popconfirm title="确定删除吗?" @onConfirm="deleteUSer(scope.row)">
<el-button slot="reference" style="background: #EE4B4C" type="text" size="small">删除<i class="el-icon-delete"></i></el-button>
</el-popconfirm>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
...@@ -113,6 +116,7 @@ ...@@ -113,6 +116,7 @@
console.log(this.searchHuman) console.log(this.searchHuman)
}, },
deleteUSer(val) { deleteUSer(val) {
console.log(val)
this.$axios.deleteUsers(val.id).then((res) => { this.$axios.deleteUsers(val.id).then((res) => {
console.log(res); console.log(res);
if (res.request.status === 200) { if (res.request.status === 200) {
...@@ -160,15 +164,17 @@ ...@@ -160,15 +164,17 @@
openDetails(val) { openDetails(val) {
console.log(val) console.log(val)
this.doName = '修改用户'; this.doName = '修改用户';
let data = JSON.parse(JSON.stringify(val));
this.editConsumer = data;
this.showConsumerDialog = true; this.showConsumerDialog = true;
this.editConsumer = val;
// localStorage.setItem('adminUser', this.$Base64.encode(JSON.stringify(val))); // localStorage.setItem('adminUser', this.$Base64.encode(JSON.stringify(val)));
// this.$router.push({name: 'consumerDetails'}); // this.$router.push({name: 'consumerDetails'});
}, },
findDeparts(val) { findDeparts(val) {
// console.log(val) // console.log(val)
// console.log(this.departList) // console.log(this.departList)
let name let name = '';
if (val !== null && val !== undefined) {
for (let i = 0; i <this.departList.length; i++) { for (let i = 0; i <this.departList.length; i++) {
for (let j = 0; j < val.length; j++) { for (let j = 0; j < val.length; j++) {
if (val[j] === this.departList[i].id) { if (val[j] === this.departList[i].id) {
...@@ -176,11 +182,12 @@ ...@@ -176,11 +182,12 @@
} }
} }
} }
}
return name;
// let ret1 = this.departList.find((value, index, arr) => { // let ret1 = this.departList.find((value, index, arr) => {
// return value.id === val; // return value.id === val;
// }) // })
// console.log(ret1) // console.log(ret1)
return name
}, },
getAllDepartmentList() { getAllDepartmentList() {
this.$axios.getAllDepartment().then((res) => { this.$axios.getAllDepartment().then((res) => {
......
...@@ -101,7 +101,7 @@ ...@@ -101,7 +101,7 @@
<!--</el-col>--> <!--</el-col>-->
<!--</el-row>--> <!--</el-row>-->
<!--</div>--> <!--</div>-->
<add-dialog :showDepartmentDialog="showDepartmentDialog" :currrentId="currentDepartment.id" @close="closeDialog"></add-dialog> <add-dialog :showDepartmentDialog="showDepartmentDialog" :currentId="currentDepartment.id" @close="closeDialog"></add-dialog>
</div> </div>
</template> </template>
...@@ -158,6 +158,7 @@ ...@@ -158,6 +158,7 @@
methods: { methods: {
openDialog() { openDialog() {
this.showDepartmentDialog = true; this.showDepartmentDialog = true;
this.currentDepartment = JSON.parse(JSON.stringify(this.companyData))
}, },
closeDialog() { closeDialog() {
this.showDepartmentDialog = false; this.showDepartmentDialog = false;
...@@ -364,6 +365,7 @@ ...@@ -364,6 +365,7 @@
line-height: 40px; line-height: 40px;
position: relative; position: relative;
font-size: 14px; font-size: 14px;
font-weight: bold;
margin-left: 0 !important; margin-left: 0 !important;
} }
......
<!-- 日志管理 -->
<template>
<div class='logManage'>
<div class="logHeader">
<el-date-picker
v-model="time"
type="datetimerange"
range-separator="至"
start-placeholder="开始时间"
:editable="false"
:clearable="false"
value-format="yyyy-MM-dd HH:mm:ss"
:default-time="['00:00:00', '23:59:59']"
@change="timeChange"
end-placeholder="结束时间">
</el-date-picker>
</div>
<div>
<el-table
v-loading="loading"
:data="logList"
style="width: 100%">
<el-table-column
prop="userName"
align="center"
label="姓名">
</el-table-column>
<el-table-column
prop="logTime"
align="center"
label="时间">
</el-table-column>
<el-table-column
prop="description"
align="center"
show-overflow-tooltip
label="操作">
</el-table-column>
</el-table>
</div>
<div class="pageClass">
<el-pagination
hide-on-single-page
background
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
:current-page.sync="currentPage"
:page-size="pageSize"
layout="prev, pager, next, jumper"
:total="total">
</el-pagination>
</div>
</div>
</template>
<script>
//这里可以导入其他文件(比如:组件,工具js,第三方插件js,json文件,图片文件等等)
//例如:import 《组件名称》 from '《组件路径》';
export default {
name: "logManage",
//import引入的组件需要注入到对象中才能使用
components: {},
data () {
//这里存放数据
return {
loading: false,
time: '',
logList: [],
currentPage: 1,
pageSize: 10,
total: 0
};
},
//监听属性 类似于data概念
computed: {},
//监控data中的数据变化
watch: {},
//方法集合
methods: {
getLog() {
let start = '';
let end = '';
if (this.time[0] !== undefined) {
start = this.time[0];
} else {
start = null;
}
if (this.time[1] !== undefined) {
end = this.time[1];
} else {
end = null;
}
let obj = {
currentPage: this.currentPage,
startTime: start,
endTime: end,
pageSize: 10,
totalCount: null
}
console.log(obj)
this.$axios.postLogData(obj).then((res) => {
console.log(res)
this.loading = false;
this.logList = res.data.rows;
this.total = res.data.totalCount;
})
},
timeChange(val) {
console.log(val)
this.currentPage = 1;
this.time = val;
this.getLog();
},
handleSizeChange(val) {
console.log(`每页 ${val} 条`);
},
handleCurrentChange(val) {
this.currentPage = val;
this.getLog();
// console.log(`当前页: ${val}`);
},
},
//生命周期 - 创建完成(可以访问当前this实例)
created () {
},
//生命周期 - 挂载完成(可以访问DOM元素)
mounted () {
let data = this.$common.timeYMDFilter(new Date());
this.time = [data + ' ' + '00:00:00', data + ' ' + '23:59:59'];
let that = this;
setTimeout(function () {
that.getLog();
}, 100)
},
beforeCreate () {
}, //生命周期 - 创建之前
beforeMount () {
}, //生命周期 - 挂载之前
beforeUpdate () {
}, //生命周期 - 更新之前
updated () {
}, //生命周期 - 更新之后
beforeDestroy () {
}, //生命周期 - 销毁之前
destroyed () {
}, //生命周期 - 销毁完成
activated () {
}, //如果页面有keep-alive缓存功能,这个函数会触发
}
</script>
<style scoped>
.logManage{
}
.logHeader{
margin: 15px 0px;
}
/deep/ .el-date-editor .el-range__icon {
font-size: 14px;
margin-left: -5px;
color: #C0C4CC;
float: left;
line-height: 32px;
margin-bottom: 0px;
}
/deep/ .el-date-editor .el-range-separator {
padding: 0 5px;
line-height: 32px;
width: 5%;
color: #303133;
margin-bottom: 1px;
}
/deep/ .el-date-editor .el-range__close-icon {
font-size: 14px;
color: #C0C4CC;
width: 25px;
display: inline-block;
float: right;
line-height: 30px;
}
.pageClass {
text-align: center;
position: fixed;
bottom:25px;
left:0;
right:0;
width: 500px;
margin-left: 44%;
}
</style>
...@@ -528,6 +528,7 @@ ...@@ -528,6 +528,7 @@
line-height: 40px; line-height: 40px;
position: relative; position: relative;
font-size: 14px; font-size: 14px;
font-weight: bold;
margin-left: 0 !important; margin-left: 0 !important;
color: #5059D5; color: #5059D5;
} }
......
...@@ -3,18 +3,56 @@ ...@@ -3,18 +3,56 @@
<div class='addTask'> <div class='addTask'>
<div class="addHeader"> <div class="addHeader">
<ul> <ul>
<li>发布者:{{announcer}}</li> <li style="font-weight: bold;">发布者:{{announcer}}</li>
<li class="addRightBtn"> <li class="addRightBtn">
<!--<div >-->
<el-button type="primary" @click="submitForm('taskForm','unpublished')"><span><img class="addImgs" src="../../assets/images/saveIcon.png"/></span>保存</el-button> <el-button type="primary" @click="submitForm('taskForm','unpublished')"><span><img class="addImgs" src="../../assets/images/saveIcon.png"/></span>保存</el-button>
<el-button style="margin-left: 50px;" type="primary" @click="submitForm('taskForm', 'ongoing')"><span><img class="addImgs" src="../../assets/images/pushIcon.png"/></span>发布</el-button> <el-button style="margin-left: 50px;" type="primary" @click="submitForm('taskForm', 'ongoing')"><span><img class="addImgs" src="../../assets/images/pushIcon.png"/></span>发布</el-button>
<!--</div>-->
</li> </li>
</ul> </ul>
</div> </div>
<!--<div class="addRightBtn">-->
<!--<el-button type="primary" @click="submitForm('taskForm','unpublished')"><span><img class="addImgs" src="../../assets/images/saveIcon.png"/></span>保存</el-button>-->
<!--<el-button style="margin-left: 50px;" type="primary" @click="submitForm('taskForm', 'ongoing')"><span><img class="addImgs" src="../../assets/images/pushIcon.png"/></span>发布</el-button>-->
<!--</div>-->
<div> <div>
<el-form :model="taskForm" :rules="rules" ref="taskForm" label-width="130px" class="demo-ruleForm"> <el-form :model="taskForm" :rules="rules" ref="taskForm" label-width="130px" class="demo-ruleForm">
<div style="margin-bottom: 20px;"> <div class="addTips">
<img src="../../assets/images/tipMust.png"/>为必填项 <img src="../../assets/images/tipMust.png"/>为必填项
</div> </div>
<div class="showMainTaskDetail" v-show="saveStoreTaskDetailValue !== '' && saveStoreTaskDetailValue !== undefined">
<el-form-item label="主任务名称">
<!--<div style="cursor: pointer;">-->
<el-tooltip placement="bottom" effect="light">
<div slot="content">
<ul class="mainTaskTip">
<li><span class="tipSpan">主任务名称:</span>{{saveStoreTaskDetailValue.title}}</li>
<li><span class="tipSpan">任务开始时间:</span>{{saveStoreTaskDetailValue.stateTime}}</li>
<li><span class="tipSpan">预计完成时间:</span>{{saveStoreTaskDetailValue.completeTime}}</li>
<li><span class="tipSpan">总任务量:</span>{{saveStoreTaskDetailValue.workloadCount}}</li>
</ul>
</div>
<span style="cursor:pointer;border-bottom: 1px solid #5059d5">{{saveStoreTaskDetailValue.title}}</span>
</el-tooltip>
<!--</div>-->
</el-form-item>
<!--<el-popover-->
<!--placement="bottom"-->
<!--width="400"-->
<!--trigger="click">-->
<!--<div>-->
<!--<ul>-->
<!--<li>主任务名称:{{saveStoreTaskDetailValue.title}}</li>-->
<!--<li>任务开始时间:{{saveStoreTaskDetailValue.stateTime}}</li>-->
<!--<li>预计完成时间:{{saveStoreTaskDetailValue.completeTime}}</li>-->
<!--<li>总任务量:{{saveStoreTaskDetailValue.workloadCount}}</li>-->
<!--</ul>-->
<!--</div>-->
<!--<el-button>主任务名称:</el-button>-->
<!--</el-popover>-->
</div>
<el-row :gutter="30"> <el-row :gutter="30">
<el-col :span="8"> <el-col :span="8">
<el-form-item label="任务名称" prop="title"> <el-form-item label="任务名称" prop="title">
...@@ -30,7 +68,7 @@ ...@@ -30,7 +68,7 @@
<el-option <el-option
v-for="item in leaderOptions" v-for="item in leaderOptions"
:key="item.id" :key="item.id"
:label="item.username" :label="item.username + '(' + $common.personStatusName(item.status) + ')'"
:value="item.id"> :value="item.id">
<span style="display: inline-block;width: 70px;">{{item.username}}</span> <span style="display: inline-block;width: 70px;">{{item.username}}</span>
<span :style="{color: $common.colorNum(item.status)}">({{$common.personStatusName(item.status)}})</span> <span :style="{color: $common.colorNum(item.status)}">({{$common.personStatusName(item.status)}})</span>
...@@ -53,8 +91,8 @@ ...@@ -53,8 +91,8 @@
<el-form-item label="预计完成时间" prop="completeTime"> <el-form-item label="预计完成时间" prop="completeTime">
<el-date-picker :clearable="false" :picker-options="pickerOptionsComplete" :editable="false" default-time="09:00:00" value-format="yyyy-MM-dd HH:mm:ss" type="datetime" placeholder="选择日期" v-model="taskForm.completeTime" style="width: 100%;"></el-date-picker> <el-date-picker :clearable="false" :picker-options="pickerOptionsComplete" :editable="false" default-time="09:00:00" value-format="yyyy-MM-dd HH:mm:ss" type="datetime" placeholder="选择日期" v-model="taskForm.completeTime" style="width: 100%;"></el-date-picker>
</el-form-item> </el-form-item>
<el-form-item label="审核者" prop="review"> <el-form-item v-if="showAuditName === false" label="审核者" prop="audit">
<el-select v-if="showAuditName === false" style="width: 100%;" v-model="taskForm.audit" placeholder="请选择审核者"> <el-select style="width: 100%;" v-model="taskForm.audit" placeholder="请选择审核者">
<el-option <el-option
v-for="item in auditOptions" v-for="item in auditOptions"
:key="item.id" :key="item.id"
...@@ -66,6 +104,9 @@ ...@@ -66,6 +104,9 @@
</el-select> </el-select>
<span v-if="showAuditName === true">{{userLoginData.username}}</span> <span v-if="showAuditName === true">{{userLoginData.username}}</span>
</el-form-item> </el-form-item>
<el-form-item v-if="showAuditName === true" label="审核者" >
<span>{{userLoginData.username}}</span>
</el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<div> <div>
...@@ -283,13 +324,47 @@ ...@@ -283,13 +324,47 @@
this.taskForm.workload = count; this.taskForm.workload = count;
} }
}, },
'taskForm.stateTime': function(val) {
console.log(val)
let count;
if (val !== '' && val !== null && this.taskForm.completeTime !== '' && this.taskForm.stateTime !== null) {
let a1 = Date.parse(val);
let a2 = Date.parse(this.taskForm.completeTime);
console.log(a1, a2)
console.log(a2-a1);
count = Math.ceil((a2-a1)/ (1000 * 60 * 60 * 24)) + 1;//核心:时间戳相减,然后除以天数
console.log(count)
if (this.taskForm.executor !== '') {
if (this.taskForm.crewList.length > 0) {
console.log(this.taskForm.executor,this.taskForm.crewList)
let crew = [...this.taskForm.crewList];
let index = crew.indexOf(this.taskForm.executor);
console.log(index)
if (index > -1) {
crew.splice(index, 1);
}
console.log(crew.length)
count = (1 + crew.length) * count;
console.log(count)
}
}
this.taskForm.workload = count;
}
},
'taskForm.crewList': function(val) { 'taskForm.crewList': function(val) {
console.log(val) console.log(val)
if (this.taskForm.completeTime !== '' && this.taskForm.completeTime !== null) { if (this.taskForm.completeTime !== '' && this.taskForm.completeTime !== null) {
let count = JSON.parse(JSON.stringify(this.taskForm.workload)); // let count = JSON.parse(JSON.stringify(this.taskForm.workload));
let a1 = Date.parse(this.taskForm.stateTime);
let a2 = Date.parse(this.taskForm.completeTime);
console.log(a1, a2)
console.log(a2-a1);
let count = Math.ceil((a2-a1)/ (1000 * 60 * 60 * 24)) + 1;//核心:时间戳相减,然后除以天数
console.log(count)
if (this.taskForm.executor !== '') { if (this.taskForm.executor !== '') {
if (val.length > 0) { if (val.length > 0) {
let crew = [...val]; let crew = [...val];
console.log(crew)
let index = crew.indexOf(this.taskForm.executor); let index = crew.indexOf(this.taskForm.executor);
console.log(index) console.log(index)
if (index > -1) { if (index > -1) {
...@@ -331,6 +406,7 @@ ...@@ -331,6 +406,7 @@
if (res.request.status === 200) { if (res.request.status === 200) {
this.showAuditName = false; this.showAuditName = false;
if (JSON.stringify(this.$store.getters.getSuperior.superior) !== '{}' && JSON.stringify(this.$store.getters.getSuperior.superior) !== undefined) { if (JSON.stringify(this.$store.getters.getSuperior.superior) !== '{}' && JSON.stringify(this.$store.getters.getSuperior.superior) !== undefined) {
console.log(this.$store.getters.getSuperior.superior)
this.saveStoreTaskDetailValue = this.$store.getters.getSuperior.superior; this.saveStoreTaskDetailValue = this.$store.getters.getSuperior.superior;
this.taskForm.title = this.$store.getters.getSuperior.superior.title; this.taskForm.title = this.$store.getters.getSuperior.superior.title;
this.showAuditName = true; this.showAuditName = true;
...@@ -503,6 +579,23 @@ ...@@ -503,6 +579,23 @@
this.$store.commit('changeSuperior', { this.$store.commit('changeSuperior', {
superior: {} superior: {}
}) })
let obj = {};
if (JSON.stringify(this.$store.getters.getSuperior.superior) !== '{}' && JSON.stringify(this.$store.getters.getSuperior.superior) !== undefined) {
obj = {
active: 'three',
page: 1,
url: 'addTask'
}
} else {
obj = {
active: 'four',
page: 1,
url: 'addTask'
}
}
this.$store.commit('changeSaveView', {
saveView: obj
})
let tip; let tip;
if(sta === 'ongoing') { if(sta === 'ongoing') {
tip = '发布任务'; tip = '发布任务';
...@@ -619,7 +712,7 @@ ...@@ -619,7 +712,7 @@
}, },
//生命周期 - 挂载完成(可以访问DOM元素) //生命周期 - 挂载完成(可以访问DOM元素)
mounted () { mounted () {
this.taskForm.stateTime = this.$common.timeYMDHMSFilter(new Date()); this.taskForm.stateTime = this.$common.timeYMDFilter(new Date()) + ' ' + '09:00:00';
console.log(this.$store.getters.getLoginData.loginData) console.log(this.$store.getters.getLoginData.loginData)
if (this.$store.getters.getLoginData.loginData !== undefined) { if (this.$store.getters.getLoginData.loginData !== undefined) {
this.userLoginData = this.$store.getters.getLoginData.loginData; this.userLoginData = this.$store.getters.getLoginData.loginData;
...@@ -663,13 +756,17 @@ ...@@ -663,13 +756,17 @@
} }
.addRightBtn{ .addRightBtn{
/*width: 76%;*/
position: fixed; position: fixed;
/*bottom: 25px;*/
right: 80px; right: 80px;
z-index: 1000; z-index: 1000;
/*margin: 0 auto;*/
/*text-align: center;*/
} }
.addHeader{ .addHeader{
line-height: 60px; line-height: 40px;
border-bottom: 1px solid #5059D5; border-bottom: 1px solid #5059D5;
margin-bottom: 20px; margin-bottom: 20px;
} }
...@@ -711,6 +808,7 @@ ...@@ -711,6 +808,7 @@
line-height: 40px; line-height: 40px;
position: relative; position: relative;
font-size: 18px; font-size: 18px;
/*font-weight: bold;*/
margin-left: 0 !important; margin-left: 0 !important;
} }
...@@ -833,4 +931,21 @@ ...@@ -833,4 +931,21 @@
vertical-align: middle; vertical-align: middle;
margin-right: 5px; margin-right: 5px;
} }
.mainTaskTip li{
line-height: 40px;
font-size: 18px;
color: #19152c;
}
.mainTaskTip .tipSpan{
display: inline-block;
width: 130px;
}
.addTips{
margin-bottom: 20px;
color: #F6302E;
font-size: 18px;
}
</style> </style>
...@@ -451,6 +451,14 @@ ...@@ -451,6 +451,14 @@
message: '发布任务成功!', message: '发布任务成功!',
type: 'success' type: 'success'
}); });
obj = {
active: 'four',
page: 1,
url: 'unpublishedTask'
};
this.$store.commit('changeSaveView', {
saveView: obj
})
this.$refs[formName].resetFields(); this.$refs[formName].resetFields();
this.$router.push({name: 'viewTask'}); this.$router.push({name: 'viewTask'});
} }
...@@ -675,6 +683,7 @@ ...@@ -675,6 +683,7 @@
line-height: 40px; line-height: 40px;
position: relative; position: relative;
font-size: 18px; font-size: 18px;
font-weight: bold;
margin-left: 0 !important; margin-left: 0 !important;
} }
......
...@@ -12,7 +12,7 @@ ...@@ -12,7 +12,7 @@
<view-task-table :tableList="dataList" @trData="taskDetails"></view-task-table> <view-task-table :tableList="dataList" @trData="taskDetails"></view-task-table>
</div> </div>
</el-tab-pane> </el-tab-pane>
<el-tab-pane name="four"> <el-tab-pane name="four" v-if="userDetail.roles !== undefined && userDetail.roles.length > 0 && userDetail.roles[0].authorities.findIndex(item => item.name === '发布任务') > -1">
<span slot="label" class="tabMargin"> <span slot="label" class="tabMargin">
<!--<i class="el-icon-date"></i>--> <!--<i class="el-icon-date"></i>-->
发布任务 发布任务
...@@ -267,7 +267,7 @@ ...@@ -267,7 +267,7 @@
console.log(storeValue) console.log(storeValue)
// let thisStore = this.$store; // let thisStore = this.$store;
setTimeout(function () { setTimeout(function () {
if (storeValue !== undefined && storeValue.url !== undefined && storeValue.url === 'taskDetails') { if (storeValue !== undefined && storeValue.url !== undefined && (storeValue.url === 'taskDetails' || storeValue.url === 'addTask')) {
that.saveViewClick(storeValue); that.saveViewClick(storeValue);
} else { } else {
that.getDataListUpcoming(); that.getDataListUpcoming();
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论