xjc 3 anni fa
parent
commit
df0f4104d7
4 ha cambiato i file con 118 aggiunte e 37 eliminazioni
  1. 8 0
      src/api.js
  2. BIN
      src/assets/wz.jpg
  3. 67 34
      src/views/comments/consult.vue
  4. 43 3
      src/views/user/index.vue

+ 8 - 0
src/api.js

@@ -324,4 +324,12 @@ export default {
     updatePlayerRole: params => {
         return axios.put(`${baseURL}/api/admin/player/role`, params)
     },
+    // 关联老用户
+    relationOld: params => {
+        return axios.put(`${baseURL}/api/admin/user/relationold`, params)
+    },
+    // 获取无openid的老用户
+    getopenidmiss: params => {
+        return axios.get(`${baseURL}/api/admin/user/openidmiss`, { params: params })
+    },
 }

BIN
src/assets/wz.jpg


+ 67 - 34
src/views/comments/consult.vue

@@ -8,6 +8,27 @@
             color: #000;
             cursor: pointer;
     }
+    .el-badge__content.is-fixed{
+        top:10px;
+        right: -10px;
+    }
+    .el-table tr{
+        height: 45px;
+    }
+    .replyDiag{
+        .consutlList{
+            padding:20px;
+            border:1px solid #ccc;
+            height: 350px;
+            overflow: scroll;
+        }
+        .el-dialog__body{
+            padding:10px 20px!important;
+        }
+        .el-row{
+            margin-bottom:15px;
+        }
+    }
 </style>
 <template>
     <section class="content data">
@@ -32,17 +53,28 @@
             </el-row>
         </el-form>
         <el-table :data="list" height='55vh' style="width: 100%;margin-top:10px;" v-loading='loading'>
-                <el-table-column prop="user_name" label="选手名称"/>
-                <el-table-column prop="content" label="咨询内容"/>
+                <el-table-column prop="user_name" label="选手名称" width="200"/>
+                <el-table-column prop="content" label="咨询内容">
+                    <template slot-scope="scope">
+                        <el-badge v-if="scope.row.unreply>0" :value="scope.row.unreply" class="item">
+                            <p>{{scope.row.consult_list[scope.row.consult_list.length-1].content}}</p>
+                        </el-badge>
+                        <p v-else>{{scope.row.consult_list[scope.row.consult_list.length-1].content}}</p>
+                    </template>
+                </el-table-column>
                 <el-table-column prop="reply_content" label="回复内容">
                     <template slot-scope="scope">
-                        <p v-for="item,index in scope.row.reply_list" :key="index">{{item.reply_content}}</p>
+                        <p v-if="scope.row.unreply==0">{{scope.row.all_consult_list[scope.row.all_consult_list.length-1].reply_content}}</p>
+                    </template>
+                </el-table-column>
+                <el-table-column prop="ctime" label="咨询时间" width="250">
+                    <template slot-scope="scope">
+                        {{scope.row.consult_list[scope.row.consult_list.length-1].ctime}}
                     </template>
                 </el-table-column>
-                <el-table-column prop="ctime" label="咨询时间" width="160"/>
                 <el-table-column prop="date" label="操作" fixed="right" width="220">
                     <template slot-scope="scope">
-                        <el-button @click="edit(scope.row.id)" size="mini" type="primary">回复</el-button>
+                        <el-button @click="edit(scope.row)" size="mini" type="primary">回复</el-button>
                         <el-button @click="del(scope.row.id)" size="mini" type="danger">删除</el-button>
                     </template>
                 </el-table-column>
@@ -54,27 +86,27 @@
             :total="total"
             @pageChange="gopage"
         />
-        <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
-            <el-form ref="form" :model="form" :rules="rules" label-width="80px">
-                <el-form-item label="回复内容" prop="reply_content">
-                        <el-input v-model="form.reply_content" placeholder="" type="textarea" rows="10"></el-input>
-                </el-form-item>
-            </el-form>
-            <div slot="footer" class="dialog-footer">
-                <el-button type="primary" @click="submitForm" size="mini">确 定</el-button>
-                <el-button @click="open=false" size="mini">取 消</el-button>
+        <!-- 回复 -->
+        <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body class="replyDiag">
+            <div class="consutlList">
+                <el-row :gutter="1" v-for="(item,index) in form.all_consult_list" :key="index">
+                    <el-col :span="3" v-if="item.user_id>0"><img :src="item.user_avatar" alt="" width="45px" height="45px" style="border-radius:5px;"/></el-col>
+                    <el-col :span="20" v-if="item.user_id>0"><p style="padding-left:5px;">{{item.content}}</p></el-col>
+                    <el-col :span="20" v-if="item.user_id==0"><p style="padding-right:10px;text-align:right;">{{item.reply_content}}</p></el-col>
+                    <el-col :span="3" v-if="item.user_id==0"><img src="..\..\assets\wz.jpg" alt="" width="45px" height="45px" style="border-radius:5px;"/></el-col>
+                </el-row>
             </div>
-        </el-dialog>
-        <!-- 点评 -->
-        <el-dialog :title="title" :visible.sync="open1" width="500px" append-to-body>
-            <el-form ref="form1" :model="form1" label-width="80px">
-                <el-form-item label="顽主点评">
-                    <el-input v-model="form1.wanzhu_comment" placeholder="" type="textarea" rows="10"></el-input>
-                </el-form-item>
-            </el-form>
             <div slot="footer" class="dialog-footer">
