Browse Source

限制字符长度

natasha 1 year ago
parent
commit
f9f1d1f2ba

BIN
src/assets/voice-play-gray.png


+ 15 - 15
src/components/Setting.vue

@@ -47,10 +47,10 @@
             <template v-if="tabsIndex===0">
                 <el-form :model="infoForm" :rules="rules" ref="ruleForm" label-width="150px" class="setting-form">
                     <el-form-item label="用户名" prop="name">
-                        <el-input v-model="infoForm.name" disabled placeholder="请输入用户名"></el-input>
+                        <el-input v-model="infoForm.name" disabled placeholder="请输入用户名" maxlength="20"></el-input>
                     </el-form-item>
                     <el-form-item label="真实姓名" prop="realName">
-                        <el-input v-model="infoForm.realName" placeholder="请输入真实姓名" @blur="handleTrim('infoForm','realName')"></el-input>
+                        <el-input v-model="infoForm.realName" placeholder="请输入真实姓名" @blur="handleTrim('infoForm','realName')" maxlength="20"></el-input>
                     </el-form-item>
                     <el-form-item label="性别" prop="sex">
                         <el-radio-group v-model="infoForm.sex">
@@ -227,7 +227,7 @@
                 </el-input>
             </el-form-item> -->
             <el-form-item label="修改密码" prop="newPwd">
-                <el-input v-model="passwordForm.newPwd" :type="newPwdFlag?'text':'password'" autocomplete="off" placeholder="请输入密码" @blur="handleTrim('passwordForm','newPwd')" >
+                <el-input v-model="passwordForm.newPwd" :type="newPwdFlag?'text':'password'" autocomplete="off" placeholder="请输入密码" @blur="handleTrim('passwordForm','newPwd')" maxlength="20">
                     <i slot="suffix" class="el-icon-view show-icon" @click="changeIcon('newPwdFlag')" v-if="newPwdFlag"></i>
                     <i slot="suffix" class="show-icon" @click="changeIcon('newPwdFlag')" v-else>
                         <svg-icon icon-class="eye-invisible"></svg-icon>
@@ -236,7 +236,7 @@
                 <p class="tips">不少于6位,且必须同时包含数字和大小写字母</p>
             </el-form-item>
             <el-form-item label="再次输入" prop="confirmPwd">
-                <el-input v-model="passwordForm.confirmPwd" :type="comfirmPwdFlag?'text':'password'" autocomplete="off" placeholder="请输入密码" @blur="handleTrim('passwordForm','confirmPwd')" >
+                <el-input v-model="passwordForm.confirmPwd" :type="comfirmPwdFlag?'text':'password'" autocomplete="off" placeholder="请输入密码" @blur="handleTrim('passwordForm','confirmPwd')" maxlength="20">
                     <i slot="suffix" class="el-icon-view show-icon" @click="changeIcon('comfirmPwdFlag')" v-if="comfirmPwdFlag"></i>
                     <i slot="suffix" class="show-icon" @click="changeIcon('comfirmPwdFlag')" v-else>
                         <svg-icon icon-class="eye-invisible"></svg-icon>
@@ -256,12 +256,12 @@
         </p>
         <el-form :model="phoneForm" :rules="rulesPhone" ref="phoneForm" label-width="100px" class="phoneForm">
             <el-form-item label="原手机号" prop="oldPhone" v-if="phoneForm.oldPhone">
-                <el-input v-model="phoneForm.oldPhone" autocomplete="off" :disabled="phoneForm.oldPhone?true:false" placeholder="请输入完整手机号" @blur="handleTrim('phoneForm','oldPhone')">
+                <el-input v-model="phoneForm.oldPhone" autocomplete="off" :disabled="phoneForm.oldPhone?true:false" placeholder="请输入完整手机号" @blur="handleTrim('phoneForm','oldPhone')" maxlength="20">
                     <template slot="prepend">+86</template>
                 </el-input>
             </el-form-item>
             <el-form-item label="新手机号" prop="newPhone">
-                <el-input v-model="phoneForm.newPhone" autocomplete="off" placeholder="请输入完整手机号" @blur="handleTrim('phoneForm','newPhone')" >
+                <el-input v-model="phoneForm.newPhone" autocomplete="off" placeholder="请输入完整手机号" @blur="handleTrim('phoneForm','newPhone')" maxlength="20">
                     <template slot="prepend">+86</template>
                 </el-input>
             </el-form-item>
@@ -278,11 +278,11 @@
         </p>
         <el-form :model="emailForm" :rules="rulesEmail" ref="emailForm" label-width="100px" class="emailForm">
             <el-form-item label="原邮箱" prop="email" v-if="emailForm.email">
-                <el-input v-model="emailForm.email" autocomplete="off" :disabled="emailForm.email?true:false" placeholder="请输入邮箱地址" @blur="handleTrim('emailForm','email')">
+                <el-input v-model="emailForm.email" autocomplete="off" :disabled="emailForm.email?true:false" placeholder="请输入邮箱地址" @blur="handleTrim('emailForm','email')" maxlength="100">
                 </el-input>
             </el-form-item>
             <el-form-item label="新邮箱" prop="newEmail">
-                <el-input v-model="emailForm.newEmail" autocomplete="off" placeholder="请输入邮箱地址" @blur="handleTrim('emailForm','newEmail')" >
+                <el-input v-model="emailForm.newEmail" autocomplete="off" placeholder="请输入邮箱地址" @blur="handleTrim('emailForm','newEmail')" maxlength="100">
                 </el-input>
             </el-form-item>
             <el-form-item>
