Browse Source

Fenzhihebing

lianbingjie 4 years ago
parent
commit
6e1ff5cca6
40 changed files with 1444 additions and 45 deletions
  1. 2 2
      src/jfw/modules/app/src/db.json
  2. 53 0
      src/jfw/modules/app/src/web/templates/frontRouter/bidedoc/sess/index.html
  3. 48 18
      src/jfw/modules/app/src/web/templates/frontRouter/bigmember/free/perfect_info.html
  4. 3 2
      src/jfw/modules/app/src/web/templates/frontRouter/portraitRecord/sess/index.html
  5. 87 0
      src/web/staticres/common-module/bidedoc/css/index.css
  6. 530 0
      src/web/staticres/common-module/bidedoc/css/public.css
  7. BIN
      src/web/staticres/common-module/bidedoc/image/A_01.jpg
  8. BIN
      src/web/staticres/common-module/bidedoc/image/A_02.jpg
  9. BIN
      src/web/staticres/common-module/bidedoc/image/A_03.jpg
  10. BIN
      src/web/staticres/common-module/bidedoc/image/A_04.jpg
  11. BIN
      src/web/staticres/common-module/bidedoc/image/A_05.jpg
  12. BIN
      src/web/staticres/common-module/bidedoc/image/B_01.jpg
  13. BIN
      src/web/staticres/common-module/bidedoc/image/B_02.jpg
  14. BIN
      src/web/staticres/common-module/bidedoc/image/B_03.jpg
  15. BIN
      src/web/staticres/common-module/bidedoc/image/B_04.jpg
  16. BIN
      src/web/staticres/common-module/bidedoc/image/B_05.jpg
  17. BIN
      src/web/staticres/common-module/bidedoc/image/B_06.jpg
  18. BIN
      src/web/staticres/common-module/bidedoc/image/B_07.jpg
  19. BIN
      src/web/staticres/common-module/bidedoc/image/B_08.jpg
  20. BIN
      src/web/staticres/common-module/bidedoc/image/B_09.jpg
  21. 46 0
      src/web/staticres/common-module/bidedoc/js/index.js
  22. 35 0
      src/web/staticres/common-module/perfect-info/index.css
  23. 4 0
      src/web/staticres/common-module/portraitRecord/css/index.css
  24. 9 0
      src/web/staticres/common-module/portraitRecord/js/index-wx.js
  25. 9 0
      src/web/staticres/common-module/portraitRecord/js/index.js
  26. 156 0
      src/web/staticres/frontRouter/pc/bidedoc/css/index-pc.css
  27. BIN
      src/web/staticres/frontRouter/pc/bidedoc/image/1.jpg
  28. BIN
      src/web/staticres/frontRouter/pc/bidedoc/image/2.jpg
  29. BIN
      src/web/staticres/frontRouter/pc/bidedoc/image/3.jpg
  30. BIN
      src/web/staticres/frontRouter/pc/bidedoc/image/4.jpg
  31. BIN
      src/web/staticres/frontRouter/pc/bidedoc/image/5.jpg
  32. BIN
      src/web/staticres/frontRouter/pc/bidedoc/image/6.jpg
  33. 229 0
      src/web/staticres/frontRouter/pc/bidedoc/js/index-pc.js
  34. 7 1
      src/web/staticres/frontRouter/pc/seeHistory/js/index-pc.js
  35. BIN
      src/web/staticres/images/working.gif
  36. 111 0
      src/web/templates/frontRouter/pc/bidedoc/free/index.html
  37. 3 2
      src/web/templates/frontRouter/pc/seeHistory/sess/index.html
  38. 64 0
      src/web/templates/frontRouter/wx/bidedoc/sess/index.html
  39. 45 18
      src/web/templates/frontRouter/wx/bigmember/free/perfect_info.html
  40. 3 2
      src/web/templates/frontRouter/wx/portraitRecord/sess/index.html

+ 2 - 2
src/jfw/modules/app/src/db.json

@@ -13,14 +13,14 @@
 			"password": "123456"
 		},
 		"ent": {
-			"address": "192.168.3.207:27001,192.168.3.206:27002",
+			"address": "192.168.3.206:27001,192.168.3.206:27002",
 	 		"size": 5,
 	 		"dbName": "mixdata",
 			"userName": "jyDevGroup",
 			"password": "jy@DevGroup"
 		},
 		"bidding": {
-			"address": "192.168.3.207:27001,192.168.3.206:27002",
+			"address": "192.168.3.206:27001,192.168.3.206:27002",
 	 		"size": 5,
 	 		"dbName": "qfw_data",
 			"collection": "bidding",

+ 53 - 0
src/jfw/modules/app/src/web/templates/frontRouter/bidedoc/sess/index.html

@@ -0,0 +1,53 @@
+<!DOCTYPE html>
+<html lang="zh-CN">
+<head>
+    <!--引入公共资源头部-->
+    {{include "/big-member/meta.html"}}
+    <title></title>
+    <!--S-当前页面的css资源-->
+    <link rel="stylesheet" href=//cdn-common.jianyu360.com/cdn/lib/reset-css/5.0.1/reset.min.css />
+    <link rel="stylesheet" href=//cdn-common.jianyu360.com/cdn/lib/vant/2.12.24/lib/index.css />
+    <link rel="stylesheet" href=//cdn-common.jianyu360.com/cdn/lib/vant/2.12.24/lib/icon/local.css />
+    <link rel="stylesheet" href='{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/bidedoc/css/public.css?v={{Msg "seo" "version"}}' />
+    <link rel="stylesheet" href='{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/bidedoc/css/index.css?v={{Msg "seo" "version"}}' />
+  </head>
+<body>
+  <div class="j-container">
+    {{include "/big-member/header.html"}}
+    <div class="j-main bided" id="bided">
+      <div class="j-container">
+        <div class="j-main">
+          <img src='{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/bidedoc/image/A_02.jpg?v={{Msg "seo" "version"}}' alt="">
+          <img src='{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/bidedoc/image/A_03.jpg?v={{Msg "seo" "version"}}' alt="">
+          <img src='{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/bidedoc/image/A_04.jpg?v={{Msg "seo" "version"}}' alt="">
+          <img src='{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/bidedoc/image/A_05.jpg?v={{Msg "seo" "version"}}' alt="">
+          <img src='{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/bidedoc/image/B_01.jpg?v={{Msg "seo" "version"}}' alt="">
+          <img src='{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/bidedoc/image/B_02.jpg?v={{Msg "seo" "version"}}' alt="">
+          <img src='{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/bidedoc/image/B_03.jpg?v={{Msg "seo" "version"}}' alt="">
+          <img src='{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/bidedoc/image/B_04.jpg?v={{Msg "seo" "version"}}' alt="">
+          <img src='{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/bidedoc/image/B_05.jpg?v={{Msg "seo" "version"}}' alt="">
+          <img src='{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/bidedoc/image/B_06.jpg?v={{Msg "seo" "version"}}' alt="">
+          <img @click="getPhone" src='{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/bidedoc/image/B_07.jpg?v={{Msg "seo" "version"}}' alt="">
+          <img src='{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/bidedoc/image/B_08.jpg?v={{Msg "seo" "version"}}' alt="">
+          <img src='{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/bidedoc/image/B_09.jpg?v={{Msg "seo" "version"}}' alt="">
+          <div class="btns-tips">
+            <div class="btns">
+                <van-button type="primary" size="large" @touchstart="getMsg">请留下您的手机号,专业老师将尽快和您联系</van-button>
+            </div>
+          </div>
+        </div>
+      </div>
+    </div>
+  </div>
+  <!--S-当前页面的资源-->
+  <script src='https://cdn-common.jianyu360.com/cdn/lib/vue/2.6.11/vue.min.js'></script>
+  <script src=//cdn-common.jianyu360.com/cdn/lib/vant/2.12.24/lib/vant.min.js></script>
+  <script src=//cdn-common.jianyu360.com/cdn/lib/jquery/3.6.0/jquery.min.js></script>
+  <!--E-当前页面的资源-->
+  {{include "/big-member/commonjs.html"}}
+  <script src='{{Cdns .Host "seo" "cdn"|SafeUrl}}/jyapp/js/common.js?v={{Msg "seo" "version"}}'></script>
+  <script src='{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/bidedoc/js/index.js?v={{Msg "seo" "version"}}'></script>
+  {{include "/common/baiducc.html"}}
+</body>
+
+</html>

+ 48 - 18
src/jfw/modules/app/src/web/templates/frontRouter/bigmember/free/perfect_info.html

@@ -68,10 +68,10 @@
                                    :error-message="infoCheckMap.company" required v-model.trim="infoMap.company" label="公司名称" placeholder="请输入公司名称"></van-field>
                         <van-field v-if="moduleShow.companyType" v-model="infoMap.companyType" label="公司类型" @click="openPop('公司类型')" readonly is-link
                                    placeholder="请选择公司类型"></van-field>
-                        <van-field :class="{'hide-border': infoMap.position === '其他'}"  required v-model="infoMap.position" label="职位" @click="openPop('职位')" readonly is-link
+                        <van-field v-if="moduleShow.position" :class="{'hide-border': infoMap.position === '其他'}"  required v-model="infoMap.position" label="职位" @click="openPop('职位')" readonly is-link
                                    placeholder="请选择职位"></van-field>
                         <van-field class="other-input-group" @focus="infoCheckMap.position_other = ''" @blur="getCheckMap('position')"
-                                   :error-message="infoCheckMap.position_other" v-model.trim="infoMap.position_other" v-show="infoMap.position === '其他'" label="职位" placeholder="请输入职位"></van-field>
+                                   :error-message="infoCheckMap.position_other" v-model.trim="infoMap.position_other" v-show="infoMap.position === '其他' && moduleShow.position" label="职位" placeholder="请输入职位"></van-field>
                         <van-field v-if="moduleShow.company_size" v-model="infoMap.company_size" label="公司规模" @click="openPop('公司规模')" readonly is-link
                                    placeholder="请选择公司规模"></van-field>
                         <van-field v-if="moduleShow.workScope" maxlength="200" v-model="infoMap.workScope" label="业务范围" rows="2" type="textarea"
@@ -147,6 +147,14 @@
                     </div>
                 </div>
             </van-popup>
+            <van-dialog v-model:show="bidShow" class="bid-van" :show-cancel-button="false" :show-confirm-button="false">
+              <div class="bide-btn">
+                <img src='{{Cdns .Host "seo" "cdn"|SafeUrl}}/jyapp/images/choose.png?v={{Msg "seo" "version"}}' />
+                <p class="p1">提交成功</p>
+                <p class="p2">专业老师将尽快和您联系</p>
+                <van-button type="primary" @click="cancelKonw">我知道了</van-button>
+              </div>
+            </van-dialog>
         </div>
     </div>
 </div>
@@ -354,6 +362,7 @@
       classIndex: '',
       isRead: true,
       showPop: true,
+      bidShow: false,
       searchList: [],
       isAssociateShow: false,
       isAssociateUpTime: -1,
@@ -520,6 +529,7 @@
       // 默认为隐藏,需要展示则需判断
       moduleShow: {
         email: true,
+        position: true,
         area: false,
         class: true,
         type: false,
@@ -575,10 +585,20 @@
             for (var k in this.moduleShow) {
               this.moduleShow[k] = false
             }
+            this.moduleShow.position = true
           }
         } else {
           document.title = '完善信息'
         }