-                <el-button type="primary" @click="saveComment" size="mini">确 定</el-button>
-                <el-button @click="open1=false" size="mini">取 消</el-button>
+                <el-form ref="form" :model="form" label-width="80px">
+                    <el-row :gutter="10">
+                    <el-col :span="20">
+                        <el-input v-model="form.reply_content" type="textarea" rows="5" placeholder="请输入你要回复的内容..."></el-input>
+                    </el-col>
+                    <el-col :span="4">
+                        <el-button type="primary" @click="submitForm">发送</el-button>
+                    </el-col>
+                </el-row>
+                </el-form>
             </div>
         </el-dialog>
     </section>
@@ -94,7 +126,9 @@ export default {
                 stock_date:this.getNowDate()
             },
             form:{
-                stock_date:this.getNowDate()
+                stock_date:this.getNowDate(),
+                page:1,
+                page_size:20
             },
             form1:{},
             list:[{},{}],
@@ -134,7 +168,9 @@ export default {
             signupTypeList:[
                 {id:1,name:"选手"},
                 {id:2,name:"游客"}
-            ]
+            ],
+            page:1,
+            total:0
         }
     },
     methods:{
@@ -207,12 +243,10 @@ export default {
                 this.loading = false;
             })
         },
-        edit(id){
-            this.title = "回复"
-            this.$api.getWanzhuConsultDetail({id:id}).then(res=>{
-                this.form = res.data.data
-                this.open = true
-            })
+        edit(row){
+            this.title = "回复:"+row.user_name
+            this.open = true
+            this.form = row
         },
         editComment(id){
             this.title = "顽主点评"
@@ -251,10 +285,9 @@ export default {
         },
         /** 提交按钮 */
         submitForm() {
-            console.log(this.form)
             this.$refs["form"].validate(valid => {
                 if (valid) {
-                    this.form.pid = this.form.id;
+                    this.form.pid = this.form.consult_list[this.form.consult_list.length-1].id;
                     this.$api.replyConsult(this.form).then(response => {
                         if(response.data.code != 0){
                             this.msgError(response.data.message);

+ 43 - 3
src/views/user/index.vue

@@ -108,8 +108,9 @@
         </template>
       </el-table-column>
       <!-- <el-table-column align="center"  prop="date" label="资产"/> -->
-      <el-table-column align="center" prop="date" label="操作" width="240">
+      <el-table-column align="center" prop="date" label="操作" width="320">
         <template slot-scope="scope">
+          <el-button v-if="scope.row.openid" @click="relationOld(scope.row)" size="mini" type="danger">关联老用户</el-button>
           <el-button v-if="scope.row.comment_status==1" @click="black(scope.row)" size="mini" type="primary">拉黑</el-button>
           <el-button v-else @click="black(scope.row)" size="mini" type="primary">取消拉黑</el-button>
           <el-button @click="edit(scope.row.id)" size="mini" type="warning"
@@ -268,6 +269,26 @@
         <el-button @click="open1 = false">取 消</el-button>
       </div>
     </el-dialog>
+    <!-- 关联老用户 -->
+    <el-dialog
+      title="关联老用户(无openid的老用户)"
+      :visible.sync="open2"
+      width="500px"
+      append-to-body
+    >
+      <el-form ref="form2" :model="form2" :rules="rules1" label-width="80px">
+        <el-form-item label="老用户">
+          <el-select v-model="form2.old_user_id" placeholder="请选择需要关联的老用户" filterable>
+            <el-option v-for="(item,index) in allUsers" :key="index" :label="item.username+item.usercode" :value="item.id"></el-option>
+          </el-select>
+        </el-form-item>
+        <h3 style="color:red;">此功能为老用户由于缺少openid账号被出新注册后丢失数据情况使用,请谨慎操作,如查找不到相应老用户请及时联系技术处理!!!</h3>
+      </el-form>
+      <div slot="footer" class="dialog-footer">
+        <el-button type="primary" @click="saveRelationOld">确 定</el-button>
+        <el-button @click="open2 = false">取 消</el-button>
+      </div>
+    </el-dialog>
   </section>
 </template>
 <script>
@@ -278,6 +299,7 @@ export default {
   },
   data() {
     return {
+      allUsers:[],
       badgeList:[
         "选手",
         "冠军",
@@ -312,11 +334,13 @@ export default {
       },
       form: {},
       form1: {},
+      form2:{},
       list: [{}, {}],
       total: 0,
       title: "新增用户",
       open: false,
       open1: false,
+      open2:false,
       matchList: [],
       groupList: [],
       rules: {
@@ -389,6 +413,9 @@ export default {
         this.total = res.data.data.total;
         this.loading = false;
       });
+      this.$api.getopenidmiss().then(res=>{
+        this.allUsers = res.data.data
+      })
     },
     handleAdd() {
       this.open = true;
@@ -413,8 +440,21 @@ export default {
     black(row){
         this.$api.commentsBlack({id:row.id}).then(res=>{
             this.getData()
-        })}
-    ,
+        })
+    },
+    relationOld(row){
+        this.open2 = true;
+        this.form2.user_id = row.id
+    },
+    saveRelationOld(){
+      this.$api.relationOld(this.form2).then(res=>{
+        if(res.data.code==0){
+          this.$message.success("关联成功!")
+        }else{
+          this.$message.error(res.data.message)
+        }
+      })
+    },
     handleAvatarSuccess(res, file) {
       this.form.avatar = res.data.url;
     },