Browse Source

政策找人人员列表接口添加一个参数,服务找人人员列表添加

feature
mk 2 years ago
parent
commit
be717ea0f1
  1. 1
      src/views/modules/communityService/fuwuzhaoren/index.vue
  2. 6
      src/views/modules/communityService/fuwuzhaoren/personList.vue
  3. 299
      src/views/modules/communityService/policy/personList.vue
  4. 42
      src/views/modules/communityService/policy/policyList.vue

1
src/views/modules/communityService/fuwuzhaoren/index.vue

@ -608,7 +608,6 @@ export default {
async handlePersonList (row) { async handlePersonList (row) {
this.commonServiceId = row.serviceRecordId; this.commonServiceId = row.serviceRecordId;
this.tagId = row.resiSearchTagId; this.tagId = row.resiSearchTagId;
this.showPersonList = true; this.showPersonList = true;
}, },

6
src/views/modules/communityService/fuwuzhaoren/personList.vue

@ -264,6 +264,7 @@ export default {
async handleSearch () { async handleSearch () {
let url = '/actual/base/residentBaseInfo/commonServicePersonList/list' let url = '/actual/base/residentBaseInfo/commonServicePersonList/list'
this.searchFormData.tagId = this.tagId this.searchFormData.tagId = this.tagId
this.searchFormData.serviceId = this.serviceId
let result = await requestPost(url, this.searchFormData) let result = await requestPost(url, this.searchFormData)
this.epmetResultResolver this.epmetResultResolver
@ -440,7 +441,12 @@ export default {
tagId: { tagId: {
type: String, type: String,
required: true, required: true,
},
serviceId: {
type: String,
required: true,
} }
} }
} }
</script> </script>

299
src/views/modules/communityService/policy/personList.vue

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

42
src/views/modules/communityService/policy/policyList.vue

@ -122,10 +122,7 @@
> >
导出</el-button 导出</el-button
> >
<el-button <el-button type="primary" size="small" @click="onDeleteBatch"
type="primary"
size="small"
@click="onDeleteBatch"
>批量删除</el-button >批量删除</el-button
> >
</div> </div>
@ -193,7 +190,11 @@
:show-overflow-tooltip="true" :show-overflow-tooltip="true"
> >
<template slot-scope="scope"> <template slot-scope="scope">
<el-button @click="handlePersonList(scope.row)" type="text" size="small"> <el-button
@click="handlePersonList(scope.row)"
type="text"
size="small"
>
{{ scope.row.findPersonQty }} {{ scope.row.findPersonQty }}
</el-button> </el-button>
</template> </template>
@ -218,9 +219,7 @@
:show-overflow-tooltip="true" :show-overflow-tooltip="true"
> >
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ <span>{{ scope.row.expiredFlag ? "已过期" : "未过期" }}</span>
scope.row.expiredFlag ? "已过期" : "未过期"
}}</span>
</template> </template>
</el-table-column> </el-table-column>
@ -295,6 +294,7 @@
ref="ref_person_list" ref="ref_person_list"
:policyId="policyId" :policyId="policyId"
:tagId="tagId" :tagId="tagId"
:serviceId="serviceId"
> >
</person-list> </person-list>
</el-dialog> </el-dialog>
@ -361,7 +361,8 @@ export default {
showPersonList: false, showPersonList: false,
ruleList: [], ruleList: [],
selection:[] selection: [],
serviceId: "",
}; };
}, },
computed: { computed: {
@ -385,16 +386,16 @@ export default {
this.$confirm("删除的数据无法恢复,确认删除?", "提示", { this.$confirm("删除的数据无法恢复,确认删除?", "提示", {
confirmButtonText: "确定", confirmButtonText: "确定",
cancelButtonText: "取消", cancelButtonText: "取消",
type: "warning" type: "warning",
}) })
.then(() => { .then(() => {
this.delPolicyBatch(this.selection.map(i => i.id)); this.delPolicyBatch(this.selection.map((i) => i.id));
}) })
.catch(err => { .catch((err) => {
console.error(err) console.error(err);
}); });
} else { } else {
this.$message.warning('请先选择要删除的政策') this.$message.warning("请先选择要删除的政策");
} }
}, },
@ -497,7 +498,9 @@ export default {
res.headers["content-disposition"].split(";")[1].split("=")[1] res.headers["content-disposition"].split(";")[1].split("=")[1]
); );
console.log("filename", fileName); console.log("filename", fileName);
let blob = new Blob([res.data], {type: "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"}); let blob = new Blob([res.data], {
type: "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
});
var url = window.URL.createObjectURL(blob); var url = window.URL.createObjectURL(blob);
var aLink = document.createElement("a"); var aLink = document.createElement("a");
aLink.style.display = "none"; aLink.style.display = "none";
@ -604,7 +607,7 @@ export default {
} }
}, },
handelSelection(row) { handelSelection(row) {
this.selection = row this.selection = row;
}, },
async getTableData() { async getTableData() {
this.tableLoading = true; this.tableLoading = true;
@ -703,11 +706,10 @@ export default {
// //
handlePersonList(row) { handlePersonList(row) {
debugger
this.showPersonList = true; this.showPersonList = true;
this.policyId = row.id this.serviceId = row.serviceId;
this.tagId = row.resiSearchTagId this.tagId = row.resiSearchTagId;
} },
}, },
}; };
</script> </script>

Loading…
Cancel
Save