caichengyu hai 3 meses
pai
achega
da86d77866

+ 15 - 3
package-lock.json

@@ -6366,9 +6366,13 @@
     },
     "fast-xml-parser": {
       "version": "4.2.4",
-      "resolved": "",
+      "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.2.4.tgz",
+      "integrity": "sha512-fbfMDvgBNIdDJLdLOwacjFAPYt67tr31H9ZhWSm45CDAxvd0I6WTlSOUo7K2P/K5sA5JgMKG64PI3DMcaFdWpQ==",
       "dev": true,
-      "optional": true
+      "optional": true,
+      "requires": {
+        "strnum": "^1.0.5"
+      }
     },
     "fastparse": {
       "version": "1.1.2",
@@ -10826,7 +10830,8 @@
         },
         "semver": {
           "version": "7.3.5",
-          "resolved": "",
+          "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz",
+          "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==",
           "dev": true,
           "requires": {
             "lru-cache": "^6.0.0"
@@ -17186,6 +17191,13 @@
         "escape-string-regexp": "^1.0.2"
       }
     },
+    "strnum": {
+      "version": "1.1.2",
+      "resolved": "https://registry.npmjs.org/strnum/-/strnum-1.1.2.tgz",
+      "integrity": "sha512-vrN+B7DBIoTTZjnPNewwhx6cBA/H+IS7rfW68n7XxC1y7uoiGQBxaKzqucGUgavX15dJgiGztLJ8vxuEzwqBdA==",
+      "dev": true,
+      "optional": true
+    },
     "stylehacks": {
       "version": "4.0.3",
       "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-4.0.3.tgz",

BIN=BIN
src/assets/favicon1.ico


BIN=BIN
src/assets/pic.png


BIN=BIN
src/assets/pic_old.png


+ 2 - 2
src/axios.js

@@ -1,8 +1,8 @@
 import axios from 'axios'
 import store from './store'
 import { Notification, Message,MessageBox } from 'element-ui'
-// export const BASE_URL = process.env.BASE_URL    //测试-外网
-export const BASE_URL = "https://api.gdzckj.net"    //测试-外网
+export const BASE_URL = process.env.BASE_URL    //测试-外网
+// export const BASE_URL = "https://api.gdzckj.net"    //测试-外网
 // export const BASE_URL = "http://192.168.1.123:5055"    //测试-外网
 export const BASE_IMG_URL = process.env.BASE_IMG_URL
 // export const BASE_IMG_URL = "https://file.gdzckj.net/"

+ 1 - 1
src/pages/home3/index.vue

@@ -2825,7 +2825,7 @@
     }
     & > .active {
       color: #fff;
-      background-color: #409eff;
+      background-color: #e48f00;
       &:hover {
         color: #fff !important;
       }

+ 16 - 16
src/pages/login/index.vue

@@ -489,18 +489,18 @@
           <div class="center bold">《用户使用协议》</div>
 
           <div>
-            本《用户使用协议》(以下称“本协议”)是由您(以下称“用户”)与广东省祥粤建设职业培训学校(以下简称“祥粤”或“我们”)就用户使用祥粤提供的“{{
+            本《用户使用协议》(以下称“本协议”)是由您(以下称“用户”)与广东志宸科技有限公司(以下简称“志宸科技”或“我们”)就用户使用志宸科技提供的“{{
               companyName
             }}”互联网服务产品(包括但不限于:{{ companyName }}网站{{
               locationName
             }}、微信小程序等,以下简称“{{
               companyName
-            }}”),包括但不限于注册、登录、使用等方面所订立的相关权利义务规范。本服务条款对用户和祥粤均具有法律效力。本协议连同所有更新材料、补充条款以及祥粤的其他规则和政策共同构成了用户与祥粤之间的协议。
+            }}”),包括但不限于注册、登录、使用等方面所订立的相关权利义务规范。本服务条款对用户和志宸科技均具有法律效力。本协议连同所有更新材料、补充条款以及志宸科技的其他规则和政策共同构成了用户与志宸科技之间的协议。
             我们在此特别提醒,在用户注册使用“{{
               companyName
-            }}”服务前,请务必审慎阅读本协议的全部条款、充分理解各条款内容后再点击同意,特别是免除或者限制祥粤责任的条款、对用户权利限制的条款、法律适用和争议解决条款,这些条款将尽可能以加粗方式标识。如用户按照注册页面提示填写信息、点击同意本协议且完成全部注册流程,或者在我们更新本协议后继续使用“{{
+            }}”服务前,请务必审慎阅读本协议的全部条款、充分理解各条款内容后再点击同意,特别是免除或者限制志宸科技责任的条款、对用户权利限制的条款、法律适用和争议解决条款,这些条款将尽可能以加粗方式标识。如用户按照注册页面提示填写信息、点击同意本协议且完成全部注册流程,或者在我们更新本协议后继续使用“{{
               companyName
-            }}”提供的服务,即表示用户已充分阅读、理解并接受本协议及祥粤的其他规则和政策的全部内容,成为具有法律约束力的本协议的一方。如果用户不同意本协议任何条款及/或修改后的内容,应立即停止注册程序或停止使用“{{
+            }}”提供的服务,即表示用户已充分阅读、理解并接受本协议及志宸科技的其他规则和政策的全部内容,成为具有法律约束力的本协议的一方。如果用户不同意本协议任何条款及/或修改后的内容,应立即停止注册程序或停止使用“{{
               companyName
             }}”的服务。 如对本协议内容有任何疑问、意见或建议,用户可通过“{{
               companyName
@@ -516,7 +516,7 @@
               companyName
             }}”账号及相应的用户名和密码等账号信息。用户所创建的“{{
               companyName
-            }}”账号的所有权归祥粤所有,用户完成申请注册手续后,即获得“{{
+            }}”账号的所有权归志宸科技所有,用户完成申请注册手续后,即获得“{{
               companyName
             }}”账号的使用权,该使用权仅属于初始申请注册人,禁止赠与、借用、租用、转让或售卖或以其他方式许可他人使用该账号,用户应谨慎合理地保存、使用其用户名和密码。如果我们发现或者有合理理由认为使用者并非账号初始注册人,为保障账号安全,我们有权立即暂停或终止向该注册账号提供服务,并有权永久禁用该账号。
           </div>
