Переглянути джерело

长护险:时间选择器

seamong 6 роки тому
батько
коміт
668815be52

+ 1 - 0
.gitignore

@@ -41,3 +41,4 @@ env.txt
 *.bin
 */node_modules
 #www/protected/config/develop.php
+www/webapp/safety/docs/005.md

+ 202 - 169
www/webapp/safety/src/components/datePicker.vue

@@ -18,95 +18,102 @@
     <div class="date">
       <div class="weeks date van-hairline--bottom">
         <div
-            class="day"
-            @click="getDate(item)"
-            v-for="(item, index) in weeks"
-            :key='index'
+          class="day"
+          @click="getDate(item)"
+          v-for="(item, index) in weeks"
+          :key='index'
         >{{item}}
         </div>
       </div>
     </div>
     <div
-        class="days"
-        @touchstart='touchStart'
-        @touchmove='touchMove'
-        @touchend='touchEnd'
-        v-if="daysShow"
+      class="days"
+      v-if="daysShow"
     >
       <div
-          v-for="(items, i) in date"
-          :key="i"
-          class="date"
+        v-for="(items, i) in date"
+        :key="i"
+        class="date"
       >
         <div
-            v-for="(item, index) in items"
-            :key="index"
-            class="day"
-            :class="{'other':item.other}"
-            @click.stop="onChange(item)"
+          v-for="(item, index) in items"
+          :key="index"
+          class="day"
+          :class="{'other':item.other}"
+          @touchstart.stop.prevent='touchStart($event)'
+          @touchmove.stop.prevent='touchMove($event)'
+          @touchend.stop.prevent='touchEnd($event, item)'
         >
-          <span class="text" :class="{'active':item.isWork}">{{item.day}}</span>
+          <span
+            class="text"
+            :class="{'active':item.isWork}"
+          >{{item.day}}</span>
         </div>
       </div>
     </div>
+    <div>
+      <div>开始{{startX}}</div>
+      <div>结束{{moveX}}</div>
+      <div>移动{{Math.abs(startX - moveX)}}</div>
+    </div>
   </div>
 </template>
 <script>
 /**
-   * 日期结构
-   * 数据结构为二元数组,
-   * 下面为数据中的某一个数组示例
-   * [
-   * ....星期....
-   *   {
-   *     year: 2018, // 哪一年
-   *     months: 12, // 哪一月
-   *     day: 15, // 几号
-   *     week: 6, // 星期几
-   *     isWork: true|false // 当天是否有派单
-   *   },
-   *   {
-   *     year: 2018, // 哪一年
-   *     months: 12, // 哪一月
-   *     day: 16, // 几号
-   *     week: 7, // 星期几
-   *     isWork: true|false // 当天是否有派单
-   *   },
-   *   {
-   *     year: 2018, // 哪一年
-   *     day: 17, // 几号
-   *     week: 1, // 星期几
-   *     months: 12, // 哪一月
-   *     isWork: true|false // 当天是否有派单
-   *   }
-   * ......
-   * ]
-   */
-import moment from 'moment';
+ * 日期结构
+ * 数据结构为二元数组,
+ * 下面为数据中的某一个数组示例
+ * [
+ * ....星期....
+ *   {
+ *     year: 2018, // 哪一年
+ *     months: 12, // 哪一月
+ *     day: 15, // 几号
+ *     week: 6, // 星期几
+ *     isWork: true|false // 当天是否有派单
+ *   },
+ *   {
+ *     year: 2018, // 哪一年
+ *     months: 12, // 哪一月
+ *     day: 16, // 几号
+ *     week: 7, // 星期几
+ *     isWork: true|false // 当天是否有派单
+ *   },
+ *   {
+ *     year: 2018, // 哪一年
+ *     day: 17, // 几号
+ *     week: 1, // 星期几
+ *     months: 12, // 哪一月
+ *     isWork: true|false // 当天是否有派单
+ *   }
+ * ......
+ * ]
+ */
+import moment from "moment";
 // eslint-disable-next-line
