linwenxin 5 mēneši atpakaļ
vecāks
revīzija
6d419b1780

+ 87 - 22
src/components/insuranceDialog.vue

@@ -1,18 +1,50 @@
 <template>
-  <u-popup mode="center" round="10" :show="isShow" :closeOnClickOverlay="false">
+  <u-popup v-if="showData" mode="center" round="10" :show="showMod" :closeOnClickOverlay="false">
     <view class="dialog">
-      <view class="close" v-if="type === 3">
+      <view class="close">
         <u-icon name="close" color="#9E9E9E" size="24" @tap="closeDialog"></u-icon>
       </view>
       <view class="top">
-        <image src="@/static/images/dialog/insurance-icon1.png" mode="widthFix" v-if="type === 3"></image>
-        <image src="@/static/images/dialog/insurance-icon2.png" mode="widthFix" v-if="type === 2"></image>
+        <image
+          v-if="[2, 3].includes(showData.remindIn)"
+          src="@/static/images/dialog/insurance-icon1.png"
+          mode="widthFix"
+        ></image>
+        <image
+          v-if="[1].includes(showData.remindIn)"
+          src="@/static/images/dialog/insurance-icon2.png"
+          mode="widthFix"
+        ></image>
       </view>
       <view class="title">保险购买提示</view>
-      <view class="text" v-if="type === 3">距离保险期还有{{ day }}天,请及时续保,以免影响接单!</view>
-      <view class="text" v-if="type === 2">保险已过期,为了您的安全保障,请及时续保,以免影响接单!</view>
+      <view class="text" v-if="[1].includes(showData.remindIn)"
+        >您在{{ showData.websitName }}网点入驻申请已审核通过,请尽快购买意外保险,以免影响接单</view
+      >
+      <view class="text" v-if="[2].includes(showData.remindIn)"
+        >您在{{ showData.websitName }}网点的意外险距离到期还有{{
+          calculateDaysDifference(item.endTime)
+        }}天,请及时续保,以免影响接单</view
+      >
+      <view class="text" v-if="[3].includes(showData.remindIn)"
+        >您在{{ showData.websitName }}网点的意外险已过期,为了您的安全保障,请及时续保,以免影响接单</view
+      >
       <view class="btn">
-        <u-button text="去续保" shape="circle" type="primary" @click="clickButton()"> </u-button>
+        <u-button
+          v-if="[1].includes(showData.remindIn)"
+          text="去购买"
+          shape="circle"
+          type="primary"
+          @click="clickButton()"
+        >
+        </u-button>
+        <u-button
+          v-if="[2, 3].includes(showData.remindIn)"
+          text="去续保"
+          shape="circle"
+          type="primary"
+          @click="clickButton()"
+        >
+        </u-button>
       </view>
     </view>
   </u-popup>
