Browse Source

维修信息上传、维修信息验收

master
巴林闲侠 2 years ago
parent
commit
69e1d64ff8
  1. 2
      weapp/package/troubleshooting/index.js
  2. 10
      weapp/package/troubleshooting/index.wxml
  3. 89
      weapp/package/troubleshooting/shootingForm/index.js
  4. 74
      weapp/package/troubleshooting/shootingForm/index.wxml
  5. 6
      weapp/package/troubleshooting/shootingForm/index.wxss

2
weapp/package/troubleshooting/index.js

@ -104,7 +104,7 @@ Page({
console.log(e);
const { shootingid } = e.currentTarget.dataset
wx.navigateTo({
url: '/package/troubleshooting/shootingForm/index?shootingid=' + shootingid,
url: '/package/troubleshooting/shootingForm/index?shootingid=' + shootingid + '&tabIndex=' + this.data.currentTab,
})
},

10
weapp/package/troubleshooting/index.wxml

@ -49,12 +49,20 @@
<span>{{item.PatrolRecord.points.project.name}}</span>
<van-button type="info" round bind:tap="toShootingForm" data-shootingid="{{item.id}}">
{{
currentTab == 0?
item.state == 1 ?'制定计划':
item.state == 2 ?'审批计划':
item.state == 3 ?'修改计划':
item.state == 4 ?'维修处理':
item.state == 5 ?'质检验收':
item.state == 6 ?'驳回重修':'查看详情'
item.state == 6 ?'查看详情':'驳回重修'
:
item.state == 1 ?'制定计划':
item.state == 2 ?'计划已提交待审批':
item.state == 3 ?'计划审批驳回':
item.state == 4 ?'计划审批通过待维修':
item.state == 5 ?'维修完成待验收':
item.state == 6 ?'验收通过':'驳回重修'
}}
</van-button>
</view>

89
weapp/package/troubleshooting/shootingForm/index.js

@ -14,6 +14,7 @@ Page({
data: {},
strucFocusUser: {},
focusPerson: [],
tabIndex: '',
shootingid: '',
pointItemCollapseActiveNames: undefined,
maintenancePersonIndex: undefined,
@ -32,20 +33,25 @@ Page({
planApprovalTime: '',
repair: '',
repairImgs: [],
checkDesc: '',
checkImgs: [],
// 表单控制
isPlanState: false,
isApprove: false,
isRepair: false,
isCheck: false,
},
/**
* 生命周期函数--监听页面加载
*/
onLoad (options) {
const { shootingid } = options
const { shootingid, tabIndex } = options
if (shootingid) {
this.setData({
shootingid
shootingid,
tabIndex
})
Promise.all(
[
@ -78,8 +84,10 @@ Page({
console.log(nextData);
this.setData({
data: nextData,
isPlanState: issue.state == 1 || issue.state == 3,
isApprove: issue.state == 2
isPlanState: tabIndex == 0 && (issue.state == 1 || issue.state == 3),
isApprove: tabIndex == 0 && issue.state == 2,
isRepair: tabIndex == 0 && (issue.state == 4 || issue.state == 7),
isCheck: tabIndex == 0 && issue.state == 5,
})
this.setData({
strucFocusUser: {
@ -110,6 +118,18 @@ Page({
planApprovalTime: issue.approveDate ? moment(issue.approveDate).format('YYYY-MM-DD HH:mm:ss') : '',
})
}
if (issue.state > 3) {
this.setData({
repair: issue.repairDesc,
repairImgs: issue.repairImage || [],
})
}
if (issue.state > 4) {
this.setData({
checkDesc: issue.checkOpinion,
checkImgs: issue.checkImage || [],
})
}
})
} else {
@ -193,8 +213,8 @@ Page({
// 预览图片
previewImg: function (e) {
console.log(e);
const { index, itemindex } = e.currentTarget.dataset
const imgs = this.data.data.PatrolRecord.points.inspectContent[itemindex].imgs;
const { index, itemindex, type } = e.currentTarget.dataset
const imgs = type == 'point' ? this.data.data.PatrolRecord.points.inspectContent[itemindex].imgs : this.data[type];
const newImgs = imgs.map(i => this.data.imgServer + i);
wx.previewImage({
current: newImgs[index],
@ -205,8 +225,9 @@ Page({
// 上传图片
chooseImg: function (e) { // 这里是选取图片的方法
const that = this;
const { type } = e.currentTarget.dataset
let pics = [];
const detailPics = that.data.repairImgs
const detailPics = that.data[type]
if (detailPics.length >= 20) {
wx.showToast({
title: '最多选择20张图片上传',
@ -237,7 +258,7 @@ Page({
that.uploadimg({
url: getApp().globalData.webUrl + '_upload/attachments/project', // 图片上传的接口
path: pics, // 选取的图片的地址数组
}, 'repairImgs');
}, type);
},
})
},
@ -295,14 +316,13 @@ Page({
// 删除图片
deleteImg: function (e) {
// let imgs = this.data.inspectContent[e.currentTarget.dataset.item].imgs;
// const index = e.currentTarget.dataset.index;
// imgs.splice(index, 1);
// const inspectContent = this.data.inspectContent;
// inspectContent[e.currentTarget.dataset.item].imgs = imgs;
// this.setData({
// inspectContent
// });
console.log(e);
const { type, index } = e.currentTarget.dataset
const imgs = this.data[type]
imgs.splice(index, 1);
this.setData({
[type]: imgs
});
},
confirm (e) {
@ -313,9 +333,12 @@ Page({
shootingid, focusPerson,
maintenancePersonIndex, maintenancePersonDepartmentShow, qualityPersonIndex, planStartTime, planEndTime, maintenanceRequirement,
userInfo, planApproval,
repair, repairImgs,
checkDesc, checkImgs
} = this.data
let nextState = ''
let confirmData = {}
let successMsg = ''
if (state == 1 || state == 3) {
nextState = 2
confirmData = {
@ -327,6 +350,7 @@ Page({
endTime: moment(planEndTime).format(),
repairAsk: maintenanceRequirement,
}
successMsg = '制定完成'
} else if (state == 2) {
confirmData = {
...confirmData,
@ -339,14 +363,41 @@ Page({
} else {
nextState = 3
}
successMsg = '审核完成'
} else if (state == 4 || state == 7) {
confirmData = {
...confirmData,
repairDesc: repair,
repairImage: repairImgs,
}
nextState = 5
successMsg = '上报成功'
} else if (state == 5) {
confirmData = {
...confirmData,
checkOpinion: checkDesc,
checkImage: checkImgs
}
if (approve == 'agree') {
nextState = 6
} else {
nextState = 7
}
successMsg = '验收完成'
}
Request.put(editPatrolRecordIssueHandle(shootingid), {
...confirmData,
state: nextState,
}).then(res => {
// wx.redirectTo({
// url: '/package/troubleshooting/index'
// })
wx.redirectTo({
url: '/package/troubleshooting/index',
complete: () => {
wx.showToast({
title: successMsg,
icon: 'success'
})
}
})
})
},

74
weapp/package/troubleshooting/shootingForm/index.wxml

@ -26,7 +26,7 @@
<view class="fs-cell-title" style="">现场照片</view>
<view class="fs-cell-content" style="">
<block wx:for="{{item.imgs}}" wx:for-index="imgIndex" wx:for-item="imgUrl" wx:key="imgIndex">
<image style="height:160rpx;width:160rpx;padding-right:12rpx;" src="{{imgServer+imgUrl}}" data-img="{{imgServer+imgUrl}}" data-index="{{imgIndex}}" data-key="{{imgIndex}}" data-itemindex="{{index}}" mode="aspectFill" bindtap="previewImg"></image>
<image style="height:160rpx;width:160rpx;padding-right:12rpx;" src="{{imgServer+imgUrl}}" data-img="{{imgServer+imgUrl}}" data-index="{{imgIndex}}" data-key="{{imgIndex}}" data-itemindex="{{index}}" mode="aspectFill" bindtap="previewImg" data-type="point"></image>
</block>
</view>
</view>
@ -98,7 +98,7 @@
</view>
</van-cell>
<van-field value="{{ maintenanceRequirement }}" label="维修要求" type="textarea" placeholder="请输入" autosize readonly="{{!isPlanState}}" extra-event-params="{{true}}" border="{{ isPlanState }}" bind:input="onInputChange" data-type='maintenanceRequirement' />
<view wx:if="{{data.state > 1}}">
<view wx:if="{{(data.state > 1 && tabIndex == 0) ||(data.state > 2 && tabIndex == 1) }}">
<view class="mission-card-title mission-center-card-title">
<span>维修计划审批</span>
</view>
@ -108,65 +108,61 @@
<van-field value="{{planApprovalTime}}" label="审批日期" readonly="{{true}}" border="{{ false }}" />
</block>
</view>
<block wx:if="{{ data.state == 4 }}">
<block wx:if="{{ (data.state > 3 && tabIndex == 0) ||(data.state > 4 && tabIndex == 1) }}">
<view class="mission-card-title mission-center-card-title">
<span>维修处理</span>
</view>
<van-field value="{{ repair }}" extra-event-params="{{true}}" label="维修情况描述" type="textarea" placeholder="请输入" autosize border="{{ true }}" bind:input="onInputChange" data-type='repair' />
<van-field value="{{ repair }}" extra-event-params="{{true}}" label="维修情况描述" type="textarea" placeholder="请输入" autosize border="{{ isRepair }}" bind:input="onInputChange" data-type='repair' readonly="{{!isRepair}}" />
<van-cell border="{{false}}">
<view style="display:flex">
<view class="fs-cell-title" style="">完工图片</view>
<view class="fs-cell-content" style="">
<view class="" style="overflow-y:scroll;">
<view class="" style="overflow:hidden;">
<view class='pic' wx:for="{{repairImgs}}" wx:for-index="imgIndex" wx:for-item="imgUrl" wx:key="imgIndex">
<block wx:for="{{repairImgs}}" wx:for-index="imgIndex" wx:for-item="imgUrl" wx:key="imgIndex">
<image style="height:160rpx;width:160rpx;padding-right:12rpx;" src="{{imgServer+imgUrl}}" data-img="{{imgServer+imgUrl}}" data-index="{{imgIndex}}" data-key="{{imgIndex}}" data-itemindex="{{index}}" mode="aspectFill" bindtap="previewImg">
<icon type='cancel' class="delete-btn" data-index="{{imgIndex}}" data-type="repairImgs" catchtap="deleteImg"></icon>
</image>
</block>
<view wx:for="{{repairImgs}}" wx:for-index="imgIndex" wx:for-item="imgUrl" wx:key="imgIndex" style="display:inline;float:left">
<image style="height:160rpx;width:160rpx;padding-right:12rpx;position:relative" src="{{imgServer+imgUrl}}" data-img="{{imgServer+imgUrl}}" data-index="{{imgIndex}}" data-key="{{imgIndex}}" data-itemindex="{{index}}" data-type="repairImgs" mode="aspectFill" bindtap="previewImg">
<icon wx:if="{{isRepair}}" type='cancel' class="delete-btn" data-index="{{imgIndex}}" data-type="repairImgs" catchtap="deleteImg"></icon>
</image>
</view>
<!-- 用来提示用户上传图片 -->
<view class="" data-item="{{'item.name'}}" bindtap="chooseImg">
<image style="height:160rpx;width:160rpx;padding-right:24rpx;" class="upload" src="/images/upload.png" />
</view>
<image wx:if="{{repairImgs.length < 20 && isRepair}}" style="height:160rpx;width:160rpx;padding-right:24rpx;;float:left" class="upload" src="/images/upload.png" bindtap="chooseImg" data-type="repairImgs" />
</view>
</view>
</view>
</view>
</van-cell>
</block>
<view class="mission-card-title mission-center-card-title">
<span>质检验收</span>
</view>
<van-field value="输入框已禁用" label="验收人" readonly border="{{ false }}" />
<van-cell border="{{false}}">
<view style="display:flex">
<view class="fs-cell-title" style="">现场图片</view>
<view class="fs-cell-content" style="">
<view class="" style="overflow-y:scroll;">
<view class="" style="overflow:hidden;">
<!-- <view class='pic' wx:for="{{inspectContent[item.name].imgs}}" wx:for-item="img" wx:key="*this">
<image class='weui-uploader__img showImg' src="{{imgUrl + img}}" data-index="{{index}}" data-item="{{item.name}}" mode="aspectFill" bindtap="previewImg">
<icon type='cancel' class="delete-btn" data-index="{{index}}" data-item="{{item.name}}" catchtap="deleteImg"></icon>
</image>
</view> -->
<!-- 用来提示用户上传图片 -->
<view class="" data-item="{{'item.name'}}" bindtap="chooseImg">
<image style="height:64px;width:64px" class="upload" src="/images/upload.png" />
<block wx:if="{{(data.state > 4 && tabIndex == 0) ||(data.state > 5 && tabIndex == 1) }}">
<view class="mission-card-title mission-center-card-title">
<span>质检验收</span>
</view>
<van-field value="{{data.checkPerson.name}}" label="验收人" readonly border="{{ false }}" />
<van-cell border="{{false}}">
<view style="display:flex">
<view class="fs-cell-title" style="">现场图片</view>
<view class="fs-cell-content" style="">
<view class="" style="overflow-y:scroll;">
<view class="" style="overflow:hidden;">
<view wx:for="{{checkImgs}}" wx:for-index="imgIndex" wx:for-item="imgUrl" wx:key="imgIndex" style="display:inline;float:left">
<image style="height:160rpx;width:160rpx;padding-right:12rpx;position:relative" src="{{imgServer+imgUrl}}" data-img="{{imgServer+imgUrl}}" data-index="{{imgIndex}}" data-key="{{imgIndex}}" data-itemindex="{{index}}" data-type="checkImgs" mode="aspectFill" bindtap="previewImg">
<icon wx:if="{{isCheck}}" type='cancel' class="delete-btn" data-index="{{imgIndex}}" data-type="checkImgs" catchtap="deleteImg"></icon>
</image>
</view>
<!-- 用来提示用户上传图片 -->
<image wx:if="{{checkImgs.length < 20 && isCheck}}" style="height:160rpx;width:160rpx;padding-right:24rpx;float:left" class="upload" src="/images/upload.png" bindtap="chooseImg" data-type='checkImgs' />
</view>
</view>
</view>
</view>
</view>
</van-cell>
<van-field value="{{ repair }}" extra-event-params="{{true}}" label="验收意见" type="textarea" placeholder="请输入" autosize border="{{ true }}" />
</van-cell>
<van-field value="{{ checkDesc }}" extra-event-params="{{true}}" label="验收意见" type="textarea" placeholder="请输入" autosize border="{{ isCheck }}" bind:input="onInputChange" data-type='checkDesc' readonly="{{!isCheck}}" />
</block>
</van-cell-group>
<view style="margin:24px 16px">
<van-button wx:if="{{data.state == 1 || data.state == 3 || data.state == 4 }}" type="info" block style="" bindtap="confirm">
<van-button wx:if="{{isPlanState|| isRepair}}" type="info" block style="" bindtap="confirm">
提交
</van-button>
<view wx:if="{{data.state == 2}}" style="display:flex; justify-content:space-between">
<view wx:if="{{isApprove}}" style="display:flex; justify-content:space-between">
<van-button type="info" custom-style="width:calc((100vw - 32px - 24px) / 2)" bindtap="confirm" data-approve="agree">
同意
</van-button>
@ -174,11 +170,11 @@
驳回
</van-button>
</view>
<view style="display:flex; justify-content:space-between">
<van-button type="info" custom-style="width:calc((100vw - 32px - 24px) / 2)">
<view wx:if="{{isCheck}}" style="display:flex; justify-content:space-between">
<van-button type="info" custom-style="width:calc((100vw - 32px - 24px) / 2)" bindtap="confirm" data-approve="agree">
验收通过
</van-button>
<van-button type="warning" custom-style="width:calc((100vw - 32px - 24px) / 2)">
<van-button type="warning" custom-style="width:calc((100vw - 32px - 24px) / 2)" bindtap="confirm" data-approve="refuse">
验收不通过
</van-button>
</view>

6
weapp/package/troubleshooting/shootingForm/index.wxss

@ -23,4 +23,10 @@
.fs-cell-content {
color: var(--field-input-text-color, #323233)
}
.delete-btn {
position: absolute;
top: 0;
right: 4px;
}
Loading…
Cancel
Save