人员信息

This commit is contained in:
du 2024-06-06 17:12:17 +08:00
parent 720cd6e8c3
commit 8ee5aaad07
21 changed files with 674 additions and 510 deletions

3
app.js
View File

@ -52,7 +52,8 @@ App({
userInfo: {}, userInfo: {},
// headerUrl: "http://42.193.40.239:8017/" //线上 // headerUrl: "http://42.193.40.239:8017/" //线上
// headerUrl: "http://192.168.110.10:8017/" //线下 // headerUrl: "http://192.168.110.10:8017/" //线下
headerUrl: "https://city.sczysoft.com/df/" headerUrl: "http://192.168.110.186:8017/"
// headerUrl: "https://city.sczysoft.com/df/"
}, },
// https://city.sczysoft.com/df/doc.html //接口 // https://city.sczysoft.com/df/doc.html //接口
// https://city.sczysoft.com/dffile //查看拼接 // https://city.sczysoft.com/dffile //查看拼接

View File

@ -33,7 +33,9 @@
"pages/emergency/s-b/escalation/index", "pages/emergency/s-b/escalation/index",
"pages/agreement/index", "pages/agreement/index",
"pages/emergency/t-x-l/index/index", "pages/emergency/t-x-l/index/index",
"pages/statistic/j-b-x-x/detail/index" "pages/statistic/j-b-x-x/personnel/index",
"pages/statistic/j-b-x-x/detail/index",
"pages/work/f-b-g-z/index/index"
], ],
"window": { "window": {
"backgroundTextStyle": "light", "backgroundTextStyle": "light",
@ -48,7 +50,10 @@
"title-bar": "/components/title-bar/index", "title-bar": "/components/title-bar/index",
"tree-node": "components/tree-node/index" "tree-node": "components/tree-node/index"
}, },
"requiredPrivateInfos": ["getLocation","chooseLocation"], "requiredPrivateInfos": [
"getLocation",
"chooseLocation"
],
"permission": { "permission": {
"scope.userLocation": { "scope.userLocation": {
"desc": "你的位置信息将用于记录检查佐证" "desc": "你的位置信息将用于记录检查佐证"

BIN
images/home/icon_w_5.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

BIN
images/home/icon_yj_4.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

View File

@ -189,8 +189,9 @@ Page({
console.log(resdata,'resdata===>'); console.log(resdata,'resdata===>');
// if (resdata.code == 1) { // if (resdata.code == 1) {
console.log(resdata,'res==>'); console.log(resdata,'res==>');
wx.hideLoading();
this.getFiles(); this.getFiles();
wx.hideLoading();
// } // }
}) })
}, },

View File

