279 lines
15 KiB
Plaintext
279 lines
15 KiB
Plaintext
<wxs module="module" src="../../module/module.wxs"></wxs>
|
||
<view class="container">
|
||
<view class="bg">
|
||
<image src="../../../images/bg_page_blue.png" mode="" />
|
||
</view>
|
||
<view class="top">
|
||
<view class="row">
|
||
<view class="code">{{upkeepObject.upkeepBill.orderNo}}</view>
|
||
<view class="number-plate">
|
||
<view class="status status1">{{currentflowStatus == 2 ? '待派单' : '待报价'}}</view>
|
||
<view class="val">{{upkeepObject.upkeepBill.plateNumber}}</view>
|
||
</view>
|
||
</view>
|
||
<view class="row">
|
||
<view class="project-name">{{upkeepObject.upkeepBill.projectId_dictText}}</view>
|
||
<view class="time">{{upkeepObject.upkeepBill.predictTime}}</view>
|
||
</view>
|
||
</view>
|
||
<view class="detail-container">
|
||
<view class="tabs">
|
||
<view class="tab {{tabActive == 0 ? 'active' : ''}} {{upkeepObject.upkeepOffer ? 'tabBg' : ''}}" data-tab="0" catch:tap="changeTab">
|
||
<view class="bg" wx:if="{{tabActive == 0}}">
|
||
<image src="../../../images/btn_l.png" mode="" />
|
||
</view>
|
||
<view class="value">基本信息</view>
|
||
</view>
|
||
<view class="tab {{tabActive == 1 ? 'active' : ''}} tabBg" data-tab="1" catch:tap="changeTab" wx:if="{{upkeepObject.upkeepOffer}}">
|
||
<view class="bg" wx:if="{{tabActive == 1}}">
|
||
<image src="../../../images/btn_r.png" mode="" />
|
||
</view>
|
||
<view class="value">报价信息</view>
|
||
</view>
|
||
<!-- <view class="tab {{tabActive == 0 ? 'active' : ''}}" data-tab="0" catch:tap="changeTab">基本信息</view>
|
||
<view class="tab {{tabActive == 1 ? 'active' : ''}}" data-tab="1" catch:tap="changeTab" wx:if="{{upkeepObject.upkeepOffer}}">报价信息</view> -->
|
||
</view>
|
||
<view class="{{(currentflowStatus == 2 && userInfo.userType != 1)? 'contentHeight1' : ''}}{{(currentflowStatus == 3 || userInfo.userType == 1) ? 'contentHeight3' : ''}} content">
|
||
<view class="info" wx:if="{{tabActive == 0}}">
|
||
<view class="row">
|
||
<view class="label label-width">车架号</view>
|
||
<view class="val val-width">{{upkeepObject.upkeepBill.frameNumber || '/'}}</view>
|
||
</view>
|
||
<view class="row">
|
||
<view class="label label-width">交车时间</view>
|
||
<view class="val val-width">{{upkeepObject.upkeepBill.deliveryTime || '/'}}</view>
|
||
</view>
|
||
<view class="row">
|
||
<view class="label label-width">车辆品牌</view>
|
||
<view class="val val-width">{{upkeepObject.upkeepBill.vehicleBrand_dictText || '/'}}</view>
|
||
</view>
|
||
<view class="row">
|
||
<view class="label label-width">车辆型号</view>
|
||
<view class="val val-width">{{upkeepObject.upkeepBill.vehicleModel || '/'}}</view>
|
||
</view>
|
||
<view class="row">
|
||
<view class="label label-width">车辆种类</view>
|
||
<view class="val val-width">{{upkeepObject.upkeepBill.vehicleType_dictText || '/'}}</view>
|
||
</view>
|
||
<view class="row">
|
||
<view class="label label-width">VIN码</view>
|
||
<view class="val val-width">{{upkeepObject.upkeepBill.vinCode || '/'}}</view>
|
||
</view>
|
||
<view class="row">
|
||
<view class="label label-width">发动机码</view>
|
||
<view class="val val-width">{{upkeepObject.upkeepBill.engineNumber || '/'}}</view>
|
||
</view>
|
||
<view class="row">
|
||
<view class="label label-width">提单时间</view>
|
||
<view class="val val-width">{{upkeepObject.upkeepBill.createTime || '/'}}</view>
|
||
</view>
|
||
<view class="row">
|
||
<view class="label label-width">上次保养时间</view>
|
||
<view class="val val-width">{{upkeepObject.upkeepBill.lastTime || '/'}}</view>
|
||
</view>
|
||
<view class="row">
|
||
<view class="label label-width">上次保养里程</view>
|
||
<view class="val val-width">{{upkeepObject.upkeepBill.lastMileage || '/'}}</view>
|
||
</view>
|
||
<view class="row">
|
||
<view class="label label-width">预计保养时间</view>
|
||
<view class="val val-width">{{upkeepObject.upkeepBill.predictTime || '/'}}</view>
|
||
</view>
|
||
<view class="row">
|
||
<view class="label label-width">预计保养里程</view>
|
||
<view class="val val-width">{{upkeepObject.upkeepBill.predictMileage || '/'}}</view>
|
||
</view>
|
||
<view class="row">
|
||
<view class="label label-width">保养内容</view>
|
||
<view class="val val-width">{{upkeepObject.upkeepBill.content || '/'}}</view>
|
||
</view>
|
||
<view class="row">
|
||
<view class="label">附件</view>
|
||
<view class="pic-box" wx:if="{{upkeepObject.upkeepBill.attachmentList}}">
|
||
<view class="item" wx:for="{{upkeepObject.upkeepBill.attachmentList}}" wx:for-item="item" wx:for-index="index" wx:key="index">
|
||
<image src="{{item.fileUrl}}" mode="" data-index="{{index}}" data-image="attachmentList" catch:tap="showImage" />
|
||
</view>
|
||
</view>
|
||
<view wx:else class="val">/</view>
|
||
</view>
|
||
<view wx:if="{{currentflowStatus == 3}}">
|
||
<van-divider></van-divider>
|
||
<view class="row">
|
||
<view class="label label-width">指派维修厂</view>
|
||
<view class="val val-width">{{upkeepObject.upkeepAssign.repairShop_dictText || '/'}}</view>
|
||
</view>
|
||
<view class="row">
|
||
<view class="label label-width">保养人</view>
|
||
<view class="val val-width">{{upkeepObject.upkeepAssign.contact || '/'}}</view>
|
||
</view>
|
||
<view class="row">
|
||
<view class="label label-width">联系电话</view>
|
||
<view class="val val-width">{{upkeepObject.upkeepAssign.contactPhone || '/'}}</view>
|
||
</view>
|
||
</view>
|
||
</view>
|
||
<view class="info" wx:if="{{tabActive == 1 && upkeepObject.upkeepOffer}}">
|
||
<view class="row">
|
||
<view class="label">保养明细({{upkeepObject.upkeepOffer.repairDetailList.length}})</view>
|
||
<view class="val" bindtap="collapse">
|
||
<view class="collapsed">
|
||
<image wx:if="{{isCollapsed}}" src="../../../images/icon_down.png" mode="" />
|
||
<image wx:else src="../../../images/icon_up.png" mode="" />
|
||
<view>{{isCollapsed ? '展开' : '收起'}}</view>
|
||
</view>
|
||
</view>
|
||
</view>
|
||
<view class="repairList" style="{{isCollapsed ? 'max-height: 0px;' : ''}}">
|
||
<view class="repairList-item" wx:for="{{upkeepObject.upkeepOffer.repairDetailList}}" wx:for-item="item" wx:for-index="index" wx:key="index">
|
||
<view class="row">
|
||
<view class="label">保养分类</view>
|
||
<view class="val">{{item.repairClass_dictText}}</view>
|
||
</view>
|
||
<view class="row">
|
||
<view class="label label-width">保养内容</view>
|
||
<view class="val val-width">{{item.repairContent ? item.repairContent : '/'}}</view>
|
||
</view>
|
||
<view class="row">
|
||
<view class="label">数量</view>
|
||
<view class="val">{{item.quantity}}</view>
|
||
</view>
|
||
<view class="row">
|
||
<view class="label">材料单价</view>
|
||
<view class="val">{{item.unitPrice}}元</view>
|
||
</view>
|
||
<view class="row">
|
||
<view class="label">工时</view>
|
||
<view class="val">{{item.workHours}}小时</view>
|
||
</view>
|
||
<view class="row">
|
||
<view class="label">工时单价</view>
|
||
<view class="val">{{item.workHoursCost}}元</view>
|
||
</view>
|
||
<view class="row">
|
||
<view class="label" style="color: #2F3B50;">费用小计</view>
|
||
<view class="val">
|
||
<text class="bold">{{item.totalCost}}</text>
|
||
<text style="margin-left: 8px;">元</text>
|
||
</view>
|
||
</view>
|
||
</view>
|
||
</view>
|
||
<view class="row">
|
||
<view class="label">材料费</view>
|
||
<view class="val">{{upkeepObject.upkeepOffer.materialCost}}元</view>
|
||
</view>
|
||
<view class="row">
|
||
<view class="label">工时</view>
|
||
<view class="val">{{upkeepObject.upkeepOffer.totalWorkHours}}小时</view>
|
||
</view>
|
||
<view class="row">
|
||
<view class="label">工时费用</view>
|
||
<view class="val">{{upkeepObject.upkeepOffer.totalWorkHoursCost}}元</view>
|
||
</view>
|
||
<view class="row">
|
||
<view class="label" style="color: #2F3B50;">保养报价</view>
|
||
<view class="val">
|
||
<text class="bold-blue">{{upkeepObject.upkeepOffer.totaCost}}</text>
|
||
<text style="margin-left: 8px;">元</text>
|
||
</view>
|
||
</view>
|
||
<view>
|
||
<van-divider></van-divider>
|
||
<view class="row">
|
||
<view class="label" style="width: 20%;">内容说明</view>
|
||
<view class="val" style="width: 80%;text-align: right;">{{upkeepObject.upkeepOffer.offerContent}}</view>
|
||
</view>
|
||
<view class="row">
|
||
<view class="label">保养前照片</view>
|
||
<view class="pic-box" wx:if="{{upkeepObject.upkeepOffer.beforeUpkeepImgUrl}}">
|
||
<view class="item" wx:for="{{upkeepObject.upkeepOffer.beforeUpkeepImgUrl}}" wx:for-item="item" wx:for-index="index" wx:key="index">
|
||
<image src="{{item}}" mode="" data-index="{{index}}" data-image="beforeUpkeepImgUrl" catch:tap="showImage" />
|
||
</view>
|
||
</view>
|
||
<view wx:else class="val">/</view>
|
||
</view>
|
||
<view class="row">
|
||
<view class="label">单据附件</view>
|
||
<view class="pic-box" wx:if="{{upkeepObject.upkeepOffer.attachmentUpkeepList}}">
|
||
<view class="item" wx:for="{{upkeepObject.upkeepOffer.attachmentUpkeepList}}" wx:for-item="item" wx:for-index="index" wx:key="index">
|
||
<image src="{{item.fileUrl}}" mode="" data-index="{{index}}" data-image="attachmentUpkeepList" catch:tap="showImage" />
|
||
</view>
|
||
</view>
|
||
<view wx:else class="val">/</view>
|
||
</view>
|
||
</view>
|
||
</view>
|
||
<view wx:if="{{upkeepObject.upkeepCheckList}}">
|
||
<view class="check-info" wx:for="{{upkeepObject.upkeepCheckList}}" wx:for-item="item" wx:for-index="index" wx:key="index">
|
||
<view class="item">
|
||
<view class="check-title" style="color: #4381FC;" wx:if="{{item.checkType == '1' && item.checkResult == '1'}}">审核结果:通过</view>
|
||
<view class="check-title" style="color: red;" wx:if="{{item.checkType == '1' && item.checkResult == '2'}}">审核结果:不通过</view>
|
||
<view class="check-title" style="color: #4381FC;" wx:if="{{item.checkType == '2' && item.checkResult == '1'}}">审批结果:通过</view>
|
||
<view class="check-title" style="color: red;" wx:if="{{item.checkType == '2' && item.checkResult == '2'}}">审批结果:不通过</view>
|
||
<view class="check-title" style="color: #4381FC;" wx:if="{{item.checkType == '5' && item.checkResult == '1'}}">复核结果:通过</view>
|
||
<view class="check-title" style="color: red;" wx:if="{{item.checkType == '5' && item.checkResult == '2'}}">复核结果:不通过</view>
|
||
<view class="check-one">
|
||
<view class="check-operator">
|
||
<text class="label">{{item.checkPeopleType_dictText}}</text>
|
||
<text class="val margin-left8">{{item.checkPeople ? item.checkPeople : '/'}}</text>
|
||
</view>
|
||
<view class="check-time">
|
||
<text class="label" wx:if="{{item.checkType == '1'}}">审核时间</text>
|
||
<text class="label" wx:if="{{item.checkType == '2'}}">审批时间</text>
|
||
<text class="label" wx:if="{{item.checkType == '5'}}">复核时间</text>
|
||
<text class="label" wx:if="{{!item.checkType}}">操作时间</text>
|
||
<text class="val margin-left8">{{item.checkTime ? item.checkTime : '/'}}</text>
|
||
</view>
|
||
</view>
|
||
<view class="check-idea">
|
||
<text class="label" wx:if="{{item.checkType == '1'}}">审核意见</text>
|
||
<text class="label" wx:if="{{item.checkType == '2'}}">审批意见</text>
|
||
<text class="label" wx:if="{{item.checkType == '5'}}">复核意见</text>
|
||
<text class="val" style="width: 81%;word-break: break-all;" wx:if="{{item.checkType}}">{{item.checkIdea ? item.checkIdea : '/'}}</text>
|
||
</view>
|
||
</view>
|
||
</view>
|
||
</view>
|
||
</view>
|
||
</view>
|
||
<view class="bottom">
|
||
<view wx:if="{{currentflowStatus == 2 && userInfo.userType != 1}}">
|
||
<view class="row select-row" data-fieldName="repairShopShow" catch:tap="pickerChange">
|
||
<view class="picker">
|
||
<view style="color: #aaa;font-size: 14px;" wx:if="{{!selectOption}}">请选择维修厂</view>
|
||
<view style="font-size: 14px;" wx:else>{{selectOption.repairShop_dictText}}</view>
|
||
<view class="arrow"></view>
|
||
</view>
|
||
</view>
|
||
<van-popup show="{{repairShopShow}}" position="bottom" bind:close="hidePicker">
|
||
<view class="searchBox">
|
||
<van-search value="{{ repairShopSearchVal }}" placeholder="请输入维修厂名" bind:search="filterRepairShop" />
|
||
</view>
|
||
<van-picker data-fieldname="repairShop" show-toolbar columns="{{filterOptions}}" bind:confirm="pickerConfirm" bind:cancel="hidePicker">
|
||
</van-picker>
|
||
</van-popup>
|
||
<view class="row">
|
||
<view class="icon">
|
||
<image src="../../../images/icon_contact.png" mode="" />
|
||
</view>
|
||
<input type="text" placeholder="请输入联系人" placeholder-style="color:#949CB5; font-size: 28rpx; font-weight: 400;" value="{{contact}}" bindinput="getContactPerson" />
|
||
<image src="../../../images/icon_delete.png" mode="" class="delete" data-fieldName="contact" catch:tap="resetData" />
|
||
</view>
|
||
<view class="row">
|
||
<view class="icon">
|
||
<image src="../../../images/icon_phone.png" mode="" />
|
||
</view>
|
||
<input type="number" placeholder="请输入联系号码" placeholder-style="color:#949CB5; font-size: 28rpx; font-weight: 400;" value="{{contactPhone}}" bindinput="getTel" bindblur="checkPhone" />
|
||
<image src="../../../images/icon_delete.png" mode="" class="delete" data-fieldName="contactPhone" catch:tap="resetData" />
|
||
</view>
|
||
</view>
|
||
<view class="btn-box">
|
||
<view class="btn cancel" catch:tap="bindCancel" wx:if="{{module.buttonPermissions(userInf.auth,'UpkeepBill:cancel')}}">作废</view>
|
||
<view class="btn cancel {{((!module.buttonPermissions(userInf.auth,'UpkeepBill:send') && currentflowStatus == 2) || (!module.buttonPermissions(userInf.auth,'UpkeepBill:offer') && currentflowStatus == 3)) ? 'btn-full' : ''}}" catch:tap="goBack" wx:else>返回</view>
|
||
<view class="btn apply" catch:tap="bindSend" wx:if="{{currentflowStatus == 2 && module.buttonPermissions(userInf.auth,'UpkeepBill:send')}}">派单</view>
|
||
<view class="btn apply" wx:elif="{{currentflowStatus == 3 && !upkeepObject.upkeepOffer && module.buttonPermissions(userInf.auth,'UpkeepBill:offer')}}" catch:tap="setOffer">去报价</view>
|
||
<view class="btn apply" wx:elif="{{currentflowStatus == 3 && upkeepObject.upkeepOffer && module.buttonPermissions(userInf.auth,'UpkeepBill:offer')}}" catch:tap="setOffer">重新报价</view>
|
||
<view class="btn cancel" catch:tap="goBack" wx:elif="{{module.buttonPermissions(userInf.auth,'UpkeepBill:cancel')}}">返回</view>
|
||
</view>
|
||
</view>
|
||
</view> |