@@ -548,7 +548,7 @@
           </div>
 
           <div>
-            5.用户应当对以其用户账号进行的所有活动和事件负法律责任。用户同意在任何情况下不使用其他用户的账号或密码,不得冒充他人,也不得恶意使用注册账号导致其他用户误认,否则我们有权立即停止提供服务,收回其账号并由用户独自承担由此而产生的一切法律责任。在用户怀疑他人使用其账号或密码时,用户同意立即通知我们并按照要求提供相关身份证明文件等材料,同意授权我们采取一切合理措施以保证用户的利益不受损害,并认可该等措施所产生的法律效果归于用户自身。如用户丢失账号或遗忘密码,可通过平台页眉的联系方式及时申诉请求找回账号或密码。用户理解并认可,密码找回机制仅需要识别申诉提供资料与系统记录资料具有一致性,而无法识别申诉人是否系账号真正有权使用者。我们特别提醒用户应妥善保管账号和密码,当用户使用完毕后,应安全退出。因黑客行为、用户的保管疏忽或不可抗力因素等非祥粤的原因导致账号、密码遭他人非法使用、丢失的,我们不承担任何责任。
+            5.用户应当对以其用户账号进行的所有活动和事件负法律责任。用户同意在任何情况下不使用其他用户的账号或密码,不得冒充他人,也不得恶意使用注册账号导致其他用户误认,否则我们有权立即停止提供服务,收回其账号并由用户独自承担由此而产生的一切法律责任。在用户怀疑他人使用其账号或密码时,用户同意立即通知我们并按照要求提供相关身份证明文件等材料,同意授权我们采取一切合理措施以保证用户的利益不受损害,并认可该等措施所产生的法律效果归于用户自身。如用户丢失账号或遗忘密码,可通过平台页眉的联系方式及时申诉请求找回账号或密码。用户理解并认可,密码找回机制仅需要识别申诉提供资料与系统记录资料具有一致性,而无法识别申诉人是否系账号真正有权使用者。我们特别提醒用户应妥善保管账号和密码,当用户使用完毕后,应安全退出。因黑客行为、用户的保管疏忽或不可抗力因素等非志宸科技的原因导致账号、密码遭他人非法使用、丢失的,我们不承担任何责任。
           </div>
 
           <div>