+
+        if (source == 'bid_document_Introduction_page') {
+          var hideType = ['email', 'class', 'companyType', 'workScope', 'partnerNeeds', 'agree', 'position']
+          for (var k in this.moduleShow) {
+            if (hideType.indexOf(k) !== -1)
+              this.moduleShow[k] = false
+          }
+        }
+
         setHeaderTitle && setHeaderTitle()
 
         return infoText || ''
@@ -610,6 +630,7 @@
         return true
       },
       checkPosition () {
+        if (!this.moduleShow.position) return true
         if (this.infoMap.position !== "" && this.infoMap.position !== '其他') {
           return true
         }
@@ -942,6 +963,11 @@
             }
         }
       },
+      cancelKonw () {
+        this.bidShow = false
+        sessionStorage.removeItem('salesBackStatus')
+        history.back()
+      },
       cancelForm () {
         sessionStorage.removeItem('salesBackStatus')
         history.back()
@@ -960,7 +986,7 @@
         this.ajaxParams.partnerNeeds = this.infoMap.partnerNeeds
         this.ajaxParams.agree = this.isRead
         console.log(this.ajaxParams)
-
+        
         var _this = this
         var loading = _this.showLoading()
         this.ajaxFn('/salesLeads/collectInfo', this.ajaxParams, function (r) {
@@ -968,21 +994,25 @@
             loading.clear()
             if (r.error_msg === '') {
               if (_this.ajaxParams.source === 'member_freeuse' || utils.getParam('source')) {
-              _this.$dialog.close()
-              _this.$dialog.confirm({
-                message: '您的申请已提交,我们的客户经理会在24小时内尽快与您联系。',
-                className: 'ent-search-dialog max-54',
-                overlayClass: 'z-2030',
-                showCancelButton: false,
-                getContainer: '.perfect-info-group',
-                confirmButtonText: '我知道了',
-              }).then(function () {
-                sessionStorage.setItem('salesBackStatus', 'true')
-                history.back()
-              }).catch(function () {
-                sessionStorage.setItem('salesBackStatus', 'true')
-                history.back()
-              });
+                if (_this.ajaxParams.source === 'bid_document_Introduction_page') {
+                  _this.bidShow = true
+                } else {
+                  _this.$dialog.close()
+                  _this.$dialog.confirm({
+                    message: '您的申请已提交,我们的客户经理会在24小时内尽快与您联系。',
+                    className: 'ent-search-dialog max-54',
+                    overlayClass: 'z-2030',
+                    showCancelButton: false,
+                    getContainer: '.perfect-info-group',
+                    confirmButtonText: '我知道了',
+                  }).then(function () {
+                    sessionStorage.setItem('salesBackStatus', 'true')
+                    history.back()
+                  }).catch(function () {
+                    sessionStorage.setItem('salesBackStatus', 'true')
+                    history.back()
+                  })
+                }
               } else {
                 sessionStorage.setItem('salesBackStatus', 'true')
                 history.back()

+ 3 - 2
src/jfw/modules/app/src/web/templates/frontRouter/portraitRecord/sess/index.html

@@ -50,7 +50,7 @@
               @cancel="canceled"
             />
           </van-popup>
-          <div class="c-list" v-if="list.length !== 0">
+          <div class="c-list" v-if="list.length !== 0 && empty">
             <van-list
               v-model="listInfo.loading"
               :finished="listInfo.finished"
@@ -87,7 +87,8 @@
                 </div>
             </van-list>
           </div>
-          <div class="emptycom" v-if="list.length==0">
+          <van-loading size="24px" vertical v-if="working">加载中...</van-loading>
+          <div class="emptycom" v-if="list.length==0 && empty">
             <div class="emptyimg">
               <img src='{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/collection/image/img-empty.png?v={{Msg "seo" "version"}}' alt="">
             </div>

+ 87 - 0
src/web/staticres/common-module/bidedoc/css/index.css

@@ -0,0 +1,87 @@
+/*
+* Prefixed by https://autoprefixer.github.io
+* PostCSS: v7.0.29,
+* Autoprefixer: v9.7.6
+* Browsers: iOS >= 7,Android >= 4
+*/
+
+.flex {
+    display: -webkit-box;
+    display: -webkit-flex;
+    display: flex;
+    -webkit-align-items: center;
+    align-items: center;
+}
+.j-container .j-header.jy-app-header {
+    background: url(../image/A_01.jpg) no-repeat;
+    background-size: cover;
+}
+
+.j-container .j-header.jy-app-header .border-line-t:after, .border-line-b:after {
+    height: 0;
+}
+
+[v-cloak] {
+    display: none !important;
+}
+
+.bided {
+    width: 100%;
+    
+}
+
+.bided img {
+    width: 100%;
+    display: block;
+}
+
+.bided .serves1 {
+    height: 4.38rem;
+    background: url(../image/A_02.jpg) no-repeat;
+    background-size: 100% 100%;
+}
+
+.bided .serves2 {
+    height: 10.4rem;
+    background: url(../image/A_03.jpg) no-repeat;
+    background-size: 100% 100%;
+}
+
+.bided .serves3 {
+    height: 9rem;
+    background: url(../image/A_04.jpg) no-repeat;
+    background-size: 100% 100%;
+}
+
+.img-phone {
+    position: relative;
+}
+
+.img-phone .ph {
+    position: absolute;
+    top: 0;
+    left: 0;
+}
+
+.btns-tips {
+    width: 100%;
+    position: fixed;
+    bottom: 0;
+    left: 0;
+    background: #fff;
+}
+
+.btns-tips .btns {
+    padding: .16rem .32rem .24rem .32rem;
+}
+
+.btns-tips .btns .van-button {
+    height: .96rem;
+    background: #2abed1;
+    border-radius: 8px;
+    border-color: #2abed1;
+}
+
+.btns-tips .btns .van-button .van-button__text {
+    font-size: .32rem;
+}

+ 530 - 0
src/web/staticres/common-module/bidedoc/css/public.css

@@ -0,0 +1,530 @@
+@charset "UTF-8";
+
+/* reset css start ---------> */
+* {
+    -webkit-box-sizing: border-box;
+    box-sizing: border-box;
+    -webkit-overflow-scrolling: touch;
+    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
+    -webkit-tap-highlight-color: transparent;
+}
+html,
+body {
+    height: 100%;
+    color: #171826;
+}
+
+html > body {
+    font-size: 12px;
+    background-color: #F5F6F7;
+}
+
+input, textarea {
+    caret-color: #2cb7ca;
+}
+
+
+/* 清除默认样式 */
+ul,
+ol {
+    list-style: none;
+}
+/*清除输入框内阴影*/
+input,
+textarea,
+select,
+button {
+    outline: none;
+    border: 0;
+    -webkit-appearance: none;
+    appearance: none;
+}
+button,
+span,
+div {
+    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
+    /* -webkit-user-modify:read-only; */
+}
+img {
+    border: 0;
+    vertical-align: middle;
+    max-width: 100%;
+    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
+}
+a {
+    text-decoration: none;
+    color: #3d3d3d;
+    -webkit-tap-highlight-color: rgba(255, 255, 255, 0);
+    -webkit-user-select: none;
+    -moz-user-focus: none;
+    -moz-user-select: none;
+}
+/*禁用长按页面时的弹出菜单(iOS下有效) ,img和a标签都要加*/
+img,
+a {
+    -webkit-touch-callout: none;
+}
+
+input::placeholder {
+    color: #C0C4CC;
+}
+
+/* reset css end ------ */
+
+/* common css class start */
+[v-cloak] {
+    display: none!important;
+}
+
+.clearfix {
+    zoom: 1;
+}
+.clearfix:after {
+    clear: both;
+    height: 0;
+    overflow: hidden;
+    display: block;
+    visibility: hidden;
+    content: '';
+}
+.left {
+    float: left;
+}
+.right {
+    float: right;
+}
+.ellipsis {
+    overflow: hidden;
+    text-overflow: ellipsis;
+    white-space: nowrap;
+}
+/* 超过2行省略号显示 */
+.ellipsis-2 {
+    overflow: hidden;
+    text-overflow: ellipsis;
+    display: -webkit-box;
+    -webkit-line-clamp: 2;
+    -webkit-box-orient: vertical;
+}
+/* 超过3行省略号显示 */
+.ellipsis-3 {
+    overflow: hidden;
+    text-overflow: ellipsis;
+    display: -webkit-box;
+    -webkit-line-clamp: 3;
+    -webkit-box-orient: vertical;
+}
+.scrollbar-none::-webkit-scrollbar {
+    display: none;
+}
+
+/* 禁止长按复制 加给body ---- */
+.no-touch {
+    -webkit-touch-callout: none;
+    -webkit-user-select: none;
+    -khtml-user-select: none;
+    -moz-user-select: none;
+    -ms-user-select: none;
+    user-select: none;
+}
+
+.j-pd {
+    padding-left: 0.32rem;
+    padding-right: 0.32rem;
+}
+
+.j-arrow {
+    display: inline-block;
+    width: 0.26rem;
+    height: 0.26rem;
+    border: 2px solid #5f5e64;
+    border-bottom-color: transparent;
+    border-right-color: transparent;
+    background: 0 0;
+    transform: rotate(-45deg);
+}
+
+.highlight-text {
+    color: #2cb7ca!important;
+}
+.bg-white {
+    background-color: #fff;
+}
+[class*=clickable]:active {
+    background-color: #f2f3f5;
+}
+
+/* 
+    border-line-t 0.5px上边框
+    border-line-b 0.5px下边框
+*/
+.border-line-t,
+.border-line-b {
+    position: relative;
+}
+.border-line-t:after,
+.border-line-b:after {
+    content: '';
+    position: absolute;
+    left: 0;
+    width: 100%;
+    height: 1px;
+    transform: scaleY(0.6);
+    transform-origin: 0 0;
+    background: rgba(0, 0, 0, 0.05);
+    /* background-image: linear-gradient(0deg, rgba(0, 0, 0, 0.05) 65%, transparent 35%); */
+}
+.border-line-t:after {
+    top: -1px;
+}
+.border-line-b:after {
+    bottom: -1px;
+}
+
+/* common css class end ---- */
+
+/* j-container布局  start ---- */
+.j-container {
+    display: flex;
+    flex-direction: column;
+    height: 100%;
+}
+
+.j-header {
+    position: relative;
+    display: flex;
+    align-items: center;
+    justify-content: space-between;
+}
+
+.j-header.jy-app-header {
+    box-sizing: border-box;
+    padding: 10.66667vw 3.2vw 0 3.2vw;
+    height: 21.33333vw;
+    background: #fff;
+    z-index: 9;
+}
+
+.j-header .header-left,
+.j-header .header-title,
+.j-header .header-right {
+    display: flex;
+    align-items: center;
+}
+
+.j-header .header-left {
+    height: .6rem;
+    width: .6rem;
+}
+.j-header .header-left .j-icon {
+    height: .4rem;
+    width: .4rem;
+}
+
+.j-header .header-title {
+    position: absolute;
+    left: 50%;
+    font-size: 17px;
+    color: #171826;
+    transform: translateX(-50%);
+}
+
+.j-header .header-right {
+    height: 100%;
+    min-width: 0.4rem;
+    font-size: .3rem;
+}
+
+.j-header .header-left.hide,
+.j-header .header-right.hide {
+    visibility: hidden;
+}
+
+/* 头部透明 */
+.j-container .j-header.transparent-header {
+    background-color: transparent;
+}
+.j-container .j-header.transparent-header:after {
+    content: unset;
+}
+.j-header.transparent-header .header-left,
+.j-header.transparent-header .header-title {
+    color: #fff;
+}
+.j-header.transparent-header .header-title {
+    font-size: 0;
+}
+
+.j-main {
+    position: relative;
+    display: flex;
+    flex-direction: column;
+    flex: 1;
+    overflow-y: scroll;
+    overflow-x: hidden;
+    /* 所有都j-main开启ios-touch */
+    -webkit-overflow-scrolling: touch;
+}
+
+.j-main.calc-height-1px {
+    height: calc(100% + 1Px);
+}
+
+/* 单独关闭ios惯性滚动 */
+.j-main.no-ios-touch {
+    -webkit-overflow-scrolling: auto;
+}
+
+.j-footer {
+    box-shadow: 0px -2px 8px rgba(54, 147, 179, 0.051);
+}
+/* j-container布局  end ---- */
+
+@keyframes ballRotate {
+    0% {
+        transform: rotate(0);
+    }
+
+    100% {
+        transform: rotate(360deg);
+    }
+}
+
+.ball-clip-rotate {
+    position: absolute;
+    left: 50%;
+    top: 50%;
+    z-index: 2;
+    transform: translate(-50%, -50%);
+}
+
+.ball-clip-rotate .ball {
+    display: inline-block;
+    width: 26px;
+    height: 26px;
+    border-radius: 50%;
+    border: 3px solid #fff;
+    border-bottom-color: transparent;
+    background: 0 0;
+    -webkit-animation: ballRotate 0.75s 0s linear infinite;
+    animation: ballRotate 0.75s 0s linear infinite;
+}
+
+.j-mask {
+    position: fixed;
+    z-index: 1000;
+    top: 0;
+    right: 0;
+    left: 0;
+    bottom: 0;
+}
+
+.black {
+    background: rgba(0, 0, 0, 0.6);
+}
+
+.j-loading {
+    display: none;
+}
+
+.j-loading .j-toast {
+    position: fixed;
+    top: 45%;
+    left: 50%;
+    z-index: 1001;
+    padding: 0.2rem;
+    min-width: 2.2rem;
+    max-width: 6.2rem;
+    width: auto;
+    height: auto;
+    color: #fff;
+    font-size: 0.28rem;
+    text-align: center;
+    background: rgba(18, 18, 18, 0.7);
+    border-radius: 5px;
+    transform: translate(-50%, -50%);
+}
+
+.j-loading .j-toast.icon {
+    padding: 0.5rem 0.2rem;
+}
+
+.j-loading .j-toast.icon .j-toast_icon {
+    display: inline-block;
+    width: 38px;
+    height: 38px;
+}
+
+.j-loading .j-toast .j-toast_icon {
+    display: none;
+}
+
+.j-loading .j-toast .j-toast_content {
+    text-align: center;
+}
+
+.j-loading-icon {
+    display: inline-block;
+    width: 20px;
+    height: 20px;
+    vertical-align: baseline;
+    background: transparent url("data:image/svg+xml;charset=utf8, %3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120' viewBox='0 0 100 100'%3E%3Cpath fill='none' d='M0 0h100v100H0z'/%3E%3Crect width='7' height='20' x='46.5' y='40' fill='%23E9E9E9' rx='5' ry='5' transform='translate(0 -30)'/%3E%3Crect width='7' height='20' x='46.5' y='40' fill='%23989697' rx='5' ry='5' transform='rotate(30 105.98 65)'/%3E%3Crect width='7' height='20' x='46.5' y='40' fill='%239B999A' rx='5' ry='5' transform='rotate(60 75.98 65)'/%3E%3Crect width='7' height='20' x='46.5' y='40' fill='%23A3A1A2' rx='5' ry='5' transform='rotate(90 65 65)'/%3E%3Crect width='7' height='20' x='46.5' y='40' fill='%23ABA9AA' rx='5' ry='5' transform='rotate(120 58.66 65)'/%3E%3Crect width='7' height='20' x='46.5' y='40' fill='%23B2B2B2' rx='5' ry='5' transform='rotate(150 54.02 65)'/%3E%3Crect width='7' height='20' x='46.5' y='40' fill='%23BAB8B9' rx='5' ry='5' transform='rotate(180 50 65)'/%3E%3Crect width='7' height='20' x='46.5' y='40' fill='%23C2C0C1' rx='5' ry='5' transform='rotate(-150 45.98 65)'/%3E%3Crect width='7' height='20' x='46.5' y='40' fill='%23CBCBCB' rx='5' ry='5' transform='rotate(-120 41.34 65)'/%3E%3Crect width='7' height='20' x='46.5' y='40' fill='%23D2D2D2' rx='5' ry='5' transform='rotate(-90 35 65)'/%3E%3Crect width='7' height='20' x='46.5' y='40' fill='%23DADADA' rx='5' ry='5' transform='rotate(-60 24.02 65)'/%3E%3Crect width='7' height='20' x='46.5' y='40' fill='%23E2E2E2' rx='5' ry='5' transform='rotate(-30 -5.98 65)'/%3E%3C/svg%3E") no-repeat;
+    background-size: 100%;
+    -webkit-animation: ballRotate 1s steps(12) infinite;
+    animation: ballRotate 1s steps(12) infinite;
+}
+
+.j-button-group {
+    display: flex;
+    justify-content: space-between;
+    align-items: center;
+    width: 100%;
+    padding: 0.16rem 0.32rem 0.24rem;
+    background-color: #fff;
+    box-sizing: border-box;
+}
+
+.j-button-confirm,
+.j-button-cancel {
+    display: flex;
+    align-items: center;
+    justify-content: center;
+    flex: 1;
+    width: 100%;
+    height: 0.8rem;
+    font-size: 0.32rem;
+    line-height: inherit;
+    text-align: center;
+    border-radius: 0.16rem;
+}
+
+.single .j-button-confirm,
+.single .j-button-cancel {
+    height: 0.92rem;
+}
+
+.j-button-cancel {
+    margin-right: 0.26rem;
+    color: #5f5e64;
+    background-color: #edeff2;
+}
+
+.j-button-confirm {
+    color: #fff;
+    background-color: #2cb7ca;
+}
+
+button[disabled] {
+    opacity: 0.5;
+}
+
+.checkbox {
+    width: 0.4rem;
+    height: 0.4rem;
+    border: 1px solid #ddd;
+    border-radius: 50%;
+    margin-right: 0.2rem;
+    -webkit-appearance: none;
+    background: #fff;
+}
+
+.checkbox:checked {
+    border: 0;
+    background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAACpElEQVRogc1asa2DMBBlhIyQMpKNxAiMwAiMwAhswAgZgQrOHSVwLhiBERghvwCSwMdgOzYG6aQUhLw7v3u+Z+J5Bq4g724U6pCUTeIznlGGHQHsKcOBAPbT544yntOiTSnUoYnf/Rm0X7YRAXxShgMFfCkH4zkBjE8HTos21QYtCJ/xzDpwAhgTwN4k8OWK4GBlRYK8u1HGc2vA/yfSPaC+GwFPoQ6tVn1vNQoMfgJPyiYxzXXl3ijbSA88YOwa/BzKfUEKDK4C/hOSe8cD6vv1wOOLMhykGvtUtVFPotunDmDsHORBCPth1PoLUmeDStvUKdrUObgxqinE9xRt+q/6TjarZWW79cZFGXaiVQjy7va+0S/byDX4LYUhZZOIvrPoBafKw7BbVFOW1ozn7pt3B/xe9ed4QH33KNSho+pXv4CngC9SNon0zVcDTwFHNTqb/wTwqcX5TQry3KNHmmswfMYzEXif8Uz5mQwHT1r/55MGC+AJ4FPruVIJrJwRhToUbjA74LeATxuoHvg5gSMJFf24bO9YAy+7AgTwuQVAirfrmeULvBHxYDhINTEpm0SYhGgMsQ1+LG4v3f17B09rCyqa2Y0fzzCeq8pXJUpiPB/F6jTwc1GVJ1GNQ6dp3lJSLqkEyjbSG+YYDrKnBA+o77a8xruQunK219yeN/aGNaM0j9NTAvpmXqA2VsHDSigMWMrFdDnt1vY8xtpSep4hUz+qTGXbIG1K+iWMvW7137x1Y27UQtBzHyqd6A80qi/00AsqXfKETuWFh0OjLwSv/KLjSkkcbZjXTYLhoA3eeRI6tBFd86h8Inhzr1m/L+v7xESZQ6m8XCJnARckoketca+paNGmVuiievllG032tKKjtezf1f36u43PeEYAY1PV/gMeU6lGAhyHxgAAAABJRU5ErkJggg==) no-repeat center center;
+    background-size: 100% 100%;
+}
+
+.checkbox.transparent:checked {
+    border: 0;
+    background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAkCAYAAADhAJiYAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAHBSURBVHgBzZiPcYIwFIeDE7hB6QR1gzqCG2g3cAPtBLqBdoK6Ae0EXCd4bmA3+PW9JlxTJEJCgnx37xQSku9IyL9MeQIg558FxxPHnGNqQvjmOJv45DhlWXZWKWCRFUcBf0p5VsWCC5tzEPpDvcT44SnHDvGRMqe+Mjn0q04FQffFzjKE9FCrFHQzEYZDWuFf801qThuOXA3HzNR5DfRnfS/mlUdmCZEa9u3YnHkAfZQ/EyOzGkjmyPHWcD+HPUYh7SdesbXqOzakF1VijvRs7dfB1wdHvgdJXCMtdZnljbxryfCOccgIh1v9h6CbM3Qa8ZX5rVMyXtoKhB7Bfd5kiIxwUTcSCbW5hq/38JdZwAPVkk4NUlt0l5nB3QJOobYHqKNUbxmYJqMuGaWCWoX23HeMICOUrlHTxbKh4n0kGeEUMjA2LxdUlMXdOnTq2CSQEfKqsAL+7CLLlK4O6lUI9C4itM/YrMRlnAs0w4u6H6+Nd9FtaojN3qkJPYkOsXqsILTtYjGmjeKAUmVnmVrzpehTUqbfYUNNTMYoQn8I1oawN0YspMMX8DgXypQn+DvSe1Z6IJWwj/QkPji+VMCR3g//T7SIqLP6vQAAAABJRU5ErkJggg==) no-repeat center center;
+    background-size: 100% 100%;
+}
+
+.j-button {
+    display: flex;
+    align-items: center;
+    justify-content: center;
+    height: 0.72rem;
+    padding: 0 0.2rem;
+    background-color: #f5f6f7;
+    color: #5f5e64;
+    border-radius: 0.08rem;
+}
+
+.j-button-item {
+    position: relative;
+    display: inline-block;
+    color: #171826;
+}
+
+.j-button-item.active {
+    color: #2abed1;
+    background-color: #e8fafd;
+}
+
+.j-button-item.active:after {
+    content: '';
+    position: absolute;
+    right: 0;
+    bottom: 0;
+    width: 0.24rem;
+    height: 0.24rem;
+    background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAKySURBVHgB7Zg/aNRQHMd/eXfWP6i9omJBhBOXa0W4bK6ni6Murro76Cgu1kF0aysOjnXTyTopLkEcHM8TxIMOHghFQfBAaUtp8/P9Qt+Rpnm99y+XBO6zXJJ7gc83v+S9XwIwZsyY0jIbdB54UFIuBF/mEfFu6QLUX7drR2qVeUC8RfulChDJT7KAbzbFsdIEaLxt19nBSL4eP16KADJ5ovAB9pMnCh1g9n276VVZgAA12RgGBaURdG4OkycKWYGZoHPHQ1hQGVu4CkSrq6I8UagKkDwgzOmcU5gAojUATXIPkGwNdMk1QFproEtuAYYtUKrkEsCVPDHyAC7liZEGUGkNdBnZQqbaGugykgrotAa6ZF4B3dZAlwpkiElrILg2PQVL/nm4ceYE/N3ahu6/jdRxmd1Cpq0BQfKPZs4O9inApY9fU8dWwTGiNUDD1iApT1AAGU4DDFoDRKPWIE2eePb9l/QcZ7eQ7QIlk7//7Qe8+flHep6TAHnJE9azUFJedfYQ2MgTVgGoNWAT7BPfnBbHnl6sw8mJA3C8WoErpyZhdWNTGsJWntM3XshkrQGJxyFBEk3iQJ7oGVWAWgOG8JxvHkr+93tzK7rycZKVcCTPn2B8px1gpzV4IvufJElWFqJx9LAbeU6IuKg1C+m0BrKrnIaJPLHmhVPKFaDWgMvfUx0vq0QSU3l++yyttPxXQ1dim9ZgeUdMVgljeU4I+JB+961A7KvBVTBEVgkbeURY7F5uvqRtaQVcvruKStw+dxqO8Wn28cqquTyfOtdZOCf2Ux9i1y/eriB59MJWt+X3xLE9C1mR5T0vvB6XJ3ZVIIuvBi5Iu/KCQQWy+mpgCz2w617op8kTUQWy/GpgSB8xfIEMFmTiAs/mxdshfX6te9zjM78pPqyx7eVey++rnPgfnLxxiLvERTEAAAAASUVORK5CYII=) no-repeat;
+    background-size: contain;
+}
+
+/* 空状态 配合j-icons中的img-empty和j-img使用 */
+/* 具体使用参考page_ent_follow.html */
+.empty {
+    display: flex;
+    align-items: center;
+    flex-direction: column;
+    flex: 1;
+    padding-top: 1.34rem;
+    width: 100%;
+}
+.empty .empty-img {
+    padding: .2rem;
+    width: 3.2rem;
+    height: 3.2rem;
+    margin-bottom: 0.24rem;
+    background-origin: content-box;
+}
+.empty .empty-text {
+    font-size: .26rem;
+    line-height: .4rem;
+    color: #9B9CA3;
+}
+
+.shiyong_common {
+    width: 5.92rem!important;
+    height: 4.48rem;
+}
+
+.shiyong_common .van-dialog__header{
+    font-size: 0.36rem;
+    font-weight: bold;
+    color: #000000;
+}
+
+.shiyong_common .van-dialog__message--has-title {
+    padding-top: 0.36rem;
+    padding-bottom: 0;
+}
+
+.shiyong_common .van-dialog__message--has-title .shiyong_text{
+    line-height: 0.4rem;
+    font-size: 0.28rem;
+    text-align: justify;
+    color: #5f5e64;
+}
+
+.shiyong_common .van-dialog__message--has-title .shiyong_buy{
+    margin-top: 0.36rem;
+    width: 100%;
+    height: 0.8rem;
+    background: #2ABED1;
+    border-radius: 4px;
+    color: #F7F9FA;
+    font-size: 0.32rem;
+}

BIN
src/web/staticres/common-module/bidedoc/image/A_01.jpg


BIN
src/web/staticres/common-module/bidedoc/image/A_02.jpg


BIN
src/web/staticres/common-module/bidedoc/image/A_03.jpg


BIN
src/web/staticres/common-module/bidedoc/image/A_04.jpg


BIN
src/web/staticres/common-module/bidedoc/image/A_05.jpg


BIN
src/web/staticres/common-module/bidedoc/image/B_01.jpg


BIN
src/web/staticres/common-module/bidedoc/image/B_02.jpg


BIN
src/web/staticres/common-module/bidedoc/image/B_03.jpg


BIN
src/web/staticres/common-module/bidedoc/image/B_04.jpg


BIN
src/web/staticres/common-module/bidedoc/image/B_05.jpg


BIN
src/web/staticres/common-module/bidedoc/image/B_06.jpg


BIN
src/web/staticres/common-module/bidedoc/image/B_07.jpg


BIN
src/web/staticres/common-module/bidedoc/image/B_08.jpg


BIN
src/web/staticres/common-module/bidedoc/image/B_09.jpg


+ 46 - 0
src/web/staticres/common-module/bidedoc/js/index.js

@@ -0,0 +1,46 @@
+function getType () {
+  // 判断是否为微信浏览器
+  var ua = window.navigator.userAgent.toLowerCase()
+  if(ua.match(/MicroMessenger/i) == 'micromessenger'){
+    return true
+  } else {
+    return false
+  }
+}
+var vm = new Vue({
+  el: '#bided',
+  delimiters: ['{', '}'],
+  data: function () {
+    return {
+      
+    }
+  },
+  created() {
+    
+  },
+  methods: {
+    getMsg() {
+      let wxType = getType()
+      if (wxType) {
+          location.href = '/weixin/frontPage/bigmember/free/perfect_info?source=bid_document_Introduction_page'
+      } else {
+          location.href = '/jyapp/frontPage/bigmember/free/perfect_info?source=bid_document_Introduction_page'
+      }
+    },
+    getPhone() {
+      let wxType = getType()
+      if (wxType) {
+        const a1 = document.createElement('a')
+        a1.href = 'tel:400-108-6670'
+        a1.click()
+      } else {
+        try {
+          JyObj.callPhone('400-108-6670')
+        } catch (error) {
+          console.log(error)
+        }
+      }
+    }
+  }
+})
+

+ 35 - 0
src/web/staticres/common-module/perfect-info/index.css

@@ -438,4 +438,39 @@
   background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAKFSURBVHgB7VfPaxpBFH5tjdQiTUnABtOgaCktViill9JbEYrQQ6+9ePDaixf/lCIIevDSS/8Ez4aWXEQLpVCLjYSE/IAYE4mGkPfF2bBOZnadZZNL8sFHlp03+T7nzXszS3TTcYe84QEzJDhmnjD3xd8rM/CQucJ8LAyoMGTuMP+IZ18MBJgpIW6C9VmMuBlYZL5hzpE3QLzN3NIF3HOYvCLEnWLcAOPLwkifDAwgz6/JPywxd0mRjruKYOzsl+Q/sJoBmsHAM2HiArlcbrler3/KZDIL5ALENBqNz5gjDSEdKTleTgGEX8lBpVLpYzqdfpfNZtOtVqvd6XSGOvFqtfolGo0+jUQi41qt9lsKmWduMo91BlIiaArdbncD4uFweEFnwhJHzGAw2CsWi981Rk+Z2zoDyP2lksM/gqjOhCyez+e/csr2SI37zH8qAxB+rpmkNZFIJEIG4pZOjyYtfKoRoem8JRfIvxbvDMQtrNKkLKdWALmPus2UVyIYDIYMxUmInzcmexkG6Powth7kPeB64MgpGI1GQ6fq0OA/ia5oX4G+2yzVbgfxjHcYm6VZ0eTucA77CqA+n5Dm5NOVmluJKnDE/KsyQEJ8cVZxa9zQBDrhls4A3CXkGeVy+UMsFnvhtNtlE9y6Q5VKpU2XsUa2q5tsAAM4D+R2fBCPxwOFQuGbU6lZJpLJJLH4arPZPJBCcEvq2V+obkRIw3vyfgvSAauLBjSVFtVxjBpdI//xixQXEt2NCIFwvET+oMncUA043ff6go/Iezqwmj9psvPJ1AAwEJNhYJ7MgA33g3noFGTyYYLqwHUNfUL3YYK09YS4bx8mKuDgworMiWeIefo0u8UZWsFaVw0bCS4AAAAASUVORK5CYII=) no-repeat;
   background-size: contain;
 }
+.bid-van {
+  width: 6.06rem;
+}
+.bide-btn {
+  display: flex;
+  flex-direction: column;
+  align-items: center;
+  padding: .48rem 0;
+}
+.bide-btn img {
+  width: 1.6rem;
+}
+.bide-btn p {
+  margin: 0;
+}
+.bide-btn .p1 {
+  font-size: .36rem;
+  color: #000000;
+  line-height: 26px;
+  margin: .2rem 0 .36rem 0;
+}
+.bide-btn .p2 {
+  font-size: .28rem;
+  color: #5f5e64;
+  line-height: 20px;
+  margin-bottom: .36rem;
+}
+.bide-btn .van-button {
+  width: 4.96rem;
+  height: .8rem;
+  background-color: #2ABED1;
+}
+.bide-btn .van-button .van-button__text {
+  font-size: .32rem;
+}
 /* e- 4.5.2.7 -e */

+ 4 - 0
src/web/staticres/common-module/portraitRecord/css/index.css

@@ -368,4 +368,8 @@
 }
 .record-time-d .van-picker__confirm {
     color: #2ABED1;
+}
+
+.van-loading {
+    margin-top: 1.2rem;
 }

+ 9 - 0
src/web/staticres/common-module/portraitRecord/js/index-wx.js

@@ -47,6 +47,8 @@ var vm = new Vue({
     return {
       dValue: '',
       pShow: false,
+      working: false,
+      empty: false,
       curDate: '',
       minDate: '',
       maxTime: '',
@@ -105,6 +107,8 @@ var vm = new Vue({
     },
     doFormatList (r) {
       if (r && r.error_msg == '' && r.data) {
+        this.working = false
+        this.empty = true
         this.listInfo.pageNum++
         if (this.listInfo.pageNum === 1) {
           if (r.data.total || r.data.total === 0) {
@@ -148,6 +152,8 @@ var vm = new Vue({
       }
     },
     ajaxEntList() {
+      this.working = true
+      this.empty = false
       return $.ajax({
         url: '/bigmember/portrait/subVipPortrait/record',
         type: 'POST',
@@ -193,6 +199,9 @@ var vm = new Vue({
       this.years = val.getFullYear()
       this.months = val.getMonth() + 1
       this.listInfo.pageNum = 0
+      this.listInfo.total = -1
+      this.listInfo.finished = false
+      this.listInfo.loading = true
       this.list = []
       this.onLoad()
       this.dValue = this.years + '年' + this.months + '月'

+ 9 - 0
src/web/staticres/common-module/portraitRecord/js/index.js

@@ -47,6 +47,8 @@ var vm = new Vue({
     return {
       dValue: '',
       pShow: false,
+      working: false,
+      empty: false,
       curDate: '',
       minDate: '',
       maxTime: '',
@@ -105,6 +107,8 @@ var vm = new Vue({
     },
     doFormatList (r) {
       if (r && r.error_msg == '' && r.data) {
+        this.working = false
+        this.empty = true
         this.listInfo.pageNum++
         if (this.listInfo.pageNum === 1) {
           if (r.data.total || r.data.total === 0) {
@@ -148,6 +152,8 @@ var vm = new Vue({
       }
     },
     ajaxEntList() {
+      this.working = true
+      this.empty = false
       return $.ajax({
         url: '/bigmember/portrait/subVipPortrait/record',
         type: 'POST',
@@ -194,6 +200,9 @@ var vm = new Vue({
       this.months = val.getMonth() + 1
       this.listInfo.pageNum = 0
       this.list = []
+      this.listInfo.total = -1
+      this.listInfo.finished = false
+      this.listInfo.loading = true
       this.onLoad()
       this.dValue = this.years + '年' + this.months + '月'
       this.pShow = false

+ 156 - 0
src/web/staticres/frontRouter/pc/bidedoc/css/index-pc.css

@@ -0,0 +1,156 @@
+
+[v-cloak] {
+    display: none !important;
+}
+
+.flex {
+    display: flex;
+    align-items: center;
+  }
+.bide-container {
+    padding-top: 64px;
+    min-height: calc(100vh - 364px);
+}
+.bide-container img {
+    width: 100%;
+}
+.bide-bg {
+    width: 100%;
+}
+.bide-conts .serves1, .bide-conts .serves3 {
+    position: relative;
+}
+.bide-conts .serves1 .bi-btn, .bide-conts .serves3 .bi-btn {
+    position: absolute;
+    left: 50%;
+    bottom: 13.47%;
+    transform: translate(-50%, 0);
+    width: 416px;
+    height: 48px;
+    background: linear-gradient(90deg,#23c5f1 0%, #2887ea 100%);
+    border-image: linear-gradient(90deg, #23c5f1, #2888ea 100%) 0 0;
+    border-radius: 25px;
+}
+.bide-conts .serves1 .bi-btn, .bide-conts .serves3 .bi-btn span {
+  font-size: 18px;
+}
+.is-class div {
+    padding: 0;
+}
+.is-class {
+    width: 532px;
+    padding: 32px;
+    border-radius: 8px;
+}
+.is-class .el-dialog__header {
+    margin-bottom: 26px;
+}
+.is-class .el-dialog__header .el-dialog__title {
+    color: #1d1d1d;
+    line-height: 28px;
+    font-size: 18px;
+}
+.is-class .el-dialog__footer .el-button span {
+    color: #ffffff;
+    font-size: 16px;
+}
+.is-class .el-dialog__footer .el-button {
+    padding: 9px 50px;
+    background-color: #2CB7CA;
+    border-color: #2CB7CA;
+}
+.is-class .el-dialog__body {
+    padding: 0;
+}
+.demo-class {
+    position: relative;
+}
+.demo-class .el-input__inner {
+    /* width: 380px; */
+    height: 36px;
+}
+.demo-class .el-form-item .el-form-item__label {
+    padding: 0;
+}
+
+.demo-class .company-result{
+    position: absolute;
+    width: 368px;
+    /* bottom: -32px;
+    left: 100px; */
+    top: 36px;
+    left: 0;
+    height: auto;
+    background-color: #fff;
+    border: 1px solid #2CB7CA;
+    z-index: 100;
+    border-radius: 4px;
+  }
+  .demo-class .company-list{
+    padding: 0 16px;
+    height: 30px;
+    line-height: 30px;
+    font-size: 14px;
+    color: #1D1D1D;
+    cursor: pointer;
+    text-overflow: ellipsis;
+    overflow: hidden;
+    white-space: nowrap;
+  }
+  .demo-class .company-list:hover{
+    background: #ECECEC;
+  }
+  #success-dialog .success-dialog-container{
+    position: fixed;
+    width: 380px;
+    top: 50%;
+    left: 50%;
+    padding: 20px;
+    transform: translateX(-50%) translateY(-50%);
+    background: #ffffff;
+    border-radius: 8px;
+    transition: all 2s linear;
+    z-index: 1038;
+  }
+  #success-dialog .success-title{
+    padding: 12px 0 20px;
+    color: #1d1d1d;
+    line-height: 28px;
+    font-size: 18px;
+    text-align: center;
+  }
+  #success-dialog .success-content{
+    text-align: center;
+    color: #686868;
+    line-height: 22px;
+    font-size: 14px;
+  }
+  #success-dialog .success-footer{
+    padding: 32px 0 12px;
+    text-align: center;
+  }
+  .mask {
+    position: fixed;
+    width: 100%;
+    height: 100%;
+    right: 0;
+    left: 0;
+    top: 0;
+    bottom: 0;
+    background: rgba(0, 0, 0, .5);
+    z-index: 1031;
+  }
+  
+  #success-dialog .custom-btn{
+    display: inline-block;
+    width: 132px;
+    height: 36px;
+    line-height: 36px;
+    background: #2cb7ca;
+    border-radius: 6px;
+    text-align: center;
+    color: #fff;
+    font-size: 16px;
+    cursor: pointer;
+    border: 0;
+  }

BIN
src/web/staticres/frontRouter/pc/bidedoc/image/1.jpg


BIN
src/web/staticres/frontRouter/pc/bidedoc/image/2.jpg


BIN
src/web/staticres/frontRouter/pc/bidedoc/image/3.jpg


BIN
src/web/staticres/frontRouter/pc/bidedoc/image/4.jpg


BIN
src/web/staticres/frontRouter/pc/bidedoc/image/5.jpg


BIN
src/web/staticres/frontRouter/pc/bidedoc/image/6.jpg


+ 229 - 0
src/web/staticres/frontRouter/pc/bidedoc/js/index-pc.js

@@ -0,0 +1,229 @@
+// 防抖
+function debounce(fn, delay) {
+  var timer
+  return function () {
+    var context = this
+    var args = arguments
+    clearTimeout(timer)
+    timer = setTimeout(function () {
+      fn.apply(context, args)
+    }, delay)
+  }
+}
+var vm = new Vue({
+  el: '.bide-container',
+  delimiters: ['{', '}'],
+  data: function () {
+    var validPhone = function(rule,value,callback) {
+      var status = /^1[3456789]\d{9}$/.test(value)
+      if(value === '') {
+        return callback(new Error('手机号为必填项'));
+      } else if (!status) {
+        return callback(new Error('手机号填写不正确'));
+      } else {
+        callback();
+      }
+    }
+    return {
+      isShow: false,
+      showSearchResult: false,
+      showSuccess: false,
+      source: 'bid_document_Introduction_page',
+      ruleBide: {
+        name: '',
+        phone: '',
+        companyName: ''
+      },
+      companyList: [],
+      rules: {
+        name: [
+          { required: true, message: '请输入姓名', trigger: 'blur' }
+        ],
+        phone: [
+          { required: true, validator: validPhone, trigger: 'blur' }
+        ],
+        companyName: [
+          { required: true, message: '请输入公司名称', trigger: 'blur' }
+        ],
+      }
+    }
+  },
+  mounted() {
+    let that = this;
+    $(document).on('click', function (e) {
+        let dom = $('.company-name')[0];
+        if (dom) {
+            // 如果点击的区域不在自定义dom范围
+            if (!dom.contains((e.target))) {
+              that.showSearchResult = false
+            }
+        } 
+    })
+  },
+  methods: {
+    getModal () {
+      if (!loginflag) {
+        openLoginDig()
+      } else {
+        this.isNeedSubmit()
+        this.isShow = true
+      }
+    },
+    // 是否留资
+    isNeedSubmit: function() {
+      var _this = this
+      $.ajax({
+        type:'POST',
+        url:'/salesLeads/retainedCapital',
+        data: {
+          source: _this.source
+        },
+        success:function (res) {
+          if (res.data) {
+            window.isRetained = res.data.retainedCapital
+            if (res.data.retainedCapital) {
+              _this.showForm = true
+              _this.getOldInfo()
+            }
+          }
+        }
+      })
+    },
+    // 查询表单回显信息
+    getOldInfo: function() {
+      var _this = this
+      $.ajax({
+        type:'POST',
+        url:'/salesLeads/echoInfo?t=' + Date.now(),
+        success:function (res) {
+          if (res.data) {
+            _this.ruleBide.name = res.data.name ? res.data.name : ''
+            _this.ruleBide.phone = res.data.phone ? res.data.phone : ''
+            _this.ruleBide.companyName = res.data.company ? res.data.company : ''
+            if (res.data.company) {
+              _this.showSearchResult = false
+            }
+          }
+        }
+      })
+    },
+    searchCompany: debounce(function(val){
+      console.log(val)
+      if(val === '') { this.showSearchResult = false}
+      this.getResult(val)
+    }, 600),
+    // 公司名称获取焦点时
+    companyFocus: function() {
+      this.$refs['ruleBide'].clearValidate(['companyName']);
+      this.getResult(this.ruleBide.companyName)
+    },
+    // 公司名称失去焦点时
+    companyBlur: function() {
+      this.showSearchResult = false
+    },
+    // 关键词高亮
+    brightKeyword: function (val) {
+      var name = this.ruleBide.companyName
+      if (val.indexOf(name) !== -1) {
+        return val.replace(name, `<font style='color:#2ABED1;'>${name}</font>`)
+      } else {
+        return val
+      }
+    },
+    // 选择联想出来的公司名称
+    selectCompany: function(item) {
+      this.ruleBide.companyName = item.replace(/<.*?>/ig, '')
+      this.showSearchResult = false
+    },
+    // 企业名称联想
+    getResult:function(name) {
+      // 名称为空或长度小于2不发请求
+      console.log(name)
+      if (!name || name.length < 2) return
+      var _this = this
+      $.ajax({
+        type:'POST',
+        url:'/jypay/user/company/association',
+        data: {
+          name: name
+        },
+        heads : {
+          'content-type': 'application/x-www-form-urlencoded'
+        },
+        success:function (res) {
+          console.log(res)
+          if (res.data && res.data.length > 0) {
+            var result = []
+            res.data.map(function(item){
+              item = _this.brightKeyword(item)
+              result.push(item)
+              return result
+            })
+            _this.companyList = result
+            _this.showSearchResult = true
+          }
+        }
+      })
+    },
+    // 表单提交事件
+    submitForm: function(formName) {
+      var _this = this
+      this.$refs[formName].validate(function (valid) {
+        if (valid) {
+          _this.formAjax('bid_document_Introduction_page')
+          _this.bigDocAjax()
+        } else {
+          console.log('error submit!!');
+          return false;
+        }
+      });
+    },
+    // 快照页引流的文案埋点 留资提交时埋点
+    bigDocAjax: function() {
+      if (getParam('id')) {
+        try {
+          $.ajax({
+            type: "POST",
+            url: "/publicapply/drainage/bmt/" + getParam('id'),
+            data: {
+              p: 'ICRW'
+            },
+            success: function(r) {
+              console.log(r)
+            }
+          })
+        } catch (error) {
+          console.log(error)
+        }
+      }
+    },
+    // 表单提交请求
+    formAjax: function(source) {
+      var params = {
+        source: source,
+        name: this.ruleBide.name,
+        phone: this.ruleBide.phone, 
+        company: this.ruleBide.companyName
+      }
+      var _this = this
+      $.ajax({
+        type:'POST',
+        url:'/salesLeads/collectInfo',
+        contentType: "application/json;charset=utf-8",
+        data: JSON.stringify(params),
+        success:function (res) {
+          if (res.data) {
+            _this.isShow = false
+            _this.showSuccess = true
+          }
+        }
+      })
+    },
+    // 手机号输入框input事件
+    inputPhone: function(val) {
+      this.ruleBide.phone = val.replace(/[^\d]/g,'')
+    },
+  }
+})
+
+

+ 7 - 1
src/web/staticres/frontRouter/pc/seeHistory/js/index-pc.js

@@ -34,6 +34,8 @@ var vm = new Vue({
     delimiters: ['{', '}'],
     data () {
         return {
+            working: false,
+            empty: false,
             dateVal: '',
             years: '',
             months: '',
@@ -78,6 +80,8 @@ var vm = new Vue({
             }
         },
         subRecord() {
+            this.working = true
+            this.empty = false
             $.ajax({
                 url: '/bigmember/portrait/subVipPortrait/record',
                 type: 'POST',
@@ -86,7 +90,9 @@ var vm = new Vue({
                 dataType: 'json'
             }).done(res => {
                 var _this = this
-                if (res.error_code == 0 && res.data.list) {
+                if (res.error_code == 0) {
+                    this.working = false
+                    this.empty = true
                     if (res.data.total) {
                         this.seeList.total = res.data.total
                     }

BIN
src/web/staticres/images/working.gif


+ 111 - 0
src/web/templates/frontRouter/pc/bidedoc/free/index.html

@@ -0,0 +1,111 @@
+
+<html lang="zh-cn">
+	<head>
+		<title>标书编写_{{Msg "seo" "qfw.swordfishsl.title"}}</title>
+		<meta name="Keywords" content="{{Msg "seo" "qfw.swordfishsl.key"}}"/>
+		<meta name="Description" content="{{Msg "seo" "qfw.swordfishsl.description"}}"/>
+		<meta name="renderer" content="webkit">
+		<meta content="telephone=no" name="format-detection"/>
+    <meta content="标书编写" theme="light" name="enable-header"/>
+		{{include "/common/pnc.html"}}
+		<link href="{{Msg "seo" "cdn"}}/css/pc.css?v={{Msg "seo" "version"}}" rel="stylesheet" />
+		<link href="{{Msg "seo" "cdn"}}/css/dev2/reset_pc.css?v={{Msg "seo" "version"}}" rel="stylesheet" />
+		<link href="{{Msg "seo" "cdn"}}/pccss/public-nav-1200.css?v={{Msg "seo" "version"}}" rel="stylesheet" />
+    <link href="//cdn.jsdelivr.net/npm/element-ui@2.13.2/lib/theme-chalk/index.css" rel="stylesheet" />
+    <link href='{{Msg "seo" "cdn"}}/frontRouter/pc/bidedoc/css/index-pc.css?v={{Msg "seo" "version"}}' rel="stylesheet">
+    <script src=//cdn-common.jianyu360.com/cdn/lib/vue/2.6.11/vue.min.js></script>
+    <script src="//cdn.jsdelivr.net/npm/element-ui@2.13.2/lib/index.js"></script>
+  </head>
+
+	<body>
+	{{include "/common/pchead.html"}}
+	  <section class="bide-container" v-cloak>
+        <div class="bide-bg">
+          <img src='{{Msg "seo" "cdn"}}/frontRouter/pc/bidedoc/image/1.jpg?v={{Msg "seo" "version"}}' alt="">
+        </div>
+        <div class="bide-conts">
+          <div class="serves1">
+            <img src='{{Msg "seo" "cdn"}}/frontRouter/pc/bidedoc/image/2.jpg?v={{Msg "seo" "version"}}' alt="">
+            <el-button @click="getModal" class="bi-btn" type="primary">请留下您的手机号,专业老师将尽快和您联系</el-button>
+          </div>
+          <div class="serves2">
+            <img src='{{Msg "seo" "cdn"}}/frontRouter/pc/bidedoc/image/3.jpg?v={{Msg "seo" "version"}}' alt="">
+          </div>
+          <div class="serves3">
+            <img src='{{Msg "seo" "cdn"}}/frontRouter/pc/bidedoc/image/4.jpg?v={{Msg "seo" "version"}}' alt="">
+            <el-button @click="getModal" class="bi-btn" type="primary">请留下您的手机号,专业老师将尽快和您联系</el-button>
+          </div>
+          <div class="serves4">
+            <img src='{{Msg "seo" "cdn"}}/frontRouter/pc/bidedoc/image/5.jpg?v={{Msg "seo" "version"}}' alt="">
+          </div>
+          <div class="serves5">
+            <img src='{{Msg "seo" "cdn"}}/frontRouter/pc/bidedoc/image/6.jpg?v={{Msg "seo" "version"}}' alt="">
+          </div>
+        </div>
+        <el-dialog
+          title="请留下您的信息,我们会尽快和您联系"
+          :visible.sync="isShow"
+          custom-class="is-class"
+          :lock-scroll="false"
+          :close-on-click-modal="false"
+          center
+        >
+          <el-form :model="ruleBide" :rules="rules" ref="ruleBide" label-width="100px" class="demo-class">
+            <el-form-item label="姓名:" prop="name">
+              <el-input v-model="ruleBide.name" placeholder="请输入姓名"></el-input>
+            </el-form-item>
+            <el-form-item label="手机号:" prop="phone">
+              <el-input v-model="ruleBide.phone" placeholder="请输入手机号" @input="inputPhone"></el-input>
+            </el-form-item>
+            <el-form-item 
+              label="公司名称:"
+              prop="companyName"
+            >
+              <el-input 
+                v-model="ruleBide.companyName"
+                class="company-name"
+                placeholder="请输入公司名称"
+                @focus="companyFocus"
+                @input="searchCompany"
+              ></el-input>
+              <div class="company-result" v-if="showSearchResult">
+                <div class="company-list" v-for="item in companyList" :key="item" @click="selectCompany(item)" v-html="item"></div>
+              </div>
+            </el-form-item>
+            
+          </el-form>
+          <span slot="footer" class="dialog-footer">
+            <el-button type="primary" @click="submitForm('ruleBide')">提交</el-button>
+          </span>
+        </el-dialog>
+        <div id="success-dialog" style="display: none;" v-show="showSuccess">
+          <div class="mask"></div>
+          <div class="success-dialog-container">
+            <div class="success-title">提交成功</div>
+            <div class="success-content">专业老师将尽快和您联系!</div>
+            <div class="success-footer">
+              <button type="button" class="custom-btn go-know" @click="showSuccess = false">我知道了</button>
+            </div>
+          </div>
+        </div>
+    </section>
+
+    {{include "/common/pcbottom.html"}}
+    {{include "/common/baiducc.html"}}
+
+    <script>
+        haslogin({{.T.logid}})
+        function baiduEvent(name) {
+          try {
+            console.log(name, 'name')
+            _hmt.push(['_trackEvent', '超级订阅-pc', 'click', name]);
+          } catch (e) {
+            console.log('未初始化百度统计')
+          }
+        }
+    </script>
+    <script src='{{Msg "seo" "cdn"}}/frontRouter/pc/bidedoc/js/index-pc.js?v={{Msg "seo" "version"}}'></script>
+</body>
+
+</html>
+

+ 3 - 2
src/web/templates/frontRouter/pc/seeHistory/sess/index.html

@@ -46,7 +46,7 @@
                 <i class="el-icon-arrow-down r-icons" @click="dateHandler"></i>
             </div>
         </div>
-        <div class="see-content w" v-show="seeList.list.length !== 0">
+        <div class="see-content w" v-show="seeList.list.length !== 0 && empty">
             <div class="lists flex" v-for="item in seeList.list" :key="item._id">
                 <div class="words-img" :style="{'background-color': item.color}" @click="detailed(item._id)">
                     <span>{item.abbr1}</span><span class="xin-xi">{item.abbr2}</span>
@@ -71,7 +71,8 @@
                 ></el-pagination>
             </div>
         </div>
-        <div class="no-data" v-show="seeList.list.length === 0"><el-image src="/images/pc_12.png"></el-image><div class="tip-text"><p>暂无数据</p></div></div>
+        <div class="no-data" v-if="working"><el-image src="/images/working.gif"></el-image><div class="tip-text"><p>剑鱼标讯正在努力工作中...</p></div></div>
+        <div class="no-data" v-if="seeList.list == 0 && empty"><el-image src="/images/pc_12.png"></el-image><div class="tip-text"><p>暂无数据</p></div></div>
     </section>
 
     {{include "/common/pcbottom.html"}}

+ 64 - 0
src/web/templates/frontRouter/wx/bidedoc/sess/index.html

@@ -0,0 +1,64 @@
+<!DOCTYPE html>
+<html lang="zh-CN">
+<head>
+  <meta charset="utf-8">
+  <meta name="keywords" content="剑鱼标讯">
+  <meta name="description" content="剑鱼标讯">
+  <meta name="author" content="剑鱼标讯">
+  <meta http-equiv="X-UA-Compatible" content="IE=edge">
+  <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=no">
+  <meta name="browsermode" content="application">
+  <meta name="x5-orientation" content="portrait">
+  <meta name="screen-orientation" content="portrait">
+  <meta name="x5-page-mode" content="app">
+  <meta name="apple-mobile-web-app-capable" content="yes">
+  <meta name="apple-mobile-web-app-status-bar-style" content="black">
+  <meta name="format-detection" content="telephone=no">
+  <title>标书制作对接</title>
+  <script src="/big-member/js/rem.js"></script>
+  <!--S-当前页面的css资源-->
+  <link rel="stylesheet" href=//cdn-common.jianyu360.com/cdn/lib/reset-css/5.0.1/reset.min.css />
+  <link rel="stylesheet" href=//cdn-common.jianyu360.com/cdn/lib/vant/2.12.24/lib/index.css />
+  <link rel="stylesheet" href=//cdn-common.jianyu360.com/cdn/lib/vant/2.12.24/lib/icon/local.css />
+  <link rel="stylesheet" href='{{Msg "seo" "cdn"}}/common-module/bidedoc/css/public.css?v={{Msg "seo" "version"}}' />
+  <link rel="stylesheet" href='{{Msg "seo" "cdn"}}/common-module/bidedoc/css/index.css?v={{Msg "seo" "version"}}' />
+  </head>
+<body>
+  <div class="j-container">
+    {{include "/big-member/header.html"}}
+    <div class="j-main bided" id="bided" v-cloak>
+      <div class="j-container">
+        <div class="j-main">
+          <img src='{{Msg "seo" "cdn"}}/common-module/bidedoc/image/A_02.jpg?v={{Msg "seo" "version"}}' alt="">
+          <img src='{{Msg "seo" "cdn"}}/common-module/bidedoc/image/A_03.jpg?v={{Msg "seo" "version"}}' alt="">
+          <img src='{{Msg "seo" "cdn"}}/common-module/bidedoc/image/A_04.jpg?v={{Msg "seo" "version"}}' alt="">
+          <img src='{{Msg "seo" "cdn"}}/common-module/bidedoc/image/A_05.jpg?v={{Msg "seo" "version"}}' alt="">
+          <img src='{{Msg "seo" "cdn"}}/common-module/bidedoc/image/B_01.jpg?v={{Msg "seo" "version"}}' alt="">
+          <img src='{{Msg "seo" "cdn"}}/common-module/bidedoc/image/B_02.jpg?v={{Msg "seo" "version"}}' alt="">
+          <img src='{{Msg "seo" "cdn"}}/common-module/bidedoc/image/B_03.jpg?v={{Msg "seo" "version"}}' alt="">
+          <img src='{{Msg "seo" "cdn"}}/common-module/bidedoc/image/B_04.jpg?v={{Msg "seo" "version"}}' alt="">
+          <img src='{{Msg "seo" "cdn"}}/common-module/bidedoc/image/B_05.jpg?v={{Msg "seo" "version"}}' alt="">
+          <img src='{{Msg "seo" "cdn"}}/common-module/bidedoc/image/B_06.jpg?v={{Msg "seo" "version"}}' alt="">
+          <img @click="getPhone" src='{{Msg "seo" "cdn"}}/common-module/bidedoc/image/B_07.jpg?v={{Msg "seo" "version"}}' alt="">
+          <img src='{{Msg "seo" "cdn"}}/common-module/bidedoc/image/B_08.jpg?v={{Msg "seo" "version"}}' alt="">
+          <img src='{{Msg "seo" "cdn"}}/common-module/bidedoc/image/B_09.jpg?v={{Msg "seo" "version"}}' alt="">
+          <div class="btns-tips">
+            <div class="btns">
+                <van-button type="primary" size="large" @touchstart="getMsg">请留下您的手机号,专业老师将尽快和您联系</van-button>
+            </div>
+          </div>
+        </div>
+      </div>
+    </div>
+  </div>
+  <!--S-当前页面的资源-->
+  <script src='https://cdn-common.jianyu360.com/cdn/lib/vue/2.6.11/vue.min.js'></script>
+  <script src=//cdn-common.jianyu360.com/cdn/lib/vant/2.12.24/lib/vant.min.js></script>
+  <script src=//cdn-common.jianyu360.com/cdn/lib/jquery/3.6.0/jquery.min.js></script>
+  <!--E-当前页面的资源-->
+  {{include "/big-member/commonjs.html"}}
+  <script src='{{Msg "seo" "cdn"}}/common-module/bidedoc/js/index.js?v={{Msg "seo" "version"}}'></script>
+  {{include "/common/baiducc.html"}}
+</body>
+
+</html>

+ 45 - 18
src/web/templates/frontRouter/wx/bigmember/free/perfect_info.html

@@ -79,10 +79,10 @@
                                    :error-message="infoCheckMap.company" required v-model.trim="infoMap.company" label="公司名称" placeholder="请输入公司名称"></van-field>
                         <van-field v-if="moduleShow.companyType" v-model="infoMap.companyType" label="公司类型" @click="openPop('公司类型')" readonly is-link
                                    placeholder="请选择公司类型"></van-field>
-                        <van-field :class="{'hide-border': infoMap.position === '其他'}"  required v-model="infoMap.position" label="职位" @click="openPop('职位')" readonly is-link
+                        <van-field v-if="moduleShow.position" :class="{'hide-border': infoMap.position === '其他'}"  required v-model="infoMap.position" label="职位" @click="openPop('职位')" readonly is-link
                                    placeholder="请选择职位"></van-field>
                         <van-field class="other-input-group" @focus="infoCheckMap.position_other = ''" @blur="getCheckMap('position')"
-                                   :error-message="infoCheckMap.position_other" v-model.trim="infoMap.position_other" v-show="infoMap.position === '其他'" label="职位" placeholder="请输入职位"></van-field>
+                                   :error-message="infoCheckMap.position_other" v-model.trim="infoMap.position_other" v-show="infoMap.position === '其他' && moduleShow.position" label="职位" placeholder="请输入职位"></van-field>
                         <van-field v-if="moduleShow.company_size" v-model="infoMap.company_size" label="公司规模" @click="openPop('公司规模')" readonly is-link
                                    placeholder="请选择公司规模"></van-field>
                         <van-field v-if="moduleShow.workScope" maxlength="200" v-model="infoMap.workScope" label="业务范围" rows="2" type="textarea"
@@ -158,6 +158,14 @@
                     </div>
                 </div>
             </van-popup>
+            <van-dialog v-model:show="bidShow" class="bid-van" :show-cancel-button="false" :show-confirm-button="false">
+              <div class="bide-btn">
+                <img src='/structuredata/mobile/image/choose.png' />
+                <p class="p1">提交成功</p>
+                <p class="p2">专业老师将尽快和您联系</p>
+                <van-button type="primary" @click="cancelKonw">我知道了</van-button>
+              </div>
+            </van-dialog>
         </div>
     </div>
 </div>
@@ -367,6 +375,7 @@
       showPop: true,
       searchList: [],
       isAssociateShow: false,
+      bidShow: false,
       isAssociateUpTime: -1,
       infoMap: {
         name: '',
@@ -535,6 +544,7 @@
         class: true,
         type: false,
         companyType: true,
+        position: false,
         company_size: false,
         workScope: true,
         partnerNeeds: true,
@@ -595,11 +605,18 @@
             for (var k in this.moduleShow) {
               this.moduleShow[k] = false
             }
+            this.moduleShow.position = true
           }
         } else {
           document.title = '完善信息'
         }
-
+        if (source == 'bid_document_Introduction_page') {
+          var hideType = ['email', 'class', 'companyType', 'workScope', 'partnerNeeds', 'agree', 'position']
+          for (var k in this.moduleShow) {
+            if (hideType.indexOf(k) !== -1)
+              this.moduleShow[k] = false
+          }
+        }
         return infoText || ''
       },
       getPopHeight () {
@@ -629,6 +646,7 @@
         return true
       },
       checkPosition () {
+        if (!this.moduleShow.position) return true
         if (this.infoMap.position !== "" && this.infoMap.position !== '其他') {
           return true
         }
@@ -981,6 +999,11 @@
             }
         }
       },
+      cancelKonw () {
+        this.bidShow = false
+        sessionStorage.removeItem('salesBackStatus')
+        history.back()
+      },
       cancelForm () {
         sessionStorage.removeItem('salesBackStatus')
         history.back()
@@ -1009,21 +1032,25 @@
             loading.clear()
             if (r.error_msg === '') {
               if (_this.ajaxParams.source === 'member_freeuse' ||  utils.getParam('target') || utils.getParam('source')) {
-                _this.$dialog.close()
-                _this.$dialog.confirm({
-                  message: '您的申请已提交,我们的客户经理会在24小时内尽快与您联系。',
-                  className: 'ent-search-dialog max-54',
-                  overlayClass: 'z-2030',
-                  showCancelButton: false,
-                  getContainer: '.perfect-info-group',
-                  confirmButtonText: '我知道了',
-                }).then(function () {
-                  sessionStorage.setItem('salesBackStatus', 'true')
-                  history.back()
-                }).catch(function () {
-                  sessionStorage.setItem('salesBackStatus', 'true')
-                  history.back()
-                });
+                if (_this.ajaxParams.source === 'bid_document_Introduction_page') {
+                  _this.bidShow = true
+                } else {
+                  _this.$dialog.close()
+                  _this.$dialog.confirm({
+                    message: '您的申请已提交,我们的客户经理会在24小时内尽快与您联系。',
+                    className: 'ent-search-dialog max-54',
+                    overlayClass: 'z-2030',
+                    showCancelButton: false,
+                    getContainer: '.perfect-info-group',
+                    confirmButtonText: '我知道了',
+                  }).then(function () {
+                    sessionStorage.setItem('salesBackStatus', 'true')
+                    history.back()
+                  }).catch(function () {
+                    sessionStorage.setItem('salesBackStatus', 'true')
+                    history.back()
+                  });
+                }
               } else {
                 var sessionData = JSON.parse(sessionStorage.getItem('salesBackData') || '{}')
                 if (sessionData.type === 'article_original') {

+ 3 - 2
src/web/templates/frontRouter/wx/portraitRecord/sess/index.html

@@ -65,7 +65,7 @@
               @cancel="canceled"
             />
           </van-popup>
-          <div class="c-list" v-if="list.length !== 0">
+          <div class="c-list" v-if="list.length !== 0 && empty">
             <van-list
               v-model="listInfo.loading"
               :finished="listInfo.finished"
@@ -102,7 +102,8 @@
                 </div>
             </van-list>
           </div>
-          <div class="emptycom" v-if="list.length==0">
+          <van-loading size="24px" vertical v-if="working">加载中...</van-loading>
+          <div class="emptycom" v-if="list.length==0 && empty">
             <div class="emptyimg">
               <img src='{{Msg "seo" "cdn"}}/common-module/collection/image/img-empty.png?v={{Msg "seo" "version"}}' alt="">
             </div>