提交代码

main
姜玉琦 2023-09-03 00:47:14 +08:00
parent f423396a8f
commit 619e01eb25
14 changed files with 658 additions and 24 deletions

View File

@ -106,7 +106,9 @@
"project_checkDetection/check/index",
"project_insurance/add/index",
"project_insurance/info/index",
"project_insurance/list/index"
"project_insurance/list/index",
"project_deptWorks/add/index",
"project_deptWorks/list/index"
],
"independent": false
}

View File

@ -0,0 +1,219 @@
// pageage/safetyManagement/addSafetyInspect/index.js
const app = getApp()
Page({
/**
* 页面的初始数据
*/
data: {
deptId:"",
projectId:"",
projectName:"",
loginName:"",
servicePersonnel:0,
supervisorPersonnel:0,
contractorPersonnel:0
},
/**
* 生命周期函数--监听页面加载
*/
onLoad(options) {
let {projectId,projectName} = options
//获取缓存数据
wx.getStorage({
key: 'userinfo',
success:res=>{
this.setData({
projectId,
projectName,
deptId:res.data.deptId,
loginName:res.data.loginName
})
this.getLastData();
}
})
},
//获取数据
getLastData(){
let that = this
wx.request({
url: app.globalData.reqUrl+'/wechat/projectDeptWroks/list',
method:"get",
data:{
projectId:this.data.projectId,
deptId:this.data.deptId
},
success(res){
res = res.data
if(res.code == 200){
if(res.data){
this.setData({
servicePersonnel:res.data[0].servicePersonnel,
supervisorPersonnel:res.data[0].servicePersonnel,
contractorPersonnel:res.data[0].contractorPersonnel
});
}
}
}
})
},
//取消页面
cancelSaveView(){
/*关闭当前页面,跳转到应用内的某个页面。但是不允许跳转到 tabbar 页面*/
wx.redirectTo({
url: '../list/index'
})
},
//保存
onSave(){
this.setData({
loadShow:true
})
let that = this
let {projectId,deptId,loginName,servicePersonnel,
supervisorPersonnel,
contractorPersonnel} = that.data;
//数据效验
if(projectId==""||loginName==""||deptId==""){
app.toast("数据异常,请刷新页面重试!")
that.setData({
loadShow:false
})
return;
}
if(servicePersonnel==""){
app.toast("请填写劳务人员数!")
that.setData({
loadShow:false
})
return;
}
if(supervisorPersonnel==""){
app.toast("请填写监理人员数!")
that.setData({
loadShow:false
})
return;
}
if(contractorPersonnel==""){
app.toast("请填写总包人员数!")
that.setData({
loadShow:false
});
return;
}
let params = {
projectId,
deptId,
servicePersonnel,
supervisorPersonnel,
contractorPersonnel,
createBy:loginName
}
wx.request({
url: app.globalData.reqUrl + "/wechat/projectDeptWroks/add",
method:"POST",
data:params,
header: {
"Username": loginName,
"Content-Type": "application/json"
},
success(res){
that.setData({
loadShow:false
})
res = res.data
if(res.code == 200){
if(res.data==-1){
app.toast("办理失败,当前单位已办理此类保险!")
}else{
app.toast("添加成功!")
setTimeout(()=>{
wx.redirectTo({
url: '../list/index',
})
},200)
}
}
}
})
},
servicePersonnelAction: function (options) {
let value = options.detail.value;
value = value.replace(/[^0-9]/g, ''); // 正则表达式替换非数字为空
this.data.servicePersonnel = value;
},
supervisorPersonnelAction: function (options) {
let value = options.detail.value;
value = value.replace(/[^0-9]/g, ''); // 正则表达式替换非数字为空
this.data.supervisorPersonnel = value;
},
contractorPersonnelAction: function (options) {
let value = options.detail.value;
value = value.replace(/[^0-9]/g, ''); // 正则表达式替换非数字为空
this.data.contractorPersonnel = value;
},
returnToPage: function () {
/*关闭当前页面,跳转到应用内的某个页面。但是不允许跳转到 tabbar 页面*/
wx.redirectTo({
url: '../list/index',
})
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady() {
},
/**
* 生命周期函数--监听页面显示
*/
onShow() {
},
/**
* 生命周期函数--监听页面隐藏
*/
onHide() {
},
/**
* 生命周期函数--监听页面卸载
*/
onUnload() {
},
/**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh() {
},
/**
* 页面上拉触底事件的处理函数
*/
onReachBottom() {
},
/**
* 用户点击右上角分享
*/
onShareAppMessage() {
}
})

View File

@ -0,0 +1,6 @@
{
"usingComponents": {
"van-overlay": "@vant/weapp/overlay/index"
},
"navigationStyle":"custom"
}

View File

@ -0,0 +1,96 @@
<!--pageage/safetyManagement/addSafetyInspect/index.wxml-->
<view class="header_title">
<view class="header_title_row">
<van-row>
<van-col span="4">
<view class="header_img" bindtap="returnToPage"><image src="/images/left.png"></image></view>
</van-col>
<van-col span="15">
<view class="header_name">新增在岗人员</view>
</van-col>
</van-row>
</view>
</view>
<view class="max_content">
<view class="inspect_info">
<view class="module_title module_title_flex">
<view>{{projectName}}</view>
</view>
<view class="inspect_info_list">
<view class="inspect_info_title" style="padding: 20rpx 0 10rpx;">劳务人员</view>
<view class="inspect_info_content">
<input placeholder="请填写劳务人员" placeholder-style="color:#6777aa;" class="inspect_input_fill_in" bindblur="servicePersonnelAction" maxlength="20" value="{{servicePersonnel}}"/>
</view>
</view>
<view class="inspect_info_list">
<view class="inspect_info_title" style="padding: 20rpx 0 10rpx;">监理人员</view>
<view class="inspect_info_content">
<input placeholder="请填写监理人员" placeholder-style="color:#6777aa;" class="inspect_input_fill_in" bindblur="supervisorPersonnelAction" maxlength="20" value="{{supervisorPersonnel}}"/>
</view>
</view>
<view class="inspect_info_list">
<view class="inspect_info_title" style="padding: 20rpx 0 10rpx;">总包人员</view>
<view class="inspect_info_content">
<input placeholder="请填写总包人员" placeholder-style="color:#6777aa;" class="inspect_input_fill_in" bindblur="contractorPersonnelAction" maxlength="20" value="{{contractorPersonnel}}"/>
</view>
</view>
</view>
<view class="problem_submit_to">
<view class="problem_submit_to_btn" bindtap="cancelSaveView">取消</view>
<view class="problem_submit_to_btn problem_submit_to_save" bindtap="onSave">保存</view>
</view>
</view>
<van-overlay show="{{loadShow}}">
<view class="gif">
<image src="../../../images/loding2.gif"></image>
<view>数据加载中!请稍后...</view>
</view>
</van-overlay>

View File

@ -0,0 +1,36 @@
/* pageage/safetyManagement/addSafetyInspect/index.wxss */
.van-popup{
background: none !important;
}
.van-image__img{
border-radius: 10rpx !important;
}
.radio_custom_class{
padding: 10rpx 100rpx 10rpx 0;
}
.radio_label_class{
color: #ffffff !important;
}
.max_tab_name{
padding: 0 40rpx;
font-size:30rpx;
height: 460rpx;
overflow: auto;
margin-top: 20rpx;
text-align: center;
}
.van-popup.van-popup--bottom{
background: #232a44;
}
.van-popup {
background-color: var(--popup-background-color,#232a44) !important;
}
.font_color{
padding: 15rpx 0;
color: #157dd2;
}
.active{
font-size:30rpx;
font-weight: 600;
color: #14feff
}

View File

@ -0,0 +1,161 @@
// pageage/safetyManagement/securityCheckGR/index.js
const app = getApp()
Page({
/**
* 页面的初始数据
*/
data: {
deptId:"",
loginName:"",
userName:"",
projectId:"",
projectData:{},
projectNameArgs:"",
initData: {},
show:false,
listData:[],
request:app.globalData.reqUrl
},
onClose(){
this.setData({ show: false });
},
showPopup() {
this.setData({ show: true });
},
skipAdd(){
wx.redirectTo({
url: `../add/index?projectId=${this.data.initData.id}&projectName=${this.data.initData.text}`,
})
},
getInfo(e){
let {id} = e.currentTarget.dataset.set;
if(!id){
app.toast("当前合同未办理,不能查看详情!");
return;
}
wx.redirectTo({
url: `../info/index?id=${id}`,
})
},
/**
* 生命周期函数--监听页面加载
*/
onLoad(options) {
//获取缓存数据
wx.getStorage({
key: 'userinfo',
success:res=>{
this.setData({
deptId:res.data.deptId,
loginName:res.data.loginName,
userName:res.data.userName,
projectId:app.globalData.projectId,
projectNameArgs:app.globalData.projectName,
minRoleId:res.data.minRoleId,
initData:{text:app.globalData.projectName,id:app.globalData.projectId}
})
this.getListData(app.globalData.projectId,res.data.deptId,res.data.minRoleId);
}
})
},
/**
* 查询项目特种人员数据
*/
getListData(projectId,deptId,minRoleId) {
var that = this;
//判断角色,
if(minRoleId==2||minRoleId==3||minRoleId==4){
deptId=0;
}
wx.request({
url: app.globalData.reqUrl + '/wechat/projectDeptWroks/list',
data: {
"deptId":deptId,
"projectId": projectId
},
method: "get",
success: function (res) {
that.setData({
listData:res.data.data
})
}
})
},
returnToPage: function () {
/*关闭当前页面,跳转到应用内的某个页面。但是不允许跳转到 tabbar 页面*/
if(wx.getStorageSync('nav-menu')=="gd"){
wx.redirectTo({
url: '../../../pages/gengduogongneng/gengduogongneng',
})
}else{
wx.redirectTo({
url: '../../../pages/safety_manage/index',
})
}
},
//项目切换 返回值
onProjectSelect(e){
let projectId = e.detail.id;
let projectName = e.detail.text;
app.globalData.projectId = projectId;
app.globalData.projectName = projectName;
this.onLoad();
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady() {
},
/**
* 生命周期函数--监听页面显示
*/
onShow() {
},
/**
* 生命周期函数--监听页面隐藏
*/
onHide() {
},
/**
* 生命周期函数--监听页面卸载
*/
onUnload() {
},
/**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh() {
},
/**
* 页面上拉触底事件的处理函数
*/
onReachBottom() {
},
/**
* 用户点击右上角分享
*/
onShareAppMessage() {
}
})

View File

@ -0,0 +1,7 @@
{
"usingComponents": {
"van-overlay": "@vant/weapp/overlay/index" ,
"van-popup": "@vant/weapp/popup/index"
},
"navigationStyle":"custom"
}

View File

@ -0,0 +1,62 @@
<view class="header_title">
<view class="header_title_row">
<van-row>
<van-col span="4">
<view class="header_img" bindtap="returnToPage"><image src="/images/left.png"></image></view>
</van-col>
<van-col span="15">
<view class="header_name">在岗人员管理</view>
</van-col>
</van-row>
</view>
</view>
<view class="max_content">
<project-select init="{{initData}}" bindchange="onProjectSelect"></project-select>
<view class="inspect_max">
<view class="inspect_list">
<view class="inspect_for" wx:for="{{listData}}" wx:key="index" bindtap="getInfo">
<view class="inspect_for_bgd">
<view class="inspect_list_title">
<view class="inspect_list_title_label inspect_list_title_width">
<view class="inspect_list_title_number">{{index < 9 ?'0'+(index+1):(index+1)}}</view>
<view class="module_title module_title_flex inspect_list_title_text">{{item.deptName}}</view>
</view>
</view>
<view class="inspect_list_info">
<view class="inspect_list_info_details">
<view class="inspect_list_info_data">
<view class="inspect_list_info_data_prop safety_issue_number" style="color: aqua;">劳务人员:{{item.servicePersonnel}}
</view>
<view class="inspect_list_info_data_prop safety_issue_number color_blue">监理人员:{{item.supervisorPersonnel}}
</view>
<view class="inspect_list_info_data_prop safety_issue_number color_orange">总包人员:{{item.contractorPersonnel}}
</view>
<view class="inspect_list_info_data_prop">提交用户:{{item.createBy}}</view>
<view class="inspect_list_info_data_prop">提交时间:{{item.createTime}}</view>
</view>
</view>
</view>
</view>
</view>
</view>
<view wx:if="{{listData.length==0}}">
<view style="padding-top: 70px;text-align: -webkit-center;">
<image src="../../../images/nodata.png" style="width: 130px;height: 105px;"></image>
<view style="color: #a5abbb;">暂无数据</view>
</view>
</view>
</view>
<view class="inspect_add_to" bindtap="skipAdd">
<view style="padding-top: 22rpx;">
<image src="../../../images/new_add.png"></image>
<view>变更</view>
</view>
</view></view>

View File

@ -0,0 +1 @@
/* pageage/project_checking_list/project_checking_list.wxss */

View File

@ -200,6 +200,7 @@ Page({
},
//修改密码
XGMM:function(){
wx.setStorageSync('nav-menu', "gd");
wx.redirectTo({
url: '../updatePassword/updatePassword'
})

View File

@ -310,13 +310,13 @@ Page({
if(it.problemType=="1"){
this.setData({
"securityCheck.routineRectificationRate": (it.comTotal / it.total * 100).toFixed(2),
"securityCheck.routineProblemTotal": it.total,
"securityCheck.routineProblemTotal": it.comTotal,
"securityCheck.routineCheckNumber": it.total
})
}else{
this.setData({
"securityCheck.specialRectificationRate": (it.comTotal / it.total * 100).toFixed(2),
"securityCheck.specialProblemTotal": it.total,
"securityCheck.specialProblemTotal": it.comTotal,
"securityCheck.specialCheckNumber": it.total,
})
}
@ -326,18 +326,48 @@ Page({
})
},
goHighLightPage() {
goZXPX() {
wx.setStorageSync('nav-menu', "aq");
wx.navigateTo({
url: '../../Highlight-photos/index',
url: '../../pageage/project_train/list/index?trainType=0',
})
},
/**
* 教育培训页面
* 安全隐患页面
*/
goEducations() {
goAQYH() {
wx.setStorageSync('nav-menu', "aq");
wx.redirectTo({
url: '../../pageage/project_problemmodify/security/list/index',
})
},
goTZRY() {
wx.setStorageSync('nav-menu', "aq");
wx.redirectTo({
url: '../../pageage/project_special/list/index',
})
},
goXMBX() {
wx.setStorageSync('nav-menu', "aq");
wx.redirectTo({
url: '../../pageage/project_insurance/list/index',
})
},
goZGRY() {
wx.setStorageSync('nav-menu', "aq");
wx.redirectTo({
url: '../../pageage/project_deptWorks/list/index',
})
},
goYJYL() {
wx.setStorageSync('nav-menu', "aq");
wx.navigateTo({
url: '../../../pageage/educations-list/index?jumpState=1',
url: '../../pageage/project_train/list/index?trainType=1',
})
},
@ -391,6 +421,7 @@ Page({
},
//修改密码
XGMM:function(){
wx.setStorageSync('nav-menu', "aq");
wx.redirectTo({
url: '../updatePassword/updatePassword'
})

View File

@ -68,12 +68,12 @@
<view class="module_min" style="padding: 30rpx 20rpx 20rpx 20rpx;">
<view class="module_title module_title_flex">
<view>专项培训({{trainTotal}}</view>
<view class="module_see_info" bindtap="goHighLightPage">查看详情<van-icon name="arrow" /></view>
<view class="module_see_info" bindtap="goZXPX">查看详情<van-icon name="arrow" /></view>
</view>
<view class="safety_highlights">
<van-row>
<swiper circular indicator-dots="{{true}}" autoplay="true" indicator-active-color="#028ffb">
<swiper-item wx:for="{{trainList}}" wx:key="videoIndex">
<swiper-item wx:for="{{trainList}}" wx:key="index" wx:if="{{index<5}}">
<image src="{{item.mainImage}}" style="width: 100%;height: 100%;"/>
</swiper-item>
</swiper>
@ -94,26 +94,26 @@
<view class="module_min">
<view class="module_title module_title_flex">
<view>安全检查</view>
<view class="module_see_info" bindtap="goCheckView">查看详情<van-icon name="arrow" /></view>
<view class="module_see_info" bindtap="goAQYH">查看详情<van-icon name="arrow" /></view>
</view>
<view class="safety_inspect">
<van-row>
<van-col span="12">
<view class="safety_inspect_title">常规检查数</view>
<view class="safety_inspect_title">常规检查问题数</view>
<safety-number number="{{securityCheck.routineCheckNumber}}"></safety-number>
<view class="safety_prop">
<view class="safety_prop ">
<view style="padding-right: 30rpx;">整改率</view>
<view class="safety_prop_val"><text>{{securityCheck.routineRectificationRate}}</text> %</view>
</view>
<view class="safety_issue">
<view class="safety_issue_number">
<view style="padding-right: 30rpx;">检查问题数</view>
<view style="padding-right: 30rpx;">已整改问题数</view>
<view>{{securityCheck.routineProblemTotal}}</view>
</view>
</view>
</van-col>
<van-col span="12">
<view class="safety_inspect_title">专项检查数</view>
<view class="safety_inspect_title">专项检查问题数</view>
<safety-number number="{{securityCheck.specialCheckNumber}}"></safety-number>
<view class="safety_prop">
<view style="padding-right: 30rpx;">整改率</view>
@ -121,7 +121,7 @@
</view>
<view class="safety_issue">
<view class="safety_issue_number">
<view style="padding-right: 30rpx;">检查问题数</view>
<view style="padding-right: 30rpx;">已整改问题数</view>
<view>{{securityCheck.specialProblemTotal}}</view>
</view>
</view>
@ -134,7 +134,7 @@
<view class="module_min">
<view class="module_title module_title_flex" >
<view>特种作业人员</view>
<view class="module_see_info" bindtap="goSpecial">查看详情<van-icon name="arrow" /></view>
<view class="module_see_info" bindtap="goTZRY">查看详情<van-icon name="arrow" /></view>
</view>
<safety-pie-chart chart-id="chart1" title="人员总数" chart-data="{{specialStatistics}}"></safety-pie-chart>
</view>
@ -143,7 +143,7 @@
<view class="module_min">
<view class="module_title module_title_flex">
<view>项目保险</view>
<view class="module_see_info" bindtap="goCheckView">查看详情<van-icon name="arrow" /></view>
<view class="module_see_info" bindtap="goXMBX">查看详情<van-icon name="arrow" /></view>
</view>
<safety-pie-chart chart-id="chart2" title="保险总数" chart-data="{{insuranceStatistics}}"></safety-pie-chart>
</view>
@ -153,7 +153,7 @@
<view class="module_min">
<view class="module_title module_title_flex">
<view>在岗人员</view>
<view class="module_see_info" bindtap="goCheckView">查看详情<van-icon name="arrow" /></view>
<view class="module_see_info" bindtap="goZGRY">查看详情<van-icon name="arrow" /></view>
</view>
<safety-pie-chart chart-id="chart3" title="在岗人员" chart-data="{{deptWorksStatistics}}"></safety-pie-chart>
</view>
@ -163,12 +163,12 @@
<view class="module_min" style="padding: 30rpx 20rpx 20rpx 20rpx;">
<view class="module_title module_title_flex">
<view>应急演练({{emergencyDrillTotal}}</view>
<view class="module_see_info" bindtap="goHighLightPage">查看详情<van-icon name="arrow" /></view>
<view class="module_see_info" bindtap="goYJYL">查看详情<van-icon name="arrow" /></view>
</view>
<view class="safety_highlights">
<van-row>
<swiper circular indicator-dots="{{true}}" autoplay="true" indicator-active-color="#028ffb">
<swiper-item wx:for="{{emergencyDrillList}}" wx:key="videoIndex">
<swiper-item wx:for="{{emergencyDrillList}}" wx:key="index" wx:if="{{index<5}}">
<image src="{{item.mainImage}}" style="width: 100%;height: 100%;"/>
</swiper-item>
</swiper>

View File

@ -134,9 +134,20 @@ Page({
//返回到项目概况页面
goGCLB:function(){
wx.redirectTo({
url: '../xiangmugaikuang/xiangmugaikuang'
})
let nav = wx.getStorageSync('nav-menu');
if(nav=="xm"){
wx.redirectTo({
url: '../xiangmugaikuang/xiangmugaikuang'
})
}else if(nav=="gd"){
wx.redirectTo({
url: '../gengduogongneng/gengduogongneng'
})
}else if(nav=="aq"){
wx.redirectTo({
url: '../safety_manage/index'
})
}
},
//修改密码
QRXG:function(){

View File

@ -653,6 +653,7 @@ Page({
//修改密码
XGMM:function(){
wx.setStorageSync('nav-menu', "gd");
wx.redirectTo({
url: '../updatePassword/updatePassword'
})