This commit is contained in:
du 2024-06-19 15:42:55 +08:00
parent 0a6d79e4bc
commit 7987e15080
35 changed files with 1070 additions and 104 deletions

4
app.js
View File

@ -50,8 +50,8 @@ App({
globalData: {
versionCode: 'V1',
userInfo: {},
headerUrl: "http://42.193.40.239:8017/" //线上
// headerUrl: "http://192.168.110.10:8017/" //线下
// headerUrl: "http://42.193.40.239:8017/" //线上
headerUrl: "http://192.168.110.10:8017/" //线下
// headerUrl: "http://192.168.110.186:8017/"
// headerUrl: "https://city.sczysoft.com/df/"
},

View File

@ -38,7 +38,9 @@
"pages/work/f-b-g-z/index/index",
"pages/work/f-b-g-z/serve/index",
"pages/risk-pool/index",
"pages/risk-pool/add-pool/index"
"pages/risk-pool/add-pool/index",
"pages/statistic/j-b-x-x/domicileDetail/index",
"pages/emergency/z-s/index/index"
],
"window": {
"backgroundTextStyle": "light",

BIN
images/home/icon_yj_5.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

View File

@ -15,9 +15,9 @@ Page({
showTypePop: false,
showAdvicePop: false,
TypeData: [],
postData: {},
files: [],
userInfo:{},
othplanList:[],
areamultiArray:[],
areamultiIndex: [0, 0, 0],
@ -32,6 +32,21 @@ Page({
newArr: [],
organization:[],
organizationtate : false,
areashowTypePop:false,
postData:{
organization:'',
organizationName:''
},
//筛选树结构
areaCode:'',
areaPathName:'',
unitTreepros: {
key: 'performclassname',
val: 'listperformid'
},
unitTreelist: [],
},
/**
@ -90,7 +105,7 @@ Page({
return
}
if (this.data.organizationtate==false) {
if (!this.data.postData.organization) {
wx.showToast({
title: '请选择所属组织',
icon: 'none'
@ -124,9 +139,12 @@ Page({
emerEventId:this.data.uuid,
userId:this.data.userInfo.userId,
address:this.data.postData.addressName,
areaCode:'',
organization:'',
};
data.listPerformId = this.data.organization?this.data.multiArray[0].children[0].children[this.data.organization[2]].listperformid:'';
// data.listPerformId = this.data.organization?this.data.multiArray[0].children[0].children[this.data.organization[2]].listperformid:'';
data.areaCode = this.data.areamultiArray[0].children[this.data.area[1]].orgcode?this.data.areamultiArray[0].children[this.data.area[1]].orgcode:'';
data.listPerformId=this.data.postData.organization;
console.log(data,'data===>');
app.axios("POST", "app", `/emerEvent/saveEmerEvent`,data).then(res => {
console.log(res,'res===>');
@ -291,8 +309,14 @@ Page({
getEmerEventDetail: function (id) {
app.axios("GET", "app", `/emerEvent/emerEventDetail/${id}`).then(res => {
if (res.code == 1) {
console.log(res.data,'res=====>');
this.data.postData = res.data;
this.data.postData.emerTypeName;
this.data.addressName = res.data.address;
this.data.postData.addressName = res.data.address;
// this.data.postData.areaPathName = res.data.performclassname;
this.data.postData.organizationName = res.data.performclassname;
this.data.othplanList = res.data.othplanList;
for (let index = 0; index < this.data.TypeData.length; index++) {
if (this.data.TypeData[index].emerTypeName == res.data.emerTypeName) {
this.data.postData.type = index+1;
@ -536,6 +560,90 @@ toShowAddress() {
},
})
},
/**
* 显示/关闭弹窗筛选
*/
areapopModal: function (params) {
console.log(params,'params===>');
const type = params.currentTarget.dataset.type;
this.data[type] = !this.data[type];
this.setData(this.data)
},
/**
* 获取地区
*/
getAreaTreetext: function () {
app.axios("GET", "app", "/Sys/getListperformTree").then(res => {
if (res.code == 1) {
this.data.unitTreelist = res.data;
console.log(res.data,'res====>');
this.setData(this.data)
}
})
},
handleselectunit(e) {
// e.detail 选中的id数组
this.data.page = 1;
this.data.list = [];
let postData = this.data.postData; // 获取当前的 postData 对象
console.log(postData,'postData==>');
postData.organization = e.detail.item.listperformid;
postData.organizationName = e.detail.item.performclassname;
this.setData({
postData: postData,
areashowTypePop:false
}); // 设置更新后的 postData 对象
},
// 应急上报下载文件
download :function (item) {
console.log(item,'item====>');
console.log(this.data.baseUrl+item.currentTarget.dataset.item.filePath);
//触发点击事件使用uni.showLoading()展示交互提示
wx.showLoading({
title: '正在下载……'
});
// 使用wx.downloadFile()开始下载文件
wx.downloadFile({
url: this.data.baseUrl+item.currentTarget.dataset.item.filePath, //url:请求的完整地址
success: function(res) {
wx.hideLoading() //调用结束,隐藏加载框
const filePath = res.tempFilePath //临时文件路径 (本地路径)
if (res.statusCode == 200) {
//判断后端数据接收成功时提示下载完成
wx.showToast({
icon: 'none',
mask: true,
title: '下载完成,正在打开文件...',
duration: 2000,
});
}
//设置定时器2秒后打开文件
setTimeout(() => {
//调用wx.openDocument()打开刚刚下载的文件
wx.openDocument({
filePath: filePath, //上一步存储的临时文件路径 (本地路径)
fileType: item.type, //要打开的文件类型,
showMenu: true, //是否显示右上角菜单
//下面的测试用了,写不写无所谓
success: function(res) {
},
complete: function(msg) {
}
})
}, 2000)
},
//文件下载失败会走这里具体可以把err打印出来看看有什么错误
fail: (err) => {
uni.showToast({
icon: 'none',
mask: true,
title: '文件下载失败',
});
},
})
},
@ -551,8 +659,8 @@ toShowAddress() {
this.getEmerEventType();
this.getAreaTree();
this.getAreaTree1();
this.getAreaTreetext();
if (options.emerEventId) {
console.log(options.emerEventId,'options.emerEventId===>');
this.getEmerEventDetail(options.emerEventId)
}
},

View File

@ -33,8 +33,7 @@
<text class="single"></text>
<text class="title">地区</text>
</view>
<picker mode="multiSelector" bindchange="areabindMultiPickerChange" bindcolumnchange="areabindMultiPickerColumnChange"
value="{{areamultiIndex}}" range="{{areanewArr}}">
<picker mode="multiSelector" bindchange="areabindMultiPickerChange" bindcolumnchange="areabindMultiPickerColumnChange" value="{{areamultiIndex}}" range="{{areanewArr}}">
<view class="picker picker1">
<!-- 当前选择: <van-button type="primary">
{{areanewArr[0][areamultiIndex[0]]}}{{areanewArr[1][areamultiIndex[1]]}}{{areanewArr[2][areamultiIndex[2]]}}</van-button> -->
@ -46,16 +45,9 @@
<text class="single"></text>
<text class="title">所属组织</text>
</view>
<picker mode="multiSelector" bindchange="bindMultiPickerChange" bindcolumnchange="bindMultiPickerColumnChange"
value="{{multiIndex}}" range="{{newArr}}">
<view class="picker picker1">
<!-- 当前选择: <van-button type="primary">
{{newArr[0][multiIndex[0]]}}{{newArr[1][multiIndex[1]]}}{{newArr[2][multiIndex[2]]}}</van-button> -->
<view>当前选择:{{multiArray[0].children[0].children[organization[2]].performclassname}}</view>
<view catchtap="areapopModal" data-type="areashowTypePop" class="picker1">
当前选择:{{postData.organizationName}}
</view>
</picker>
<!-- 详细地址 -->
<view class="h-div v-center header">
<text class="single"></text>
<text class="title">详细地址</text>
@ -82,6 +74,21 @@
<image class="img" src="{{baseUrl+item.filepath}}" catchtap="filePre" data-url="{{item.filepath}}" />
</view>
</view>
<view class="plan">
<view class="plan_div" wx:for="{{othplanList}}" data-item="{{item}}">
<view class="plan_top">
<view class="plan_name">预案名称:</view>
<view class="plan_cent">{{item.planname}}</view>
</view>
<view class="plan_top">
<view class="plan_name">预案简介:</view>
<view class="plan_cent">{{item.introduction}}</view>
</view>
<view data-item="{{item}}" catchtap="download" class="h-div v-center" >
<text class="download">附件下载</text>
</view>
</view>
</view>
</view>
<view class="space"></view>
</scroll-view>
@ -109,3 +116,19 @@
</radio-group>
</view>
</view>
<!-- 选择所属组织 -->
<view class="cu-modal {{areashowTypePop?'show':''}}">
<view class="cu-dialog pop" catchtap>
<view class="cu-bar justify-end pop-header">
<view class="content">选择所属组织</view>
<view class="action" catchtap="areapopModal" data-type="areashowTypePop">
<text class="cuIcon-close text-red"></text>
</view>
</view>
<radio-group class="block" style="max-height: 50vh;overflow-y: scroll;">
<tree-node id="tree" dataTree="{{unitTreelist}}" pros="{{unitTreepros}}" bindselect="handleselectunit" isOpenAll="true" />
</radio-group>
</view>
</view>

View File

@ -121,3 +121,39 @@ scroll-view {
color: #333333;
font-size: 28rpx;
}
.item {
width: 686rpx;
/* height: 296rpx; */
background-color: #FFFFFF;
margin: 32rpx auto;
border-radius: 16rpx;
padding: 32rpx;
position: relative;
}
.item_bot {
padding-top: 24rpx;
}
.item_address {
width: 100%;
}
.plan{
margin-top: 50rpx;
}
.plan_div{
border-radius: 10rpx;
padding: 20rpx;
margin-top: 30rpx;
background: #F5F7FC;
}
.plan_top{
display: flex;
}
.plan_name{
width: 250rpx;
font-size: 35rpx;
font-weight: bold;
}
.plan_cent{
font-size: 30rpx;
margin-top: 10rpx;
}

View File

@ -63,7 +63,7 @@ Component({
userId: app.globalData.userInfo.userId,
condition: this.data.condition
}
app.axios("GET", "app", "/Othteam/getOthteamPage", params, false).then(res => {
app.axios("GET", "app", "/Othexpert/performUserPage", params, false).then(res => {
console.log(res,'res===>');
this.data.freshIng = false;
if (res.code == 1) {
@ -79,5 +79,10 @@ Component({
this.setData(this.data);
})
},
call:function(data){
wx.makePhoneCall({
phoneNumber: data.currentTarget.dataset.mobiletel,
})
},
}
})

View File

@ -14,7 +14,7 @@
<view class="h-div v-center">
<text class="lab">联系人:</text>
<text class="val flex">{{item.chinaname}}</text>
<text class="phone">{{item.mobiletel}}</text>
<text class="phone" data-mobiletel="{{item.mobiletel}}" catchtap="call">{{item.mobiletel}}</text>
</view>
<view class="line"></view>
<view class="h-div v-center">

View File

@ -100,6 +100,12 @@ Component({
scale: 18,
});
},
// 拨打电话
call:function(data){
wx.makePhoneCall({
phoneNumber: data.currentTarget.dataset.principaltel,
})
},
/**
* 获取列表

View File

@ -20,7 +20,7 @@
<view class="h-div v-center">
<text class="lab">联系人:</text>
<text class="val flex">{{item.principal}}</text>
<text class="phone">{{item.principaltel}}</text>
<text class="phone" data-principaltel="{{item.principaltel}}" catchtap="call">{{item.principaltel}}</text>
</view>
<view class="line"></view>
<view class="h-div v-center">

View File

@ -0,0 +1,115 @@
// pages/emergency/z-s/index/index.js
const app = getApp();
Page({
/**
* 页面的初始数据
*/
data: {
topBarH: app.globalData.CustomBar,
baseUrl: app.FILE_SERVER_URL,
page: 1,
pageSize: 10,
list: []
},
/**
* 刷新
*/
refresh: function (params) {
this.data.page = 1;
this.getList();
},
/**
* 获取列表
*/
getList: function () {
console.log(this.data.curTab,parseInt(this.data.curTab) + 1,'=====>');
app.axios("GET", "app", "/Othteam/dutyList", {
page: this.data.page,
limit: this.data.pageSize,
startTime: this.data.startTime || '',
endTime: this.data.endTime || '',
condition: this.data.condition || '',
state: parseInt(this.data.curTab) + 1,
userId: app.globalData.userInfo.userId
}, false).then(res => {
console.log(res,'resresres==>');
this.data.freshIng = false;
if (res.code == 1) {
let page = Number.parseInt(res.data.pageNum);
if (this.data.page == 1) {
this.data.list = res.data.list;
} else {
var list = this.data.list;
if (this.data.page == page) this.data.list = [...list, ...res.data.list]
}
if (res.data.list?.length > 0) this.data.page = page + 1
}
this.setData(this.data)
})
},
// 拨打电话
call:function(data){
wx.makePhoneCall({
phoneNumber: data.currentTarget.dataset.mobile,
})
},
/**
* 生命周期函数--监听页面加载
*/
onLoad(options) {
this.getList();
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady() {
},
/**
* 生命周期函数--监听页面显示
*/
onShow() {
},
/**
* 生命周期函数--监听页面隐藏
*/
onHide() {
},
/**
* 生命周期函数--监听页面卸载
*/
onUnload() {
},
/**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh() {
},
/**
* 页面上拉触底事件的处理函数
*/
onReachBottom() {
},
/**
* 用户点击右上角分享
*/
onShareAppMessage() {
}
})

View File

@ -0,0 +1,4 @@
{
"usingComponents": {},
"navigationStyle": "custom"
}

View File

@ -0,0 +1,25 @@
<!--pages/emergency/z-s/index/index.wxml-->
<title-bar title="应急值守"></title-bar>
<scroll-view scroll-y style="height: calc(100vh - 100rpx - {{topBarH}}px);" refresher-enabled bindrefresherrefresh="refresh" bindscrolltolower="getList" lower-threshold="300" refresher-triggered="{{freshIng}}">
<!-- 列表 -->
<view class="item-bg" wx:for="{{list}}">
<view class="item">
<view class="head h-div v-center">
<view class="single"></view>
<view class="title ellipsis flex">{{item.name}}</view>
</view>
<view class="center">
<view>
<view class="time mobile" data-mobile="{{item.mobile}}" catchtap="call">联系电话:{{item.mobile}}</view>
<view class="time">值班时间:{{item.dutyTime}}</view>
<view class="time">值班地点:{{item.postName}}</view>
<view class="time">所属区域:{{item.areaName}}</view>
</view>
</view>
</view>
</view>
<empty wx:if="{{list.length==0}}" />
<view class="space"></view>
</scroll-view>

View File

@ -0,0 +1,161 @@
page {
background-color: #f5f5f5;
}
.filter {
margin: 0 10rpx 10rpx 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;
}
.filter picker {
flex: 1;
display: flex;
align-items: center;
justify-content: center;
}
.cu-item {
font-size: 30rpx;
font-weight: bold;
}
.search {
height: 90rpx;
background-color: #f5f5f5;
}
.cu-bar .search-form {
background: #FFFFFF;
box-shadow: 0rpx 0rpx 12rpx 2rpx #DDECF3;
border-radius: 12rpx;
}
.item-bg {
padding: 0 32rpx 20rpx 32rpx;
background-color: #f5f5f5;
margin-top: 50rpx;
}
.item {
background-color: #ffffff;
padding: 32rpx 20rpx 20rpx 20rpx;
position: relative;
border-radius: 10rpx;
z-index: 2;
}
.item .head {
margin: 0 -20rpx;
margin-top: -32rpx;
background-color: #CDE5FC;
padding: 16rpx;
border-radius: 10rpx 10rpx 0 0;
}
.item .head .single {
width: 8rpx;
height: 36rpx;
background: #4882EE;
border-radius: 4rpx;
}
.item .head .title {
flex: 1;
margin-left: 16rpx;
font-size: 28rpx;
font-weight: bold;
color: #4882EE;
}
.item .head .status {
font-weight: bold;
font-size: 28rpx;
}
.item .tv {
font-size: 32rpx;
color: #222222;
padding-top: 20rpx;
margin-bottom: 10rpx;
}
.item .time {
font-size: 26rpx;
color: #666666;
padding-top: 10rpx;
}
.item .done {
color: rgb(12, 118, 240);
border-radius: 8rpx;
padding: 5rpx 20rpx;
background-color: rgba(0, 0, 0, 0.2);
}
.item .bottom {
font-size: 26rpx;
font-weight: bold;
color: #222222;
}
.item .g-container {
flex: 1;
height: 16rpx;
border-radius: 50rpx;
background: #eee;
margin: 20rpx 0;
}
.item .g-progress {
width: 50%;
height: inherit;
border-radius: 50rpx;
}
.item .val {
font-size: 26rpx;
font-weight: 500;
color: #222222;
margin-left: 20rpx;
}
.item .line {
margin: 20rpx -20rpx;
border-top: 2rpx dashed #f5f5f5;
}
.item .bottom-img {
width: calc(100vw - 65rpx);
max-width: calc(100vw - 65rpx);
height: 40rpx;
margin: 0 -20rpx;
position: absolute;
bottom: 0;
z-index: -1;
}
.center{
display: flex;
justify-content: space-between;
align-items: center;
}
.content_img{
width: 180rpx;
height: 140rpx;
}
.content_img image{
width: 100%;
height: 100%;
}
.mobile{
font-size: 35rpx !important;
color: #4882EE !important;
}

View File

@ -136,6 +136,11 @@ Page({
name: "指挥体系",
href: "/pages/emergency/t-x-l/index/index"
},
{
icon: "icon_yj_5",
name: "应急值守",
href: "/pages/emergency/z-s/index/index"
},
],
// 公告

View File

@ -8,10 +8,10 @@ Page({
* 页面的初始数据
*/
data: {
// username: 'admin',
// password: 'Daofu202406',
username: '',
password: '',
username: 'admin',
password: 'Daofu202406',
// username: '',
// password: '',
showLogin: true,
newname:'',
newphone:'',
@ -180,7 +180,6 @@ Page({
classify: 2
}).then(res => {
if (res.code == 1) {
console.log(res,'res===>');
this.data.TypeData = res.data;
this.setData(this.data)
}

View File

@ -12,6 +12,7 @@ Page({
*/
data: {
topBarH: app.globalData.CustomBar,
baseUrl: app.FILE_SERVER_URL,
currentIndex: 0,
tabs: [{
lab: '今日工作'
@ -63,6 +64,7 @@ Page({
endTime: time,
userId: app.globalData.userInfo.userId
}, false).then(res => {
console.log(res,'res===>');
this.data.freshIng = false;
if (res.code == 1) {
let page = Number.parseInt(res.data.pageNum);

View File

@ -20,6 +20,9 @@
<view class="des">{{item.detail}}</view>
<view class="time">时间:{{item.createTime}}</view>
</view>
<view class="content_img">
<image src="{{baseUrl+item.filePath}}" mode=""/>
</view>
</view>
<empty wx:if="{{list.length==0}}" />
<view class="space"></view>

View File

@ -125,3 +125,11 @@ scroll-view {
position: absolute;
right: 10rpx;
}
.content_img{
width: 270rpx;
height: 170rpx;
}
.content_img image{
width: 100%;
height: 100%;
}

View File

@ -0,0 +1,120 @@
import Utils from "../../../../utils/util"
const app = getApp();
Page({
/**
* 页面的初始数据
*/
data: {
topBarH: app.globalData.CustomBar,
baseUrl: app.FILE_SERVER_URL,
dateFilter: Utils.formatTime(new Date(), '-'),
showTypePop: false,
showAdvicePop: false,
TypeData: [],
postData: {},
files: [],
userInfo:{},
personnelList:[],
},
/**
* 查看户籍详情
*/
getDomicileDetail: function (id) {
app.axios("GET", "app", `/people/domicileDetail/${id}`).then(res => {
if (res.code == 1) {
console.log(res.data,'data===>');
this.data.userInfo = res.data;
this.data.freshIng = false,
this.setData(this.data);
}
})
},
/**
* 查看户籍下人员列表
*/
getPersonnelList: function (id) {
let params = {
limit: 50,
page: 1,
domicileId:id
}
app.axios("GET", "app", `/people/domicilePeoplePageList`,params).then(res => {
if (res.code == 1) {
console.log(res.data,'data===>');
this.data.personnelList = res.data.list;
this.setData(this.data);
}
})
},
// 跳转人员详情
goItem: function (params) {
wx.navigateTo({
url: `/pages/statistic/j-b-x-x/detail/index?peopleId=${params.currentTarget.dataset.item.peopleId}`,
})
},
/**
* 生命周期函数--监听页面加载
*/
onLoad(options) {
if (options.id) {
this.getDomicileDetail(options.id);
this.getPersonnelList(options.id)
}
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady() {
},
/**
* 生命周期函数--监听页面显示
*/
onShow() {
},
/**
* 生命周期函数--监听页面隐藏
*/
onHide() {
},
/**
* 生命周期函数--监听页面卸载
*/
onUnload() {
},
/**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh() {
},
/**
* 页面上拉触底事件的处理函数
*/
onReachBottom() {
},
/**
* 用户点击右上角分享
*/
onShareAppMessage() {
}
})

View File

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

View File

@ -0,0 +1,65 @@
<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="item">
<!-- catchtap="goItem" -->
<view class="item_top">
<view class="item_name">
<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 class="item_cent">
<view>所属区域</view>
<view>{{userInfo.areaName}}</view>
</view>
<view class="item_cent">
<view>现居地址</view>
<view>{{userInfo.address}}</view>
</view>
<view class="item_cent">
<view>出生日期</view>
<view>{{userInfo.birthday}}</view>
</view>
<view class="item_cent">
<view>户籍创建时间</view>
<view>{{userInfo.changeTime}}</view>
</view>
</view>
<view class="br">
<view></view>
人员信息
</view>
<view class="item" wx:for="{{personnelList}}" wx:key="{{item.peopleId}}" 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

@ -0,0 +1,143 @@
.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_cent {
border-bottom: 1rpx dashed #f5f5f5;
padding: 22rpx 0rpx;
display: flex;
justify-content: space-between;
}
.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;
}
.item_cent>view:nth-child(1) {
font-family: PingFang SC, PingFang SC;
font-weight: 500;
font-size: 28rpx;
color: #808080;
}
.item_cent>view:nth-child(2) {
font-family: PingFang SC, PingFang SC;
font-weight: 500;
font-size: 32rpx;
color: #333333;
}
.br{
width: 92%;
margin: auto;
display: flex;
align-items: center;
font-family: PingFang SC, PingFang SC;
font-weight: bold;
font-size: 36rpx;
color: #333333;
}
.br>view{
width: 4rpx;
height: 36rpx;
background-color: #3587fb;
margin-right: 8rpx;
border-radius: 4rpx 4rpx 4rpx 4rpx;
}

View File

@ -39,17 +39,9 @@ Page({
* 切换tab
*/
changeItem: function (params) {
console.log(params,'切换tabparams====>');
//
wx.navigateTo({
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.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) {
@ -103,7 +95,6 @@ Page({
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)

View File

@ -28,17 +28,8 @@
<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

@ -31,6 +31,8 @@ Page({
val: 'orgcode'
},
unitTreelist: [],
// 判断是否户籍或者人员 1、户籍。2、人员
listAttribute: 1,
},
@ -54,7 +56,7 @@ Page({
postData: postData,
showTypePop: false
}); // 设置更新后的 postData 对象
this.getList();
this.getListPersonnel();
},
/**
* 获取地区
@ -64,7 +66,6 @@ Page({
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)
@ -78,30 +79,28 @@ Page({
this.data.page = 1;
this.data.list = [];
this.setData(this.data);
this.getList();
this.getListPersonnel();
},
// 下拉获取更多
dropDown: function (params) {
this.data.page = this.data.page + 1;
this.setData(this.data);
this.getList();
this.getListPersonnel();
},
/**
* 获取工作统计每项数据列表
* 获取人员列表
*/
getList: function (id) {
getListPersonnel: 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],
@ -110,25 +109,65 @@ Page({
}
})
},
/**
* 获取户籍列表
*/
getListDomicile: function (id) {
let params = {
limit: this.data.pageSize,
page: this.data.page,
userId:this.data.userInfo.userId,
};
if (this.data.postData.orgcode) {
params.orgCode = this.data.postData.orgcode
}
console.log(params,'params===>');
app.axios("GET", "app", `/people/domicilePage`, params).then(res => {
if (res.code == 1) {
console.log(res.data,'data===>');
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}`,
})
},
// 跳转户籍详情
goDomicile:function (params) {
console.log(params,'params====>');
wx.navigateTo({
url: `/pages/statistic/j-b-x-x/domicileDetail/index?id=${params.currentTarget.dataset.item.domicileId}`,
})
},
/**
* 生命周期函数--监听页面加载
*/
onLoad(options) {
console.log(options, '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;
if (options.typeId) {
this.data.listAttribute = 2;
this.data.title = options.typeName;
this.setData(this.data);
this.getList();
this.getListPersonnelPersonnel();
} else {
this.data.listAttribute = 1;
this.data.title = '户籍';
this.setData(this.data);
this.getListDomicile();
}
this.getAreaTree();
},

View File

@ -1,9 +1,51 @@
<title-bar title="{{title}}人员信息"></title-bar>
<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 wx:if="{{listAttribute==1}}">
<view class="item" wx:for="{{list}}" wx:key="{{item.label}}" data-item="{{item}}" data-index="{{index}}" catchtap="goDomicile">
<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.domicileState==1?'正常':'注销'}}</view>
</view>
</view>
<view class="item_bot">
<view class="item_address">
<view>居住地址</view>
<view>{{item.address?item.address:'--'}}</view>
</view>
</view>
<view class="item_bot">
<view class="item_address">
<view>所在地区</view>
<view>{{item.areaName?item.areaName:'--'}}</view>
</view>
</view>
<view class="item_details">
详情信息>>
</view>
</view>
</view>
<!-- 人员列表 -->
<view wx:if="{{listAttribute==2}}">
<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">
@ -22,13 +64,15 @@
<view class="item_bot">
<view class="item_address">
<view>家庭住址</view>
<view>家庭住址家庭住址家庭住址家庭住址家庭住址</view>
<view>{{item.domicileAddress?item.domicileAddress:'--'}}</view>
</view>
</view>
<view class="item_details">
详情信息>>
</view>
</view>
</view>
</scroll-view>
<!-- 选择所属社区 -->
<view class="cu-modal {{showTypePop?'show':''}}">

View File

@ -8,6 +8,7 @@ Page({
*/
data: {
topBarH: app.globalData.CustomBar,
baseUrl: app.FILE_SERVER_URL,
curTab: 0,
tabs: [{
lab: '待办事项',
@ -73,6 +74,7 @@ Page({
state: parseInt(this.data.curTab) + 1,
userId: app.globalData.userInfo.userId
}, false).then(res => {
console.log(res,'resresres==>');
this.data.freshIng = false;
if (res.code == 1) {
let page = Number.parseInt(res.data.pageNum);

View File

@ -38,11 +38,20 @@
<view catchtap="toUp" data-item="{{item}}" data-detail="{{0}}" class="done" wx:if="{{item.workState !=3}}">前往完成</view>
<view catchtap="toUp" data-item="{{item}}" data-detail="{{1}}" class="done" wx:else>查看详情</view>
</view>
<view class="center">
<view>
<view class="tv">{{item.title}}</view>
<view class="time">任务周期:{{item.startTime}} 至 {{item.endTime}}</view>
<view class="time">接收时间:{{item.createTime}}</view>
<image class="bottom-img" src="/images/task/icon-bottom-line.png" mode="aspectFill" />
</view>
<view class="content_img">
<image src="{{baseUrl+item.filePath}}" mode="" />
</view>
</view>
</view>
</view>
<empty wx:if="{{list.length==0}}" />
<view class="space"></view>

View File

@ -142,3 +142,16 @@ page {
bottom: 0;
z-index: -1;
}
.center{
display: flex;
justify-content: space-between;
align-items: center;
}
.content_img{
width: 180rpx;
height: 140rpx;
}
.content_img image{
width: 100%;
height: 100%;
}

View File

@ -7,6 +7,7 @@ Page({
*/
data: {
topBarH: app.globalData.CustomBar,
baseUrl: app.FILE_SERVER_URL,
curTab: 0,
tabs: [{
lab: '待办事项',

View File

@ -32,11 +32,19 @@
<!-- <view catchtap="toUp" data-item="{{item}}" data-detail="{{0}}" class="done" wx:if="{{item.workState !=3}}">前往完成</view> -->
<view data-item="{{item}}" data-detail="{{1}}" class="done" catchtap="toDetail">查看详情</view>
</view>
<view class="center">
<view>
<view class="tv">{{item.title}}</view>
<view class="time">任务周期:{{item.startTime}}至 {{item.endTime}}</view>
<view class="time">接收时间:{{item.modifyTime}}</view>
<image class="bottom-img" src="/images/task/icon-bottom-line.png" mode="aspectFill" />
</view>
<view class="content_img">
<image src="{{baseUrl+item.filePath}}" mode="" />
</view>
</view>
</view>
</view>
<empty wx:if="{{list.length==0}}" />
<view class="space"></view>

View File

@ -141,3 +141,16 @@ page {
bottom: 0;
z-index: -1;
}
.center{
display: flex;
justify-content: space-between;
align-items: center;
}
.content_img{
width: 180rpx;
height: 140rpx;
}
.content_img image{
width: 100%;
height: 100%;
}

View File

@ -221,7 +221,15 @@ Page({
...this.data.postData,
userId:this.data.userInfo.userId,
typeId:this.data.postData.worktypeId,
filePath:''
}
this.data.files.forEach(item => {
let flie = item.filepath.substring(item.filepath.length-3);
if (flie == 'png'||flie == 'jpg') {
data.filePath = item.filepath;
return
}
});
console.log(data,'data===>');
app.axios("POST", "app", "/work/workAdd", data).then(res => {
if (res.code == 1) {

View File

@ -245,7 +245,18 @@ Page({
})
return
}
app.axios("POST", "app", "/work/wkDynamicsAdd", this.data.postData).then(res => {
let params = {
...this.data.postData,
filePath:''
}
this.data.files.forEach(item => {
let flie = item.filepath.substring(item.filepath.length-3);
if (flie == 'png'||flie == 'jpg') {
params.filePath = item.filepath;
return
}
});
app.axios("POST", "app", "/work/wkDynamicsAdd", params).then(res => {
if (res.code == 1) {
wx.showToast({
title: '发布成功',