提交代码
parent
3032418907
commit
13d1f94de7
|
@ -58,7 +58,6 @@
|
|||
"biangeng/index",
|
||||
"suishoupai/suishoupai",
|
||||
"suishoupai-psh/suishoupai-psh",
|
||||
|
||||
"lw-index/lw-index",
|
||||
"lw-baobiaochaxun/lw-baobiaochaxun",
|
||||
"lw-gerenxinxi/lw-gerenxinxi",
|
||||
|
@ -78,7 +77,10 @@
|
|||
"samplingRetestingDetail/index",
|
||||
"Progress-management/index",
|
||||
"Material-Management/index",
|
||||
"technical-management/index"
|
||||
"technical-management/index",
|
||||
"project_checking/add/index",
|
||||
"project_checking/list/index",
|
||||
"project_checking/info/index"
|
||||
],
|
||||
"independent": false
|
||||
}
|
||||
|
@ -111,7 +113,7 @@
|
|||
"voucher-selects": "pages/components/voucher-selects/index",
|
||||
"voucher-selected": "pages/components/voucher-selected/index",
|
||||
"voucher-date": "pages/components/voucher-date/index",
|
||||
"voucher-date-copy": "pages/components/voucher-date-copy/index",
|
||||
"voucher-datetime": "pages/components/voucher-datetime/index",
|
||||
"file-uploader": "pages/components/file-uploader/index",
|
||||
"project-select": "pages/components/project-select/index",
|
||||
"safety-pie-chart": "./newComponents/safety-pie-chart/index",
|
||||
|
@ -124,6 +126,7 @@
|
|||
"sign": "pages/components/sign/sign",
|
||||
"safety-number": "./newComponents/number/index",
|
||||
"select-person": "./newComponents/select-person/index",
|
||||
"select-group-person": "./newComponents/select-group-person/index",
|
||||
"van-dropdown-menu": "@vant/weapp/dropdown-menu/index",
|
||||
"van-dropdown-item": "@vant/weapp/dropdown-item/index",
|
||||
"curve-echarts": "pages/components/curve-echarts/index",
|
||||
|
|
|
@ -1094,10 +1094,10 @@ swiper-item video{
|
|||
|
||||
/* 安全管理 安全检查 */
|
||||
.inspect_max{
|
||||
padding: 30rpx;
|
||||
padding: 10rpx 30rpx;
|
||||
}
|
||||
.inspect_list{
|
||||
padding: 20rpx 0;
|
||||
padding: 10rpx 0;
|
||||
}
|
||||
.inspect_for{
|
||||
padding: 20rpx 0;
|
||||
|
|
Binary file not shown.
After Width: | Height: | Size: 1.1 KiB |
Binary file not shown.
After Width: | Height: | Size: 495 B |
Binary file not shown.
After Width: | Height: | Size: 918 B |
|
@ -0,0 +1,122 @@
|
|||
// newComponents/select-group-person/index.js
|
||||
Component({
|
||||
/**
|
||||
* 组件的属性列表
|
||||
*/
|
||||
properties: {
|
||||
title:{
|
||||
type:String
|
||||
},
|
||||
choose:{
|
||||
type:Array
|
||||
},
|
||||
multiple:{
|
||||
type:Boolean,
|
||||
value:true
|
||||
},
|
||||
rectifierData:{
|
||||
type:Array,
|
||||
value:[]
|
||||
}
|
||||
},
|
||||
observers: {
|
||||
choose: function (val) {
|
||||
this.setData({
|
||||
gridData : val
|
||||
})
|
||||
},
|
||||
},
|
||||
lifetimes: {
|
||||
created: function(){
|
||||
//在组件实例刚刚被创建时执行,注意此时不能调用 setData
|
||||
},
|
||||
attached: function () {
|
||||
//在组件实例进入页面节点树时执行
|
||||
},
|
||||
ready: function () {
|
||||
// 在组件在视图层布局完成后执行
|
||||
},
|
||||
detached: function () {
|
||||
// 在组件实例被从页面节点树移除时执行
|
||||
},
|
||||
},
|
||||
|
||||
/**
|
||||
* 组件的初始数据
|
||||
*/
|
||||
data: {
|
||||
show:false,
|
||||
gridData:[],
|
||||
selectedIndex:[],
|
||||
titleValue:""
|
||||
},
|
||||
|
||||
/**
|
||||
* 组件的方法列表
|
||||
*/
|
||||
methods: {
|
||||
onAddResponsible(){
|
||||
this.setData({
|
||||
show:true
|
||||
})
|
||||
},
|
||||
onClose(){
|
||||
this.setData({
|
||||
show:false
|
||||
})
|
||||
},
|
||||
onSelected(e){
|
||||
var data = this.data.rectifierData;
|
||||
let ei = e.currentTarget.dataset.index;
|
||||
let index = ei.split('_');
|
||||
let userdata = data[index[0]].userinfoList[index[1]];
|
||||
let of = this.data.selectedIndex.indexOf(ei);
|
||||
if(of>-1){
|
||||
this.data.selectedIndex.splice(of, 1);
|
||||
userdata.state = false;
|
||||
}else{
|
||||
this.data.selectedIndex.push(ei);
|
||||
userdata.state = true;
|
||||
}
|
||||
if(!this.data.multiple && this.data.selectedIndex.length>0){
|
||||
if(this.data.selectedIndex.length>1){
|
||||
this.data.selectedIndex.forEach((item) =>{
|
||||
let _indexs = item.split('_');
|
||||
data[_indexs[0]].userinfoList[_indexs[1]].state = false;
|
||||
});
|
||||
userdata.state = true;
|
||||
this.data.selectedIndex=[];
|
||||
this.data.selectedIndex.push(ei);
|
||||
}
|
||||
let _gridData=[{userName:userdata.nickName+" ["+userdata.jobTypeName+"]",phoneNumber:userdata.phonenumber}];
|
||||
this.triggerEvent('selected',_gridData)
|
||||
this.setData({
|
||||
titleValue:_gridData[0].userName,
|
||||
rectifierData:data,
|
||||
show:false
|
||||
})
|
||||
}else{
|
||||
if(of>-1){
|
||||
this.data.selectedIndex.splice(of, 1);
|
||||
userdata.state = false;
|
||||
}else{
|
||||
this.data.selectedIndex.push(index);
|
||||
userdata.state = true;
|
||||
}
|
||||
this.setData({
|
||||
rectifierData : data
|
||||
})
|
||||
}
|
||||
},
|
||||
onConfirm(){
|
||||
var data = this.data.rectifierData
|
||||
let gridData = data.filter(x => x.state == true);
|
||||
this.triggerEvent('selected',gridData)
|
||||
this.setData({
|
||||
gridData:gridData,
|
||||
show:false
|
||||
})
|
||||
}
|
||||
|
||||
}
|
||||
})
|
|
@ -0,0 +1,4 @@
|
|||
{
|
||||
"component": true,
|
||||
"usingComponents": {}
|
||||
}
|
|
@ -0,0 +1,38 @@
|
|||
<!--newComponents/select-group-person/index.wxml-->
|
||||
<view class="nspect_info_rectifier">
|
||||
<van-row>
|
||||
<van-col span="24" style="text-align: left;">
|
||||
<input placeholder="请选择{{title}}" data-index="{{index}}" placeholder-style="color:#6777aa;" class="inspect_input_fill_in" bindtap="onAddResponsible" disabled="true" value="{{titleValue}}"/>
|
||||
</van-col>
|
||||
</van-row>
|
||||
</view>
|
||||
|
||||
|
||||
<van-popup show="{{ show }}" bind:close="onClose">
|
||||
<view class="rectifier_max">
|
||||
<view class="rectifier_title">
|
||||
<view class="rectifier_text">{{title}}</view>
|
||||
<view class="rectifier_close" bindtap="onClose"><van-icon name="cross" /></view>
|
||||
</view>
|
||||
<view class="rectifier_list">
|
||||
<view class="rectifier_list_height">
|
||||
<view wx:for="{{rectifierData}}" wx:key="index" data-index="{{index}}">
|
||||
<view class="rectifier_list-group_for">[{{item.unitTypeName}}] {{item.unitName}}</view>
|
||||
<view class="rectifier_list_for" wx:for="{{item.userinfoList}}" wx:for-item="items" wx:for-index="index_i" wx:key="index_i" data-index="{{index+'_'+index_i}}" bindtap="onSelected">
|
||||
<view class="rectifier_list_radio">
|
||||
<view class="rectifier_list_radio_circle {{items.state?'active':''}}">
|
||||
<van-icon name="success" wx:if="{{items.state}}"/>
|
||||
</view>
|
||||
</view>
|
||||
<view class="rectifier_list_name {{items.state?'active':''}}">{{items.phonenumber}}</view>
|
||||
<view class="rectifier_list_name {{items.state?'active':''}}">{{items.nickName}} [{{items.jobTypeName}}]</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="rectifier_btn">
|
||||
<view bindtap="onClose">取消</view>
|
||||
<view bindtap="onConfirm">确认</view>
|
||||
</view>
|
||||
</view>
|
||||
</van-popup>
|
|
@ -0,0 +1,125 @@
|
|||
/* newComponents/select-person/index.wxss */
|
||||
.rectifier_add_to{
|
||||
width: 100rpx;
|
||||
height: 100rpx;
|
||||
margin: auto;
|
||||
background: #252d41;
|
||||
text-align: center;
|
||||
line-height: 110rpx;
|
||||
font-size: 50rpx;
|
||||
color: #57668f;
|
||||
font-weight: bold;
|
||||
border-radius: 5rpx;
|
||||
}
|
||||
.rectifier_max{
|
||||
width: 600rpx;
|
||||
background: #232a44;
|
||||
border-radius: 15rpx;
|
||||
}
|
||||
.rectifier_title{
|
||||
position: relative;
|
||||
background: #27304f;
|
||||
border-radius: 15rpx;
|
||||
text-align: center;
|
||||
padding:20rpx 15rpx;
|
||||
}
|
||||
.rectifier_close{
|
||||
position: absolute;
|
||||
width: 50rpx;
|
||||
height: 50rpx;
|
||||
right: 20rpx;
|
||||
top: 12rpx;
|
||||
line-height: 60rpx;
|
||||
text-align: center;
|
||||
}
|
||||
.rectifier_list{
|
||||
padding:20rpx 40rpx;
|
||||
}
|
||||
.rectifier_list_height{
|
||||
height: 580rpx;
|
||||
overflow: auto;
|
||||
}
|
||||
.rectifier_list_for{
|
||||
display: flex;
|
||||
align-items: center;
|
||||
padding: 8rpx 0;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
}
|
||||
.rectifier_list_radio{
|
||||
width: 70rpx;
|
||||
}
|
||||
.rectifier_list_radio_circle{
|
||||
width: 30rpx;
|
||||
height: 30rpx;
|
||||
border-radius: 50%;
|
||||
border: 1px solid #6576a2;
|
||||
}
|
||||
.rectifier_list_radio_circle.active{
|
||||
background: #8262f3;
|
||||
border: 1px solid #8262f3;
|
||||
}
|
||||
.rectifier_list_name{
|
||||
padding-left: 10rpx;
|
||||
color: #6576a2;
|
||||
}
|
||||
.rectifier_list_name.active{
|
||||
color: #ffffff;
|
||||
}
|
||||
.rectifier_btn{
|
||||
display: flex;
|
||||
align-items: center;
|
||||
background: #27304f;
|
||||
border-radius: 0 0 15rpx 15rpx;
|
||||
}
|
||||
.rectifier_btn view{
|
||||
width: 50%;
|
||||
text-align: center;
|
||||
height: 80rpx;
|
||||
line-height: 80rpx;
|
||||
color:#6874a4;
|
||||
}
|
||||
.rectifier_btn view:last-child{
|
||||
border-left: 1px solid #6874a4;
|
||||
color: #ffffff;
|
||||
}
|
||||
.rectifier_list-group_for{
|
||||
height: 65rpx;
|
||||
background-color: #58628a;
|
||||
line-height: 65rpx;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
margin-top: 20rpx;
|
||||
}
|
||||
.inspect_input_fill_in {
|
||||
height: 90rpx;
|
||||
background: #212737;
|
||||
border-radius: 10rpx;
|
||||
padding: 0 30rpx;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
@ -4,6 +4,9 @@ Component({
|
|||
* 组件的属性列表
|
||||
*/
|
||||
properties: {
|
||||
title:{
|
||||
type:String
|
||||
},
|
||||
choose:{
|
||||
type:Array
|
||||
},
|
||||
|
|
|
@ -15,7 +15,7 @@
|
|||
<van-popup show="{{ show }}" bind:close="onClose">
|
||||
<view class="rectifier_max">
|
||||
<view class="rectifier_title">
|
||||
<view class="rectifier_text">整改责任人</view>
|
||||
<view class="rectifier_text">{{title}}</view>
|
||||
<view class="rectifier_close" bindtap="onClose"><van-icon name="cross" /></view>
|
||||
</view>
|
||||
<view class="rectifier_list">
|
||||
|
|
|
@ -0,0 +1,331 @@
|
|||
// pageage/safetyManagement/addSafetyInspect/index.js
|
||||
const app = getApp()
|
||||
Page({
|
||||
|
||||
/**
|
||||
* 页面的初始数据
|
||||
*/
|
||||
data: {
|
||||
maxDate:new Date(2088,1,1).getTime(),
|
||||
currentDate:new Date().getTime(),
|
||||
deptId:"",
|
||||
projectId:"",
|
||||
projectName:"",
|
||||
loginName:"",
|
||||
userName:"",
|
||||
rectifierData:[],
|
||||
rectifierData2:[],
|
||||
imageInfoData:[],
|
||||
checkingResult:"",
|
||||
//验收时间
|
||||
checkTime:'',
|
||||
loadShow:false,
|
||||
qualityUser:"",
|
||||
qualityUserName:"",
|
||||
superviseUser:"",
|
||||
superviseUserName:"",
|
||||
checkWorkingPosition:"",
|
||||
intro:""
|
||||
},
|
||||
|
||||
/**
|
||||
* 生命周期函数--监听页面加载
|
||||
*/
|
||||
onLoad(options) {
|
||||
let {projectId,projectName} = options
|
||||
//获取缓存数据
|
||||
wx.getStorage({
|
||||
key: 'userinfo',
|
||||
success:res=>{
|
||||
this.setData({
|
||||
projectId,
|
||||
projectName,
|
||||
deptId:res.data.deptId,
|
||||
loginName:res.data.loginName,
|
||||
userName:res.data.nickName
|
||||
})
|
||||
this.getProjectUserData()
|
||||
}
|
||||
})
|
||||
},
|
||||
|
||||
//查询项目人员数据
|
||||
getProjectUserData(){
|
||||
let that = this
|
||||
wx.request({
|
||||
url: app.globalData.reqUrl+'/weixin/projectuserinfo/list',
|
||||
method:"get",
|
||||
data:{
|
||||
projectId:that.data.projectId
|
||||
},
|
||||
header:{
|
||||
'content-type': 'application/x-www-form-urlencoded'
|
||||
},
|
||||
success(res){
|
||||
res = res.data
|
||||
if(res.code == 200){
|
||||
let tempData = []
|
||||
that.setData({
|
||||
rectifierData:res.data,
|
||||
rectifierData2:res.data
|
||||
})
|
||||
}
|
||||
}
|
||||
})
|
||||
},
|
||||
|
||||
//切换验收结果
|
||||
onStateSelect(e){
|
||||
let state = e.currentTarget.dataset.set;
|
||||
this.setData({
|
||||
checkingResult:state,
|
||||
});
|
||||
},
|
||||
|
||||
//工序部位
|
||||
onInputCheckWorkingPositionValue(e){
|
||||
let checkWorkingPosition = e.detail.value
|
||||
this.setData({
|
||||
checkWorkingPosition
|
||||
})
|
||||
},
|
||||
//验收描述
|
||||
onInputIntroValue(e){
|
||||
let intro = e.detail.value
|
||||
this.setData({
|
||||
intro
|
||||
})
|
||||
},
|
||||
|
||||
//验收时间
|
||||
onInputTime(e){
|
||||
let checkTime = e.detail
|
||||
this.setData({
|
||||
checkTime
|
||||
})
|
||||
},
|
||||
|
||||
// list 上传图片
|
||||
onImagesArr(e){
|
||||
var data = this.data.imageInfoData
|
||||
data = e.detail
|
||||
this.setData({
|
||||
imageInfoData:data
|
||||
})
|
||||
},
|
||||
|
||||
//添加质量专员
|
||||
onAddQualityUser(e){
|
||||
if(e.detail.length>0){
|
||||
this.setData({
|
||||
qualityUser:e.detail[0].phoneNumber,
|
||||
qualityUserName:e.detail[0].userName
|
||||
})
|
||||
}
|
||||
},
|
||||
|
||||
//添加监理专员
|
||||
onAddSuperviseUser(e){
|
||||
if(e.detail.length>0){
|
||||
this.setData({
|
||||
superviseUser:e.detail[0].phoneNumber,
|
||||
superviseUserName:e.detail[0].userName
|
||||
})
|
||||
}
|
||||
},
|
||||
|
||||
//取消页面
|
||||
cancelSaveView(){
|
||||
wx.navigateBack()
|
||||
},
|
||||
|
||||
//保存
|
||||
onProblemSubmitSave(){
|
||||
this.setData({
|
||||
loadShow:true
|
||||
})
|
||||
let that = this
|
||||
let {projectId,deptId,qualityUser,qualityUserName,superviseUser,superviseUserName,checkWorkingPosition,intro,checkTime,checkingResult,imageInfoData,loginName,userName} = that.data;
|
||||
//数据效验
|
||||
if(projectId==""||deptId==""||loginName==""){
|
||||
app.toast("数据异常,请刷新页面重试!")
|
||||
that.setData({
|
||||
loadShow:false
|
||||
})
|
||||
return;
|
||||
}
|
||||
if(qualityUser==""||qualityUserName==""){
|
||||
app.toast("请选择质量专员!")
|
||||
that.setData({
|
||||
loadShow:false
|
||||
})
|
||||
return;
|
||||
}
|
||||
if(superviseUser==""||superviseUserName==""){
|
||||
app.toast("请选择监理专员!")
|
||||
that.setData({
|
||||
loadShow:false
|
||||
})
|
||||
return;
|
||||
}
|
||||
if(checkWorkingPosition==""){
|
||||
app.toast("请填写验收工序部位!")
|
||||
that.setData({
|
||||
loadShow:false
|
||||
})
|
||||
return;
|
||||
}
|
||||
if(intro==""){
|
||||
app.toast("请填写验收结果描述!")
|
||||
that.setData({
|
||||
loadShow:false
|
||||
})
|
||||
return;
|
||||
}
|
||||
if(checkTime==""){
|
||||
app.toast("请选择验收时间!")
|
||||
that.setData({
|
||||
loadShow:false
|
||||
})
|
||||
return;
|
||||
}
|
||||
if(checkingResult==""){
|
||||
app.toast("请选择验收结果!")
|
||||
that.setData({
|
||||
loadShow:false
|
||||
})
|
||||
return;
|
||||
}
|
||||
|
||||
let fileUrls = [];
|
||||
imageInfoData.forEach(async (item)=>{
|
||||
let uploadUrl = app.globalData.reqUrl+'/weixin/common/upload'
|
||||
let name = "file"
|
||||
//这里复杂的图片上传,改为同步上传,因为小程序只能上传一张图片
|
||||
let obj = await that.syncUploadImage(uploadUrl,item,name);
|
||||
fileUrls.push(obj.data.fileName);
|
||||
//验证图片上传完毕
|
||||
if(fileUrls.length == imageInfoData.length){
|
||||
let params = {
|
||||
projectId,
|
||||
deptId:deptId,
|
||||
qualityUser,
|
||||
qualityUserName,
|
||||
superviseUser,
|
||||
superviseUserName,
|
||||
checkWorkingPosition,
|
||||
intro,
|
||||
checkingDate:checkTime,
|
||||
checkResult:checkingResult,
|
||||
createBy:loginName,
|
||||
imageUrls:fileUrls.toString()
|
||||
}
|
||||
wx.request({
|
||||
url: app.globalData.reqUrl + '/weixin/projectchecking/add',
|
||||
method:"POST",
|
||||
data:params,
|
||||
header: {
|
||||
"Content-Type": "application/json"
|
||||
},
|
||||
success(res){
|
||||
that.setData({
|
||||
loadShow:false
|
||||
})
|
||||
res =res.data
|
||||
if(res.code == 200){
|
||||
app.toast("添加成功!")
|
||||
setTimeout(()=>{
|
||||
wx.navigateTo({
|
||||
url: '../list/index',
|
||||
})
|
||||
},2000)
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
})
|
||||
},
|
||||
|
||||
/**
|
||||
* 这里考虑上传图片异步问题,封装为同步
|
||||
*/
|
||||
syncUploadImage(url,uploadFile,name) {
|
||||
return new Promise((resolve, reject) => {
|
||||
wx.uploadFile({
|
||||
url, // 上传的服务器接口地址
|
||||
filePath: uploadFile,
|
||||
header: {
|
||||
"Content-Type": "application/x-www-form-urlencoded;charset=UTF-8"
|
||||
},
|
||||
name, //上传的所需字段,后端提供
|
||||
formData: { user: 'test' },
|
||||
success: (res) => {
|
||||
// 上传完成操作
|
||||
const data = JSON.parse(res.data)
|
||||
resolve({
|
||||
data: data
|
||||
})
|
||||
},
|
||||
fail: (err) => {
|
||||
//上传失败:修改pedding为reject
|
||||
console.log("访问接口失败", err);
|
||||
wx.showToast({
|
||||
title: "网络出错,上传失败",
|
||||
icon: 'none',
|
||||
duration: 1000
|
||||
});
|
||||
reject(err)
|
||||
}
|
||||
});
|
||||
})
|
||||
},
|
||||
|
||||
/**
|
||||
* 生命周期函数--监听页面初次渲染完成
|
||||
*/
|
||||
onReady() {
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 生命周期函数--监听页面显示
|
||||
*/
|
||||
onShow() {
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 生命周期函数--监听页面隐藏
|
||||
*/
|
||||
onHide() {
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 生命周期函数--监听页面卸载
|
||||
*/
|
||||
onUnload() {
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 页面相关事件处理函数--监听用户下拉动作
|
||||
*/
|
||||
onPullDownRefresh() {
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 页面上拉触底事件的处理函数
|
||||
*/
|
||||
onReachBottom() {
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 用户点击右上角分享
|
||||
*/
|
||||
onShareAppMessage() {
|
||||
|
||||
}
|
||||
})
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"usingComponents": {
|
||||
"van-overlay": "@vant/weapp/overlay/index"
|
||||
},
|
||||
"navigationBarTitleText": "新增举牌验收"
|
||||
}
|
|
@ -0,0 +1,111 @@
|
|||
<!--pageage/safetyManagement/addSafetyInspect/index.wxml-->
|
||||
<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="problem_list_info_con">
|
||||
<file-uploader bindimages="onImagesArr"></file-uploader>
|
||||
</view>
|
||||
</view>
|
||||
<view class="inspect_info_list">
|
||||
<view class="inspect_info_title" style="padding: 20rpx 0 10rpx;">质量专员</view>
|
||||
<view class="inspect_info_content">
|
||||
<select-group-person rectifierData="{{rectifierData}}" multiple="{{fales}}" bindselected="onAddQualityUser" data-index="1" choose="{{item.person_responsible}}" title="请选择质量专员" >
|
||||
</select-group-person>
|
||||
</view>
|
||||
</view>
|
||||
<view class="inspect_info_list">
|
||||
<view class="inspect_info_title" style="padding: 20rpx 0 10rpx;">监理专员</view>
|
||||
<view class="inspect_info_content">
|
||||
<select-group-person rectifierData="{{rectifierData2}}" multiple="{{fales}}" bindselected="onAddSuperviseUser" data-index="2" choose="{{item.person_responsible}}" title="请选择监理专员" >
|
||||
</select-group-person>
|
||||
</view>
|
||||
</view>
|
||||
<view class="inspect_info_list" >
|
||||
<view class="inspect_info_title">工序部位</view>
|
||||
<view class="inspect_info_content">
|
||||
<input placeholder="请填写验收工序部位" placeholder-style="color:#6777aa;" class="inspect_input_fill_in" bindinput="onInputCheckWorkingPositionValue" maxlength="200"/>
|
||||
</view>
|
||||
</view>
|
||||
<view class="inspect_info_list" >
|
||||
<view class="inspect_info_title">验收描述</view>
|
||||
<view class="inspect_info_content">
|
||||
<textarea class="add_textarea" placeholder="请填写验收结果描述"
|
||||
placeholder-style="color:#6777aa;" bindinput="onInputIntroValue" maxlength="200"/>
|
||||
</view>
|
||||
</view>
|
||||
<view class="inspect_info_list">
|
||||
<view class="inspect_info_title">验收时间</view>
|
||||
<view class="inspect_info_content">
|
||||
<voucher-datetime counts="5" currentDate="{{currentDate}}" placeholder="请选择验收时间" maxDate="{{maxDate}}" bindchange="onInputTime"></voucher-datetime>
|
||||
</view>
|
||||
</view>
|
||||
<view class="inspect_info_list">
|
||||
<view class="inspect_info_title">验收结果</view>
|
||||
<view class="inspect_info_type">
|
||||
<view class="{{checkingResult==2?'active':''}}" bindtap="onStateSelect" data-set="2">验收合格</view>
|
||||
<view class="{{checkingResult==1?'active':''}}" bindtap="onStateSelect" data-set="1">验收不合格</view>
|
||||
</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="onProblemSubmitSave">保存</view>
|
||||
</view>
|
||||
|
||||
<van-overlay show="{{loadShow}}">
|
||||
<view class="gif">
|
||||
<image src="http://fileimg.makalu.cc/866000e905ae45a8b79d80de52bb4e9a.gif"></image>
|
||||
<view>数据加载中!请稍后...</view>
|
||||
</view>
|
||||
</van-overlay>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
/* pageage/safetyManagement/addSafetyInspect/index.wxss */
|
||||
.van-popup{
|
||||
background: none !important;
|
||||
}
|
||||
.van-image__img{
|
||||
border-radius: 10rpx !important;
|
||||
}
|
|
@ -0,0 +1,107 @@
|
|||
// pageage/project_checking/info/index.js
|
||||
const app = getApp()
|
||||
Page({
|
||||
|
||||
/**
|
||||
* 页面的初始数据
|
||||
*/
|
||||
data: {
|
||||
id:"",
|
||||
infoData:{},
|
||||
imgs:[],
|
||||
loadShow:false
|
||||
},
|
||||
|
||||
/**
|
||||
* 生命周期函数--监听页面加载
|
||||
*/
|
||||
onLoad(options) {
|
||||
let {id} = options
|
||||
//获取缓存数据
|
||||
wx.getStorage({
|
||||
key: 'userinfo',
|
||||
success:res=>{
|
||||
this.setData({
|
||||
id
|
||||
})
|
||||
this.getInfo();
|
||||
}
|
||||
})
|
||||
},
|
||||
|
||||
|
||||
/**
|
||||
* 获取安全检查详情信息
|
||||
*
|
||||
*/
|
||||
getInfo(){
|
||||
let {id} = this.data
|
||||
let that = this
|
||||
wx.request({
|
||||
url: app.globalData.reqUrl+'/weixin/projectchecking/info',
|
||||
method:"get",
|
||||
data:{
|
||||
id:id
|
||||
},
|
||||
success(res){
|
||||
res = res.data
|
||||
if(res.code == 200){
|
||||
that.setData({
|
||||
infoData:res.data,
|
||||
imgs:res.data.imageUrls.split(','),
|
||||
loadShow:false
|
||||
})
|
||||
}
|
||||
}
|
||||
})
|
||||
},
|
||||
|
||||
/**
|
||||
* 生命周期函数--监听页面初次渲染完成
|
||||
*/
|
||||
onReady() {
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 生命周期函数--监听页面显示
|
||||
*/
|
||||
onShow() {
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 生命周期函数--监听页面隐藏
|
||||
*/
|
||||
onHide() {
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 生命周期函数--监听页面卸载
|
||||
*/
|
||||
onUnload() {
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 页面相关事件处理函数--监听用户下拉动作
|
||||
*/
|
||||
onPullDownRefresh() {
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 页面上拉触底事件的处理函数
|
||||
*/
|
||||
onReachBottom() {
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 用户点击右上角分享
|
||||
*/
|
||||
onShareAppMessage() {
|
||||
|
||||
}
|
||||
})
|
|
@ -0,0 +1,4 @@
|
|||
{
|
||||
"usingComponents": {},
|
||||
"navigationBarTitleText": "举牌验收详情"
|
||||
}
|
|
@ -0,0 +1,127 @@
|
|||
<!--pageage/safetyManagement/problemRectification/index.wxml-->
|
||||
<view>
|
||||
<view class="inspect_overview_max">
|
||||
<view class="inspect_overview">
|
||||
<view class="module_title module_title_padding">
|
||||
<view>{{infoData.projectName}}</view>
|
||||
</view>
|
||||
<view class="inspect_overview_list_max">
|
||||
<view class="inspect_overview_list">
|
||||
<van-row>
|
||||
<van-col span="6"><text class="color_purple">单位名称</text></van-col>
|
||||
<van-col span="18">{{infoData.deptName}}</van-col>
|
||||
</van-row>
|
||||
</view>
|
||||
<view class="inspect_overview_list">
|
||||
<van-row>
|
||||
<van-col span="6"><text class="color_purple">验收图片</text></van-col>
|
||||
<view class="problem_list_info_con">
|
||||
<van-uploader file-list="{{imgs}}" show-upload="{{fales}}" deletable="{{fales}}"/>
|
||||
</view>
|
||||
</van-row>
|
||||
</view>
|
||||
<view class="inspect_overview_list">
|
||||
<van-row>
|
||||
<van-col span="6"><text class="color_purple">质量专员</text></van-col>
|
||||
<van-col span="18">{{infoData.qualityUserName}} {{infoData.qualityUser}}</van-col>
|
||||
</van-row>
|
||||
</view>
|
||||
<view class="inspect_overview_list">
|
||||
<van-row>
|
||||
<van-col span="6"><text class="color_purple">监理专员</text></van-col>
|
||||
<van-col span="18">{{infoData.superviseUserName}} {{infoData.superviseUser}}</van-col>
|
||||
</van-row>
|
||||
</view>
|
||||
<view class="inspect_overview_list">
|
||||
<van-row>
|
||||
<van-col span="6"><text class="color_purple">工序部位</text></van-col>
|
||||
<van-col span="18">{{infoData.checkWorkingPosition}}</van-col>
|
||||
</van-row>
|
||||
</view>
|
||||
<view class="inspect_overview_list">
|
||||
<van-row>
|
||||
<van-col span="6"><text class="color_purple">验收描述</text></van-col>
|
||||
<van-col span="18">{{infoData.intro}}</van-col>
|
||||
</van-row>
|
||||
</view>
|
||||
<view class="inspect_overview_list">
|
||||
<van-row>
|
||||
<van-col span="6"><text class="color_purple">验收时间</text></van-col>
|
||||
<van-col span="18">{{infoData.checkingDate}}</van-col>
|
||||
</van-row>
|
||||
</view>
|
||||
<view class="inspect_overview_list">
|
||||
<van-row>
|
||||
<van-col span="6"><text class="color_purple">验收结果</text></van-col>
|
||||
<van-col wx:if="{{infoData.checkResult == '1'}}" span="18" class="color_green">验收合格</van-col>
|
||||
<van-col wx:if="{{infoData.checkResult == '2'}}" span="18" class="color_orange">验收不合格</van-col>
|
||||
</van-row>
|
||||
</view>
|
||||
<view class="inspect_overview_list">
|
||||
<van-row>
|
||||
<van-col span="6"><text class="color_purple">提交时间</text></van-col>
|
||||
<van-col span="18">{{infoData.createTime}}</van-col>
|
||||
</van-row>
|
||||
</view>
|
||||
<view class="inspect_overview_list">
|
||||
<van-row>
|
||||
<van-col span="6"><text class="color_purple">提交用户</text></van-col>
|
||||
<van-col span="18">{{infoData.createBy}}</van-col>
|
||||
</van-row>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view class="problem_list_max">
|
||||
<view class="problem_list_for" wx:for="{{problemData}}" wx:key="index">
|
||||
<view class="problem_list_title" bindtap="onExpandDetails" data-index="{{index}}">
|
||||
<view class="module_title module_title_flex" style="background: none;padding-left: 0;">
|
||||
<view class="module_title_text">{{index+1}}、{{item.existing_problems}}</view>
|
||||
<view class="inspect_list_title_state">
|
||||
<text class="state_colour_0" wx:if="{{item.state == 0}}">待整改</text>
|
||||
<text class="state_colour_1" wx:if="{{item.state == 1}}">已整改</text>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="problem_list_content" wx:if="{{item.overall_state}}">
|
||||
<view>
|
||||
<view class="problem_list_module">
|
||||
<view class="problem_list_content_title">存在问题</view>
|
||||
<view class="problem_list_info">
|
||||
<view class="problem_list_info_title">存在问题</view>
|
||||
<view class="problem_list_info_con">{{item.existing_problems}}</view>
|
||||
</view>
|
||||
<view class="problem_list_info">
|
||||
<view class="problem_list_info_title">整改前</view>
|
||||
<view class="problem_list_info_con">
|
||||
<van-uploader file-list="{{item.rectify_front}}" show-upload="{{fales}}" deletable="{{fales}}"/>
|
||||
</view>
|
||||
</view>
|
||||
<view class="problem_list_info">
|
||||
<view class="problem_list_info_title">整改责任人</view>
|
||||
<view class="problem_list_info_con">{{item.rectify_person}}</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view wx:if="{{item.state == 1}}" class="problem_list_module_border">
|
||||
<view class="problem_list_content_title">问题整改</view>
|
||||
<view class="problem_list_info">
|
||||
<view class="problem_list_info_title">整改情况</view>
|
||||
<view class="problem_list_info_con">{{item.rectify_situation}}</view>
|
||||
</view>
|
||||
<view class="problem_list_info">
|
||||
<view class="problem_list_info_title">整改照片</view>
|
||||
<view class="problem_list_info_con">
|
||||
<van-uploader file-list="{{item.rectify_photo}}" show-upload="{{fales}}" deletable="{{fales}}"/>
|
||||
</view>
|
||||
</view>
|
||||
<view class="problem_list_info">
|
||||
<view class="problem_list_info_title">整改时间</view>
|
||||
<view class="problem_list_info_con">{{item.rectify_time}}</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
|
@ -0,0 +1 @@
|
|||
/* pageage/project_checking/info/index.wxss */
|
|
@ -0,0 +1,130 @@
|
|||
// pageage/safetyManagement/securityCheckGR/index.js
|
||||
const app = getApp()
|
||||
Page({
|
||||
|
||||
/**
|
||||
* 页面的初始数据
|
||||
*/
|
||||
data: {
|
||||
deptId:"",
|
||||
loginName:"",
|
||||
userName:"",
|
||||
projectId:"",
|
||||
projectData:{},
|
||||
projectNameArgs:"",
|
||||
initData: {},
|
||||
show:false,
|
||||
listData:[],
|
||||
},
|
||||
|
||||
onClose(){
|
||||
this.setData({ show: false });
|
||||
},
|
||||
showPopup() {
|
||||
this.setData({ show: true });
|
||||
},
|
||||
|
||||
skipCheckAdd(){
|
||||
wx.navigateTo({
|
||||
url: `../add/index?projectId=${this.data.initData.id}&projectName=`+this.data.initData.text,
|
||||
})
|
||||
},
|
||||
|
||||
getProjectCheckingInfo(e){
|
||||
let {id} = e.currentTarget.dataset.set
|
||||
wx.navigateTo({
|
||||
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,
|
||||
initData:{text:app.globalData.projectName,id:app.globalData.projectId}
|
||||
})
|
||||
this.getProjectCheckingData(app.globalData.projectId,res.data.loginName,res.data.deptId);
|
||||
}
|
||||
})
|
||||
},
|
||||
|
||||
/**
|
||||
* 查询项目举牌验收数据
|
||||
*/
|
||||
getProjectCheckingData(projectId,loginName,deptId) {
|
||||
var that = this;
|
||||
wx.request({
|
||||
url: app.globalData.reqUrl + '/weixin/projectchecking/list',
|
||||
data: {
|
||||
"projectId": projectId,
|
||||
"nowUserName":loginName,
|
||||
"deptId":deptId
|
||||
},
|
||||
method: "get",
|
||||
success: function (res) {
|
||||
that.setData({
|
||||
listData:res.data.data
|
||||
})
|
||||
}
|
||||
})
|
||||
},
|
||||
|
||||
/**
|
||||
* 生命周期函数--监听页面初次渲染完成
|
||||
*/
|
||||
onReady() {
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 生命周期函数--监听页面显示
|
||||
*/
|
||||
onShow() {
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 生命周期函数--监听页面隐藏
|
||||
*/
|
||||
onHide() {
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 生命周期函数--监听页面卸载
|
||||
*/
|
||||
onUnload() {
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 页面相关事件处理函数--监听用户下拉动作
|
||||
*/
|
||||
onPullDownRefresh() {
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 页面上拉触底事件的处理函数
|
||||
*/
|
||||
onReachBottom() {
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 用户点击右上角分享
|
||||
*/
|
||||
onShareAppMessage() {
|
||||
|
||||
}
|
||||
})
|
|
@ -0,0 +1,7 @@
|
|||
{
|
||||
"usingComponents": {
|
||||
"van-overlay": "@vant/weapp/overlay/index" ,
|
||||
"van-popup": "@vant/weapp/popup/index"
|
||||
},
|
||||
"navigationBarTitleText": "举牌验收管理"
|
||||
}
|
|
@ -0,0 +1,47 @@
|
|||
<van-sticky offset-top="{{ 0 }}">
|
||||
<view style="background: #191d28;">
|
||||
<project-select init="{{initData}}"></project-select>
|
||||
</view>
|
||||
</van-sticky>
|
||||
<view class="inspect_max">
|
||||
<view class="inspect_list">
|
||||
<view class="inspect_for" wx:for="{{listData}}" wx:key="index" data-set="{{item}}" bindtap="getProjectCheckingInfo">
|
||||
<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.checkWorkingPosition}}</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="inspect_list_info">
|
||||
<view class="inspect_list_info_details">
|
||||
<view class="inspect_list_info_img">
|
||||
<van-image width="120rpx" height="120rpx" fit="cover" src="{{item.mainImage+'.min.jpg'}}"/>
|
||||
</view>
|
||||
<view class="inspect_list_info_data">
|
||||
<view class="inspect_list_info_data_prop">总包单位:<text>{{item.deptName}}</text></view>
|
||||
<view wx:if="{{item.checkResult == '1'}}" class="inspect_list_info_data_prop">验收结果:<text class="color_green">验收合格</text></view>
|
||||
<view wx:if="{{item.checkResult == '2'}}" class="inspect_list_info_data_prop">验收结果:<text class="color_orange">验收不合格</text></view>
|
||||
<view class="inspect_list_info_data_prop">验收时间:<text class="color_blue">{{item.checkingDate}}</text></view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="inspect_list_info_position">验收描述:<text class="color_purple">{{item.intro}}</text></view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view class="inspect_add_to" bindtap="skipCheckAdd">
|
||||
<view style="padding-top: 22rpx;">
|
||||
<image src="../../../images/new_add.png"></image>
|
||||
<view>新增</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
@ -0,0 +1 @@
|
|||
/* pageage/project_checking_list/project_checking_list.wxss */
|
|
@ -44,22 +44,22 @@ Component({
|
|||
*/
|
||||
methods: {
|
||||
showPopup() {
|
||||
var data = this.data.projectList;
|
||||
var initData = this.data.init
|
||||
for(var i=0;i<data.length;i++ ){
|
||||
if(data[i].id == initData.id){
|
||||
this.setData({
|
||||
index:i
|
||||
})
|
||||
break
|
||||
}
|
||||
}
|
||||
// var data = this.data.projectList;
|
||||
// var initData = this.data.init
|
||||
// for(var i=0;i<data.length;i++ ){
|
||||
// if(data[i].id == initData.id){
|
||||
// this.setData({
|
||||
// index:i
|
||||
// })
|
||||
// break
|
||||
// }
|
||||
// }
|
||||
|
||||
console.log(this.data.index)
|
||||
this.setData({
|
||||
columns:data,
|
||||
show: true
|
||||
});
|
||||
// console.log(this.data.index)
|
||||
// this.setData({
|
||||
// columns:data,
|
||||
// show: true
|
||||
// });
|
||||
},
|
||||
onClose() {
|
||||
this.setData({ show: false });
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
<input class="celect_frame_min" placeholder="{{placeholder}}" placeholder-style="color:#6777aa;" value="{{value}}" disabled="true"/>
|
||||
</view>
|
||||
<view class="voucher_select_icon">
|
||||
<image src="http://fileimg.makalu.cc/WEB_E14B3F0F513E48A48BA6EE46A39C21C1.png"></image>
|
||||
<image src="../../../images/web_select_date.png"></image>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
|
|
|
@ -118,10 +118,12 @@ Component({
|
|||
*/
|
||||
onInput(event) {
|
||||
let date = new Date(event.detail)
|
||||
let Y = date.getFullYear()
|
||||
let M = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1)
|
||||
let D = (date.getDate() < 10 ? '0' + date.getDate() : date.getDate()) + ''
|
||||
var lot = Y + '-' + M + '-' + D
|
||||
let Y = date.getFullYear();
|
||||
let M = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1);
|
||||
let D = (date.getDate() < 10 ? '0' + date.getDate() : date.getDate()) + '';
|
||||
let H = (date.getHours() < 10 ? '0' + date.getHours() : date.getHours()) + '';
|
||||
let I = (date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes()) + '';
|
||||
var lot = Y + '-' + M + '-' + D + ' ' + H + ':' + I +':00';
|
||||
this.setData({
|
||||
date: lot,
|
||||
});
|
|
@ -5,7 +5,7 @@
|
|||
<input class="celect_frame_min" placeholder="{{placeholder}}" placeholder-style="color:#6777aa;" value="{{value}}" disabled="true"/>
|
||||
</view>
|
||||
<view class="voucher_select_icon">
|
||||
<image src="http://fileimg.makalu.cc/WEB_E14B3F0F513E48A48BA6EE46A39C21C1.png"></image>
|
||||
<image src="../../../images/web_select_date.png"></image>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
|
@ -18,7 +18,7 @@
|
|||
</view>
|
||||
|
||||
<van-datetime-picker
|
||||
type="date"
|
||||
type="datetime"
|
||||
show-toolbar="{{fales}}"
|
||||
value="{{ currentDate }}"
|
||||
bind:input="onInput"
|
|
@ -205,5 +205,9 @@ Page({
|
|||
url: '../gongchengliebiao/gongchengliebiao'
|
||||
})
|
||||
},
|
||||
|
||||
onClose1() {
|
||||
this.setData({ show: false });
|
||||
},
|
||||
|
||||
})
|
|
@ -632,11 +632,11 @@ Page({
|
|||
|
||||
//跳转到安全管控
|
||||
XMSP:function(){
|
||||
app.toast("敬请期待!");
|
||||
// wx.redirectTo({
|
||||
// //url: '../deepExcavation/index'
|
||||
// url:'../newAddPage/safetyManagement/index'
|
||||
// })
|
||||
//app.toast("敬请期待!");
|
||||
wx.redirectTo({
|
||||
//url: '../deepExcavation/index'
|
||||
url:'../newAddPage/safetyManagement/index'
|
||||
})
|
||||
},
|
||||
|
||||
//跳转到质量管理
|
||||
|
|
Loading…
Reference in New Issue