houwei 4 år sedan
förälder
incheckning
68e2559074
62 ändrade filer med 4212 tillägg och 2146 borttagningar
  1. BIN
      dist.zip
  2. 3389 205
      package-lock.json
  3. 3 0
      package.json
  4. 1 1
      public/index.html
  5. 2 1
      src/api/ajax.js
  6. 3 33
      src/api/index.js
  7. BIN
      src/assets/199.png
  8. BIN
      src/assets/1999.png
  9. BIN
      src/assets/399.png
  10. BIN
      src/assets/active_bar1.png
  11. BIN
      src/assets/active_bar2.png
  12. BIN
      src/assets/active_bar3.png
  13. BIN
      src/assets/activeimg.png
  14. BIN
      src/assets/activephoto.png
  15. BIN
      src/assets/cardModel.png
  16. BIN
      src/assets/demo.png
  17. BIN
      src/assets/di.png
  18. BIN
      src/assets/empty.png
  19. BIN
      src/assets/ewm.png
  20. BIN
      src/assets/ewmbj.png
  21. BIN
      src/assets/gou.png
  22. BIN
      src/assets/gray.png
  23. BIN
      src/assets/heart.png
  24. BIN
      src/assets/huiyuan_bj.png
  25. BIN
      src/assets/icon1.png
  26. BIN
      src/assets/icon2.png
  27. BIN
      src/assets/icon3.png
  28. BIN
      src/assets/icon4.png
  29. BIN
      src/assets/icon5.png
  30. BIN
      src/assets/icon6.png
  31. BIN
      src/assets/icon7.png
  32. BIN
      src/assets/icon8.png
  33. BIN
      src/assets/isJoin.png
  34. BIN
      src/assets/lb.png
  35. BIN
      src/assets/logo.png
  36. BIN
      src/assets/love.png
  37. BIN
      src/assets/morenImg.png
  38. BIN
      src/assets/person_bj.png
  39. BIN
      src/assets/photo.jpg
  40. BIN
      src/assets/remarked.png
  41. BIN
      src/assets/show.png
  42. BIN
      src/assets/tuijian.png
  43. BIN
      src/assets/unactive_bar1.png
  44. BIN
      src/assets/unactive_bar2.png
  45. BIN
      src/assets/unactive_bar3.png
  46. 0 151
      src/pages/activeDetails.vue
  47. 58 0
      src/pages/firstPay.vue
  48. 218 201
      src/pages/index.vue
  49. 0 696
      src/pages/infoDetails.vue
  50. 0 62
      src/pages/infoType.vue
  51. 0 128
      src/pages/myActives.vue
  52. 0 222
      src/pages/onSiteActivity.vue
  53. 130 0
      src/pages/payList.vue
  54. 0 172
      src/pages/personCenter.vue
  55. 0 38
      src/pages/registrationSuccess.vue
  56. 58 0
      src/pages/secondPay.vue
  57. 0 162
      src/pages/share.vue
  58. 58 0
      src/pages/thirdPay.vue
  59. 244 0
      src/pages/xy.vue
  60. 21 39
      src/router/index.js
  61. 15 24
      src/util/getOpenId.js
  62. 12 11
      vue.config.js

BIN
dist.zip


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 3389 - 205
package-lock.json


+ 3 - 0
package.json

@@ -12,6 +12,9 @@
     "core-js": "^3.6.5",
     "element-ui": "^2.14.1",
     "html2canvas": "^1.0.0-rc.7",
+    "less": "^4.0.0",
+    "less-loader": "^7.2.0",
+    "npm": "^6.14.10",
     "vant": "^2.11.3",
     "vue": "^2.6.11",
     "vue-router": "^3.2.0",

+ 1 - 1
public/index.html

@@ -6,7 +6,7 @@
     <meta name="viewport" content="width=device-width,initial-scale=1.0,minimum-scale=1.0, maximum-scale=1.0, user-scalable=no">
     <!--  <meta name="viewport" content="width=device-width, initial-scale=1.0, " /> -->
     <link rel="icon" href="<%= BASE_URL %>favicon.ico">
-    <title><%= htmlWebpackPlugin.options.title %></title>
+    <title>会员权益</title>
   </head>
   <body>
     <noscript>

+ 2 - 1
src/api/ajax.js

@@ -3,7 +3,8 @@ import qs from 'qs';
 import { Message } from 'element-ui';
 // import {BASE_URL} from '/wx'
 
