Commit dc9e8fc8 by zhaoxiqing

Merge branch 'bpo-admin' of http://gitlab.gongsibao.com/jiangyong/zhichan into bpo-admin

parents a069bb3f 120ca8a7
......@@ -2,7 +2,7 @@ var system = require("../../system")
var moment = require("moment");
const md5 = require("MD5");
const logCtl = system.getObject("web.oplogCtl");
const syncDays = Number(5);
const syncDays = Number(30);
class EcontractApi {
constructor() {
this.esettleSve = system.getObject("service.esettleSve");
......
......@@ -7,6 +7,10 @@ class DepartmentCtl extends CtlBase {
super(CtlBase.getServiceName(DepartmentCtl));
}
async dict(queryobj, qobj, req) {
let list = await this.service.dict();
return system.getResult2(list);
}
}
module.exports = DepartmentCtl;
......@@ -23,8 +23,10 @@ class EpartnerCtl extends CtlBase {
}
async info(queryobj, qobj, req) {
let user = req.session.user;
user.department = req.session.department;
var result = {
user: req.session.user,
user: user,
epartner: req.session.partner,
}
return system.getResult2(result);
......
......@@ -212,6 +212,8 @@ class UserCtl extends CtlBase {
isAdmin: req.session.user.isAdmin,
statAuth: req.session.user.isBpoManager || req.session.user.isAdmin,
roles: req.session.user.Roles,
utype: req.session.user.utype,
department_id: req.session.user.department_id,
}
return system.getResult2(tmp, req);
} else {
......@@ -251,6 +253,8 @@ class UserCtl extends CtlBase {
isAdmin: existedUser.isAdmin,
statAuth: existedUser.isBpoManager || existedUser.isAdmin,
roles: existedUser.Roles,
utype: existedUser.utype,
department_id: existedUser.department_id,
}
return system.getResult2(tmp, req);
}
......@@ -325,6 +329,26 @@ class UserCtl extends CtlBase {
return system.getResult2(user);
}
async setDepartment(qobj, pobj, req) {
let loginUser = req.session.user;
let user = await this.service.findById(loginUser.id);
if (user.department_id) {
return system.getErrResult2("您已经设置过,不允许重复设置");
}
let departmentId = Number(pobj.department_id || 0);
let department = await this.departmentSve.findById(departmentId);
if (!department) {
return system.getErrResult2("部门不存在");
}
user.department_id = departmentId;
await user.save();
loginUser.department_id = departmentId;
loginUser.department = department;
req.session.user = loginUser;
return system.getResult2(1);
}
async login(qobj, pobj, req) {
//state为p_app表中appkey
pobj.u.password = super.encryptPasswd(pobj.u.password);
......@@ -339,6 +363,7 @@ class UserCtl extends CtlBase {
if (existedUser) {
req.session.user = existedUser;
req.session.department = existedUser.department;
if (existedUser.isPartner) {
req.session.partner = await this.epartnerSve.findOne({
user_id: existedUser.id
......
......@@ -47,7 +47,7 @@ class BusistatDao extends Dao {
let sql = [];
sql.push("SELECT");
sql.push("id, busi_name, user_name, user_department_name, ");
sql.push("id, busi_id, busi_name, user_name, user_department_name, ");
sql.push("SUM(times) AS times, SUM(amt) AS amt, SUM(actual_amt) AS actual_amt, SUM(deduct_amt) AS deduct_amt,");
sql.push("SUM(income_tax) AS income_tax, SUM(service_tax) AS service_tax, SUM(added_value_tax) AS added_value_tax");
sql.push("FROM `c_busi_stat`");
......
......@@ -9,6 +9,7 @@ class UserService extends ServiceBase {
this.pConfigDao = system.getObject("db.pconfigDao");
this.roleDao = system.getObject("db.roleDao");
this.usereaccountDao = system.getObject("db.usereaccountDao");
this.departmentDao = system.getObject("db.departmentDao");
}
async aftercreate(result,u,t) {
......@@ -324,8 +325,12 @@ class UserService extends ServiceBase {
model: this.db.models.role,
as: "Roles",
attributes: ["id", "code"]
}, ]
},],
// raw:true
});
if(u && u.department_id) {
u.department = await this.departmentDao.findById(u.department_id);
}
return u;
}
async findPartnerUser(userName) {
......
......@@ -26,6 +26,18 @@
</span>
<a @click="dialogFormVisible = true" href="javascript:;" style="float: left;text-decoration: none;color:#59C1A6;font-size: 16px;">修改</a>
</div>
<div v-if="companyForm.user.utype == 1" style="clear:both;line-height: 30px;padding-top: 40px;">
<span style="float:left;color: #38404B;font-size: 16px;width:80px;">
所属部门
</span>
<span v-if="companyForm.user.department" style="float:left;padding-left: 80px;color: #38404B;font-size: 16px;width: 350px;overflow: hidden;white-space: nowrap;text-overflow: ellipsis;">
{{companyForm.user.department.name}}
</span>
<span v-if="!companyForm.user.department" style="float:left;padding-left: 80px;color: #38404B;font-size: 16px;width: 350px;overflow: hidden;white-space: nowrap;text-overflow: ellipsis;">
</span>
<a v-if="!companyForm.user.department" @click="show_department = true" href="javascript:;" style="float: left;text-decoration: none;color:#59C1A6;font-size: 16px;">填写</a>
</div>
</div>
</div>
</div>
......@@ -53,4 +65,21 @@
<el-button type="primary" @click="save()">保存修改</el-button>
</div>
</el-dialog>
<el-dialog width="524px" :visible.sync="show_department">
<div slot="title">
<span style="margin-left:9px;margin-top:-3px;;width:72px; height:25px; font-size:18px; font-family:PingFangSC-Regular; font-weight:400; color:rgba(51,51,51,1); line-height:25px;">部门设置</span>
<div style="width: 100%; height: 1px;background-color: #E3E3E3;margin: 17px 20px 0px -20px"></div>
</div>
<el-form label-width="100px" label="right" style="padding:0px 55px;" >
<el-form-item label="所属部门:" prop="department_id" >
<el-select v-model="department_id" filterable >
<el-option v-for="item in departments" :key="item.id" :label="item.name" :value="item.id">
</el-option>
</el-select>
</el-form-item>
</el-form>
<div style="margin-left: 200px;">
<el-button :loading="saveLoading" @click="saveDepartment" style="width:120px;height:36px; background:#54C4A7; border-radius:4px;color: #FFFFFF;font-size: 16px;padding-top: 10px;">保存</el-button>
</div>
</el-dialog>
</gsb-pcpage>
\ No newline at end of file
......@@ -29,12 +29,17 @@
dialogTableVisible: false,
dialogFormVisible: false,
pwdSaveLoading: false,
department_id: null,
departments: null,
show_department: null,
saveLoading: false,
companyForm: {
name: '',
account: '',
password: '',
partnerType: '',
partnerLevel: ''
partnerLevel: '',
user: {}
},
pwdForm: {
oldPassword: '',
......@@ -57,6 +62,7 @@
},
mounted: function() {
this.getUserInfo();
},
created: function() {
......@@ -68,10 +74,41 @@
if (d.status == 0) {
var user = d.data.user || {};
var epartner = d.data.epartner || {};
self.companyForm.account = user.userName || "";
self.companyForm.user = user;
self.companyForm.partnerType = epartner.partnerTypeName || "";
self.companyForm.partnerLevel = epartner.partnerLevelName || "";
if (!user.department) {
self.getDepartments();
}
}
});
},
getDepartments() {
var self = this;
self.$root.postReq("/web/departmentCtl/dict", {}).then(function (d) {
if (d.status == 0) {
self.departments = d.data || [];
console.log(self.departments);
}
});
},
saveDepartment() {
this.saveLoading = true;
var self = this;
let department_id = this.department_id;
if (!department_id) {
self.$message.error('请选择部门!');
this.saveLoading = false;
return;
}
self.$root.postReq("/web/userCtl/setDepartment", {department_id: department_id}).then(function (d) {
if (d.status == 0) {
self.getUserInfo();
self.saveLoading = false;
self.show_department = false;
} else {
self.$message.error(d.msg || "操作失败");
}
});
},
......
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