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. 321
      src/views/modules/communityService/policy/personList.vue
  4. 64
      src/views/modules/communityService/policy/policyList.vue

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

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

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

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

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

@ -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,23 +179,23 @@
: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()
mounted() {
this.initOrgTree();
this.handleSearch();
},
data () {
data() {
return {
//
searchFormData: {
@ -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,20 +254,21 @@ export default {
* @returns {Promise<void>}
*/
async handleSelectAll(selection) {
this.selectedPersonListIds = selection.map(e => e.id);
this.selectedPersonListIds = selection.map((e) => e.id);
},
/**
* 搜索事件
* @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)
async handleSearch() {
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("操作失败");
}
//
@ -293,12 +300,12 @@ export default {
* 组织选择触发事件
* @returns {Promise<void>}
*/
async initOrgTree () {
let url = '/gov/org/customeragency/agencygridtree'
const { data, code, msg } = await requestPost(url, {})
async initOrgTree() {
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);
}
},
@ -306,28 +313,31 @@ 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'
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";
} 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,
};
});
}
},
@ -335,20 +345,20 @@ export default {
* 小区选择器change填充楼栋下拉框
* @returns {Promise<void>}
*/
async handleQuarterSelectorsChange (quartersId) {
let url = '/actual/base/communityBuilding/buildingoption'
async handleQuarterSelectorsChange(quartersId) {
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,
};
});
}
},
@ -357,19 +367,19 @@ export default {
* @param selectedQuarter
* @returns {Promise<void>}
*/
async handleBuildSelectorsChange (buildId) {
let url = '/actual/base/communityBuildingUnit/unitoption'
async handleBuildSelectorsChange(buildId) {
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,
};
});
}
},
@ -378,20 +388,20 @@ export default {
* @param unitId
* @returns {Promise<void>}
*/
async handleUnitSelectorsChange (unitId) {
let url = '/actual/base/communityHouse/houseoption'
async handleUnitSelectorsChange(unitId) {
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,
}
})
};
});
}
},
@ -401,32 +411,35 @@ export default {
* @param orgList
* @returns {*}
*/
getSelectedOrgIdAndType (orgId, orgList) {
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;
}
}
}
},
//
handleSizeChange (newPageSize) {
this.searchFormData.pageSize = newPageSize
this.handleSearch()
handleSizeChange(newPageSize) {
this.searchFormData.pageSize = newPageSize;
this.handleSearch();
},
//
handleCurrentChange (pageNo) {
this.searchFormData.pageNo = pageNo
this.handleSearch()
}
handleCurrentChange(pageNo) {
this.searchFormData.pageNo = pageNo;
this.handleSearch();
},
},
props: {
policyId: {
@ -436,9 +449,13 @@ export default {
tagId: {
type: String,
required: true,
}
}
}
},
serviceId: {
type: String,
default: "",
},
},
};
</script>

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

@ -122,10 +122,7 @@
>
导出</el-button
>
<el-button
type="primary"
size="small"
@click="onDeleteBatch"
<el-button type="primary" size="small" @click="onDeleteBatch"
>批量删除</el-button
>
</div>
@ -193,7 +190,11 @@
:show-overflow-tooltip="true"
>
<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 }}
</el-button>
</template>
@ -218,9 +219,7 @@
:show-overflow-tooltip="true"
>
<template slot-scope="scope">
<span>{{
scope.row.expiredFlag ? "已过期" : "未过期"
}}</span>
<span>{{ scope.row.expiredFlag ? "已过期" : "未过期" }}</span>
</template>
</el-table-column>
@ -295,6 +294,7 @@
ref="ref_person_list"
:policyId="policyId"
:tagId="tagId"
:serviceId="serviceId"
>
</person-list>
</el-dialog>
@ -340,10 +340,10 @@ export default {
title: "", //
// content: "", //
expiredFlag: null, //10
policyLevel:null,//012
resiSearchTagName:"",//
createdTimeStart:"",//yyyy-MM-dd
createdTimeEnd:"",//yyyy-MM-dd
policyLevel: null, //012
resiSearchTagName: "", //
createdTimeStart: "", //yyyy-MM-dd
createdTimeEnd: "", //yyyy-MM-dd
},
pageNo: 1,
pageSize: window.localStorage.getItem("pageSize") || 20,
@ -361,7 +361,8 @@ export default {
showPersonList: false,
ruleList: [],
selection:[]
selection: [],
serviceId: "",
};
},
computed: {
@ -380,21 +381,21 @@ export default {
this.getTableData();
},
methods: {
onDeleteBatch () {
onDeleteBatch() {
if (this.selection.length > 0) {
this.$confirm("删除的数据无法恢复,确认删除?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning"
type: "warning",
})
.then(() => {
this.delPolicyBatch(this.selection.map(i => i.id));
this.delPolicyBatch(this.selection.map((i) => i.id));
})
.catch(err => {
console.error(err)
.catch((err) => {
console.error(err);
});
} else {
this.$message.warning('请先选择要删除的政策')
this.$message.warning("请先选择要删除的政策");
}
},
@ -481,7 +482,7 @@ export default {
async handleChu() {
//-
const url = "/governance/policy/policyExport";
const {pageSize, pageNo, formData} = this;
const { pageSize, pageNo, formData } = this;
axios({
url: window.SITE_CONFIG["apiURL"] + url,
method: "post",
@ -497,7 +498,9 @@ export default {
res.headers["content-disposition"].split(";")[1].split("=")[1]
);
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 aLink = document.createElement("a");
aLink.style.display = "none";
@ -603,8 +606,8 @@ export default {
this.selAllFlag = false;
}
},
handelSelection(row){
this.selection = row
handelSelection(row) {
this.selection = row;
},
async getTableData() {
this.tableLoading = true;
@ -691,10 +694,10 @@ export default {
this.formData = {
title: "", //
expiredFlag: null, //10
policyLevel:null,//012
resiSearchTagName:"",//
createdTimeStart:"",//yyyy-MM-dd
createdTimeEnd:"",//yyyy-MM-dd
policyLevel: null, //012
resiSearchTagName: "", //
createdTimeStart: "", //yyyy-MM-dd
createdTimeEnd: "", //yyyy-MM-dd
};
this.pageNo = 1;
@ -703,11 +706,10 @@ export default {
//
handlePersonList(row) {
debugger
this.showPersonList = true;
this.policyId = row.id
this.tagId = row.resiSearchTagId
}
this.serviceId = row.serviceId;
this.tagId = row.resiSearchTagId;
},
},
};
</script>

Loading…
Cancel
Save