@ -104,6 +104,11 @@ Page({
name: "有事找党员", name: "有事找党员",
href: "/pages/party-member/index/index" href: "/pages/party-member/index/index"
}, },
{
icon: "icon_w_5",
name: "发布工作",
href: "/pages/work/f-b-g-z/index/index"
},
], ],
// 应急指挥 // 应急指挥
tab3: [{ tab3: [{
@ -117,7 +122,7 @@ Page({
href: "/pages/emergency/s-b/index/index" href: "/pages/emergency/s-b/index/index"
}, },
{ {
icon: "icon_yj_3", icon: "icon_yj_4",
name: "应急通讯录", name: "应急通讯录",
href: "/pages/emergency/t-x/index/index" href: "/pages/emergency/t-x/index/index"
}, },

View File

@ -8,10 +8,10 @@ Page({
* 页面的初始数据 * 页面的初始数据
*/ */
data: { data: {
// username: 'admin', username: 'admin',
// password: 'Daofu123456', password: 'Daofu202406',
username: '', // username: '',
password: '', // password: '',
showLogin: true, showLogin: true,
newname:'', newname:'',
newphone:'', newphone:'',

View File

@ -23,11 +23,14 @@ Page({
* 查看人员详情 * 查看人员详情
*/ */
getEmerEventDetail: function (id) { getEmerEventDetail: function (id) {
app.axios("GET", "app", `/people/peopleDetail/${id}`).then(res => { app.axios("GET", "app", `/people/peopleDetail/${id}`).then(res => {
if (res.code == 1) { if (res.code == 1) {
console.log(res.data,'data===>'); console.log(res.data,'data===>');
this.data.userInfo = res.data; this.data.userInfo = res.data;
this.data.freshIng = false,
this.setData(this.data); this.setData(this.data);
wx.hideLoading();
// this.data.postData.emerTypeName; // this.data.postData.emerTypeName;
// for (let index = 0; index < this.data.TypeData.length; index++) { // for (let index = 0; index < this.data.TypeData.length; index++) {
// if (this.data.TypeData[index].emerTypeName == res.data.emerTypeName) { // if (this.data.TypeData[index].emerTypeName == res.data.emerTypeName) {
@ -39,6 +42,14 @@ Page({
} }
}) })
}, },
goItem: function (params) {
console.log(params,'params==?');
this.data.freshIng = true,
wx.showLoading({
title: '加载中',
})
this.getEmerEventDetail(params.currentTarget.dataset.item.peopleId);
},
/** /**
* 生命周期函数--监听页面加载 * 生命周期函数--监听页面加载
*/ */

View File

@ -1,72 +1,75 @@
<!--pages/msg/push/index.wxml--> <title-bar title="{{title}}人员信息"></title-bar>
<title-bar title="基本信息"></title-bar> <scroll-view scroll-y style="height: calc(100vh - {{topBarH}}px);" refresher-enabled bindrefresherrefresh="refresh" bindscrolltolower="dropDown" refresher-triggered="{{freshIng}}">
<scroll-view scroll-y refresher-enabled style="height: calc(100vh - {{topBarH}}px);">
<view class="item"> <view class="item">
<!-- 标题 --> <!-- catchtap="goItem" -->
<view class="h-div v-center header"> <view class="item_top">
<text class="single"></text> <view class="item_name">
<text class="title">姓名</text> <view>姓名</view>
<view>{{userInfo.name}}</view>
</view>
<view class="item_sex">
<view>性别</view>
<view>{{userInfo.sex==1?'男':'女'}}</view>
</view>
<view class="item_birthday">
<view>出生日期</view>
<view>{{userInfo.birthday}}</view>
</view>
</view> </view>
<view class="h-div v-center header"> <view class="item_cent">
<text class="title">{{userInfo.name}}</text> <view>关系</view>
<view>{{userInfo.relationName}}</view>
</view> </view>
<view class="h-div v-center header"> <view class="item_cent">
<text class="single"></text> <view>联系电话</view>
<text class="title">电话</text> <view>{{userInfo.phoneNumber}}</view>
</view> </view>
<view class="h-div v-center header"> <view class="item_cent">
<text class="title">{{userInfo.phoneNumber?userInfo.phoneNumber:'--'}}</text> <view>所属区域</view>
<view>{{userInfo.areaName}}</view>
</view> </view>
<view class="h-div v-center header"> <view class="item_cent">
<text class="single"></text> <view>人员标签</view>
<text class="title">性别</text> <view style="width: 450rpx;text-align: right;">{{userInfo.typeName}}</view>
</view> </view>
<view class="h-div v-center header"> <view class="item_cent">
<text class="title">{{userInfo.sex==1?'男':'女'}}</text> <view>类型</view>
<view>{{userInfo.relationName}}</view>
</view> </view>
<view class="h-div v-center header"> <view class="item_bot">
<text class="single"></text> <view class="item_address">
<text class="title">所属区域</text> <view>家庭住址</view>
<view>{{userInfo.nowAddress}}</view>
</view>
</view> </view>
<view class="h-div v-center header">
<text class="title">{{userInfo.areaName?userInfo.areaName:'--'}}</text>
</view>
<view class="h-div v-center header">
<text class="single"></text>
<text class="title">人员标签</text>
</view>
<view class="h-div v-center header">
<text class="title">{{userInfo.peopleTag == 1?'常住人口':'流动人口'}}</text>
</view>
<view class="h-div v-center header">
<text class="single"></text>
<text class="title">关系</text>
</view>
<view class="h-div v-center header">
<text class="title">{{userInfo.relationName?userInfo.relationName:'--'}}</text>
</view>
<view class="h-div v-center header">
<text class="single"></text>
<text class="title">出生日期</text>
</view>
<view class="h-div v-center header">
<text class="title">{{userInfo.birthday?userInfo.birthday:'--'}}</text>
</view>
<view class="h-div v-center header">
<text class="single"></text>
<text class="title">类型</text>
</view>
<view class="h-div v-center header">
<text style="margin-right: 10rpx;" wx:for="{{userInfo.typeName}}" wx:key="{{item}}" class="title">{{item}}</text>
</view>
<view class="h-div v-center header">
<text class="single"></text>
<text class="title">工作地点</text>
</view>
<view class="h-div v-center header">
<text class="title">{{userInfo.workAddress?userInfo.workAddress:'--'}}</text>
</view>
</view> </view>
<view class="space"></view> <view class="br">
</scroll-view> <view></view>
同户主其他人员
</view>
<view class="item" wx:for="{{userInfo.peoples}}" wx:key="{{item.label}}" data-item="{{item}}" data-index="{{index}}" catchtap="goItem">
<view class="item_top">
<view class="item_name">
<view>姓名</view>
<view>{{item.name}}</view>
</view>
<view class="item_sex">
<view>性别</view>
<view>{{item.sex==1?'男':'女'}}</view>
</view>
<view class="item_birthday">
<view>出生日期</view>
<view>{{item.birthday}}</view>
</view>
</view>
<view class="item_bot">
<view class="item_address">
<view>家庭住址</view>
<view>{{item.nowAddress}}</view>
</view>
</view>
<view class="item_details">
详情信息>>
</view>
</view>
</scroll-view>

View File

@ -1,113 +1,143 @@
/* pages/msg/push/index.wxss */ .content {
scroll-view { display: flex;
flex-direction: column;
}
.line {
width: 1rpx;
height: 80%;
background-color: #f5f5f5; background-color: #f5f5f5;
box-sizing: border-box;
} }
.filter { .in-bg {
margin: 0 10rpx; margin: auto;
height: 80rpx; background: #ffffff;
display: flex; border-radius: 12rpx;
flex-direction: row; height: 76rpx;
background-color: white; width: 92%;
border-radius: 10rpx; margin-top: 24rpx;
padding: 0 20rpx;
} }
.filter picker { .in-bg input {
flex: 1; width: 100%;
height: 100%; height: 100%;
display: flex; }
align-items: center;
.in-bg image {
width: 40rpx;
height: 35rpx;
margin-right: 20rpx;
}
.in-bg .lab {
margin-left: 20rpx;
width: 230rpx;
font-size: 28rpx;
color: #333333;
} }
.item { .item {
background-color: #ffffff; width: 686rpx;
margin: 32rpx 20rpx 20rpx 20rpx; /* height: 296rpx; */
padding: 20rpx; background-color: #FFFFFF;
margin: 32rpx auto;
border-radius: 16rpx;
padding: 32rpx;
position: relative; position: relative;
border-radius: 10rpx;
z-index: 2;
} }
.item .header { .item_top {
margin-top: 16rpx; display: flex;
border-bottom: 1rpx dashed #f5f5f5;
padding-bottom: 24rpx;
} }
.item .header .single { .item_cent {
width: 8rpx; border-bottom: 1rpx dashed #f5f5f5;
height: 36rpx; padding: 22rpx 0rpx;
background: #4882EE; display: flex;
border-radius: 4rpx; justify-content: space-between;
margin-right: 10rpx;
} }
.item .header .title { .item_bot {
font-size: 30rpx; padding-top: 24rpx;
font-weight: bold;
color: #222222;
} }
.item .put { .item>view>view>view:nth-child(1) {
width: 100%; font-family: PingFang SC, PingFang SC;
background: #F5F7FC; font-weight: 500;
border-radius: 12rpx;
min-height: 72rpx;
padding: 15rpx;
margin-top: 16rpx;
color: #333333;
font-size: 28rpx; font-size: 28rpx;
color: #808080;
} }
.grid { .item>view>view>view:nth-child(2) {
margin-top: 20rpx; font-family: PingFang SC, PingFang SC;
display: grid; font-weight: 500;
grid-gap: 20rpx 20rpx; font-size: 32rpx;
grid-template-columns: calc((100vw - 140rpx)/3) auto auto; color: #333333;
} }
.grid .img { .item_name {
width: calc((100vw - 140rpx)/3); width: 210rpx;
height: calc((100vw - 140rpx)/3);
background-color: #f5f5f5;
border-radius: 10rpx;
} }
.grid .del { .item_sex {
width: 110rpx;
}
.item_birthday {
width: 200rpx;
}
.item_address {
width: 100%;
}
.item_details {
width: 180rpx;
height: 48rpx;
background-color: #3587FB;
border-radius: 0rpx 16rpx 0rpx 16rpx;
position: absolute; position: absolute;
bottom: 0; top: 0rpx;
left: 0; right: 0rpx;
z-index: 1; text-align: center;
font-size: 40rpx; line-height: 48rpx;
font-family: PingFang SC, PingFang SC;
font-weight: 400;
font-size: 26rpx;
color: #FFFFFF;
} }
.option { .item_cent>view:nth-child(1) {
position: fixed; font-family: PingFang SC, PingFang SC;
bottom: calc(constant(safe-area-inset-bottom) + 30rpx); font-weight: 500;
bottom: calc(env(safe-area-inset-bottom) + 30rpx); font-size: 28rpx;
left: 0; color: #808080;
right: 0;
margin-top: 30rpx;
padding: 16rpx 32rpx;
background: #FFFFFF;
box-shadow: 0rpx 0rpx 12rpx 2rpx #DDECF3;
z-index: 10;
} }
.option .btn { .item_cent>view:nth-child(2) {
padding: 14rpx; font-family: PingFang SC, PingFang SC;
font-weight: 500;
font-size: 32rpx;
color: #333333;
}
.br{
width: 92%;
margin: auto;
display: flex; display: flex;
align-items: center; align-items: center;
justify-content: center; font-family: PingFang SC, PingFang SC;
background: #409CFF; font-weight: bold;
color: #FFFFFF; font-size: 36rpx;
border-radius: 12rpx; color: #333333;
} }
.br>view{
.option .btn:active { width: 4rpx;
opacity: 0.8; height: 36rpx;
} background-color: #3587fb;
margin-right: 8rpx;
.space { border-radius: 4rpx 4rpx 4rpx 4rpx;
height: calc(constant(safe-area-inset-bottom) + 150rpx);
height: calc(env(safe-area-inset-bottom) + 150rpx);
} }

View File

@ -20,11 +20,12 @@ Page({
TypeData: [], TypeData: [],
showTypePop: false, showTypePop: false,
postData:{ postData:{
orgcode:'' orgcode:'',
areaPathName:''
}, },
typeId:'', typeId:'',
//树结构 //筛选树结构
areaCode:'', areaCode:'',
areaPathName:'', areaPathName:'',
unitTreepros: { unitTreepros: {
@ -32,43 +33,23 @@ Page({
val: 'orgcode' val: 'orgcode'
}, },
unitTreelist: [], unitTreelist: [],
// 地区数据
areamultiIndex: [0, 0, 0],
areamultiIds: [],
areanewArr: [],
area:[],
// value:'',
// tree: [
// {
// id: 1,
// name: '001',
// open: true,
// children: [{
// id: 2,
// name: '001-01',
// children: [{
// id: 3,
// name: '001-01-01',
// children: []
// }]
// }]
// }
// ]
}, },
/** /**
* 切换tab * 切换tab
*/ */
changeItem: function (params) { changeItem: function (params) {
this.data.currentIndex = params.currentTarget.dataset.index; console.log(params,'切换tabparams====>');
this.data.page = 1; //
this.data.list = []; wx.navigateTo({
this.setData(this.data); url: `/pages/statistic/j-b-x-x/personnel/index?typeId=${params.currentTarget.dataset.item.typeId}&typeName=${params.currentTarget.dataset.item.typeName}&orgcode=${this.data.postData.orgcode}&areaPathName=${this.data.postData.areaPathName}`,
this.data.typeId = params.currentTarget.dataset.item.typeId; })
this.getList(params.currentTarget.dataset.item.typeId); // this.data.currentIndex = params.currentTarget.dataset.index;
// this.data.page = 1;
// this.data.list = [];
// this.setData(this.data);
// this.data.typeId = params.currentTarget.dataset.item.typeId;
// this.getList(params.currentTarget.dataset.item.typeId);
}, },
handleselectunit(e) { handleselectunit(e) {
@ -76,13 +57,14 @@ Page({
this.data.page = 1; this.data.page = 1;
this.data.list = []; this.data.list = [];
let postData = this.data.postData; // 获取当前的 postData 对象 let postData = this.data.postData; // 获取当前的 postData 对象
console.log(postData,'postData==>');
postData.orgcode = e.detail.item.orgcode; postData.orgcode = e.detail.item.orgcode;
postData.areaPathName = e.detail.item.orgname; postData.areaPathName = e.detail.item.orgname;
this.setData({ this.setData({
postData: postData, postData: postData,
showTypePop:false showTypePop:false
}); // 设置更新后的 postData 对象 }); // 设置更新后的 postData 对象
this.getList(this.data.typeId); this.getType();
}, },
/** /**
* 查看详情 * 查看详情
@ -112,7 +94,6 @@ Page({
this.data.postData.orgcode = this.data.TypeData[index].orgcode; this.data.postData.orgcode = this.data.TypeData[index].orgcode;
this.data.showTypePop = false; this.data.showTypePop = false;
this.setData(this.data); this.setData(this.data);
this.getList(this.data.typeId);
}, },
/** /**
* 获取地区 * 获取地区
@ -129,38 +110,18 @@ Page({
} }
}) })
}, },
// /**
// * 开始时间
// */
// startTimeChange: function (e) {
// this.data.startTime = e.detail.value;
// this.timeGetList();
// },
// /**
// * 开始时间
// */
// endTimeChange: function (e) {
// this.data.endTime = e.detail.value;
// this.timeGetList();
// },
// //时间请求
// timeGetList: function () {
// this.data.page = 1;
// this.data.currentIndex = 0;
// this.data.list = [];
// this.setData(this.data);
// this.getList(this.data.tab[0].typeId);
// },
/** /**
* 获取工作统计类型 * 获取工作统计类型
*/ */
getType: function () { getType: function () {
app.axios("GET", "app", `/people/populationByType`).then(res => { let params = {
areaCode:this.data.postData.orgcode
}
app.axios("GET", "app", `/people/populationByType`,params).then(res => {
if (res.code == 1) { if (res.code == 1) {
this.data.tab = res.data; this.data.tab = res.data;
this.setData(this.data); this.setData(this.data);
this.data.typeId = res.data[0].typeId; this.data.typeId = res.data[0].typeId;
this.getList(res.data[0].typeId);
} }
}) })
}, },
@ -168,156 +129,14 @@ Page({
* 上拉刷新 * 上拉刷新
*/ */
refresh: function () { refresh: function () {
this.data.page = 1; this.data.freshIng = false;
this.data.currentIndex = 0;
this.data.list = [];
this.setData(this.data); this.setData(this.data);
this.getList(this.data.tab[0].typeId);
}, },
dropDown: function (params) { dropDown: function (params) {
this.data.page = this.data.page+1; this.data.page = this.data.page+1;
this.data.freshIng = false;
this.setData(this.data); this.setData(this.data);
this.getList(this.data.tab[this.data.currentIndex].typeId);
}, },
/**
* 获取工作统计每项数据列表
*/
getList: function (id) {
let params = {
limit:this.data.pageSize,
page:this.data.page,
// endTime:this.data.endTime,
// startTime:this.data.startTime,
typeId:id,
// userId:this.data.userInfo.userId,
condition:this.data.search,
};
if (this.data.postData.orgcode) {
params.orgCode = this.data.postData.orgcode
}
console.log(params,'params==>');
app.axios("GET", "app", `/people/peopleInfoByType`, params).then(res => {
if (res.code == 1) {
this.setData({
list:[...this.data.list,...res.data.list],
freshIng:false,
});
}
})
},
// 地区获取
// getAreaTree: function () {
// app.axios("GET", "common", "/sysorg/areaTree").then(res => {
// if (res.code == 1) {
// this.data.areamultiArray = res.data
// this.setData(this.data);
// let state = {
// arr: [],
// arr1: [],
// arr2: [],
// arr3: [],
// areamultiIds: []
// }
// this.data.areamultiArray.map((v, vk) => {
// state.arr1.push(v.orgname);
// if (this.data.areamultiIndex[0] === vk) {
// state.areamultiIds[0] = v;
// }
// if (state.arr2.length <= 0) {
// v.children.map((c, ck) => {
// state.arr2.push(c.orgname);
// if (this.data.areamultiIndex[1] === ck) {
// state.areamultiIds[1] = c;
// }
// if (state.arr3.length <= 0) {
// c.children.map((t, tk) => {
// state.arr3.push(t.orgname);
// if (this.data.areamultiIndex[2] === tk) {
// state.areamultiIds[2] = t;
// }
// });
// }
// });
// }
// });
// state.arr[0] = state.arr1;
// state.arr[1] = state.arr2;
// state.arr[2] = state.arr3;
// this.setData({
// areanewArr: state.arr,
// areamultiIds: state.areamultiIds,
// });
// }
// })
// },
// 级联选择地区
areabindMultiPickerChange(e) {
console.log(this.data.areamultiIds,'级联选择地区==>');
this.setData({
area: e.detail.value,
areatate:true
});
},
areabindMultiPickerColumnChange(e) {
let data = {
areanewArr: this.data.areanewArr,
areamultiIndex: this.data.areamultiIndex,
areamultiIds: this.data.areamultiIds,
};
data.areamultiIndex[e.detail.column] = e.detail.value;
let searchColumn = () => {
let arr1 = [];
let arr2 = [];
this.data.areamultiArray.map((v, vk) => {
if (data.areamultiIndex[0] === vk) {
data.areamultiIds[0] = {
...v,
};
v.children.map((c, ck) => {
arr1.push(c.orgname);
if (data.areamultiIndex[1] === ck) {
data.areamultiIds[1] = {
...c,
};
c.children.map((t, vt) => {
arr2.push(t.orgname);
if (data.areamultiIndex[2] === vt) {
data.areamultiIds[2] = {
...t,
};
}
});
}
});
}
});
data.areanewArr[1] = arr1;
data.areanewArr[2] = arr2;
};
switch (e.detail.column) {
case 0:
// 每次切换还原初始值
data.areamultiIndex[1] = 0;
data.areamultiIndex[2] = 0;
// 执行函数处理
searchColumn();
break;
case 1:
data.areamultiIndex[2] = 0;
searchColumn();
break;
}
this.setData(data);
},
/** /**
* 生命周期函数--监听页面加载 * 生命周期函数--监听页面加载
*/ */

View File

@ -1,71 +1,17 @@
<title-bar title="基本信息统计"></title-bar> <title-bar title="基本信息统计"></title-bar>
<scroll-view scroll-y style="height: calc(100vh - {{topBarH}}px);" refresher-enabled bindrefresherrefresh="refresh" bindscrolltolower="dropDown" refresher-triggered="{{freshIng}}"> <scroll-view scroll-y style="height: calc(100vh - {{topBarH}}px);" refresher-enabled bindrefresherrefresh="refresh" bindscrolltolower="dropDown" refresher-triggered="{{freshIng}}">
<view class="h-div v-center in-bg" catchtap="popModal" data-type="showTypePop">
<text class="lab">所属社区</text>
<text>{{ postData.areaPathName }}</text>
</view>
<view class="content"> <view class="content">
<!-- <view class="filter">
<picker mode="date" value="{{startTime}}" bindchange="startTimeChange">
<view class="picker">
开始时间: {{startTime}}
</view>
</picker>
<view class="line"></view>
<picker mode="date" value="{{endTime}}" bindchange="endTimeChange">
<view class="picker">
结束时间: {{endTime}}
</view>
</picker>
</view> -->
<!-- 关键字搜索 -->
<!-- <input class="search" value="{{search}}" placeholder="输入姓名" /> -->
<view class="table"> <view class="table">
<view catchtap="changeItem" data-item="{{item}}" data-index="{{index}}" class="tab-item {{currentIndex==index?'tab-item-checked':''}}" wx:for="{{tab}}" wx:key="{{item.label}}">
<view catchtap="changeItem" data-item="{{item}}" data-index="{{index}}" class="tab-item" wx:for="{{tab}}" wx:key="{{item.label}}">
<text class="lab">{{item.typeName}}</text> <text class="lab">{{item.typeName}}</text>
<text class="val">{{item.typeNum}}</text> <text class="val">{{item.typeNum}}</text>
<text class="flex">人</text> <text class="flex">人</text>
<image wx:if="{{currentIndex==index}}" class="arrow" src="/images/icon-checked.png" /> <image class="arrow" src="/images/home/icon_arrow.png" />
</view>
</view>
<view class="h-div v-center in-bg" catchtap="popModal" data-type="showTypePop">
<view>
<!-- <tree dataTree="{{tree}}" model:value="{{value}}"/> -->
</view>
<text class="lab">所属社区</text>
<text>{{ postData.areaPathName }}</text>
<!-- <text>{{TypeData[postData.type-1].orgname}}</text> -->
<!-- <picker mode="multiSelector" bindchange="areabindMultiPickerChange" bindcolumnchange="areabindMultiPickerColumnChange"
value="{{areamultiIndex}}" range="{{areanewArr}}">
<view class="picker picker1">
<view>{{areanewArr[0][areamultiIndex[0]]}}{{areanewArr[1][areamultiIndex[1]]}}{{areanewArr[2][areamultiIndex[2]]}}</view>
</view>
</picker> -->
</view>
<!-- 列表 -->
<view class="item">
<view class="h-div child" catchtap="toDetail" data-item="{{item}}" wx:for="{{list}}">
<view class="single" />
<view class="v-div h-center">
<view class="h-div">
<text class="lab">姓名:</text>
<text class="val">{{item.name}}</text>
</view>
<view class="h-div">
<text class="lab">性别:{{item.sex==1?"男":"女"}}</text>
</view>
<view class="h-div">
<text class="lab">出生日期:{{item.birthday}}</text>
</view>
<!-- <view class="h-div">
<text class="lab">联系电话:</text>
<text class="phone">18140159609</text>
</view> -->
<view class="h-div">
<text class="lab">家庭住址:</text>
<text class="lab address">{{item.domicileAddress}}</text>
</view>
</view>
</view> </view>
</view> </view>
<view class="space"></view> <view class="space"></view>
@ -80,7 +26,7 @@
<text class="cuIcon-close text-red"></text> <text class="cuIcon-close text-red"></text>
</view> </view>
</view> </view>
<radio-group class="block" style="max-height: 50vh;overflow-y: scroll;"> <radio-group class="block" style="max-height: 50vh;overflow-y: scroll;">
<!-- <view class="cu-list menu text-left"> <!-- <view class="cu-list menu text-left">
<view class="cu-item" wx:for="{{TypeData}}" wx:key> <view class="cu-item" wx:for="{{TypeData}}" wx:key>
@ -91,6 +37,6 @@
</view> --> </view> -->
<tree-node id="tree" dataTree="{{unitTreelist}}" pros="{{unitTreepros}}" bindselect="handleselectunit" isOpenAll="true" /> <tree-node id="tree" dataTree="{{unitTreelist}}" pros="{{unitTreepros}}" bindselect="handleselectunit" isOpenAll="true" />
</radio-group> </radio-group>
</view> </view>
</view> </view>

View File

@ -3,8 +3,9 @@
display: flex; display: flex;
flex-direction: column; flex-direction: column;
background-color: white; background-color: white;
margin: 10rpx; margin: 30rpx auto;
border-right: 10rpx; width: 92%;
border-radius: 20rpx;
} }
.table .tab-item { .table .tab-item {
@ -12,26 +13,26 @@
flex-direction: row; flex-direction: row;
align-items: center; align-items: center;
width: 100%; width: 100%;
padding: 10rpx; padding: 20rpx;
border-radius: 10rpx; border-bottom: 1rpx dashed #f5f5f5;
border-bottom: 1rpx solid #f5f5f5;
} }
.table .tab-item-checked { /* .table .tab-item-checked {
background-color: rgba(0, 0, 0, 0.1); background-color: rgba(0, 0, 0, 0.1);
} } */
.table .tab-item .lab { .table .tab-item .lab {
font-size: 30rpx; font-size: 30rpx;
width: 30vw; width: 30vw;
text-align: center; margin-left: 10rpx;
border-right: 1rpx solid #f5f5f5; /* text-align: center; */
/* border-right: 1rpx solid #f5f5f5; */
} }
.table .tab-item .val { .table .tab-item .val {
font-size: 35rpx; font-size: 35rpx;
font-weight: bold; font-weight: bold;
padding-left: 10vw; padding-left: 40rpx;
padding-right: 10rpx; padding-right: 10rpx;
} }
@ -44,85 +45,6 @@
flex-direction: column; flex-direction: column;
} }
.content .search {
background-color: white;
margin: 10rpx;
height: 80rpx;
border-radius: 10rpx;
padding: 0 20rpx;
font-size: 28rpx;
position: sticky;
/* top: 90rpx; */
border-bottom: 1rpx solid #f5f5f5;
}
.content .filter {
margin: 0 10rpx;
width: calc(100vw - 20rpx);
height: 80rpx;
display: flex;
flex-direction: row;
background-color: white;
border-radius: 10rpx;
align-items: center;
position: sticky;
top: 0;
border-bottom: 1rpx solid #f5f5f5;
}
.content .filter picker {
flex: 1;
display: flex;
align-items: center;
justify-content: center;
font-size: 30rpx;
}
.content .item {
background-color: #ffffff;
padding: 32rpx 20rpx 20rpx 20rpx;
box-shadow: 0px 0px 6px 1px #DDECF3;
margin: 16rpx 16rpx 0 16rpx;
border-radius: 10rpx;
font-size: 32rpx;
color: #222222;
}
.content .item .single::before {
display: inline-block;
content: '';
width: 20rpx;
height: 20rpx;
margin-right: 10rpx;
border-radius: 50%;
background-color: var(--blue);
}
.content .item .child:not(:last-child) {
margin-bottom: 40rpx;
}
.content .item .lab {
margin-left: 16rpx;
}
.content .item .val {
margin-left: 16rpx;
color: #000000;
}
.content .item .age {
margin-left: 100rpx;
}
.content .item .phone {
color: var(--blue);
font-weight: bold;
}
.content .item .address {
color: #666666;
}
.line { .line {
width: 1rpx; width: 1rpx;
@ -133,10 +55,10 @@
.in-bg { .in-bg {
margin: auto; margin: auto;
background: #ffffff; background: #ffffff;
border-radius: 90rpx; border-radius: 12rpx;
height: 90rpx; height: 76rpx;
width: 95%; width: 92%;
margin-top: 5rpx; margin-top: 24rpx;
padding: 0 20rpx; padding: 0 20rpx;
} }

View File

@ -0,0 +1,183 @@
const app = getApp();
Page({
/**
* 页面的初始数据
*/
data: {
topBarH: app.globalData.CustomBar,
title: '',
typeId: '',
currentIndex: 0,
tab: [],
list: [],
page: 1,
pageSize: 10,
userInfo: {},
search: "",
TypeData: [],
showTypePop: false,
postData: {
orgcode: '',
areaPathName:''
},
typeId: '',
//筛选树结构
areaCode: '',
areaPathName: '',
unitTreepros: {
key: 'orgname',
val: 'orgcode'
},
unitTreelist: [],
},
/**
* 显示/关闭弹窗筛选
*/
popModal: function (params) {
const type = params.currentTarget.dataset.type;
this.data[type] = !this.data[type];
this.setData(this.data)
},
handleselectunit(e) {
// e.detail 选中的id数组
this.data.page = 1;
this.data.list = [];
let postData = this.data.postData; // 获取当前的 postData 对象
postData.orgcode = e.detail.item.orgcode;
postData.areaPathName = e.detail.item.orgname;
this.setData({
postData: postData,
showTypePop: false
}); // 设置更新后的 postData 对象
this.getList();
},
/**
* 获取地区
*/
getAreaTree: function () {
app.axios("GET", "common", "/sysorg/areaTree", {
classify: 2
}).then(res => {
if (res.code == 1) {
console.log(res, 'res===>');
this.data.TypeData = res.data[0].children;
this.data.unitTreelist = res.data;
this.setData(this.data)
}
})
},
/**
* 上拉刷新
*/
refresh: function () {
this.data.page = 1;
this.data.list = [];
this.setData(this.data);
this.getList();
},
dropDown: function (params) {
this.data.page = this.data.page + 1;
this.setData(this.data);
this.getList();
},
/**
* 获取工作统计每项数据列表
*/
getList: function (id) {
let params = {
limit: this.data.pageSize,
page: this.data.page,
typeId: this.data.typeId,
condition: this.data.search,
};
if (this.data.postData.orgcode) {
params.orgCode = this.data.postData.orgcode
}
console.log(params, 'params==>');
app.axios("GET", "app", `/people/peopleInfoByType`, params).then(res => {
console.log(res.data, 'res.data=====>');
if (res.code == 1) {
this.setData({
list: [...this.data.list, ...res.data.list],
freshIng: false,
});
}
})
},
goItem:function (params) {
wx.navigateTo({
url: `/pages/statistic/j-b-x-x/detail/index?peopleId=${params.currentTarget.dataset.item.peopleId}`,
})
},
/**
* 生命周期函数--监听页面加载
*/
onLoad(options) {
console.log(options, 'options==>');
this.data.postData.orgcode = options.orgcode;
this.data.postData.areaPathName = options.areaPathName;
this.data.title = options.typeName;
this.data.typeId = options.typeId;
this.data.freshIng = true;
this.data.userInfo = app.globalData.userInfo;
this.setData(this.data);
this.getList();
this.getAreaTree();
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady() {
},
/**
* 生命周期函数--监听页面显示
*/
onShow() {
},
/**
* 生命周期函数--监听页面隐藏
*/
onHide() {
},
/**
* 生命周期函数--监听页面卸载
*/
onUnload() {
},
/**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh() {
},
/**
* 页面上拉触底事件的处理函数
*/
onReachBottom() {
},
/**
* 用户点击右上角分享
*/
onShareAppMessage() {
}
})

View File

@ -0,0 +1,6 @@
{
"usingComponents": {
"tree-node":"/components/tree-node/index"
},
"navigationStyle": "custom"
}

View File

@ -0,0 +1,55 @@
<title-bar title="{{title}}人员信息"></title-bar>
<scroll-view scroll-y style="height: calc(100vh - {{topBarH}}px);" refresher-enabled bindrefresherrefresh="refresh" bindscrolltolower="dropDown" refresher-triggered="{{freshIng}}">
<view class="h-div v-center in-bg" catchtap="popModal" data-type="showTypePop">
<text class="lab">所属社区</text>
<text>{{ postData.areaPathName }}</text>
</view>
<view class="item" wx:for="{{list}}" wx:key="{{item.label}}" data-item="{{item}}" data-index="{{index}}" catchtap="goItem">
<view class="item_top">
<view class="item_name">
<view>姓名</view>
<view>{{item.name}}</view>
</view>
<view class="item_sex">
<view>性别</view>
<view>{{item.sex==1?'男':'女'}}</view>
</view>
<view class="item_birthday">
<view>出生日期</view>
<view>{{item.birthday}}</view>
</view>
</view>
<view class="item_bot">
<view class="item_address">
<view>家庭住址</view>
<view>家庭住址家庭住址家庭住址家庭住址家庭住址</view>
</view>
</view>
<view class="item_details">
详情信息>>
</view>
</view>
</scroll-view>
<!-- 选择所属社区 -->
<view class="cu-modal {{showTypePop?'show':''}}">
<view class="cu-dialog pop" catchtap>
<view class="cu-bar justify-end pop-header">
<view class="content">选择所属社区</view>
<view class="action" catchtap="popModal" data-type="showTypePop">
<text class="cuIcon-close text-red"></text>
</view>
</view>
<radio-group class="block" style="max-height: 50vh;overflow-y: scroll;">
<!-- <view class="cu-list menu text-left">
<view class="cu-item" wx:for="{{TypeData}}" wx:key>
<label catchtap="typeChange" data-index="{{index}}" class="flex justify-between align-center flex-sub">
<view class="flex-sub">{{item.orgname}}</view>
</label>
</view>
</view> -->
<tree-node id="tree" dataTree="{{unitTreelist}}" pros="{{unitTreepros}}" bindselect="handleselectunit" isOpenAll="true" />
</radio-group>
</view>
</view>

View File

@ -0,0 +1,105 @@
.content {
display: flex;
flex-direction: column;
}
.line {
width: 1rpx;
height: 80%;
background-color: #f5f5f5;
}
.in-bg {
margin: auto;
background: #ffffff;
border-radius: 12rpx;
height: 76rpx;
width: 92%;
margin-top: 24rpx;
padding: 0 20rpx;
}
.in-bg input {
width: 100%;
height: 100%;
}
.in-bg image {
width: 40rpx;
height: 35rpx;
margin-right: 20rpx;
}
.in-bg .lab {
margin-left: 20rpx;
width: 230rpx;
font-size: 28rpx;
color: #333333;
}
.item {
width: 686rpx;
/* height: 296rpx; */
background-color: #FFFFFF;
margin: 32rpx auto;
border-radius: 16rpx;
padding: 32rpx;
position: relative;
}
.item_top {
display: flex;
border-bottom: 1rpx dashed #f5f5f5;
padding-bottom: 24rpx;
}
.item_bot {
padding-top: 24rpx;
}
.item>view>view>view:nth-child(1) {
font-family: PingFang SC, PingFang SC;
font-weight: 500;
font-size: 28rpx;
color: #808080;
}
.item>view>view>view:nth-child(2) {
font-family: PingFang SC, PingFang SC;
font-weight: 500;
font-size: 32rpx;
color: #333333;
}
.item_name {
width: 210rpx;
}
.item_sex {
width: 110rpx;
}
.item_birthday {
width: 200rpx;
}
.item_address {
width: 100%;
}
.item_details {
width: 180rpx;
height: 48rpx;
background-color: #3587FB;
border-radius: 0rpx 16rpx 0rpx 16rpx;
position: absolute;
top: 0rpx;
right: 0rpx;
text-align: center;
line-height: 48rpx;
font-family: PingFang SC, PingFang SC;
font-weight: 400;
font-size: 26rpx;
color: #FFFFFF;
}

View File

@ -0,0 +1,66 @@
// pages/work/f-b-g-z/index/index.js
Page({
/**
* 页面的初始数据
*/
data: {
},
/**
* 生命周期函数--监听页面加载
*/
onLoad(options) {
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady() {
},
/**
* 生命周期函数--监听页面显示
*/
onShow() {
},
/**
* 生命周期函数--监听页面隐藏
*/
onHide() {
},
/**
* 生命周期函数--监听页面卸载
*/
onUnload() {
},
/**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh() {
},
/**
* 页面上拉触底事件的处理函数
*/
onReachBottom() {
},
/**
* 用户点击右上角分享
*/
onShareAppMessage() {
}
})

View File

@ -0,0 +1,3 @@
{
"usingComponents": {}
}

View File

@ -0,0 +1,2 @@
<!--pages/work/f-b-g-z/index/index.wxml-->
<text>pages/work/f-b-g-z/index/index.wxml</text>

View File

@ -0,0 +1 @@
/* pages/work/f-b-g-z/index/index.wxss */