소스 검색

限制字符长度

natasha 1 년 전
부모
커밋
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>

파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 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>

이 변경점에서 너무 많은 파일들이 변경되어 몇몇 파일들은 표시되지 않았습니다.