@@ -473,7 +473,7 @@ export default {
     handleAvatarSuccess(fileList,name) {
         let MethodName = "/OrgServer/Manager/SysUserManager/UpdateSysUser_Image";
         if(this.page==='editOrgPerson'){
-            MethodName = "/OrgServer/Manager/PersonManager/UpdatePerson_Image";
+            MethodName = "/OrgServer/Client/PersonManager/UpdatePerson_Image";
         }
         let data = {
             id: this.page==='personal'?JSON.parse(getToken()).user_id:this.id,
@@ -529,7 +529,7 @@ export default {
             this.loading = true
             let MethodName = "/OrgServer/Manager/SysUserManager/UpdateSysUser_BaseInfo";
             if(this.page==='editOrgPerson'){
-                MethodName = "/OrgServer/Manager/PersonManager/UpdatePerson_BaseInfo";
+                MethodName = "/OrgServer/Client/PersonManager/UpdatePerson_BaseInfo";
             }
             let data = {
                 id: this.page==='personal'?JSON.parse(getToken()).user_id:this.id,
@@ -619,7 +619,7 @@ export default {
             this.loading = true
             let MethodName = "/OrgServer/Manager/SysUserManager/UpdateSysUser_Password";
             if(this.page==='editOrgPerson'){
-                MethodName = "/OrgServer/Manager/PersonManager/UpdatePerson_Password";
+                MethodName = "/OrgServer/Client/PersonManager/UpdatePerson_Password";
             }
             let data = {
                 id: this.page==='personal'?JSON.parse(getToken()).user_id:this.id,
@@ -648,7 +648,7 @@ export default {
             this.loading = true
             let MethodName = "/OrgServer/Manager/SysUserManager/UpdateSysUser_Phone";
             if(this.page==='editOrgPerson'){
-                MethodName = "/OrgServer/Manager/PersonManager/UpdatePerson_Phone";
+                MethodName = "/OrgServer/Client/PersonManager/UpdatePerson_Phone";
             }
             let data = {
                 id: this.page==='personal'?JSON.parse(getToken()).user_id:this.id,
@@ -679,7 +679,7 @@ export default {
             this.loading = true
             let MethodName = "/OrgServer/Manager/SysUserManager/UpdateSysUser_Email";
             if(this.page==='editOrgPerson'){
-                MethodName = "/OrgServer/Manager/PersonManager/UpdatePerson_Email";
+                MethodName = "/OrgServer/Client/PersonManager/UpdatePerson_Email";
             }
             let data = {
                 id: this.page==='personal'?JSON.parse(getToken()).user_id:this.id,
@@ -773,7 +773,7 @@ export default {
     // 修改管理员权限
     onSubmitManager(){
         this.loading = true
-        let MethodName = "/OrgServer/Manager/PersonManager/UpdatePerson_Popedom";
+        let MethodName = "/OrgServer/Client/PersonManager/UpdatePerson_Popedom";
         let data = {
             id: this.page==='personal'?JSON.parse(getToken()).user_id:this.id,
             is_manager: this.managerForm.is_manager,
@@ -790,7 +790,7 @@ export default {
     },
     // 通过 拒绝
     handleAudit(type) {
-      let Mname = "/OrgServer/Manager/PersonManager/AuditPerson";
+      let Mname = "/OrgServer/Client/PersonManager/AuditPerson";
       let data = {
         id_list: [this.id]
       };

+ 0 - 13
src/components/common/BookAllListModule.vue

@@ -202,17 +202,4 @@ export default {
     }
   }
 }
-.nodata{
-    text-align: center;
-    img{
-        width: 329px;
-    }
-    p{
-        color: #A8A8A8;
-        font-size: 14px;
-        font-weight: 400;
-        line-height: 22px;
-        margin: 30px 0;
-    }
-}
 </style>

File diff suppressed because it is too large
+ 0 - 1
src/icons/svg/voice.svg


+ 14 - 0
src/styles/index.scss

@@ -215,4 +215,18 @@ ul {
         border-color: #0E42D2;
         color: #fff;
     }
+}
+
+.nodata {
+    text-align: center;
+    img {
+        width: 329px;
+    }
+    p {
+        color: #A8A8A8;
+        font-size: 14px;
+        font-weight: 400;
+        line-height: 22px;
+        margin: 30px 0;
+    }
 }

+ 1 - 1
src/utils/request.js

@@ -78,7 +78,7 @@ service.interceptors.response.use(
             }
             return false
         } else {
-            Message.closeAll()
+            // Message.closeAll()
             return res
         }
     },

+ 1 - 1
src/views/bookShelf/components/Payment.vue

@@ -12,7 +12,7 @@
         <h3>{{data.org_name}}</h3>
         <p class="price">¥{{data.price_discount|cutMoneyFiter}}</p>
         <template v-if="payType==='dui'">
-            <el-input class="code" placeholder="在此输入兑换码" v-model="codeValue"></el-input>
+            <el-input class="code" placeholder="在此输入兑换码" v-model="codeValue" maxlength="20"></el-input>
             <a class="exchange" @click="handleExchange">兑换</a>
             <b class="tips">输入兑换码</b>
         </template>

+ 1 - 14
src/views/bookShelf/index.vue

@@ -33,7 +33,7 @@
             </div>
         </div>
         
-        <el-input placeholder="输入名称" v-model="searchNameValue" class="input-search">
+        <el-input placeholder="输入名称" v-model="searchNameValue" class="input-search" maxlength="20">
           <el-button slot="append" icon="el-icon-search" @click="getSearch"></el-button>
         </el-input>
       </div>
@@ -530,19 +530,6 @@ export default {
         }
     }
   }
-  .nodata{
-    text-align: center;
-    img{
-        width: 329px;
-    }
-    p{
-        color: #A8A8A8;
-        font-size: 14px;
-        font-weight: 400;
-        line-height: 22px;
-        margin: 30px 0;
-    }
-  }
 }
 </style>
 <style lang="scss">

+ 1 - 1
src/views/bookShelf/videoDetail.vue

@@ -19,7 +19,7 @@
             <div class="danmu-box">
                 <p>{{lessonInfo.play_info.cur_play_user_count}}人正在观看 {{lessonInfo.play_info.barrage_count}}条弹幕</p>
                 <svg-icon icon-class="danmu" :class="[isDanmu?'active':'','icon-danmu']" @click="handleChangeIsDanmu"></svg-icon>
-                <el-input v-model="danmuValue" :readonly="!isDanmu" placeholder="输入弹幕" @blur="danmuValue=danmuValue.trim()"></el-input>
+                <el-input v-model="danmuValue" :readonly="!isDanmu" placeholder="输入弹幕" @blur="danmuValue=danmuValue.trim()" maxlength="100"></el-input>
                 <a @click="sendMsg" :class="[isDanmu?'active':'not-active',]">发送弹幕</a>
             </div>
             <div class="mian-left-center">

+ 11 - 3
src/views/bookStore/all.vue

@@ -84,8 +84,8 @@
             
             <div class="filt-item">
                 <label>搜索</label>
-                <el-input placeholder="搜索" v-model="searchValue">
-                    <el-button slot="append" icon="el-icon-search" @click="handleData"></el-button>
+                <el-input placeholder="搜索" v-model="searchValue" maxlength="20">
+                    <el-button slot="append" icon="el-icon-search" @click="handleData(1)"></el-button>
                 </el-input>
             </div>
         </div>
@@ -255,7 +255,15 @@ export default {
         this.currentPages = 1
         this.handleData()
     },
-    handleData(){
+    handleData(val){
+        if(val){
+            if(this.courseForm.categoryValue==='ZB'){
+                this.currentPages = val
+            }else{
+                this.currentPage = val
+            }
+            // this.pageNumber = val
+        }
         let MethodName = "/ShopServer/Client/ShopHomeQuery/PageQueryCourseList"
         let data = {
             page_capacity: this.courseForm.categoryValue==='ZB'?this.page_capacitys:this.page_capacity,

+ 1 - 1
src/views/dictionary/components/SearchInput.vue

@@ -1,7 +1,7 @@
 <template>
   <div class="search-box searchInput-compent">
         <div class="search-top">
-            <el-input placeholder="输入你要查询的单词" v-model="searchInput" @input="handleSearchInput" @focus="handleSearchInput" @keyup.enter.native="handleSearch"></el-input>
+            <el-input placeholder="输入你要查询的单词" v-model="searchInput" @input="handleSearchInput" @focus="handleSearchInput" @keyup.enter.native="handleSearch" maxlength="100"></el-input>
             <a class="search-btn" @click="handleSearch">查询</a>
         </div>
         <div class="search-bottom" v-if="finalList.length>0&&showFinalFlag">

+ 2 - 2
src/views/forgotPwd.vue

@@ -3,12 +3,12 @@
     <h2 class="title-big">找回密码</h2>
         <el-form label-position="top" label-width="80px" ref="loginCodeForm" :model="loginCodeForm" class="form" :hide-required-asterisk="true" :rules="rulesCode" v-if="stepIndex===0">
             <el-form-item label="手机号" prop="phone">
-                <el-input v-model="loginCodeForm.phone" autocomplete="off" placeholder="请输入完整手机号" @blur="handleTrim('loginCodeForm','phone')" >
+                <el-input v-model="loginCodeForm.phone" autocomplete="off" placeholder="请输入完整手机号" @blur="handleTrim('loginCodeForm','phone')" maxlength="20">
                     <template slot="prepend">+86</template>
                 </el-input>
             </el-form-item>
             <el-form-item label="验证码" prop="code" class="code-box">
-                <el-input v-model="loginCodeForm.code" autocomplete="off" placeholder="请输入验证码" class="code-input" @blur="handleTrim('loginCodeForm','code')" @input="handeleInput">
+                <el-input v-model="loginCodeForm.code" autocomplete="off" placeholder="请输入验证码" class="code-input" @blur="handleTrim('loginCodeForm','code')" @input="handeleInput" maxlength="20">
                 </el-input>
                 <el-button type="primary" @click="sendCode('time','phone','verificationCodeShow')" size="small" class="sendCode" @input="handeleInput">
                     {{ verificationCodeShow ? time+'s' : '发送验证码' }}

+ 4 - 4
src/views/login.vue

@@ -10,11 +10,11 @@
     <!-- <template v-if="tabsIndex===0"> -->
         <el-form label-position="top" label-width="80px" ref="loginPwdForm" :model="loginPwdForm" class="form" :hide-required-asterisk="true" :rules="rulesPassword" v-show="tabsIndex===0">
             <el-form-item label="账号" prop="userName">
-                <el-input v-model="loginPwdForm.userName" autocomplete="off" placeholder="用户名/邮箱/手机号" @blur="handleTrim('loginPwdForm','userName')" >
+                <el-input v-model="loginPwdForm.userName" autocomplete="off" placeholder="用户名/邮箱/手机号" @blur="handleTrim('loginPwdForm','userName')" maxlength="100">
                 </el-input>
             </el-form-item>
             <el-form-item label="密码" prop="password">
-                <el-input v-model="loginPwdForm.password" :type="passwordFlag?'text':'password'" autocomplete="off" placeholder="请输入密码" @blur="handleTrim('loginPwdForm','password')">
+                <el-input v-model="loginPwdForm.password" :type="passwordFlag?'text':'password'" autocomplete="off" placeholder="请输入密码" @blur="handleTrim('loginPwdForm','password')" maxlength="20">
                     <i slot="suffix" class="el-icon-view show-icon" @click="changeIcon('passwordFlag')" v-if="passwordFlag"></i>
                     <i slot="suffix" class="show-icon" @click="changeIcon('passwordFlag')" v-else>
                         <svg-icon icon-class="eye-invisible"></svg-icon>
@@ -36,12 +36,12 @@
     <!-- <template v-if="tabsIndex===1"> -->
         <el-form label-position="top" label-width="80px" ref="loginCodeForm" :model="loginCodeForm" class="form" :hide-required-asterisk="true" :rules="rulesCode" v-show="tabsIndex===1">
             <el-form-item label="手机号" prop="phone">
-                <el-input v-model="loginCodeForm.phone" autocomplete="off" placeholder="请输入完整手机号" @blur="handleTrim('loginCodeForm','phone')" >
+                <el-input v-model="loginCodeForm.phone" autocomplete="off" placeholder="请输入完整手机号" @blur="handleTrim('loginCodeForm','phone')" maxlength="20">
                     <template slot="prepend">+86</template>
                 </el-input>
             </el-form-item>
             <el-form-item label="验证码" prop="code" class="code-box">
-                <el-input v-model="loginCodeForm.code" autocomplete="off" placeholder="请输入验证码" class="code-input" @blur="handleTrim('loginCodeForm','code')">
+                <el-input v-model="loginCodeForm.code" autocomplete="off" placeholder="请输入验证码" class="code-input" @blur="handleTrim('loginCodeForm','code')" maxlength="20">
                 </el-input>
                 <el-button type="primary" @click="sendCode('time','phone','verificationCodeShow')" size="small" class="sendCode">
                     {{ verificationCodeShow ? time+'s' : '发送验证码' }}

+ 1 - 1
src/views/organize_manage/EditPerson.vue

@@ -54,7 +54,7 @@ export default {
     },
     // 获取机构信息
     getInfo(){
-        let MethodName = "/OrgServer/Manager/PersonManager/GetPersonInfo";
+        let MethodName = "/OrgServer/Client/PersonManager/GetPersonInfo";
         let data = {
             id: this.id,
         }

+ 13 - 9
src/views/organize_manage/PersonList.vue

@@ -25,7 +25,7 @@
                             <label>搜索</label>
                             <el-input
                                 placeholder="输入搜索内容"
-                                v-model="searchInput">
+                                v-model="searchInput" maxlength="100">
                                 <i slot="suffix" class="el-input__icon el-icon-search" @click="getList(1)" style="cursor: pointer;"></i>
                             </el-input>
                         </div>
@@ -471,8 +471,13 @@ export default {
     // 查询列表
     getList(page){
         if(page){
-            this.pageNumber = page
+            if(this.tabsIndex===0){
+                this.pageNumber = page
+            }else{
+                this.pageNumbers = page
+            }
         }
+        this.getInfo()
         let MethodName = "/OrgServer/Client/PageQuery/PageQueryPersonList";
         let order_column_list = []
         if(this.tabsIndex===0){
@@ -556,7 +561,7 @@ export default {
       if(!row&&arr.length===0){
         return false
       }
-      let Mname = "/OrgServer/Manager/PersonManager/EnablePerson";
+      let Mname = "/OrgServer/Client/PersonManager/EnablePerson";
       let data = {
         id_list: arr?arr:[row.id]
       };
@@ -576,7 +581,7 @@ export default {
       if(!row&&arr.length===0){
         return false
       }
-      let Mname = "/OrgServer/Manager/PersonManager/AuditPerson";
+      let Mname = "/OrgServer/Client/PersonManager/AuditPerson";
       let data = {
         id_list: arr?arr:[row.id]
       };
@@ -620,7 +625,7 @@ export default {
             if(!row&&arr.length===0){
                 return false
             }
-            let Mname = "/OrgServer/Manager/PersonManager/BatchDeleteOrgPerson";
+            let Mname = "/OrgServer/Client/PersonManager/BatchDeleteOrgPerson";
             let data = {
                 org_id: this.id,
                 person_id_list: arr?arr:[row.id]
@@ -652,7 +657,6 @@ export default {
     closeDialog(){
         this.importFlag = false
         this.getList()
-        this.getInfo()
     },
     // 获取机构信息
     getInfo(){
@@ -683,9 +687,9 @@ export default {
   created() {
     this.getList()
     this.getTableHeight();
-    if(this.id){
-        this.getInfo()
-    }
+    // if(this.id){
+    //     this.getInfo()
+    // }
   },
   //生命周期 - 挂载完成(可以访问DOM元素)
   mounted() {

+ 266 - 164
src/views/personalCenter/components/Collect.vue

@@ -40,19 +40,19 @@
         <div class="search-item">
             <label>搜索</label>
             <el-input
-                placeholder="输入文章名称"
-                v-model="searchInput">
-                <i slot="suffix" class="el-input__icon el-icon-search" @click="getList" style="cursor: pointer;"></i>
+                placeholder="输入"
+                v-model="searchInput" maxlength="100">
+                <i slot="suffix" class="el-input__icon el-icon-search" @click="getList(1)" style="cursor: pointer;"></i>
             </el-input>
         </div>
         <div class="search-item">
             <label>按学段</label>
-            <el-select v-model="searchSelect" @change="getList" placeholder="请选择">
+            <el-select v-model="searchSelect" @change="getList(1)" placeholder="请选择">
                 <el-option
-                    v-for="item in searchList"
-                    :key="item.value"
-                    :label="item.label"
-                    :value="item.value">
+                    v-for="item in $studyTypeAll"
+                    :key="item.study_phase"
+                    :label="item.study_phase_name"
+                    :value="item.study_phase">
                 </el-option>
             </el-select>
         </div>
@@ -60,21 +60,23 @@
     <template v-if="tabsIndex===0">
         <ul>
             <li v-for="(itemW,indexW) in wordList" :key="indexW">
-                <svg-icon icon-class="voice" className="icon-voice"></svg-icon>
+                <svg-icon v-if="itemW.audio_file_url&&!voiceSrc||itemW.audio_file_url&&activeIndex!==indexW" icon-class="voice" className="icon-voice" @click="handlePlayVoice(itemW,indexW)"></svg-icon>
+                <img v-if="itemW.audio_file_url&&voiceSrc&&activeIndex===indexW" :src="voiceSrc" class="icon-voice" />
+                <svg-icon v-if="!itemW.audio_file_url" icon-class="voice" className="icon-voice" style="color:rgba(78, 89, 105, 0.3)"></svg-icon>
                 <div class="word-info">
                     <div class="word-info-top">
                         <b class="word" @click="showWord(itemW)">{{itemW.word}}</b>
-                        <span class="symbol">{{itemW.symbol}}</span>
+                        <span class="symbol">{{itemW.pinyin}}</span>
                         <div class="para-list">
-                            <div class="para" v-for="(itemP,indexP) in itemW.paraList" :key="indexP">
+                            <div class="para" v-for="(itemP,indexP) in itemW.definition_list" :key="indexP">
                                 <span class="cixing">{{itemP.cixing}}</span>
                                 <span class="shiyi">{{itemP.shiyi}}</span>
                             </div>
                         </div>
                     </div>
                     <div class="word-info-bottom">
-                        <span style="cursor: pointer;" @click="handleLink(itemW)">{{itemW.source}}</span>
-                        <span>收藏于:{{itemW.time}}</span>
+                        <span style="cursor: pointer;" @click="handleLink(itemW)">{{itemW.issue_study_phase_name}} / {{itemW.issue_iss_no_name}} / {{itemW.article_title}}</span>
+                        <span>收藏于:{{itemW.create_time}}</span>
                     </div>
                 </div>
                 <svg-icon icon-class="like" className="icon-like"></svg-icon>
@@ -83,22 +85,26 @@
         </ul>
         <el-pagination
             background
-            @size-change="(val)=>handleSizeChange(val,'pageSize')"
+            @size-change="(val)=>handleSizeChange(val,'pageSize','pageNumber')"
             @current-change="(val)=>handleCurrentChange(val,'pageNumber')"
             :current-page="pageNumber"
             :page-sizes="[10, 20, 30, 40, 50]"
             :page-size="pageSize"
             layout="total, prev, pager, next, sizes, jumper"
-            :total="total_count">
+            :total="total_count"
+            v-if="total_count>0">
         </el-pagination>
+        <div class="nodata" v-if="wordList.length===0">
+            <img src="../../../assets/nodata.png" />
+            <p>没有相关内容</p>
+        </div>
     </template>
     <template v-if="tabsIndex===1">
         <ul>
             <li v-for="(itemW,indexW) in phraseList" :key="indexW">
                 <div class="word-info">
                     <div class="word-info-top">
-                        <b class="phrase">{{itemW.word}}</b>
-                        <span class="symbol">{{itemW.symbol}}</span>
+                        <b class="phrase">{{itemW.phrase}}</b>
                         <div class="para-list">
                             <div class="para" v-for="(itemP,indexP) in itemW.paraList" :key="indexP">
                                 <span class="shiyi">{{itemP}}</span>
@@ -106,8 +112,8 @@
                         </div>
                     </div>
                     <div class="word-info-bottom">
-                        <span style="cursor: pointer;" @click="handleLink(itemW)">{{itemW.source}}</span>
-                        <span>收藏于:{{itemW.time}}</span>
+                        <span style="cursor: pointer;" @click="handleLink(itemW)">{{itemW.issue_study_phase_name}} / {{itemW.issue_iss_no_name}} / {{itemW.article_title}}</span>
+                        <span>收藏于:{{itemW.create_time}}</span>
                     </div>
                 </div>
                 <svg-icon icon-class="like" className="icon-like"></svg-icon>
@@ -116,25 +122,32 @@
         </ul>
         <el-pagination
             background
-            @size-change="(val)=>handleSizeChange(val,'pageSizeP')"
+            @size-change="(val)=>handleSizeChange(val,'pageSizeP','pageNumberP')"
             @current-change="(val)=>handleCurrentChange(val,'pageNumberP')"
             :current-page="pageNumberP"
             :page-sizes="[10, 20, 30, 40, 50]"
             :page-size="pageSizeP"
             layout="total, prev, pager, next, sizes, jumper"
-            :total="total_count_p">
+            :total="total_count_p"
+            v-if="total_count_p>0">
         </el-pagination>
+        <div class="nodata" v-if="total_count_p===0">
+            <img src="../../../assets/nodata.png" />
+            <p>没有相关内容</p>
+        </div>
     </template>
     <template v-if="tabsIndex===2">
         <ul>
             <li v-for="(itemW,indexW) in sentenceList" :key="indexW">
-                <svg-icon icon-class="voice" className="icon-voice"></svg-icon>
+                <svg-icon v-if="itemW.audio_file_id&&!voiceSrc||itemW.audio_file_id&&activeIndex!==indexW" icon-class="voice" className="icon-voice" @click="handlePlayVoice(itemW,indexW)"></svg-icon>
+                <img v-if="itemW.audio_file_id&&voiceSrc&&activeIndex===indexW" :src="voiceSrc" class="icon-voice" />
+                <svg-icon v-if="!itemW.audio_file_id" icon-class="voice" className="icon-voice" style="color:rgba(78, 89, 105, 0.3)"></svg-icon>
                 <span class="xuhao">{{(pageNumberS-1)*pageSizeS+indexW+1+'.'}}</span>
                 <div class="word-info">
-                    <span class="sentence">{{itemW.sentence}}</span>
+                    <span class="sentence">{{itemW.sentence_text}}</span>
                     <div class="word-info-bottom">
-                        <span style="cursor: pointer;" @click="handleLink(itemW)">{{itemW.source}}</span>
-                        <span>收藏于:{{itemW.time}}</span>
+                        <span style="cursor: pointer;" @click="handleLink(itemW)">{{itemW.issue_study_phase_name}} / {{itemW.issue_iss_no_name}} / {{itemW.article_title}}</span>
+                        <span>收藏于:{{itemW.create_time}}</span>
                     </div>
                 </div>
                 <svg-icon icon-class="like" className="icon-like"></svg-icon>
@@ -143,24 +156,30 @@
         </ul>
         <el-pagination
             background
-            @size-change="(val)=>handleSizeChange(val,'pageSizeS')"
+            @size-change="(val)=>handleSizeChange(val,'pageSizeS','pageNumberS')"
             @current-change="(val)=>handleCurrentChange(val,'pageNumberS')"
             :current-page="pageNumberS"
             :page-sizes="[10, 20, 30, 40, 50]"
             :page-size="pageSizeS"
             layout="total, prev, pager, next, sizes, jumper"
-            :total="total_count_s">
+            :total="total_count_s"
+            v-if="total_count_s>0">
         </el-pagination>
+        <div class="nodata" v-if="total_count_s===0">
+            <img src="../../../assets/nodata.png" />
+            <p>没有相关内容</p>
+        </div>
     </template>
     <template v-if="tabsIndex===3">
         <ul>
             <li v-for="(itemW,indexW) in articleList" :key="indexW">
-                <span class="xuhao">{{(pageNumberS-1)*pageSizeS+indexW+1+'.'}}</span>
+                <span class="xuhao">{{(pageNumberA-1)*pageNumberA+indexW+1+'.'}}</span>
                 <div class="word-info">
-                    <span class="sentence">{{itemW.sentence}}</span>
+                    <h4>{{itemW.article_title}}</h4>
+                    <span class="sentence">{{itemW.article_content_section}}</span>
                     <div class="word-info-bottom">
-                        <span style="cursor: pointer;" @click="handleLink(itemW)">{{itemW.source}}</span>
-                        <span>收藏于:{{itemW.time}}</span>
+                        <span style="cursor: pointer;" @click="handleLink(itemW)">{{itemW.article_author}}  {{itemW.issue_study_phase_name}} / {{itemW.issue_iss_no_name}} / {{itemW.article_title}}</span>
+                        <span>收藏于:{{itemW.create_time}}</span>
                     </div>
                 </div>
                 <svg-icon icon-class="like" className="icon-like"></svg-icon>
@@ -169,14 +188,19 @@
         </ul>
         <el-pagination
             background
-            @size-change="(val)=>handleSizeChange(val,'pageSizeA')"
+            @size-change="(val)=>handleSizeChange(val,'pageSizeA','pageNumberA')"
             @current-change="(val)=>handleCurrentChange(val,'pageNumberA')"
             :current-page="pageNumberA"
             :page-sizes="[10, 20, 30, 40, 50]"
             :page-size="pageSizeA"
             layout="total, prev, pager, next, sizes, jumper"
-            :total="total_count_a">
+            :total="total_count_a"
+            v-if="total_count_a>0">
         </el-pagination>
+        <div class="nodata" v-if="total_count_a===0">
+            <img src="../../../assets/nodata.png" />
+            <p>没有相关内容</p>
+        </div>
     </template>
     <el-dialog
         :visible.sync="wordcardShow"
@@ -194,7 +218,8 @@
 //这里可以导入其它文件(比如:组件,工具js,第三方插件js,json文件,图片文件等等)
 //例如:import 《组件名称》from ‘《组件路径》';
 import WordCard from "./WordCard.vue"
-
+import { mapState } from 'vuex'; 
+import { getLogin } from "@/api/ajax";
 export default {
   //import引入的组件需要注入到对象中才能使用
   components: { WordCard, },
@@ -212,126 +237,14 @@ export default {
         pageNumberS: 1,
         pageSizeA: 10, 
         pageNumberA: 1,
-        wordList:[
-            {
-                src: '.',
-                word:'cremation',
-                symbol:'/krəˈmeɪʃn/',
-                paraList:[
-                    {
-                        cixing:'n.',
-                        shiyi:'火葬;火化'
-                    }
-                ],
-                source:'高二版/第897期/Making room for the pet boom',
-                time:'2022/10/12 15:23'
-            },
-            {
-                src: '.',
-                word:'thrive',
-                symbol:'/θraɪv/',
-                paraList:[
-                    {
-                        cixing:'v.',
-                        shiyi:'茁壮成长,兴旺,繁荣;(尤指在别人觉得困难的时候)以……为乐,可以出色应对'
-                    }
-                ],
-                source:'高二版/第897期/Making room for the pet boom',
-                time:'2022/10/12 15:23'
-            },
-            {
-                src: '.',
-                word:'diversify',
-                symbol:'/daɪˈvɜːsɪfaɪ/',
-                paraList:[
-                    {
-                        cixing:'v.',
-                        shiyi:'(使)多样化,(使)不同;扩大经营范围,增加……的品种;(投资)多元化;'
-                    },
-                    {
-                        cixing:'n.',
-                        shiyi:"兽医;<美,非正式>老兵;兽医诊所(vet's)"
-                    }
-                ],
-                source:'高二版/第897期/Making room for the pet boom',
-                time:'2022/10/12 15:23'
-            },
-        ],
-        phraseList:[
-            {
-                word:'send off',
-                paraList:[
-                    '火葬;火化'
-                ],
-                source:'高二版/第897期/Making room for the pet boom',
-                time:'2022/10/12 15:23'
-            },
-            {
-                word:'send off',
-                paraList:[
-                    '火葬;火化'
-                ],
-                source:'高二版/第897期/Making room for the pet boom',
-                time:'2022/10/12 15:23'
-            },
-            {
-                word:'send off',
-                paraList:[
-                    '火葬;火化'
-                ],
-                source:'高二版/第897期/Making room for the pet boom',
-                time:'2022/10/12 15:23'
-            },
-            {
-                word:'send off',
-                paraList:[
-                    '火葬;火化'
-                ],
-                source:'高二版/第897期/Making room for the pet boom',
-                time:'2022/10/12 15:23'
-            }, 
-        ],
-        sentenceList:[
-            {
-                src: '.',
-                sentence:'The host group should include an interpreter, if necessary. The host group should ',
-                source:'高二版/第897期/Making room for the pet boom',
-                time:'2022/10/12 15:23'
-            },
-            {
-                src: '.',
-                sentence:'The host group should include an interpreter, if necessary. The host group should ',
-                source:'高二版/第897期/Making room for the pet boom',
-                time:'2022/10/12 15:23'
-            },
-            {
-                src: '.',
-                sentence:'The host group should include an interpreter, if necessary. The host group should, The host group should include an interpreter, if necessary. The host group should,The host group should include an interpreter, if necessary. The host group should ',
-                source:'高二版/第897期/Making room for the pet boom',
-                time:'2022/10/12 15:23'
-            },
-        ], // 收藏句子得知道是第几段第几句
-        articleList:[
-            {
-                sentence:'Making room for the pet boom',
-                source:'高二版/第897期/Making room for the pet boom',
-                time:'2022/10/12 15:23'
-            },
-            {
-                sentence:'Making room for the pet boom',
-                source:'高二版/第897期/Making room for the pet boom',
-                time:'2022/10/12 15:23'
-            },
-            {
-                sentence:'The host group should include an interpreter, if necessary. The host group should, The host group should include an interpreter, if necessary. The host group should,The host group should include an interpreter, if necessary. The host group should ',
-                source:'高二版/第897期/Making room for the pet boom',
-                time:'2022/10/12 15:23'
-            },
-        ],
+        wordList:[],
+        phraseList:[],
+        sentenceList:[], // 收藏句子得知道是第几段第几句
+        articleList:[],
         wordcardShow: false, // 词汇卡片flag
         differentNumber: 89,
         searchInput:'',
-        searchSelect:'',
+        searchSelect:-1,
         searchList:[
             {
                 value:'',
@@ -342,23 +255,31 @@ export default {
             {
                 name: "按收藏时间",
                 sort: "down",
-                sortName: "scsj",
+                sortName: "create_time",
             },
             {
                 name: "按名称",
                 sort: "",
-                sortName: "fbsj",
+                sortName: "word",
             }
         ],
-        sortField: "scsj",
+        sortField: "",
         total_count: 0,
         total_count_p: 0,
         total_count_s: 0,
-        total_count_a: 0
+        total_count_a: 0,
+        dataSort: null,
+        audio: new Audio(),
+        voiceSrc: "",
+        voicePauseSrc: '',
+        voicePlaySrc: require("../../../assets/voice-play-gray.png"),
+        activeIndex: null
     }
   },
   //计算属性 类似于data概念
-  computed: {},
+  computed: {
+    ...mapState(['$studyTypeAll']),
+  },
   //监控data中数据变化
   watch: {
 
@@ -368,13 +289,17 @@ export default {
     // 切换tabs
     handleChangeTabs(value){
         this.tabsIndex = value
-        this.pageNumber = 1
+        this.activeIndex = null
+        this.getList(1)
     },
-    handleSizeChange(val) {
-        this.pageSize = val
+    handleSizeChange(val,type,page) {
+        this[type] = val
+        this[page] = 1
+        this.getList()
     },
-    handleCurrentChange(val) {
-        this.pageNumber = val
+    handleCurrentChange(val,type) {
+        this[type] = val
+        this.getList()
     },
     // 跳转文章
     handleLink(row){
@@ -388,8 +313,149 @@ export default {
     closeWord(){
         this.wordcardShow = false
     },
-    getList(){
-
+    getList(val){
+        if(val){
+            if(this.tabsIndex===0){
+                this.pageNumber = val
+            }else if(this.tabsIndex===1){
+                this.pageNumberP = val
+            }else if(this.tabsIndex===2){
+                this.pageNumberS = val
+            }else if(this.tabsIndex===3){
+                this.pageNumberA = val
+            }
+        }
+        if(this.tabsIndex===0){
+            let MethodName = "/ShopServer/Client/CollectManager/PageQueryMyCollectList_Word"
+            let order_column_list = []
+            if(this.sortField !== ''){
+                if(this.sortType===1){
+                    order_column_list = [this.sortField + ':desc']
+                }else if(this.sortType===0){
+                    // 升序不传值
+                    order_column_list = [this.sortField]
+                }
+            }
+            let data = {
+                word: this.searchInput.trim(),
+                issue_study_phase: this.searchSelect,
+                page_capacity:this.pageSize,
+                cur_page:this.pageNumber,
+                order_column_list: order_column_list
+            }
+            getLogin(MethodName, data)
+            .then((res) => {
+                if(res.status===1){
+                this.wordList = res.word_list
+                this.total_count = res.total_count
+                }
+            })
+            .catch(() => {
+                this.loading = false
+            });
+        }else if(this.tabsIndex===1){
+            let MethodName = "/ShopServer/Client/CollectManager/PageQueryMyCollectList_Phrase"
+            let order_column_list = []
+            if(this.sortField !== ''){
+                let sortField = ''
+                if(this.sortField==='word'){
+                    sortField = 'phrase'
+                }else{
+                    sortField = this.sortField
+                }
+                if(this.sortType===1){
+                    order_column_list = [sortField + ':desc']
+                }else if(this.sortType===0){
+                    // 升序不传值
+                    order_column_list = [sortField]
+                }
+            }
+            let data = {
+                phrase: this.searchInput.trim(),
+                issue_study_phase: this.searchSelect,
+                page_capacity:this.pageSizeP,
+                cur_page:this.pageNumberP,
+                order_column_list: order_column_list
+            }
+            getLogin(MethodName, data)
+            .then((res) => {
+                if(res.status===1){
+                this.phraseList = res.phrase_list
+                this.total_count_p = res.total_count
+                }
+            })
+            .catch(() => {
+                this.loading = false
+            });
+        }else if(this.tabsIndex===2){
+            let MethodName = "/ShopServer/Client/CollectManager/PageQueryMyCollectList_Sentence"
+            let order_column_list = []
+            if(this.sortField !== ''){
+                let sortField = ''
+                if(this.sortField==='word'){
+                    sortField = 'sentence_text'
+                }else{
+                    sortField = this.sortField
+                }
+                if(this.sortType===1){
+                    order_column_list = [sortField + ':desc']
+                }else if(this.sortType===0){
+                    // 升序不传值
+                    order_column_list = [sortField]
+                }
+            }
+            let data = {
+                sentence_text: this.searchInput.trim(),
+                issue_study_phase: this.searchSelect,
+                page_capacity:this.pageSizeS,
+                cur_page:this.pageNumberS,
+                order_column_list: order_column_list
+            }
+            getLogin(MethodName, data)
+            .then((res) => {
+                if(res.status===1){
+                this.sentenceList = res.sentence_list
+                this.total_count_s = res.total_count
+                }
+            })
+            .catch(() => {
+                this.loading = false
+            });
+        }else if(this.tabsIndex===3){
+            let MethodName = "/ShopServer/Client/CollectManager/PageQueryMyCollectList_Article"
+            let order_column_list = []
+            if(this.sortField !== ''){
+                let sortField = ''
+                if(this.sortField==='word'){
+                    sortField = 'article_title'
+                }else{
+                    sortField = this.sortField
+                }
+                if(this.sortType===1){
+                    order_column_list = [sortField + ':desc']
+                }else if(this.sortType===0){
+                    // 升序不传值
+                    order_column_list = [sortField]
+                }
+            }
+            let data = {
+                article_title: this.searchInput.trim(),
+                issue_study_phase: this.searchSelect,
+                page_capacity:this.pageSizeA,
+                cur_page:this.pageNumberA,
+                order_column_list: order_column_list
+            }
+            getLogin(MethodName, data)
+            .then((res) => {
+                if(res.status===1){
+                this.articleList = res.article_list
+                this.total_count_a = res.total_count
+                }
+            })
+            .catch(() => {
+                this.loading = false
+            });
+        }
     },
     SortEvent(type, name, sortName) {
       let sort = "";
@@ -415,10 +481,39 @@ export default {
       }
       this.sortField = sortName;
       this.getList()
-    }
+    },
+    async handlePlayVoice(item,index) {
+      let _this = this;
+      let url = ''
+      if(item.audio_file_url.indexOf('http')){
+        await getLogin('/FileServer/GetFileInfo', {file_id:item.audio_file_url})
+        .then((res) => {
+            if(res.status===1){
+                url = res.file_url
+            }
+        })
+      }else {
+        url = item.audio_file_url
+      }
+      if (!url) {
+        return;
+      }
+    //   if (!this.audio.paused) {
+    //     this.audio.pause();
+    //   } else 
+      {
+        _this.audio.pause();
+        _this.audio.load();
+        _this.audio.src = url;
+        _this.audio.loop = false;
+        _this.audio.play();
+        _this.activeIndex = index
+      }
+    },
   },
   //生命周期 - 创建完成(可以访问当前this实例)
   created() {
+    this.getList()
   },
   //生命周期 - 挂载完成(可以访问DOM元素)
   mounted() {
@@ -570,6 +665,13 @@ export default {
             .word-info{
                 flex: 1;
             }
+            h4{
+                color: #2F3742;
+                font-size: 14px;
+                font-weight: 600;
+                line-height: 22px;
+                margin: 0 0 8px 0;
+            }
             .sentence{
                 font-size: 14px;
                 line-height: 22px;

+ 1 - 1
src/views/personalCenter/components/ConversionCode.vue

@@ -1,7 +1,7 @@
 <template>
   <div class="conversion-code personal-info">
     <h2>兑换码</h2>
-    <el-input placeholder="输入兑换码" v-model="inputValue" class="input-with-btn">
+    <el-input placeholder="输入兑换码" v-model="inputValue" class="input-with-btn" maxlength="20">
         <el-button slot="append">兑换</el-button>
     </el-input>
     <el-table

+ 56 - 26
src/views/personalCenter/components/MyShare.vue

@@ -7,13 +7,13 @@
             <label>搜索</label>
             <el-input
                 placeholder="输入文章名称"
-                v-model="searchInput">
-                <i slot="suffix" class="el-input__icon el-icon-search" @click="getList" style="cursor: pointer;"></i>
+                v-model="searchInput" maxlength="100">
+                <i slot="suffix" class="el-input__icon el-icon-search" @click="getList(1)" style="cursor: pointer;"></i>
             </el-input>
         </div>
         <div class="search-item">
             <label>状态</label>
-            <el-select v-model="searchSelect" @change="getList" placeholder="请选择">
+            <el-select v-model="searchSelect" @change="getList(1)" placeholder="请选择">
                 <el-option
                     v-for="item in searchList"
                     :key="item.value"
@@ -24,30 +24,31 @@
         </div>
     </div>
     <el-table
-        :data="data"
+        :data="share_record_list"
     >
         <el-table-column
-            prop="number"
+            type="index"
             label="#"
             sortable
-            width="72">
+            width="72"
+            :index="(pageNumber-1)*pageSize+1">
         </el-table-column>
         <el-table-column
-            prop="title"
+            prop="goods_name"
             label="文章">
             <template slot-scope="scope">
                 <a @click="handleLink(scope.row)">
-                    {{scope.row.title}}
+                    {{scope.row.goods_name}}
                 </a>
             </template>
         </el-table-column>
         <el-table-column
-            prop="study"
+            prop="goods_study_phase_name"
             label="学段"
             width="81">
         </el-table-column>
         <el-table-column
-            prop="source"
+            prop="goods_source_name"
             label="来源"
             width="200">
         </el-table-column>
@@ -55,11 +56,11 @@
             label="使用次数"
             width="140">
             <template slot-scope="scope">
-                {{scope.row.useTimes + "/" + scope.row.totalTimes}}
+                {{scope.row.share_count_cur + "/" + scope.row.share_count_max}}
             </template>
         </el-table-column>
         <el-table-column
-            prop="deadline"
+            prop="share_time_end"
             label="到期时间"
             width="160">
         </el-table-column>
@@ -69,8 +70,8 @@
             width="160">
             <template slot-scope="scope">
                 <div class="status-box">
-                    <span :style="{background:statusList[scope.row.status].bg}"></span>
-                    <b>{{statusList[scope.row.status].text}}</b>
+                    <span :style="{background:statusList[scope.row.share_status].bg}"></span>
+                    <b>{{statusList[scope.row.share_status].text}}</b>
                 </div>
             </template>
         </el-table-column>
@@ -83,51 +84,57 @@
         :page-sizes="[10, 20, 30, 40, 50]"
         :page-size="pageSize"
         layout="total, prev, pager, next, sizes, jumper"
-        :total="total_count">
+        :total="total_count"
+        v-if="total_count>0">
     </el-pagination>
+    <!-- <div class="nodata" v-if="total_count===0">
+        <img src="../../../assets/nodata.png" />
+        <p>没有相关内容</p>
+    </div> -->
   </div>
 </template>
 
 <script>
 //这里可以导入其它文件(比如:组件,工具js,第三方插件js,json文件,图片文件等等)
 //例如:import 《组件名称》from ‘《组件路径》';
-
+import { getLogin } from "@/api/ajax";
 export default {
   //import引入的组件需要注入到对象中才能使用
   components: { },
-  props: ["data"],
+  props: [],
   data() {
     //这里存放数据
     return {
         pageSize: 10, 
         pageNumber: 1,
         statusList:{
-            'sharing':{
+            1:{
                 text:'分享中',
                 bg:'#165DFF'
             },
-            'ended':{
+            0:{
                 text:'已结束',
                 bg:'#F53F3F'
             }
         },
         searchList:[
             {
-                value:'',
+                value:-1,
                 label:'全部'
             },
             {
-                value:'sharing',
+                value:1,
                 label:'分享中'
             },
             {
-                value:'ended',
+                value:0,
                 label:'已结束'
             }
         ],
         searchInput:'',
-        searchSelect:'',
-        total_count: 0
+        searchSelect:-1,
+        total_count: 0,
+        share_record_list: []
     }
   },
   //计算属性 类似于data概念
@@ -140,20 +147,43 @@ export default {
   methods: {
     handleSizeChange(val) {
         this.pageSize = val
+        this.pageNumber = 1
+        this.getList()
     },
     handleCurrentChange(val) {
         this.pageNumber = val
+        this.getList()
     },
     // 跳转文章
     handleLink(row){
 
     },
-    getList(){
-       debugger 
+    getList(val){
+       if(val){
+            this.pageNumber = val
+        }
+        let MethodName = "/ShopServer/Client/ShareManager/PageQueryMyShareRecordList"
+        let data = {
+            goods_name: this.searchInput.trim(),
+            share_status: this.searchSelect,
+            page_capacity:this.pageSize,
+            cur_page:this.pageNumber
+        }
+        getLogin(MethodName, data)
+        .then((res) => {
+            if(res.status===1){
+            this.share_record_list = res.share_record_list
+            this.total_count = res.total_count
+            }
+        })
+        .catch(() => {
+            this.loading = false
+        });
     }
   },
   //生命周期 - 创建完成(可以访问当前this实例)
   created() {
+    this.getList()
   },
   //生命周期 - 挂载完成(可以访问DOM元素)
   mounted() {

+ 8 - 4
src/views/personalCenter/components/PersonalInfo.vue

@@ -94,7 +94,7 @@
             </el-table>
             <el-pagination
                 background
-                @size-change="(val)=>handleSizeChange(val,'pageSize')"
+                @size-change="(val)=>handleSizeChange(val,'pageSize','pageNumber')"
                 @current-change="(val)=>handleCurrentChange(val,'pageNumber')"
                 :current-page="pageNumber"
                 :page-sizes="[10, 20, 30, 40, 50]"
@@ -161,7 +161,7 @@
             </el-table>
             <el-pagination
                 background
-                @size-change="(val)=>handleSizeChange(val,'pageSizes')"
+                @size-change="(val)=>handleSizeChange(val,'pageSizes','pageNumbers')"
                 @current-change="(val)=>handleCurrentChange(val,'pageNumbers')"
                 :current-page="pageNumbers"
                 :page-sizes="[10, 20, 30, 40, 50]"
@@ -347,13 +347,16 @@ export default {
     // 切换tabs
     handleChangeTabs(value){
         this.tabsIndex = value
-        this.pageNumber = 1
+        this.getList()
     },
-    handleSizeChange(val,type) {
+    handleSizeChange(val,type,page) {
         this[type] = val
+        this[page] = 1
+        this.getList()
     },
     handleCurrentChange(val,type) {
         this[type] = val
+        this.getList()
     },
     // 跳转文章
     handleLink(row){
@@ -371,6 +374,7 @@ export default {
     handleWordList(){
         this.filterTypeArr=[]
     },
+    
   },
   //生命周期 - 创建完成(可以访问当前this实例)
   created() {

+ 11 - 18
src/views/personalCenter/components/Setting.vue

@@ -46,10 +46,10 @@
             <template v-if="tabsIndex===0">
                 <el-form :model="infoForm" :rules="rules" ref="ruleForm" label-width="150px" class="setting-form">
                     <el-form-item label="用户名" prop="name">
-                        <el-input v-model="infoForm.name" disabled placeholder="请输入用户名"></el-input>
+                        <el-input v-model="infoForm.name" disabled placeholder="请输入用户名" maxlength="20"></el-input>
                     </el-form-item>
                     <el-form-item label="真实姓名" prop="realName">
-                        <el-input v-model="infoForm.realName" placeholder="请输入真实姓名"></el-input>
+                        <el-input v-model="infoForm.realName" placeholder="请输入真实姓名" maxlength="20"></el-input>
                     </el-form-item>
                     <el-form-item label="性别" prop="sex">
                         <el-radio-group v-model="infoForm.sex">
@@ -133,7 +133,7 @@
         </p>
         <el-form :model="passwordForm" :rules="rulesPassword" ref="passwordForm" label-width="100px" class="passwordForm">
             <el-form-item label="原始密码" prop="oldPwd">
-                <el-input v-model="passwordForm.oldPwd" :type="oldPwdFlag?'text':'password'" autocomplete="off" placeholder="请输入密码" >
+                <el-input v-model="passwordForm.oldPwd" :type="oldPwdFlag?'text':'password'" autocomplete="off" placeholder="请输入密码" maxlength="20">
                     <i slot="suffix" class="el-icon-view show-icon" @click="changeIcon('oldPwdFlag')" v-if="oldPwdFlag"></i>
                     <i slot="suffix" class="show-icon" @click="changeIcon('oldPwdFlag')" v-else>
                         <svg-icon icon-class="eye-invisible"></svg-icon>
@@ -141,7 +141,7 @@
                 </el-input>
             </el-form-item>
             <el-form-item label="修改密码" prop="newPwd">
-                <el-input v-model="passwordForm.newPwd" :type="newPwdFlag?'text':'password'" autocomplete="off" placeholder="请输入密码" >
+                <el-input v-model="passwordForm.newPwd" :type="newPwdFlag?'text':'password'" autocomplete="off" placeholder="请输入密码" maxlength="20">
                     <i slot="suffix" class="el-icon-view show-icon" @click="changeIcon('newPwdFlag')" v-if="newPwdFlag"></i>
                     <i slot="suffix" class="show-icon" @click="changeIcon('newPwdFlag')" v-else>
                         <svg-icon icon-class="eye-invisible"></svg-icon>
@@ -149,7 +149,7 @@
                 </el-input>
             </el-form-item>
             <el-form-item label="再次输入" prop="confirmPwd">
-                <el-input v-model="passwordForm.confirmPwd" :type="comfirmPwdFlag?'text':'password'" autocomplete="off" placeholder="请输入密码" >
+                <el-input v-model="passwordForm.confirmPwd" :type="comfirmPwdFlag?'text':'password'" autocomplete="off" placeholder="请输入密码" maxlength="20">
                     <i slot="suffix" class="el-icon-view show-icon" @click="changeIcon('comfirmPwdFlag')" v-if="comfirmPwdFlag"></i>
                     <i slot="suffix" class="show-icon" @click="changeIcon('comfirmPwdFlag')" v-else>
                         <svg-icon icon-class="eye-invisible"></svg-icon>
@@ -169,24 +169,24 @@
         </p>
         <el-form :model="phoneForm" :rules="rulesPhone" ref="phoneForm" label-width="100px" class="phoneForm">
             <el-form-item label="原手机号" prop="oldPhone">
-                <el-input v-model="phoneForm.oldPhone" autocomplete="off" placeholder="请输入完整手机号" >
+                <el-input v-model="phoneForm.oldPhone" autocomplete="off" placeholder="请输入完整手机号" maxlength="20">
                     <template slot="prepend">+86</template>
                 </el-input>
             </el-form-item>
             <el-form-item label="验证码" prop="oldCode" class="code-box">
-                <el-input v-model="phoneForm.oldCode" autocomplete="off" placeholder="请输入验证码" class="code-input">
+                <el-input v-model="phoneForm.oldCode" autocomplete="off" placeholder="请输入验证码" class="code-input" maxlength="20">
                 </el-input>
                 <el-button type="primary" @click="sendCode('time','oldPhone','verificationCodeShow')" size="small" class="sendCode">
                     {{ verificationCodeShow ? time+'s' : '发送验证码' }}
                 </el-button>
             </el-form-item>
             <el-form-item label="新手机号" prop="newPhone" style="margin-top:52px">
-                <el-input v-model="phoneForm.newPhone" autocomplete="off" placeholder="请输入完整手机号" >
+                <el-input v-model="phoneForm.newPhone" autocomplete="off" placeholder="请输入完整手机号" maxlength="20">
                     <template slot="prepend">+86</template>
                 </el-input>
             </el-form-item>
             <el-form-item label="验证码" prop="newCode" class="code-box">
-                <el-input v-model="phoneForm.newCode" autocomplete="off" placeholder="请输入验证码" class="code-input">
+                <el-input v-model="phoneForm.newCode" autocomplete="off" placeholder="请输入验证码" class="code-input" maxlength="20">
                 </el-input>
                 <el-button type="primary" @click="sendCode('times','newPhone','verificationCodesShow')" size="small" class="sendCode">
                     {{ verificationCodesShow ? times+'s' : '发送验证码' }}
@@ -205,11 +205,11 @@
         </p>
         <el-form :model="emailForm" :rules="rulesEmail" ref="emailForm" label-width="100px" class="emailForm">
             <el-form-item label="绑定邮箱" prop="email">
-                <el-input v-model="emailForm.email" autocomplete="off" placeholder="请输入邮箱地址" >
+                <el-input v-model="emailForm.email" autocomplete="off" placeholder="请输入邮箱地址" maxlength="100">
                 </el-input>
             </el-form-item>
             <el-form-item label="验证码" prop="code" class="code-box">
-                <el-input v-model="emailForm.code" autocomplete="off" placeholder="请输入验证码" class="code-input">
+                <el-input v-model="emailForm.code" autocomplete="off" placeholder="请输入验证码" class="code-input" maxlength="20">
                 </el-input>
                 <el-button type="primary" @click="sendCode('timee','email','verificationCodeeShow','email')" size="small" class="sendCode">
                     {{ verificationCodeeShow ? time+'s' : '发送验证码' }}
@@ -397,13 +397,6 @@ export default {
     // 切换tabs
     handleChangeTabs(value){
         this.tabsIndex = value
-        this.pageNumber = 1
-    },
-    handleSizeChange(val,type) {
-        this[type] = val
-    },
-    handleCurrentChange(val,type) {
-        this[type] = val
     },
     // 跳转文章
     handleLink(row){

+ 6 - 6
src/views/register.vue

@@ -22,10 +22,10 @@
                 </div>
             </el-form-item>
             <el-form-item label="用户名" prop="name">
-                <el-input v-model="registerForm.name" placeholder="请输入用户名" @blur="handleTrim('registerForm','name')"></el-input>
+                <el-input v-model="registerForm.name" placeholder="请输入用户名" @blur="handleTrim('registerForm','name')" maxlength="20"></el-input>
             </el-form-item>
             <el-form-item label="真实姓名" prop="realName">
-                <el-input v-model="registerForm.realName" placeholder="请输入真实姓名" @blur="handleTrim('registerForm','realName')"></el-input>
+                <el-input v-model="registerForm.realName" placeholder="请输入真实姓名" @blur="handleTrim('registerForm','realName')" maxlength="20"></el-input>
             </el-form-item>
             <el-form-item label="性别" prop="sex">
                 <el-radio-group v-model="registerForm.sex">
@@ -58,16 +58,16 @@
             </el-form-item>
             <el-divider content-position="left">安全信息</el-divider>
             <el-form-item label="手机号" prop="phone">
-                <el-input v-model="registerForm.phone" autocomplete="off" placeholder="请输入完整手机号" @blur="handleTrim('registerForm','phone')" >
+                <el-input v-model="registerForm.phone" autocomplete="off" placeholder="请输入完整手机号" @blur="handleTrim('registerForm','phone')" maxlength="20">
                     <template slot="prepend">+86</template>
                 </el-input>
             </el-form-item>
             <el-form-item label="邮箱" prop="email">
-                <el-input v-model="registerForm.email" autocomplete="off" placeholder="请输入邮箱地址" @blur="handleTrim('registerForm','email')" >
+                <el-input v-model="registerForm.email" autocomplete="off" placeholder="请输入邮箱地址" @blur="handleTrim('registerForm','email')" maxlength="100">
                 </el-input>
             </el-form-item>
             <el-form-item label="账号密码" prop="newPwd">
-                <el-input v-model="registerForm.newPwd" :type="newPwdFlag?'text':'password'" autocomplete="off" placeholder="请输入密码" @blur="handleTrim('registerForm','newPwd')" >
+                <el-input v-model="registerForm.newPwd" :type="newPwdFlag?'text':'password'" autocomplete="off" placeholder="请输入密码" @blur="handleTrim('registerForm','newPwd')" maxlength="20">
                     <i slot="suffix" class="el-icon-view show-icon" @click="changeIcon('newPwdFlag')" v-if="newPwdFlag"></i>
                     <i slot="suffix" class="show-icon" @click="changeIcon('newPwdFlag')" v-else>
                         <svg-icon icon-class="eye-invisible"></svg-icon>
@@ -76,7 +76,7 @@
                 <p class="tips">不少于6位,且必须同时包含数字和大小写字母</p>
             </el-form-item>
             <el-form-item label="再次输入" prop="confirmPwd">
-                <el-input v-model="registerForm.confirmPwd" :type="comfirmPwdFlag?'text':'password'" autocomplete="off" placeholder="请输入密码" @blur="handleTrim('registerForm','confirmPwd')" >
+                <el-input v-model="registerForm.confirmPwd" :type="comfirmPwdFlag?'text':'password'" autocomplete="off" placeholder="请输入密码" @blur="handleTrim('registerForm','confirmPwd')" maxlength="20">
                     <i slot="suffix" class="el-icon-view show-icon" @click="changeIcon('comfirmPwdFlag')" v-if="comfirmPwdFlag"></i>
                     <i slot="suffix" class="show-icon" @click="changeIcon('comfirmPwdFlag')" v-else>
                         <svg-icon icon-class="eye-invisible"></svg-icon>

+ 1 - 1
src/views/search/components/SearchInput.vue

@@ -9,7 +9,7 @@
                     :value="item.value">
                 </el-option>
             </el-select>
-            <el-input placeholder="输入关键字" v-model="searchInput" @input="handleSearchInput" @focus="handleSearchInput" @keyup.enter.native="handleSearch"></el-input>
+            <el-input placeholder="输入关键字" v-model="searchInput" @input="handleSearchInput" @focus="handleSearchInput" @keyup.enter.native="handleSearch" maxlength="100"></el-input>
             <a class="search-btn" @click="handleSearch">搜索</a>
         </div>
     </div>

Some files were not shown because too many files changed in this diff