|
|
|
<page-meta page-style="{{ planStartTimePopupShow||planEndTimePopupShow ? 'overflow: hidden;' : '' }}" />
|
|
|
|
<view style="background:#F7F7FA; min-height:calc(100vh - 48rpx); width: 100vw">
|
|
|
|
<van-cell-group class="mission-card">
|
|
|
|
<view class="mission-card-title">
|
|
|
|
<image class="icon" src="../../../images/title_icon.svg"></image>
|
|
|
|
<span class="title">巡检信息</span>
|
|
|
|
</view>
|
|
|
|
<van-field size="large" value="{{data.PatrolRecord.points.project.name}}" label="结构物名称" readonly />
|
|
|
|
<van-field size="large" value="{{data.PatrolRecord.points.user.name}}" label="巡检人" readonly />
|
|
|
|
<van-field size="large" value="{{data.PatrolRecord.points.user.department.name}}" label="巡检单位" readonly />
|
|
|
|
<van-field size="large" value="{{data.PatrolRecord.inspectionTime}}" label="巡检时间" readonly />
|
|
|
|
<view class="mission-card-title mission-center-card-title">
|
|
|
|
<image class="icon" src="../../../images/title_icon.svg"></image>
|
|
|
|
<span>问题详情</span>
|
|
|
|
</view>
|
|
|
|
<van-field value="{{data.PatrolRecord.points.itemData.name}}" label="点位" readonly accordion />
|
|
|
|
<van-collapse wx:if="{{data.PatrolRecord.points.inspectContent}}" value="{{ pointItemCollapseActiveNames }}" bind:change="onPointItemCollapseActiveChange" border="{{false}}">
|
|
|
|
<block wx:for="{{data.PatrolRecord.points.inspectContent}}" wx:key="index">
|
|
|
|
<van-collapse-item wx:if="{{!item.isNormal}}" name="{{item.itemName}}" border="{{false}}">
|
|
|
|
<view slot="title">
|
|
|
|
<van-field value="{{item.itemName}}" label="检查项" readonly />
|
|
|
|
</view>
|
|
|
|
<view slot="">
|
|
|
|
<van-field value="{{item.level}}" label="异常等级" readonly />
|
|
|
|
<van-field value="{{item.msgInp||''}}" label="问题描述" readonly />
|
|
|
|
<van-cell border="{{false}}">
|
|
|
|
<view style="display:flex">
|
|
|
|
<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" data-type="point"></image>
|
|
|
|
</block>
|
|
|
|
</view>
|
|
|
|
</view>
|
|
|
|
</van-cell>
|
|
|
|
</view>
|
|
|
|
</van-collapse-item>
|
|
|
|
</block>
|
|
|
|
</van-collapse>
|
|
|
|
<view class="mission-card-title mission-center-card-title">
|
|
|
|
<image class="icon" src="../../../images/title_icon.svg"></image>
|
|
|
|
<span>维修计划信息</span>
|
|
|
|
</view>
|
|
|
|
<van-cell>
|
|
|
|
<view style="display:flex">
|
|
|
|
<view class="fs-cell-title" style="">维修人</view>
|
|
|
|
<picker style="width:100%;text-align:left" disabled="{{!isPlanState}}" bindchange="onMaintenancePersonPopupChange" data-type='weixiu' value="{{0}}" range="{{focusPerson}}" range-key="name">
|
|
|
|
<view class="fs-cell-content" style="width:100%">
|
|
|
|
{{maintenancePersonIndex||maintenancePersonIndex==0?focusPerson[maintenancePersonIndex].name:'请选择'}}
|
|
|
|
<van-icon wx:if="{{isPlanState}}" name="arrow" style="float:right;position:relative; top:4px" />
|
|
|
|
</view>
|
|
|
|
</picker>
|
|
|
|
</view>
|
|
|
|
</van-cell>
|
|
|
|
<van-field value="{{maintenancePersonDepartmentShow}}" label="维修单位" placeholder="" readonly="{{true}}" />
|
|
|
|
<van-cell>
|
|
|
|
<view style="display:flex">
|
|
|
|
<view class="fs-cell-title" style="">质检人</view>
|
|
|
|
<picker style="width:100%;text-align:left" disabled="{{!isPlanState}}" bindchange="onMaintenancePersonPopupChange" data-type='zhijian' value="{{qualityPersonIndex}}" range="{{focusPerson}}" range-key="name">
|
|
|
|
<view class="fs-cell-content" style="width:100%">
|
|
|
|
{{qualityPersonIndex||qualityPersonIndex==0?focusPerson[qualityPersonIndex].name:'请选择'}}
|
|
|
|
<van-icon wx:if="{{isPlanState}}" name="arrow" style="float:right;position:relative; top:4px" />
|
|
|
|
</view>
|
|
|
|
</picker>
|
|
|
|
</view>
|
|
|
|
</van-cell>
|
|
|
|
<van-cell>
|
|
|
|
<view style="display:flex">
|
|
|
|
<view class="fs-cell-title" style="">计划开始时间</view>
|
|
|
|
<view class="fs-cell-content" style="width:100%;text-align:left" bindtap="showPlanStartTimePopup">
|
|
|
|
{{planStartTimeShow?planStartTimeShow:'请选择'}}
|
|
|
|
<van-icon wx:if="{{isPlanState}}" name="arrow" style="float:right;position:relative; top:4px" />
|
|
|
|
</view>
|
|
|
|
<van-popup show="{{ planStartTimePopupShow }}" position="bottom" custom-style="height: 50%;" bind:close="closePlanStartTimePopup">
|
|
|
|
<view style="display:flex;justify-content: space-between;padding:24rpx;font-size:larger;border-bottom:1px solid #f5f5f5">
|
|
|
|
<view bindtap="closePlanStartTimePopup" data-option='cancel'>取消</view>
|
|
|
|
<view style="color:#07c160;" data-option='confirmed' bindtap="closePlanStartTimePopup">
|
|
|
|
确定
|
|
|
|
</view>
|
|
|
|
</view>
|
|
|
|
<van-datetime-picker type="date" value="{{ planStartTime }}" min-date="{{1640966400000}}" bind:input="onPlanStartTimeChange" show-toolbar="{{false}}" />
|
|
|
|
</van-popup>
|
|
|
|
</view>
|
|
|
|
</van-cell>
|
|
|
|
<van-cell>
|
|
|
|
<view style="display:flex">
|
|
|
|
<view class="fs-cell-title" style="">计划结束时间</view>
|
|
|
|
<view class="fs-cell-content" style="width:100%;text-align:left" bindtap="showPlanEndTimePopup">
|
|
|
|
{{planEndTimeShow?planEndTimeShow:'请选择'}}
|
|
|
|
<van-icon wx:if="{{isPlanState}}" name="arrow" style="float:right;position:relative; top:4px" />
|
|
|
|
</view>
|
|
|
|
<van-popup show="{{ planEndTimePopupShow }}" position="bottom" custom-style="height: 50%;" bind:close="closePlanEndTimePopup">
|
|
|
|
<view style="display:flex;justify-content: space-between;padding:24rpx;font-size:larger;border-bottom:1px solid #f5f5f5">
|
|
|
|
<view bindtap="closePlanEndTimePopup" data-option='cancel'>取消</view>
|
|
|
|
<view style="color:#07c160;" data-option='confirmed' bindtap="closePlanEndTimePopup">
|
|
|
|
确定
|
|
|
|
</view>
|
|
|
|
</view>
|
|
|
|
<van-datetime-picker type="date" value="{{ planEndTime }}" min-date="{{1640966400000}}" bind:input="onPlanEndTimeChange" show-toolbar="{{false}}" />
|
|
|
|
</van-popup>
|
|
|
|
</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 && tabIndex == 0) ||(data.state > 2 && tabIndex == 1) }}">
|
|
|
|
<view class="mission-card-title mission-center-card-title">
|
|
|
|
<span>维修计划审批</span>
|
|
|
|
</view>
|
|
|
|
<van-field value="{{ planApproval }}" label="审批意见" type="textarea" placeholder="请输入" extra-event-params="{{true}}" autosize readonly="{{!isApprove}}" bind:input="onInputChange" data-type='planApproval' />
|
|
|
|
<block wx:if="{{data.state > 2}}">
|
|
|
|
<van-field value="{{planApprovalPerson}}" label="审批人" readonly="{{true}}" />
|
|
|
|
<van-field value="{{planApprovalTime}}" label="审批日期" readonly="{{true}}" />
|
|
|
|
</block>
|
|
|
|
</view>
|
|
|
|
<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 bind:input="onInputChange" data-type='repair' readonly="{{!isRepair}}" />
|
|
|
|
<van-cell>
|
|
|
|
<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="{{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>
|
|
|
|
<!-- 用来提示用户上传图片 -->
|
|
|
|
<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>
|
|
|
|
<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 />
|
|
|
|
<van-field value="{{ cost }}" extra-event-params="{{true}}" label="成本(元)" type="digit" placeholder="请输入" bind:input="onInputChange" data-type='cost' readonly="{{!isCheck}}" />
|
|
|
|
<van-cell>
|
|
|
|
<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>
|
|
|
|
</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="padding:43px 16px">
|
|
|
|
<van-button wx:if="{{isPlanState|| isRepair}}" round type="info" block style="" bindtap="confirm">
|
|
|
|
提交
|
|
|
|
</van-button>
|
|
|
|
<view wx:if="{{isApprove}}" style="display:flex; justify-content:space-between">
|
|
|
|
<van-button round type="info" custom-style="width:calc((100vw - 32px - 24px) / 2)" bindtap="confirm" data-approve="agree">
|
|
|
|
同意
|
|
|
|
</van-button>
|
|
|
|
<van-button round type="warning" custom-style="width:calc((100vw - 32px - 24px) / 2)" bindtap="confirm" data-approve="refuse">
|
|
|
|
驳回
|
|
|
|
</van-button>
|
|
|
|
</view>
|
|
|
|
<view wx:if="{{isCheck}}" style="display:flex; justify-content:space-between">
|
|
|
|
<van-button round type="info" custom-style="width:calc((100vw - 32px - 24px) / 2)" bindtap="confirm" data-approve="agree">
|
|
|
|
验收通过
|
|
|
|
</van-button>
|
|
|
|
<van-button round type="warning" custom-style="width:calc((100vw - 32px - 24px) / 2)" bindtap="confirm" data-approve="refuse">
|
|
|
|
验收不通过
|
|
|
|
</van-button>
|
|
|
|
</view>
|
|
|
|
</view>
|
|
|
|
</view>
|