Browse Source

Merge branch 'master' of http://git.zthymaoyi.com/gongdecai/wangluohuoyun-htqd

# Conflicts:
#	vue.config.js
achao 3 năm trước cách đây
mục cha
commit
3ffd2d68cb

+ 1 - 1
package.json

@@ -4,7 +4,7 @@
   "description": "A vue admin template with Element UI & axios & iconfont & permission control & lint",
   "author": "Pan <panfree23@gmail.com>",
   "scripts": {
-    "dev": "vue-cli-service serve",
+    "dev": "vue-cli-service serve --host 0.0.0.0",
     "build:prod": "vue-cli-service build",
     "build:stage": "vue-cli-service build --mode staging",
     "preview": "node build/index.js --preview",

+ 1 - 1
public/index.html

@@ -5,7 +5,7 @@
     <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
     <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
     
-  <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+  <meta http-equiv="Content-Security-Policy" >
     <link rel="icon" href="<%= BASE_URL %>favicon.ico">
     <title><%= webpackConfig.name %></title>
   </head>

+ 17 - 0
src/api/feedbackManagement.js

@@ -0,0 +1,17 @@
+import request from '@/utils/request'
+// 投诉举报管理
+export function getList(data) {
+    return request({
+      url: '/feedbackReport/selectInfo',
+      method: 'get',
+      params: data
+    })
+  }
+  // 提交反馈结果
+export function submitResult(data) {
+  return request({
+    url: '/feedbackReport/api/editInfo',
+    method: 'post',
+    data: data
+  })
+}

+ 3 - 3
src/router/feedbackManagement/index.js

@@ -8,16 +8,16 @@ const feedbackManagementRouter = {
     redirect: 'noRedirect',
     name: 'feedbackManagement',
     meta: {
-        title: '反馈管理',
+        title: '投诉举报管理',
         icon: 'fankuiguanli'
     },
-    alwaysShow: true,
+    // alwaysShow: true,
     children: [{
         path: 'userFeedback',
         name: 'userFeedback',
         component: () => import('@/views/feedbackManagement/userFeedback'),
         meta: {
-            title: '用户反馈',
+            title: '投诉举报管理',
             icon: ''
         }
     }

+ 11 - 8
src/views/driverManagement/identityExamine.vue

@@ -26,24 +26,27 @@
               <div :class="search == 1 ? 'search' : 'searchNo'" class="search_item" @click="searchBtn(1)">
                 待审核
               </div>
-              <div :class="search == 3 ? 'search' : 'searchNo'" class="search_item" @click="searchBtn(3)">
+              <div :class="search == 2 ? 'search' : 'searchNo'" class="search_item" @click="searchBtn(2)">
                 已通过
               </div>
-              <div :class="search == 2 ? 'search' : 'searchNo'" class="search_item" @click="searchBtn(2)">
+              <div :class="search == 3 ? 'search' : 'searchNo'" class="search_item" @click="searchBtn(3)">
                 已驳回
               </div>
-              <div :class="search == 5 ? 'search' : 'searchNo'" class="search_item" @click="searchBtn(5)">
+              <div :class="search == 4 ? 'search' : 'searchNo'" class="search_item" @click="searchBtn(4)">
                 已过期
               </div>
-              <!-- <div :class="search == 7 ? 'search' : 'searchNo'" class="search_item" @click="searchBtn(7)">
+              <div :class="search == 7 ? 'search' : 'searchNo'" class="search_item" @click="searchBtn(7)">
 								未认证
-							</div> -->
-              <!-- <div :class="search == 8 ? 'search' : 'searchNo'" class="search_item" @click="searchBtn(8)">
+							</div>
+              <div :class="search == 5 ? 'search' : 'searchNo'" class="search_item" @click="searchBtn(5)">
 								已注销
-							</div> -->
-              <div :class="search == 4 ? 'search' : 'searchNo'" class="search_item" @click="searchBtn(4)">
+							</div>
+              <div :class="search == 6 ? 'search' : 'searchNo'" class="search_item" @click="searchBtn(6)">
                 已禁用
               </div>
+                <div :class="search == 8 ? 'search' : 'searchNo'" class="search_item" @click="searchBtn(8)">
+                重点关注
+              </div>
             </div>
           </el-col>
         </el-row>

+ 140 - 52
src/views/feedbackManagement/userFeedback.vue

@@ -1,15 +1,15 @@
-// 用户反馈
+//投诉举报
 <template>
   <div class="center">
     <div class="center_css">
       <div class="top_css">
         <el-row>
-          <el-col :span="14">
-            <el-button type="primary">添加</el-button>
+          <el-col :span="14" style="height: 45px">
+            <!-- <el-button type="primary">添加</el-button> -->
           </el-col>
           <el-col :span="10">
             <div class="screen">
-              <el-input placeholder="可按司机姓名、账号、身份证号查找" v-model="searchkeyWord" clearable></el-input>
+              <el-input placeholder="可按工单编号、姓名、账号和反馈信息查找" v-model="searchkeyWord" clearable></el-input>
               <el-button class="search" @click="find"><img width="16" height="16" style="margin-left: -8px"
                   src="../../../public/img/sousuo.png" /></el-button><span
                 class="count_css">共{{ deptBudgetTotal }}条</span>
@@ -24,46 +24,47 @@
                 全部
               </div>
               <div :class="search == 1 ? 'search' : 'searchNo'" class="search_item" @click="searchBtn(1)">
-                待审核
-              </div>
-              <div :class="search == 3 ? 'search' : 'searchNo'" class="search_item" @click="searchBtn(3)">
-                已通过
+                举报
               </div>
               <div :class="search == 2 ? 'search' : 'searchNo'" class="search_item" @click="searchBtn(2)">
-                已驳回
-              </div>
-              <div :class="search == 5 ? 'search' : 'searchNo'" class="search_item" @click="searchBtn(5)">
-                已过期
-              </div>
-              <!-- <div :class="search == 7 ? 'search' : 'searchNo'" class="search_item" @click="searchBtn(7)">
-								未认证
-							</div> -->
-              <!-- <div :class="search == 8 ? 'search' : 'searchNo'" class="search_item" @click="searchBtn(8)">
-								已注销
-							</div> -->
-              <div :class="search == 4 ? 'search' : 'searchNo'" class="search_item" @click="searchBtn(4)">
-                已禁用
+                投诉
               </div>
             </div>
           </el-col>
         </el-row>
       </div>
       <el-table :data="tableData" style="width: 98%; margin: 0 auto; border-radius: 10px" height="55.8vh" border>
-        <el-table-column prop="driverName" label="司机姓名" min-width="130"></el-table-column>
-        <el-table-column prop="driverPhone" label="账号" min-width="110"></el-table-column>
-        <el-table-column prop="numberCard" label="身份证号" min-width="165"></el-table-column>
-        <el-table-column prop="amountMoney" label="承运次数"></el-table-column>
-        <el-table-column prop="createDate" label="注册日期" min-width="100"></el-table-column>
-        <el-table-column prop="authenticationStatus" label="状态"></el-table-column>
+        <el-table-column prop="number" label="工单编号"></el-table-column>
+        <el-table-column prop="initiator" label="发起方"></el-table-column>
+        <el-table-column prop="initiatorNumber" label="发起方账号"></el-table-column>
+        <el-table-column prop="passive" label="被动方"></el-table-column>
+        <el-table-column prop="passiveNumber" label="被动方账号"></el-table-column>
+        <el-table-column prop="content" label="内容"></el-table-column>
+        <el-table-column prop="authenticationStatus" label="附图">
+          <template scope="scope">
+            <span  class="btn_css" @click="seeUrl(scope.row)">查看</span>
+          </template>
+        </el-table-column>
+        <el-table-column prop="updateDate" label="时间"></el-table-column>
+        <el-table-column prop="status" label="状态"></el-table-column>
+        <el-table-column prop="authenticationStatus" label="满意度">
+          <template slot-scope="scope">
+            <span v-if="scope.row.processingResultsSatisfaction == 1">极不满意</span>
+            <span v-if="scope.row.processingResultsSatisfaction == 2">不满意</span>
+            <span v-if="scope.row.processingResultsSatisfaction == 3">一般</span>
+            <span v-if="scope.row.processingResultsSatisfaction == 4">满意</span>
+            <span v-if="scope.row.processingResultsSatisfaction == 5">非常满意</span>
+          </template>
+        </el-table-column>
         <el-table-column label="操作" min-width="300">
           <template slot-scope="scope">
-            <el-link target="_blank" type="primary" :underline="false">通过</el-link>
-            <el-divider direction="vertical"></el-divider>
-            <el-link target="_blank" type="primary" :underline="false">驳回</el-link>
-            <el-divider direction="vertical"></el-divider>
-            <el-link target="_blank" type="primary" :underline="false">消息</el-link>
+            <el-link target="_blank" type="primary" :underline="false" @click="lookInfo(scope.row)">查看</el-link>
             <el-divider direction="vertical"></el-divider>
-            <el-dropdown>
+            <el-link target="_blank" type="primary" :underline="false" @click="reply(scope.row)">回复</el-link>
+            <!-- <el-divider direction="vertical"></el-divider> -->
+            <!-- <el-link target="_blank" type="primary" :underline="false">消息</el-link>
+            <el-divider direction="vertical"></el-divider> -->
+            <!-- <el-dropdown>
               <span class="btn_css">•••</span>
               <el-dropdown-menu slot="dropdown">
                 <el-dropdown-item><span @click="switchChange(scope.row,'1')">禁用</span>
@@ -71,7 +72,7 @@
                 <el-dropdown-item><span @click="switchChange(scope.row,'2')">启用</span>
                 </el-dropdown-item>
               </el-dropdown-menu>
-            </el-dropdown>
+            </el-dropdown> -->
           </template>
         </el-table-column>
       </el-table>
@@ -81,27 +82,41 @@
       layout="total, sizes, prev, pager, next, jumper" :total="deptBudgetTotal">
     </el-pagination>
     <!-- //消息 -->
-    <el-dialog title="发送信息" :visible.sync="sendInfo" width="400px" :before-close="sendInfoClose">
+    <el-dialog :title="titleInfo" :visible.sync="sendInfo" width="400px" :before-close="sendInfoClose">
       <div class="Info_css">
-        <div class="Info_title">标题</div>
-        <div class="Info_item">
+        <div class="Info_title">
+          {{ Info.initiator }}
+          <span>{{ Info.flag == 1 ? "投诉" : "举报" }} {{ Info.passive }}</span>
+        </div>
+        <!-- <div class="Info_item">
           <el-input placeholder="输入消息标题,不超过4-20个字。" v-model="Info.newsTitle" maxlength="20"></el-input>
+        </div> -->
+        <div class="Info_title">处理结果</div>
+        <div class="Info_item" v-if="Info.status == '未处理' ">
+          <el-input type="textarea" :rows="3" resize="none" placeholder="输入处理结果" maxlength="100"
+            v-model="Info.processingResults"></el-input>
         </div>
-        <div class="Info_title">内容</div>
-        <div class="Info_item">
-          <el-input type="textarea" :rows="3" resize="none" placeholder="消息内容10-100字" maxlength="100"
-            v-model="Info.newsContent"></el-input>
+        <div class="Info_item" v-else>
+          {{ Info.processingResults }}
         </div>
         <div class="Info_btn">
-          <el-button @click="sendInfoClose">取消</el-button>
-          <el-button @click="submitInfo" type="primary">确定</el-button>
+          <el-button @click="sendInfoClose" v-if=" Info.status == '已处理' && titleInfo == '投诉处理结果' ||  titleInfo == '举报处理结果' ">关闭</el-button>
+          <el-button @click="submitInfo" type="primary" v-else-if="Info.status == '未处理' && (titleInfo == '投诉处理' ||titleInfo == '举报处理')">提交</el-button>
+          <el-button @click="sendInfoClose" type="primary" v-else>关闭</el-button>
         </div>
       </div>
     </el-dialog>
+    <!-- //附图 -->
+     <el-dialog title="附图" :visible.sync="seePicture" width="500px" :before-close="seePictureClose">
+        <img :src="dataInfo.url" class="user_item" style="width:100%;"/>
+    </el-dialog>
   </div>
 </template>
 <script>
-  // import {} from '@/api/driverManagement'
+  import {
+    getList,
+    submitResult
+  } from "@/api/feedbackManagement";
   export default {
     data() {
       return {
@@ -115,24 +130,96 @@
         search: "",
         Info: {},
         sendInfo: false,
-
+        titleInfo: "",
+        dataInfo:{},
+        seePicture:false
       };
     },
 
     mounted() {
-      this.getList()
+      this.getList();
     },
     methods: {
+      seeUrl(val){
+        this.seePicture = true
+        this.dataInfo = val
+        
+      },
+      seePictureClose(){
+        this.seePicture = false
+
+      },
+      searchBtn(val) {
+        this.search = val;
+        this.getList();
+      },
+      lookInfo(val) {
+        this.sendInfo = true;
+        this.Info = val;
+        if (val.flag == 1) {
+          this.titleInfo = "投诉处理结果";
+        } else if (val.flag == 2) {
+          this.titleInfo = "举报处理结果";
+        }
+      },
+      reply(val) {
+        this.sendInfo = true;
+        this.Info = val;
+        if (val.flag == 1) {
+          this.titleInfo = "投诉处理";
+        } else if (val.flag == 2) {
+          this.titleInfo = "举报处理";
+        }
+      },
       getList() {
-        this.listLoading = true
+        this.listLoading = true;
+        getList({
+            searchType: this.search,
+            searchKeyWord: this.searchkeyWord,
+            currentPage: this.currentPage,
+            pageSize: this.pageSize,
+          })
+          .then((response) => {
+            this.tableData = response.data.records;
+            this.deptBudgetTotal = response.data.total;
+            this.listLoading = false;
+          })
+          .catch(() => {
+            this.listLoading = false;
+          });
       },
       find() {
-        this.getList()
+        this.getList();
       },
       sendInfoClose() {
-        this.sendInfo = false
+        this.sendInfo = false;
+      },
+      submitInfo() {
+        if(!this.Info.processingResults){
+          this.$message.error("处理结果不能为空!")
+          return
+        }
+        this.$confirm("是否提交处理结果", "提示", {
+          confirmButtonText: "确定",
+          cancelButtonText: "取消",
+          type: "warning",
+        }).then(() => {
+          this.listLoading = true;
+          this.Info.editFlag = "2"
+          submitResult(this.Info)
+            .then((response) => {
+              this.$notify({
+                title: "成功",
+                message: "提交成功!",
+                type: "success",
+              });
+              this.listLoading = false;
+            })
+            .catch(() => {
+              this.listLoading = false;
+            });
+        });
       },
-      submitInfo() {},
       handleSizeChange(val) {
         console.log(`每页 ${val} 条`);
         this.pageSize = val;
@@ -250,8 +337,8 @@
   }
 
   .btn_css {
-    color: #409EFF;
-    cursor: pointer
+    color: #409eff;
+    cursor: pointer;
   }
 
   .btn_css1 {
@@ -268,6 +355,7 @@
     .Info_title {
       color: #323233;
       font-size: 16px;
+      margin-bottom: 10px;
     }
 
     .Info_item {

+ 1 - 1
src/views/login/index.vue

@@ -10,7 +10,7 @@
 				<span class="svg-container">
 					<svg-icon icon-class="user" />
 				</span>
-				<el-input ref="username" v-model="loginForm.username" placeholder="请输入您的账号" name="username" type="text"
+				<el-input ref="username" v-model="loginForm.username" placeholder="请输入您的账号" name="username" type="text" maxlength="11"
 					tabindex="1" auto-complete="on" />
 			</el-form-item>
 

+ 2 - 2
src/views/orderManagement/orderAudit.vue

@@ -247,9 +247,9 @@
           <div class="right_item">{{costData.repaymentInfo.alreadyRepaid}}</div>
         </div>
         <div class="right_btn">
-          <el-button @click="submit(1)" v-if="costData.orderStatusKey == 9 && costData.orderStatusKey == 19">
+          <el-button @click="submit(1)" v-if="costData.orderStatusKey == 9 || costData.orderStatusKey == 19">
             确认</el-button>
-          <el-button @click="submit(2)" v-if="costData.orderStatusKey == 9 && costData.orderStatusKey == 19">
+          <el-button @click="submit(2)" v-if="costData.orderStatusKey == 9 || costData.orderStatusKey == 19">
             驳回</el-button>
           <el-button @click="complete" v-if="costData.cargoOwnerStatusKey == 29">完结</el-button>
           <el-button @click="rightSee = false">关闭</el-button>