Commit cf1c4a13 by zhaoxiqing

gsb

parent fa88f61a
var system = require("../../system")
var settings = require("../../../config/settings");
const CtlBase = require("../ctl.base");
class DepartmentCtl extends CtlBase {
constructor() {
super(CtlBase.getServiceName(DepartmentCtl));
}
}
module.exports = DepartmentCtl;
...@@ -21,6 +21,7 @@ class UserCtl extends CtlBase { ...@@ -21,6 +21,7 @@ class UserCtl extends CtlBase {
this.ejobapplySve = system.getObject("service.ejobapplySve"); this.ejobapplySve = system.getObject("service.ejobapplySve");
this.redisClient = system.getObject("util.redisClient"); this.redisClient = system.getObject("util.redisClient");
this.mailClient = system.getObject("util.mailClient"); this.mailClient = system.getObject("util.mailClient");
this.departmentSve = system.getObject("service.departmentSve")
} }
async findAndCountAll(queryobj, obj, req) { async findAndCountAll(queryobj, obj, req) {
var pageInfo = obj.pageInfo || {}; var pageInfo = obj.pageInfo || {};
...@@ -1281,5 +1282,14 @@ class UserCtl extends CtlBase { ...@@ -1281,5 +1282,14 @@ class UserCtl extends CtlBase {
} }
} }
async suggestByName(qobj, pobj, req){
var name = this.trim(qobj.name);
if (!name) {
return system.getResult2([])
}
var list = await this.departmentSve.suggestByName(name);
return system.getResult2(list);
}
} }
module.exports = UserCtl; module.exports = UserCtl;
...@@ -70,6 +70,13 @@ class DbFactory { ...@@ -70,6 +70,13 @@ class DbFactory {
constraints: false, constraints: false,
}); });
this.db.models.user.belongsTo(this.db.models.department, {
constraints: false,
});
this.db.models.department.hasMany(this.db.models.user, {
constraints: false,
});
this.db.models.econtract.belongsTo(this.db.models.etemplate, { this.db.models.econtract.belongsTo(this.db.models.etemplate, {
constraints: false, constraints: false,
}); });
......
const system = require("../../system");
const Dao = require("../dao.base");
class DepartmentDao extends Dao {
constructor() {
super(Dao.getModelName(DepartmentDao));
}
async suggest(name) {
if (!name) {
return [];
}
var sql = "SELECT id, name FROM `p_department` WHERE name LIKE :queryLike AND deleted_at IS NULL ";
sql = sql + " ORDER BY id ASC ";
var list = await this.customQuery(sql, {queryLike: "%" + name + "%"});
return list || [];
}
}
module.exports = DepartmentDao;
...@@ -5,6 +5,7 @@ module.exports={ ...@@ -5,6 +5,7 @@ module.exports={
{"width":"120","label":"手机号","prop":"mobile","isShowTip":true,"isTmpl":false}, {"width":"120","label":"手机号","prop":"mobile","isShowTip":true,"isTmpl":false},
{"width":"100","label":"昵称","prop":"nickName","isShowTip":true,"isTmpl":false}, {"width":"100","label":"昵称","prop":"nickName","isShowTip":true,"isTmpl":false},
{"width":"100","label":"角色","prop":"Roles","isShowTip":true,"isTmpl":false}, {"width":"100","label":"角色","prop":"Roles","isShowTip":true,"isTmpl":false},
{"width":"200","label":"所属部门","prop":"department.name","isShowTip":true,"isTmpl":false},
{"width":"80","label":"状态","prop":"isEnabled","isShowTip":true,"isTmpl":false}, {"width":"80","label":"状态","prop":"isEnabled","isShowTip":true,"isTmpl":false},
{"width":"null","label":"操作","name":"null","isShowTip":false,"isTmpl":true,"isBtns":true}, {"width":"null","label":"操作","name":"null","isShowTip":false,"isTmpl":true,"isBtns":true},
] ]
...@@ -20,6 +21,9 @@ module.exports={ ...@@ -20,6 +21,9 @@ module.exports={
{"type":"input","label":"昵称","prop":"nickName","placeHolder":"昵称","style":""}, {"type":"input","label":"昵称","prop":"nickName","placeHolder":"昵称","style":""},
// {"type":"switch","label":"管理员","prop":"isAdmin","acText":"是管理员","inactText":"否","placeHolder":"请输入单次使用消耗的宝币数","style":""}, // {"type":"switch","label":"管理员","prop":"isAdmin","acText":"是管理员","inactText":"否","placeHolder":"请输入单次使用消耗的宝币数","style":""},
{"type":"select","label":"角色","refModel":"role","isMulti":true,"prop":"roles","labelField":"name","valueField":"id","style":""}, {"type":"select","label":"角色","refModel":"role","isMulti":true,"prop":"roles","labelField":"name","valueField":"id","style":""},
{"type":"select","label":"部门","refModel":"department","isMulti":false,"label":"部门","placeHolder":"请选择","prop":"department_id","labelField":"name","valueField":"id","style":"", "rules": [{ "required": true, "message": '请选择所属部门', "trigger": 'blur' }]},
] ]
}, },
], ],
......
const system = require("../../system");
const settings = require("../../../config/settings");
const uiconfig = system.getUiConfig2(settings.wxconfig.appId);
module.exports = (db, DataTypes) => {
return db.define("department", {
name: DataTypes.STRING,
}, {
paranoid: true, //假的删除
underscored: true,
version: true,
freezeTableName: true,
//freezeTableName: true,
// define the table's name
tableName: 'p_department',
validate: {},
indexes: [
// Create a unique index on email
// {
// unique: true,
// fields: ['email']
// },
//
// // Creates a gin index on data with the jsonb_path_ops operator
// {
// fields: ['data'],
// using: 'gin',
// operator: 'jsonb_path_ops'
// },
//
// // By default index name will be [table]_[fields]
// // Creates a multi column partial index
// {
// name: 'public_by_author',
// fields: ['author', 'status'],
// where: {
// status: 'public'
// }
// },
//
// // A BTREE index with a ordered field
// {
// name: 'title_index',
// method: 'BTREE',
// fields: ['author', {attribute: 'title', collate: 'en_US', order: 'DESC', length: 5}]
// }
]
});
}
...@@ -53,6 +53,7 @@ module.exports = (db, DataTypes) => { ...@@ -53,6 +53,7 @@ module.exports = (db, DataTypes) => {
appId3rd: DataTypes.STRING(64), appId3rd: DataTypes.STRING(64),
userCode3rd: DataTypes.STRING(64), userCode3rd: DataTypes.STRING(64),
branchCode3rd: DataTypes.STRING(64), branchCode3rd: DataTypes.STRING(64),
department_id : DataTypes.INTEGER,
}, { }, {
paranoid: true, //假的删除 paranoid: true, //假的删除
......
const system = require("../../system");
const ServiceBase = require("../sve.base");
class DepartmentService extends ServiceBase {
constructor() {
super(ServiceBase.getDaoName(DepartmentService));
}
async suggestByName(name){
return await this.dao.suggest(name);
}
}
module.exports = DepartmentService;
...@@ -60,10 +60,31 @@ class UserService extends ServiceBase { ...@@ -60,10 +60,31 @@ class UserService extends ServiceBase {
for (var row of page.rows) { for (var row of page.rows) {
// this.handleDate(row, ["pay_complete_time"], "YYYY-MM-DD", -8); // this.handleDate(row, ["pay_complete_time"], "YYYY-MM-DD", -8);
await this.setRoles(page.rows); await this.setRoles(page.rows);
await this.serDepartment(page.rows)
} }
} }
return page; return page;
} }
async serDepartment(list){
if(!list || list.length == 0) {
return;
}
var deIds = [];
for(var u of list) {
deIds.push(u.department_id);
}
var sql = [];
sql.push('SELECT id,name FROM `p_department` WHERE id IN (:deIds)');
var deList = await this.dao.customQuery(sql.join(" "), {deIds: deIds}) || [];
var dmap = {};
for(var de of deList) {
dmap[de.id] = de;
}
for(var u of list) {
u.department = dmap[u.department_id] || {};
}
}
async setRoles(list) { async setRoles(list) {
if(!list || list.length == 0) { if(!list || list.length == 0) {
......
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