小程序举牌验收功能开发

dev_xd
lj7788@126.com 2025-08-05 15:22:21 +08:00
parent 10685555ec
commit e9cadabf56
16 changed files with 446 additions and 216 deletions

View File

@ -119,7 +119,9 @@ public class ProProjectCheckedServiceImpl implements IProProjectCheckedService
@Override
public int updateProProjectChecked(ProProjectChecked proProjectChecked)
{
proProjectChecked.setMainImage(proProjectChecked.getImageUrls().split(",")[0]);
if(StringUtils.isNotBlank(proProjectChecked.getImageUrls())) {
proProjectChecked.setMainImage(proProjectChecked.getImageUrls().split(",")[0]);
}
proProjectChecked.setUpdateBy(SecurityContextHolder.getUserName());
proProjectChecked.setUpdateTime(DateUtils.getNowDate());
int rows = proProjectCheckedMapper.updateProProjectChecked(proProjectChecked);

View File

@ -1 +1 @@
<svg class="icon" style="width: 1em;height: 1em;vertical-align: middle;fill: currentColor;overflow: hidden;" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="4338"><path d="M512 512m-512 0a512 512 0 1 0 1024 0 512 512 0 1 0-1024 0Z" fill="#5A98D2" p-id="4339"></path><path d="M739.555556 568.888889H284.444444c-34.133333 0-56.888889-22.755556-56.888888-56.888889s22.755556-56.888889 56.888888-56.888889h455.111112c34.133333 0 56.888889 22.755556 56.888888 56.888889s-22.755556 56.888889-56.888888 56.888889z" fill="#FFFFFF" p-id="4340"></path><path d="M512 796.444444c-34.133333 0-56.888889-22.755556-56.888889-56.888888V284.444444c0-34.133333 22.755556-56.888889 56.888889-56.888888s56.888889 22.755556 56.888889 56.888888v455.111112c0 34.133333-22.755556 56.888889-56.888889 56.888888z" fill="#FFFFFF" p-id="4341"></path></svg>
<svg class="icon" style="width: 1em;height: 1em;vertical-align: middle;fill: currentColor;overflow: hidden;" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="4973"><path d="M512 75.09333333c240.29866667 0 436.90666667 196.608 436.90666667 436.90666667s-196.608 436.90666667-436.90666667 436.90666667-436.90666667-196.608-436.90666667-436.90666667 196.608-436.90666667 436.90666667-436.90666667m0-72.81777778C228.01066667 2.27555555 2.27555555 228.01066667 2.27555555 512s225.73511111 509.72444445 509.72444445 509.72444445 509.72444445-225.73511111 509.72444445-509.72444445-225.73511111-509.72444445-509.72444445-509.72444445z" fill="#333333" p-id="4974"></path><path d="M293.54666667 512m-36.40888889 0a36.40888889 36.40888889 0 1 0 72.81777777 0 36.40888889 36.40888889 0 1 0-72.81777777 0Z" fill="#333333" p-id="4975"></path><path d="M730.45333333 512m-36.40888888 0a36.40888889 36.40888889 0 1 0 72.81777777 0 36.40888889 36.40888889 0 1 0-72.81777777 0Z" fill="#333333" p-id="4976"></path><path d="M512 293.54666667m-36.40888889 0a36.40888889 36.40888889 0 1 0 72.81777778 0 36.40888889 36.40888889 0 1 0-72.81777778 0Z" fill="#333333" p-id="4977"></path><path d="M512 730.45333333m-36.40888889 0a36.40888889 36.40888889 0 1 0 72.81777778 0 36.40888889 36.40888889 0 1 0-72.81777778 0Z" fill="#333333" p-id="4978"></path><path d="M293.54666667 475.59111111h436.90666666v72.81777778H293.54666667z" fill="#333333" p-id="4979"></path><path d="M475.59111111 293.54666667h72.81777778v436.90666666h-72.81777778z" fill="#333333" p-id="4980"></path></svg>

Before

Width:  |  Height:  |  Size: 859 B

After

Width:  |  Height:  |  Size: 1.5 KiB

View File

@ -1 +0,0 @@
<svg class="icon" style="width: 1em;height: 1em;vertical-align: middle;fill: currentColor;overflow: hidden;" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="4973"><path d="M512 75.09333333c240.29866667 0 436.90666667 196.608 436.90666667 436.90666667s-196.608 436.90666667-436.90666667 436.90666667-436.90666667-196.608-436.90666667-436.90666667 196.608-436.90666667 436.90666667-436.90666667m0-72.81777778C228.01066667 2.27555555 2.27555555 228.01066667 2.27555555 512s225.73511111 509.72444445 509.72444445 509.72444445 509.72444445-225.73511111 509.72444445-509.72444445-225.73511111-509.72444445-509.72444445-509.72444445z" fill="#333333" p-id="4974"></path><path d="M293.54666667 512m-36.40888889 0a36.40888889 36.40888889 0 1 0 72.81777777 0 36.40888889 36.40888889 0 1 0-72.81777777 0Z" fill="#333333" p-id="4975"></path><path d="M730.45333333 512m-36.40888888 0a36.40888889 36.40888889 0 1 0 72.81777777 0 36.40888889 36.40888889 0 1 0-72.81777777 0Z" fill="#333333" p-id="4976"></path><path d="M512 293.54666667m-36.40888889 0a36.40888889 36.40888889 0 1 0 72.81777778 0 36.40888889 36.40888889 0 1 0-72.81777778 0Z" fill="#333333" p-id="4977"></path><path d="M512 730.45333333m-36.40888889 0a36.40888889 36.40888889 0 1 0 72.81777778 0 36.40888889 36.40888889 0 1 0-72.81777778 0Z" fill="#333333" p-id="4978"></path><path d="M293.54666667 475.59111111h436.90666666v72.81777778H293.54666667z" fill="#333333" p-id="4979"></path><path d="M475.59111111 293.54666667h72.81777778v436.90666666h-72.81777778z" fill="#333333" p-id="4980"></path></svg>

Before

Width:  |  Height:  |  Size: 1.5 KiB

View File

@ -0,0 +1,14 @@
<svg
class="icon"
style="width: 1em;height: 1em;vertical-align: middle;fill: currentColor;overflow: hidden;"
viewBox="0 0 1024 1024"
version="1.1"
xmlns="http://www.w3.org/2000/svg"
p-id="3934"
>
<path
d="M668.372415 709.5061V586.853479a314.4939 314.4939 0 1 0-314.4939 0V709.5061H39.384615l78.623475 157.24695h786.23475l78.623475-157.24695zM511.125465 159.141776a157.24695 157.24695 0 1 1-157.24695 157.24695 157.24695 157.24695 0 0 1 157.24695-157.24695zM118.00809 945.376525h786.23475v78.623475H118.00809z"
fill="#272536"
p-id="3935"
/>
</svg>

After

Width:  |  Height:  |  Size: 574 B

View File

@ -34,7 +34,7 @@ Page({
technicianUserName: "",
supervise: '',
superviseUser: "", //监理专员
superviseUserName: ""
superviseUserName: "",
},
projectUserInfo: {},
projectId: "",
@ -44,6 +44,10 @@ Page({
pageSize: 10,
total: 0,
listData: [],
//驳回信息
checkResult: -1,
approveStatus: -1,
checkImgs: [],
//任务计划
picker: false,
planOptions: [],
@ -283,8 +287,12 @@ Page({
form.technicianUserName = data.technicianUserName;
form.superviseUser = data.superviseUser;
form.superviseUserName = data.superviseUserName;
let checkImgs = (data.checkingFiles ? data.checkingFiles.split(",") : []).map(img => config.baseImgUrl + img);
this.setData({
checkResult: data.checkResult,
checkImgs: checkImgs,
imageInfoData: imgs,
approveStatus: data.approveStatus,
form: {
...form
}
@ -337,8 +345,8 @@ Page({
}
let taskInfo = {
id: form.task.id,
name: form.task.taskName,
full: form.task.fullPath
name: form.task.taskName || form.task.name,
full: form.task.fullPath || form.task.full
}
postData.workingPosition = JSON.stringify(taskInfo);
let fileUrls = await uploadFiles(this.data.imageInfoData);

View File

@ -1,4 +1,5 @@
{
"usingComponents": {},
"navigationStyle": "custom"
"navigationStyle": "custom",
"styleIsolation": "apply-shared"
}

View File

@ -1,47 +1,36 @@
/* pageage/project_checked/add/index.wxss */
.project-checked-add {
.max_content_scroll {
color: #89a4eb;
font-size: 28rpx;
padding: 60rpx 30rpx 30rpx;
width: calc(100% - 60rpx);
position: relative;
top: 140rpx;
.mt40 {
margin-top: 40rpx;
}
.mt40 {
margin-top: 40rpx;
}
.mt20 {
margin-top: 20rpx;
}
.add-info {
background-color: #514f4f8a;
color: #888;
margin-top: 16rpx;
line-height: 60rpx;
border-radius: 30rpx;
padding: 0rpx 30rpx;
}
.gd_max {
padding: 10rpx 20rpx 0;
}
.rectifier_title {
position: relative;
background: #27304f;
border-radius: 15rpx;
text-align: center;
padding: 20rpx 15rpx;
}
.add-info {
background-color: #514f4f8a;
color: #888;
margin-top: 16rpx;
line-height: 60rpx;
border-radius: 30rpx;
padding: 0rpx 30rpx;
}
.rectifier_close {
position: absolute;
width: 50rpx;
height: 50rpx;
right: 20rpx;
top: 12rpx;
line-height: 60rpx;
text-align: center;
}
.h80 {
height: 80rpx;
}
.add_textarea {
height: 60rpx;
}
.approve-status {
position: absolute;
top: 0rpx;
right: 50rpx;
z-index: 99;
.code_label {
font-size: 40rpx;
padding: 4rpx 20rpx;
}
}

View File

@ -1,27 +1,35 @@
<wxs module="format" src="/utils/format.wxs"></wxs>
<view class="project-checked-add">
<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 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>
<scroll-view class="max_content_scroll" type="list" scroll-y style="padding: 30rpx">
<project-select init="{{ initData }}" bindchange="onProjectSelect" id="projectSel"></project-select>
</view>
<scroll-view class="max_content_scroll" type="list" scroll-y>
<project-select init="{{ initData }}" bindchange="onProjectSelect" id="projectSel"></project-select>
<view class="gd_max">
<view class="mt40">分包单位</view>
<view class="add-info">{{ projectUserInfo.subDeptName }}</view>
<view class="mt40 markers inspect_info_title">工程部位</view>
<view class="inspect_info_content">
<textarea class="add_textarea" placeholder="请填写选择工程计划" placeholder-style="color:#6777aa;" bindtap="openPicker"
disabled model:value="{{ form.taskName }}" />
<van-popup show="{{ picker }}" bind:close="closePicker" position="bottom">
@ -43,6 +51,24 @@
</view>
<view wx:if="{{ approveStatus == 3 }}" style="position: relative;">
<view class="approve-status">
<view wx:if="{{ approveStatus == 3 }}" class="code_label code_label_red">已驳回</view>
</view>
<view class="inspect_info_content">
<view class=" inspect_info_title">验收结果</view>
<textarea class="add_textarea h80" disabled model:value="{{ checkResult==1?'合格':'不合格' }}" />
</view>
<view class="inspect_info_content">
<view class=" inspect_info_title">三方验收照片</view>
<view class="problem_list_info_con in-img-max">
<view class="in-img-div" wx:for="{{checkImgs}}" wx:key="index">
<image bindtap='showImg' data-set="{{item}}" src="{{item+'.min.jpg'}}"></image>
</view>
</view>
</view>
</view>
<view class="inspect_info_content">
<view class="markers inspect_info_title">技术专员</view>
@ -57,23 +83,23 @@
selectValue="{{form.supervise}}"></voucher-select>
</view>
<view class="mt40 markers inspect_info_title">结果描述</view>
<view class="inspect_info_content">
<view class="markers inspect_info_title">结果描述</view>
<textarea class="add_textarea" placeholder="请填写结果描述" placeholder-style="color:#6777aa;"
model:value="{{ form.intro }}" maxlength="200" bindinput="onIntroInput" />
</view>
<view class="mt40 markers inspect_info_title">验收时间</view>
<view class="inspect_info_content">
<view class=" markers inspect_info_title">验收时间</view>
<voucher-date counts="5" placeholder="请选择完成时间" minDate="{{ minDate }}" maxDate="{{ maxDate }}"
model:value="{{ form.checkingDate }}" bindchange="onInputTime"
currentDate="{{ form.checkingDate }}"></voucher-date>
</view>
<view class="mt40 markers inspect_info_title">验收照片</view>
<view class="inspect_info_content">
<view class=" markers inspect_info_title">验收照片</view>
<view class="inspect_info_content" style="margin-left: 10px">
<file-uploader bindimages="onImagesArr" fileUrlArray="{{imageInfoData}}"></file-uploader>
</view>
@ -83,5 +109,5 @@
<view class="problem_submit_to_btn" bindtap="returnToPage">取消</view>
<view class="problem_submit_to_btn problem_submit_to_save" bindtap="submitSave">确认</view>
</view>
</scroll-view>
</view>
</view>
</scroll-view>

View File

@ -1,16 +1,13 @@
/* pageage/project_checked/add/index.wxss */
.project-checked-add .max_content_scroll {
color: #89a4eb;
font-size: 28rpx;
padding: 60rpx 30rpx 30rpx;
width: calc(100% - 60rpx);
position: relative;
top: 140rpx;
}
.project-checked-add .max_content_scroll .mt40 {
.mt40 {
margin-top: 40rpx;
}
.project-checked-add .max_content_scroll .add-info {
.mt20 {
margin-top: 20rpx;
}
.gd_max {
padding: 10rpx 20rpx 0;
}
.add-info {
background-color: #514f4f8a;
color: #888;
margin-top: 16rpx;
@ -18,22 +15,16 @@
border-radius: 30rpx;
padding: 0rpx 30rpx;
}
.project-checked-add .max_content_scroll .rectifier_title {
position: relative;
background: #27304f;
border-radius: 15rpx;
text-align: center;
padding: 20rpx 15rpx;
.h80 {
height: 80rpx;
}
.project-checked-add .max_content_scroll .rectifier_close {
.approve-status {
position: absolute;
width: 50rpx;
height: 50rpx;
right: 20rpx;
top: 12rpx;
line-height: 60rpx;
text-align: center;
top: 0rpx;
right: 50rpx;
z-index: 99;
}
.project-checked-add .max_content_scroll .add_textarea {
height: 60rpx;
.approve-status .code_label {
font-size: 40rpx;
padding: 4rpx 20rpx;
}

View File

@ -4,6 +4,9 @@ import fmt from "../../../utils/date.js";
import { getToken, getUserInfo } from "../../../utils/auth";
import { uploadFiles } from "../../../utils/upload.js";
import { tryToJson } from '../../../utils/tools'
import {
findDictCache,
} from '../../../api/publics'
import {
getProjectChecked,
findPlanDatas,
@ -24,6 +27,9 @@ Page({
projectId: "",
projectName: "",
initData: {},
isApprove: false,
checkResult: null,
checkingFiles: [],
},
/**
@ -44,7 +50,28 @@ Page({
id: app.globalData.useProjectId,
text: app.globalData.useProjectName,
},
isApprove: options.type == "approve",
});
if (options.id) {
//加载数据
this.loadData(options.id);
} else {
app.toast("参数错误!");
this.doBack(false)
}
},
onCheckResultChange(e) {
this.setData({
checkResult: e.detail
})
},
// 上传图片
onImagesArr(e) {
this.setData({
imageInfoData: e.detail
})
},
doBack(isRefresh) {
/*返回列表页面并刷新*/
@ -58,56 +85,65 @@ Page({
})
}
},
returnToPage: function (isRefresh) {
//展示图片
showImg: function (e) {
let img = e.target.dataset.set;
wx.previewImage({
urls: img.split(','),
current: 0
})
},
/**
*加载数据
*/
loadData(id) {
wx.showLoading({
title: '加载中...',
})
getProjectChecked(id).then(res => {
let data = res.data || {};
let task = tryToJson(data.workingPosition, {});
let imgs = (data.imageUrls ? data.imageUrls.split(",") : []).map(img => config.baseImgUrl + img);
let checkImgs = (data.checkingFiles ? data.checkingFiles.split(",") : []).map(img => config.baseImgUrl + img);
data.images = imgs;
data.taskName = task.full;
data.checkImgs = checkImgs;
this.setData({
rowData: data,
imageInfoData: checkImgs,
})
wx.hideLoading()
});
},
returnToPage: function (isRefresh) {
this.doBack(false)
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady() {
},
/**
* 生命周期函数--监听页面显示
*/
onShow() {
},
/**
* 生命周期函数--监听页面隐藏
*/
onHide() {
},
/**
* 生命周期函数--监听页面卸载
*/
onUnload() {
},
/**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh() {
},
/**
* 页面上拉触底事件的处理函数
*/
onReachBottom() {
},
/**
* 用户点击右上角分享
*/
onShareAppMessage() {
async submitSave(e) {
let approveStatus = e.target.dataset.set;
if (!this.data.checkResult) {
app.toast("请选择审批结果!");
return false;
}
if (this.data.imageInfoData.length == 0) {
app.toast("请上传图片!");
return;
}
let fileUrls = await uploadFiles(this.data.imageInfoData);
debugger
let postData = {
id: this.data.rowData.id,
approveStatus: approveStatus,
checkResult: this.data.checkResult,
checkingFiles: fileUrls.join(","),
};
try {
await updateProjectChecked(postData);
app.toast("保存成功!");
this.doBack(true);
} catch (error) {
console.error('保存失败:', error);
app.toast("保存失败,请重试");
}
}
})

View File

@ -1,4 +1,5 @@
{
"usingComponents": {},
"navigationStyle": "custom"
"navigationStyle": "custom",
"styleIsolation": "apply-shared"
}

View File

@ -0,0 +1,49 @@
.mt40 {
margin-top: 40rpx;
}
.mt20 {
margin-top: 20rpx;
}
.gd_max {
padding: 10rpx 20rpx 0;
}
.add-info {
background-color: #514f4f8a;
color: #888;
margin-top: 16rpx;
line-height: 60rpx;
border-radius: 30rpx;
padding: 0rpx 30rpx;
}
.h80 {
height: 80rpx;
}
.approve-status {
position: absolute;
top: 120rpx;
right: 50rpx;
.code_label {
font-size: 40rpx;
padding: 4rpx 20rpx;
}
}
.radio-group {
display: flex;
flex-direction: row;
align-items: center;
.radio-item {
width: 40%;
}
}
.problem_submit_to {
padding: 40rpx 0rpx;
}

View File

@ -1,17 +1,116 @@
<wxs module="format" src="/utils/format.wxs"></wxs>
<view class="project-checked-info">
<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 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>
<scroll-view class="max_content_scroll" type="list" scroll-y>
<project-select init="{{ initData }}" bindchange="onProjectSelect" id="projectSel"></project-select>
<view class="gd_max">
<view class="mt40">分包单位</view>
<view class="add-info">{{ projectUserInfo.subDeptName }}</view>
<view class="approve-status">
<view wx:if="{{ rowData.approveStatus == 1 }}" class="code_label code_label_yellow">待审批</view>
<view wx:if="{{ rowData.approveStatus == 3 }}" class="code_label code_label_red">已驳回</view>
<view wx:if="{{ rowData.approveStatus == 4 || rowData.approveStatus == 100}}"
class="code_label code_label_green">已完成
</view>
</view>
<view class="inspect_info_content 480">
<view class=" inspect_info_title">工程部位</view>
<textarea class="add_textarea h80" disabled model:value="{{ rowData.taskName }}" />
</view>
<view class="inspect_info_content">
<view class=" inspect_info_title">班组长</view>
<textarea class="add_textarea h80" disabled
model:value="{{ rowData.groupDeptUserName + '('+rowData.groupDeptUser+')'}}" />
</view>
<view class="inspect_info_content">
<view class=" inspect_info_title">技术专员</view>
<textarea class="add_textarea h80" disabled
model:value="{{ rowData.technicianUserName + '('+rowData.technicianUser+')'}}" />
</view>
<view class="inspect_info_content">
<view class=" inspect_info_title">监理员</view>
<textarea class="add_textarea h80" disabled
model:value="{{ rowData.superviseUserName + '('+rowData.superviseUser+')'}}" />
</view>
<view class="inspect_info_content">
<view class=" inspect_info_title">结果描述</view>
<textarea class="add_textarea" disabled model:value="{{ rowData.intro }}" />
</view>
<view class="inspect_info_content">
<view class=" inspect_info_title">验收时间</view>
<textarea class="add_textarea h80" disabled model:value="{{ rowData.checkingDate }}" />
</view>
<view class="inspect_info_content">
<view class=" inspect_info_title">验收照片</view>
<view class="problem_list_info_con in-img-max">
<view class="in-img-div" wx:for="{{rowData.images}}" wx:key="index">
<image bindtap='showImg' data-set="{{item}}" src="{{item+'.min.jpg'}}"></image>
</view>
</view>
</view>
<view wx:if="{{rowData.approveStatus == 4 || rowData.approveStatus == 100}}">
<view class="inspect_info_content">
<view class=" inspect_info_title">三方验收照片</view>
<view class="problem_list_info_con in-img-max">
<view class="in-img-div" wx:for="{{rowData.checkImgs}}" wx:key="index">
<image bindtap='showImg' data-set="{{item}}" src="{{item+'.min.jpg'}}"></image>
</view>
</van-col>
<van-col span="15">
<view class="header_name">项目举牌验收-详情</view>
</van-col>
</van-row>
</view>
</view>
<view class="inspect_info_content">
<view class=" inspect_info_title">验收结果</view>
<textarea class="add_textarea h80" disabled model:value="{{ rowData.checkResult==1?'合格':'不合格' }}" />
</view>
</view>
<view wx:if="{{isApprove}}">
<view class="inspect_info_content">
<view class="markers inspect_info_title">审批结果</view>
<van-radio-group class="radio-group add_textarea h80" model:value="{{ checkResult }}"
bind:change="onCheckResultChange" direction="horizontal">
<van-radio class="radio-item" name="1" shape="square" icon-size="50rpx">合格</van-radio>
<van-radio class="radio-item" name="2" shape="square" icon-size="50rpx">不合格</van-radio>
</van-radio-group>
</view>
<view class="inspect_info_content">
<view class=" markers inspect_info_title">三方验收照片</view>
<view class="inspect_info_content" style="margin-left: 10px">
<file-uploader bindimages="onImagesArr" fileUrlArray="{{imageInfoData}}"></file-uploader>
</view>
</view>
<view class="problem_submit_to">
<view class="problem_submit_to_btn" bindtap="returnToPage">返回</view>
<view class="problem_submit_to_btn problem_submit_to_save" data-set="3" bindtap="submitSave">驳回</view>
<view class="problem_submit_to_btn problem_submit_to_save" data-set="4" bindtap="submitSave">审批通过</view>
</view>
</view>
</view>
</view>
</scroll-view>

View File

@ -1 +1,40 @@
/* pageage/project_checked/info/index.wxss */
.mt40 {
margin-top: 40rpx;
}
.mt20 {
margin-top: 20rpx;
}
.gd_max {
padding: 10rpx 20rpx 0;
}
.add-info {
background-color: #514f4f8a;
color: #888;
margin-top: 16rpx;
line-height: 60rpx;
border-radius: 30rpx;
padding: 0rpx 30rpx;
}
.h80 {
height: 80rpx;
}
.approve-status {
position: absolute;
top: 120rpx;
right: 50rpx;
}
.approve-status .code_label {
font-size: 40rpx;
padding: 4rpx 20rpx;
}
.radio-group {
display: flex;
flex-direction: row;
align-items: center;
}
.radio-group .radio-item {
width: 40%;
}
.problem_submit_to {
padding: 40rpx 0rpx;
}

View File

@ -86,21 +86,26 @@ Page({
lordSent,
recheckSend
} = e.currentTarget.dataset.set
if ((checkState == 0 || checkState == 3) && lordSent == this.data.projectUserInfo.userId) {
//整改页面(状态时待整改&&整改人是当前登录人)
wx.redirectTo({
url: `../modify/index?type=${this.data.type}&id=${id}`,
})
} else if (checkState == 1 && recheckSend == this.data.projectUserInfo.userId) {
//复检页面 (状态时待复检&&复检人是当前登录人)
wx.redirectTo({
url: `../check/index?type=${this.data.type}&id=${id}`,
})
} else {
wx.redirectTo({
url: `../info/index?type=${this.data.type}&id=${id}`,
})
}
wx.redirectTo({
url: `../info/index?type=${this.data.type}&id=${id}`,
})
/*
if ((checkState == 0 || checkState == 3) && lordSent == this.data.projectUserInfo.userId) {
//整改页面(状态时待整改&&整改人是当前登录人)
wx.redirectTo({
url: `../modify/index?type=${this.data.type}&id=${id}`,
})
} else if (checkState == 1 && recheckSend == this.data.projectUserInfo.userId) {
//复检页面 (状态时待复检&&复检人是当前登录人)
wx.redirectTo({
url: `../check/index?type=${this.data.type}&id=${id}`,
})
} else {
wx.redirectTo({
url: `../info/index?type=${this.data.type}&id=${id}`,
})
}*/
},
/**
@ -119,7 +124,8 @@ Page({
it.workingPositionName = task.name;
it.workingPositionFull = task.full;
it.taskId = task.id;
it.canEdit = it.approveStatus == 1 && it.groupDeptUser == this.data.projectUserInfo.userPhone;
it.canEdit = (it.approveStatus == 1 || it.approveStatus == 3) && it.groupDeptUser == this.data.projectUserInfo.userPhone;
it.canApprove = (it.approveStatus == 1 || it.approveStatus == 3) && it.technicianUser == this.data.projectUserInfo.userPhone;
return it;
});
this.setData({
@ -149,7 +155,14 @@ Page({
}
});
},
//审批
approveClick(e) {
let item = e.currentTarget.dataset.set
wx.navigateTo({
url: `../info/index?id=${item.id}&type=approve`,
})
},
//编辑
editClick(e) {
let item = e.currentTarget.dataset.set
wx.navigateTo({
@ -180,13 +193,6 @@ Page({
this.getListData(nav);
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady() {
},
/**
* 生命周期函数--监听页面显示
*/
@ -224,38 +230,4 @@ Page({
}
},
/**
* 生命周期函数--监听页面隐藏
*/
onHide() {
},
/**
* 生命周期函数--监听页面卸载
*/
onUnload() {
},
/**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh() {
},
/**
* 页面上拉触底事件的处理函数
*/
onReachBottom() {
},
/**
* 用户点击右上角分享
*/
onShareAppMessage() {
}
})

View File

@ -30,9 +30,13 @@
<view class="inspect_for_bgd">
<view class="inspect_list_title">
<view class="inspect_list_title_label inspect_list_title_width">
<view wx:if="item.canEdit" class="edit-icon" catchtap="editClick" data-set="{{ item }}">
<view class="edit-icon" catchtap="editClick" data-set="{{ item }}" wx:if="{{item.canEdit}}">
<svg-icon src="edit" color="#45affb" size="80" />
</view>
<view wx:if="{{item.canApprove}}" class="edit-icon" catchtap="approveClick" data-set="{{ item }}">
<svg-icon src="approve" color="#f20d5d" size="80" />
</view>
<view class="inspect_list_title_number">{{
index < 10 ? "0" + (index + 1) : index + 1 }}</view>
<view class="module_title module_title_flex inspect_list_title_text_2">