@@ -21,36 +53,69 @@
 <script>
 export default {
   props: {
-    isShow: {
-      type: Boolean,
-      default: false
-    },
-    type: {
-      type: Number,
-      default: 0 // 2=保险过期提示 3=保险快到期提示
+    data: {
+      type: Array,
+      default: () => []
     }
   },
 
   data() {
     return {
-      day: 0
+      isShow: false,
+      type: 0, // 2=保险过期提示 3=保险快到期提示
+      day: 0,
+      data_: []
     }
   },
 
-  onLoad() {},
+  watch: {
+    data(newVal, oldVal) {
+      this.data_ = JSON.parse(JSON.stringify(newVal)).map(item => {
+        return {
+          ...item,
+          show_: true
+        }
+      })
+    }
+  },
 
-  methods: {
-    initData() {
-      const userInfo = this.$store.state.userInfo
-      this.day = userInfo.limitInsureDay
+  computed: {
+    showData() {
+      return this.data_.find(item => item.show_)
     },
+    showMod() {
+      return !!this.showData
+    }
+  },
 
+  methods: {
     closeDialog() {
-      this.$emit('close')
+      var index = this.data_.map(item => item.websitId).indexOf(this.showData.websitId)
+      if (~index) {
+        this.data_.splice(index, 1, {
+          ...this.showData,
+          show_: false
+        })
+      }
     },
 
     clickButton() {
-      this.$emit('handle')
+      this.$navToPage({
+        url: '/packageEnter/pages/insurance/myInsuranceBuy/index?websitId=' + this.showData.websitId
+      })
+      this.$nextTick(() => {
+        setTimeout(() => {
+          this.closeDialog()
+        }, 500)
+      })
+    },
+
+    calculateDaysDifference(timeString) {
+      const inputDate = new Date(timeString)
+      const currentDate = new Date()
+      const timeDiff = currentDate - inputDate
+      const daysDiff = Math.floor(timeDiff / (1000 * 60 * 60 * 24))
+      return daysDiff
     }
   }
 }

+ 3 - 1
src/packageEnter/pages/insurance/myInsurance/index.vue

@@ -48,7 +48,9 @@ export default {
   },
   methods: {
     gopage(item) {
-      this.$navPage(`/packageEnter/pages/insurance/policyParticulars/index?id=${item.id}`)
+      this.$navToPage({
+        url: `/packageEnter/pages/insurance/policyParticulars/index?id=${item.id}`
+      })
     }
   }
 }

+ 3 - 1
src/packageEnter/pages/insurance/myInsuranceBuy/index.vue

@@ -32,7 +32,9 @@ export default {
   },
   methods: {
     gopage(item) {
-      this.$navPage(`/packageEnter/pages/insurance/policyParticulars/index?id=${item.id}&websitId=${this.websitId}`)
+      this.$navToPage({
+        url: `/packageEnter/pages/insurance/policyParticulars/index?id=${item.id}&websitId=${this.websitId}`
+      })
     }
   }
 }

+ 3 - 1
src/packageWorkorder/pages/userWorkorderDetail.vue

@@ -343,7 +343,9 @@ export default {
 		},
 
 		toLocation() {
-			this.$navPage(`/pages/mine/workOrder/map?location=${JSON.stringify(this.locationData)}`);
+      this.$navToPage({
+        url:`/pages/mine/workOrder/map?location=${JSON.stringify(this.locationData)}`
+      });
 		},
 
 		// 预览图片

+ 8 - 45
src/pages/index/index.vue

@@ -354,30 +354,8 @@
       </view>
       <view class="btn" @tap="toWxLink()">前往关注</view>
     </view>
-
-    <!-- 电子协议过期提示弹窗 -->
-    <protocolDialog :isShow="isShowProtocolDialog" @close="isShowProtocolDialog = false" @handle="handleProtocol">
-    </protocolDialog>
-
     <!-- 保险过期提示弹窗 -->
-    <insuranceDialog
-      ref="insuranceDialog"
-      :type="insuranceStatus"
-      :isShow="isShowInsuranceDialog"
-      @close="isShowInsuranceDialog = false"
-      @handle="handleInsurance"
-    >
-    </insuranceDialog>
-
-    <!-- 证件复审提示弹窗 -->
-    <certificateDialog
-      ref="certificateDialog"
-      :type="certificateStatus"
-      :isShow="isShowCertificateDialog"
-      @close="isShowCertificateDialog = false"
-      @handle="handleCertificate"
-    >
-    </certificateDialog>
+    <insuranceDialog ref="insuranceDialog" :data="baoxiandangqianxianxitishi"> </insuranceDialog>
   </view>
 </template>
 
@@ -394,13 +372,6 @@ export default {
   },
   data() {
     return {
-      isShowProtocolDialog: false, // 是否显示电子协议过期提示弹窗
-      isShowInsuranceDialog: false, // 是否显示保险过期提示弹窗
-      isShowCertificateDialog: false, // 是否显示证件复审提示弹窗
-      enterStatus: 0, // 入驻状态,1=确认服务范围 2=确认服务类目 3=上传证件 31=资质审核中 32=资质审核失败 4=电子签约 5=在线考试 6=购买保险 61=保险未生效 100=成功
-      insuranceStatus: 0, // 保险过期状态,0=不需要提醒 1=保险购买提示 2=保险过期提示 3=保险快到期提示
-      certificateStatus: 0, // 证件提醒通知 0=不需要提醒 1=证件快过期提示 2=复审快过期提示
-
       isLoading: true,
       refresherTriggered: false, // 下拉刷新状态
       userInfo: {},
@@ -478,7 +449,8 @@ export default {
       isShowContact1: false,
       isShowContact2: false,
 
-      isShowMaintenance: false
+      isShowMaintenance: false,
+      baoxiandangqianxianxitishi: []
     }
   },
 
@@ -696,23 +668,14 @@ export default {
           }
         })
     }
+
+    this.$api.post('/worker/remind').then(res => {
+      this.baoxiandangqianxianxitishi = res.data
+      console.log(res.data, '--------------------')
+    })
   },
 
   methods: {
-    // 处理电子协议过期提示弹窗
-    handleProtocol() {
-      this.isShowProtocolDialog = false
-    },
-
-    // 处理保险过期提示弹窗
-    handleInsurance() {
-      this.isShowInsuranceDialog = false
-    },
-
-    // 处理证件复审提示窗口
-    handleCertificate() {
-      this.isShowCertificateDialog = false
-    },
     // 测试支付
     quzhifu() {
       mini_env(bool => {