Browse Source

完成政策找人-人员名单的联调

V1.0
wxz 2 years ago
parent
commit
f1ba777bf4
  1. 4
      src/views/modules/communityService/commonDemand/addForm.vue
  2. 4
      src/views/modules/communityService/commonDemand/detailForm.vue
  3. 4
      src/views/modules/communityService/commonDemand/editForm.vue
  4. 4
      src/views/modules/communityService/commonDemand/index.vue
  5. 6
      src/views/modules/communityService/fuwujilu/addForm.vue
  6. 6
      src/views/modules/communityService/fuwujilu/detailForm.vue
  7. 4
      src/views/modules/communityService/fuwujilu/editForm.vue
  8. 4
      src/views/modules/communityService/fuwujilu/fuwuList.vue
  9. 2
      src/views/modules/communityService/fuwuzhaoren/addForm.vue
  10. 4
      src/views/modules/communityService/fuwuzhaoren/detailForm.vue
  11. 4
      src/views/modules/communityService/fuwuzhaoren/editForm.vue
  12. 4
      src/views/modules/communityService/fuwuzhaoren/index.vue
  13. 4
      src/views/modules/communityService/gxxq/addForm.vue
  14. 113
      src/views/modules/communityService/policy/oldPersonList.vue
  15. 497
      src/views/modules/communityService/policy/personList.vue
  16. 29
      src/views/modules/communityService/policy/policyList.vue
  17. 3
      src/views/modules/secretaryLog/cpts/notice.vue

4
src/views/modules/communityService/commonDemand/addForm.vue

