Commit c540a04b by 蒋勇

d

parent 49575265
......@@ -7,6 +7,7 @@ const logCtl = system.getObject("web.common.oplogCtl");
class OrgCtl extends CtlBase{
constructor(){
super("auth",CtlBase.getServiceName(OrgCtl));
this.compSvr=system.getObject("service.common.companySve");
}
//检查是否已经存在主要岗位
async checkMainPosition(p,q,req){
......@@ -19,6 +20,7 @@ class OrgCtl extends CtlBase{
return system.getResult(rtn);
}
async create(p,q,req){
return super.create(p,q,req);
}
async delete(p,q,req){
......@@ -28,7 +30,11 @@ class OrgCtl extends CtlBase{
return super.update(p,q,req);
}
async initOrgs(p,q,req){
var tocompany=req.session.tocompany;
var tocompany=req.session.tocompany;
var cmkey=p.comkey;
if(cmkey){
tocompany =await this.compSvr.findOne({companykey:cmkey});
}
//按照公司名称查询,是否存在节点,不存在,就创建根节点
//如果存在就按照名称查询出当前和她的字节点
var rtn=await this.service.initOrgs(tocompany,req.appid);
......
......@@ -11,9 +11,9 @@ module.exports={
ctls:[
{"type":"input","label":"编码","prop":"code","placeHolder":"输入组织编码","style":"",rules:[ { "required": true, "message": ' ', "trigger": 'blur' },]},
{"type":"input","label":"名称","prop":"name","placeHolder":"输入组织名称","style":"",rules:[ { "required": true, "message": ' ', "trigger": 'blur' },]},
{"type":"switch","label":"是否岗位","targetprop":"Roles,isMain","prop":"isPosition","acText":"是","inactText":"否","placeHolder":"","style":""},
{"type":"select","refModel":"auth.role","defaultHide":true,"isMulti":true,"label":"角色","prop":"Roles","labelField":"name","valueField":"id","style":""},
{"type":"switch","label":"是否负责人岗","defaultHide":true,"prop":"isMain","acText":"是","inactText":"否","placeHolder":"","style":""},
// {"type":"switch","label":"是否岗位","targetprop":"Roles,isMain","prop":"isPosition","acText":"是","inactText":"否","placeHolder":"","style":""},
// {"type":"select","refModel":"auth.role","defaultHide":true,"isMulti":true,"label":"角色","prop":"Roles","labelField":"name","valueField":"id","style":""},
// {"type":"switch","label":"是否负责人岗","defaultHide":true,"prop":"isMain","acText":"是","inactText":"否","placeHolder":"","style":""},
{"type":"btn","label":"保存","prop":"btnLogin","placeHolder":"保存","style":{"width":"150px","margin-left":"100px","margin-top":"20px"},"face":"warning"},
]
}
......
module.exports={
"list":{
columnMetaData:[
{"width":"100","label":"应用","prop":"app.name","isShowTip":true,"isTmpl":false},
{"width":"100","label":"昵称","prop":"nickName","isShowTip":true,"isTmpl":false},
{"width":"100","label":"登录账号","prop":"userName","isShowTip":true,"isTmpl":false},
{"width":"100","label":"角色","prop":"Roles","isShowTip":true,"isTmpl":false},
{"width":"100","label":"管理员","prop":"isAdmin","isShowTip":true,"isTmpl":false},
{"width":"80","label":"状态","prop":"isEnabled","isShowTip":true,"isTmpl":false},
{"width":"null","label":"操作","name":"null","isShowTip":false,"isTmpl":true,"isBtns":true},
]
......
......@@ -34,6 +34,7 @@ class OrgService extends ServiceBase{
}
async update(p,q,req){
var self=this;
var cmkey=p.comkey;//如果是来自租户界面的修改
return this.db.transaction(async function (t) {
p.isLeaf=p.isPosition;
var orgupdate=await self.dao.model.findOne({where:{id:p.id},transaction:t});
......@@ -48,7 +49,7 @@ class OrgService extends ServiceBase{
await ud.save({transaction:t});
}
//}
if(p.Roles){
if(p.Roles && !cmkey){//如果不是来自租户界面的修改
var roles=await self.db.models.role.findAll({where:{id:{[self.db.Op.in]:p.Roles}}});
await orgupdate.setRoles(roles,{transaction:t});
//同时要给这个岗位下的user,更新角色 todo
......@@ -110,12 +111,20 @@ class OrgService extends ServiceBase{
}
async create(p,q,req){
var self=this;
var cmkey=p.comkey;
return this.db.transaction(async function (t) {
if(cmkey){
var tmpcompany =await self.db.models.company.findOne({where:{companykey:cmkey},transaction:t});
p.company_id=tmpcompany.id;
}
var roles=await self.db.models.role.findAll({where:{id:{[self.db.Op.in]:p.Roles}}});
p.isLeaf=p.isPosition;
p.app_id=req.appid;
p.app_id=null;
var orgnew=await self.dao.model.create(p,{transaction:t});
await orgnew.setRoles(roles,{transaction:t});
if(roles && roles.length>0){
await orgnew.setRoles(roles,{transaction:t});
}
var orgparent=await self.dao.model.findOne({
order:[["code","ASC"]],
where:{id:orgnew.org_id},transaction:t,
......@@ -152,7 +161,8 @@ class OrgService extends ServiceBase{
return this.db.transaction(async function (t) {
var org=await self.dao.model.findOne({
order:[["code","ASC"]],
where:{name:company.name,company_id:company.id,app_id:appid},transaction:t,
//where:{name:company.name,company_id:company.id,app_id:appid},transaction:t,
where:{name:company.name,company_id:company.id},transaction:t,
include:[
{model:self.db.models.org,as:"orgs", order:[["code","ASC"]],include:[
{model:self.db.models.org,as:"orgs",order:[["code","ASC"]],include:[
......@@ -173,7 +183,7 @@ class OrgService extends ServiceBase{
isMain:false,
orgpath:"/",
company_id:company.id,
app_id:appid
app_id:null,
},{transaction:t});
return root;
}
......
......@@ -13,7 +13,7 @@
orgidchageto:null,
refwhereorg:{isPosition:true},
crow:null,
selCompanyid:'',
selCompanyKey:null,
}
},
mounted:function(){
......@@ -22,7 +22,7 @@
},
created:function(){
var cmpid=this.$router.history.current.query.compid;
this.selCompanyid=cmpid;
this.selCompanyKey=cmpid;
},
methods:{
beforesave(model){
......@@ -54,6 +54,7 @@
fm.orgpath=parentdata.orgpath+"/"+fm.name;
fm.org_id=parentdata.id;
}
fm.comkey=self.selCompanyKey;
var porgs=await self.$root.postReq("/web/auth/orgCtl/update",fm);
if(porgs.status==0 && porgs.data){
self.formatroles(porgs.data);
......@@ -68,6 +69,7 @@
fm.orgpath=currentData.orgpath+"/"+fm.name;
}
fm.org_id=currentData.id;
fm.comkey=self.selCompanyKey;
var porgs=await self.$root.postReq("/web/auth/orgCtl/create",fm);
if(porgs.status==0 && porgs.data){
self.formatroles(porgs.data);
......@@ -121,7 +123,7 @@
},
async fetchtreedata(node, resolve,expandkeys){
if (node.level === 0) {
var orgroot=await this.$root.postReq("/web/auth/orgCtl/initOrgs");
var orgroot=await this.$root.postReq("/web/auth/orgCtl/initOrgs",{comkey:this.selCompanyKey});
this.formatroles([orgroot.data]);
expandkeys.push(orgroot.data.id);
this.$refs.userGrid.linkInInitQuery("opath","/");
......@@ -246,6 +248,13 @@
return "停用";
}
}
if(column.property=="isAdmin"){
if(row["isAdmin"]){
return "是";
}else{
return "否";
}
}
if(column.property=="Roles"){
var tmp=[];
var ids=[];
......
......@@ -46,7 +46,7 @@
this.$router.push({path:"/comapps",query:{"compid":row.companykey}});
}
if(key=="comorgs"){
this.$router.push({path:"/comorgs",query:{"compid":row.id}});
this.$router.push({path:"/comorgs",query:{"compid":row.companykey}});
}
},
onColFormater(row,column,cellvalue,index){
......
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