594 lines
27 KiB
Vue
594 lines
27 KiB
Vue
|
|
<template>
|
|||
|
|
<validation-observer ref="newTeam">
|
|||
|
|
<awsui-layout id="update">
|
|||
|
|
<awsui-dialog
|
|||
|
|
v-loading="loading"
|
|||
|
|
element-loading-text="加载中"
|
|||
|
|
:title=title
|
|||
|
|
:visible.sync="dialogVisible"
|
|||
|
|
:width="width"
|
|||
|
|
:height=height
|
|||
|
|
:border=false
|
|||
|
|
:close-on-click-modal=false
|
|||
|
|
:before-close="handleClose">
|
|||
|
|
<!--awsui-dialog标签中的内容都可以自行去控制-->
|
|||
|
|
<div>
|
|||
|
|
<el-steps :active="stepActive" align-center>
|
|||
|
|
<el-step title="小组信息"></el-step>
|
|||
|
|
<el-step title="小组管理员"></el-step>
|
|||
|
|
<el-step title="小组权限"></el-step>
|
|||
|
|
</el-steps>
|
|||
|
|
<div style="width: 524px;height: 260px;border: 1px solid #e9e9e9;padding: 10px 10px 10px 15px;">
|
|||
|
|
<div v-if="stepActive == 1" style="position: relative;padding: 12px 0;">
|
|||
|
|
<awsui-form ref="infoForm" :model="baseInfo.form" :rules="baseInfo.rules" label-width="100px" label-position="top">
|
|||
|
|
<div v-if="isloaded">
|
|||
|
|
<awsui-icon-picker class="icon-team-div" :defaultOptions="iconPickerOptions" :value="{icon:baseInfo.form.teamLogo.code, color:baseInfo.form.teamLogo.color}" @change="changeIcon"></awsui-icon-picker>
|
|||
|
|
</div>
|
|||
|
|
<awsui-row>
|
|||
|
|
<awsui-col :span="18">
|
|||
|
|
<awsui-form-item label="名称" required>
|
|||
|
|
<validation-provider rules="required|teamName_formatCheck|maxLength:36"
|
|||
|
|
v-slot="{classes,errors}">
|
|||
|
|
<awsui-input placeholder="请输入名称" v-model="baseInfo.form.teamName"></awsui-input>
|
|||
|
|
<div :class="classes">{{ errors[0] }}</div>
|
|||
|
|
</validation-provider>
|
|||
|
|
</awsui-form-item>
|
|||
|
|
</awsui-col>
|
|||
|
|
</awsui-row>
|
|||
|
|
<awsui-row>
|
|||
|
|
<awsui-col :span="18">
|
|||
|
|
<awsui-form-item label="工作网络" required>
|
|||
|
|
<validation-provider rules="required|teamName_formatCheck|maxLength:36"
|
|||
|
|
v-slot="{classes,errors}">
|
|||
|
|
<awsui-select
|
|||
|
|
filterable
|
|||
|
|
allow-create
|
|||
|
|
default-first-option
|
|||
|
|
placeholder="请选择/输入工作网络"
|
|||
|
|
v-model="baseInfo.form.category"
|
|||
|
|
:options="baseInfo.form.categoryOpts"
|
|||
|
|
@change="changeCategory"
|
|||
|
|
>
|
|||
|
|
</awsui-select>
|
|||
|
|
<div :class="classes">{{ errors[0] }}</div>
|
|||
|
|
</validation-provider>
|
|||
|
|
</awsui-form-item>
|
|||
|
|
</awsui-col>
|
|||
|
|
</awsui-row>
|
|||
|
|
<awsui-row>
|
|||
|
|
<awsui-col :span="24">
|
|||
|
|
<awsui-form-item label="简介">
|
|||
|
|
<validation-provider rules="maxLength:255"
|
|||
|
|
v-slot="{classes,errors}">
|
|||
|
|
<awsui-input v-model="baseInfo.form.teamDesc" type="textarea" placeholder="请输入简介"></awsui-input>
|
|||
|
|
<div :class="classes">{{ errors[0] }}</div>
|
|||
|
|
</validation-provider>
|
|||
|
|
</awsui-form-item>
|
|||
|
|
</awsui-col>
|
|||
|
|
</awsui-row>
|
|||
|
|
</awsui-form>
|
|||
|
|
</div>
|
|||
|
|
<div v-if="stepActive == 2" v-loading="adminUserInfo.loading">
|
|||
|
|
<div style="height: 270px;overflow:auto;">
|
|||
|
|
<el-tree
|
|||
|
|
key="userTree"
|
|||
|
|
ref="userTree"
|
|||
|
|
:props="adminUserInfo.treeProps"
|
|||
|
|
:default-checked-keys="adminUserInfo.value"
|
|||
|
|
:expand-on-click-node=false
|
|||
|
|
:highlight-current=true
|
|||
|
|
empty-text=""
|
|||
|
|
@node-click="openUserNode"
|
|||
|
|
@node-expand="expandUserNode"
|
|||
|
|
@node-collapse="closeUserNode"
|
|||
|
|
@check-change="checkedUserNode"
|
|||
|
|
check-strictly
|
|||
|
|
:show-checkbox=true
|
|||
|
|
node-key="id"
|
|||
|
|
lazy
|
|||
|
|
:load="loadUserNode">
|
|||
|
|
<span slot-scope="{node, data}">
|
|||
|
|
<i class="awsui-iconfont tree-content-icon tree-content-icon-padding" :style="{'color': node.data.icon.color}" v-html="node.data.icon.icon"></i>
|
|||
|
|
<span>{{node.label}}</span>
|
|||
|
|
</span>
|
|||
|
|
</el-tree>
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
<div v-if="stepActive == 3" v-loading="permInfo.loading">
|
|||
|
|
<el-select
|
|||
|
|
style="width: 100%;"
|
|||
|
|
v-model="permInfo.ws.value"
|
|||
|
|
filterable
|
|||
|
|
default-first-option
|
|||
|
|
size="small"
|
|||
|
|
placeholder="请选择资产库"
|
|||
|
|
@change="changeWs">
|
|||
|
|
<el-option
|
|||
|
|
v-for="item in permInfo.ws.options"
|
|||
|
|
:key="item.value"
|
|||
|
|
:label="item.label"
|
|||
|
|
:value="item.value">
|
|||
|
|
</el-option>
|
|||
|
|
</el-select>
|
|||
|
|
<div style="height: 238px;overflow: auto;">
|
|||
|
|
<el-tree v-if="permInfo.ws.value != ''"
|
|||
|
|
key="repositoryTree"
|
|||
|
|
ref="repositoryTree"
|
|||
|
|
:props="permInfo.tree.props"
|
|||
|
|
:default-checked-keys="permInfo.tree.value"
|
|||
|
|
:expand-on-click-node=false
|
|||
|
|
:highlight-current=true
|
|||
|
|
empty-text=""
|
|||
|
|
@node-click="openNode"
|
|||
|
|
@node-expand="expandNode"
|
|||
|
|
@node-collapse="closeNode"
|
|||
|
|
@check-change="checkedNode"
|
|||
|
|
check-strictly
|
|||
|
|
show-checkbox
|
|||
|
|
node-key="versionId"
|
|||
|
|
lazy
|
|||
|
|
:load="loadNode">
|
|||
|
|
<span slot-scope="{node, data}">
|
|||
|
|
<i class="awsui-iconfont tree-content-icon tree-content-icon-padding" :style="{'color': node.data.icon.color}" v-html="node.data.icon.icon"></i>
|
|||
|
|
<span>{{node.data.name}}</span>
|
|||
|
|
</span>
|
|||
|
|
</el-tree>
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
<span slot="footer" class="dialog-footer">
|
|||
|
|
<awsui-button v-show="stepActive == 2 || stepActive == 3" class="button-general-color-reverse" @click="function(){stepActive--}">上一步</awsui-button>
|
|||
|
|
<awsui-button v-show="stepActive == 1 || stepActive == 2" class="button-general-color" type="primary" @click="next">下一步</awsui-button>
|
|||
|
|
<awsui-button v-show="stepActive == 3" class="button-general-color" type="primary" @click="submit">确定</awsui-button>
|
|||
|
|
</span>
|
|||
|
|
</awsui-dialog>
|
|||
|
|
</awsui-layout>
|
|||
|
|
</validation-observer>
|
|||
|
|
</template>
|
|||
|
|
|
|||
|
|
<script>
|
|||
|
|
import awsuiAxios from "../../awsuiAxios"
|
|||
|
|
export default {
|
|||
|
|
name: "CooperationUpdate",
|
|||
|
|
props: {
|
|||
|
|
visible: {
|
|||
|
|
type: Boolean,
|
|||
|
|
default: false
|
|||
|
|
},
|
|||
|
|
teamId: {// 小组ID
|
|||
|
|
type: String,
|
|||
|
|
default: ''
|
|||
|
|
},
|
|||
|
|
title: {// 标题
|
|||
|
|
type: String,
|
|||
|
|
default: '新建'
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
data() {
|
|||
|
|
return {
|
|||
|
|
dialogVisible: false,
|
|||
|
|
loading: false,
|
|||
|
|
width: '600px',
|
|||
|
|
height: '350px',
|
|||
|
|
|
|||
|
|
addressType: 'user',
|
|||
|
|
baseInfo: {// 基本信息
|
|||
|
|
form: {
|
|||
|
|
teamName: '',
|
|||
|
|
category: '',
|
|||
|
|
categoryOpts: [],
|
|||
|
|
teamDesc: '',
|
|||
|
|
teamLogo: {
|
|||
|
|
color: '',
|
|||
|
|
code: ''
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
rules: {
|
|||
|
|
category: [
|
|||
|
|
{ required: true, message: '[工作网络]不允许为空', trigger: 'blur' },
|
|||
|
|
],
|
|||
|
|
teamName: [
|
|||
|
|
{ required: true, message: '[名称]不允许为空', trigger: 'blur' },
|
|||
|
|
]
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
},
|
|||
|
|
adminUserInfo: {// 管理员信息
|
|||
|
|
value: [],
|
|||
|
|
treeProps: {
|
|||
|
|
label: 'name',
|
|||
|
|
isLeaf: 'leaf'
|
|||
|
|
},
|
|||
|
|
loading: false,
|
|||
|
|
},
|
|||
|
|
permInfo: {// 权限信息
|
|||
|
|
loading: false,
|
|||
|
|
ws: {
|
|||
|
|
value: '',
|
|||
|
|
options: []
|
|||
|
|
},
|
|||
|
|
tree: {
|
|||
|
|
props: {
|
|||
|
|
children: 'children',
|
|||
|
|
label: 'label',
|
|||
|
|
isLeaf: 'leaf'
|
|||
|
|
},
|
|||
|
|
value: []
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
stepActive: 1,
|
|||
|
|
isloaded: false,
|
|||
|
|
iconPickerOptions: {
|
|||
|
|
type: "background", //必传,type为"background"时,改变背景颜色,图标颜色固定,type为"icon"时改变图标颜色,背景颜色固定
|
|||
|
|
fatherWidth: 70, //非必传,展示区域宽高,type为"background"时代表外层圆形直径,type为"icon"时代表外层正方形宽高,如不传分别默认80px和30px
|
|||
|
|
iconFontSize: 52, //非必传,展示区域iconfont字体大小,如不传分别默认30px和16px
|
|||
|
|
colorList: ["#dc4f39", "#ff9421", "#009b52", "#3383da", "#009688", "#6600d5", "#0b0e7b", "#666666", "#e6e8ea"], //必传,颜色可选项数组
|
|||
|
|
iconfontArray: window.iconfontArray, //必传,iconfont可选项数组
|
|||
|
|
}
|
|||
|
|
};
|
|||
|
|
},
|
|||
|
|
mounted() {
|
|||
|
|
},
|
|||
|
|
methods: {
|
|||
|
|
changeCategory(val) {// 变更分类
|
|||
|
|
this.baseInfo.form.category = val;
|
|||
|
|
},
|
|||
|
|
initData() {// 初始化查询
|
|||
|
|
const that = this;
|
|||
|
|
// axios查询,新建返回分类,资产库列表,修改返回所有信息
|
|||
|
|
that.loading = true;
|
|||
|
|
const data = {
|
|||
|
|
url:'jd',
|
|||
|
|
data:{
|
|||
|
|
cmd: 'com.actionsoft.apps.coe.pal.cooperation_team_create_or_update_data_query',
|
|||
|
|
teamId: that.teamId
|
|||
|
|
}
|
|||
|
|
};
|
|||
|
|
awsuiAxios.post(data).then(function (ro) {
|
|||
|
|
if (ro.result == 'ok') {
|
|||
|
|
const data = ro.data;
|
|||
|
|
that.baseInfo.form.teamName = data.teamName;
|
|||
|
|
that.baseInfo.form.category = data.category;
|
|||
|
|
that.baseInfo.form.categoryOpts = data.categoryArr;
|
|||
|
|
that.baseInfo.form.teamDesc = data.teamDesc;
|
|||
|
|
that.baseInfo.form.teamLogo = data.teamLogo;
|
|||
|
|
that.isloaded = true;
|
|||
|
|
that.adminUserInfo.value = data.admins;
|
|||
|
|
that.permInfo.ws.value = data.wsId;
|
|||
|
|
that.permInfo.ws.options = data.wsArr;
|
|||
|
|
that.permInfo.tree.value = data.repositorys;
|
|||
|
|
} else {
|
|||
|
|
that.$message.error(ro.msg);
|
|||
|
|
}
|
|||
|
|
that.loading = false;
|
|||
|
|
}).catch(error=>{
|
|||
|
|
console.log(error);
|
|||
|
|
that.loading = false;
|
|||
|
|
})
|
|||
|
|
},
|
|||
|
|
next() {
|
|||
|
|
const that = this;
|
|||
|
|
if (this.stepActive == 1) {
|
|||
|
|
this.$refs.newTeam.validate().then(valid => {
|
|||
|
|
if (!valid) {
|
|||
|
|
return
|
|||
|
|
}
|
|||
|
|
this.stepActive++;
|
|||
|
|
});
|
|||
|
|
} else if (this.stepActive == 2) {
|
|||
|
|
if (that.adminUserInfo.value.length == 0) {
|
|||
|
|
that.$message('未选择任何管理员,保存时默认' + (that.teamId == '' ? '创建' : '修改') + '人为管理员');
|
|||
|
|
}
|
|||
|
|
this.stepActive++;
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
clearAllData() {// 清空数据
|
|||
|
|
const that = this;
|
|||
|
|
that.baseInfo.form.teamName = '';
|
|||
|
|
that.baseInfo.form.category = '';
|
|||
|
|
that.baseInfo.form.teamDesc = '';
|
|||
|
|
that.baseInfo.form.teamLogo = {};
|
|||
|
|
that.adminUserInfo.value = [];
|
|||
|
|
that.permInfo.ws.value = '';
|
|||
|
|
that.permInfo.ws.options = [];
|
|||
|
|
that.permInfo.tree.value = [];
|
|||
|
|
that.stepActive = 1;
|
|||
|
|
that.isloaded = false;
|
|||
|
|
},
|
|||
|
|
handleClose(done) {
|
|||
|
|
this.closeDlalog('cancel');
|
|||
|
|
done();
|
|||
|
|
},
|
|||
|
|
cancel() {
|
|||
|
|
this.closeDlalog('cancel');
|
|||
|
|
},
|
|||
|
|
submit() {
|
|||
|
|
const wsId = this.permInfo.ws.value;
|
|||
|
|
if (wsId == '') {
|
|||
|
|
this.$message({message: '请先创建资产库再进行小组创建',type: 'warning'});
|
|||
|
|
return;
|
|||
|
|
}
|
|||
|
|
this.closeDlalog('save');
|
|||
|
|
},
|
|||
|
|
closeDlalog(type) {// 取消/确定之后的关闭
|
|||
|
|
const that = this;
|
|||
|
|
if (type == 'save') {
|
|||
|
|
const teamId = that.teamId;
|
|||
|
|
const teamName = that.baseInfo.form.teamName;
|
|||
|
|
const category = that.baseInfo.form.category;
|
|||
|
|
const teamDesc = that.baseInfo.form.teamDesc;
|
|||
|
|
const teamLogo = that.baseInfo.form.teamLogo;
|
|||
|
|
const admins = that.adminUserInfo.value;
|
|||
|
|
const wsId = that.permInfo.ws.value;
|
|||
|
|
const repositorys = that.permInfo.tree.value;
|
|||
|
|
const data = {
|
|||
|
|
teamId: teamId,
|
|||
|
|
teamName: teamName,
|
|||
|
|
category: category,
|
|||
|
|
teamDesc: teamDesc,
|
|||
|
|
teamLogo: teamLogo,
|
|||
|
|
admins: admins,
|
|||
|
|
wsId: wsId,
|
|||
|
|
repositorys: repositorys
|
|||
|
|
};
|
|||
|
|
// 保存
|
|||
|
|
that.loading = true;
|
|||
|
|
const params = {
|
|||
|
|
url:'jd',
|
|||
|
|
data:{
|
|||
|
|
cmd: 'com.actionsoft.apps.coe.pal.cooperation_team_create_or_update_data_save',
|
|||
|
|
data: JSON.stringify(data)
|
|||
|
|
}
|
|||
|
|
};
|
|||
|
|
awsuiAxios.post(params).then(function (ro) {
|
|||
|
|
that.loading = false;
|
|||
|
|
if (ro.result == 'ok') {
|
|||
|
|
that.$message({
|
|||
|
|
message: '保存成功',
|
|||
|
|
type: 'success'
|
|||
|
|
});
|
|||
|
|
that.$emit('getResult', 'ok');
|
|||
|
|
that.dialogVisible = false;
|
|||
|
|
// 清空所有数据
|
|||
|
|
that.clearAllData();
|
|||
|
|
} else {
|
|||
|
|
that.$message.error(ro.msg);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
}).catch(error=>{
|
|||
|
|
console.log(error);
|
|||
|
|
that.loading = false;
|
|||
|
|
})
|
|||
|
|
} else {
|
|||
|
|
that.$emit('cancel');
|
|||
|
|
that.dialogVisible = false;
|
|||
|
|
// 清空所有数据
|
|||
|
|
that.clearAllData();
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
/**********设置管理员*************/
|
|||
|
|
openUserNode(obj, node, tree) {// 打开一只模型文件
|
|||
|
|
|
|||
|
|
},
|
|||
|
|
loadUserNode(node, resolve) {// `动态`加载
|
|||
|
|
const that = this;
|
|||
|
|
that.adminUserInfo.loading = true;
|
|||
|
|
const data = {
|
|||
|
|
url:'jd',
|
|||
|
|
data:{
|
|||
|
|
cmd: 'com.actionsoft.apps.coe.pal.cooperation_pal_user_tree_subjson',
|
|||
|
|
pid: ''
|
|||
|
|
}
|
|||
|
|
};
|
|||
|
|
if (node.level === 0) {
|
|||
|
|
// 获取根目录
|
|||
|
|
data.data.parentType = '';
|
|||
|
|
} else {
|
|||
|
|
// 获取其他目录
|
|||
|
|
data.data.pid = node.data.id;
|
|||
|
|
data.data.parentType = node.data.type;
|
|||
|
|
}
|
|||
|
|
// 查询数据
|
|||
|
|
awsuiAxios.post(data).then(function (ro) {
|
|||
|
|
// 设置是否可选中
|
|||
|
|
const isDept = that.addressType.indexOf('dept') > -1;
|
|||
|
|
const isUser = that.addressType.indexOf('user') > -1;
|
|||
|
|
const isRole = that.addressType.indexOf('role') > -1;
|
|||
|
|
for (let i = 0; i < ro.data.length; i++) {
|
|||
|
|
const curr = ro.data[i];
|
|||
|
|
if (curr.type == 'company') {
|
|||
|
|
curr.disabled = true;
|
|||
|
|
} else {
|
|||
|
|
if (isDept && curr.type == 'dept') curr.disabled = false;
|
|||
|
|
if (!isDept && curr.type == 'dept') curr.disabled = true;
|
|||
|
|
if (isUser && curr.type == 'user') curr.disabled = false;
|
|||
|
|
if (!isUser && curr.type == 'user') curr.disabled = true;
|
|||
|
|
if (curr.type == 'user') {
|
|||
|
|
curr.leaf = true;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
resolve(ro.data);
|
|||
|
|
that.adminUserInfo.loading = false;
|
|||
|
|
if (node.level == 0 && ro.data.length > 0) {
|
|||
|
|
const tree = that.$refs.userTree;
|
|||
|
|
tree.getNode(ro.data[0].id).expand();
|
|||
|
|
setTimeout(function(){
|
|||
|
|
const childNode = tree.getNode(ro.data[0].id).childNodes[0];
|
|||
|
|
if (childNode != null) {
|
|||
|
|
childNode.expand();
|
|||
|
|
}
|
|||
|
|
}, 500);
|
|||
|
|
}
|
|||
|
|
}).catch(error=>{
|
|||
|
|
console.log(error);
|
|||
|
|
})
|
|||
|
|
},
|
|||
|
|
expandUserNode(obj, node, tree) {// 展开节点
|
|||
|
|
|
|||
|
|
},
|
|||
|
|
closeUserNode(obj, node, tree) {// 关闭时清空,下次展开重新请求动态加载
|
|||
|
|
node.childNodes = [];
|
|||
|
|
node.loaded = false;
|
|||
|
|
},
|
|||
|
|
checkedUserNode(data, checked, subChecked) {// 节点选中事件
|
|||
|
|
// 获取所有子节点
|
|||
|
|
const that = this;
|
|||
|
|
const currUserId = data.id;
|
|||
|
|
if (checked) {// 选中
|
|||
|
|
const userIds = that.adminUserInfo.value;
|
|||
|
|
if (userIds.indexOf(currUserId) == -1) {
|
|||
|
|
userIds.push(currUserId);
|
|||
|
|
}
|
|||
|
|
} else {// 取消选中
|
|||
|
|
const userIds = that.adminUserInfo.value;
|
|||
|
|
const tempArr = [];
|
|||
|
|
for (let i = 0; i < userIds.length; i++) {
|
|||
|
|
if (userIds[i] != currUserId) {
|
|||
|
|
tempArr.push(userIds[i]);
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
that.adminUserInfo.value = tempArr;
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
/************资产库权限设置**************/
|
|||
|
|
changeWs(targetWsId) {// 变更资产库
|
|||
|
|
const that = this;
|
|||
|
|
that.permInfo.ws.value = '';
|
|||
|
|
that.permInfo.tree.value;
|
|||
|
|
that.$nextTick(function () {
|
|||
|
|
that.permInfo.ws.value = targetWsId;
|
|||
|
|
})
|
|||
|
|
},
|
|||
|
|
openNode(obj, node, tree) {// 点击数
|
|||
|
|
|
|||
|
|
},
|
|||
|
|
loadNode(node, resolve) {
|
|||
|
|
const that = this;
|
|||
|
|
that.permInfo.loading = true;
|
|||
|
|
const data = {
|
|||
|
|
url:'jd',
|
|||
|
|
data:{
|
|||
|
|
}
|
|||
|
|
};
|
|||
|
|
data.data.wsId = that.permInfo.ws.value;
|
|||
|
|
data.data.teamId = '';
|
|||
|
|
data.data.cmd = 'com.actionsoft.apps.coe.pal_processlevel_tree_data';
|
|||
|
|
if (node.level === 0) {
|
|||
|
|
// 获取根目录
|
|||
|
|
data.data.pid = '';
|
|||
|
|
} else {
|
|||
|
|
// 获取其他目录
|
|||
|
|
data.data.pid = node.data.id;
|
|||
|
|
}
|
|||
|
|
// 查询数据
|
|||
|
|
awsuiAxios.post(data).then(function (ro) {
|
|||
|
|
// 根节点设置只读
|
|||
|
|
for (let i = 0; i < ro.data.length; i++) {
|
|||
|
|
if (ro.data[i].id.length < 36) {
|
|||
|
|
ro.data[i].disabled = true;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
resolve(ro.data);
|
|||
|
|
that.permInfo.loading = false;
|
|||
|
|
if (node.level == 0 && ro.data.length > 0) {
|
|||
|
|
const tree = that.$refs.repositoryTree;
|
|||
|
|
tree.getNode(ro.data[0].id).expand();
|
|||
|
|
setTimeout(function(){
|
|||
|
|
const childNode = tree.getNode(ro.data[0].id).childNodes[0];
|
|||
|
|
if (childNode != null) {
|
|||
|
|
childNode.expand();
|
|||
|
|
}
|
|||
|
|
}, 500);
|
|||
|
|
}
|
|||
|
|
}).catch(error=>{
|
|||
|
|
console.log(error);
|
|||
|
|
})
|
|||
|
|
},
|
|||
|
|
expandNode(obj, node, tree) {// 展开节点
|
|||
|
|
|
|||
|
|
},
|
|||
|
|
closeNode(obj, node, tree) {// 关闭时清空,下次展开重新请求动态加载
|
|||
|
|
node.childNodes = [];
|
|||
|
|
node.loaded = false;
|
|||
|
|
},
|
|||
|
|
checkedNode(data, checked, subChecked) {// 节点选中事件
|
|||
|
|
// 获取所有子节点
|
|||
|
|
const that = this;
|
|||
|
|
const params = {
|
|||
|
|
url:'jd',
|
|||
|
|
data:{
|
|||
|
|
cmd: 'com.actionsoft.apps.coe.pal_publish_publishgroup_repository_data_query',
|
|||
|
|
wsId: that.permInfo.ws.value,
|
|||
|
|
pid: data.id,
|
|||
|
|
}
|
|||
|
|
};
|
|||
|
|
awsuiAxios.post(params).then(function (ro) {
|
|||
|
|
const childVerIds = ro.data;
|
|||
|
|
const currVerId = data.versionId;
|
|||
|
|
if (checked) {// 选中
|
|||
|
|
const checkedVerIds = that.permInfo.tree.value;
|
|||
|
|
if (checkedVerIds.indexOf(currVerId) == -1) {
|
|||
|
|
checkedVerIds.push(currVerId);
|
|||
|
|
}
|
|||
|
|
for (let i = 0; i < childVerIds.length; i++) {
|
|||
|
|
if (checkedVerIds.indexOf(childVerIds[i]) == -1) {
|
|||
|
|
checkedVerIds.push(childVerIds[i]);
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
that.$refs.repositoryTree.setCheckedKeys(checkedVerIds);
|
|||
|
|
} else {// 取消选中
|
|||
|
|
const checkedVerIds = that.permInfo.tree.value;
|
|||
|
|
const tempArr = [];
|
|||
|
|
for (let i = 0; i < checkedVerIds.length; i++) {
|
|||
|
|
if (checkedVerIds[i] != currVerId && childVerIds.indexOf(checkedVerIds[i]) == -1) {
|
|||
|
|
tempArr.push(checkedVerIds[i]);
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
that.permInfo.tree.value = tempArr;
|
|||
|
|
that.$refs.repositoryTree.setCheckedKeys([]);
|
|||
|
|
}
|
|||
|
|
}).catch(error=>{
|
|||
|
|
console.log(error);
|
|||
|
|
})
|
|||
|
|
},
|
|||
|
|
changeIcon(icon) {
|
|||
|
|
this.baseInfo.form.teamLogo.code = icon.icon;
|
|||
|
|
this.baseInfo.form.teamLogo.color = icon.color;
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
watch: {
|
|||
|
|
visible(val) {
|
|||
|
|
this.dialogVisible = val;
|
|||
|
|
if (val) {// 打开
|
|||
|
|
this.initData();
|
|||
|
|
} else {// 关闭
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
</script>
|
|||
|
|
|
|||
|
|
<style scoped>
|
|||
|
|
#update >>> .el-step__title {
|
|||
|
|
font-size: 12px;
|
|||
|
|
}
|
|||
|
|
#update >>> .awsui-icon-picker-box1 {
|
|||
|
|
border-radius: 15%;
|
|||
|
|
}
|
|||
|
|
.icon-team-div {
|
|||
|
|
height: 70px;
|
|||
|
|
width: 70px;
|
|||
|
|
line-height: 70px;
|
|||
|
|
display: inline-block;
|
|||
|
|
position:absolute;
|
|||
|
|
z-index: 2;
|
|||
|
|
right: 30px;
|
|||
|
|
top: 50px;
|
|||
|
|
}
|
|||
|
|
.icon-team {
|
|||
|
|
color: white;
|
|||
|
|
font-size: 52px;
|
|||
|
|
}
|
|||
|
|
</style>
|