Browse Source

no message

linwenxin 5 months ago
parent
commit
ae04c30c4f

+ 68 - 24
src/packageEnter/pages/insurance/myInsurance/index.vue

@@ -1,30 +1,61 @@
 <template>
-  <view class="myInsurance">
-    <view class="myInsuranceCart" v-for="(item, index) in list" :key="index" @click="gopage(item)">
-      <view class="myInsuranceCartbuju xiangxia">
-        <view class="">
-          {{ item.policyName }}
+  <zj-page-layout
+    :isScroll="true"
+    :refresherTriggered="refresherTriggered"
+    @refresherrefresh="refresherrefresh"
+    :hasFooter="true"
+  >
+    <view class="myInsurance">
+      <view class="myInsuranceCart" v-for="(item, index) in list" :key="index" @click="gopage(item)">
+        <view class="myInsuranceCartbuju xiangxia">
+          <view class="">
+            {{ item.policyName }}
+          </view>
+          <view class="" style="color: red">
+            {{ { BZZ: '保障中', YSX: '失效', DSX: '待生效' }[item.status] }}
+          </view>
         </view>
-        <view class="" style="color: red">
-          {{ { BZZ: '保障中', YSX: '失效', DSX: '待生效' }[item.status] }}
+        <view class="">
+          <view class="xiangxia"> 所属网点:{{ item.websitName }} </view>
+          <view class="xiangxia"> 保单类型:{{ { AC: '意外险', EM: '雇主险', IN: '工伤险' }[item.policyType] }} </view>
+          <view class="xiangxia"> 保单编号:{{ item.policyOrder }} </view>
+          <view class="xiangxia"> 保单金额:{{ item.policyPrice }} </view>
+          <view class="xiangxia"> 有效时间:{{ item.startTime }}~{{ item.endTime }} </view>
         </view>
       </view>
-      <view class="">
-        <view class="xiangxia"> 所属网点:{{ item.websitName }} </view>
-        <view class="xiangxia"> 保单类型:{{ { AC: '意外险', EM: '雇主险', IN: '工伤险' }[item.policyType] }} </view>
-        <view class="xiangxia"> 保单编号:{{ item.policyOrder }} </view>
-        <view class="xiangxia"> 保单金额:{{ item.policyPrice }} </view>
-        <view class="xiangxia"> 有效时间:{{ item.startTime }}~{{ item.endTime }} </view>
-      </view>
     </view>
-  </view>
+    <zjDialogPicker
+      ref="websitDialog"
+      :isShow="isShowWebsitDialog"
+      :multiple="false"
+      :styleType="2"
+      :title="'选择对应网点购买保险'"
+      :list="baoxiandangqianxianxitishi"
+      :keyName="'websitName'"
+      @cancel="isShowWebsitDialog = false"
+      @confirm="confirmWebsitDialog"
+    >
+    </zjDialogPicker>
+    <template slot="footer" v-if="!!baoxiandangqianxianxitishi.length">
+      <view class="bottom-container" style="box-sizing: border-box; padding: 20rpx">
+        <u-button text="去购买" shape="circle" type="primary" @click="isShowWebsitDialog = true"> </u-button>
+      </view>
+    </template>
+  </zj-page-layout>
 </template>
 <script>
+import zjDialogPicker from '@/components/zj-dialog/zj-dialog-picker.vue'
 export default {
+  components: {
+    zjDialogPicker
+  },
   data() {
     return {
       list: [],
-      websitId: ''
+      websitId: '',
+      baoxiandangqianxianxitishi: [],
+      isShowWebsitDialog: false,
+      refresherTriggered: false
     }
   },
   onShow() {
@@ -32,21 +63,34 @@ export default {
       title: '加载中'
     })
     this.$api.post('/worker/myPolicy', { pageNum: 1, pageSize: -1 }).then(res => {
-      this.list = res.data
       this.$nextTick(() => {
         uni.hideLoading()
       })
+      this.list = res?.data?.records || []
     })
-  },
-  onPullDownRefresh() {
-    this.$api.post('/worker/myPolicy', { pageNum: 1, pageSize: -1 }).then(res => {
-      this.list = res.data
-      this.$nextTick(() => {
-        uni.stopPullDownRefresh()
-      })
+    this.$api.post('/worker/remind').then(res => {
+      this.baoxiandangqianxianxitishi = res.data
     })
   },
   methods: {
+    // 触发下拉刷新
+    refresherrefresh(e) {
+      this.refresherTriggered = true
+      this.$api.post('/worker/myPolicy', { pageNum: 1, pageSize: -1 }).then(res => {
+        this.$nextTick(() => {
+          this.refresherTriggered = false
+        })
+        this.list = res?.data?.records || []
+      })
+    },
+    confirmWebsitDialog(e) {
+      this.isShowWebsitDialog = false
+      this.$navToPage({
+        url:
+          '/packageEnter/pages/insurance/myInsuranceBuy/index?websitId=' +
+          this?.baoxiandangqianxianxitishi?.[e[0]]?.websitId
+      })
+    },
     gopage(item) {
       this.$navToPage({
         url: `/packageEnter/pages/insurance/policyParticulars/index?id=${item.id}`

+ 3 - 3
src/packageMine/pages/myWebsit.vue

@@ -92,9 +92,9 @@ export default {
 
   onShow() {
     this.refreshLish()
-    this.$api.post('/worker/remind').then(res => {
-      this.baoxiandangqianxianxitishi = res.data
-    })
+    // this.$api.post('/worker/remind').then(res => {
+    //   this.baoxiandangqianxianxitishi = res.data
+    // })
   },
 
   computed: {

+ 1 - 2
src/pages.json

@@ -86,8 +86,7 @@
         {
           "path": "pages/insurance/myInsurance/index",
           "style": {
-            "navigationBarTitleText": "我的保险",
-            "enablePullDownRefresh": true
+            "navigationBarTitleText": "我的保险"
           }
         },
         {