伊利项目【架构筛选】
This commit is contained in:
parent
61a94211fc
commit
dc304410cf
@ -10,7 +10,11 @@ export default new Vuex.Store({
|
|||||||
navigationQueryVisible: false, // 导航栏输入框的快速搜索结果显示控制
|
navigationQueryVisible: false, // 导航栏输入框的快速搜索结果显示控制
|
||||||
navigationConditionQueryVisible: false, // 导航栏输入框的快速搜索结果显示控制
|
navigationConditionQueryVisible: false, // 导航栏输入框的快速搜索结果显示控制
|
||||||
wsId: '',// 资产库id
|
wsId: '',// 资产库id
|
||||||
teamId: ''// 小组id
|
teamId: '',// 小组id
|
||||||
|
createUsers:[],
|
||||||
|
orgIds:[],
|
||||||
|
methodIds:[],
|
||||||
|
pageFunction: {}
|
||||||
},
|
},
|
||||||
getters: {// 提供获取state相关数据的方法
|
getters: {// 提供获取state相关数据的方法
|
||||||
getTopMainHeightFn(state) {// 获取PAL主页面主体高度
|
getTopMainHeightFn(state) {// 获取PAL主页面主体高度
|
||||||
@ -28,6 +32,18 @@ export default new Vuex.Store({
|
|||||||
},
|
},
|
||||||
getWsIdFn(state) {// 获取资产库id
|
getWsIdFn(state) {// 获取资产库id
|
||||||
return state.wsId;
|
return state.wsId;
|
||||||
|
},
|
||||||
|
getCreateUsers(state){
|
||||||
|
return state.createUsers;
|
||||||
|
},
|
||||||
|
getOrgIds(state){
|
||||||
|
return state.orgIds;
|
||||||
|
},
|
||||||
|
getMethodIds(state){
|
||||||
|
return state.methodIds;
|
||||||
|
},
|
||||||
|
getPageFunction(state){
|
||||||
|
return state.pageFunction;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
actions: {// 提供跟后台接口交互的方法,并且调用mutations提供的方法进行更新提交
|
actions: {// 提供跟后台接口交互的方法,并且调用mutations提供的方法进行更新提交
|
||||||
@ -46,6 +62,18 @@ export default new Vuex.Store({
|
|||||||
},
|
},
|
||||||
setWsIdFn({commit, state}, wsId) {
|
setWsIdFn({commit, state}, wsId) {
|
||||||
commit('setWsIdFn', wsId)
|
commit('setWsIdFn', wsId)
|
||||||
|
},
|
||||||
|
setCreateUsers({commit, state},createUsers){
|
||||||
|
commit('setCreateUsers', createUsers)
|
||||||
|
},
|
||||||
|
setOrgIds({commit, state},orgIds){
|
||||||
|
commit('setOrgIds', orgIds)
|
||||||
|
},
|
||||||
|
setMethodIds({commit, state},methodIds){
|
||||||
|
commit('setMethodIds', methodIds)
|
||||||
|
},
|
||||||
|
setPageFunction({commit,state},functionObj){
|
||||||
|
commit('setPageFunction',functionObj)
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
mutations: {// 提供存储设置state数据的方法
|
mutations: {// 提供存储设置state数据的方法
|
||||||
@ -64,6 +92,20 @@ export default new Vuex.Store({
|
|||||||
setWsIdFn(state, wsId) {// 设置资产库Id
|
setWsIdFn(state, wsId) {// 设置资产库Id
|
||||||
state.wsId = wsId;
|
state.wsId = wsId;
|
||||||
},
|
},
|
||||||
|
setCreateUsers(state,createUsers){
|
||||||
|
state.createUsers = createUsers;
|
||||||
|
},
|
||||||
|
setOrgIds(state,orgIds){
|
||||||
|
state.orgIds = orgIds;
|
||||||
|
},
|
||||||
|
setMethodIds(state,methodIds){
|
||||||
|
state.methodIds = methodIds;
|
||||||
|
},
|
||||||
|
setPageFunction(state,functionObj){
|
||||||
|
for (let key in functionObj) {
|
||||||
|
state.pageFunction[key] = functionObj[key]
|
||||||
|
}
|
||||||
|
},
|
||||||
edit(state, data) {
|
edit(state, data) {
|
||||||
for (let p in data) {
|
for (let p in data) {
|
||||||
state[p] = data[p];
|
state[p] = data[p];
|
||||||
|
|||||||
@ -1,10 +1,10 @@
|
|||||||
<template>
|
<template>
|
||||||
<el-container id="repository" :style="{'width': '100%', 'height': mainHeight}">
|
<el-container id="repository" :style="{'width': '100%', 'height': mainHeight}">
|
||||||
<el-aside width="280px" style="overflow: hidden;border-right: 1px solid #F2F2F2">
|
<el-aside width="280px" style="overflow: hidden;border-right: 1px solid #F2F2F2">
|
||||||
<RepositoryMain v-if="reFresh" ref="repositoryMain" key="repositoryMain"/>
|
<RepositoryMain v-if="reFresh && conditionReFresh" :condition-data="conditionData" ref="repositoryMain" key="repositoryMain"/>
|
||||||
</el-aside>
|
</el-aside>
|
||||||
<el-main>
|
<el-main>
|
||||||
<component ref="component" :is="mainContent" :uuid="uuid" :key="Math.random()" :refreshTreeParentNode="refreshTreeParentNode" :refreshTreeNode="refreshTreeNode" :treeNode="treeNode"></component>
|
<component v-if="conditionReFresh" ref="component" :is="mainContent" :uuid="uuid" :key="Math.random()" :refreshTreeParentNode="refreshTreeParentNode" :refreshTreeNode="refreshTreeNode" :treeNode="treeNode"></component>
|
||||||
</el-main>
|
</el-main>
|
||||||
</el-container>
|
</el-container>
|
||||||
</template>
|
</template>
|
||||||
@ -13,6 +13,7 @@
|
|||||||
import RepositoryMain from "./RepositoryMain";
|
import RepositoryMain from "./RepositoryMain";
|
||||||
import RepositoryMainList from "./RepositoryMainList";
|
import RepositoryMainList from "./RepositoryMainList";
|
||||||
import RepositoryList from "./RepositoryList";
|
import RepositoryList from "./RepositoryList";
|
||||||
|
import awsuiAxios from "../../awsuiAxios";
|
||||||
export default {
|
export default {
|
||||||
name: "Repository",
|
name: "Repository",
|
||||||
components: {RepositoryMain, RepositoryMainList, RepositoryList},
|
components: {RepositoryMain, RepositoryMainList, RepositoryList},
|
||||||
@ -22,7 +23,9 @@
|
|||||||
mainContent: '',
|
mainContent: '',
|
||||||
uuid: '',
|
uuid: '',
|
||||||
reFresh: false,
|
reFresh: false,
|
||||||
|
conditionReFresh: false,
|
||||||
treeNode:{},
|
treeNode:{},
|
||||||
|
conditionData: {}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
provide: function() {
|
provide: function() {
|
||||||
@ -33,8 +36,39 @@
|
|||||||
},
|
},
|
||||||
created() {
|
created() {
|
||||||
this.getRouteParam(this.$route.query);
|
this.getRouteParam(this.$route.query);
|
||||||
|
this.initConditionData();
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
// 获取历史
|
||||||
|
initConditionData(){
|
||||||
|
const that = this;
|
||||||
|
const data = {
|
||||||
|
url: 'jd',
|
||||||
|
data: {
|
||||||
|
wsId: that.$store.getters.getWsIdFn,
|
||||||
|
teamId: that.$store.getters.getTeamIdFn,
|
||||||
|
cmd: 'com.actionsoft.apps.coe.pal_condition_data_query'
|
||||||
|
}
|
||||||
|
};
|
||||||
|
// 查询数据
|
||||||
|
awsuiAxios.post(data).then(function (ro) {
|
||||||
|
if (ro.result === 'ok') {
|
||||||
|
that.conditionData = ro.data
|
||||||
|
// 历史查询条件保存
|
||||||
|
let tempUserArr = [...that.conditionData.historyCondition.createUsers];
|
||||||
|
that.$store.commit('setCreateUsers',tempUserArr);
|
||||||
|
let tempOrgIdArr = [...that.conditionData.historyCondition.orgIds];
|
||||||
|
that.$store.commit('setOrgIds',tempOrgIdArr);
|
||||||
|
let tempMethodIdArr = [...that.conditionData.historyCondition.methodIds];
|
||||||
|
that.$store.commit('setMethodIds',tempMethodIdArr);
|
||||||
|
that.conditionReFresh = true
|
||||||
|
}else {
|
||||||
|
that.$message({message: ro.msg, type: 'warning'});
|
||||||
|
}
|
||||||
|
}).catch(error => {
|
||||||
|
console.log(error);
|
||||||
|
})
|
||||||
|
},
|
||||||
getRouteParam(params) {
|
getRouteParam(params) {
|
||||||
if (JSON.stringify(params) == '{}' || !params.id) {// 无搜索,显示全部树和最近列表
|
if (JSON.stringify(params) == '{}' || !params.id) {// 无搜索,显示全部树和最近列表
|
||||||
this.reFresh = false;
|
this.reFresh = false;
|
||||||
|
|||||||
@ -478,6 +478,19 @@
|
|||||||
mounted() {
|
mounted() {
|
||||||
this.initData();
|
this.initData();
|
||||||
this.rowDrop();
|
this.rowDrop();
|
||||||
|
// 【伊利架构筛选需求】将本组件内的initData方法暴露 方便别的组件调用
|
||||||
|
let self = this;
|
||||||
|
this.$nextTick(() => {
|
||||||
|
let eventObj = {};
|
||||||
|
for (const selfItem in self) {
|
||||||
|
if (selfItem === 'initData') {
|
||||||
|
let funcName = 'repositoryList_initData'
|
||||||
|
eventObj[funcName] = self[selfItem];
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
this.$store.commit('setPageFunction',eventObj)
|
||||||
|
});
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
handleCloseFolder(done) {
|
handleCloseFolder(done) {
|
||||||
@ -557,7 +570,10 @@
|
|||||||
cmd: 'com.actionsoft.apps.coe.pal_processlevel_repository_child_data_query',
|
cmd: 'com.actionsoft.apps.coe.pal_processlevel_repository_child_data_query',
|
||||||
wsId: wsId,
|
wsId: wsId,
|
||||||
teamId: teamId,
|
teamId: teamId,
|
||||||
id: that.uuid
|
id: that.uuid,
|
||||||
|
createUsers: JSON.stringify(that.$store.getters.getCreateUsers),
|
||||||
|
orgIds: JSON.stringify(that.$store.getters.getOrgIds),
|
||||||
|
methodIds: JSON.stringify(that.$store.getters.getMethodIds)
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
// 查询数据
|
// 查询数据
|
||||||
|
|||||||
@ -75,6 +75,119 @@
|
|||||||
</el-popover>
|
</el-popover>
|
||||||
</div>
|
</div>
|
||||||
<div v-if="havingWritePerm || havingCreatePerm" style="width: 100%;border-bottom: 1px solid #F2F2F2;"></div>
|
<div v-if="havingWritePerm || havingCreatePerm" style="width: 100%;border-bottom: 1px solid #F2F2F2;"></div>
|
||||||
|
<!-- 【伊利需求】左侧新增查询条件 -->
|
||||||
|
<div class="condition-box" style="margin-bottom: 10px;display: flex;justify-content: space-evenly;">
|
||||||
|
<!-- 创建人 -->
|
||||||
|
<el-popover
|
||||||
|
placement="bottom"
|
||||||
|
width="310"
|
||||||
|
trigger="hover"
|
||||||
|
>
|
||||||
|
<template slot="default">
|
||||||
|
<div class="create-user-box">
|
||||||
|
<el-input size="mini" placeholder="请输入用户名" v-model="searchUserName" class="input-with-select">
|
||||||
|
<el-button slot="append" icon="el-icon-search" @click="searchUserNameText"></el-button>
|
||||||
|
</el-input>
|
||||||
|
<div style="margin: 6px 0;">
|
||||||
|
<el-checkbox v-model="currentUserCheck" @change="handleCheckCurrentUserChange">
|
||||||
|
<div style="font-weight: 600;">
|
||||||
|
<span>{{ currentUser.userName }}</span><span style="margin-left: 15px;">(当前用户)</span>
|
||||||
|
</div>
|
||||||
|
</el-checkbox>
|
||||||
|
</div>
|
||||||
|
<el-divider></el-divider>
|
||||||
|
<div style="margin: 4px 0;">
|
||||||
|
<el-checkbox :indeterminate="userIndeterminate" v-model="userCheckAll" @change="handleCheckAllUserChange"><span style="font-weight: 600">全部</span></el-checkbox>
|
||||||
|
</div>
|
||||||
|
<el-checkbox-group v-model="checkCreateUserIds" @change="handleCheckedUserChange">
|
||||||
|
<el-checkbox v-for="item in createUserList" :label="item.userId" :key="item.userId">
|
||||||
|
<div style="display: inline-flex;justify-content: space-between;width: 280px;font-weight: 600;">
|
||||||
|
<span>{{item.userName}}</span>
|
||||||
|
<el-tooltip class="item" effect="dark" :content="item.deptName" placement="bottom">
|
||||||
|
<span style="margin-left: 55px;">{{ item.deptNameView }}</span>
|
||||||
|
</el-tooltip>
|
||||||
|
</div>
|
||||||
|
</el-checkbox>
|
||||||
|
</el-checkbox-group>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
<div slot="reference" style="cursor: pointer">
|
||||||
|
<span style="font-size: 12px;color: rgb(147,147,153);margin-right: 8px;">创建人</span><span style="color: rgb(147,147,153);"><i class="el-icon-arrow-down"></i></span>
|
||||||
|
</div>
|
||||||
|
</el-popover>
|
||||||
|
<el-divider direction="vertical"></el-divider>
|
||||||
|
<!-- 组织机构 -->
|
||||||
|
<el-popover
|
||||||
|
placement="bottom"
|
||||||
|
width="300"
|
||||||
|
trigger="hover"
|
||||||
|
>
|
||||||
|
<template slot="default">
|
||||||
|
<div class="org-box">
|
||||||
|
<el-input size="mini" placeholder="请输入组织" v-model="searchOrgName" class="input-with-select">
|
||||||
|
<el-button slot="append" icon="el-icon-search" @click="searchOrgNameFun"></el-button>
|
||||||
|
</el-input>
|
||||||
|
<div style="margin: 6px 0;">
|
||||||
|
<el-checkbox v-model="currentUserDeptCheck" @change="handleCheckCurrentUserDeptChange">
|
||||||
|
<div style="font-weight: 600;">
|
||||||
|
<span>{{ currentUser.userName }}</span><span style="margin-left: 145px;">({{ currentUser.deptName }})</span>
|
||||||
|
</div>
|
||||||
|
</el-checkbox>
|
||||||
|
</div>
|
||||||
|
<el-divider></el-divider>
|
||||||
|
<div style="overflow: auto">
|
||||||
|
<el-tree
|
||||||
|
ref="orgTree"
|
||||||
|
:props="treeProps"
|
||||||
|
:show-checkbox="multiple"
|
||||||
|
:expand-on-click-node=false
|
||||||
|
:check-strictly=true
|
||||||
|
:highlight-current=true
|
||||||
|
@node-collapse="closeNodeOrg"
|
||||||
|
:filter-node-method="filterNode"
|
||||||
|
@check-change="orgCheckChange"
|
||||||
|
node-key="id"
|
||||||
|
lazy
|
||||||
|
:load="loadNodeOrg">
|
||||||
|
<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>
|
||||||
|
</template>
|
||||||
|
<div slot="reference" style="cursor: pointer">
|
||||||
|
<span style="font-size: 12px;color: rgb(147,147,153);margin-right: 8px;">组织机构</span><span style="color: rgb(147,147,153);"><i class="el-icon-arrow-down"></i></span>
|
||||||
|
</div>
|
||||||
|
</el-popover>
|
||||||
|
<el-divider direction="vertical"></el-divider>
|
||||||
|
<!-- 文件类型 -->
|
||||||
|
<el-popover
|
||||||
|
placement="bottom-end"
|
||||||
|
width="200"
|
||||||
|
trigger="hover"
|
||||||
|
>
|
||||||
|
<template slot="default">
|
||||||
|
<div class="methodId-box">
|
||||||
|
<el-input size="mini" placeholder="请输入文件类型" v-model="methodIdText" class="input-with-select">
|
||||||
|
<el-button slot="append" icon="el-icon-search" @click="searchMethodIdText"></el-button>
|
||||||
|
</el-input>
|
||||||
|
<div style="margin: 6px 0;">
|
||||||
|
<el-checkbox :indeterminate="isIndeterminate" v-model="checkAll" @change="handleCheckAllChange">全部类型</el-checkbox>
|
||||||
|
</div>
|
||||||
|
<el-divider></el-divider>
|
||||||
|
<el-checkbox-group v-model="checkMethodIds" @change="handleCheckedMethodIdChange">
|
||||||
|
<el-checkbox v-for="item in methodIds" :label="item.methodId" :key="item.methodId">{{item.name}}</el-checkbox>
|
||||||
|
</el-checkbox-group>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
<div slot="reference" style="cursor: pointer">
|
||||||
|
<span style="font-size: 12px;color: rgb(147,147,153);margin-right: 8px;">文件类型</span><span style="color: rgb(147,147,153);"><i class="el-icon-arrow-down"></i></span>
|
||||||
|
</div>
|
||||||
|
</el-popover>
|
||||||
|
</div>
|
||||||
|
<div v-if="havingWritePerm" style="width: 100%;border-bottom: 1px solid #F2F2F2;"></div>
|
||||||
</el-header>
|
</el-header>
|
||||||
<el-main class="main-tree" :style="{'overflow': 'auto', 'height': treeHeight}">
|
<el-main class="main-tree" :style="{'overflow': 'auto', 'height': treeHeight}">
|
||||||
<el-tree
|
<el-tree
|
||||||
@ -184,6 +297,12 @@
|
|||||||
export default {
|
export default {
|
||||||
name: "RepositoryTree",
|
name: "RepositoryTree",
|
||||||
components: {RepositoryImport},
|
components: {RepositoryImport},
|
||||||
|
props: {
|
||||||
|
conditionData: {
|
||||||
|
type: Object,
|
||||||
|
default: null
|
||||||
|
}
|
||||||
|
},
|
||||||
data() {
|
data() {
|
||||||
let securityValidate = (rule, value, callback) => {
|
let securityValidate = (rule, value, callback) => {
|
||||||
if (value === undefined ) {
|
if (value === undefined ) {
|
||||||
@ -194,8 +313,34 @@
|
|||||||
};
|
};
|
||||||
return {
|
return {
|
||||||
isDisabled:false,
|
isDisabled:false,
|
||||||
|
multiple: true,
|
||||||
|
// 创建人
|
||||||
|
currentUserCheck: true,
|
||||||
|
currentUser: '',
|
||||||
|
searchUserName: '',
|
||||||
|
createUserOptions: [],
|
||||||
|
createUserList: [],
|
||||||
|
checkCreateUserIds: [],
|
||||||
|
userCheckAll: false,
|
||||||
|
userIndeterminate: false,
|
||||||
|
// 文件类型
|
||||||
|
conditionBoxVisible1: false,
|
||||||
|
conditionBoxVisible2: true,
|
||||||
|
conditionBoxVisible3: false,
|
||||||
|
methodIdText: '',
|
||||||
|
methodIdOptions: [],
|
||||||
|
methodIds: [],
|
||||||
|
checkMethodIds: [],
|
||||||
|
checkAll: false,
|
||||||
|
isIndeterminate: false,
|
||||||
|
// 组织机构
|
||||||
|
addressType: 'department',
|
||||||
|
searchOrgName: '',
|
||||||
|
checkOrgIds: [],
|
||||||
|
currentUserDeptCheck: true,
|
||||||
|
|
||||||
dis: false,
|
dis: false,
|
||||||
headerHeight1: '60px',
|
headerHeight1: '88px',
|
||||||
headerHeight2: '10px',
|
headerHeight2: '10px',
|
||||||
treeHeight: (parseInt(this.$store.getters.getTopMainHeightFn)) - (this.havingWritePerm || this.havingCreatePerm ? parseInt(this.headerHeight1) : parseInt(this.headerHeight2)) + 'px',
|
treeHeight: (parseInt(this.$store.getters.getTopMainHeightFn)) - (this.havingWritePerm || this.havingCreatePerm ? parseInt(this.headerHeight1) : parseInt(this.headerHeight2)) + 'px',
|
||||||
fileMethodList: [],
|
fileMethodList: [],
|
||||||
@ -291,6 +436,7 @@
|
|||||||
},
|
},
|
||||||
created() {
|
created() {
|
||||||
this.initData();
|
this.initData();
|
||||||
|
this.resolveConditionData();
|
||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
bus.$on("getisDisabled",data =>{
|
bus.$on("getisDisabled",data =>{
|
||||||
@ -298,6 +444,280 @@
|
|||||||
});
|
});
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
filterNode(value, data) {
|
||||||
|
if (!value) return true;
|
||||||
|
return data.name.indexOf(value) !== -1;
|
||||||
|
},
|
||||||
|
searchOrgNameFun(){
|
||||||
|
this.$refs.orgTree.filter(this.searchOrgName);
|
||||||
|
},
|
||||||
|
// 当前人的部门是否选中
|
||||||
|
handleCheckCurrentUserDeptChange(val){
|
||||||
|
let temp = [];
|
||||||
|
temp = [...this.checkOrgIds];
|
||||||
|
if (val) {
|
||||||
|
temp.push(this.currentUser.deptId);
|
||||||
|
}
|
||||||
|
this.$refs.orgTree.setCheckedKeys(temp)
|
||||||
|
this.$store.commit('setOrgIds',temp);
|
||||||
|
// 刷新左侧文件树以及右侧最近编辑与收藏
|
||||||
|
this.$store.getters.getPageFunction['repositoryMainList_initData']();
|
||||||
|
// 刷新左侧树
|
||||||
|
this.refreshNode('process');
|
||||||
|
},
|
||||||
|
orgCheckChange(data,checked,isChildCheck){
|
||||||
|
let node = this.$refs.orgTree.getNode(data.id)
|
||||||
|
if (checked) {
|
||||||
|
if (node.expanded) {
|
||||||
|
node.expanded = false
|
||||||
|
node.loaded = false
|
||||||
|
}
|
||||||
|
// 去重保存勾选节点信息
|
||||||
|
if (this.checkOrgIds.indexOf(data.id) === -1) {
|
||||||
|
this.checkOrgIds.push(data.id)
|
||||||
|
}
|
||||||
|
}else {
|
||||||
|
node.expanded = false
|
||||||
|
node.isLeaf = false
|
||||||
|
node.loaded = false
|
||||||
|
if (this.checkOrgIds.indexOf(data.id) !== -1) { // 删除取消勾选节点
|
||||||
|
this.checkOrgIds.splice(this.checkOrgIds.indexOf(data.id),1)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
this.$refs.orgTree.setCheckedKeys(this.checkOrgIds)
|
||||||
|
this.$store.commit('setOrgIds',this.checkOrgIds);
|
||||||
|
// 刷新左侧文件树以及右侧最近编辑与收藏
|
||||||
|
this.$store.getters.getPageFunction['repositoryMainList_initData']();
|
||||||
|
// 刷新左侧树
|
||||||
|
this.refreshNode('process');
|
||||||
|
},
|
||||||
|
loadNodeOrg(node, resolve) {// `动态`加载
|
||||||
|
const that = this;
|
||||||
|
that.loading = true;
|
||||||
|
const data = {
|
||||||
|
url:'jd',
|
||||||
|
data:{
|
||||||
|
cmd: 'com.actionsoft.apps.coe.pal_bpm_org_address_component_subjson',
|
||||||
|
addressType: 'department',
|
||||||
|
pid: '',
|
||||||
|
highSecurityFilter: '',
|
||||||
|
parentType: ''
|
||||||
|
}
|
||||||
|
};
|
||||||
|
if (node.level === 0) {
|
||||||
|
// 获取根目录
|
||||||
|
data.data.pid = '';
|
||||||
|
data.data.parentType = '';
|
||||||
|
} else {
|
||||||
|
// 获取其他目录
|
||||||
|
data.data.pid = node.data.id;
|
||||||
|
data.data.parentType = node.data.type;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (node.level > 0 && that.checkOrgIds.indexOf(node.data.id) !== -1 && node.checked) {
|
||||||
|
resolve([])
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
// 查询数据
|
||||||
|
awsuiAxios.post(data).then(function (ro) {
|
||||||
|
// 设置是否可选中
|
||||||
|
if (that.multiple) {// 多选
|
||||||
|
const isDept = that.addressType.indexOf('department') > -1;
|
||||||
|
const isUser = that.addressType.indexOf('user') > -1;
|
||||||
|
const isRole = that.addressType.indexOf('role') > -1;
|
||||||
|
const isPosition = that.addressType.indexOf('position') > -1;
|
||||||
|
for (let i = 0; i < ro.data.length; i++) {
|
||||||
|
const curr = ro.data[i];
|
||||||
|
if (curr.type == 'company' || curr.type == 'roleRoot' || curr.type == 'roleGroup' || curr.type == 'positionRoot' || curr.type == 'positionGroup') {
|
||||||
|
curr.disabled = true;
|
||||||
|
} else {
|
||||||
|
if (isDept && curr.type == 'department') curr.disabled = false;
|
||||||
|
if (!isDept && curr.type == 'department') curr.disabled = true;
|
||||||
|
if (isUser && curr.type == 'user') curr.disabled = false;
|
||||||
|
if (!isUser && curr.type == 'user') curr.disabled = true;
|
||||||
|
if (isRole && curr.type == 'role') curr.disabled = false;
|
||||||
|
if (!isRole && curr.type == 'role') curr.disabled = true;
|
||||||
|
if (isPosition && curr.type == 'position') curr.disabled = false;
|
||||||
|
if (!isPosition && curr.type == 'position') curr.disabled = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
resolve(ro.data);
|
||||||
|
that.loading = false;
|
||||||
|
if (node.level == 0 && ro.data.length > 0) {
|
||||||
|
const tree = that.$refs.orgTree;
|
||||||
|
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);
|
||||||
|
})
|
||||||
|
},
|
||||||
|
closeNodeOrg(obj, node, tree) {// 关闭时清空,下次展开重新请求动态加载
|
||||||
|
node.childNodes = [];
|
||||||
|
node.loaded = false;
|
||||||
|
},
|
||||||
|
// 当前人状态改变
|
||||||
|
handleCheckCurrentUserChange(val){
|
||||||
|
let temp = [];
|
||||||
|
temp = [...this.checkCreateUserIds];
|
||||||
|
if (val) {
|
||||||
|
temp.push(this.currentUser.userId);
|
||||||
|
}
|
||||||
|
this.$store.commit('setCreateUsers',temp);
|
||||||
|
// 刷新左侧文件树以及右侧最近编辑与收藏
|
||||||
|
this.$store.getters.getPageFunction['repositoryMainList_initData']();
|
||||||
|
// 刷新左侧树
|
||||||
|
this.refreshNode('process');
|
||||||
|
},
|
||||||
|
// 创建人全选
|
||||||
|
handleCheckAllUserChange(val){
|
||||||
|
let temp = []
|
||||||
|
if (val) {
|
||||||
|
this.createUserList.forEach(user => temp.push(user.userId));
|
||||||
|
this.checkCreateUserIds = temp;
|
||||||
|
}else{
|
||||||
|
this.checkCreateUserIds = temp;
|
||||||
|
}
|
||||||
|
// 更新创建人信息 判断是否勾选的当前人
|
||||||
|
if (this.currentUserCheck){
|
||||||
|
temp.push(this.currentUser.userId)
|
||||||
|
}
|
||||||
|
this.$store.commit('setCreateUsers',temp);
|
||||||
|
this.userIndeterminate = false;
|
||||||
|
// 刷新左侧文件树以及右侧最近编辑与收藏
|
||||||
|
this.$store.getters.getPageFunction['repositoryMainList_initData']();
|
||||||
|
// TODO 刷新左侧树
|
||||||
|
this.refreshNode('process');
|
||||||
|
},
|
||||||
|
handleCheckedUserChange(value){
|
||||||
|
let checkedCount = value.length;
|
||||||
|
this.userCheckAll = checkedCount === this.createUserList.length;
|
||||||
|
this.userIndeterminate = checkedCount > 0 && checkedCount < this.createUserList.length;
|
||||||
|
// 保存创建人信息
|
||||||
|
let tempArr = [];
|
||||||
|
if (this.currentUserCheck) {
|
||||||
|
tempArr.push(this.currentUser.userId);
|
||||||
|
value.forEach(userId => {
|
||||||
|
tempArr.push(userId);
|
||||||
|
})
|
||||||
|
}else {
|
||||||
|
tempArr = [...value];
|
||||||
|
}
|
||||||
|
this.$store.commit('setCreateUsers',tempArr);
|
||||||
|
// 刷新左侧文件树以及右侧最近编辑与收藏
|
||||||
|
this.$store.getters.getPageFunction['repositoryMainList_initData']();
|
||||||
|
// TODO 刷新左侧树
|
||||||
|
this.refreshNode('process');
|
||||||
|
},
|
||||||
|
searchUserNameText() {
|
||||||
|
this.createUserList = [];
|
||||||
|
if (!this.searchUserName) {
|
||||||
|
this.createUserList = this.createUserOptions;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
this.createUserOptions.forEach(item => {
|
||||||
|
if (item.userName.indexOf(this.searchUserName) !== -1){
|
||||||
|
this.createUserList.push(item);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
},
|
||||||
|
// 文件类型全选
|
||||||
|
handleCheckAllChange(val){
|
||||||
|
let temp = []
|
||||||
|
if (val) {
|
||||||
|
this.methodIds.forEach(item => temp.push(item.methodId));
|
||||||
|
this.checkMethodIds = temp;
|
||||||
|
}else {
|
||||||
|
this.checkMethodIds = temp;
|
||||||
|
}
|
||||||
|
this.$store.commit('setMethodIds',temp);
|
||||||
|
this.isIndeterminate = false;
|
||||||
|
// 刷新左侧文件树以及右侧最近编辑与收藏
|
||||||
|
this.$store.getters.getPageFunction['repositoryMainList_initData']();
|
||||||
|
// TODO 刷新左侧树
|
||||||
|
this.refreshNode();
|
||||||
|
},
|
||||||
|
handleCheckedMethodIdChange(value){
|
||||||
|
let checkedCount = value.length;
|
||||||
|
this.checkAll = checkedCount === this.methodIds.length;
|
||||||
|
this.isIndeterminate = checkedCount > 0 && checkedCount < this.methodIds.length;
|
||||||
|
|
||||||
|
this.$store.commit('setMethodIds',[...value]);
|
||||||
|
// 刷新左侧文件树以及右侧最近编辑与收藏
|
||||||
|
this.$store.getters.getPageFunction['repositoryMainList_initData']();
|
||||||
|
// TODO 刷新左侧树
|
||||||
|
this.refreshNode('process');
|
||||||
|
},
|
||||||
|
// 文件类型筛选
|
||||||
|
searchMethodIdText(){
|
||||||
|
this.methodIds = [];
|
||||||
|
if (!this.methodIdText) {
|
||||||
|
this.methodIds = this.methodIdOptions;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
this.methodIdOptions.forEach(item => {
|
||||||
|
if (item.name.indexOf(this.methodIdText) !== -1){
|
||||||
|
this.methodIds.push(item);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
},
|
||||||
|
// 初始化筛选条件数据
|
||||||
|
resolveConditionData(){
|
||||||
|
const that = this;
|
||||||
|
that.methodIdOptions = that.conditionData.methodIds
|
||||||
|
that.methodIds = that.methodIdOptions
|
||||||
|
that.currentUser = that.conditionData.currentUser
|
||||||
|
that.conditionData.createUsers.forEach(item => {
|
||||||
|
item.deptNameView = item.deptName
|
||||||
|
if (item.deptName.length > 8) {
|
||||||
|
item.deptNameView = `${item.deptName.substring(0,4)}***${item.deptName.substring(item.deptName.length-4)}`
|
||||||
|
}
|
||||||
|
})
|
||||||
|
console.log('=========',that.conditionData.createUsers)
|
||||||
|
that.createUserOptions = that.conditionData.createUsers;
|
||||||
|
that.createUserList = that.createUserOptions;
|
||||||
|
console.log('=========',that.createUserList)
|
||||||
|
|
||||||
|
let checkMethodIdCount = that.conditionData.historyCondition.methodIds.length
|
||||||
|
let checkCreateUsersCount = that.conditionData.historyCondition.createUsers.length
|
||||||
|
let index = that.conditionData.historyCondition.createUsers.indexOf(that.currentUser.userId);
|
||||||
|
if (index !== -1) {
|
||||||
|
checkCreateUsersCount = checkCreateUsersCount - 1;
|
||||||
|
that.currentUserCheck = true
|
||||||
|
}else {
|
||||||
|
that.currentUserCheck = false
|
||||||
|
}
|
||||||
|
that.checkAll = checkMethodIdCount === that.methodIds.length;
|
||||||
|
that.userCheckAll = checkCreateUsersCount === that.createUserList.length;
|
||||||
|
that.isIndeterminate = checkMethodIdCount > 0 && checkMethodIdCount < that.methodIds.length;
|
||||||
|
that.userIndeterminate = checkCreateUsersCount > 0 && checkCreateUsersCount < that.createUserList.length;
|
||||||
|
|
||||||
|
// 根据历史筛选条件初始化多选框
|
||||||
|
that.checkCreateUserIds = [];
|
||||||
|
that.conditionData.historyCondition.createUsers.forEach(userId => {
|
||||||
|
if (userId !== that.currentUser.userId) {
|
||||||
|
that.checkCreateUserIds.push(userId);
|
||||||
|
}
|
||||||
|
})
|
||||||
|
that.checkMethodIds = [...that.conditionData.historyCondition.methodIds];
|
||||||
|
that.checkOrgIds = [...that.conditionData.historyCondition.orgIds];
|
||||||
|
let orgIdIndex = that.conditionData.historyCondition.orgIds.indexOf(that.currentUser.deptId);
|
||||||
|
if (orgIdIndex !== -1) {
|
||||||
|
that.currentUserDeptCheck = true;
|
||||||
|
}else {
|
||||||
|
that.currentUserDeptCheck = false;
|
||||||
|
}
|
||||||
|
that.$nextTick(() => {
|
||||||
|
that.$refs.orgTree.setCheckedKeys(that.checkOrgIds);
|
||||||
|
})
|
||||||
|
},
|
||||||
|
|
||||||
initData() {
|
initData() {
|
||||||
const that = this;
|
const that = this;
|
||||||
that.loadingText = '加载中';
|
that.loadingText = '加载中';
|
||||||
@ -383,6 +803,9 @@
|
|||||||
};
|
};
|
||||||
data.data.wsId = that.$store.getters.getWsIdFn;
|
data.data.wsId = that.$store.getters.getWsIdFn;
|
||||||
data.data.teamId = that.$store.getters.getTeamIdFn;
|
data.data.teamId = that.$store.getters.getTeamIdFn;
|
||||||
|
data.data.createUsers = JSON.stringify(that.$store.getters.getCreateUsers);
|
||||||
|
data.data.orgIds = JSON.stringify(that.$store.getters.getOrgIds);
|
||||||
|
data.data.methodIds = JSON.stringify(that.$store.getters.getMethodIds);
|
||||||
data.data.cmd = 'com.actionsoft.apps.coe.pal_processlevel_tree_data';
|
data.data.cmd = 'com.actionsoft.apps.coe.pal_processlevel_tree_data';
|
||||||
if (node.level === 0) {
|
if (node.level === 0) {
|
||||||
// 获取根目录
|
// 获取根目录
|
||||||
@ -974,4 +1397,20 @@
|
|||||||
.main-tree::-webkit-scrollbar {
|
.main-tree::-webkit-scrollbar {
|
||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
|
.condition-box >>> .el-divider--vertical {
|
||||||
|
height: 18px;
|
||||||
|
}
|
||||||
|
.methodId-box >>> .el-divider--horizontal {
|
||||||
|
margin: 8px 0;
|
||||||
|
}
|
||||||
|
.org-box >>> .el-divider--horizontal {
|
||||||
|
margin: 8px 0;
|
||||||
|
}
|
||||||
|
.create-user-box >>> .el-divider--horizontal {
|
||||||
|
margin: 8px 0;
|
||||||
|
}
|
||||||
|
/deep/ .el-checkbox-group {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@ -273,6 +273,20 @@
|
|||||||
},
|
},
|
||||||
created() {
|
created() {
|
||||||
this.initData();
|
this.initData();
|
||||||
|
|
||||||
|
// 【伊利架构筛选需求】将本组件内的initData方法暴露 方便别的组件调用
|
||||||
|
let self = this;
|
||||||
|
this.$nextTick(() => {
|
||||||
|
let eventObj = {};
|
||||||
|
for (const selfItem in self) {
|
||||||
|
if (selfItem === 'initData') {
|
||||||
|
let funcName = 'repositoryMainList_initData'
|
||||||
|
eventObj[funcName] = self[selfItem];
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
this.$store.commit('setPageFunction',eventObj)
|
||||||
|
});
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
handleRecnetOrStore(tab, event){
|
handleRecnetOrStore(tab, event){
|
||||||
@ -362,6 +376,9 @@
|
|||||||
cmd: 'com.actionsoft.apps.coe.pal_processlevel_recent_and_favorite_data_query',
|
cmd: 'com.actionsoft.apps.coe.pal_processlevel_recent_and_favorite_data_query',
|
||||||
wsId: that.$store.getters.getWsIdFn,
|
wsId: that.$store.getters.getWsIdFn,
|
||||||
teamId: that.$store.getters.getTeamIdFn,
|
teamId: that.$store.getters.getTeamIdFn,
|
||||||
|
createUsers: JSON.stringify(that.$store.getters.getCreateUsers),
|
||||||
|
orgIds: JSON.stringify(that.$store.getters.getOrgIds),
|
||||||
|
methodIds: JSON.stringify(that.$store.getters.getMethodIds)
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
// 查询数据
|
// 查询数据
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user