浏览代码

no message

linwenxin 5 月之前
父节点
当前提交
5cf96b162b

+ 2 - 2
src/packageEnter/pages/insurance/myInsurance/index.vue

@@ -36,7 +36,7 @@
       :styleType="2"
       :title="'选择对应网点购买保险'"
       :list="baoxiandangqianxianxitishi"
-      :keyName="'websitName'"
+      :keyName="'name'"
       @cancel="isShowWebsitDialog = false"
       @confirm="confirmWebsitDialog"
     >
@@ -76,7 +76,7 @@ export default {
       this.loadStatus = 2
       this.list = res?.data?.records || []
     })
-    this.$api.post('/worker/remind').then(res => {
+    this.$api.post('/worker/myWebsit').then(res => {
       this.baoxiandangqianxianxitishi = res.data
     })
   },

+ 122 - 5
src/packageWorkorder/pages/orderDetail.vue

@@ -337,7 +337,10 @@
               <view class="row">
                 <view class="label">支付单号</view>
                 <view class="value">{{ item.orderId }}</view>
-                <view class="status">{{ item.examineStatus | examineStatusFilter }}</view>
+              </view>
+              <view class="row">
+                <view class="label">支付状态</view>
+                <view class="value">{{ item.examineStatus | examineStatusFilter }}</view>
               </view>
               <view class="common-title mt30">产品信息</view>
               <view class="product">
@@ -427,7 +430,10 @@
               <view class="row">
                 <view class="label">支付单号</view>
                 <view class="value">{{ item.orderId }}</view>
-                <view class="status">{{ item.payStatus | payStatusFilter }}</view>
+              </view>
+              <view class="row">
+                <view class="label">支付状态</view>
+                <view class="value">{{ item.payStatus | payStatusFilter }}</view>
               </view>
               <view class="common-title mt30">产品信息</view>
               <view class="product">
@@ -508,6 +514,10 @@
                 <view class="label">订单备注</view>
                 <view class="value">{{ item.remark }}</view>
               </view>
+
+              <view v-if="item.payStatus == 'WAIT'">
+                <u-button text="扫码支付" @click="scanCode(item)">扫码支付</u-button>
+              </view>
             </view>
           </block>
 
@@ -665,6 +675,16 @@
         </view>
       </view>
     </u-popup>
+
+    <zhifutanchuan
+      v-if="state > 0"
+      :detail="detail_zf"
+      :orderId="orderId_zf"
+      :state="state"
+      @scan="scan"
+      @back="back"
+      @offTiming="offTiming"
+    />
   </view>
 </template>
 
@@ -672,11 +692,14 @@
 import zjDialogPicker from '@/components/zj-dialog/zj-dialog-picker.vue'
 import Logistics from '@/components/logistics2/common-logistics.vue'
 import selectionWorkers from '@/components/selectionWorkers.vue'
+import zhifutanchuan from '@/components/zhifutanchuan.vue'
+import { wxScanCode } from '@/common/utils/util.js'
 export default {
   components: {
     zjDialogPicker,
     Logistics,
-    selectionWorkers
+    selectionWorkers,
+    zhifutanchuan
   },
 
   filters: {
@@ -728,7 +751,10 @@ export default {
       selectionWorkersType: '',
       item: null,
       callback: null,
-      title: ''
+      title: '',
+      state: 0,
+      detail_zf: null,
+      orderId_zf: null
     }
   },
 
@@ -802,6 +828,95 @@ export default {
   },
 
   methods: {
+    scan() {
+      if (this.timeout) {
+        clearTimeout(this.timeout)
+      }
+      this.scanCode()
+    },
+
+    back() {
+      if (this.timeout) {
+        clearTimeout(this.timeout)
+      }
+      this.$navToPage(
+        {
+          url: `/packageMaterial/pages/index?type=M`
+        },
+        'reLaunch'
+      )
+    },
+
+    offTiming() {
+      if (this.timeout) {
+        clearTimeout(this.timeout)
+      }
+    },
+
+    // 扫码
+    async scanCode(item) {
+      console.log(item)
+      // detail_zf: null,
+      // orderId_zf: null
+      return
+      var codeVal = await wxScanCode(['qrCode'])
+      this.submitData(codeVal)
+    },
+
+    // 下单
+    submitData(code) {
+      this.$api
+        .post('/pay/paid', {
+          authCode: code,
+          orderId: this.orderId,
+          payType: 'WECHAT'
+        })
+        .then(res => {
+          if (res.data) {
+            // 支付成功
+            this.getPayList(() => {
+              this.state = 2
+            })
+          } else {
+            // 支付失败
+            this.getPayList(() => {
+              this.state = 4
+            })
+          }
+        })
+        .catch(res => {
+          // 等待支付
+          if (res.message === 'USERPAYING') {
+            if (this.state == 0) {
+              this.state = 1
+            }
+            this.getDetail__()
+          } else {
+            this.$tips(res.message)
+          }
+        })
+    },
+
+    getDetail__(cb) {
+      this.$api
+        .post('/pay/getOrder', {
+          orderId: this.orderId_zf
+        })
+        .then(res => {
+          this.detail_zf = res.data
+          if (res.data.payStatus == 'PAID') {
+            this.state = 2
+          } else {
+            this.timeout = setTimeout(() => {
+              this.getDetail__(cb)
+            }, 1000)
+          }
+          cb?.()
+        })
+        .catch(res => {})
+        .finally(res => {})
+    },
+
     // 触发下拉刷新
     async refresherrefresh(e) {
       this.refresherTriggered = true
@@ -921,7 +1036,7 @@ export default {
     },
 
     // 获取支付信息
-    getPayList() {
+    getPayList(cb) {
       return new Promise((resolve, reject) => {
         let url = ''
         if (this.detail.rpProjectRepairId) {
@@ -960,9 +1075,11 @@ export default {
               }
               return { ...item }
             })
+            cb?.()
             resolve(1)
           })
           .catch(res => {
+            cb?.()
             reject(0)
           })
       })

+ 40 - 61
src/packageWorkorder/pages/overDetail.vue

@@ -1,5 +1,4 @@
 <template>
-  <!-- #ifdef H5 -->
   <zj-page-layout
     :isScroll="true"
     :hasFooter="false"
@@ -43,75 +42,55 @@
 
     <Loading :type="2" :loadStatus="loadStatus" :dataList="dataList" />
   </zj-page-layout>
-  <!-- #endif -->
-
-  <!-- #ifndef H5 -->
-  <web-view
-    :src="webViewHref(`/packageWorkorder/pages/overDetail`, pam, crossPagePam)"
-    @message="crossPage.$listener"
-  ></web-view>
-  <!-- #endif -->
 </template>
 
 <script>
- // #ifdef H5
 export default {
-   filters: {
-     statusFilter(val) {
-       const MAP = {
-         WAIT: '待采集',
-         WAIT_SAVE: '待完善',
-         OK: '已采集',
-       }
-       return MAP[val]
-     }
-   },
+  filters: {
+    statusFilter(val) {
+      const MAP = {
+        WAIT: '待采集',
+        WAIT_SAVE: '待完善',
+        OK: '已采集'
+      }
+      return MAP[val]
+    }
+  },
 
-	data() {
-		return {
-			loadStatus: 1,
-			refresherTriggered: false,
-			dataList: [],
-		}
-	},
+  data() {
+    return {
+      loadStatus: 1,
+      refresherTriggered: false,
+      dataList: []
+    }
+  },
 
-	async onLoad({id}) {
-		this.id = id;
-		this.getList();
-	},
+  async onLoad({ id }) {
+    this.id = id
+    this.getList()
+  },
 
-	methods: {
-		refresherrefresh(e) {
-			this.refresherTriggered = true;
-			this.getList();
-		},
+  methods: {
+    refresherrefresh(e) {
+      this.refresherTriggered = true
+      this.getList()
+    },
 
-		getList() {
-			this.$api.post('/changeOrder/productDetailList', {
-         workerOrderId: this.id,
-			}).then(res => {
-				this.dataList = res.data;
-			}).finally(res => {
-				this.loadStatus = 0;
-				this.refresherTriggered = false;
-			})
-		},
-	}
+    getList() {
+      this.$api
+        .post('/changeOrder/productDetailList', {
+          workerOrderId: this.id
+        })
+        .then(res => {
+          this.dataList = res.data
+        })
+        .finally(res => {
+          this.loadStatus = 0
+          this.refresherTriggered = false
+        })
+    }
+  }
 }
-
- // #endif
- // #ifndef H5
- export default {
-   data() {
-     return {
-       pam: {},
-     }
-   },
-   onLoad(pam) {
-     this.pam = pam;
-   }
- }
- // #endif
 </script>
 
 <style lang="scss" scoped>