Browse Source

工单维修

xyg 2 years ago
parent
commit
c17dbf6803

+ 34 - 1
nnzwminiapp/pagesPublic/pages/work-order-detail/work-order-detail.js

@@ -10,7 +10,10 @@ Page({
      */
     data: {
         imgUrl: imgUrl,
-        isWorker: false
+        isWorker: false,
+        colorComplete: '#508FF4',
+        colorIncomplete: '#999999',
+        complete: true,
     },
 
     /**
@@ -69,6 +72,24 @@ Page({
         wx.navigateBack();
     },
 
+    radioChange(e) {
+        console.info(e)
+        // e.detail.value
+        if (e.detail.value == '已完成') {
+            this.setData({
+                colorComplete: '#508FF4',
+                colorIncomplete: '#999999',
+                complete: true
+            });
+        } else {
+            this.setData({
+                colorComplete: '#999999',
+                colorIncomplete: '#508FF4',
+                complete: false
+            });
+        }
+    },
+
     /**
      * 上传报修结果图片
      */
@@ -79,4 +100,16 @@ Page({
             }
         });
     },
+
+    submitReport(e) {
+        console.info(e)
+        let complete = this.data.complete;
+        if (!complete && !e.detail.value.reason) {
+            wx.showToast({
+                title: '请填写失败原因',
+                icon: 'error'
+            });
+            return;
+        }
+    },
 })

+ 11 - 7
nnzwminiapp/pagesPublic/pages/work-order-detail/work-order-detail.wxml

@@ -27,7 +27,7 @@
             <text class="item-label">问题描述:</text>
             <text class="item-value">{{description}}</text>
         </view>
-        <view class="item-row">
+        <view class="item-row" style="align-items: flex-start;">
             <text class="item-label">图片:</text>
             <view class="item-image-box">
                 <image src="" mode="" />
@@ -90,19 +90,23 @@
         <form bindsubmit="submitReport">
             <view class="report-row">
                 <label for="" class="report-label">是否完成维修:</label>
-                <radio-group bindchange="">
-                    <label for="">
-                        <radio value="已完成" checked="true" />已完成
+                <radio-group bindchange="radioChange">
+                    <label for="" style="color: {{colorComplete}};">
+                        <radio value="已完成" checked="true" color="#508FF4" />已完成
                     </label>
-                    <label for="">
-                        <radio value="未完成" />未完成
+                    <label for="" style="color: {{colorIncomplete}};">
+                        <radio value="未完成" color="#508FF4" />未完成
                     </label>
                 </radio-group>
             </view>
-            <view class="report-row" style="align-items: flex-start;">
+            <view class="report-row" style="align-items: flex-start;" wx:if="{{complete}}">
                 <label for="" class="report-label">维修结果:</label>
                 <image class="report-photo" src="/pages/images/photo2.png" mode="" bindtap="uploadImage" />
             </view>
+            <view class="report-row" wx:else="{{complete}}">
+                <label for="" class="report-label">原因:</label>
+                <input class="report-input" type="text" name="reason" maxlength="200" placeholder="请填写失败原因" placeholder-style="color:#999999" />
+            </view>
             <button class="report-submit" form-type="submit">提 交</button>
         </form>
     </view>

+ 5 - 0
nnzwminiapp/pagesPublic/pages/work-order-detail/work-order-detail.wxss

@@ -234,6 +234,11 @@ radio-group label:nth-child(2) {
     padding: 36rpx 35rpx;
 }
 
+.report-input {
+    width: 427rpx;
+    border-bottom: solid 1rpx #999999;
+}
+
 .report-submit {
     position: absolute;
     left: 0;

+ 29 - 1
nnzwminiapp/pagesPublic/pages/work-order/work-order.js

@@ -7,7 +7,7 @@ Page({
      * 页面的初始数据
      */
     data: {
-        isWorker: false,
+        isUser: true,
         currentIndex: 0,
         date: '2023-10-01',
         time: '12:00',
@@ -110,6 +110,34 @@ Page({
      */
     submitWorkOrder(e) {
         console.info(e);
+        if (!e.detail.value.type) {
+            wx.showToast({
+                title: '请选择报修类型',
+                icon: 'error'
+            });
+            return;
+        }
+        if (!e.detail.value.address) {
+            wx.showToast({
+                title: '请输入地址',
+                icon: 'error'
+            });
+            return;
+        }
+        if (!e.detail.value.phone) {
+            wx.showToast({
+                title: '请输入联系电话',
+                icon: 'error'
+            });
+            return;
+        }
+        if (!e.detail.value.arriveTime) {
+            wx.showToast({
+                title: '请选择上门时间',
+                icon: 'error'
+            });
+            return;
+        }
     },
 
     /**

+ 6 - 2
nnzwminiapp/pagesPublic/pages/work-order/work-order.wxml

@@ -1,5 +1,5 @@
 <!--pagesPublic/pages/work-order/work-order.wxml-->
-<view wx:if="{{isWorker}}">
+<view wx:if="{{isUser}}">
     <view class="navBox">
         <view class="titleBox" bindtap="titleClick" data-idx="0">
             <text class="{{0 == currentIndex ? 'fontColorBox' : ''}}">发起工单</text>
@@ -113,7 +113,11 @@
                     </view>
                     <view class="item-row">
                         <text class="item-label">维修结果:</text>
-                        <text class="item-value">{{item.time}}</text>
+                        <!-- <text class="item-value"></text> -->
+                        <view class="item-imgbox">
+                            <image class="item-image" src="" mode="" />
+                            <image class="item-image" src="" mode="" />
+                        </view>
                     </view>
                     <view class="item-row">
                         <text class="item-label">原因:</text>

+ 8 - 0
nnzwminiapp/pagesPublic/pages/work-order/work-order.wxss

@@ -143,6 +143,9 @@ Page {
 
 .item-row {
     margin-top: 30rpx;
+    display: flex;
+    flex-direction: row;
+    align-items: center;
 }
 
 .item-label {
@@ -153,4 +156,9 @@ Page {
 .item-value {
     font-size: 28rpx;
     color: #333333;
+}
+
+.item-image {
+    width: 50rpx;
+    height: 50rpx;
 }