@ -528,7 +528,7 @@
import { mapGetters } from "vuex";
import { Loading } from "element-ui"; // Loading
import { requestPost, requestGet } from "@/js/dai/request";
import personList from "../policy/personList";
// import personList from "../policy/oldPersonList.vue";
import nextTick from "dai-js/tools/nextTick";
import labelForm from "../labelConfig/addForm.vue";
import daiMap from "@/utils/dai-map";
@ -754,7 +754,7 @@ export default {
},
},
components: { personList, labelForm },
components: { labelForm },
async mounted() {
this.startLoading();

4
src/views/modules/communityService/commonDemand/detailForm.vue

@ -139,7 +139,7 @@
import { mapGetters } from "vuex";
import { Loading } from "element-ui"; // Loading
import { requestPost } from "@/js/dai/request";
import personList from "../policy/personList";
// import personList from "../policy/oldPersonList.vue";
import fileList from "@/views/components/fileList";
import daiMap from "@/utils/dai-map";
@ -174,7 +174,7 @@
policyList: [],
};
},
components: { personList, fileList },
components: { fileList },
async mounted() {
await this.getPolicyList();
// if (this.serviceRecordId) {//

4
src/views/modules/communityService/commonDemand/editForm.vue

@ -433,7 +433,7 @@
import { mapGetters } from "vuex";
import { Loading } from "element-ui"; // Loading
import { requestPost } from "@/js/dai/request";
import personList from "../policy/personList";
// import personList from "../policy/oldPersonList.vue";
import labelForm from "../labelConfig/addForm.vue";
import { nextTick } from "vue";
@ -504,7 +504,7 @@ export default {
ruleList: [],
};
},
components: { personList, labelForm },
components: { labelForm },
mounted() {
this.getPolicyList();
if (this.serviceRecordId) {

4
src/views/modules/communityService/commonDemand/index.vue

@ -369,10 +369,10 @@
import detailForm from "./detailForm";
import editForm from "./editForm";
import feedBackForm from "./addForm";
import personList from "../policy/personList";
// import personList from "../policy/oldPersonList.vue";
export default {
components: { addForm, detailForm, feedBackForm, personList, editForm },
components: { addForm, detailForm, feedBackForm, editForm },
data () {
let endDisabledDate = (time) => {

6
src/views/modules/communityService/fuwujilu/addForm.vue

@ -340,7 +340,7 @@
import { mapGetters } from "vuex";
import { Loading } from "element-ui"; // Loading
import { requestPost } from "@/js/dai/request";
import personList from "../policy/personList";
// import personList from "../policy/oldPersonList.vue";
import nextTick from "dai-js/tools/nextTick";
var map;
@ -550,7 +550,9 @@ export default {
},
},
components: { personList },
components: {
},
async mounted () {
this.startLoading();

6
src/views/modules/communityService/fuwujilu/detailForm.vue

@ -130,7 +130,7 @@
import { mapGetters } from 'vuex'
import { Loading } from 'element-ui' // Loading
import { requestPost } from '@/js/dai/request'
import personList from "../policy/personList";
// import personList from "../policy/oldPersonList.vue";
import fileList from '@/views/components/fileList'
@ -177,7 +177,7 @@ export default {
}
},
components: { personList, fileList },
components: { fileList },
async mounted () {
await this.getPolicyList()
// if (this.serviceRecordId) {//
@ -508,4 +508,4 @@ export default {
<style lang="scss" scoped >
@import "@/assets/scss/modules/management/detail-main.scss";
</style>
</style>

4
src/views/modules/communityService/fuwujilu/editForm.vue

@ -321,7 +321,7 @@
import { mapGetters } from 'vuex'
import { Loading } from 'element-ui' // Loading
import { requestPost } from '@/js/dai/request'
import personList from "../policy/personList";
// import personList from "../policy/oldPersonList.vue";
var map
@ -387,7 +387,7 @@ export default {
ruleList: []
}
},
components: { personList },
components: { },
mounted () {
this.getPolicyList()
if (this.serviceRecordId) {//

4
src/views/modules/communityService/fuwujilu/fuwuList.vue

@ -314,10 +314,10 @@ import addForm from "./addForm";
import detailForm from "./detailForm";
import editForm from "./editForm";
import feedBackForm from "./addForm";
import personList from "../policy/personList";
// import personList from "../policy/oldPersonList.vue";
export default {
components: { addForm, detailForm, feedBackForm, personList, editForm },
components: { addForm, detailForm, feedBackForm, editForm },
data () {
let endDisabledDate = (time) => {//datareturn

2
src/views/modules/communityService/fuwuzhaoren/addForm.vue

@ -358,7 +358,7 @@
import { mapGetters } from "vuex";
import { Loading } from "element-ui"; // Loading
import { requestPost, requestGet } from "@/js/dai/request";
import personList from "../policy/personList";
// import personList from "../policy/oldPersonList.vue";
import nextTick from "dai-js/tools/nextTick";
import labelForm from "../labelConfig/addForm.vue";
import daiMap from "@/utils/dai-map";

4
src/views/modules/communityService/fuwuzhaoren/detailForm.vue

@ -139,7 +139,7 @@
import { mapGetters } from "vuex";
import { Loading } from "element-ui"; // Loading
import { requestPost } from "@/js/dai/request";
import personList from "../policy/personList";
// import personList from "../policy/oldPersonList.vue";
import fileList from "@/views/components/fileList";
import daiMap from "@/utils/dai-map";
@ -174,7 +174,7 @@
policyList: [],
};
},
components: { personList, fileList },
components: { fileList },
async mounted() {
await this.getPolicyList();
// if (this.serviceRecordId) {//

4
src/views/modules/communityService/fuwuzhaoren/editForm.vue

@ -366,7 +366,7 @@
import { mapGetters } from 'vuex'
import { Loading } from 'element-ui' // Loading
import { requestPost } from '@/js/dai/request'
import personList from "../policy/personList";
// import personList from "../policy/oldPersonList.vue";
import labelForm from "../labelConfig/addForm.vue";
import { nextTick } from 'vue';
@ -434,7 +434,7 @@ import { nextTick } from 'vue';
ruleList: []
}
},
components: { personList ,labelForm},
components: { labelForm},
mounted () {
this.getPolicyList()
if (this.serviceRecordId) {//

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

@ -385,10 +385,10 @@ import addForm from "./addForm";
import detailForm from "./detailForm";
import editForm from "./editForm";
import feedBackForm from "./addForm";
import personList from "../policy/personList";
// import personList from "../policy/oldPersonList.vue";
//
export default {
components: { addForm, detailForm, feedBackForm, personList, editForm },
components: { addForm, detailForm, feedBackForm, editForm },
data () {
let endDisabledDate = (time) => {//datareturn

4
src/views/modules/communityService/gxxq/addForm.vue

@ -261,7 +261,7 @@
import { mapGetters } from "vuex";
import { Loading } from "element-ui"; // Loading
import { requestPost, requestGet } from "@/js/dai/request";
import personList from "../policy/personList";
// import personList from "../policy/oldPersonList.vue";
import nextTick from "dai-js/tools/nextTick";
import labelForm from "../labelConfig/addForm.vue";
@ -405,7 +405,7 @@ export default {
},
},
components: { personList, labelForm },
components: { labelForm },
created() {},
async mounted() {
this.startLoading();

113
src/views/modules/communityService/policy/oldPersonList.vue

@ -0,0 +1,113 @@
<template>
<div class="dialog-h-content scroll-h g-main">
<div v-for="(item,index) in ruleList"
:key="index">
<div class="div_name">{{'政策细则'+(index+1)}}{{item.ruleName}}</div>
<person-list-item :ruleId="item.id"> </person-list-item>
</div>
</div>
</template>
<script>
import { requestPost } from "@/js/dai/request";
import { mapGetters } from 'vuex'
import { Loading } from 'element-ui' // Loading
import personListItem from './personListItem'
let loading //
export default {
data () {
return {
loading: false,
total: 0,
pageSize: 20,
pageNo: 1,
tableLoading: false,
agencyId: '',
initLoading: false,
tableArray: [
],
}
},
components: {
personListItem
},
async created () {
},
activated () {
// this.$refs['ref_table'].doLayout()
},
async mounted () {
},
methods: {
//
startLoading () {
loading = Loading.service({
lock: true, //
text: '正在加载……', //
background: 'rgba(0,0,0,.7)' //
})
},
//
endLoading () {
// clearTimeout(timer);
if (loading) {
loading.close()
}
}
},
computed: {
},
watch: {
},
props: {
policyId: {
type: String,
required: ''
},
ruleList: {
type: Array,
required: true,
default () {
return []
}
},
}
}
</script>
<style lang="scss" scoped >
@import "@/assets/scss/modules/management/list-main.scss";
.div_name {
padding: 5px 20px;
font-size: 16px;
}
</style>

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

@ -1,113 +1,476 @@
<template>
<div class="dialog-h-content scroll-h g-main">
<div v-for="(item,index) in ruleList"
:key="index">
<div class="div_name">{{'政策细则'+(index+1)}}{{item.ruleName}}</div>
<person-list-item :ruleId="item.id"> </person-list-item>
<div>
<div class="dialog-h-content scroll-h">
<el-form
:inline="true"
:model="searchFormData"
ref="ref_searchform"
:label-width="'110px'">
<el-form-item label="所属组织" prop="orgId">
<el-cascader
@change="handleOrgChange"
:options="orgTree"
:props="orgOptionProps"
clearable
placeholder="请选择组织"></el-cascader>
</el-form-item>
<el-form-item label="人员姓名" prop="title">
<el-input
v-model="searchFormData.name"
class="u-item-width-normal"
size="small"
clearable
placeholder="请输入">
</el-input>
</el-form-item>
<el-form-item label="手机号" prop="title">
<el-input
v-model="searchFormData.mobile"
class="u-item-width-normal"
size="small"
clearable
placeholder="请输入">
</el-input>
</el-form-item>
<el-form-item label="身份证号" prop="title">
<el-input
v-model="searchFormData.idCard"
class="u-item-width-normal"
size="small"
clearable
placeholder="请输入">
</el-input>
</el-form-item>
<el-form-item label="享受服务次数" prop="title">
<el-input
v-model="searchFormData.serveTimes"
class="u-item-width-normal"
size="small"
clearable
placeholder="请输入">
</el-input>
</el-form-item>
<el-form-item label="家庭住址" prop="title">
<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">
</el-option>
</el-select>
<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">
</el-option>
</el-select>
<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">
</el-option>
</el-select>
<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">
</el-option>
</el-select>
</el-form-item>
</el-form>
</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>
</div>
<div class="m-table">
<!--表格-->
<el-table
:data="personList"
height="250"
border
@select-all="handleSelectAll"
@selection-change="handleTableRowsSelected"
style="width: 100%">
<el-table-column
type="selection"
width="55">
</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>
<el-table-column
prop="genderDisplay"
label="性别">
</el-table-column>
<el-table-column
prop="birthday"
width="170"
label="出生日期">
</el-table-column>
<el-table-column
prop="age"
label="年龄">
</el-table-column>
<el-table-column
prop="mobile"
width="120"
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>
</el-table>
</div>
<!--分页条-->
<el-pagination
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
:current-page.sync="searchFormData.pageNo"
:page-sizes="pageSizes"
:page-size="searchFormData.pageSize"
layout="sizes, prev, pager, next, total"
background
: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 { mapGetters } from 'vuex'
import { Loading } from 'element-ui' // Loading
import personListItem from './personListItem'
let loading //
export default {
mounted () {
this.initOrgTree()
this.handleSearch()
},
data () {
return {
loading: false,
total: 0,
pageSize: 20,
pageNo: 1,
tableLoading: false,
agencyId: '',
initLoading: false,
tableArray: [
],
//
searchFormData: {
orgId: null,
orgType: null,
tagId: null,
name: null,
mobile: null,
idCard: null,
serveTimes: null,
villageId: null,
buildId: null,
unitId: null,
homeId: null,
pageSize: 10,
pageNo: 1,
},
//
pageSizes: [10, 20, 50, 100, 200],
total: 0, //
//
quartersSelectItems: [],
buildingSelectItems: [],
unitSelectItems: [],
homeSelectItems: [],
orgTree: [], //
//
orgOptionProps: {
multiple: false,
value: 'agencyId',
label: 'agencyName',
children: 'subAgencyList',
checkStrictly: true
},
//
selectedPersonListIds: [], // id
personList: [], //
}
},
components: {
personListItem
},
async created () {
methods: {
},
activated () {
// this.$refs['ref_table'].doLayout()
},
async mounted () {
/**
* 行选中事件
* @returns {Promise<void>}
*/
async handleTableRowsSelected(selection) {
this.selectedPersonListIds = selection.map(e => e.id);
},
/**
* 全选
* @param selection
* @returns {Promise<void>}
*/
async handleSelectAll(selection) {
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)
if (code === 0) {
this.personList = data.list
this.total = data.total
}
},
},
/**
* 标记享受服务人员
* @returns {Promise<void>}
*/
async handleIncrementServeTimes() {
let params = {
recIds: this.selectedPersonListIds
};
let url = "/actual/base/residentBaseInfo/policyFindPersonList/incrementServeTimes";
const { data, code, msg } = await requestPost(url, params);
if (code === 0) {
this.$message.success('操作成功');
} else {
this.$message.error('操作失败');
}
//
this.handleSearch();
},
methods: {
/**
* 组织选择触发事件
* @returns {Promise<void>}
*/
async initOrgTree () {
let url = '/gov/org/customeragency/agencygridtree'
const { data, code, msg } = await requestPost(url, {})
if (code === 0) {
debugger
this.orgTree.push(data)
}
},
/**
* 加载和填充小区下拉框
* @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'
} else {
params['agencyId'] = orgId
this.searchFormData.orgType = 'agency'
}
const { data, code, msg } = await requestPost(url, params)
if (code === 0) {
this.quartersSelectItems = data.map(e => {
return {
label: e.label,
value: e.value
}
})
}
},
/**
* 小区选择器change填充楼栋下拉框
* @returns {Promise<void>}
*/
async handleQuarterSelectorsChange (quartersId) {
let url = '/actual/base/communityBuilding/buildingoption'
let params = {
quartersId: quartersId,
}
const { data, code, msg } = await requestPost(url, params)
if (code === 0) {
this.buildingSelectItems = data.map(e => {
return {
label: e.label,
value: e.value
}
})
}
},
/**
* 楼栋选择器change填充单元下拉框
* @param selectedQuarter
* @returns {Promise<void>}
*/
async handleBuildSelectorsChange (buildId) {
let url = '/actual/base/communityBuildingUnit/unitoption'
let params = {
buildingId: buildId,
}
const { data, code, msg } = await requestPost(url, params)
if (code === 0) {
this.unitSelectItems = data.map(e => {
return {
label: e.label,
value: e.value
}
})
}
},
/**
* 单元下拉框选择器change填充房屋
* @param unitId
* @returns {Promise<void>}
*/
async handleUnitSelectorsChange (unitId) {
let url = '/actual/base/communityHouse/houseoption'
let params = {
unitId: unitId,
}
const { data, code, msg } = await requestPost(url, params)
if (code === 0) {
this.homeSelectItems = data.map(e => {
return {
label: e.label,
value: e.value,
}
})
}
},
/**
* 递归搜索组织树选出选中的节点
* @param orgId
* @param orgList
* @returns {*}
*/
getSelectedOrgIdAndType (orgId, orgList) {
for (let org of orgList) {
if (org.agencyId === orgId) {
return { orgId: org.agencyId, level: org.level }
}
//
startLoading () {
loading = Loading.service({
lock: true, //
text: '正在加载……', //
background: 'rgba(0,0,0,.7)' //
})
},
//
endLoading () {
// clearTimeout(timer);
if (loading) {
loading.close()
if (org.subAgencyList && org.subAgencyList.length > 0) {
let selectedOrg = this.getSelectedOrgIdAndType(orgId, org.subAgencyList)
if (selectedOrg) {
return selectedOrg
}
}
}
}
},
computed: {
},
},
watch: {
//
handleSizeChange (newPageSize) {
this.searchFormData.pageSize = newPageSize
this.handleSearch()
},
//
handleCurrentChange (pageNo) {
this.searchFormData.pageNo = pageNo
this.handleSearch()
}
},
props: {
policyId: {
type: String,
required: ''
},
ruleList: {
type: Array,
required: true,
default () {
return []
}
},
tagId: {
type: String,
required: true,
}
}
}
</script>
<style lang="scss" scoped >
@import "@/assets/scss/modules/management/list-main.scss";
.div_name {
padding: 5px 20px;
font-size: 16px;
<style lang="scss" scoped>
@import "@/assets/scss/modules/management/form-main.scss";
.btn-add-rule {
margin-left: 150px;
display: flex;
justify-content: flex-start;
margin-bottom: 20px;
}
</style>
.item_width_short {
width: 380px;
}
.item_rule {
display: flex;
justify-content: flex-start;
}
.item_label {
flex: 0 0 150px;
line-height: 30px;
text-align: right;
padding-right: 12px;
}
.item_label:before {
content: "*";
color: #f56c6c;
margin-right: 4px;
}
</style>

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

@ -187,12 +187,16 @@
>
</el-table-column>
<el-table-column
prop="findPersonQty"
align="center"
min-width="100"
label="符合政策的人员数量"
:show-overflow-tooltip="true"
>
<template slot-scope="scope">
<el-button @click="handlePersonList(scope.row)" type="text" size="small">
{{ scope.row.findPersonQty }}
</el-button>
</template>
</el-table-column>
<el-table-column
prop="createdTime"
@ -280,19 +284,17 @@
:visible.sync="showPersonList"
:close-on-click-modal="false"
:close-on-press-escape="false"
:title="'人员名单'"
width="1150px"
:title="'符合政策人员名单'"
width="1600px"
height="1100px"
top="5vh"
class="dialog-h"
@closed="showPersonList = false"
>
<person-list
ref="ref_detail_form"
ref="ref_person_list"
:policyId="policyId"
:ruleList="ruleList"
@handleOk="handleOk"
@handleClose="handleClose"
:formType="formType"
:tagId="tagId"
>
</person-list>
</el-dialog>
@ -347,7 +349,8 @@ export default {
pageSize: window.localStorage.getItem("pageSize") || 20,
total: 1,
policyId: "",
policyId: null,
tagId: null,
serviceProjectName: "",
showAdd: false,
@ -697,6 +700,14 @@ export default {
this.pageNo = 1;
this.getTableData();
},
//
handlePersonList(row) {
debugger
this.showPersonList = true;
this.policyId = row.id
this.tagId = row.resiSearchTagId
}
},
};
</script>

3
src/views/modules/secretaryLog/cpts/notice.vue

@ -40,7 +40,8 @@ export default {
currentIndex() {},
},
async mounted() {
this.poll();
// 西
// this.poll();
},
methods: {
async poll() {

Loading…
Cancel
Save