-  import {formatDate} from '@/util/index';
+import { formatDate } from "@/util/index";
 
 export default {
-  name: 'date-picker',
+  name: "date-picker",
   data() {
     return {
-      year: '',
+      year: "",
       date: [[], [], [], [], [], []],
-      months: '',
-      weeks: ['一', '二', '三', '四', '五', '六', '日'],
-      days: '',
-      day: '',
+      months: "",
+      weeks: ["一", "二", "三", "四", "五", "六", "日"],
+      days: "",
+      day: "",
       daysShow: false,
       startX: 0, // 开始触摸的位置
       moveX: 0, // 滑动时的位置
       endX: 0, // 结束触摸的位置
-      disX: 0, // 移动距离
+      disX: 0 // 移动距离
     };
   },
   props: {
     period: Array,
     start: Number,
-    end: Number,
+    end: Number
   },
   created() {
     // 初始化[年, 月, 日] 为当前时间
@@ -124,8 +131,8 @@ export default {
         day: this.day,
         year: this.year,
         months: this.months,
-        week: '',
-        isWork: true,
+        week: "",
+        isWork: true
       };
       date.week = this.getWeek(this.setDate(date));
       date.isWork = this.isServerWork(this.setDate(date), date.week);
@@ -135,14 +142,14 @@ export default {
   },
   methods: {
     /**
-       * 1 星期一
-       * 2 星期二
-       * 3 星期三
-       * 4 星期四
-       * 5 星期五
-       * 6 星期六
-       * 7 星期日
-       */
+     * 1 星期一
+     * 2 星期二
+     * 3 星期三
+     * 4 星期四
+     * 5 星期五
+     * 6 星期六
+     * 7 星期日
+     */
     init() {
       for (let i = 0; i < 6; i += 1) {
         this.date[i] = new Array(7);
@@ -157,13 +164,15 @@ export default {
       const date = self.setDate({
         year: self.year,
         months: self.months,
-        day: self.day,
+        day: self.day
       }); // 2018-12-04
-        // 获取上月天数
-      let previousDays = moment(date)
-        .subtract(1, 'month')
-        .daysInMonth() + 1;
-        // 获取指定月份天数
+      // 获取上月天数
+      // eslint-disable-next-line
+      let previousDays =
+        moment(date)
+          .subtract(1, "month")
+          .daysInMonth() + 1;
+      // 获取指定月份天数
       self.days = moment(date).daysInMonth();
       // 填充当月天数
       let n = 0;
@@ -171,7 +180,7 @@ export default {
         const dateInFor = self.setDate({
           year: self.year,
           months: self.months,
-          day: i,
+          day: i
         });
         const dayInWeek = self.getWeek(dateInFor);
         self.date[n][dayInWeek - 1] = {
@@ -181,7 +190,7 @@ export default {
           other: false,
           week: dayInWeek,
           // 判断当天是否有服务
-          isWork: self.isServerWork(dateInFor, dayInWeek),
+          isWork: self.isServerWork(dateInFor, dayInWeek)
         };
         if (dayInWeek === 7) {
           n += 1;
@@ -189,10 +198,10 @@ export default {
       }
       // 给self.date[0]中填充上月天数
       const firstDayInWeek = self.getWeek(
-        self.setDate({ year: self.year, months: self.months, day: 1 }),
+        self.setDate({ year: self.year, months: self.months, day: 1 })
       );
       for (let i = firstDayInWeek; i > -1; i -= 1) {
-        const getPreviousDate = self.getPreviousDate(previousDays -= 1);
+        const getPreviousDate = self.getPreviousDate((previousDays -= 1));
         const dayInWeek = self.getWeek(self.setDate(getPreviousDate));
         self.date[0][i - 2] = {
           year: getPreviousDate.year,
@@ -200,7 +209,7 @@ export default {
           day: previousDays,
           week: dayInWeek,
           other: true,
-          isWork: self.isServerWork(self.setDate(getPreviousDate), dayInWeek),
+          isWork: self.isServerWork(self.setDate(getPreviousDate), dayInWeek)
         };
       }
       // 给self.date填充下月天数
@@ -215,10 +224,10 @@ export default {
             self.date[x][y] = {
               year: getNextDate.year,
               months: getNextDate.months,
-              day: next += 1,
+              day: (next += 1),
               week: dayInWeek,
               other: true,
-              isWork: self.isServerWork(self.setDate(getNextDate), dayInWeek),
+              isWork: self.isServerWork(self.setDate(getNextDate), dayInWeek)
             };
           }
         }
@@ -262,7 +271,7 @@ export default {
     // 设置指定日期
     setDate(date) {
       return `${date.year}-${this.setMonths(date.months)}-${this.setDays(
-        date.day,
+        date.day
       )}`;
     },
     // 处理月份字符串格式: 2 ==> 02
@@ -285,7 +294,7 @@ export default {
       const date = {
         months: 0,
         year: 0,
-        day: d,
+        day: d
       };
       if (this.months === 1) {
         date.months = 12;
@@ -301,7 +310,7 @@ export default {
       const date = {
         year: 0,
         months: 0,
-        day: d,
+        day: d
       };
       if (this.months === 12) {
         date.months = 1;
@@ -318,7 +327,7 @@ export default {
       const dayToTime = moment(date).valueOf() / 1000;
       let isServerWork = false;
       // 判断当前日期是否为服务日期
-      this.period.forEach((value) => {
+      this.period.forEach(value => {
         if (value === window.Number.parseInt(dayInWeek)) {
           if (dayToTime > self.start && dayToTime < this.end) {
             isServerWork = true;
@@ -330,121 +339,145 @@ export default {
     },
     // 回调
     onChange(item) {
-      this.$emit('time', item);
+      console.log(338);
+      this.$emit("time", item);
     },
     // 滑动事件
     touchStart(event) {
-      // ev = ev || event;
-      event.preventDefault();
       if (event.touches.length === 1) {
         this.startX = event.touches[0].clientX; // 记录开始位置
       }
     },
     touchMove(event) {
-      event.preventDefault();
       if (event.touches.length === 1) {
-        this.moveX = event.touches[0].clientX;
+        this.moveX = Math.abs(event.touches[0].clientX);
       }
     },
-    touchEnd(event) {
-      event.preventDefault();
+    touchEnd(event, item) {
+      const self = this;
+      //
+      console.clear();
+      if (self.moveX === 0 || self.startX === self.moveX) {
+        self.onChange(item);
+        return;
+      }
+      // 滑动结束
       if (event.changedTouches.length === 1) {
-        this.disX = this.startX - this.moveX;
-        const percentage = Math.abs(this.disX) / window.innerWidth * 100 > 10;
-        if (this.disX > 0) {
-          if (percentage) {
-            this.setNext();
-          }
-        } else if (percentage) {
-          this.setPrevious();
+        self.disX = self.startX - self.moveX;
+        // eslint-disable-next-line
+        const percentage =
+          Math.floor((Math.abs(self.disX) / window.innerWidth) * 100) > 20;
+        // console.log(`开始:${self.startX}`);
+        // console.log(`结束:${self.moveX}`);
+        // console.log(`位移:${Math.abs(self.startX - self.moveX)}`);
+        // console.log(
+        //   `比例:${(Math.abs(self.startX - self.moveX) / window.innerWidth) *
+        //     100}`
+        // );
+        // console.log(`是否滑动:${percentage}`);
+        self.$nextTick(() => {
+          self.startX = 0;
+          self.moveX = 0;
+          console.log(376);
+        });
+        if (!percentage) return;
+        // 向左
+
+        // 下一个月
+        if (self.disX > 0) {
+          self.setNext();
+        } else {
+          // 上一个月
+          self.setPrevious();
         }
       }
-    },
-  },
+    }
+  }
 };
 </script>
 <style lang="less" scoped>
-  @import "../assets/style/vant.less";
+@import "../assets/style/vant.less";
 
-  .date-picker-wrapper {
-    .date {
-      display: flex;
-      justify-content: center;
-      align-items: center;
-      width: 100%;
-      line-height: 30px;
-      .day {
-        flex: 1;
+.date-picker-wrapper {
+  .date {
+    display: flex;
+    justify-content: center;
+    align-items: center;
+    width: 100%;
+    line-height: 30px;
+    .day {
+      flex: 1;
+      text-align: center;
+      font-size: @inputSize;
+      transform: rotate3d(0, 0, 0);
+      transition: all 0.3s ease-in;
+      width: calc(100% / 7);
+      height: 40px;
+      position: relative;
+      border-right: 1px solid black;
+      border-bottom: 1px solid black;
+      box-sizing: border-box;
+      .text {
+        position: absolute;
+        z-index: 1;
+        width: 25px;
+        height: 25px;
+        line-height: 25px;
         text-align: center;
-        font-size: @inputSize;
-        transform: rotate3d(0, 0, 0);
-        transition: all .3s ease-in;
-        width: calc(100% / 7);
-        height: 40px;
-        position: relative;
-        border-right: 1px solid black;
-        border-bottom: 1px solid black;
-        box-sizing: border-box;
-        .text {
-          position: absolute;
-          z-index: 1;
-          width: 25px;
-          height: 25px;
-          line-height: 25px;
-          text-align: center;
-          transform: translate(-50%, 25%);
-        }
+        transform: translate(-50%, 25%);
+      }
+      .active {
+        color: red;
+      }
+      &.other {
+        color: white;
+        background-color: #c6c6c6;
         .active {
-          color: red;
-        }
-        &.other {
-          color: white;
-          background-color: #c6c6c6;
-          .active {
-            color: #8d8d8d;
-          }
-        }
-        &:last-child {
-          border-right: 0;
+          color: #8d8d8d;
         }
       }
       &:last-child {
-        .day {
-          border-bottom: 0;
-        }
+        border-right: 0;
+      }
+    }
+    &:last-child {
+      .day {
+        border-bottom: 0;
       }
     }
-    .bar-nav-wrapper {
+  }
+  .bar-nav-wrapper {
+    display: flex;
+    padding: 10px 0;
+    text-align: center;
+    justify-content: space-between;
+    .flex {
+      width: calc(100% / 3);
       display: flex;
-      padding: 10px 0;
-      text-align: center;
-      justify-content: space-between;
-      .flex {
-        width: calc(100% / 3);
-        display: flex;
+      & > div {
+        flex: 1;
+        font-size: @inputSize;
+        line-height: 20px;
+      }
+      &:nth-child(2) {
+        flex: 1;
+      }
+      &:nth-child(1),
+      &:nth-child(3) {
+        flex: 0 0 100px;
         & > div {
-          flex: 1;
-          font-size: @inputSize;
-          line-height: 20px;
-        }
-        &:nth-child(2) {
-          flex: 1;
-        }
-        &:nth-child(1), &:nth-child(3) {
-          flex: 0 0 100px;
-          & > div {
-            flex: 0 0 40px;
-          }
+          flex: 0 0 40px;
         }
       }
     }
-    .weeks {
-      background-color: #eee;
-      line-height: 40px;
-      border-bottom: 1px solid black;
-      .day {
-        background-color: #eee !important;
-      }
+  }
+  .weeks {
+    background-color: #eee;
+    line-height: 40px;
+    border-bottom: 1px solid black;
+    .day {
+      background-color: #eee !important;
     }
   }
+}
 </style>

+ 2 - 1
www/webapp/safety/src/store/modules/user.js

@@ -39,7 +39,8 @@ const actions = {
     let orders;
     if (this.state.user.character === 0) {
       orders = await getJxOrderList({
-        work_id: userId(),
+        // eslint-disable-next-line
+        work_id: this.state.user.info._id.$id,
       });
     } else if (this.state.user.character === 1) {
       orders = await getJxOrderList({

+ 2 - 5
www/webapp/safety/src/util/api.js

@@ -19,7 +19,7 @@ export function userId() {
       '57e38f1b9f5160ac048b457d', // 塘下七武海-涛
     ],
   };
-  return localStorage.getItem('wxUserID2') != null ? localStorage.getItem('wxUserID2') : id.client[0];
+  return localStorage.getItem('wxUserID2') != null ? localStorage.getItem('wxUserID2') : id.care[0];
 }
 
 export function apiPath() {
@@ -83,10 +83,7 @@ export async function getJWorker(userId) {
  * @param {String} params.userId // user_id work_id
  */
 export async function getJxOrderList(params) {
-  const data = await axios.post(
-    `${apiPath()}/ch/JxOrder/list`,
-    qs.stringify(params),
-  );
+  const data = await axios.post(`${apiPath()}/ch/JxOrder/list`, qs.stringify(params));
   return data.data;
 }
 

+ 181 - 1
www/webapp/safety/src/views/Care/Mine/index.vue

@@ -1,5 +1,185 @@
 <template>
   <div class="mine-wrapper">
-    我的
+    <van-cell-group v-if='info && info.user_info && info.user_info.name'>
+      <!--姓名-->
+      <van-field
+          :value="info.user_info.name"
+          label="用户名"
+          disabled
+      />
+      <!--性别-->
+      <van-field
+          :value="sexStr[info.user_info.sex-1]"
+          label="性别"
+          disabled
+      />
+      <!--生日-->
+      <van-field
+          :value="info.user_info.birth|birth"
+          label="生日"
+          disabled
+      />
+      <!--身份证-->
+      <van-field
+          :value="info.card_number"
+          label="身份证"
+          disabled
+      />
+      <!--手机-->
+      <van-field
+          :value="info.user_info.mobile"
+          label="手机"
+          disabled
+      />
+      <!--电话-->
+      <van-field
+          :value="info.user_info.phone"
+          label="电话"
+          disabled
+      />
+      <!--邮箱-->
+      <van-field
+          :value="info.user_info.email"
+          label="邮箱"
+          disabled
+      />
+      <!--邮编-->
+      <van-field
+          :value="info.address_number"
+          label="邮编"
+          disabled
+      />
+      <!--户籍地址-->
+      <van-field
+          :value="info.address.address1"
+          label="户籍地址"
+          disabled
+      />
+      <!--居住地址-->
+      <van-field
+          :value="info.address.address2"
+          label="居住地址"
+          disabled
+      />
+      <!--通讯地址-->
+      <van-field
+          :value="info.address.address3"
+          label="通讯地址"
+          disabled
+      />
+      <!--照护级别-->
+      <van-field
+          :value="levelColumns[info.level]"
+          label="照护级别"
+          disabled
+      />
+      <van-field
+          label="证书"
+          disabled
+      />
+      <img @click="imagePreview" class="certificate"
+           :src="info.certificate" alt="证书"
+           v-lazy="info.certificate">
+      <!--评估日期-->
+      <van-field
+          :value="info.assess_time|birth"
+          label="评估日期"
+          disabled
+      />
+      <!--居委会-->
+      <van-field
+          :value="info.neighborhood"
+          label="居委会"
+          disabled
+      />
+      <!--护理机构-->
+      <van-field
+          :value="info.care_institutions"
+          label="护理机构"
+          disabled
+      />
+      <!--备注-->
+      <van-field
+          :value="info.desc"
+          label="备注"
+          disabled
+      />
+    </van-cell-group>
+    <!--照护级别-->
+    <!--<van-cell-group>-->
+    <!--<van-field-->
+    <!--:value="levelColumns[info.level]"-->
+    <!--label="照护级别"-->
+    <!--disabled-->
+    <!--/>-->
+    <!--</van-cell-group>-->
+
   </div>
 </template>
+<script>
+import { mapState } from 'vuex';
+import { formatDate } from '@/util/index';
+import { ImagePreview } from 'vant';
+
+export default {
+  name: 'mine',
+  data() {
+    return {
+      levelColumns: ['一级', '二级', '三级', '四级', '五级', '六级'],
+      sexStr: ['男', '女'],
+      edit: {
+        // 地址
+        // 代理人信息
+        // 户籍/居住/通讯
+      },
+    };
+  },
+  created() {
+  },
+  mounted() {
+  },
+
+  filters: {
+    birth(value) {
+      return formatDate(new Date(value * 1000), 'yyyy年MM月dd日');
+    },
+  },
+  computed: {
+    ...mapState({
+      info: state => state.user.info,
+    }),
+  },
+  methods: {
+    imagePreview() {
+      const self = this;
+      ImagePreview({
+        images: [
+          self.info.certificate,
+        ],
+        onClose() {
+          // do something
+        },
+      });
+    },
+  },
+};
+</script>
+<style lang="less" scoped>
+  @import '../../../assets/style/vant.less';
+
+  .mine-wrapper {
+    height: calc(100vh - 100px);
+    overflow: scroll;
+    .certificate {
+      display: block;
+      width: calc(100vw - 30px);
+      margin: 0 auto;
+      height: 150px;
+    }
+  }
+
+  .van-button,
+  .van-cell {
+    font-size: @inputSize !important;
+  }
+</style>

+ 83 - 2
www/webapp/safety/src/views/Care/Send/index.vue

@@ -1,5 +1,86 @@
 <template>
-  <div class="send">
-    派单
+  <div class="send-wrapper">
+    <!--<div class="title">派单</div>-->
+    <div v-if="orders && orders.rows">
+      <!-- {{orders}} -->
+      <h-date-picker
+        :start='orders.rows[0].serve_time_start'
+        :end='orders.rows[0].serve_time_end'
+        :period='orders.rows[0].serve_period'
+        @time="setOrder"
+      ></h-date-picker>
+      <div
+        class="order-info-wrapper"
+        v-if="orders && orders.rows"
+      >
+        <div class="title">当前服务人员信息</div>
+        <div>
+          <!-- <div>{{dateTime}}</div> -->
+          时间:{{dateTime.year}}年{{dateTime.months}}月{{dateTime.day}}日
+        </div>
+        <div class="item-wrapper">
+          <div class="title">姓名</div>
+          <div class="text">{{ orders.rows[0].worker.user_info.name }}</div>
+        </div>
+        {{ orders.rows[0].worker.user_info }}
+        {{ orders.rows[0].worker.user_info.mobile }}
+        <div class="item-wrapper">
+          <div class="title">手机</div>
+          <div class="text">{{ orders.rows[0].worker.user_info.mobile }}</div>
+        </div>
+      </div>
+    </div>
   </div>
 </template>
+<script>
+import { mapState } from "vuex";
+import datePickerComponents from "@/components/datePicker.vue";
+
+export default {
+  name: "send",
+  data() {
+    return {
+      dateTime: ""
+    };
+  },
+  computed: {
+    ...mapState({
+      orders: state => state.user.orders
+    })
+  },
+  components: {
+    "h-date-picker": datePickerComponents
+  },
+  created() {
+    this.dateTime = this.orders;
+  },
+  methods: {
+    setOrder(time) {
+      this.dateTime = time;
+      console.log(time);
+    }
+  }
+};
+</script>
+<style lang="less" scoped>
+@import "../../../assets/style/vant.less";
+.send-wrapper {
+  .order-info-wrapper {
+    text-align: center;
+    .title {
+      font-size: 25px;
+    }
+    .item-wrapper {
+      display: flex;
+      line-height: 30px;
+      .title {
+        flex: 0 0 90px;
+        font-size: @inputSize;
+      }
+      .text {
+        font-size: @inputSize;
+      }
+    }
+  }
+}
+</style>

+ 48 - 33
www/webapp/safety/src/views/Care/index.vue

@@ -1,69 +1,84 @@
 <template>
-    <div class="care-wrapper">
-        <keep-alive>
-            <router-view class="router"/>
-        </keep-alive>
-        <van-tabbar v-model="active">
-            <van-tabbar-item @click="toPath('/care/send')" icon="records">派单</van-tabbar-item>
-            <van-tabbar-item @click="toPath('/care/upon')" icon="completed">上单</van-tabbar-item>
-            <van-tabbar-item @click="toPath('/care/mine')" icon="contact">我的</van-tabbar-item>
-        </van-tabbar>
-    </div>
+  <div class="care-wrapper">
+    <keep-alive>
+      <router-view class="router" />
+    </keep-alive>
+    <van-tabbar v-model="active">
+      <van-tabbar-item
+        @click="toPath('/care/send')"
+        icon="records"
+      >派单</van-tabbar-item>
+      <van-tabbar-item
+        @click="toPath('/care/upon')"
+        icon="completed"
+      >上单</van-tabbar-item>
+      <van-tabbar-item
+        @click="toPath('/care/mine')"
+        icon="contact"
+      >我的</van-tabbar-item>
+    </van-tabbar>
+  </div>
 </template>
 <script>
-import { Tabbar, TabbarItem } from 'vant';
-import { mapState } from 'vuex';
+import { Tabbar, TabbarItem } from "vant";
+import { mapState } from "vuex";
 
 export default {
   data() {
     return {
-      active: 0,
+      active: 0
     };
   },
   components: {
     // eslint-disable-next-line
-      [Tabbar.name]: Tabbar,
+    [Tabbar.name]: Tabbar,
     // eslint-disable-next-line
-      [TabbarItem.name]: TabbarItem,
+    [TabbarItem.name]: TabbarItem
   },
   computed: {
     ...mapState({
       info: state => state.user.info,
-    }),
+      orders: state => state.user.orders
+    })
   },
   mounted() {
-    if (this.info.status > 2) {
+    if (this.info.status === 3) {
       this.active = 2;
-      this.$router.push({ path: '/care/mine' });
+      this.$router.push({ path: "/care/send" });
+    } else {
+      this.active = -1;
     }
   },
   methods: {
     toPath(p) {
       // 禁止未激活时跳转
-      if (this.info.status > 2) {
+      if (this.info.status === 3 && p) {
         this.$router.push({ path: p });
       } else {
-        this.active = 0;
+        this.active = -1;
         this.$toast.fail({
-          mask: true,
-          message: '请激活后再试',
+          // mask: true,
+          message: "请激活后再试"
         });
+        setTimeout(() => {
+          this.$toast.clear();
+        }, 700);
       }
-    },
-  },
+    }
+  }
 };
 </script>
 
 <style lang="less" scoped>
-    .care-wrapper {
-        font-size: 30px;
-    }
+.care-wrapper {
+  font-size: 30px;
+}
 
-    .van-tabbar-item--active {
-        color: #41b883;
-    }
+.van-tabbar-item--active {
+  color: #41b883;
+}
 
-    .router {
-        height: calc(100vh - 50px);
-    }
+.router {
+  height: calc(100vh - 50px);
+}
 </style>

+ 16 - 16
www/webapp/safety/src/views/Client/Other/index.vue

@@ -1,21 +1,21 @@
 <template>
-    <div class="other-wrapper">
-        <div class="text">
-            请您联系管理员激活<br/>
-            暂未激活,功能无法开放<br/>
-        </div>
+  <div class="other-wrapper">
+    <div class="text">
+      请您联系管理员激活<br />
+      暂未激活,功能无法开放<br />
     </div>
+  </div>
 </template>
 <style lang="less">
-    .other-wrapper {
-        .text {
-            padding: 5px;
-            text-align: center;
-            width: 100%;
-            line-height: 50px;
-            margin-top: 30%;
-            font-size: 25px;
-            font-weight: 100;
-        }
-    }
+.other-wrapper {
+  .text {
+    padding: 5px;
+    text-align: center;
+    width: 100%;
+    line-height: 50px;
+    margin-top: 30%;
+    font-size: 25px;
+    font-weight: 100;
+  }
+}
 </style>