Browse Source

居民信息加组织下拉框

feature
mk 1 year ago
committed by 是小王呀\24601
parent
commit
ee01f6fb14
  1. 179
      src/views/components/resiSearch.vue
  2. 19
      src/views/modules/base/resi.vue

179
src/views/components/resiSearch.vue

@ -147,6 +147,87 @@
class="u-item-width-daterange u-data-tag" placeholder="结束日期" :picker-options="pickerOptionsEnd">
</el-date-picker>
</el-form-item>
<el-form-item>
<span style="width:100px;text-align: right;padding-right:14px;display: inline-block; ">所属组织:</span>
<el-cascader class="u-item-width-normal"
size="small"
ref="myCascader"
v-model="form.agencyId"
:options="orgOptions"
:props="orgOptionProps"
:show-all-levels="false"
@change="handleChangeAgency"
clearable></el-cascader>
</el-form-item>
<el-form-item prop="villageId">
<div class="resi-cell">
<div class="resi-cell-value">
<span style="width:100px;text-align: right;padding-right:14px;display: inline-block; ">所属房屋:</span>
<el-select v-model.trim="form.villageId"
placeholder="请选择小区"
size="small"
filterable
clearable
class="u-item-width-communitycascader"
@clear="handleClearVillage"
@change="handleChangeV"
v-el-select-loadmore="loadmore"
>
<el-option v-for="item in optionsV"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
<el-select v-model.trim="form.buildId"
placeholder="楼号"
size="small"
filterable
clearable
style="margin-left: 5px"
class="u-item-width-buildcascader"
:disabled="changeVDisabled"
@clear="handleClearBuild"
@change="handleChangeB">
<el-option v-for="item in optionsB"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
<el-select v-model.trim="form.unitId"
:disabled="changeBDisabled"
placeholder="单元"
size="small"
filterable
clearable
style="margin-left: 5px"
class="u-item-width-buildcascader"
@click="handleClearDan"
@change="handleChangeD">
<el-option v-for="item in optionsD"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
<el-select v-model.trim="form.homeId"
:disabled="changeDDisabled"
placeholder="房号"
size="small"
filterable
clearable
style="margin-left: 5px"
class="u-item-width-buildcascader">
<el-option v-for="item in optionsH"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
</div>
</div>
</el-form-item>
<el-form-item label="备注">
<el-input v-model.trim="form.remark" placeholder="请输入" size="small" class="u-item-width-normal"
clearable></el-input>
@ -671,7 +752,6 @@ export default {
'agencyId ': 'like'
},
sarr: [],
level: '',
showSmartSearchForm: false,
formType: 'add',
@ -844,13 +924,27 @@ export default {
// console.log('formcccc---', this.form)
this.getOrgTreeList()
this.getEducation()
this.getValiheList()
this.getDictList()
this.getHousehold()
this.getNationality()
this.getCareerStatus()
if (this.columnName) this.handleChangeForm(this.columnName)
},
mounted(){
this.$EventBus.$on('handleClickResiTree', (val) => {
if(val.type === 'agency'){
this.form.agencyId = val.id;
this.optionsV = [];
this.getValiheList();
}else if(val.type === 'neighborHood'){
this.form.villageId = val.id;
this.handleChangeV(val.id)
}else if(val.type === 'building'){
this.form.buildId = val.id;
this.handleChangeB(val.id)
}
})
},
methods: {
handleCategoryChange(newVal, oldVal) {
let formCopy = JSON.parse(JSON.stringify(this.form));
@ -945,63 +1039,8 @@ export default {
else this.form[n] = ''
}
this.agencyIdArray = []
// let arr3 = [...arr1, ...arr]
this.$emit('search', [])
// this.handleSearch()
// this.orgOptions = [];
},
// handleSearch() {
// if (this.showSmartSearchForm) {
// let refObj = this.$refs['ref_rule']
// refObj.getRule()
// } else {
// // debugger
// // console.log('formmmmm---', this.form)
// const itemTypes = ['daterange', 'timerange', 'checkbox']
// let a = this.tempFormList.filter(item => item.itemType != 'inputRange')
// let arr = a.filter(n => n.isChange).map((item) => {
// return {
// queryType: item.queryType,
// tableName: item.tableName,
// columnName: item.columnName,
// columnValue: this.form[item.columnName] &&
// (itemTypes.includes(item.queryType) ||
// itemTypes.includes(item.itemType) || item.multiSelect == 1
// ? this.form[item.columnName]
// : [this.form[item.columnName].toString()])
// }
// })
// const arr2 = arr.filter(item => item.columnValue.length > 0)
// let arr1 = this.fixedList
// .filter((n) => n.columnValue.length > 0)
// .map((item) => {
// return {
// ...item
// }
// })
// var arr4 = []
// var arr3 = [...arr1, ...arr2];
// if (this.timer.startPickerTime && this.timer.endPickerTime) {
// arr4 = [{
// queryType: 'daterange',
// tableName: 'ic_resi_user',
// columnName: 'BIRTHDAY',
// columnValue: [this.timer.startPickerTime || '', this.timer.endPickerTime || '']
// }]
// arr3 = [...arr1, ...arr2, ...arr4]
// } else {
// let i = arr3.findIndex(item => item.columnName == 'BIRTHDAY')
// console.log(i, '');
// arr3 = arr3.splice(i,1)
// console.log(arr3);
// }
// this.$emit('search', arr3)
// arr3 = []
// return arr3
// }
// },
},
handleAgeChange() {
if (this.form.ageStart&&this.form.ageEnd) {
if (Number(this.form.ageStart) > Number(this.form.ageEnd)) {
@ -1025,17 +1064,13 @@ export default {
}
},
handleChangeAgency(val) {
this.sarr = []
const map = new Map();
this.getLastItem(
this.orgOptions,
val,
"agencyId"
);
this.level = this.sarr[this.sarr.length - 1].level
this.form.level = this.sarr[this.sarr.length - 1].level
this.form.level = this.sarr[this.sarr.length - 1].level;
this.getValiheList()
},
getLastItem(list, vals, key) {
@ -1140,24 +1175,10 @@ export default {
this.getValiheList();
},
getValiheList() {
const { user } = this.$store.state
var agencyIdTemp = ''
if (this.form.agencyId.length == 0) {
agencyIdTemp = ''
} else {
agencyIdTemp = this.form.agencyId[this.form.agencyId.length - 1]
}
var gridIdQuery = '';
var agencyIdQuery = this.form.agencyId[0];
if (this.form.agencyId.length >= 2) {
agencyIdQuery = this.form.agencyId[this.form.agencyId.length - 2];
gridIdQuery = this.form.agencyId[this.form.agencyId.length - 1];
}
this.$http
.post('/actual/base/communityQuarters/listQuartersOptions', {
gridId: gridIdQuery,
agencyId: agencyIdQuery,
gridId: this.form.agencyId,
agencyId: this.$store.state.user.agencyId,
pageNo: this.optionsVPageNo,
pageSize: 20
// agencyId: user.agencyId

19
src/views/modules/base/resi.vue

@ -7,7 +7,7 @@
<el-tree ref="ref_tree" v-loading="treeLoading" class="filter_tree" :data="treeData" :props="defaultProps"
:highlight-current="true" node-key="id" :expand-on-click-node="false" :filter-node-method="filterNode"
@node-click="handleNodeClick" lazy :auto-expand-parent="true" :default-expanded-keys="autoOpenArr"
:load="lazyLoadTree">
:load="lazyLoadTree" >
<div slot-scope="{ node, data }" class="custom-tree-node">
<!-- <img
v-if="showIcons(data)"
@ -464,7 +464,6 @@ export default {
await this.loadTree();
if (this.treeData.length > 0) {
this.$nextTick(() => {
// ref_tree ref value node-key
this.$refs.ref_tree.setCurrentKey(this.treeData[0].id);
});
}
@ -482,7 +481,6 @@ export default {
var target = event.target;
let textLength = target.clientWidth;
let containerLength = target.scrollWidth;
console.log(textLength, containerLength);
if (textLength < containerLength) {
this.tooltipTitle = event.target.innerText;
this.isShowTooltip = false;
@ -536,7 +534,6 @@ export default {
//
let _obj = JSON.parse(JSON.stringify(this.$refs.myResiSearch.form));
_obj.attentionCrowds = _obj.attentionCrowds.flat()
console.log('213', _obj)
switch (this.valueb) {
case '党员':
_obj.partyFlag = 1
@ -1245,11 +1242,18 @@ export default {
if (data[0].children.length > 0) {
this.treeData = data;
for (let i in this.treeData[0].children) {
if(this.treeData[0].children[0].children[0]){
this.autoOpenArr.push(
this.treeData[0].id,
this.treeData[0].children[i].id,
this.treeData[0].children[0].children[0].id
);
}else{
this.autoOpenArr.push(
this.treeData[0].id,
this.treeData[0].children[i].id,
);
}
}
} else {
this.treeData = [];
@ -1300,6 +1304,13 @@ export default {
this.selObj = JSON.parse(JSON.stringify(obj));
this.selTreeObj = obj;
await nextTick(1000);
this.$nextTick(()=>{
if(obj.level === "building" || obj.level === "neighborHood"){
this.$EventBus.$emit('handleClickResiTree',{type:obj.level,id:obj.id})
}else{
this.$EventBus.$emit('handleClickResiTree',{type:'agency',id:obj.id})
}
})
this.searchAgencyObj = {};
if (obj.level === "building") {
this.searchAgencyObj.buildId = obj.id;

Loading…
Cancel
Save