-axios.defaults.baseURL = '/api';
+// axios.defaults.baseURL = '/api';
+axios.defaults.baseURL = 'https://yuehe.hellevil.com/'
 axios.defaults.headers.common['Content-Type'] = 'application/json; charset=UTF-8';
 //网络请求
 export default function ajax(url, data = {}, type = 'GET', isupload) {

+ 3 - 33
src/api/index.js

@@ -1,34 +1,4 @@
 import ajax from './ajax';
-import openId from "../util/getOpenId";
-let openid = 'oeYBv5YNe7H98VMH3kp4qNofgrF4';
-openId.getOpenId(() => {
-    openid = window.localStorage.getItem("openId");
-});
-// 获取表单项
-export const getForm = params => ajax(`/wx/member/${openid}/options`, params, 'GET');
-// 获取首页活动列表
-export const getActives = params => ajax(`/wx/member/${openid}/actives`, params, 'GET');
-// 我的 获取心动次数显示
-export const getHeartTimes = params => ajax(`/wx/actives/${openid}/0/myHearts`, params, 'GET');
-// 我的 获取被心动次数显示
-export const getHeartedTimes = params => ajax(`/wx/actives/${openid}/0/myHearted`, params, 'GET');
-//获取我的活动
-export const getMyActives = params => ajax(`/wx/member/${openid}/myActive`, params, 'GET');
-// 判断个人信息是否填写
-export const getPersonInfo = params => ajax(`/wx/member/${openid}/info`, params, 'GET');
-// 个人信息提交
-export const postPersonInfo = params => ajax(`/wx/member/${openid}/info`, params, 'POST');
-// 获取活动详情
-export const getActiveDetails = (params, id) => ajax(`/wx/actives/${openid}/${id}/detail`, params, 'GET');
-// 报名活动
-export const baoming = (params, id) => ajax(`/wx/actives/${openid}/${id}/enter`, params, 'GET');
-// 获取本场活动人员列表
-export const getMember = (params, id) => ajax(`/wx/actives/${openid}/${id}/members`, params, 'GET');
-// 获取本场活动心动上限
-export const getMostTimes = (params, id) => ajax(`/wx/actives/${openid}/${id}/detail`, params, 'GET');
-// 获取我目前的心动次数
-export const getMyTimes = (params, id) => ajax(`/wx/actives/${openid}/${id}/myHearts`, params, 'GET');
-// 心动heartbeat
-export const heartbeat = (params, id) => ajax(`/wx/actives/${openid}/${id}/heartbeat`, params, 'GET');
-//取消心动unfollow
-export const unfollow = (params, id) => ajax(`/wx/actives/${openid}/${id}/unfollow`, params, 'GET');
+let openid = window.localStorage.getItem("openId");
+//获取openid
+export const getOpenId = params => ajax(`/wx/mpuser/wxeef6678b92b6c856/info`, params, 'GET');

BIN
src/assets/199.png


BIN
src/assets/1999.png


BIN
src/assets/399.png


BIN
src/assets/active_bar1.png


BIN
src/assets/active_bar2.png


BIN
src/assets/active_bar3.png


BIN
src/assets/activeimg.png


BIN
src/assets/activephoto.png


BIN
src/assets/cardModel.png


BIN
src/assets/demo.png


BIN
src/assets/di.png


BIN
src/assets/empty.png


BIN
src/assets/ewm.png


BIN
src/assets/ewmbj.png


BIN
src/assets/gou.png


BIN
src/assets/gray.png


BIN
src/assets/heart.png


BIN
src/assets/huiyuan_bj.png


BIN
src/assets/icon1.png


BIN
src/assets/icon2.png


BIN
src/assets/icon3.png


BIN
src/assets/icon4.png


BIN
src/assets/icon5.png


BIN
src/assets/icon6.png


BIN
src/assets/icon7.png


BIN
src/assets/icon8.png


BIN
src/assets/isJoin.png


BIN
src/assets/lb.png


BIN
src/assets/logo.png


BIN
src/assets/love.png


BIN
src/assets/morenImg.png


BIN
src/assets/person_bj.png


BIN
src/assets/photo.jpg


BIN
src/assets/remarked.png


BIN
src/assets/show.png


BIN
src/assets/tuijian.png


BIN
src/assets/unactive_bar1.png


BIN
src/assets/unactive_bar2.png


BIN
src/assets/unactive_bar3.png


+ 0 - 151
src/pages/activeDetails.vue

@@ -1,151 +0,0 @@
-<template>
-  <div>
-    <div style="background: #fff">
-      <img
-        src="../assets/activeimg.png"
-        style="width: 94%; height: 180px; margin-left: 3%; margin-top: 10px"
-      />
-      <div class="line">
-        <van-icon
-          name="like-o"
-          size="20px"
-          color="#906cff"
-          style="margin-left: 17px; margin-top: 15px"
-        />
-        <p style="margin-left: 17px">已报名{{ actualCount }}/{{ planCount }}</p>
-      </div>
-      <div style="background: #fcf9ff; width: 100%; height: 10px"></div>
-      <div class="line" style="border-bottom: 1px solid #eeeeee">
-        <van-icon
-          name="clock-o"
-          size="20px"
-          color="#906cff"
-          style="margin-left: 17px; margin-top: 15px"
-        />
-        <p style="margin-left: 17px">活动时间:{{ activeStart }}</p>
-      </div>
-      <div class="line">
-        <van-icon
-          name="location-o"
-          size="20px"
-          color="#906cff"
-          style="margin-left: 17px; margin-top: 15px"
-        />
-        <p style="margin-left: 17px">地址:{{ address }}</p>
-      </div>
-      <div style="background: #fcf9ff; width: 100%; height: 10px"></div>
-      <div class="title">
-        <div
-          style="
-            background-color: #8d6dff;
-            width: 5px;
-            height: 22px;
-            border-radius: 2px;
-          "
-        ></div>
-        <div style="color: #333333; margin-left: 10px; font-size: 14px">
-          活动详情
-        </div>
-      </div>
-      <div style="color: #999999; margin: 17px; font-size: 15px">
-        {{ remark }}
-      </div>
-      <img
-        src="../assets/remarked.png"
-        class="remarkImg"
-        v-if="isInit && activeOpenid != null"
-      />
-      <div class="btn_area" v-if="isInit && !activeOpenid">
-        <div class="btn" @click="isOk">报名</div>
-      </div>
-    </div>
-  </div>
-</template>
-<script>
-import { getActiveDetails, baoming } from "../api";
-export default {
-  data() {
-    return {
-      isInit: false,
-      actualCount: "",
-      planCount: "",
-      activeStart: "",
-      address: "",
-      remark: "",
-      activeOpenid: "",
-      id: "", //活动id
-    };
-  },
-  computed: {},
-  watch: {},
-  methods: {
-    async getDetails(id) {
-      const result = await getActiveDetails({}, id);
-      (this.actualCount = result.activeRoll.actualCount),
-        (this.planCount = result.activeRoll.planCount),
-        (this.activeStart = result.activeRoll.activeStart),
-        (this.address = result.activeRoll.address),
-        (this.remark = result.activeRoll.remark),
-        (this.id = result.activeRoll.id),
-        (this.isInit = true);
-    },
-    async isOk() {
-      const result = await baoming({}, this.id);
-      if (result.code == 0) {
-        this.$router.push({ name: "registrationSuccess" });
-      }
-      console.log(result);
-    },
-  },
-  created() {},
-  mounted() {
-    console.log(this.$route.params.openId);
-    this.activeOpenid = this.$route.params.openId;
-    this.getDetails(this.$route.params.id);
-  },
-};
-</script>
-<style scoped>
-.line {
-  display: flex;
-  color: #999999;
-}
-
-.title {
-  margin-left: 17px;
-  margin-top: 17px;
-  display: flex;
-}
-
-.btn_area {
-  width: 100%;
-  height: 75px;
-  /* border: 1px solid red; */
-  box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.2);
-  position: fixed;
-  bottom: 0;
-  left: 0;
-}
-
-.btn {
-  width: 90%;
-  height: 40px;
-  line-height: 40px;
-  /* margin-top: 35px; */
-  border-radius: 17px;
-  /* margin-left: 75px; */
-  background: -webkit-linear-gradient(left, #bd64ff, #8873ff);
-  color: white;
-  text-align: center;
-  position: absolute;
-  top: 17px;
-  left: 17px;
-}
-.remarkImg {
-  width: 122px;
-  height: 122px;
-  position: fixed;
-  bottom: 50px;
-  right: 25px;
-}
-</style>

+ 58 - 0
src/pages/firstPay.vue

@@ -0,0 +1,58 @@
+<template>
+  <div>
+    <el-image style="width: 100%" :src="url" fit="contain"></el-image>
+    <div class="pay_area">
+      <div class="btn">¥199/年 立即购买</div>
+      <div style='display:flex; justify-content:center'>
+        <!-- <el-checkbox v-model="checked"/><div class="xy" @click="goXy()">平台用户服务协议</div> -->
+        <div class="xy" @click="goXy()">点击购买即代表同意<span style="font-weight:900;">《平台用户服务协议》</span></div>
+      </div>
+    </div>
+  </div>
+</template>
+<script>
+// import { getActives } from "../api";
+// import openId from "../util/getOpenId";
+export default {
+  name: "firstPay",
+  data() {
+    return {
+      url: require("../assets/199.png"),
+    };
+  },
+  methods: {
+      goXy(){
+          this.$router.push('/xy')
+      }
+  },
+  computed: {},
+  mounted() {},
+};
+</script>
+<style scoped lang="less">
+.pay_area {
+  width: 100%;
+  height: 100px;
+  text-align: center;
+  background: #294166;
+}
+.el-image {
+  display: block;
+}
+.btn {
+  height: 60%;
+  width: 100%;
+  font-weight: 900;
+  font-size: 28px;
+  line-height: 60px;
+  color: #fff;
+}
+.el-checkbox /deep/ .el-checkbox__label{
+    color: #fff;
+}
+.xy{
+    font-size: 13px;
+    color: #fff;
+    margin-left: 5px;
+}
+</style>

+ 218 - 201
src/pages/index.vue

@@ -1,246 +1,263 @@
 <template>
-  <div>
-    <div class="tabbar">
-      <div class="tab1" bindtap="goIndex">
-        <img
-          src="../assets/active_bar1.png"
-          style="width: 20px; height: 20px; padding-top: 5px"
-        />
-        <div style="color: #a342ff">首页</div>
+  <div style="position: relative">
+    <el-image style="width: 100%" :src="url" fit="contain"></el-image>
+    <div class="area">
+      <div class="radio_area">
+        <el-radio-group v-model="radioTreaty" @change="radioChange">
+          <el-radio label="1">199/年 精准匹配一次权益</el-radio>
+          <el-radio label="2">399/年 精准匹配三次权益</el-radio>
+          <el-radio label="3">1999/年 精准匹配十次权益</el-radio>
+        </el-radio-group>
       </div>
-
-      <div class="tab1">
-        <img
-          src="../assets/unactive_bar2.png"
-          style="width: 20px; height: 20px; padding-top: 5px"
-        />
-        <div @click="goKf()">客服</div>
-      </div>
-
-      <div class="tab1" bindtap="goMy">
-        <router-link to="/personCenter">
-          <img
-            src="../assets/unactive_bar3.png"
-            style="width: 20px; height: 20px; padding-top: 5px"
-          />
-          <div style="color: #999999">我的</div>
-        </router-link>
+      <div class="detail_area">
+        <div class="ck" @click="goFirst">查看详情</div>
+        <div class="ck" @click="goSecond">查看详情</div>
+        <div class="ck" @click="goThird">查看详情</div>
       </div>
     </div>
-    <van-swipe class="my-swipe" :autoplay="3000" indicator-color="white">
-      <van-swipe-item><img src="../assets/lb.png" alt="" /></van-swipe-item>
-      <van-swipe-item><img src="../assets/lb.png" alt="" /></van-swipe-item>
-      <van-swipe-item><img src="../assets/lb.png" alt="" /></van-swipe-item>
-      <van-swipe-item><img src="../assets/lb.png" alt="" /></van-swipe-item>
-    </van-swipe>
-    <img
-      src="../assets/show.png"
-      style="width: 85%; margin-left: 5%; height: 100px"
-    />
-    <div style="display: flex; margin: 15px 0 15px 15px">
-      <div
-        style="
-          width: 5px;
-          height: 22px;
-          background-color: #986aff;
-          margin-right: 10px;
-          border-radius: 5px;
-        "
-      ></div>
-      近期活动
-    </div>
-    <img
-      v-if="showNull"
-      src="../assets/empty.png"
-      style="width: 160px; height: 160rpx"
-    />
-    <div
-      v-if="showNull"
-      style="
-        color: #999;
-        width: 100%;
-        height: 160px;
-        top: 275px;
-        left: 0px;
-        text-align: center;
-      "
-    >
-      近期还没有活动呦
-    </div>
-    <div style="margin-bottom: 70px">
-      <div
-        v-for="item in activesArr"
-        :key="item.name"
-        class="box"
-        @click="goActive(item.id, item.openId)"
-        style="position: relative"
-      >
-        <div class="top">
-          <img
-            src="../assets/activephoto.png"
-            style="width: 40px; height: 40px"
-          />
-          <div class="text">
-            <div class="title">{{ item.title }}</div>
-            <div class="remark">{{ item.remark }}</div>
-          </div>
-          <div v-if="item.openId == null" class="btn btn1">报名</div>
-          <div v-if="item.enterStatus == 0" class="btn btn1">审核中</div>
-          <div v-if="item.enterStatus == 1" class="btn btn1">审核通过</div>
-          <div v-if="item.enterStatus == -1" class="btn btn1">审核失败</div>
-        </div>
-        <img src="../assets/activeimg.png" class="img2" />
-        <div class="p1">
-          <van-icon name="clock-o" color="#a267ff" size="15px" />
-          <div style="margin-left: 8px">活动时间:{{ item.activeTime }}</div>
-        </div>
-        <div class="p1">
-          <van-icon name="location-o" color="#a267ff" size="15px" />
-          <div style="margin-left: 8px">活动地点:{{ item.address }}</div>
-        </div>
+    <div class="pay_area">
+      <div class="pay_btn" @click="jsSdk()">立即购买</div>
+      <div style="display: flex; justify-content: center">
+        <!-- <el-checkbox
+          v-model="checked"
+          @change="checkboxChange"
+          style="margin-top: 2px"
+        /> -->
+        <div class="xy" @click="goXy()">点击购买即代表同意<span style="color:rgba(20,80,130);font-weight:900;">《平台用户服务协议》</span></div>
       </div>
     </div>
   </div>
 </template>
 <script>
-import { getActives } from "../api";
 import openId from "../util/getOpenId";
 export default {
   name: "index",
   data() {
     return {
-      showNull: false,
-      activesArr: [],
-      openid:""
+      url: require("../assets/huiyuan_bj.png"),
+      radioTreaty: "1",
+      // checked: false,
+      payOption: {
+        appId: "wxeef6678b92b6c856", //公众号名称,由商户传入
+        timeStamp: "", //时间戳,自1970年以来的秒数
+        nonceStr: "", //随机串
+        package: "prepay_id=wxXXXXXXX", //prepay_id用等式的格式
+        signType: "MD5", //微信签名方式:
+        paySign: "", //微信签名
+      },
     };
   },
   methods: {
-    async getActives() {
-      let arr = [];
-      const result = await getActives({ activeStatus: 0 });
-      if (result.code == 0) {
-        arr = result.actives;
-        const result2 = await getActives({ activeStatus: 1 });
-        if (result2.code == 0) {
-          this.activesArr = arr.concat(result2.actives);
-          if (this.activesArr.length == 0) {
-            this.showNull = true;
-          } else {
-            this.showNull = false;
-          }
-        }
+    goXy() {
+      this.$router.push("/xy");
+    },
+    goFirst() {
+      this.$router.push("/firstPay");
+    },
+    goSecond() {
+      this.$router.push("/secondPay");
+    },
+    goThird() {
+      this.$router.push("/thirdPay");
+    },
+    radioChange: (val) => {
+      console.log(val);
+    },
+    checkboxChange: (val) => {
+      this.checked = val;
+      console.log(val);
+    },
+    getTimeStamp() {
+      this.payOption.timeStamp = new Date().getTime();
+    },
+    randomString() {
+      let len = 32;
+      let $chars = "ABCDEFGHJKMNPQRSTWXYZabcdefhijkmnprstwxyz2345678";
+      let maxPos = $chars.length;
+      let pwd = "";
+      for (let i = 0; i < len; i++) {
+        pwd += $chars.charAt(Math.floor(Math.random() * maxPos));
       }
-      console.log(this.activesArr);
+      console.log(pwd);
+      this.payOption.nonceStr = pwd;
     },
-    goKf() {
-      window.location.href =
-        "https://hzkhcs.qiyukf.com/client?k=de9c471949df00adb71be66e0ac85978&wp=1&robotShuntSwitch=1&robotId=5217545&qtype=4486102";
+    jsSdk() {
+      // 判断微信的WeixinJSBridge
+      console.log(typeof WeixinJSBridge)
+      if (typeof WeixinJSBridge == "undefined") {
+        if (document.addEventListener) {
+          document.addEventListener(
+            "WeixinJSBridgeReady",
+            this.onBridgeReady,
+            false
+          );
+        } else if (document.attachEvent) {
+          document.attachEvent("WeixinJSBridgeReady", this.onBridgeReady);
+          document.attachEvent("onWeixinJSBridgeReady", this.onBridgeReady);
+        }
+      } else {
+        // this.randomString();
+        // this.getTimeStamp();
+        this.onBridgeReady();
+        
+      }
     },
-    goActive(id, openId) {
-      this.$router.push({ name: "activeDetails", params: { openId, id } });
+    // 支付sdk准备完成
+    onBridgeReady() {
+      // 触发微信支付
+      WeixinJSBridge.invoke(
+        "getBrandWCPayRequest",
+        {
+          appId: this.payOption.appId, //公众号名称,由商户传入
+          timeStamp: this.payOption.timeStamp, //时间戳,自1970年以来的秒数
+          nonceStr: this.payOption.nonceStr, //随机串
+          package: this.payOption.package, //prepay_id用等式的格式
+          signType: this.payOption.signType, //微信签名方式:
+          paySign: this.payOption.paySign, //微信签名
+        },
+        function (res) {
+          if (res.err_msg == "get_brand_wcpay_request:ok") {
+            // 支付成功 返回成功页
+            let tempUrl = "//paysucc";
+            location.href = tempUr;
+          } else {
+            //  取消支付或者其他情况 get_brand_wcpay_request:cancel get_brand_wcpay_request:fail
+            let tempUrl = "//topay";
+            location.href = tempUrl;
+          }
+        }
+      );
     },
   },
   computed: {},
   mounted() {
-    this.getActives();
-    openId.getOpenId(() => {
-      this.openid = window.localStorage.getItem("openId");
-    });
+    // openId.getOpenId(() => {
+    //   let openid = window.localStorage.getItem("openId");
+    //   console.log(openid, "我是获取的openid");
+    // });
+
   },
 };
 </script>
-<style scoped>
-.my-swipe {
+<style scoped lang="less">
+.pay_area {
   width: 100%;
-  height: 200px;
-}
-.my-swipe .van-swipe-item img {
-  width: 100%;
-  height: 200px;
-}
-.tabbar {
-  width: 100%;
-  box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.4);
-  height: 50px;
-  position: fixed;
-  bottom: -2px;
+  height: 10%;
+  position: absolute;
+  bottom: 1.5%;
   left: 0;
-  display: flex;
-  font-size: 14px;
-  background: #fff;
-  z-index: 999;
+  // border: 1px solid red;
+  // text-align: center;
 }
-
-.tab1 {
-  height: 50px;
-  width: 33%;
+.pay_btn {
+  height: 60px;
+  width: 100%;
   text-align: center;
-  color: #999999;
+  //  border: 1px solid red;
+  color: #fff;
+  font-weight: 900;
+  font-size: 30px;
+  line-height: 60px;
 }
-.box {
-  width: 85%;
-  /* height: 530rpx; */
-  margin: 5%;
-  box-shadow: 0 0 5px 5px #eceafa;
-  padding: 2%;
+.el-image {
+  display: block;
 }
-.top {
+.area {
   display: flex;
+  width: 70%;
+  position: absolute;
+  top: 52%;
+  left: 15%;
+  height: 100px;
 }
-.text {
-  /* border: 1px solid red; */
-  width: 210px;
-  text-align: left;
+.radio_area {
+  height: 100%;
+  width: 75%;
 }
-
-.title {
-  color: #4d4d4d;
-  font-size: 14px;
-  margin-left: 15px;
+.detail_area {
+  width: 25%;
+  height: 100%;
+  // margin-left: %;
 }
-
-.remark {
-  color: #999999;
-  font-size: 14px;
-  margin-left: 15px;
-  margin-top: 5px;
+.el-radio-group .el-radio {
+  display: block;
+  color: #fff;
 }
-
-.btn {
-  width: 75px;
-  height: 25px;
-  text-align: center;
-  font-weight: bold;
-  line-height: 25px;
-  font-size: 14px;
-  border-radius: 15px;
-  margin-top: 5px;
+.el-radio-group
+  .el-radio
+  /deep/
+  .el-radio__input.is-checked
+  + .el-radio__label {
+  color: #fff !important;
 }
-
-.btn1 {
-  border: 1px solid #1bb610;
-  color: #1bb610;
+.el-radio-group .el-radio /deep/ .el-radio__label {
+  color: #fff !important;
+  font-size: 13px !important;
+  padding-left: 4px !important;
 }
-
-.btn2 {
-  border: 1px solid #216deb;
-  color: #216deb;
+.el-radio-group
+  .el-radio
+  /deep/
+  .el-radio__input.is-checked
+  /deep/
+  .el-radio__inner::after {
+  content: "";
+  width: 10px !important;
+  height: 5px !important;
+  border: 2px solid #fea001 !important;
+  border-top: transparent !important;
+  border-right: transparent !important;
+  text-align: center !important;
+  display: block !important;
+  position: absolute !important;
+  top: 2px !important;
+  left: 0px !important;
+  vertical-align: middle !important;
+  transform: rotate(-45deg) !important;
+  border-radius: 0px !important;
+  background: none !important;
 }
-
-.btn3 {
-  border: 1px solid #f1252e;
-  color: #f1252e;
+.el-radio-group .el-radio /deep/ .el-radio__input.is-checked .el-radio__inner {
+  border-color: #fff;
+  background: #fff;
+  width: 15px;
+  height: 15px;
 }
-
-.img2 {
-  width: 100%;
-  height: 150px;
-  margin-top: 15px;
+.el-radio-group .el-radio /deep/ .el-radio__input .el-radio__inner {
+  width: 15px;
+  height: 15px;
 }
-.p1 {
-  display: flex;
-  color: #999999;
-  margin-top: 7px;
-  font-size: 14px;
+.el-radio-group .el-radio {
+  margin-top: 10px;
+  .el-radio__input {
+    display: none;
+    color: #fff;
+  }
+  &.is-checked {
+    position: relative;
+    &:after {
+      content: "";
+      display: block;
+      height: 15px;
+      width: 15px;
+      background-size: 100%;
+      position: absolute;
+      right: 0;
+      top: 0;
+      color: #000;
+    }
+  }
+}
+.ck {
+  font-size: 12px;
+  margin-top: 11px;
+  background: #fea001;
+  color: #fff;
+  text-align: center;
+}
+.xy {
+  font-size: 13px;
+  color: #fff;
+  margin-left: 5px;
 }
 </style>

+ 0 - 696
src/pages/infoDetails.vue

@@ -1,696 +0,0 @@
-<template>
-  <div class="main">
-    <el-form
-      label-position="left"
-      :model="ruleForm"
-      :rules="rules"
-      ref="ruleForm"
-      label-width="210px"
-    >
-      <el-form-item label="咋联系你呢" prop="phone" class="error_info">
-        <el-input v-model="ruleForm.phone" placeholder="请输入"></el-input>
-      </el-form-item>
-      <el-form-item label="你得有一米八吧" prop="height" class="error_info">
-        <el-select v-model="ruleForm.height" placeholder="未选择">
-          <el-option
-            v-for="(item, i) in height"
-            :key="i"
-            :label="item.dictLabel"
-            :value="item.dictValue"
-          ></el-option>
-        </el-select>
-      </el-form-item>
-      <el-form-item label="你咋那么瘦呢" prop="weight" class="error_info">
-        <el-select v-model="ruleForm.weight" placeholder="未选择">
-          <el-option
-            v-for="(item, i) in weight"
-            :key="i"
-            :label="item.dictLabel"
-            :value="item.dictValue"
-          ></el-option>
-        </el-select>
-      </el-form-item>
-      <el-form-item
-        label="当初没选清华北大是你不想吗"
-        prop="education"
-        label-width="210px"
-        class="education_error"
-      >
-        <el-select v-model="ruleForm.education" placeholder="未选择">
-          <el-option
-            v-for="(item, i) in education"
-            :key="i"
-            :label="item.dictLabel"
-            :value="item.dictValue"
-          ></el-option>
-        </el-select>
-      </el-form-item>
-      <el-form-item label="一月能挣多少米" prop="income" class="error_info">
-        <el-select v-model="ruleForm.income" placeholder="未选择">
-          <el-option
-            v-for="(item, i) in income"
-            :key="i"
-            :label="item.dictLabel"
-            :value="item.dictValue"
-          ></el-option>
-        </el-select>
-      </el-form-item>
-      <el-form-item label="关于小红本本" prop="marriage" class="error_info">
-        <el-select v-model="ruleForm.marriage" placeholder="未选择">
-          <el-option
-            v-for="(item, i) in marriage"
-            :key="i"
-            :label="item.dictLabel"
-            :value="item.dictValue"
-          ></el-option>
-        </el-select>
-      </el-form-item>
-      <el-form-item label="亲生的小祖宗" prop="children" class="error_info">
-        <el-select v-model="ruleForm.children" placeholder="未选择">
-          <el-option
-            v-for="(item, i) in children"
-            :key="i"
-            :label="item.dictLabel"
-            :value="item.dictValue"
-          ></el-option>
-        </el-select>
-      </el-form-item>
-      <el-form-item
-        label="这些年没少攒吧(房)"
-        prop="assetHouse"
-        class="error_info"
-      >
-        <el-select
-          v-model="ruleForm.assetHouse"
-          placeholder="未选择"
-          @change="assetHouseChange"
-        >
-          <el-option
-            v-for="(item, i) in assetHouse"
-            :key="i"
-            :label="item.dictLabel"
-            :value="item.dictValue"
-          ></el-option>
-        </el-select>
-      </el-form-item>
-      <el-form-item
-        v-if="assetHouse.dictValue == '2' || assetHouseShow"
-        label="房屋面积"
-        prop="assetHouseArea"
-        class="error_info"
-      >
-        <el-select v-model="ruleForm.assetHouseArea" placeholder="未选择">
-          <el-option
-            v-for="(item, i) in assetHouseArea"
-            :key="i"
-            :label="item.dictLabel"
-            :value="item.dictValue"
-          ></el-option>
-        </el-select>
-      </el-form-item>
-      <el-form-item
-        v-if="assetHouse.dictValue == '2' || assetHouseShow"
-        label="有无房贷"
-        prop="assetHouseLoan"
-        class="error_info"
-      >
-        <el-select v-model="ruleForm.assetHouseLoan" placeholder="未选择">
-          <el-option
-            v-for="(item, i) in assetHouseLoan"
-            :key="i"
-            :label="item.dictLabel"
-            :value="item.dictValue"
-          ></el-option>
-        </el-select>
-      </el-form-item>
-      <el-form-item
-        label="这些年没少攒吧(车)"
-        prop="assetCar"
-        class="error_info"
-      >
-        <el-select
-          v-model="ruleForm.assetCar"
-          placeholder="未选择"
-          @change="assetCarChange"
-        >
-          <el-option
-            v-for="(item, i) in assetCar"
-            :key="i"
-            :label="item.dictLabel"
-            :value="item.dictValue"
-          ></el-option>
-        </el-select>
-      </el-form-item>
-      <el-form-item
-        v-if="assetCar.dictValue == '2' || assetCarShow"
-        label="车辆价值"
-        prop="assetCarValue"
-        class="error_info"
-      >
-        <el-select v-model="ruleForm.assetCarValue" placeholder="未选择">
-          <el-option
-            v-for="(item, i) in assetCarValue"
-            :key="i"
-            :label="item.dictLabel"
-            :value="item.dictValue"
-          ></el-option>
-        </el-select>
-      </el-form-item>
-      <el-form-item
-        v-if="assetCar.dictValue == '2' || assetCarShow"
-        label="车贷情况"
-        prop="assetCarLoan"
-        class="error_info"
-      >
-        <el-select v-model="ruleForm.assetCarLoan" placeholder="未选择">
-          <el-option
-            v-for="(item, i) in assetCarLoan"
-            :key="i"
-            :label="item.dictLabel"
-            :value="item.dictValue"
-          ></el-option>
-        </el-select>
-      </el-form-item>
-
-      <el-form-item
-        label="啥时候方便我给你介绍个对象(多选)"
-        prop="controlTime"
-        class="checkbox"
-      >
-        <el-checkbox-group v-model="ruleForm.controlTime">
-          <el-checkbox
-            v-for="item in controlTime"
-            :key="item.dictValue"
-            :label="item.dictValue"
-            >{{ item.dictLabel }}</el-checkbox
-          >
-        </el-checkbox-group>
-      </el-form-item>
-      <el-form-item label="卖命主旋律(多选)" prop="workStatus" class="checkbox">
-        <el-checkbox-group v-model="ruleForm.workStatus">
-          <el-checkbox
-            v-for="item in workStatus"
-            :key="item.dictValue"
-            :label="item.dictValue"
-            >{{ item.dictLabel }}</el-checkbox
-          >
-        </el-checkbox-group>
-      </el-form-item>
-      <el-form-item label="卖命主阵地" prop="companyNature" class="error_info">
-        <el-select v-model="ruleForm.companyNature" placeholder="未选择">
-          <el-option
-            v-for="(item, i) in companyNature"
-            :key="i"
-            :label="item.dictLabel"
-            :value="item.dictValue"
-          ></el-option>
-        </el-select>
-      </el-form-item>
-      <el-form-item label="具体卖命单位" prop="company" class="error_info">
-        <el-input v-model="ruleForm.company" placeholder="请输入"></el-input>
-      </el-form-item>
-      <el-form-item label="爹妈情况" prop="parents" class="error_info">
-        <el-select v-model="ruleForm.parents" placeholder="未选择">
-          <el-option
-            v-for="(item, i) in parents"
-            :key="i"
-            :label="item.dictLabel"
-            :value="item.dictValue"
-          ></el-option>
-        </el-select>
-      </el-form-item>
-      <el-form-item label="和父母一起住没" prop="isCommon" class="error_info">
-        <el-select v-model="ruleForm.isCommon" placeholder="未选择">
-          <el-option
-            v-for="(item, i) in isCommon"
-            :key="i"
-            :label="item.dictLabel"
-            :value="item.dictValue"
-          ></el-option>
-        </el-select>
-      </el-form-item>
-      <el-form-item label="爸比在哪高就" prop="fatherWork" class="error_info">
-        <el-select v-model="ruleForm.fatherWork" placeholder="未选择">
-          <el-option
-            v-for="(item, i) in fatherWork"
-            :key="i"
-            :label="item.dictLabel"
-            :value="item.dictValue"
-          ></el-option>
-        </el-select>
-      </el-form-item>
-      <el-form-item label="那么妈咪呢" prop="matherWork" class="error_info">
-        <el-select v-model="ruleForm.matherWork" placeholder="未选择">
-          <el-option
-            v-for="(item, i) in matherWork"
-            :key="i"
-            :label="item.dictLabel"
-            :value="item.dictValue"
-          ></el-option>
-        </el-select>
-      </el-form-item>
-      <el-form-item label="爹妈有工资没" prop="parentAssets" class="error_info">
-        <el-select v-model="ruleForm.parentAssets" placeholder="未选择">
-          <el-option
-            v-for="(item, i) in parentAssets"
-            :key="i"
-            :label="item.dictLabel"
-            :value="item.dictValue"
-          ></el-option>
-        </el-select>
-      </el-form-item>
-      <el-form-item
-        label="家里有跟你争宠的没(多选)"
-        prop="composition"
-        class="checkbox"
-      >
-        <el-checkbox-group v-model="ruleForm.composition">
-          <el-checkbox
-            v-for="item in composition"
-            :key="item.dictValue"
-            :label="item.dictValue"
-            >{{ item.dictLabel }}</el-checkbox
-          >
-        </el-checkbox-group>
-      </el-form-item>
-      <el-form-item label="你这身材可以呀" prop="sports" class="error_info">
-        <el-select v-model="ruleForm.sports" placeholder="未选择">
-          <el-option
-            v-for="(item, i) in sports"
-            :key="i"
-            :label="item.dictLabel"
-            :value="item.dictValue"
-          ></el-option>
-        </el-select>
-      </el-form-item>
-      <el-form-item label="喜欢铜鼓点啥(多选)" prop="hobby" class="checkbox">
-        <el-checkbox-group v-model="ruleForm.hobby">
-          <el-checkbox
-            v-for="item in hobby"
-            :key="item.dictValue"
-            :label="item.dictValue"
-            >{{ item.dictLabel }}</el-checkbox
-          >
-        </el-checkbox-group>
-      </el-form-item>
-      <!-- <el-form-item> -->
-      <el-button
-        class="confirm_button"
-        type="primary"
-        @click="submitForm('ruleForm')"
-        >确认</el-button
-      >
-      <!-- </el-form-item> -->
-    </el-form>
-  </div>
-</template>
-
-<script>
-// import tabbaar from '../components/tabbar'
-import { getForm, getPersonInfo, postPersonInfo } from "../api";
-export default {
-  name: "Home",
-  components: {},
-  data() {
-    return {
-      assetHouseShow: false,
-      assetCarShow: false,
-      phone: [], //手机号
-      height: [], //身高
-      weight: [], //体重
-      education: [], //学历
-      income: [], //收入
-      marriage: [], //婚姻状况
-      children: [], //子女
-      assetHouse: [], //房
-      assetHouseArea: [], //房屋面积
-      assetHouseLoan: [], //贷款
-      assetCar: [], //车
-      assetCarValue: [], //车多钱
-      assetCarLoan: [], //车贷款
-      isCommon: [
-        { dictLabel: "没有", dictValue: "0" },
-        { dictLabel: "一起", dictValue: "1" },
-      ], //跟父母一起住
-      controlTime: [], //空闲时间
-      workStatus: [], //工作状态
-      companyNature: [], //公司性质
-      company: [], //公司名
-      parents: [], //父母状态
-      fatherWork: [], //
-      matherWork: [],
-      parentAssets: [], //父母资产
-      composition: [], //兄弟姐妹
-      motionState: [], //星座
-      sports: "", //运动情况
-      hobby: [], //爱好
-      ruleForm: {
-        phone: "", //手机号
-        height: "", //身高
-        weight: "", //体重
-        education: "", //学历
-        income: "", //收入
-        marriage: "", //婚姻状况
-        children: "", //子女
-        assetHouse: "", //房
-        assetHouseArea: "", //房屋面积
-        assetHouseLoan: "", //贷款
-        assetCar: "", //车
-        assetCarValue: "", //车多钱
-        assetCarLoan: "", //车贷款
-        isCommon: [], //跟父母一起住
-        controlTime: [], //空闲时间
-        workStatus: [], //工作状态
-        companyNature: "", //公司性质
-        company: "", //公司名
-        parents: "", //父母状态
-        fatherWork: "", //
-        matherWork: "",
-        parentAssets: "", //父母资产
-        composition: [], //兄弟姐妹
-        sports: "", //运动情况
-        motionState: "", //星座
-        hobby: [], //爱好
-      },
-      rules: {
-        phone: [{ required: true, message: "请输入", trigger: "blur" }],
-        height: [{ required: true, message: "请选择", trigger: "change" }],
-        weight: [{ required: true, message: "请选择", trigger: "change" }],
-        education: [{ required: true, message: "请选择", trigger: "change" }],
-        income: [{ required: true, message: "请选择", trigger: "change" }],
-        marriage: [{ required: true, message: "请选择", trigger: "change" }],
-        children: [{ required: true, message: "请选择", trigger: "change" }],
-        assetHouse: [{ required: true, message: "请选择", trigger: "change" }],
-        assetHouseArea: [
-          { required: true, message: "请选择", trigger: "change" },
-        ],
-        assetHouseLoan: [
-          { required: true, message: "请选择", trigger: "change" },
-        ],
-        assetCar: [{ required: true, message: "请选择", trigger: "change" }],
-        assetCarValue: [
-          { required: true, message: "请选择", trigger: "change" },
-        ],
-        assetCarLoan: [
-          { required: true, message: "请选择", trigger: "change" },
-        ],
-        controlTime: [
-          {
-            type: "array",
-            required: true,
-            message: "请至少选择一个",
-            trigger: "change",
-          },
-        ],
-        workStatus: [
-          {
-            type: "array",
-            required: true,
-            message: "请至少选择一个",
-            trigger: "change",
-          },
-        ],
-        companyNature: [
-          { required: true, message: "请选择", trigger: "change" },
-        ],
-        company: [{ required: true, message: "请输入", trigger: "blur" }],
-        parents: [{ required: true, message: "请选择", trigger: "change" }],
-        isCommon: [{ required: true, message: "请选择", trigger: "change" }],
-        fatherWork: [{ required: true, message: "请选择", trigger: "change" }],
-        matherWork: [{ required: true, message: "请选择", trigger: "change" }],
-        parentAssets: [
-          { required: true, message: "请选择", trigger: "change" },
-        ],
-        composition: [
-          {
-            type: "array",
-            required: true,
-            message: "请至少选择一个",
-            trigger: "change",
-          },
-        ],
-        sports: [{ required: true, message: "请选择", trigger: "change" }],
-        hobby: [
-          {
-            type: "array",
-            required: true,
-            message: "请至少选择一个",
-            trigger: "change",
-          },
-        ],
-      },
-    };
-  },
-  methods: {
-    //获取是否填写过
-    async getPersonInfo() {
-      const result = await getPersonInfo();
-      console.log(result.info, "222");
-      if (result.info.height) {
-        this.ruleForm = result.info;
-        this.ruleForm.hobby = result.info.hobby.split(",");
-        this.ruleForm.controlTime = result.info.controlTime.split(",");
-        this.ruleForm.workStatus = result.info.workStatus.split(",");
-        this.ruleForm.composition = result.info.composition.split(",");
-      }
-    },
-    async getHeight() {
-      const result = await getForm({ type: "he_body_height" });
-      if (result.code == 0) {
-        this.height = result.options;
-      }
-    },
-    async getWeight() {
-      const result = await getForm({ type: "he_body_weight" });
-      if (result.code == 0) {
-        this.weight = result.options;
-      }
-    },
-    async getEducation() {
-      const result = await getForm({ type: "he_education" });
-      if (result.code == 0) {
-        this.education = result.options;
-      }
-    },
-    async getIncome() {
-      const result = await getForm({ type: "he_income" });
-      if (result.code == 0) {
-        this.income = result.options;
-      }
-    },
-    async getMarriage() {
-      const result = await getForm({ type: "he_marriage" });
-      if (result.code == 0) {
-        this.marriage = result.options;
-      }
-    },
-    async getChildren() {
-      const result = await getForm({ type: "he_children" });
-      if (result.code == 0) {
-        this.children = result.options;
-      }
-    },
-    async getAssetHouse() {
-      const result = await getForm({ type: "he_asset_house" });
-      if (result.code == 0) {
-        this.assetHouse = result.options;
-      }
-    },
-    async getAssetHouseArea() {
-      const result = await getForm({ type: "he_asset_house_area" });
-      if (result.code == 0) {
-        this.assetHouseArea = result.options;
-      }
-    },
-    async getAssetHouseLoan() {
-      const result = await getForm({ type: "he_asset_house_loan" });
-      if (result.code == 0) {
-        this.assetHouseLoan = result.options;
-      }
-    },
-    async getAssetCar() {
-      const result = await getForm({ type: "he_asset_car" });
-      if (result.code == 0) {
-        this.assetCar = result.options;
-      }
-    },
-    async getAssetCarValue() {
-      const result = await getForm({ type: "he_asset_car_value" });
-      if (result.code == 0) {
-        this.assetCarValue = result.options;
-      }
-    },
-    async getAssetCarLoan() {
-      const result = await getForm({ type: "he_asset_car_loan" });
-      if (result.code == 0) {
-        this.assetCarLoan = result.options;
-      }
-    },
-    async getControlTime() {
-      const result = await getForm({ type: "he_control_time" });
-      if (result.code == 0) {
-        this.controlTime = result.options;
-      }
-    },
-    async getWorkStatus() {
-      const result = await getForm({ type: "he_work_status" });
-      if (result.code == 0) {
-        this.workStatus = result.options;
-      }
-    },
-    async getCompanyNature() {
-      const result = await getForm({ type: "he_company_nature" });
-      if (result.code == 0) {
-        this.companyNature = result.options;
-        this.fatherWork = result.options;
-        this.matherWork = result.options;
-      }
-    },
-    async getParents() {
-      const result = await getForm({ type: "he_parents" });
-      if (result.code == 0) {
-        this.parents = result.options;
-      }
-    },
-    async getParentAssets() {
-      const result = await getForm({ type: "he_parent_assets" });
-      if (result.code == 0) {
-        this.parentAssets = result.options;
-      }
-    },
-    async getComposition() {
-      const result = await getForm({ type: "he_composition" });
-      if (result.code == 0) {
-        this.composition = result.options;
-      }
-    },
-    async getSports() {
-      const result = await getForm({ type: "he_sports" });
-      if (result.code == 0) {
-        this.sports = result.options;
-      }
-    },
-    async getHobby() {
-      const result = await getForm({ type: "he_hobby" });
-      if (result.code == 0) {
-        this.hobby = result.options;
-      }
-    },
-    //监测房产改变
-    assetHouseChange(val) {
-      if (val == 2) {
-        this.assetHouseShow = true;
-      } else {
-        this.assetHouseShow = false;
-      }
-    },
-    //监测车产改变
-    assetCarChange(val) {
-      if (val == 2) {
-        this.assetCarShow = true;
-      } else {
-        this.assetCarShow = false;
-      }
-    },
-    submitForm(formName) {
-      this.$refs[formName].validate(async (valid) => {
-        if (valid) {
-          console.log(this.ruleForm);
-          const submitList = this.ruleForm;
-          submitList.controlTime = submitList.controlTime.join(",");
-          submitList.workStatus = submitList.workStatus.join(",");
-          submitList.composition = submitList.composition.join(",");
-          submitList.hobby = submitList.hobby.join(",");
-          console.log(submitList, "submitList");
-          const res = await postPersonInfo(submitList);
-          console.log(res, "提交返回结果");
-          if (res.code == 0) {
-            this.$message.success("提交成功");
-          } else {
-            this.$message.error(res.msg);
-          }
-        } else {
-          console.log("error submit!!");
-          return false;
-        }
-      });
-    },
-  },
-  mounted() {
-    this.getHeight();
-    this.getWeight();
-    this.getEducation();
-    this.getIncome();
-    this.getMarriage();
-    this.getChildren();
-    this.getAssetHouse();
-    this.getAssetHouseArea();
-    this.getAssetHouseLoan();
-    this.getAssetCar();
-    this.getAssetCarValue();
-    this.getAssetCarLoan();
-    this.getControlTime();
-    this.getWorkStatus();
-    this.getCompanyNature();
-    this.getParents();
-    this.getParentAssets();
-    this.getComposition();
-    this.getSports();
-    this.getHobby();
-    this.getPersonInfo();
-  },
-};
-</script>
-<style scoped>
-.main {
-  width: 90%;
-  margin: auto 5%;
-  text-align: left;
-}
-/deep/.checkbox .el-form-item__label {
-  width: 100% !important;
-}
-/deep/.checkbox .el-form-item__content {
-  margin-left: 0 !important;
-}
-/deep/.el-input__inner {
-  border: 0 !important;
-  text-align: right;
-  padding-left: 0;
-}
-/deep/.error_info .el-form-item__error {
-  margin-left: -200px;
-}
-/deep/.education_error .el-form-item__error {
-  margin-left: -210px;
-}
-/deep/.el-checkbox__input {
-  display: none;
-}
-/deep/.el-checkbox__label {
-  border-radius: 15px;
-  border: 1px solid #dcdfe6;
-  padding: 5px 12px 4px;
-}
-/deep/.el-checkbox__input.is-checked + .el-checkbox__label {
-  background: linear-gradient(to right, #bc65ff, #8973ff);
-  color: #fff;
-  border: 1px solid #dcdfe6;
-  padding: 5px 12px 4px;
-}
-.confirm_button {
-  font-size: 18px;
-  background: linear-gradient(to right, #bc65ff, #8973ff);
-  color: #fff;
-  border: none;
-  padding: 15px 30px;
-  width: 80%;
-  margin: 10px 10% 40px;
-  border-radius: 25px;
-}
-/* @media (min-device-width :  375px) and (max-device-width : 667px) and (-webkit-min-device-pixel-ratio : 2){
-        
-.elForm .el-form-item__label{width: 190px;}
-        
-} */
-</style>

+ 0 - 62
src/pages/infoType.vue

@@ -1,62 +0,0 @@
-
-<template>
-  <div class="container1">
-    <div class="a1" @click="goMyinfo()">
-      <div class="left">我的个人信息</div>
-      <van-icon name="arrow" class="right" />
-    </div>
-    <div class="a1" @clic="goMyinfoDetail()">
-      <div class="left">我的个人详细信息</div>
-      <van-icon name="arrow" class="right" />
-    </div>
-    <div class="a1" @clic="goMyTargetInfo()">
-      <div class="left">我的择偶信息</div>
-      <van-icon name="arrow" class="right" />
-    </div>
-  </div>
-</template>
-
-<script>
-export default {
-  data() {
-    return {};
-  },
-  methods: {
-    goMyinfoDetail() {
-      this.$router.push({ name: "infoDetails" });
-    }
-  },
-  computed() {},
-};
-</script>
-<style scoped>
-.container1 {
-  background: #fafafa;
-  height: 100vh;
-  width: 100%;
-  padding-top: 10px;
-}
-
-.a1 {
-  background: #fff;
-  height: 40px;
-  line-height: 40px;
-  width: 90%;
-  margin-left: 5%;
-  margin-top: 10px;
-  font-size: 14px;
-  text-indent: 10px;
-  border-radius: 5px;
-}
-
-.left {
-  float: left;
-}
-
-.right {
-  float: right;
-  /* line-height: 80rpx; */
-  margin-right: 10px;
-  margin-top: 14px;
-}
-</style>

+ 0 - 128
src/pages/myActives.vue

@@ -1,128 +0,0 @@
-<template>
-  <div>
-    <div v-for="item in arr" :key="item.id" class="box">
-      <div class="top">
-        <img
-          src="../assets/activephoto.png"
-          style="width: 40px; height: 40px"
-        />
-        <div class="text">
-          <div class="title">{{ item.title }}</div>
-          <div class="remark">{{ item.remark }}</div>
-        </div>
-        <div v-if="item.activeStatus == 0" class="btn btn1">未开始</div>
-        <div
-          v-if="item.activeStatus == 1"
-          class="btn btn2"
-          @click="goActive(item.id)"
-        >
-          进行中
-        </div>
-        <div v-if="item.activeStatus == 2" class="btn btn3">已结束</div>
-      </div>
-      <img src="../assets/activeimg.png" class="img2" />
-      <div class="p1">
-        <van-icon name="clock-o" color="#a267ff" size="17px" />
-        <div style="margin-left: 7px">活动时间:{{ item.activeTime }}</div>
-      </div>
-      <div class="p1">
-        <van-icon name="location-o" color="#a267ff" size="17px" />
-        <div style="margin-left: 7px">活动地点:{{ item.address }}</div>
-      </div>
-    </div>
-    <div v-if="showNull" style="width: 100%; height: 160px; margin-top: 120px">
-      <img src="../assets/empty.png" style="width: 140px; height: 140px" />
-      <div>您还没有可以参与的活动呦</div>
-    </div>
-  </div>
-</template>
-<script>
-import { getMyActives } from "../api";
-export default {
-  name: "index",
-  data() {
-    return {
-      showNull: false,
-      arr: [],
-    };
-  },
-  methods: {
-    async getMyActives() {
-      const result = await getMyActives();
-      if (result.code == 0) {
-        this.arr = result.actives;
-        if (result.actives.length == 0) {
-          this.showNull = true
-        }
-      }
-    },
-  },
-  computed: {},
-  mounted() {
-    this.getMyActives();
-  },
-};
-</script>
-<style scoped>
-/* pages/myActive/myActive.wxss */
-.box {
-  width: 90%;
-  /* height: 175px; */
-  margin: 12px;
-  box-shadow: 0 0 5px 5px #eceafa;
-  padding: 12px;
-}
-.top {
-  display: flex;
-}
-.text {
-  /* border: 1px solid red; */
-  width: 220px;
-}
-.title {
-  color: #999999;
-  font-size: 14px;
-  margin-left: 15px;
-  text-align: left;
-}
-.remark {
-  color: #4d4d4d;
-  font-size: 14px;
-  margin-left: 15px;
-  margin-top: 5px;
-  text-align: left;
-}
-.btn {
-  width: 75px;
-  height: 25px;
-  text-align: center;
-  font-weight: bold;
-  line-height: 25px;
-  font-size: 14px;
-  border-radius: 15px;
-  margin-top: 5px;
-}
-.btn1 {
-  border: 1px solid #1bb610;
-  color: #1bb610;
-}
-.btn2 {
-  border: 1px solid #216deb;
-  color: #216deb;
-}
-.btn3 {
-  border: 1px solid #f1252e;
-  color: #f1252e;
-}
-.img2 {
-  width: 100%;
-  height: 150px;
-  margin-top: 15px;
-}
-.p1 {
-  display: flex;
-  color: #999999;
-  margin-top: 7px;
-  font-size: 14px;
-}
-</style>

+ 0 - 222
src/pages/onSiteActivity.vue

@@ -1,222 +0,0 @@
-<template>
-  <div>
-    <div class="container">
-      <div class="title">本场编号为{{ myNum }}</div>
-      <div class="subtitle">
-        请给你喜欢的嘉宾点击心动,心动上限为{{ planHeart }}个
-      </div>
-      <div class="heartbox">
-        <div v-for="index of heartCount" :key="index" style="z-index: 10">
-          <img src="../assets/heart.png" style="width: 25px; height: 25px" />
-        </div>
-        <div
-          v-for="index of planHeart - heartCount"
-          :key="index"
-          style="z-index: 10"
-        >
-          <img src="../assets/gray.png" style="width: 17px; height: 17px" />
-        </div>
-        <div class="line"></div>
-      </div>
-      <div class="num">
-        <div class="allnum">嘉宾: {{ members.length }}名</div>
-        <div class="tousu" bindtap="goTousu">投诉反馈</div>
-      </div>
-    </div>
-    <div class="photobox">
-      <div
-        v-for="item in members"
-        :key="item.id"
-        @click="love(index, item.openId)"
-        style="text-align: center; width: 70px; position: relative"
-      >
-        <img
-          :src="item.memberAvatar"
-          style="
-            width: 55px;
-            height: 55px;
-            border-radius: 50%;
-            margin-top: 10px;
-          "
-        />
-        <div style="color: #4d4d4d; font-size: 14px; margin-top: 2px">
-          {{ item.activeNumber }}
-        </div>
-        <div style="color: #4d4d4d; font-size: 14px; padding-bottom: 17px">
-          {{ item.memberName }}
-        </div>
-        <div class="grayCircle"></div>
-        <img
-          src="../assets/love.png"
-          class="loveCircle"
-          v-if="item.hearted == 0"
-        />
-      </div>
-    </div>
-  </div>
-</template>
-<script>
-import {
-  getMember,
-  getMostTimes,
-  getMyTimes,
-  heartbeat,
-  unfollow,
-} from "../api";
-import {Message} from 'element-ui';
-export default {
-  name: "onSite",
-  data() {
-    return {
-      activeId:'',
-      members: [],
-      planHeart: "",
-      myNum: "",
-      openid: "oeYBv5YNe7H98VMH3kp4qNofgrF4",
-      heartCount: "",
-    };
-  },
-  methods: {
-    async getMember() {
-      const result = await getMember({},this.activeId);
-      console.log(result);
-      if (result.code == 0) {
-        for (let i = 0; i < result.members.length; i++) {
-          if (result.members[i].openId == this.openid) {
-            this.myNum = result.members[i].activeNumber;
-            result.members.splice(i, 1);
-          }
-        }
-        this.members = result.members;
-        console.log(this.members);
-      }
-    },
-    async getMostTimes() {
-      const result = await getMostTimes({}, this.activeId);
-      this.planHeart = result.activeRoll.planHeart;
-      console.log(this.planHeart, "我的的心动上限");
-    },
-    async getMyTimes() {
-      const result = await getMyTimes({}, this.activeId);
-      if (result.code == 0) {
-        this.heartCount = result.heartCount;
-      }
-      console.log(result, "我的的心动次数");
-    },
-    async love(index, HeOpenid) {
-      let status = this.members[index].hearted;
-      //   let status1 =;
-      if (status == 0) {
-        const result = await unfollow({ targetId: HeOpenid }, this.activeId);
-        console.log(result, "我取消心动了");
-        if (result.code == 0) {
-          this.members[index].hearted = false;
-        }
-      } else {
-        if (this.heartCount < this.planHeart) {
-          const result = await heartbeat({ targetId: HeOpenid }, this.activeId);
-          console.log(result, "我心动了");
-          if (result.code == 0) {
-            this.members[index].hearted = true;
-          }
-        } else {
-          Message({
-            message: "您已达到心动上限咯",
-            type: "warning",
-            duration: 3000,
-          });
-        }
-      }
-    },
-  },
-  computed: {},
-  mounted() {
-    this.activeId= this.$route.query.activeId;
-    this.getMember();
-    this.getMostTimes();
-    this.getMyTimes();
-  },
-};
-</script>
-<style scoped>
-.container {
-  margin: 25px 25px;
-}
-.title {
-  color: #333333;
-  font-size: 17px;
-  font-weight: bold;
-}
-
-.subtitle {
-  color: #999999;
-  margin-top: 10px;
-  font-size: 14px;
-}
-
-.heartbox {
-  width: 100%;
-  height: 50px;
-  /* border: 1px solid red; */
-  position: relative;
-  display: flex;
-  align-items: center;
-  justify-content: space-around;
-  overflow-x: auto;
-}
-
-.line {
-  width: 100%;
-  height: 2px;
-  background: #d8d8d8;
-  position: absolute;
-  top: 22px;
-  left: 0;
-  z-index: 0;
-}
-.num {
-  width: 100%;
-  height: 50px;
-  /* border: 1px solid red; */
-}
-.allnum {
-  line-height: 50px;
-  color: #4d4d4d;
-  float: left;
-}
-.tousu {
-  width: 77px;
-  color: #9d69ff;
-  height: 20px;
-  border: 1px solid #9d69ff;
-  border-radius: 10px;
-  float: right;
-  line-height: 22px;
-  text-align: center;
-  margin-top: 12px;
-  font-size: 14px;
-}
-.photobox {
-  display: flex;
-  flex-wrap: wrap;
-  margin-left: 10px;
-}
-.grayCircle {
-  width: 65px;
-  height: 65px;
-  border-radius: 50%;
-  border: 1px solid #d8d8d8;
-  position: absolute;
-  top: 4px;
-  left: 1px;
-}
-.loveCircle {
-  width: 65px;
-  height: 65px;
-  /* border-radius: 50%; */
-  /* border:2px solid #d8d8d8; */
-  position: absolute;
-  top: 5px;
-  left: 2px;
-}
-</style>

+ 130 - 0
src/pages/payList.vue

@@ -0,0 +1,130 @@
+<template>
+  <div style="background:#fff;min-height:100vh">
+    <div v-for="(item, index) in arr" :key="index" class="replybox">
+      <div class="div_body">
+        <div style="display: flex; margin: 10px 0">
+          <div class="name">{{ item.name }}</div>
+          <div class="status">{{ item.status }}</div>
+        </div>
+        <div class="number one">{{item.number}}</div>
+        <div class="title">{{ item.title }}</div>
+        <div class="time">购买时间:{{ item.time }}</div>
+      </div>
+      <div class="line"></div>
+      <div class="money_body">     
+        <div style="color: #ff2c2c; font-size: 25px">¥{{ item.money }}</div>
+         <div style="line-height:38px">实付</div>
+      </div>
+    </div>
+  </div>
+</template>
+<script>
+export default {
+  name: "payList",
+  data() {
+    return {
+      arr: [
+        {
+          name: "韩式辣酱",
+          status: "立即脱单",
+          title: "全年五十次权益",
+          time: "2020-09-09 15:52",
+          number: "9",
+          money: "199999",
+        },
+        {
+          name: "韩式辣酱",
+          status: "可能脱单",
+          title: "全年五十次权益",
+          time: "2020-09-09 15:52",
+          number: "已使用",
+          money: "27799",
+        },
+        {
+          name: "韩式辣酱",
+          status: "即将脱单",
+          title: "全年五十次权益",
+          time: "2020-09-09 15:52",
+          number: "已使用",
+          money: "27799",
+        },
+      ],
+    };
+  },
+  methods: {},
+  computed: {},
+  mounted() {},
+};
+</script>
+<style scoped>
+.replybox {
+  background: #fafafa;
+  width: 90%;
+  margin: 20px 5%;
+  border-radius: 10px;
+  /* box-shadow: 10px; */
+  /* border: 1px solid red; */
+}
+.div_body {
+  width: 100%;
+  /* border: 1px solid red; */
+  position: relative;
+  padding: 15px;
+}
+.name {
+  font-size: 14px;
+  font-weight: 600;
+}
+.status {
+  background: #fad398;
+  border-radius: 5px;
+  padding: 0px 5px;
+  margin-left: 5px;
+  color: #724119;
+  font-size: 13px;
+}
+.one {
+  background: #8ee34e;
+  color: #fff;
+  /* border: 1px solid red; */
+}
+.two {
+  background: #e7e7e7;
+  color: #8b8b8b;
+}
+.number {
+    /* border: 1px solid red; */
+  /* float: right; */
+  /* width: 55px; */
+  text-align: center;
+  border-radius: 5px;
+  padding: 0px 8px;
+  font-size: 12px;
+  position: absolute;
+  top: 20px;
+  right: 50px;
+}
+.title {
+  color: #4d4d4d;
+  font-size: 14px;
+  font-weight: 600;
+  line-height: 30px;
+}
+.time {
+  color: #666666;
+  font-size: 14px;
+  line-height: 30px;
+}
+.line {
+  width: 100%;
+  height: 1px;
+  background: #eeeeee;
+  margin:5px
+}
+.money_body {
+  font-size: 16px;
+  display: flex;
+  text-align: right;
+  flex-direction:row-reverse;
+}
+</style>

+ 0 - 172
src/pages/personCenter.vue

@@ -1,172 +0,0 @@
-<template>
-  <div style="background-color: #fafafa; min-height: 100vh">
-    <div class="tabbar">
-      <div class="tab1" bindtap="goIndex">
-        <router-link to="/">
-          <img
-            src="../assets/unactive_bar1.png"
-            style="width: 20px; height: 20px; padding-top: 5px"
-          />
-          <div style="color: #999999">首页</div>
-        </router-link>
-      </div>
-      <div class="tab1">
-        <img
-          src="../assets/unactive_bar2.png"
-          style="width: 20px; height: 20px; padding-top: 5px"
-        />
-        <div @click="goKf()">客服</div>
-      </div>
-      <div class="tab1" bindtap="goMy">
-        <img
-          src="../assets/active_bar3.png"
-          style="width: 20px; height: 20px; padding-top: 5px"
-        />
-        <div style="color: #a342ff">我的</div>
-      </div>
-    </div>
-    <img src="../assets/person_bj.png" style="width: 100%; height: 190px" />
-    <div class="top" align="center">
-      <img class="img" :src="avatarUrl" />
-      <div class="nick">
-        <div>昵称</div>
-      </div>
-    </div>
-    <div class="middle">
-      <div
-        v-for="item in tabArr"
-        :key="item.id"
-        class="block"
-        @click="goTab(item.url)"
-      >
-        <img
-          :src="item.img"
-          style="width: 45px; height: 45px; margin-left: 15px"
-        />
-        <div style="color: #6f7582; font-size: 15px; margin-left: 15px">
-          {{ item.name }}
-        </div>
-      </div>
-    </div>
-  </div>
-</template>
-<script>
-import { getHeartTimes, getHeartedTimes } from "../api";
-export default {
-  name: "index",
-  data() {
-    return {
-      avatarUrl: require("../assets/morenImg.png"),
-      tabArr: [
-        {
-          name: "我的信息",
-          img: require("../assets/icon1.png"),
-          url: "infoType",
-        },
-        {
-          name: "我的活动",
-          img: require("../assets/icon2.png"),
-          url: "myActives",
-        },
-        {
-          name: "心动0次",
-          img: require("../assets/icon3.png"),
-          url: "",
-        },
-        {
-          name: "被心动0次",
-          img: require("../assets/icon4.png"),
-          url: "",
-        },
-        {
-          name: "推荐好友",
-          img: require("../assets/icon6.png"),
-          url: "share",
-        },
-      ],
-    };
-  },
-  methods: {
-    async getNum1() {
-      const result = await getHeartTimes();
-      if (result.code == 0) {
-        console.log(result)
-        this.tabArr[2].name = "心动" + result.heartCount + "次";
-      }
-    },
-    async getNum2() {
-      const result = await getHeartedTimes();
-      if (result.code == 0) {
-        this.tabArr[3].name = "被心动" + result.heartedCount + "次";
-      }
-    },
-    goTab(e){
-      this.$router.push({name:e})
-    },
-    goKf() {
-      window.location.href =
-        "https://hzkhcs.qiyukf.com/client?k=de9c471949df00adb71be66e0ac85978&wp=1&robotShuntSwitch=1&robotId=5217545&qtype=4486102";
-    },
-  },
-  computed: {},
-  mounted() {
-    this.getNum1();
-    this.getNum2();
-  },
-};
-</script>
-<style scoped>
-.tabbar {
-  width: 100%;
-  box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.4);
-  /* border: 1px solid #999; */
-  height: 50px;
-  position: fixed;
-  bottom: -2px;
-  left: 0;
-  display: flex;
-  font-size: 14px;
-  background: #fff;
-  z-index: 999;
-}
-
-.tab1 {
-  height: 50px;
-  width: 33%;
-  text-align: center;
-  color: #999999;
-}
-.top {
-  width: 100%;
-  height: 190px;
-  position: absolute;
-  top: 0;
-  left: 0;
-}
-.img {
-  width: 80px;
-  height: 80px;
-  border-radius: 80px;
-  overflow: hidden;
-  margin-top: 35px;
-}
-.middle {
-  display: flex;
-  flex-direction: row;
-  flex-wrap: wrap;
-  /* border: 1px solid red; */
-  width: 100%;
-}
-
-.block {
-  width: 44%;
-  height: 90px;
-  background: #fff;
-  margin-left: 4%;
-  margin-top: 15px;
-  border-radius: 15px;
-  display: flex;
-  /* justify-content:space-around; */
-  align-items: center;
-}
-</style>

+ 0 - 38
src/pages/registrationSuccess.vue

@@ -1,38 +0,0 @@
-<template>
-  <div style="text-align: center; line-height: 60rpx">
-    <img src="../assets/gou.png" class="img1"/>
-    <div>报名成功</div>
-    <div>请留意审核消息</div>
-    <img src="../assets/di.png" class="img2"/>
-  </div>
-</template>
-<script>
-export default {
-  name: "registrationSuccess",
-  data() {
-    return {
-
-    };
-  },
-  methods: {
-
-  },
-  computed: {},
-  mounted() {
-  },
-};
-</script>
-<style scoped>
-.img1{
-  width: 262px;
-  height: 262px;
-  margin:0px 57px
-}
-.img2{
-  position: fixed;
-  bottom: 0;
-  left: 0;
-  width: 100%;
-  height: 150px;
-}
-</style>

+ 58 - 0
src/pages/secondPay.vue

@@ -0,0 +1,58 @@
+<template>
+  <div>
+    <el-image style="width: 100%" :src="url" fit="contain"></el-image>
+    <div class="pay_area">
+      <div class="btn">¥399/年 立即购买</div>
+      <div style='display:flex; justify-content:center'>
+        <!-- <el-checkbox v-model="checked"/><div class="xy" @click="goXy()">平台用户服务协议</div> -->
+        <div class="xy" @click="goXy()">点击购买即代表同意<span style="color:rgba(20,80,130);font-weight:900;">《平台用户服务协议》</span></div>
+      </div>
+    </div>
+  </div>
+</template>
+<script>
+// import { getActives } from "../api";
+// import openId from "../util/getOpenId";
+export default {
+  name: "secondPay",
+  data() {
+    return {
+      url: require("../assets/399.png"),
+    };
+  },
+  methods: {
+      goXy(){
+          this.$router.push('/xy')
+      }
+  },
+  computed: {},
+  mounted() {},
+};
+</script>
+<style scoped lang="less">
+.pay_area {
+  width: 100%;
+  height: 100px;
+  text-align: center;
+  background: rgba(218,80,80);
+}
+.el-image {
+  display: block;
+}
+.btn {
+  height: 60%;
+  width: 100%;
+  font-weight: 900;
+  font-size: 28px;
+  line-height: 60px;
+  color: #fff;
+}
+.el-checkbox /deep/ .el-checkbox__label{
+    color: #fff;
+}
+.xy{
+    font-size: 13px;
+    color: #fff;
+    margin-left: 5px;
+}
+</style>

+ 0 - 162
src/pages/share.vue

@@ -1,162 +0,0 @@
-<template>
-  <el-dialog
-    title="推荐好友"
-    :visible.sync="dialogVisible"
-    width="303px"
-    :close-on-click-modal="true"
-    custom-class="share-code-dialog"
-  >
-    <div class="poster" :style="'background-image:url(' + imageUrl + ')'">
-      <div class="shareImg">
-        <img :src="codeImg" alt="" />
-      </div>
-    </div>
-    <span slot="footer" class="dialog-footer">
-      <!-- <el-button size="small" class="copyBtn" @click="copy">复 制</el-button> -->
-      <el-button size="small" class="downBtn" @click="down">下载到相册</el-button>
-    </span>
-  </el-dialog>
-</template>
-<script>
-// 这里可以导入其他文件(比如:组件,工具js,第三方插件js,json文件,图片文件等等)
-// 例如:import 《组件名称》 from '《组件路径》';
-// import { copy2Board } from '@/utils/copy.js'
-import html2canvas from "html2canvas";
-export default {
-  // import引入的组件需要注入到对象中才能使用
-  components: {},
-  data() {
-    // 这里存放数据
-    return {
-      dialogVisible: false,
-      imageUrl: require("@/assets/ewmbj.png"),
-      codeImg: 'https://yuehe-1257653330.cos.ap-beijing.myqcloud.com/41996358.jpg',
-      // codeImg: 'https://picsum.photos/400/400',
-      posterBase64: "", //  转化后的base64编码
-      activityName: "大转盘游戏",
-    };
-  },
-  // 监听属性 类似于data概念
-  computed: {},
-  // 监控data中的数据变化
-  watch: {},
-  // 方法集合
-  methods: {
-    _initDialog() {
-      this.dialogVisible = true;
-      setTimeout(() => {
-        this.codeChangePoster();
-      }, 0);
-    },
-    // 下载海报图片
-    down() {
-      var $a = document.createElement("a");
-      $a.href = this.posterBase64;
-      $a.download = "分享海报名称";
-      $a.click();
-    },
-    // 将二维码转为图片
-    codeChangePoster() {
-      let _this = this;
-      let targetDom = document.querySelector(".poster");
-      html2canvas(targetDom, {
-        logging: true,
-        scrollY: -20, //  为了解决顶部偏移出现白边,初始化时就直接设置往上偏移-20位置
-        scrollX: 0,
-        allowTaint: true,
-        useCORS: false, // 运行跨域图片资源
-      }).then(function (canvas) {
-        var image = canvas.toDataURL("image/jpeg");
-        console.log(image)
-        _this.posterBase64 = image;
-      });
-    },
-    // 复制
-    copy() {
-      const url = this.posterBase64;
-      const oInput = document.createElement("input");
-      oInput.value = url;
-      document.body.appendChild(oInput);
-      oInput.select(); // 选择对象;
-      document.execCommand("Copy"); // 执行浏览器复制命令
-      oInput.remove();
-
-      this.$message({
-        message: "已成功复制到剪切板",
-        type: "success",
-      });
-    },
-    closeDialog() {
-      this.dialogVisible = false;
-    },
-  },
-  // 生命周期 - 创建完成(可以访问当前this实例)
-  created() {},
-  // 生命周期 - 挂载完成(可以访问DOM元素)
-  mounted() {
-      this._initDialog();
-  },
-};
-</script>
-<style scoped>
-.el-dialog__wrapper >>> .el-dialog /deep/ .el-dialog__header /deep/ .el-dialog__headerbtn /deep/ i{
-    color: #fff!important;
-    font-size: 14px!important;
-    display: none;
-
-}
-.el-dialog__wrapper >>> .el-dialog{
-    margin-top: 10vh!important;
-} 
-.share-code-dialog .el-dialog__body {
-  max-height: 400px !important;
-  min-height: 220px !important;
-  padding: 20px !important;
-  margin-top:0vh;
-}
-.share-code-dialog .poster {
-  position: relative;
-  height: 250px;
-  width: 263px;
-  background-size: 100% 100%;
-  background-repeat: no-repeat;
-}
-.share-code-dialog .shareImg {
-  position: absolute;
-  top: 67%;
-  left: 50%;
-  transform: translate(-50%, -50%);
-}
-.share-code-dialog .shareImg i {
-  display: inline-block;
-  font-weight: bolder;
-  color: #000;
-  padding: 0px;
-  margin: 0px 0 10px 0;
-  font-size: 22px;
-}
-.share-code-dialog .shareImg p {
-  font-size: 14px;
-  font-weight: bolder;
-  color: #747474;
-  padding: 0px;
-  margin: 0px;
-}
-.share-code-dialog .shareImg img {
-  height: 120px;
-  width: 120px;
-}
-.share-code-dialog .el-dialog__footer {
-  text-align: right !important;
-}
-.share-code-dialog .copyBtn {
-  color: #fff;
-  background: #36dcb5;
-  box-shadow: 0 10px 35px rgba(0, 0, 0, 0.1);
-}
-.share-code-dialog .downBtn {
-  color: #36dcb5;
-  border: 1px solid #36dcb5;
-  box-shadow: 0 10px 35px rgba(0, 0, 0, 0.1);
-}
-</style>

+ 58 - 0
src/pages/thirdPay.vue

@@ -0,0 +1,58 @@
+<template>
+  <div>
+    <el-image style="width: 100%" :src="url" fit="contain"></el-image>
+    <div class="pay_area">
+      <div class="btn">¥1999/年 立即购买</div>
+      <div style='display:flex; justify-content:center'>
+        <!-- <el-checkbox v-model="checked"/><div class="xy" @click="goXy()">平台用户服务协议</div> -->
+        <div class="xy" @click="goXy()">点击购买即代表同意<span style="color:rgba(20,80,130);font-weight:900;">《平台用户服务协议》</span></div>
+      </div>
+    </div>
+  </div>
+</template>
+<script>
+// import { getActives } from "../api";
+// import openId from "../util/getOpenId";
+export default {
+  name: "thirdPay",
+  data() {
+    return {
+      url: require("../assets/1999.png"),
+    };
+  },
+  methods: {
+      goXy(){
+          this.$router.push('/xy')
+      }
+  },
+  computed: {},
+  mounted() {},
+};
+</script>
+<style scoped lang="less">
+.pay_area {
+  width: 100%;
+  height: 100px;
+  text-align: center;
+  background: rgba(218,80,80);
+}
+.el-image {
+  display: block;
+}
+.btn {
+  height: 60%;
+  width: 100%;
+  font-weight: 900;
+  font-size: 28px;
+  line-height: 60px;
+  color: #fff;
+}
+.el-checkbox /deep/ .el-checkbox__label{
+    color: #fff;
+}
+.xy{
+    font-size: 13px;
+    color: #fff;
+    margin-left: 5px;
+}
+</style>

+ 244 - 0
src/pages/xy.vue

@@ -0,0 +1,244 @@
+<template>
+  <div style="padding: 0 30px 30px 30px">
+    <div class="title">平台用户服务协议</div>
+    <div class="xy">
+      尊敬的客户,欢迎您在本平台注册并成为本平台用户,你可通过本平台月合文化平台提供的信息,并可享有平台提供的各项权益,
+      要成为本平台使用者,请务必仔细阅读同意并接受以下条款,谢谢!
+    </div>
+    <div class="xy" style="color: #000; font-weight: 600">
+      一、协议条款的确认和接受
+    </div>
+    <div class="xy">
+      1.
+      本平台在此特别提醒您,在您注册成为本平台用户及使用本平台各项功能之前请确认仔细阅读本协议,如果您对本协议的任何条款和将
+      来随时可能修改、补充的条款有异议,您可选择不成为本平台用户或者进行注销。
+    </div>
+    <div class="xy">
+      2.
+      当您点选“同意”按钮时即视为您已仔细阅读本协议条款,同意接受本协议条款的所有规范包括接受本平台对本协议条款随时所做的任何
+      修改,并愿受其约束。
+    </div>
+    <div class="xy">
+      3.
+      本平台有权在必要时修改本协议条款,协议条款一旦发生变动,将会在重要页面上提示修改内容。如果不同意所改动的内容,用户
+      可以进行注销,将不再享用本平台所提供的网络服务。如果用户继续享用本平台所提供的服务,则视为接受服务条款的变动。
+    </div>
+    <div class="xy">
+      4.
+      本平台保留在任何时候自行决定对本平台及其相关功能的变更、升级、修改、转移的权利。本平台进一步保留在本平台中开发新的
+      功能或其它语种服务的权利。上述所有新的功能、软件服务的提供,除非本平台另有说明,否则仍适用本协议。
+    </div>
+    <div class="xy" style="color: #000; font-weight: 600">二、使用规则</div>
+    <div class="xy">
+      1.
+      用户保证自己在验证时用户身份的真实性和资料的准确性及完整性,如果资料发生变化,用户应及时更改,本平台不能也不会对
+      您的资料不真实、不准确,或您的资料未能及时更新,或因您丢失了身份号码、手机号码和密码而引起的任何损失或损害承担责
+      任。若用户提供任何错误、不实、过时或不完整的资料,并为本平台所确知;或者本平台有合理理由怀疑前述资料为错误、不实、
+      过时或不完整,本平台有权暂停或终止用户的账号及撤销其所举报的内容,并拒绝现在或将来使用本服务的全部或一部分。
+    </div>
+    <div class="xy">
+      2.
+      身份证号码、手机号码、验证密码、为用户在本平台的唯一身份权证,为享受本平台提供的用户服务,您须按照对应的服务要求
+      输入正确的客户身份证号码、手机号码及验证密码。您应保管好自己的身份证号码、手机号码及验证密码,在服务使用过程中可
+      更改密码。非因本平台原因导致客户身份证号码、手机号码及验证密码遗失、遗忘或被他人窃取的,本平台不承担责任。如果用户
+      发现自己的个人信息泄密,尤其是本平台账户及密码发生泄露,请用户立即联络本平台。
+    </div>
+    <div class="xy">
+      3. 用户在使用本平台所提供网络服务过程中,必须遵循以下原则:
+    </div>
+    <div class="xy">(1)遵守中国有关的法律和法规;</div>
+    <div class="xy">(2)不得为任何非法目的而使用本平台所提供网络服务系统;</div>
+    <div class="xy">(3)遵守所有与网络服务有关的网络协议、规定和程序;</div>
+    <div class="xy">(4)禁止基于商业目的模仿本平台信息和服务;</div>
+    <div class="xy">
+      (5)禁止复制和模仿本平台的设计理念、界面、功能、图表、文档资料、软件、商标、FLASH、设计、图案、音像、摄影、动画、美术等;
+    </div>
+    <div class="xy">
+      (6)禁止未经本平台许可,基于本平台所提供的网络服务或其内容进行修改或制造派生其他产品;
+    </div>
+    <div class="xy">
+      (7)禁止发送违反法律、法规、信息产业行业或本平台相关规定的信息,禁止发送和储存带有病毒的、蠕虫的、
+      木马的和其他有害的计算机代码、文件、脚本和程序。
+    </div>
+    <div class="xy">
+      (8)不得利用本平台进行任何可能对互联网的正常运转造成不利影响的行为;
+    </div>
+    <div class="xy">
+      (9)不得利用本平台传输任何非法包括但不限于文字、照片、图形或其他内容;
+    </div>
+    <div class="xy">
+      (10)不得冒充任何人或机构,或以虚伪不实的方式谎称而使人误认为与任何人或任何机构有关。
+    </div>
+    <div class="xy">
+      4.
+      用户承诺其通过本平台服务进行活动引发的一切后果,由其承担全部责任,与本平台无关。因用户使用本平台的行为,
+      导致本平台或任何第三方为此承担了相关的责任,用户需全额赔偿本平台或任何第三方的相关支出及损失,
+      包括但不限于律师费用、诉讼费等。
+    </div>
+    <div class="xy" style="color: #000; font-weight: 600">三、平台积分规则</div>
+    <div class="xy">
+      1.当您注册成为本平台用户之后,您可以通过本平台产品取得会员身份具体的规则及获得方式如下:
+    </div>
+    <div class="xy">(1) 购买平台会员权益 获得会员身份;</div>
+    <div class="xy">(2) 平台授权 获得会员身份;</div>
+    <div class="xy">
+      2.会员使用途径:您购买会员全以后可以按照不同的会员等级获得平台相对应得服务;
+    </div>
+    <div class="xy">3.会员规则:</div>
+    <div class="xy">
+      (1)
+      会员权益不可用于兑换现金,您购买的事会员权限所以不予退款,如会员权益未使用完毕也无权申请附赠得权益退款;
+    </div>
+    <div class="xy">
+      (2) 如果用户违反本协议的规定,平台有权注销客户的账号及积分;
+    </div>
+    <div class="xy">
+      (3) 用户自行注销平台账号时,如会员权益未使用完毕的,则用户同意自动放弃;
+    </div>
+    <div class="xy">
+      4. 会员使用免密规则:
+      用户在接受服务时,用户同意平台利用技术手段免除用户账号密码和用户签字直接划扣已使用得权益。
+    </div>
+    <div class="xy" style="color: #000; font-weight: 600">四、隐私保护</div>
+    <div class="xy">
+      1.
+      本平台保证不对外公开或向第三方提供用户资料及用户在使用网络服务时存储在本平台上的非公开内容,但下列情况除外:
+    </div>
+    <div class="xy">(1)事先获得用户的明确授权;</div>
+    <div class="xy">(2)根据有关的法律法规要求;</div>
+    <div class="xy">(3)按照相关政府主管部门的要求;</div>
+    <div class="xy">(4)为维护社会公众的利益;</div>
+    <div class="xy">(5)为维护本平台或用户的合法权益;</div>
+    <div class="xy">(6)不可抗力所导致的用户信息公开;</div>
+    <div class="xy">(7)不能归咎于本站的客观情势,所导致的个人资料的公开;</div>
+    <div class="xy">
+      (8)由于本平台的硬件和软件的能力限制,所导致用户信息的公开;
+    </div>
+    <div class="xy">
+      (9)本平台有充分理由相信用户信息的公开,符合本站和用户利益要求的。
+    </div>
+    <div class="xy">
+      2.
+      在不透露单个用户信息的前提下,本平台有权对整个用户数据库进行分析并对用户数据库进行利用。
+    </div>
+    <div class="xy">
+      3.
+      本平台应在其网络系统内建立合理的安全体系,包括身份识别体系、内部安全防范体系,以使用户数据完整,并且保密。
+      但用户了解并同意技术手段在不断更新,本平台无法杜绝全部的非安全因素,但本平台会及时更新体系,妥善维护网络及相关数据。
+    </div>
+    <div class="xy" style="color: #000; font-weight: 600">
+      五、服务变更、中断或终止
+    </div>
+    <div class="xy">
+      1.如因系统维护或升级的需要而需暂停网络服务本平台将尽可能事先进行通告。
+    </div>
+    <div class="xy">
+      2.
+      本平台有权判定您的行为是否符合本平台有关要求,出现包括但不限于以下情形的,
+      本平台有权单方在不作通知的情况下终止对您提供的在线帮助,由此产生的风险及责任由您自行承担。
+      如造成本平台损失的,您还应承担赔偿等责任:
+    </div>
+    <div class="xy">(1)用户提供的验证资料或举报信息不真实;</div>
+    <div class="xy">(2)用户违反本协议中规定的使用规则;</div>
+    <div class="xy">(3)用户所绑定的业务号码注销或被销户的;</div>
+    <div class="xy">
+      (4)用户违反本协议其它规定,且自本平台通知其纠正之日起30个工作日内仍未纠正的。
+    </div>
+    <div class="xy">
+      3.
+      本协议的终止,以为您在本平台的服务即终止。即时起,本平台将不保留您登陆验证过程中的任何内容或不负责将未阅读或
+      未发出之信息传送给用户或第三方。
+    </div>
+    <div class="xy">
+      4.
+      本协议的终止并不能当然的被认为免除用户在本协议生效期间应履行的相关付款义务。
+    </div>
+    <div class="xy">
+      5.
+      本协议的终止并不意味着终止前所发生的未完成客户指令的撤销,也不能消除因终止前的客户所举报的信息所带来的法律后果。
+    </div>
+    <div class="xy">
+      6.
+      本平台保留在不事先通知用户的情况下随时中断或终止部分或全部网络服务的权利,对于所有服务的中断或终止而造成的任
+      何损失,本平台无需对用户或任何第三方承担任何责任。
+    </div>
+    <div class="xy" style="color: #000; font-weight: 600">六、免责声明</div>
+    <div class="xy">
+      1.
+      本平台不就通信系统或互联网的中断或无法运作、技术故障、计算机错误或病毒、信息损坏或丢失或其它在本平台合理控制
+      范围之外的原因而产生的其他任何性质的破坏而向用户或任何第三方承担赔偿责任。
+    </div>
+    <div class="xy">
+      2.
+      本平台不保证用户在使用本平台时在操作上不会中断或没有错误,不保证会纠正本平台所有缺陷,亦不保证本平台能满足
+      用户的所有要求。
+    </div>
+    <div class="xy">
+      3.
+      本平台不担保其所提供的网络查询服务一定能满足用户的要求,也不担保网络服务不会中断,对网络服务的及时性、安全性、
+      准确性也都不作担保。
+    </div>
+    <div class="xy">
+      4.
+      用户明确同意其使用本平台网络服务所存在的风险将完全由其自己承担;因其使用本网络服务而产生的一切后果也由其自己承担,
+      本平台对用户不承担任何责任。
+    </div>
+    <div class="xy">
+      5.
+      用户在此同意本平台在任何情况下都无需向用户或任何第三方在使用本平台时对其在传输或联络中的延迟、不准确、
+      错误或疏漏及因此而致使的损害负责。
+    </div>
+    <div class="xy">
+      6.
+      在所适用的法律允许的范围内,任何一方均无须就数据的丢失和/或损坏及任何间接的、附带的、特殊的、
+      后果性的损失向另一方负责赔偿(包括但不限于损失的利润、业务的中断、商业信息的丢失、商誉损失或其它经济损失)。
+    </div>
+    <div class="xy">
+      7.
+      双方承认本协议条款反映了双方就协商谈判达成的一致意见。双方均完全了解本协议条款的后果并进一步承认本条款的合理性。
+    </div>
+    <div class="xy" style="color: #000; font-weight: 600">七、不可抗力</div>
+    <div class="xy">
+      如果由于黑客攻击或政府管制或网络通讯瘫痪等用户对其发生和后果不能预见的事件,双方均确认此属不可抗力;
+      双方应按照不可抗力对影响履行本协议的程度,协商决定是否解除本协议、免除履行本协议的部分义务,或者延期履行本协议。
+    </div>
+    <div class="xy" style="color: #000; font-weight: 600">
+      八、法律及争议解决
+    </div>
+    <div class="xy">
+      本协议适用中华人民共和国法律。用户在使用过程与本平台发送争议的,双方应努力协商解决,如协商不成,
+      任何一方均有权向平台开发主体住所地人民法院起诉。
+    </div>
+    <div class="xy" style="color: #000; font-weight: 600">九、解释权</div>
+    <div class="xy">以上协议内容的解释权归平台所有。</div>
+    <div class="xy" style="text-align: right; margin-top: 20px">
+      二O二0年十二月十七日
+    </div>
+    <!-- </div> -->
+  </div>
+</template>
+<script>
+export default {
+  name: "xy",
+  data() {
+    return {};
+  },
+  methods: {},
+  computed: {},
+  mounted() {},
+};
+</script>
+<style scoped>
+.title {
+  font-size: 18px;
+  line-height: 60px;
+  text-align: center;
+  font-weight: 900;
+}
+.xy {
+  font-size: 14px;
+  line-height: 25px;
+  text-indent: 26px;
+  color: #999;
+}
+</style>

+ 21 - 39
src/router/index.js

@@ -13,46 +13,28 @@ const routes = [
     component: index
   },
   {
-    path: '/personCenter',
-    name: 'personCenter',
-    component: getComponent('personCenter')
-  },
-  {
-    path: '/infoType',
-    name: 'infoType',
-    component: getComponent('infoType')
-  },
-  {
-    path: '/myActives',
-    name: 'myActives',
-    component: getComponent('myActives')
-  },
-  {
-    path: '/share',
-    name: 'share',
-    component: getComponent('share')
-  },
-  {
-    path: '/activeDetails',
-    name: 'activeDetails',
-    component: getComponent('activeDetails')
-  },
-  {
-    path: '/registrationSuccess',
-    name: 'registrationSuccess',
-    component: getComponent('registrationSuccess')
-  },
-  {
-    path: '/onSiteActivity',
-    name: 'onSiteActivity',
-    component: getComponent('onSiteActivity')
-  },
-  {
-    path: '/infoDetails',
-    name: 'infoDetails',
-    component: getComponent('infoDetails')
+    path: '/firstPay',
+    name: 'firstPay',
+    component: getComponent('firstPay'),
+  }, {
+    path: '/xy',
+    name: 'xy',
+    component: getComponent('xy'),
+  },
+  {
+    path: '/secondPay',
+    name: 'secondPay',
+    component: getComponent('secondPay'),
+  }, {
+    path: '/thirdPay',
+    name: 'thirdPay',
+    component: getComponent('thirdPay'),
+  }, 
+  {
+    path: '/payList',
+    name: 'payList',
+    component: getComponent('payList'),
   }
-  // 
 ]
 const router = new VueRouter({
   routes

+ 15 - 24
src/util/getOpenId.js

@@ -1,34 +1,27 @@
-import {Loading} from 'element-ui';
-import { getOpenId, getAppID} from '../api'
-
+import { Loading, Message } from 'element-ui';
+import { getOpenId } from '../api'
 export default {
     getOpenId(callback) {
-        let  loading = Loading.service();
+        let loading = Loading.service();
         if (window.localStorage.getItem('openId')) {
             loading.close();
             callback();
         } else {
-            this.getAppid(loading,callback);
+            this.getAppid(loading, callback);
         }
 
     },
-    async getAppid (loading,callback){
-        let result = await getAppID({cid: 'oauth'}, "GET");
-        if (result.code === 0) {
-            this.getCode(result.data.appid,loading,callback);
-        }else{
-            loading.close();
-        }
+    async getAppid(loading, callback) {
+        this.getCode('wxeef6678b92b6c856', loading, callback);
     },
-    getCode(appid,loading,callback) { // 非静默授权,第一次有弹框
+    getCode(appid, loading, callback) { // 非静默授权,第一次有弹框
+        // let local = 'https://yuehe.hellevil.com/mp/#/'; 
         let local = window.location.href; // 获取页面url
         let code = this.getUrlCode().code;// 截取code
-        if (code && code !== '') { // 如果有code
-            // 拿到code去请求openId并存在本地 ?appid=APPID&secret=SECRET&code=CODE&grant_type=authorization_code
-            this.requestNet(code,loading,callback);
+        if (code && code !== '') { 
+            this.requestNet(code, loading, callback);
         } else {
             loading.close();
-            // window.location.href = `https://open.weixin.qq.com/connect/oauth2/authorize?appid=${appid}&redirect_uri=${encodeURIComponent(local)}&response_type=code&scope=snsapi_userinfo&state=123#wechat_redirect`
             window.location.href = `https://open.weixin.qq.com/connect/oauth2/authorize?appid=${appid}&redirect_uri=${encodeURIComponent(local)}&response_type=code&scope=snsapi_base&state=123#wechat_redirect`
         }
     },
@@ -44,18 +37,16 @@ export default {
         }
         return theRequest
     },
-    async requestNet(code,loading,callback) {
-        let result = await getOpenId({cid: 'oauth', code: code}, "GET");
-        if (!result.data.errcode && result.data.openid && result.data.openid !== 'null') {
-            window.localStorage.setItem("openId", result.data.openid);
+    async requestNet(code, loading, callback) {
+        let result = await getOpenId({ code: code }, "GET");
+        if (result.openid && result.openid !== 'null') {
+            window.localStorage.setItem("openId", result.openid);
             callback();
             loading.close();
-        }else{
+        } else {
             loading.close();
         }
     },
-
-
 }
 
 

+ 12 - 11
vue.config.js

@@ -1,16 +1,17 @@
 module.exports = {
   productionSourceMap: false,
   publicPath: "./",
-  devServer: {
-    proxy: {  //配置跨域
-      '/api': {
-        target: 'https://yuehe.hellevil.com/',  //这里后台的地址模拟的;应该填写你们真实的后台接口
-        changOrigin: true,  //允许跨域
-        pathRewrite: {
-          '^/api': '' 
-        }
-      },
-    }
-  },
+  lintOnSave: false,
+  // devServer: {  
+  //   proxy: {  //配置跨域
+  //     '/api': {
+  //       target: 'https://yuehe.hellevil.com/',  //这里后台的地址模拟的;应该填写你们真实的后台接口
+  //       changOrigin: true,  //允许跨域
+  //       pathRewrite: {
+  //         '^/api': '' 
+  //       }
+  //     },
+  //   }
+  // },
 };