@@ -669,7 +669,7 @@
           <div>
             “{{
               companyName
-            }}”提供的网络服务中包含的任何文本、图片、图形、音频和/或视频资料均受版权、商标和/或其它财产所有权法律的保护,祥粤享有上述知识产权,但相关权利人依照法律规定应享有的权利除外。未经祥粤书面同意,用户均不得将上述资料在任何媒体直接或间接发布、播放、出于播放或发布目的而改写或再发行,或者被用于其他任何商业目的。所有以上资料或资料的任何部分仅可作为私人和非商业用途使用。
+            }}”提供的网络服务中包含的任何文本、图片、图形、音频和/或视频资料均受版权、商标和/或其它财产所有权法律的保护,志宸科技享有上述知识产权,但相关权利人依照法律规定应享有的权利除外。未经志宸科技书面同意,用户均不得将上述资料在任何媒体直接或间接发布、播放、出于播放或发布目的而改写或再发行,或者被用于其他任何商业目的。所有以上资料或资料的任何部分仅可作为私人和非商业用途使用。
           </div>
 
           <div class="bold">六、协议修改</div>
@@ -677,7 +677,7 @@
             1.
             根据互联网的发展和有关法律、法规及规范性文件的变化,或者因业务发展、技术条件、产品功能等变化的需要,我们将在必要时对本协议的服务条款作出修改或变更。我们将会直接在“{{
               companyName
-            }}”互联网服务产品上公布修改之后的协议内容,该公布行为视为祥粤已经通知用户修改内容,修改后的内容一经公布即有效替代原有服务条款。我们也可采用电子邮件或私信的传送方式,提示用户协议条款的修改、服务变更、或其它重要事项。
+            }}”互联网服务产品上公布修改之后的协议内容,该公布行为视为志宸科技已经通知用户修改内容,修改后的内容一经公布即有效替代原有服务条款。我们也可采用电子邮件或私信的传送方式,提示用户协议条款的修改、服务变更、或其它重要事项。
             2. 用户可登录“{{
               companyName
             }}”互联网服务产品中查阅最新版本的相关协议条款。如果用户继续使用“{{
@@ -705,7 +705,7 @@
             }}”下载的或取得的任何资料,其风险自行负担。
           </div>
           <div>
-            3.由于地震、台风、洪水、火灾、战争、政府禁令以及其他不能预见并且对其发生和后果不能防止或避免的不可抗力或互联网上的黑客攻击事件,致使影响本服务条款的履行,祥粤不承担责任。
+            3.由于地震、台风、洪水、火灾、战争、政府禁令以及其他不能预见并且对其发生和后果不能防止或避免的不可抗力或互联网上的黑客攻击事件,致使影响本服务条款的履行,志宸科技不承担责任。
           </div>
 
           <div>
@@ -719,12 +719,12 @@
             本协议的成立、效力、履行、解释及纠纷的解决,适用于中华人民共和国法律。本协议之任何规定因与中华人民共和国法律抵触而无效,则这些条款应在不违反法律的前提下按照尽可能接近本协议原条文目的之原则进行重新解释和适用,且本协议其它规定仍应具有完整的效力及效果。
           </div>
           <div>
-            2.本协议的签署地点为中华人民共和国广州市天河区,若用户和祥粤之间发生任何纠纷或争议,首先应友好协商解决,协商不成的,用户同意将纠纷或争议提交协议签订地有管辖权的人民法院管辖。
+            2.本协议的签署地点为中华人民共和国广州市天河区,若用户和志宸科技之间发生任何纠纷或争议,首先应友好协商解决,协商不成的,用户同意将纠纷或争议提交协议签订地有管辖权的人民法院管辖。
           </div>
 
           <div class="bold center">《个人信息保护政策》</div>
           <div>
