[update] 修改企标流程bug

This commit is contained in:
lideqin
2023-12-20 18:43:23 +08:00
parent ea8d024628
commit d2a044ac3e
5 changed files with 148 additions and 75 deletions
@@ -2,74 +2,102 @@
<j-modal
:title="$t('userSelect.selectUser')"
:maskClosable="false"
:width="1000"
:width="1200"
:closable="true"
@ok="handleOk"
@cancel="handleCancel"
switchFullscreen
:visible="visible">
<div class="modal-search-wrapper table-page-search-wrapper">
<a-form layout="inline" @keyup.enter.native="searchQuery">
<a-row :gutter="24">
<a-col :span="6">
<a-form-item :label="$t('system.internalWorkGroup.name')" :labelCol="labelCol" :wrapperCol="wrapperCol">
<a-input :placeholder="$t('pleaseEnter')+$t('system.internalWorkGroup.name')" v-model="queryParam.realname"></a-input>
</a-form-item>
</a-col>
<a-col :span="6">
<a-form-item :label="$t('system.internalWorkGroup.workNo')" :labelCol="labelCol" :wrapperCol="wrapperCol">
<a-input :placeholder="$t('pleaseEnter')+$t('system.internalWorkGroup.workNo')" v-model="queryParam.username"></a-input>
</a-form-item>
</a-col>
<a-col :span="6">
<a-form-item :label="$t('system.internalWorkGroup.role')" :labelCol="labelCol" :wrapperCol="wrapperCol">
<a-input :placeholder="$t('pleaseEnter')+$t('system.internalWorkGroup.role')" v-model="queryParam.userRoleName"></a-input>
</a-form-item>
</a-col>
<a-col :span="6">
<a-form-item :label="$t('system.internalWorkGroup.post')" :labelCol="labelCol" :wrapperCol="wrapperCol">
<a-input :placeholder="$t('pleaseEnter')+$t('system.internalWorkGroup.post')" v-model="queryParam.userPostName"></a-input>
</a-form-item>
</a-col>
<!--<a-col :span="6">-->
<!-- <a-form-item :label="$t('userSelect.workGroup')" :labelCol="labelCol" :wrapperCol="wrapperCol">-->
<!-- <a-tree-select-->
<!-- tree-node-filter-prop="title"-->
<!-- v-model="queryParam.workingGroupId"-->
<!-- :maxTagCount="1"-->
<!-- :show-search="true"-->
<!-- :getPopupContainer="triggerNode=> triggerNode.parentNode"-->
<!-- style="width: 100%"-->
<!-- :tree-data="workingGroupTreeList"-->
<!-- :placeholder="$t('pleaseSelect')"-->
<!-- />-->
<!-- </a-form-item>-->
<!--</a-col>-->
<span style="float: right;overflow: hidden;margin-right: 11px" class="table-page-search-submitButtons">
<div class="modal-top-wrapper">
<div class="modal-left-wrapper">
<a-spin :spinning="treeLoading">
<a-tree
:show-line="true"
:show-icon="true"
:tree-data="treeData"
:selectedKeys="currentTreeNode"
:replaceFields="{children: 'subset', title: 'name', key: 'id'}"
:default-expand-all="defaultExpandAll"
@select="treeSelect">
<template #custom="record">
<div class="tree-operate-node">
<a-icon class="parent-node-icon" type="folder" v-if="record.subset && record.subset.length > 0" />
<a-tooltip>
<template #title>
{{ record.name }}
</template>
<span class="tree-node-custom-title">{{ record.name }}</span>
</a-tooltip>
</div>
</template>
</a-tree>
</a-spin>
</div>
<div class="modal-right-wrapper">
<div class="modal-search-wrapper table-page-search-wrapper">
<a-form layout="inline" @keyup.enter.native="searchQuery">
<a-row :gutter="24">
<a-col :span="6">
<a-form-item :label="$t('system.internalWorkGroup.name')" :labelCol="labelCol" :wrapperCol="wrapperCol">
<j-input :placeholder="$t('pleaseEnter')+$t('system.internalWorkGroup.name')" v-model="queryParam.realname"></j-input>
</a-form-item>
</a-col>
<a-col :span="6">
<a-form-item :label="$t('system.internalWorkGroup.workNo')" :labelCol="labelCol" :wrapperCol="wrapperCol">
<j-input :placeholder="$t('pleaseEnter')+$t('system.internalWorkGroup.workNo')" v-model="queryParam.username"></j-input>
</a-form-item>
</a-col>
<a-col :span="6">
<a-form-item :label="$t('system.internalWorkGroup.role')" :labelCol="labelCol" :wrapperCol="wrapperCol">
<a-input :placeholder="$t('pleaseEnter')+$t('system.internalWorkGroup.role')" v-model="queryParam.userRoleName"></a-input>
</a-form-item>
</a-col>
<a-col :span="6">
<a-form-item :label="$t('system.internalWorkGroup.post')" :labelCol="labelCol" :wrapperCol="wrapperCol">
<j-input :placeholder="$t('pleaseEnter')+$t('system.internalWorkGroup.post')" v-model="queryParam.post"></j-input>
</a-form-item>
</a-col>
<!--<a-col :span="6">-->
<!-- <a-form-item :label="$t('userSelect.workGroup')" :labelCol="labelCol" :wrapperCol="wrapperCol">-->
<!-- <a-tree-select-->
<!-- tree-node-filter-prop="title"-->
<!-- v-model="queryParam.workingGroupId"-->
<!-- :maxTagCount="1"-->
<!-- :show-search="true"-->
<!-- :getPopupContainer="triggerNode=> triggerNode.parentNode"-->
<!-- style="width: 100%"-->
<!-- :tree-data="workingGroupTreeList"-->
<!-- :placeholder="$t('pleaseSelect')"-->
<!-- />-->
<!-- </a-form-item>-->
<!--</a-col>-->
<span style="float: right;overflow: hidden;margin-right: 11px" class="table-page-search-submitButtons">
<a-button style="margin-left: 8px" type="primary" icon="search" @click="searchQuery">{{$t('query')}}</a-button>
<a-button style="margin-left: 8px" type="primary" ghost icon="reload" @click="searchReset">{{$t('reset')}}</a-button>
</span>
</a-row>
</a-form>
</div>
<div class="modal-content">
<a-table
:columns="columns"
rowKey="id"
bordered
:scroll="{x: '100%'}"
:data-source="dataSource"
:pagination="ipagination"
:row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange, type: type }"
:loading="loadingLeft"
@change="leftTableChange">
<template slot="text" slot-scope="text">
<a-tooltip overlay-class-name="tooltip-style">
<template slot="title">{{ text || text === 0 ? text : global.emptyLine }}</template>
<div class="table-text">{{ text || text === 0 ? text : global.emptyLine }}</div>
</a-tooltip>
</template>
</a-table>
</a-row>
</a-form>
</div>
<div class="modal-content">
<a-table
:columns="columns"
rowKey="id"
bordered
:scroll="{x: '100%', y: '280px'}"
:data-source="dataSource"
:pagination="ipagination"
:row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange, type: type }"
:loading="loadingLeft"
@change="leftTableChange">
<template slot="text" slot-scope="text">
<a-tooltip overlay-class-name="tooltip-style">
<template slot="title">{{ text || text === 0 ? text : global.emptyLine }}</template>
<div class="table-text">{{ text || text === 0 ? text : global.emptyLine }}</div>
</a-tooltip>
</template>
</a-table>
</div>
</div>
</div>
<p class="modal-content-title">{{ $t('userSelect.selectedPersonnel') }}</p>
<div v-if="dataSourceRight && dataSourceRight.length > 0" class="name-content">
@@ -122,6 +150,10 @@ export default {
wrapperCol: {
span: 18
},
treeLoading: false,
currentTreeNode: null, // 当前选中的树节点
defaultExpandAll: false, // 左侧树默认展开所有
treeData: [],
columns: [
{
title: this.$t('user.workNo'),
@@ -137,13 +169,13 @@ export default {
},
{
title: this.$t('role'),
dataIndex: 'userRoleName',
dataIndex: 'roleTxt',
align: 'center',
scopedSlots: { customRender: 'text' }
},
{
title: this.$t('userSelect.post'),
dataIndex: 'userPostName',
dataIndex: 'post',
align: 'center',
scopedSlots: { customRender: 'text' }
}
@@ -171,16 +203,17 @@ export default {
}
},
mounted () {
this.initTreeData()
this.getWorkGroupTree()
this.loadData()
},
methods: {
open (value) {
this.visible = true
this.loadData()
if (value) {
this.selectedRowKeys = value.split(',')
this.getUserListByIds(value)
this.loadData()
}
},
// 获取内部工作组树
@@ -193,6 +226,30 @@ export default {
}
})
},
// 左侧树点击选中
treeSelect (selectedKeys) {
console.log(selectedKeys)
this.currentTreeNode = selectedKeys
this.queryParam.workingGroupId = selectedKeys[0]
this.loadData()
},
// 获取左侧树数据
initTreeData (params) {
this.treeLoading = true
getWorkGroupTreeList(params).then(res => {
if (res.success) {
this.treeData = this.dealTreeData(res.result)
this.treeData[0].scopedSlots = { title: 'oneCustom' }
} else {
this.treeData = []
}
}).finally(() => {
this.$nextTick(() => {
this.defaultExpandAll = true
})
this.treeLoading = false
})
},
// 处理左侧树数据结构
dealTreeData (treeData) {
return treeData.map(item => {
@@ -318,6 +375,21 @@ export default {
</script>
<style scoped lang="less">
@import '~@assets/less/common.less';
.modal-top-wrapper {
display: flex;
height: 480px;
margin-bottom: 20px;
}
.modal-left-wrapper {
width: 200px;
margin-right: 20px;
height: 100%;
overflow-y: scroll;
}
.modal-right-wrapper {
flex: 1;
}
.modal-content {
width: 100%;
display: flex;
@@ -360,6 +432,10 @@ export default {
}
}
/deep/ .ant-table-body{
overflow: scroll;
}
/deep/ .ant-form-item-label{
min-width: 70px !important;
}