项目人员类型调整

This commit is contained in:
Yjhon 2022-02-26 09:00:09 +08:00
parent 4231cb3fd5
commit 17cf782ec0
1 changed files with 50 additions and 41 deletions

View File

@ -10,13 +10,7 @@
<a-col :span="4" id="tree"> <a-col :span="4" id="tree">
<a-page-header title="单位列表" sub-title="" /> <a-page-header title="单位列表" sub-title="" />
<div v-if="this.orgTree != ''"> <div v-if="this.orgTree != ''">
<a-tree <a-tree :treeData="orgTree" v-if="orgTree.length" @select="onSelect" :defaultExpandAll="false" :expandedKeys="expandedKeys" :replaceFields="replaceFields">
:treeData="orgTree"
v-if="orgTree.length"
@select="onSelect"
:defaultExpandAll="false"
:expandedKeys="expandedKeys"
:replaceFields="replaceFields">
<a-icon slot="switcherIcon" type="down" /> <a-icon slot="switcherIcon" type="down" />
</a-tree> </a-tree>
</div> </div>
@ -30,15 +24,12 @@
<a-input v-model="queryParam.name" placeholder="请输入姓名" /> <a-input v-model="queryParam.name" placeholder="请输入姓名" />
</a-form-item> </a-form-item>
<a-form-item label="人员类型"> <a-form-item label="人员类型">
<a-select default-value="0" style="width: 120px"> <a-select style="width: 150px;" v-model="queryParam.type" placeholder="--请选择--">
<a-select-option value="0"> - - </a-select-option> <a-select-option v-for="item in personType" :key="item.value"> {{ item.name }} </a-select-option>
<a-select-option value="1"> </a-select-option>
<a-select-option value="2"> </a-select-option>
<a-select-option value="3"> </a-select-option>
</a-select> </a-select>
</a-form-item> </a-form-item>
<a-button type="primary" @click="$refs.table.refresh(true)">查询</a-button> <a-button type="primary" @click="$refs.table.refresh(true)">查询</a-button>
<a-button style="margin-left: 8px" @click="() => (queryParam = {})">重置</a-button> <a-button style="margin-left: 8px" @click="() => (queryParam.type = '',queryParam.name = null)">重置</a-button>
</a-row> </a-row>
</a-form> </a-form>
<s-table ref="table" :columns="columns" :data="loadData" :rowKey="(record) => record.id" :rowSelection="{ selectedRowKeys: selectedRowKeys, selectedRows: selectedRows, onChange: onSelectChange }"> <s-table ref="table" :columns="columns" :data="loadData" :rowKey="(record) => record.id" :rowSelection="{ selectedRowKeys: selectedRowKeys, selectedRows: selectedRows, onChange: onSelectChange }">
@ -71,6 +62,7 @@ import { orgList } from '@/api/org/org'
import { listToTree } from '@/utils/util' import { listToTree } from '@/utils/util'
import { personPage } from '@/api/person/person' import { personPage } from '@/api/person/person'
import { STable } from '@/components' import { STable } from '@/components'
import { dictionaryDropDown } from '@/api/sys/dictionaryItem'
const rootParentId = 0 const rootParentId = 0
export default { export default {
@ -84,16 +76,16 @@ export default {
type: Object type: Object
} }
}, },
data () { data() {
// //
return { return {
form: this.projectForm, form: this.projectForm,
// //
queryParam: { orgType: 1 }, queryParam: { orgType: 1,personType: null,orgId:''},
replaceFields: { children: 'children', title: 'name', key: 'id', value: 'id' }, replaceFields: { children: 'children', title: 'name', key: 'id', value: 'id' },
expandedKeys: [], expandedKeys: [],
personType: [],
autoExpandParent: true, autoExpandParent: true,
expandedKeys: [],
selectedRowKeys: [], selectedRowKeys: [],
selectedRows: this.projectForm.projectPersonLists || [], selectedRows: this.projectForm.projectPersonLists || [],
orgTree: [], orgTree: [],
@ -114,7 +106,7 @@ export default {
}, },
// data // data
computed: { computed: {
hasSelected () { hasSelected() {
return this.selectedRowKeys.length > 0 return this.selectedRowKeys.length > 0
} }
}, },
@ -123,7 +115,7 @@ export default {
// //
methods: { methods: {
// //
toNext () { toNext() {
this.form.projectPersonLists = this.selectedRows this.form.projectPersonLists = this.selectedRows
this.form.personIds = this.selectedRowKeys this.form.personIds = this.selectedRowKeys
if (this.form.personIds.length > 0) { if (this.form.personIds.length > 0) {
@ -133,14 +125,14 @@ export default {
} }
}, },
// //
toPrev () { toPrev() {
this.form.projectPersonLists = this.selectedRows this.form.projectPersonLists = this.selectedRows
this.form.personIds = this.selectedRowKeys this.form.personIds = this.selectedRowKeys
this.$emit('prevStep', this.form) this.$emit('prevStep', this.form)
}, },
/** 表格行选中后触发 */ /** 表格行选中后触发 */
onSelectChange (selectedRowKeys, selectedRows) { onSelectChange(selectedRowKeys, selectedRows) {
console.log('selectedRowKeys changed: ', selectedRowKeys) console.log('selectedRowKeys changed: ', selectedRowKeys)
console.log('选择的表格数据 : ', selectedRows) console.log('选择的表格数据 : ', selectedRows)
this.selectedRowKeys = this.uniqueKeys([...this.selectedRowKeys, ...selectedRowKeys]) this.selectedRowKeys = this.uniqueKeys([...this.selectedRowKeys, ...selectedRowKeys])
@ -148,19 +140,19 @@ export default {
}, },
// //
unique (arr) { unique(arr) {
const res = new Map() const res = new Map()
return arr.filter((arr) => !res.has(arr.id) && res.set(arr.id, 1)) return arr.filter((arr) => !res.has(arr.id) && res.set(arr.id, 1))
}, },
// key // key
uniqueKeys (arr) { uniqueKeys(arr) {
const res = new Map() const res = new Map()
return arr.filter((arr) => !res.has(arr) && res.set(arr, 1)) return arr.filter((arr) => !res.has(arr) && res.set(arr, 1))
}, },
// //
changeList (item) { changeList(item) {
console.log('列表点击删除列表项 : ', item) console.log('列表点击删除列表项 : ', item)
this.selectedRows = this.selectedRows.filter(function (i) { this.selectedRows = this.selectedRows.filter(function (i) {
return i.id != item.item.id return i.id != item.item.id
@ -171,13 +163,13 @@ export default {
}, },
// //
removeAllSelece () { removeAllSelece() {
this.selectedRowKeys = [] this.selectedRowKeys = []
this.selectedRows = [] this.selectedRows = []
}, },
// //
onSelect (selectedKey, info) { onSelect(selectedKey, info) {
console.log('selected', selectedKey, info) console.log('selected', selectedKey, info)
this.queryParam.orgId = selectedKey.toString() this.queryParam.orgId = selectedKey.toString()
this.orgId = selectedKey.toString() this.orgId = selectedKey.toString()
@ -185,26 +177,42 @@ export default {
}, },
// 使 // 使
onExpand (expandedKeys) { onExpand(expandedKeys) {
this.expandedKeys = expandedKeys this.expandedKeys = expandedKeys
this.autoExpandParent = false this.autoExpandParent = false
}, },
// //
initPersonList () { initPersonList() {
if (this.form.projectPersonLists) { if (this.form.projectPersonLists) {
this.selectedRowKeys = [], this.selectedRowKeys = [],
this.form.projectPersonLists.forEach(element => { this.form.projectPersonLists.forEach(element => {
this.selectedRowKeys.push(element.id) this.selectedRowKeys.push(element.id)
}) })
console.log('初始化的值', this.selectedRowKeys) console.log('初始化的值', this.selectedRowKeys)
} }
}, },
//
fetchTemplateData() {
let formData = { dictionaryCode: '0005' }
dictionaryDropDown(formData).then(res => {
console.log(res)
if (res.code == 200) {
const result = res.data
result.forEach(r => {
this.personType.push({
value: r.value,
name: r.name
})
})
}
})
},
/** /**
* 获取到机构树展开顶级下树节点考虑到后期数据量变大不建议全部展开 * 获取到机构树展开顶级下树节点考虑到后期数据量变大不建议全部展开
*/ */
async getOrgTree () { async getOrgTree() {
await orgList({ orgType: this.orgType }).then((res) => { await orgList({ orgType: this.orgType }).then((res) => {
this.treeLoading = false this.treeLoading = false
if (!res.code === 200 || !res.data.length) { if (!res.code === 200 || !res.data.length) {
@ -212,7 +220,7 @@ export default {
} }
this.expandedKeys = [] this.expandedKeys = []
this.orgTree = listToTree(res.data, [], rootParentId) this.orgTree = listToTree(res.data, [], rootParentId)
this.orgId = this.orgTree[0].id this.queryParam.orgId = this.orgTree[0].id
// //
this.orgTree.forEach(item => { this.orgTree.forEach(item => {
this.expandedKeys.push(item.id) this.expandedKeys.push(item.id)
@ -221,26 +229,27 @@ export default {
} }
}, },
// - 访this // - 访this
created () { created() {
this.getOrgTree() this.getOrgTree()
this.initPersonList() this.initPersonList()
this.fetchTemplateData()
}, },
// - 访DOM // - 访DOM
mounted () { }, mounted() { },
// - // -
beforeCreate () { }, beforeCreate() { },
// - // -
beforeMount () { }, beforeMount() { },
// - // -
beforeUpdate () { }, beforeUpdate() { },
// - // -
updated () { }, updated() { },
// - // -
beforeDestroy () { }, beforeDestroy() { },
// - // -
destroyed () { }, destroyed() { },
// keep-alive // keep-alive
activated () { } activated() { }
} }
</script> </script>
<style scoped> <style scoped>