|
|
@ -5,15 +5,16 @@ |
|
|
|
:inline="true" |
|
|
|
:model="searchFormData" |
|
|
|
ref="ref_searchform" |
|
|
|
:label-width="'110px'"> |
|
|
|
|
|
|
|
:label-width="'110px'" |
|
|
|
> |
|
|
|
<el-form-item label="所属组织" prop="orgId"> |
|
|
|
<el-cascader |
|
|
|
@change="handleOrgChange" |
|
|
|
:options="orgTree" |
|
|
|
:props="orgOptionProps" |
|
|
|
clearable |
|
|
|
placeholder="请选择组织"></el-cascader> |
|
|
|
placeholder="请选择组织" |
|
|
|
></el-cascader> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item label="人员姓名" prop="title"> |
|
|
|
<el-input |
|
|
@ -21,7 +22,8 @@ |
|
|
|
class="u-item-width-normal" |
|
|
|
size="small" |
|
|
|
clearable |
|
|
|
placeholder="请输入"> |
|
|
|
placeholder="请输入" |
|
|
|
> |
|
|
|
</el-input> |
|
|
|
</el-form-item> |
|
|
|
|
|
|
@ -31,7 +33,8 @@ |
|
|
|
class="u-item-width-normal" |
|
|
|
size="small" |
|
|
|
clearable |
|
|
|
placeholder="请输入"> |
|
|
|
placeholder="请输入" |
|
|
|
> |
|
|
|
</el-input> |
|
|
|
</el-form-item> |
|
|
|
|
|
|
@ -41,7 +44,8 @@ |
|
|
|
class="u-item-width-normal" |
|
|
|
size="small" |
|
|
|
clearable |
|
|
|
placeholder="请输入"> |
|
|
|
placeholder="请输入" |
|
|
|
> |
|
|
|
</el-input> |
|
|
|
</el-form-item> |
|
|
|
|
|
|
@ -51,45 +55,66 @@ |
|
|
|
class="u-item-width-normal" |
|
|
|
size="small" |
|
|
|
clearable |
|
|
|
placeholder="请输入"> |
|
|
|
placeholder="请输入" |
|
|
|
> |
|
|
|
</el-input> |
|
|
|
</el-form-item> |
|
|
|
|
|
|
|
<el-form-item label="家庭住址" prop="title"> |
|
|
|
<el-select v-model="searchFormData.villageId" placeholder="请选择小区" |
|
|
|
@change="handleQuarterSelectorsChange" clearable> |
|
|
|
<el-select |
|
|
|
v-model="searchFormData.villageId" |
|
|
|
placeholder="请选择小区" |
|
|
|
@change="handleQuarterSelectorsChange" |
|
|
|
clearable |
|
|
|
> |
|
|
|
<el-option |
|
|
|
v-for="item in quartersSelectItems" |
|
|
|
:key="item.value" |
|
|
|
:label="item.label" |
|
|
|
:value="item.value"> |
|
|
|
:value="item.value" |
|
|
|
> |
|
|
|
</el-option> |
|
|
|
</el-select> |
|
|
|
<el-select v-model="searchFormData.buildId" placeholder="请选择楼栋" |
|
|
|
@change="handleBuildSelectorsChange" clearable> |
|
|
|
<el-select |
|
|
|
v-model="searchFormData.buildId" |
|
|
|
placeholder="请选择楼栋" |
|
|
|
@change="handleBuildSelectorsChange" |
|
|
|
clearable |
|
|
|
> |
|
|
|
<el-option |
|
|
|
v-for="item in buildingSelectItems" |
|
|
|
:key="item.value" |
|
|
|
:label="item.label" |
|
|
|
:value="item.value"> |
|
|
|
:value="item.value" |
|
|
|
> |
|
|
|
</el-option> |
|
|
|
</el-select> |
|
|
|
<el-select v-model="searchFormData.unitId" placeholder="请选择单元" |
|
|
|
@change="handleUnitSelectorsChange" clearable> |
|
|
|
<el-select |
|
|
|
v-model="searchFormData.unitId" |
|
|
|
placeholder="请选择单元" |
|
|
|
@change="handleUnitSelectorsChange" |
|
|
|
clearable |
|
|
|
> |
|
|
|
<el-option |
|
|
|
v-for="item in unitSelectItems" |
|
|
|
:key="item.value" |
|
|
|
:label="item.label" |
|
|
|
:value="item.value"> |
|
|
|
:value="item.value" |
|
|
|
> |
|
|
|
</el-option> |
|
|
|
</el-select> |
|
|
|
<el-select v-model="searchFormData.homeId" placeholder="请选择房屋" |
|
|
|
@change="handleUnitSelectorsChange" clearable> |
|
|
|
<el-select |
|
|
|
v-model="searchFormData.homeId" |
|
|
|
placeholder="请选择房屋" |
|
|
|
@change="handleUnitSelectorsChange" |
|
|
|
clearable |
|
|
|
> |
|
|
|
<el-option |
|
|
|
v-for="item in homeSelectItems" |
|
|
|
:key="item.value" |
|
|
|
:label="item.label" |
|
|
|
:value="item.value"> |
|
|
|
:value="item.value" |
|
|
|
> |
|
|
|
</el-option> |
|
|
|
</el-select> |
|
|
|
</el-form-item> |
|
|
@ -97,8 +122,20 @@ |
|
|
|
</div> |
|
|
|
|
|
|
|
<div class="div_btn"> |
|
|
|
<el-button type="primary" size="small" class="diy-button--blue" @click="handleIncrementServeTimes">标记享受服务人员</el-button> |
|
|
|
<el-button type="primary" size="small" class="diy-button--blue" @click="handleSearch">查询</el-button> |
|
|
|
<el-button |
|
|
|
type="primary" |
|
|
|
size="small" |
|
|
|
class="diy-button--blue" |
|
|
|
@click="handleIncrementServeTimes" |
|
|
|
>标记享受服务人员</el-button |
|
|
|
> |
|
|
|
<el-button |
|
|
|
type="primary" |
|
|
|
size="small" |
|
|
|
class="diy-button--blue" |
|
|
|
@click="handleSearch" |
|
|
|
>查询</el-button |
|
|
|
> |
|
|
|
</div> |
|
|
|
|
|
|
|
<div class="m-table"> |
|
|
@ -109,58 +146,26 @@ |
|
|
|
border |
|
|
|
@select-all="handleSelectAll" |
|
|
|
@selection-change="handleTableRowsSelected" |
|
|
|
style="width: 100%"> |
|
|
|
style="width: 100%" |
|
|
|
> |
|
|
|
<el-table-column type="selection" width="55"> </el-table-column> |
|
|
|
|
|
|
|
<el-table-column |
|
|
|
type="selection" |
|
|
|
width="55"> |
|
|
|
<el-table-column prop="agencyName" label="所属组织" width="180"> |
|
|
|
</el-table-column> |
|
|
|
|
|
|
|
<el-table-column |
|
|
|
prop="agencyName" |
|
|
|
label="所属组织" |
|
|
|
width="180"> |
|
|
|
</el-table-column> |
|
|
|
<el-table-column |
|
|
|
prop="gridName" |
|
|
|
label="所属网格" |
|
|
|
width="180"> |
|
|
|
</el-table-column> |
|
|
|
<el-table-column |
|
|
|
prop="name" |
|
|
|
label="姓名"> |
|
|
|
<el-table-column prop="gridName" label="所属网格" width="180"> |
|
|
|
</el-table-column> |
|
|
|
<el-table-column |
|
|
|
prop="genderDisplay" |
|
|
|
label="性别"> |
|
|
|
<el-table-column prop="name" label="姓名"> </el-table-column> |
|
|
|
<el-table-column prop="genderDisplay" label="性别"> </el-table-column> |
|
|
|
<el-table-column prop="birthday" width="170" label="出生日期"> |
|
|
|
</el-table-column> |
|
|
|
<el-table-column |
|
|
|
prop="birthday" |
|
|
|
width="170" |
|
|
|
label="出生日期"> |
|
|
|
<el-table-column prop="age" label="年龄"> </el-table-column> |
|
|
|
<el-table-column prop="mobile" width="120" label="手机号"> |
|
|
|
</el-table-column> |
|
|
|
<el-table-column |
|
|
|
prop="age" |
|
|
|
label="年龄"> |
|
|
|
<el-table-column prop="idCard" width="180" label="身份证号"> |
|
|
|
</el-table-column> |
|
|
|
<el-table-column |
|
|
|
prop="mobile" |
|
|
|
width="120" |
|
|
|
label="手机号"> |
|
|
|
<el-table-column prop="address" width="250" label="家庭住址"> |
|
|
|
</el-table-column> |
|
|
|
<el-table-column |
|
|
|
prop="idCard" |
|
|
|
width="180" |
|
|
|
label="身份证号"> |
|
|
|
</el-table-column> |
|
|
|
<el-table-column |
|
|
|
prop="address" |
|
|
|
width="250" |
|
|
|
label="家庭住址"> |
|
|
|
</el-table-column> |
|
|
|
<el-table-column |
|
|
|
prop="serveTimes" |
|
|
|
label="享受服务次数"> |
|
|
|
<el-table-column prop="serveTimes" label="享受服务次数"> |
|
|
|
</el-table-column> |
|
|
|
</el-table> |
|
|
|
</div> |
|
|
@ -174,21 +179,21 @@ |
|
|
|
:page-size="searchFormData.pageSize" |
|
|
|
layout="sizes, prev, pager, next, total" |
|
|
|
background |
|
|
|
:total="total"> |
|
|
|
:total="total" |
|
|
|
> |
|
|
|
</el-pagination> |
|
|
|
</div> |
|
|
|
</template> |
|
|
|
|
|
|
|
<script> |
|
|
|
|
|
|
|
import { requestPost } from '@/js/dai/request' |
|
|
|
import { requestGet } from '@/js/dai/request' |
|
|
|
import nextTick from 'dai-js/tools/nextTick' |
|
|
|
import { requestPost } from "@/js/dai/request"; |
|
|
|
import { requestGet } from "@/js/dai/request"; |
|
|
|
import nextTick from "dai-js/tools/nextTick"; |
|
|
|
|
|
|
|
export default { |
|
|
|
mounted() { |
|
|
|
this.initOrgTree() |
|
|
|
this.handleSearch() |
|
|
|
this.initOrgTree(); |
|
|
|
this.handleSearch(); |
|
|
|
}, |
|
|
|
data() { |
|
|
|
return { |
|
|
@ -207,6 +212,7 @@ export default { |
|
|
|
homeId: null, |
|
|
|
pageSize: 10, |
|
|
|
pageNo: 1, |
|
|
|
serviceId: null, |
|
|
|
}, |
|
|
|
|
|
|
|
// 分页参数 |
|
|
@ -222,25 +228,24 @@ export default { |
|
|
|
// 组织树选项 |
|
|
|
orgOptionProps: { |
|
|
|
multiple: false, |
|
|
|
value: 'agencyId', |
|
|
|
label: 'agencyName', |
|
|
|
children: 'subAgencyList', |
|
|
|
checkStrictly: true |
|
|
|
value: "agencyId", |
|
|
|
label: "agencyName", |
|
|
|
children: "subAgencyList", |
|
|
|
checkStrictly: true, |
|
|
|
}, |
|
|
|
|
|
|
|
//表格数据 |
|
|
|
selectedPersonListIds: [], // 选中的名单id列表 |
|
|
|
personList: [], // 找到的人员名单 |
|
|
|
} |
|
|
|
}; |
|
|
|
}, |
|
|
|
methods: { |
|
|
|
|
|
|
|
/** |
|
|
|
* 行选中事件 |
|
|
|
* @returns {Promise<void>} |
|
|
|
*/ |
|
|
|
async handleTableRowsSelected(selection) { |
|
|
|
this.selectedPersonListIds = selection.map(e => e.id); |
|
|
|
this.selectedPersonListIds = selection.map((e) => e.id); |
|
|
|
}, |
|
|
|
|
|
|
|
/** |
|
|
@ -249,7 +254,7 @@ export default { |
|
|
|
* @returns {Promise<void>} |
|
|
|
*/ |
|
|
|
async handleSelectAll(selection) { |
|
|
|
this.selectedPersonListIds = selection.map(e => e.id); |
|
|
|
this.selectedPersonListIds = selection.map((e) => e.id); |
|
|
|
}, |
|
|
|
|
|
|
|
/** |
|
|
@ -257,12 +262,13 @@ export default { |
|
|
|
* @returns {Promise<void>} |
|
|
|
*/ |
|
|
|
async handleSearch() { |
|
|
|
let url = '/actual/base/residentBaseInfo/policyFindPersonList/list' |
|
|
|
this.searchFormData.tagId = this.tagId |
|
|
|
const { data, code, msg } = await requestPost(url, this.searchFormData) |
|
|
|
let url = "/actual/base/residentBaseInfo/policyFindPersonList/list"; |
|
|
|
this.searchFormData.tagId = this.tagId; |
|
|
|
this.searchFormData.serviceId = this.serviceId; |
|
|
|
const { data, code, msg } = await requestPost(url, this.searchFormData); |
|
|
|
if (code === 0) { |
|
|
|
this.personList = data.list |
|
|
|
this.total = data.total |
|
|
|
this.personList = data.list; |
|
|
|
this.total = data.total; |
|
|
|
} |
|
|
|
}, |
|
|
|
|
|
|
@ -272,17 +278,18 @@ export default { |
|
|
|
*/ |
|
|
|
async handleIncrementServeTimes() { |
|
|
|
let params = { |
|
|
|
recIds: this.selectedPersonListIds |
|
|
|
recIds: this.selectedPersonListIds, |
|
|
|
}; |
|
|
|
|
|
|
|
let url = "/actual/base/residentBaseInfo/policyFindPersonList/incrementServeTimes"; |
|
|
|
let url = |
|
|
|
"/actual/base/residentBaseInfo/policyFindPersonList/incrementServeTimes"; |
|
|
|
|
|
|
|
const { data, code, msg } = await requestPost(url, params); |
|
|
|
|
|
|
|
if (code === 0) { |
|
|
|
this.$message.success('操作成功'); |
|
|
|
this.$message.success("操作成功"); |
|
|
|
} else { |
|
|
|
this.$message.error('操作失败'); |
|
|
|
this.$message.error("操作失败"); |
|
|
|
} |
|
|
|
|
|
|
|
// 重新加载列表 |
|
|
@ -294,11 +301,11 @@ export default { |
|
|
|
* @returns {Promise<void>} |
|
|
|
*/ |
|
|
|
async initOrgTree() { |
|
|
|
let url = '/gov/org/customeragency/agencygridtree' |
|
|
|
const { data, code, msg } = await requestPost(url, {}) |
|
|
|
let url = "/gov/org/customeragency/agencygridtree"; |
|
|
|
const { data, code, msg } = await requestPost(url, {}); |
|
|
|
if (code === 0) { |
|
|
|
debugger |
|
|
|
this.orgTree.push(data) |
|
|
|
debugger; |
|
|
|
this.orgTree.push(data); |
|
|
|
} |
|
|
|
}, |
|
|
|
|
|
|
@ -307,27 +314,30 @@ export default { |
|
|
|
* @returns {Promise<void>} |
|
|
|
*/ |
|
|
|
async handleOrgChange(selectedOrgNodes) { |
|
|
|
let selectedLastNode = selectedOrgNodes[selectedOrgNodes.length - 1] |
|
|
|
this.searchFormData.orgId = selectedLastNode |
|
|
|
const { orgId, level } = this.getSelectedOrgIdAndType(selectedLastNode, this.orgTree) |
|
|
|
let url = '/actual/base/communityQuarters/listQuartersOptions' |
|
|
|
let params = {} |
|
|
|
this.searchFormData.orgId = orgId |
|
|
|
if (level === 'grid') { |
|
|
|
params['gridId'] = orgId |
|
|
|
this.searchFormData.orgType = 'grid' |
|
|
|
let selectedLastNode = selectedOrgNodes[selectedOrgNodes.length - 1]; |
|
|
|
this.searchFormData.orgId = selectedLastNode; |
|
|
|
const { orgId, level } = this.getSelectedOrgIdAndType( |
|
|
|
selectedLastNode, |
|
|
|
this.orgTree |
|
|
|
); |
|
|
|
let url = "/actual/base/communityQuarters/listQuartersOptions"; |
|
|
|
let params = {}; |
|
|
|
this.searchFormData.orgId = orgId; |
|
|
|
if (level === "grid") { |
|
|
|
params["gridId"] = orgId; |
|
|
|
this.searchFormData.orgType = "grid"; |
|
|
|
} else { |
|
|
|
params['agencyId'] = orgId |
|
|
|
this.searchFormData.orgType = 'agency' |
|
|
|
params["agencyId"] = orgId; |
|
|
|
this.searchFormData.orgType = "agency"; |
|
|
|
} |
|
|
|
const { data, code, msg } = await requestPost(url, params) |
|
|
|
const { data, code, msg } = await requestPost(url, params); |
|
|
|
if (code === 0) { |
|
|
|
this.quartersSelectItems = data.map(e => { |
|
|
|
this.quartersSelectItems = data.map((e) => { |
|
|
|
return { |
|
|
|
label: e.label, |
|
|
|
value: e.value |
|
|
|
} |
|
|
|
}) |
|
|
|
value: e.value, |
|
|
|
}; |
|
|
|
}); |
|
|
|
} |
|
|
|
}, |
|
|
|
|
|
|
@ -336,19 +346,19 @@ export default { |
|
|
|
* @returns {Promise<void>} |
|
|
|
*/ |
|
|
|
async handleQuarterSelectorsChange(quartersId) { |
|
|
|
let url = '/actual/base/communityBuilding/buildingoption' |
|
|
|
let url = "/actual/base/communityBuilding/buildingoption"; |
|
|
|
let params = { |
|
|
|
quartersId: quartersId, |
|
|
|
} |
|
|
|
}; |
|
|
|
|
|
|
|
const { data, code, msg } = await requestPost(url, params) |
|
|
|
const { data, code, msg } = await requestPost(url, params); |
|
|
|
if (code === 0) { |
|
|
|
this.buildingSelectItems = data.map(e => { |
|
|
|
this.buildingSelectItems = data.map((e) => { |
|
|
|
return { |
|
|
|
label: e.label, |
|
|
|
value: e.value |
|
|
|
} |
|
|
|
}) |
|
|
|
value: e.value, |
|
|
|
}; |
|
|
|
}); |
|
|
|
} |
|
|
|
}, |
|
|
|
|
|
|
@ -358,18 +368,18 @@ export default { |
|
|
|
* @returns {Promise<void>} |
|
|
|
*/ |
|
|
|
async handleBuildSelectorsChange(buildId) { |
|
|
|
let url = '/actual/base/communityBuildingUnit/unitoption' |
|
|
|
let url = "/actual/base/communityBuildingUnit/unitoption"; |
|
|
|
let params = { |
|
|
|
buildingId: buildId, |
|
|
|
} |
|
|
|
const { data, code, msg } = await requestPost(url, params) |
|
|
|
}; |
|
|
|
const { data, code, msg } = await requestPost(url, params); |
|
|
|
if (code === 0) { |
|
|
|
this.unitSelectItems = data.map(e => { |
|
|
|
this.unitSelectItems = data.map((e) => { |
|
|
|
return { |
|
|
|
label: e.label, |
|
|
|
value: e.value |
|
|
|
} |
|
|
|
}) |
|
|
|
value: e.value, |
|
|
|
}; |
|
|
|
}); |
|
|
|
} |
|
|
|
}, |
|
|
|
|
|
|
@ -379,19 +389,19 @@ export default { |
|
|
|
* @returns {Promise<void>} |
|
|
|
*/ |
|
|
|
async handleUnitSelectorsChange(unitId) { |
|
|
|
let url = '/actual/base/communityHouse/houseoption' |
|
|
|
let url = "/actual/base/communityHouse/houseoption"; |
|
|
|
let params = { |
|
|
|
unitId: unitId, |
|
|
|
} |
|
|
|
}; |
|
|
|
|
|
|
|
const { data, code, msg } = await requestPost(url, params) |
|
|
|
const { data, code, msg } = await requestPost(url, params); |
|
|
|
if (code === 0) { |
|
|
|
this.homeSelectItems = data.map(e => { |
|
|
|
this.homeSelectItems = data.map((e) => { |
|
|
|
return { |
|
|
|
label: e.label, |
|
|
|
value: e.value, |
|
|
|
} |
|
|
|
}) |
|
|
|
}; |
|
|
|
}); |
|
|
|
} |
|
|
|
}, |
|
|
|
|
|
|
@ -404,13 +414,16 @@ export default { |
|
|
|
getSelectedOrgIdAndType(orgId, orgList) { |
|
|
|
for (let org of orgList) { |
|
|
|
if (org.agencyId === orgId) { |
|
|
|
return { orgId: org.agencyId, level: org.level } |
|
|
|
return { orgId: org.agencyId, level: org.level }; |
|
|
|
} |
|
|
|
|
|
|
|
if (org.subAgencyList && org.subAgencyList.length > 0) { |
|
|
|
let selectedOrg = this.getSelectedOrgIdAndType(orgId, org.subAgencyList) |
|
|
|
let selectedOrg = this.getSelectedOrgIdAndType( |
|
|
|
orgId, |
|
|
|
org.subAgencyList |
|
|
|
); |
|
|
|
if (selectedOrg) { |
|
|
|
return selectedOrg |
|
|
|
return selectedOrg; |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
@ -418,15 +431,15 @@ export default { |
|
|
|
|
|
|
|
// 条数改变 |
|
|
|
handleSizeChange(newPageSize) { |
|
|
|
this.searchFormData.pageSize = newPageSize |
|
|
|
this.handleSearch() |
|
|
|
this.searchFormData.pageSize = newPageSize; |
|
|
|
this.handleSearch(); |
|
|
|
}, |
|
|
|
|
|
|
|
// 翻页 |
|
|
|
handleCurrentChange(pageNo) { |
|
|
|
this.searchFormData.pageNo = pageNo |
|
|
|
this.handleSearch() |
|
|
|
} |
|
|
|
this.searchFormData.pageNo = pageNo; |
|
|
|
this.handleSearch(); |
|
|
|
}, |
|
|
|
}, |
|
|
|
props: { |
|
|
|
policyId: { |
|
|
@ -436,9 +449,13 @@ export default { |
|
|
|
tagId: { |
|
|
|
type: String, |
|
|
|
required: true, |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
}, |
|
|
|
serviceId: { |
|
|
|
type: String, |
|
|
|
default: "", |
|
|
|
}, |
|
|
|
}, |
|
|
|
}; |
|
|
|
</script> |
|
|
|
|
|
|
|
|
|
|
|