Browse Source

居民信息所属组织调整

feature
jiangyuying 2 years ago
parent
commit
4291740c55
  1. 423
      src/views/components/resiForm.vue
  2. 8
      src/views/modules/base/resi.vue
  3. 4
      src/views/modules/base/residentManagement/housingNature/addForm.vue
  4. 10
      src/views/modules/base/residentManagement/louzhang/addForm.vue
  5. 4
      src/views/modules/base/residentManagement/louzhang/louzhangList.vue
  6. 4
      src/views/modules/base/residentManagement/tefu/addForm.vue
  7. 4
      src/views/modules/base/residentManagement/tefu/tefuList.vue

423
src/views/components/resiForm.vue

@ -1,170 +1,180 @@
<template>
<div class="g-main ">
<el-form class="resi-form m-search"
<el-form class="m-search"
:model="form"
ref="formId">
<el-form-item prop="gridId"
:rules="rulesForm.gridId"
label="所属组织"
label-width="100px">
<el-select v-model.trim="form.gridId"
placeholder="请选择网格"
size="small"
clearable
class="u-item-width-normal"
@change="handleChangeGrid">
<el-option v-for="item in optionsG"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="所属房屋"
label-width="100px"
:required="true">
<div class="f-flex">
<el-form-item prop="villageId"
class="u-item-width-communitycascader f-bto0"
:rules="rulesForm.villageId">
<el-select v-model.trim="form.villageId"
placeholder="请选择小区"
size="small"
class="u-item-width-communitycascader f-bto0"
<div>
<el-form-item v-if="formType==='add'"
prop="gridId"
:rules="rulesForm.gridId"
label="所属组织"
label-width="100px">
<el-cascader class="item-agency"
ref="myCascader"
clearable
@change="handleChangeV">
<el-option v-for="item in optionsV"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
</el-form-item>
<el-form-item prop="buildId"
:rules="rulesForm.buildId">
<el-select v-model.trim="form.buildId"
placeholder="楼号"
size="small"
clearable
class="u-item-width-buildcascader f-bto0"
@change="handleChangeB">
<el-option v-for="item in optionsB"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
</el-form-item>
<el-form-item prop="unitId"
:rules="rulesForm.unitId">
<el-select v-model.trim="form.unitId"
placeholder="单元"
size="small"
clearable
class="u-item-width-buildcascader f-bto0"
@change="handleChangeD">
<el-option v-for="item in optionsD"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
</el-form-item>
<el-form-item prop="homeId"
:rules="rulesForm.homeId">
<el-select v-model.trim="form.homeId"
placeholder="房号"
v-model=" selGridId"
:options="orgOptions"
:props="orgOptionProps"
@change="handleChangeAgency"></el-cascader>
</el-form-item>
<el-form-item v-else
prop="gridId"
:rules="rulesForm.gridId"
label="所属组织"
label-width="100px">
<span>{{form.gridName||'--'}}</span>
</el-form-item>
</div>
<div class="resi-form">
<el-form-item label="所属房屋"
label-width="100px"
:required="true">
<div class="f-flex">
<el-form-item prop="villageId"
class="u-item-width-communitycascader f-bto0"
:rules="rulesForm.villageId">
<el-select v-model.trim="form.villageId"
placeholder="请选择小区"
size="small"
class="u-item-width-communitycascader f-bto0"
clearable
@change="handleChangeV">
<el-option v-for="item in optionsV"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
</el-form-item>
<el-form-item prop="buildId"
:rules="rulesForm.buildId">
<el-select v-model.trim="form.buildId"
placeholder="楼号"
size="small"
clearable
class="u-item-width-buildcascader f-bto0"
@change="handleChangeB">
<el-option v-for="item in optionsB"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
</el-form-item>
<el-form-item prop="unitId"
:rules="rulesForm.unitId">
<el-select v-model.trim="form.unitId"
placeholder="单元"
size="small"
clearable
class="u-item-width-buildcascader f-bto0"
@change="handleChangeD">
<el-option v-for="item in optionsD"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
</el-form-item>
<el-form-item prop="homeId"
:rules="rulesForm.homeId">
<el-select v-model.trim="form.homeId"
placeholder="房号"
size="small"
clearable
class="u-item-width-buildcascader f-bto0"
@change="handleChangeH">
<el-option v-for="item in optionsH"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
</el-form-item>
</div>
</el-form-item>
<el-form-item v-for="(item,index) in basicInformation"
:label-width="'100px'"
:label="item.label"
:key="index"
:class="item.itemType=='textarea'?'textareaDidth':''"
:rules="item.rules"
:prop="item.formName">
<template v-if="item.itemType == 'radio'">
<section class="u-item-width-normal">
<el-radio v-for="ns in item.opction"
:key="ns.value"
size="small"
v-model.trim="form[item.formName]"
:label="ns.value">
{{ ns.label }}</el-radio>
</section>
</template>
<template v-if="item.itemType == 'input'">
<el-input clearable
size="small"
:placeholder="`请输入${item.label}`"
v-model.trim="form[item.formName]"
class="u-item-width-normal"
@blur="handleValidBlur(item)">
</el-input>
</template>
<template v-else-if="item.itemType == 'select'">
<el-select v-model="form[item.formName]"
:placeholder="`请选择${item.label}`"
size="small"
clearable
class="u-item-width-buildcascader f-bto0"
@change="handleChangeH">
<el-option v-for="item in optionsH"
:key="item.value"
:label="item.label"
:value="item.value">
class="u-item-width-normal">
<el-option v-for="items in item.opction "
:key="items.value"
:label="items.label"
:value="items.value">
</el-option>
</el-select>
</el-form-item>
</div>
</el-form-item>
<el-form-item v-for="(item,index) in basicInformation"
:label-width="'100px'"
:label="item.label"
:key="index"
:class="item.itemType=='textarea'?'textareaDidth':''"
:rules="item.rules"
:prop="item.formName">
<template v-if="item.itemType == 'radio'">
<section class="u-item-width-normal">
<el-radio v-for="ns in item.opction"
:key="ns.value"
size="small"
v-model.trim="form[item.formName]"
:label="ns.value">
{{ ns.label }}</el-radio>
</section>
</template>
<template v-if="item.itemType == 'input'">
<el-input clearable
size="small"
:placeholder="`请输入${item.label}`"
v-model.trim="form[item.formName]"
class="u-item-width-normal"
@blur="handleValidBlur(item)">
</el-input>
</template>
<template v-else-if="item.itemType == 'select'">
<el-select v-model="form[item.formName]"
:placeholder="`请选择${item.label}`"
size="small"
clearable
class="u-item-width-normal">
<el-option v-for="items in item.opction "
:key="items.value"
:label="items.label"
:value="items.value">
</el-option>
</el-select>
</template>
<template v-else-if="item.itemType == 'textarea'">
<el-input type="textarea"
placeholder="请输入内容"
class="item-width-textarea"
maxlength="120"
show-word-limit
resize="none"
rows="3"
v-model.trim="form[item.formName]">
</el-input>
</template>
<template v-else-if="item.itemType == 'checkbox'"
:label="item.label">
<el-checkbox v-for="(items,indexs) in item.opction"
style="width:70px"
:key="indexs"
:label="items.label"
:true-label="'1'"
:false-label="'0'"
size="small"
v-model="form[items.formName]"
@change="val => handleChangeCheckbox(items,val)">
</el-checkbox>
</template>
<template v-else-if="item.itemType == 'datepicker'"
:label="item.label">
<el-date-picker v-model.trim="form.birthday"
class="u-item-width-normal"
type="date"
size="small"
clearable
placeholder="选择日期"
format="yyyy 年 MM 月 dd 日"
value-format="yyyy-MM-dd">
</el-date-picker>
</template>
</el-form-item>
</template>
<template v-else-if="item.itemType == 'textarea'">
<el-input type="textarea"
placeholder="请输入内容"
class="item-width-textarea"
maxlength="120"
show-word-limit
resize="none"
rows="3"
v-model.trim="form[item.formName]">
</el-input>
</template>
<template v-else-if="item.itemType == 'checkbox'"
:label="item.label">
<el-checkbox v-for="(items,indexs) in item.opction"
style="width:70px"
:key="indexs"
:label="items.label"
:true-label="'1'"
:false-label="'0'"
size="small"
v-model="form[items.formName]"
@change="val => handleChangeCheckbox(items,val)">
</el-checkbox>
</template>
<template v-else-if="item.itemType == 'datepicker'"
:label="item.label">
<el-date-picker v-model.trim="form.birthday"
class="u-item-width-normal"
type="date"
size="small"
clearable
placeholder="选择日期"
format="yyyy 年 MM 月 dd 日"
value-format="yyyy-MM-dd">
</el-date-picker>
</template>
</el-form-item>
</div>
<!-- 这里开始就是底部的input了------------------------------------------------------------------->
<el-tabs v-model="activeName"
@tab-click="handleClickTab">
@ -401,9 +411,14 @@ export default {
type: String,
default: 'resiForm'
},
formType: {
type: String,
default: 'add'
},
},
data () {
return {
selGridId: [],
optionsV: [],
optionsB: [],
optionsH: [],
@ -413,6 +428,17 @@ export default {
validateFlag: null,
disabilityCategoryCode: [],
tabFlag: true,
orgOptions: [],
orgOptionProps: {
value: 'agencyId',
label: 'agencyName',
children: 'subAgencyList',
emitPath: false,
multiple: false,
checkStrictly: true
},
// input
basicInformation: [
{
@ -1555,14 +1581,60 @@ export default {
},
},
created () {
this.getGridList()
this.getOrgTreeList()
this.getAllDict()
this.setNewForm()
},
methods: {
getOrgTreeList () {
const { user } = this.$store.state;
this.$http
.post('/gov/org/customeragency/agencygridtree', {})
.then(({ data: res }) => {
if (res.code !== 0) {
return this.$message.error(res.msg);
} else {
console.log('获取组织树成功', res.data);
this.orgOptions = [];
this.orgOptions.push(res.data);
}
})
.catch(() => {
return this.$message.error('网络错误');
});
},
handleChangeAgency (val) {
let obj = this.$refs['myCascader'].getCheckedNodes()[0] ? this.$refs['myCascader'].getCheckedNodes()[0].data : null;
console.log('obj', obj);
console.log('gridId', this.gridId);
console.log('val', val);
if (obj) {
if (obj.level === 'grid') {
this.form.gridId = obj.agencyId;
this.form.agencyId = obj.pid
this.form.villageId = '';
this.form.buildId = '';
this.form.unitId = '';
this.form.homeId = '';
this.getValiheList();
} else {
this.selGridId = []
this.form.gridId = ''
this.form.agencyId = ''
this.$message.info('请选择网格')
return false
}
}
},
submit_from () {
this.setJSON()
@ -1617,19 +1689,7 @@ export default {
}
},
getGridList () {
const { user } = this.$store.state
this.$http.post('/gov/org/customergrid/gridoption', { agencyId: user.agencyId, purpose: 'addorupdate' }).then(({ data: res }) => {
if (res.code !== 0) {
return this.$message.error(res.msg)
} else {
this.optionsG = res.data
}
}).catch(() => {
return this.$message.error('网络错误')
})
},
getValiheList () {
const { user } = this.$store.state
this.$http.post('/actual/base/communityQuarters/listQuartersOptions', { gridId: this.form.gridId, agencyId: user.agencyId }).then(({ data: res }) => {
@ -1812,23 +1872,7 @@ export default {
}
},
handleChangeGrid (val) {
for (let n of this.optionsG) {
if (n.value == val) {
this.form.gridName = n.label
}
}
this.form.villageId = ''
this.form.buildId = ''
this.form.unitId = ''
this.form.homeId = ''
this.getValiheList()
if (!val) {
this.getBuildList()
this.getUniList()
this.getHouseList()
}
},
validateIdcard (idCard, type) {
this.$http
.post('/epmetuser/icresiuser/getUserRoleByIdCard', { idCard })
@ -2823,4 +2867,7 @@ export default {
.f-bto0 {
margin-bottom: 0px !important;
}
.item-agency {
width: 400px;
}
</style>

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

@ -341,6 +341,7 @@
<div class="dialog-h-content scroll-h">
<resi-form v-if="dialogVisible"
ref="baseForm"
:formType="formType"
:fixed="true"
:resi-id="editUserId"
@changegroup="handleChangeGroup" />
@ -496,6 +497,7 @@ export default {
isIndeterminate: false,
dialogEditVisible: false,
dialogVisible: false,
formType: 'add',
//
dialogVisible2: false,
lookResiId: "",
@ -712,8 +714,8 @@ export default {
},
filterEdit (id) {
const { user } = this.$store.state;
// return true; //
return id === user.agencyId;
return true; //
// return id === user.agencyId;
},
selectionChange (selection) {
this.selection = selection;
@ -990,6 +992,7 @@ export default {
async handleEdit (row) {
this.editUserId = row.resiId;
this.formName = "编辑居民";
this.formType = 'edit'
this.dialogVisible = true;
await this.residentBaseInfo();
},
@ -1013,6 +1016,7 @@ export default {
},
async handleAdd () {
this.formType = 'add'
this.formName = "新增居民";
this.editUserId = "";
this.dialogVisible = true;

4
src/views/modules/base/residentManagement/housingNature/addForm.vue

@ -22,7 +22,7 @@
<el-cascader v-if="formType == 'add'"
ref="ref_cascader_agency"
class="width-two"
v-model="formData.agencyId"
v-model="selGridId"
:options="optionsA"
@change="handleChangeAngency"
:props="{ checkStrictly: true, emitPath: false,children:'subAgencyList',label:'agencyName',value:'agencyId'}"
@ -468,6 +468,7 @@ export default {
return {
btnDisable: false,
optionsA: [],
selGridId: [],
labelWidth: '120px',
formData: {
@ -566,6 +567,7 @@ export default {
if (obj.level !== 'community') {
this.$message.info('请选择社区')
this.formData.agencyId = ''
this.selGridId = []
return false
} else {
this.formData.agencyId = val

10
src/views/modules/base/residentManagement/louzhang/addForm.vue

@ -21,7 +21,7 @@
<el-cascader v-if="formType == 'add'"
ref="ref_cascader_agency"
class="width-two"
v-model="formData.agencyId"
v-model="selGridId"
:options="optionsA"
@change="handleChangeAngency"
:props="{ checkStrictly: true, emitPath: false,children:'subAgencyList',label:'agencyName',value:'agencyId'}"
@ -169,6 +169,7 @@ export default {
data () {
return {
selGridId: [],
btnDisable: false,
optionsA: [],
optionsRange: [],
@ -260,6 +261,7 @@ export default {
if (obj.level !== 'community') {
this.$message.info('请选择社区')
this.formData.agencyId = ''
this.selGridId = []
return false
} else {
this.formData.agencyId = val
@ -419,15 +421,15 @@ export default {
return {
agencyId: [{ required: true, message: "所属组织不能为空", trigger: "change" }],
agencyId: [{ required: true, message: "所属组织不能为空", trigger: "blur" }],
name: [{ required: true, message: "姓名不能为空", trigger: "change" }],
mobile: [{ required: true, message: "联系电话不能为空", trigger: "change" }],
idNum: [
{ required: true, message: "证件号不能为空", trigger: "bulr" },
{ required: true, validator: checkIdCard, trigger: "blur" },
],
dormitoryTypeArray: [{ required: true, message: "类型不能为空", trigger: "change" }],
rangeList: [{ required: true, message: "管理范围不能为空", trigger: "change" }],
dormitoryTypeArray: [{ required: true, message: "类型不能为空", trigger: "blur" }],
rangeList: [{ required: true, message: "管理范围不能为空", trigger: "blur" }],

4
src/views/modules/base/residentManagement/louzhang/louzhangList.vue

@ -325,8 +325,8 @@ export default {
},
computed: {
maxTableHeight () {
const h = this.clientHeight - this.searchH - 270 + this.iframeHeight;
const _h = this.clientHeight - 270 - this.searchH;
const h = this.clientHeight - this.searchH - 230 + this.iframeHeight;
const _h = this.clientHeight - 230 - this.searchH;
return this.$store.state.inIframe ? h : _h;
},
...mapGetters(["clientHeight", "iframeHeight"]),

4
src/views/modules/base/residentManagement/tefu/addForm.vue

@ -22,7 +22,7 @@
<el-cascader v-if="formType == 'add'"
ref="ref_cascader_agency"
class="width-two"
v-model="formData.agencyId"
v-model=" selGridId"
:options="optionsA"
@change="handleChangeAngency"
:props="{ checkStrictly: true, emitPath: false,children:'subAgencyList',label:'agencyName',value:'agencyId'}"
@ -460,6 +460,7 @@ export default {
data () {
return {
btnDisable: false,
selGridId: [],
optionsA: [],
labelWidth: '120px',
@ -604,6 +605,7 @@ export default {
if (obj.level !== 'community') {
this.$message.info('请选择社区')
this.formData.agencyId = ''
this.selGridId = []
return false
} else {
this.formData.agencyId = val

4
src/views/modules/base/residentManagement/tefu/tefuList.vue

@ -438,8 +438,8 @@ export default {
},
computed: {
maxTableHeight () {
const h = this.clientHeight - this.searchH - 330 + this.iframeHeight;
const _h = this.clientHeight - 330 - this.searchH;
const h = this.clientHeight - this.searchH - 280 + this.iframeHeight;
const _h = this.clientHeight - 280 - this.searchH;
return this.$store.state.inIframe ? h : _h;
},
...mapGetters(["clientHeight", "iframeHeight"]),

Loading…
Cancel
Save