This commit is contained in:
zhutianqi
2021-07-21 16:26:58 +08:00
parent 5f91f150a2
commit bbb2102fb1
5 changed files with 283 additions and 390 deletions
+2
View File
@@ -21,6 +21,7 @@ import AdvancedQuery from './advancedQuery' // 高级查询
import GenerationNumber from './generationNumber' // 生成企标编号组件
import RoleUserTree from './roleUserTree' // 根据部门和角色查询人员
import DeptRoleTree from './deptRoleTree' // 根据部门查询角色
import RoleTree from './roleTree' // 查询所有机构及人员
import SQTree from './SQTree'
import OrgTable from './OrgTable'
@@ -46,6 +47,7 @@ const install = function (Vue) {
Vue.component('DeptRoleTree', DeptRoleTree)
Vue.component('SQTree', SQTree)
Vue.component('OrgTable', OrgTable)
Vue.component('RoleTree', RoleTree)
}
export default {
+175
View File
@@ -0,0 +1,175 @@
<template>
<div class="roleTree">
<el-drawer
:title="isTitle"
:visible.sync="isVisible2"
:wrapperClosable="false"
@close="handleTreeDrawerCancel"
size="800px">
<el-form
ref="attributeEO"
class="label-input-form"
:inline="true"
>
<el-form-item class="form-item-disabled" style="margin: 10px;">
<el-input
v-model="filterText"
placeholder="请输入姓名"
></el-input>
</el-form-item>
</el-form>
<el-tree
v-if="open1 && isVisible2"
node-key="id"
style="height: 100%; overflow: auto;"
class="filter-tree"
:data="treeData"
:props="defaultProps"
:default-checked-keys="nodeList"
highlight-current
check-strictly
@check="drawerCheck"
:expand-on-click-node="false"
show-checkbox
ref="tree"
:load="loadNode"
lazy>
</el-tree>
<el-tree
v-if="!open1 && isVisible2"
node-key="id"
style="height: 100%; overflow: auto;"
class="filter-tree"
:data="treeData1"
:props="defaultProps"
:default-checked-keys="nodeList"
highlight-current
check-strictly
@check="drawerCheck"
:expand-on-click-node="false"
default-expand-all
show-checkbox
ref="tree">
</el-tree>
<div id="roleFormButton" class="demo-drawer-footer">
<el-button class="common-button-primary" size="mini" icon="el-icon-check" type="primary" @click="saveUserInfo">确定</el-button>
<el-button class="common-button-default" size="mini" icon="el-icon-close" @click="handleTreeDrawerCancel">取消</el-button>
</div>
<loading style="z-index: 2099;" :loading="treeLoading">导入中...</loading>
</el-drawer>
</div>
</template>
<script>
export default {
name: "roleTree",
props: {
checkBox: { // 单选/多选
type: Boolean,
default: false,
},
isTitle: { // 标题
type: String
},
isVisible: { // drawer开关
type: Boolean,
default: false,
},
nodeList: { // 回显
type: Array,
default: () => {
return []
}
}
},
data () {
return {
roleList: [],
isVisible2: false,
filterText: '',
defaultProps: {
children: 'children',
label: 'name'
},
treeData1: [],
treeData: [],
open1: true,
treeLoading: false,
roleRow: {}
}
},
methods: {
handleTreeDrawerCancel () {
this.filterText = ''
this.isVisible2 = false
},
saveUserInfo () {
this.isVisible2 = false
this.$emit('checkedRole', this.roleList)
},
drawerCheck (data) {
if (this.checkBox) {
// 单选判断
var getlist = this.$refs.tree.getCheckedNodes().concat(this.$refs.tree.getHalfCheckedNodes());
if(getlist.length == 1) {
this.roleRow = getlist[0]
}else {
this.$refs.tree.setCheckedKeys([data.id]);
this.roleRow = this.$refs.tree.getCheckedNodes()[0]
}
this.roleList = [this.roleRow]
} else {
this.roleList = this.$refs.tree.getCheckedNodes().concat(this.$refs.tree.getHalfCheckedNodes())
}
},
loadNode(node, resolve) {
if (node.level === 0) {
return resolve(this.treeData);
}
this.getChildren(node, resolve)
},
getChildren (node, resolve) {
this.$http.get('SarInstitution/institution/getNext', {
institutionId: node.key
}, {}, res => {
resolve(res)
})
},
getTree () {
this.treeLoading = true
this.$http.get('SarInstitution/institution/getFirstInstitution', {}, {}, res=> {
this.treeData = res
this.treeLoading = false
})
}
},
watch: {
isVisible (val) {
this.isVisible2 = val
},
isVisible2 (val) {
this.$emit('update:isVisible', val)
},
filterText (val) {
if (val.length) {
this.open1 = false
this.treeLoading = true
this.$http.get('SarInstitution/institution/institutionAndUser', {
userName: val
}, {}, res => {
this.treeData1 = res.data
this.treeLoading = false
})
} else {
this.open1 = true
}
},
},
mounted () {
this.getTree()
}
}
</script>
<style scoped>
</style>
@@ -154,57 +154,19 @@
@submit="handleSubmit"
>
</ProcessFooter>
<el-drawer
title="选择责任部门对接人"
:visible.sync="modalshowflag2"
:wrapperClosable="false"
size="800px">
<el-tree
v-if="modalshowflag2"
style="height: 100%; overflow: auto;"
node-key="id"
class="filter-tree"
:data="treeData"
:props="defaultProps"
:default-checked-keys="nodeList2"
highlight-current
check-strictly
default-expand-all
:expand-on-click-node="false"
show-checkbox
ref="tree2">
</el-tree>
<div id="roleFormButton2" class="demo-drawer-footer">
<el-button class="common-button-primary" size="mini" icon="el-icon-check" type="primary" @click="saveUserInfo2">确定</el-button>
<el-button class="common-button-default" size="mini" icon="el-icon-close" @click="cancleUserInfo2">取消</el-button>
</div>
</el-drawer>
<el-drawer
:title="drawerTitle"
:visible.sync="modalshowflag"
:wrapperClosable="false"
size="800px">
<el-tree
v-if="modalshowflag"
node-key="id"
style="height: 100%; overflow: auto;"
class="filter-tree"
:data="treeData"
:props="defaultProps"
:default-checked-keys="nodeList"
highlight-current
check-strictly
@check="drawerCheck"
default-expand-all
:expand-on-click-node="false"
show-checkbox
ref="tree">
</el-tree>
<div id="roleFormButton" class="demo-drawer-footer">
<el-button class="common-button-primary" size="mini" icon="el-icon-check" type="primary" @click="saveUserInfo">确定</el-button>
<el-button class="common-button-default" size="mini" icon="el-icon-close" @click="cancleUserInfo">取消</el-button>
</div>
</el-drawer>
<Role-tree
is-title="选择责任部门对接人"
:is-visible.sync="modalshowflag2"
@checkedRole="checkedRole2"
:nodeList="nodeList2"
></Role-tree>
<Role-tree
check-box
:is-title="drawerTitle"
:is-visible.sync="modalshowflag"
@checkedRole="checkedRole"
:nodeList="nodeList"
></Role-tree>
<el-dialog width='400px' :visible.sync="fileMadel" title="上传文件">
<el-upload
multiple
@@ -236,15 +198,10 @@
name: "bzdyStep1-1",
data() {
return {
commentText: '',
roleRow: {},
nodeList: [],
nodeList2: [],
commentText: '',
type: '',
defaultProps: {
children: 'children',
label: 'name'
},
treeData: [], // 人员数据
modalshowflag: false, // drawer开关
drawerTitle: '', //drawer标题
textarea: '', // 意见
@@ -300,9 +257,7 @@
},
fileUrl: 'api/att/attFile/upload',
fileMadel: false,
nodeList2: [],
modalshowflag2: false,
}
},
components: {
@@ -322,17 +277,10 @@
this.commentText = mes.commentText
})
},
choiceZRRS () {
this.nodeList2 = []
if ( this.roleForm.dockUserList.length > 0) {
this.nodeList2 = this.roleForm.dockUserList.split(',')
}
this.modalshowflag2 = true
},
saveUserInfo2 () {
checkedRole2 (data) {
var idList = ''
var nameList = ''
this.$refs.tree2.getCheckedNodes().concat(this.$refs.tree2.getHalfCheckedNodes()).forEach( item => {
data.forEach( item => {
if (nameList.length > 0) {
nameList += ','
idList += ','
@@ -342,10 +290,35 @@
})
this.roleForm.dockUserList = idList
this.roleForm.dockUserName = nameList
this.modalshowflag2 = false
},
cancleUserInfo2 () {
this.modalshowflag2 = false
checkedRole (data) {
if (this.type === 'dockUser') {
this.roleForm.dockUser = data[0].id
this.roleForm.dockUserName = data[0].name
} else if (this.type === 'ministerUser') {
this.roleForm.ministerUser = data[0].id
this.roleForm.ministerUserName = data[0].name
} else if (this.type === 'directorUser') {
this.roleForm.directorUser = data[0].id
this.roleForm.directorUserName = data[0].name
} else if (this.type === 'presidentUser') {
this.roleForm.presidentUser = data[0].id
this.roleForm.presidentUserName = data[0].name
}
},
choiceZRRS () {
this.nodeList2 = []
if ( this.roleForm.dockUserList.length > 0) {
this.nodeList2 = this.roleForm.dockUserList.split(',')
}
this.modalshowflag2 = true
},
choiceZRR (type, title, id) {
this.nodeList = []
this.nodeList.push(id)
this.type = type
this.drawerTitle = title
this.modalshowflag = true
},
// 导入按钮 上传之前的钩子
beginImportFile (file) {
@@ -388,46 +361,6 @@
fileUpload () {
this.fileMadel = true
},
saveUserInfo () {
if (this.type === 'dockUser') {
this.roleForm.dockUser = this.roleRow.id
this.roleForm.dockUserName = this.roleRow.name
} else if (this.type === 'ministerUser') {
this.roleForm.ministerUser = this.roleRow.id
this.roleForm.ministerUserName = this.roleRow.name
} else if (this.type === 'directorUser') {
this.roleForm.directorUser = this.roleRow.id
this.roleForm.directorUserName = this.roleRow.name
} else if (this.type === 'presidentUser') {
this.roleForm.presidentUser = this.roleRow.id
this.roleForm.presidentUserName = this.roleRow.name
}
this.modalshowflag = false
},
cancleUserInfo () {
this.modalshowflag = false
},
drawerCheck (data) {
var getlist = this.$refs.tree.getCheckedNodes().concat(this.$refs.tree.getHalfCheckedNodes());
if(getlist.length == 1) {
this.roleRow = getlist[0]
}else {
this.$refs.tree.setCheckedKeys([data.id]);
this.roleRow = this.$refs.tree.getCheckedNodes()[0]
}
},
choiceZRR (type, title, id) {
this.nodeList = []
this.nodeList.push(id)
this.type = type
this.drawerTitle = title
this.modalshowflag = true
},
getTree () {
this.$http.get('SarInstitution/institution/institutionAndUser', {}, {}, res=> {
this.treeData = res.data
})
},
handleTabs(name) {
this.active = name
},
@@ -490,7 +423,6 @@
},
mounted () {
this.getData()
this.getTree()
}
}
</script>
@@ -154,116 +154,19 @@
@submit="handleSubmit"
>
</ProcessFooter>
<el-drawer
title="选择责任部门对接人"
:visible.sync="modalshowflag2"
:wrapperClosable="false"
size="800px">
<el-form
ref="attributeEO"
class="label-input-form"
:inline="true"
>
<el-form-item class="form-item-disabled" style="margin: 10px;">
<el-input
v-model="filterText2"
placeholder="请输入姓名"
></el-input>
</el-form-item>
</el-form>
<el-tree
v-if="modalshowflag2 && open2"
style="height: 100%; overflow: auto;"
node-key="id"
class="filter-tree"
:data="treeData"
:props="defaultProps"
:default-checked-keys="nodeList2"
highlight-current
check-strictly
:expand-on-click-node="false"
show-checkbox
ref="tree2"
:load="loadNode"
lazy>
</el-tree>
<el-tree
v-if="modalshowflag2 && !open2"
style="height: 100%; overflow: auto;"
node-key="id"
class="filter-tree"
:data="treeData2"
:props="defaultProps"
:default-checked-keys="nodeList2"
highlight-current
check-strictly
:expand-on-click-node="false"
default-expand-all
show-checkbox
ref="tree2">
</el-tree>
<div id="roleFormButton2" class="demo-drawer-footer">
<el-button class="common-button-primary" size="mini" icon="el-icon-check" type="primary" @click="saveUserInfo2">确定</el-button>
<el-button class="common-button-default" size="mini" icon="el-icon-close" @click="cancleUserInfo2">取消</el-button>
</div>
<loading style="z-index: 2099;" :loading="treeLoading">导入中...</loading>
</el-drawer>
<el-drawer
:title="drawerTitle"
:visible.sync="modalshowflag"
:wrapperClosable="false"
size="800px">
<el-form
ref="attributeEO"
class="label-input-form"
:inline="true"
>
<el-form-item class="form-item-disabled" style="margin: 10px;">
<el-input
v-model="filterText1"
placeholder="请输入姓名"
></el-input>
</el-form-item>
</el-form>
<el-tree
v-if="modalshowflag && open1"
node-key="id"
style="height: 100%; overflow: auto;"
class="filter-tree"
:data="treeData"
:props="defaultProps"
:default-checked-keys="nodeList"
highlight-current
check-strictly
@check="drawerCheck"
:expand-on-click-node="false"
show-checkbox
ref="tree"
:load="loadNode"
lazy>
</el-tree>
<el-tree
v-if="modalshowflag && !open1"
node-key="id"
style="height: 100%; overflow: auto;"
class="filter-tree"
:data="treeData1"
:props="defaultProps"
:default-checked-keys="nodeList"
highlight-current
check-strictly
@check="drawerCheck"
:expand-on-click-node="false"
default-expand-all
show-checkbox
ref="tree">
</el-tree>
<div id="roleFormButton" class="demo-drawer-footer">
<el-button class="common-button-primary" size="mini" icon="el-icon-check" type="primary" @click="saveUserInfo">确定</el-button>
<el-button class="common-button-default" size="mini" icon="el-icon-close" @click="cancleUserInfo">取消</el-button>
</div>
<loading style="z-index: 2099;" :loading="treeLoading">导入中...</loading>
</el-drawer>
<Role-tree
is-title="选择责任部门对接人"
:is-visible.sync="modalshowflag2"
@checkedRole="checkedRole2"
:nodeList="nodeList2"
></Role-tree>
<Role-tree
check-box
:is-title="drawerTitle"
:is-visible.sync="modalshowflag"
@checkedRole="checkedRole"
:nodeList="nodeList"
></Role-tree>
<el-dialog width='400px' :visible.sync="fileMadel" title="上传文件">
<el-upload
multiple
@@ -295,22 +198,10 @@ export default {
name: "bzdyStep1",
data() {
return {
treeLoading: false,
treeData2: [],
treeData1: [],
open1: true,
open2: true,
filterText1: '',
filterText2: '',
commentText: '',
roleRow: {},
nodeList: [],
nodeList2: [],
type: '',
defaultProps: {
children: 'children',
label: 'name'
},
treeData: [], // 人员数据
modalshowflag: false, // drawer开关
drawerTitle: '', //drawer标题
textarea: '', // 意见
@@ -366,7 +257,6 @@ export default {
},
fileUrl: 'api/att/attFile/upload',
fileMadel: false,
nodeList2: [],
modalshowflag2: false,
}
@@ -376,62 +266,11 @@ export default {
ProcessFooter,
ProcessTitle
},
watch: {
filterText1 (val) {
if (val.length) {
this.open1 = false
this.treeLoading = true
this.$http.get('SarInstitution/institution/institutionAndUser', {
userName: val
}, {}, res => {
this.treeData1 = res.data
this.treeLoading = false
})
} else {
this.open1 = true
}
},
filterText2 (val) {
if (val.length) {
this.open2 = false
this.treeLoading = true
this.$http.get('SarInstitution/institution/institutionAndUser', {
userName: val
}, {}, res => {
this.treeData2 = res.data
this.treeLoading = false
})
} else {
this.open2 = true
}
},
},
methods: {
loadNode(node, resolve) {
if (node.level === 0) {
return resolve(this.treeData);
}
this.getChildren(node, resolve)
},
getChildren (node, resolve) {
this.$http.get('SarInstitution/institution/getNext', {
institutionId: node.key
}, {}, res => {
resolve(res)
})
},
choiceZRRS () {
this.nodeList2 = []
if ( this.roleForm.dockUserList.length > 0) {
this.nodeList2 = this.roleForm.dockUserList.split(',')
}
this.filterText2 = ''
this.modalshowflag2 = true
},
saveUserInfo2 () {
checkedRole2 (data) {
var idList = ''
var nameList = ''
this.$refs.tree2.getCheckedNodes().concat(this.$refs.tree2.getHalfCheckedNodes()).forEach( item => {
data.forEach( item => {
if (nameList.length > 0) {
nameList += ','
idList += ','
@@ -441,10 +280,35 @@ export default {
})
this.roleForm.dockUserList = idList
this.roleForm.dockUserName = nameList
this.modalshowflag2 = false
},
cancleUserInfo2 () {
this.modalshowflag2 = false
checkedRole (data) {
if (this.type === 'dockUser') {
this.roleForm.dockUser = data[0].id
this.roleForm.dockUserName = data[0].name
} else if (this.type === 'ministerUser') {
this.roleForm.ministerUser = data[0].id
this.roleForm.ministerUserName = data[0].name
} else if (this.type === 'directorUser') {
this.roleForm.directorUser = data[0].id
this.roleForm.directorUserName = data[0].name
} else if (this.type === 'presidentUser') {
this.roleForm.presidentUser = data[0].id
this.roleForm.presidentUserName = data[0].name
}
},
choiceZRRS () {
this.nodeList2 = []
if ( this.roleForm.dockUserList.length > 0) {
this.nodeList2 = this.roleForm.dockUserList.split(',')
}
this.modalshowflag2 = true
},
choiceZRR (type, title, id) {
this.nodeList = []
this.nodeList.push(id)
this.type = type
this.drawerTitle = title
this.modalshowflag = true
},
// 导入按钮 上传之前的钩子
beginImportFile (file) {
@@ -487,49 +351,6 @@ export default {
fileUpload () {
this.fileMadel = true
},
saveUserInfo () {
if (this.type === 'dockUser') {
this.roleForm.dockUser = this.roleRow.id
this.roleForm.dockUserName = this.roleRow.name
} else if (this.type === 'ministerUser') {
this.roleForm.ministerUser = this.roleRow.id
this.roleForm.ministerUserName = this.roleRow.name
} else if (this.type === 'directorUser') {
this.roleForm.directorUser = this.roleRow.id
this.roleForm.directorUserName = this.roleRow.name
} else if (this.type === 'presidentUser') {
this.roleForm.presidentUser = this.roleRow.id
this.roleForm.presidentUserName = this.roleRow.name
}
this.modalshowflag = false
},
cancleUserInfo () {
this.modalshowflag = false
},
drawerCheck (data) {
var getlist = this.$refs.tree.getCheckedNodes().concat(this.$refs.tree.getHalfCheckedNodes());
if(getlist.length == 1) {
this.roleRow = getlist[0]
}else {
this.$refs.tree.setCheckedKeys([data.id]);
this.roleRow = this.$refs.tree.getCheckedNodes()[0]
}
},
choiceZRR (type, title, id) {
this.nodeList = []
this.nodeList.push(id)
this.type = type
this.drawerTitle = title
this.filterText1 = ''
this.modalshowflag = true
},
getTree () {
this.treeLoading = true
this.$http.get('SarInstitution/institution/getFirstInstitution', {}, {}, res=> {
this.treeData = res
this.treeLoading = false
})
},
handleTabs(name) {
this.active = name
},
@@ -591,9 +412,7 @@ export default {
})
}
},
mounted () {
this.getTree()
}
mounted () {}
}
</script>
@@ -82,31 +82,12 @@
@submit="handleSubmit"
>
</ProcessFooter>
<el-drawer
title="选择责任人"
:visible.sync="modalshowflag"
:wrapperClosable="false"
size="800px">
<el-tree
v-if="modalshowflag"
style="height: 100%; overflow: auto;"
node-key="id"
class="filter-tree"
:data="treeData"
:props="defaultProps"
:default-checked-keys="nodeList"
highlight-current
check-strictly
default-expand-all
:expand-on-click-node="false"
show-checkbox
ref="tree">
</el-tree>
<div id="roleFormButton" class="demo-drawer-footer">
<el-button class="common-button-primary" size="mini" icon="el-icon-check" type="primary" @click="saveUserInfo">确定</el-button>
<el-button class="common-button-default" size="mini" icon="el-icon-close" @click="cancleUserInfo">取消</el-button>
</div>
</el-drawer>
<Role-tree
is-title="选择责任部门对接人"
:is-visible.sync="modalshowflag2"
@checkedRole="checkedRole2"
:nodeList="nodeList2"
></Role-tree>
</div>
</template>
@@ -123,15 +104,9 @@
commentText: '',
taskIds: this.$route.query.taskIds,
pId: this.$route.query.prcId,
roleRow: {},
nodeList: [],
nodeList2: [],
type: '',
defaultProps: {
children: 'children',
label: 'name'
},
treeData: [], // 人员数据
modalshowflag: false, // drawer开关
modalshowflag2: false, // drawer开关
drawerTitle: '', //drawer标题
textarea: '', // 意见
ListModel: false, // 新增编辑抽屉开关
@@ -159,13 +134,10 @@
ProcessTitle
},
methods: {
updateFile () {
window.location.href = '/api/att/attFile/downloadFile?fileId=' + this.form.model
},
saveUserInfo () {
checkedRole2 (data) {
var idList = ''
var nameList = ''
this.$refs.tree.getCheckedNodes().concat(this.$refs.tree.getHalfCheckedNodes()).forEach( item => {
data.forEach( item => {
if (nameList.length > 0) {
nameList += ','
idList += ','
@@ -175,22 +147,16 @@
})
this.form.responUserList = idList
this.form.responUserListName = nameList
this.modalshowflag = false
},
cancleUserInfo () {
this.modalshowflag = false
updateFile () {
window.location.href = '/api/att/attFile/downloadFile?fileId=' + this.form.model
},
choiceZRR () {
this.nodeList = []
if (this.form.responUserList.length > 0) {
this.nodeList = this.form.responUserList.split(',')
this.nodeList2 = []
if ( this.form.responUserList.length > 0) {
this.nodeList2 = this.form.responUserList.split(',')
}
this.modalshowflag = true
},
getTree () {
this.$http.get('SarInstitution/institution/institutionAndUser', {}, {}, res=> {
this.treeData = res.data
})
this.modalshowflag2 = true
},
handleTabs(name) {
this.active = name
@@ -238,7 +204,6 @@
},
},
mounted () {
this.getTree()
this.getData()
}
}