-            广东省祥粤建设职业培训学校(注册地址:广东省广州市天河区燕岭路123号3楼)及其关联方(以下简称“祥粤”或“我们”)作为“{{
+            广东省志宸科技建设职业培训学校(注册地址:广东省广州市天河区燕岭路123号3楼)及其关联方(以下简称“志宸科技”或“我们”)作为“{{
               companyName
             }}”互联网服务产品(包括但不限于{{ companyName }}网站{{
               locationName
@@ -1068,9 +1068,9 @@
           <div>
             当您有个人信息相关问题或其他的投诉、建议等,可以通过如下方式与平台联系,平台将尽快审核所涉及内容,并于15个工作日内对于您的问题、投诉、建议进行回复:
           </div>
-          <div>平台运营主体名称:广东省祥粤建设职业培训学校</div>
-          <div>注册地址:广东省广州市天河区燕岭路123号3楼</div>
-          <div>联系地址:广东省广州市天河区燕岭路123号3楼</div>
+          <div>平台运营主体名称:广东志宸科技有限公司</div>
+          <div>注册地址:广州市天河区中山大道中286号5层部位5049</div>
+          <div>联系地址:广州市天河区中山大道中286号5层部位5049</div>
           <div>联系电话:020-87085982、020-87085983</div>
         </div>
       </div>
@@ -1783,8 +1783,8 @@ export default {
       height: 318px;
       background: url("~@/assets/pic.png") no-repeat center;
       background-size: cover;
-      margin-top: 95px;
-      margin-left: 152px;
+      margin-top: 65px;
+      margin-left: 112px;
     }
 
     .right-box {

+ 4 - 4
src/pages/notice-list/index.vue

@@ -14,9 +14,9 @@
               : "最新通知"
           }}
         </h1>
-        <p>最新消息,敬请关注<br />快速获取</p>
+        <p>敬请关注最新消息<br />快速获取</p>
       </div>
-      <img src="@/assets/new1/handoutBGC.png" alt="" />
+      <img src="@/assets/new1/liveBGC.png" alt="" />
     </div>
     <div class="container" style="padding: 10px 0px">
       <div class="tabs_box container" style="margin-top: 30px">
@@ -263,7 +263,7 @@ export default {
 .bgImg {
   position: relative;
   height: 300px;
-  background: repeating-linear-gradient(to right, #00a3ff, #ac00bf);
+  background: repeating-linear-gradient(to right, #b1b1b1, #ffc46c);
   & > .tits {
     position: absolute;
     left: 20%;
@@ -1054,7 +1054,7 @@ export default {
     }
     & > .active {
       color: #fff;
-      background-color: #409eff;
+      background-color: #e48f00;
       &:hover {
         color: #fff !important;
       }

+ 4 - 1
src/pages/person-center/index.vue

@@ -97,7 +97,10 @@
             <div class="nav__section">
               <div class="title">我的题库</div>
               <div class="list">
-                <router-link to="/person-center/my-bank">
+                <router-link v-if="$store.state.TENANT_NANE == '129978618875038'" to="/person-center/my-banklist">
+                  <div class="item">开始做题</div>
+                </router-link>
+                <router-link v-else to="/person-center/my-bank">
                   <div class="item">开始做题</div>
                 </router-link>
                 <!-- <router-link to="/person-center/free-bank">

+ 283 - 0
src/pages/person-center/my-banklist/index.vue

@@ -0,0 +1,283 @@
+<template>
+    <div id="Mybanklist" class="Mybanklist">
+          <div class="my-course">
+      <div style="padding-top: 14px">
+        <strong style="font-size: 18px">我的课程</strong>
+        <el-divider></el-divider>
+      </div>
+      <div style="padding-top: 14px">
+        <span>教育类型:</span>
+        <el-button
+          :disabled="loading"
+          size="small"
+          v-for="(tab, tabIndex) in tabList"
+          :key="tabIndex"
+          :type="activeName == tab.id ? 'primary' : null"
+          @click="tabChange(tab.id)"
+          >{{ tab.educationName }}</el-button
+        >
+      </div>
+      <div class="my-course__body">
+        <el-main class="list" v-loading="loading">
+          <el-empty
+            description="请前往购买商品"
+            v-if="list.length === 0"
+          ></el-empty>
+          <div
+            class="course-item"
+            v-for="(item, index) in list"
+            :key="index"
+          >
+            <div class="course-item__header"></div>
+            <div class="course-item__body clearfix">
+              <div class="img">
+                <img :src="$tools.splitImgHost(item.coverUrl, true)" alt="" />
+              </div>
+              <div class="text">
+                <div class="title" style="margin-bottom: 14px">
+                  {{ item.goodsName }}
+                
+                  <div class="note" v-if="item.orderYear">
+                    {{ item.year }}年
+                  </div>
+                </div>
+
+                <div class="state" style="margin-bottom: 14px">
+                  <template>
+                    分类:
+                    <div class="note" >{{item.businessName+item.projectName}}</div>
+                    
+                  </template>
+                  
+                </div>
+                <div class="progress" style="margin-bottom: 14px">
+                    <span>
+                    学习服务期:<span
+                      :style="
+                        sysTime <= item.validityStartTime ||
+                        sysTime >= item.validityEndTime
+                          ? 'text-decoration:line-through'
+                          : null
+                      "
+                    >
+                      {{ $tools.timestampToTime(item.validityStartTime, false) }}
+                      至
+                      {{ $tools.timestampToTime(item.validityEndTime, false) }}
+                    </span>
+                    <span
+                      v-if="
+                        item.validityStartTime &&
+                        item.validityEndTime &&
+                        $tools.GetRTime(item.validityEndTime) <= 15
+                      "
+                      style="color: red"
+                    >
+                      (剩余{{
+                        $tools.GetRTime(item.validityEndTime) > 0
+                          ? $tools.GetRTime(item.validityEndTime)
+                          : 0
+                      }}天)
+                    </span>
+                  </span>
+                </div>
+                <div
+                  v-if="item.erJianErZao || sevenFunc(item)"
+                  class="class_style"
+                  style="margin-bottom: 14px"
+                >
+                  班级状态:
+                  <span class="class_btn">{{
+                    classStatusCompt(item, sysTime)
+                  }}</span>
+                  班级有效期:
+                  <span
+                    style="text-decoration: line-through"
+                    v-if="item.classEndTime && item.classEndTime < sysTime"
+                  >
+                    {{ $tools.timestampToTime(item.classStartTime, false) }}
+                    至
+                    {{ $tools.timestampToTime(item.classEndTime, false) }}
+                  </span>
+                  <span
+                    v-else-if="
+                      item.classStartTime && item.classStartTime > sysTime
+                    "
+                  >
+                    {{ $tools.timestampToTime(item.classStartTime, false) }}
+                    至
+                    {{ $tools.timestampToTime(item.classEndTime, false) }}
+                  </span>
+                  <span
+                    v-else-if="
+                      item.gradeId != 0 &&
+                      item.gradeStatus == 1 &&
+                      item.classStatus != null &&
+                      item.classStatus != 0
+                    "
+                  >
+                    <span
+                      >{{ $tools.timestampToTime(item.classStartTime, false) }}
+                      至
+                      {{
+                        $tools.timestampToTime(item.classEndTime, false)
+                      }}</span
+                    >
+                  </span>
+                  <span v-else>——</span>
+                  <span
+                    v-if="
+                      item.classStartTime &&
+                      item.classEndTime &&
+                      $tools.GetRTime(item.classEndTime) <= 15
+                    "
+                    style="color: red"
+                    >(剩余{{
+                      $tools.GetRTime(item.classEndTime) > 0
+                        ? $tools.GetRTime(item.classEndTime)
+                        : 0
+                    }}天)</span
+                  >
+                </div>
+              </div>
+              <div class="btns-wrap">
+                <div class="btns">
+                  <el-button
+                    type="primary"
+                    class="btn"
+                    v-if="
+                      !(
+                        sysTime <= item.validityStartTime ||
+                        sysTime >= item.validityEndTime
+                      )
+                    "
+                    @click="appBeforeAddress(item)"
+                    >进入刷题</el-button
+                  >
+                </div>
+              </div>
+            </div>
+          
+          </div>
+        </el-main>
+
+        <div class="pagination" v-if="total > 0">
+          <el-pagination
+            @current-change="currentChange"
+            background
+            layout="prev, pager, next"
+            :total="total"
+            :pager-count="5"
+            :current-page.sync="param.pageNum"
+            :page-size="param.pageSize"
+          >
+          </el-pagination>
+        </div>
+      </div>
+    </div>
+    </div>
+</template>
+<script>
+export default {
+  name: "Mybanklist",
+  components: {  },
+  data() {
+    return {
+      loading: false,
+      bankData: {},
+      dialogVisible: false,
+      list: [],
+      tabList: [],
+      sysTime: 0,
+      activeName: "-1",
+      param: {
+        pageNum: 1,
+        pageSize: 10
+      },
+      total: 0
+    };
+  },
+  mounted() {
+    this.sysTime = this.$tools.timest();
+    this.orderUserEduList();
+    this.getBankList();
+  },
+  methods: {
+    currentChange(e) {
+      this.param.pageNum = e;
+      this.getBankList();
+    },
+    getBankList() {
+      this.loading = true;
+      this.$request
+        .bankquestionlistUserFreeUnionBuyGoodsList(this.param)
+        .then(res => {
+          this.list = res.rows;
+          this.total = res.total;
+        })
+        .finally(() => {
+          this.loading = false;
+        });
+    },
+    //进入外链
+    jumpExternalLink() {
+      window.open(this.bankData.externalLink, "_blank");
+    },
+    getNewTime() {
+      console.log(parseInt(new Date().getTime() / 1000));
+      return parseInt(new Date().getTime() / 1000);
+    },
+    getInfoData(data) {
+      return new Promise((resolve, reject) => {
+        this.$request.goodsDetail(data.goodsId).then(res => {
+          res.data.orderGoodsId = data.orderGoodsId;
+          resolve(res.data);
+        });
+      });
+    },
+    /**
+     * 切换题库
+     */
+    changeBank() {
+      this.param = {
+        pageNum: 1,
+        pageSize: 10
+      };
+      this.dialogVisible = true;
+      this.getBankList();
+    },
+    tabChange(e) {
+      if (this.activeName == e) {
+        return;
+      }
+      this.activeName = e;
+      this.param.pageNum = 1;
+      this.param.pageSize = 5;
+      this.getBankList();
+    },
+    orderUserEduList() {
+      return new Promise((resolve) => {
+        this.$request
+          .orderUserEduList({
+            goodsType: 1,
+          })
+          .then((res) => {
+            res.rows.forEach((row) => {
+              row.id = row.id + "";
+            });
+            this.tabList.push(
+              {
+                educationName: "全部",
+                id: "-1",
+              },
+              ...res.rows
+            );
+
+            resolve();
+          });
+      });
+    },
+  }
+};
+</script>
+<style lang="scss" scoped>
+</style>

+ 5 - 0
src/router/index.js

@@ -591,6 +591,11 @@ const router = new Router({
           component: resolve => require(['@/pages/person-center/play-record/index'], resolve),
           name: '播放记录'
         },
+        {
+          path: 'my-banklist',
+          component: resolve => require(['@/pages/person-center/my-banklist/index'], resolve),
+          name: '我的题库'
+        },
         {
           path: 'my-bank',
           component: resolve => require(['@/pages/person-center/my-bank/index'], resolve),

+ 3 - 3
src/store/index.js

@@ -166,11 +166,11 @@ export default new Vuex.Store({
             let favicon = document.querySelector('link[rel="icon"]')
             favicon = document.createElement('link')
             favicon.rel = 'icon'
-            favicon.href = response.data.data == '1' ? '/static/favicon.ico' : '/static/favicons.ico'
+            favicon.href = response.data.data == '1' ? '/static/favicons.ico' : '/static/favicon.ico'
             document.head.appendChild(favicon)
             // const ps = prompt()
-            commit('setTENANT_NANE',"1")//"480813706424615769")// 779352047136603
-            // commit('setTENANT_NANE', response.data.data)
+            // commit('setTENANT_NANE',"129978618875038")//"480813706424615769")// 779352047136603
+            commit('setTENANT_NANE', response.data.data)
             resolve()
           })
           .catch(function (error) {

BIN=BIN
static/favicon.ico


BIN=BIN
static/favicons.ico