Ver Fonte

德荣售后问题分析处理平台

youchen há 1 ano atrás
pai
commit
343906b85c

+ 14 - 0
src/api/business/as/problemInfo.js

@@ -54,5 +54,19 @@ export function getHospitalAndProcessor(param) {
   })
 }
 
+export function getRoomInformation() {
+  return request({
+    url: `/mk/as/problem/getRoomInformation`,
+    method: 'get',
+  })
+}
+
+export function getQuestionerList() {
+  return request({
+    url: `/mk/as/problem/getQuestionerList`,
+    method: 'get',
+  })
+}
+
 
 

+ 0 - 9
src/views/business/as/afterAalesProblemAnalysis/index.vue

@@ -118,31 +118,25 @@ export default {
     getHospitalAndProcessor().then(res =>{
       if(res.code == 200){
         this.restaurants = res.data
-        console.log()
       }
     })
   },
   methods:{
     querySearchAsync(queryString, cb) {
-      console.log("queryString",queryString)
       this.restaurants.forEach((item) =>{
         item.value=item.projectSource
       })
       var restaurants = this.restaurants
-      console.log("restaurants",restaurants)
       var results = queryString ? restaurants.filter(this.createStateFilter(queryString)) : restaurants;
       cb(results)
     },
     createStateFilter(queryString) {
-      console.log("11111111",queryString)
       return (item) => {
         return item.projectSource.match(queryString);
       };
     },
     handleSelect(item) {
-      console.log("item",item);
       this.queryParams.projectSource=item.projectSource
-      console.log("this.processorOptions",this.queryParams.projectSource)
     },
     handleSizeChange(val) {
       this.queryParams.pageSize = val
@@ -175,11 +169,8 @@ export default {
         this.queryParams.startTime = ''
         this.queryParams.endTime = ''
       }
-      console.log('1',this.queryParams)
       getAnalysisResult(this.queryParams).then(res =>{
-        console.log('send',this.queryParams)
         if(res.code ==200){
-          console.log("res",res)
           this.dataList=res.rows
           this.total=res.total
         }

+ 0 - 2
src/views/business/as/hospital/index.vue

@@ -126,11 +126,9 @@ export default {
       })
     },
     handleSizeChange(val) {
-      console.log(`每页 ${val} 条`);
       this.queryParams.pageSize = val
     },
     handleCurrentChange(val) {
-      console.log(`当前页: ${val}`);
       this.queryParams.pageNum = val
     },
     handleClose(done) {

+ 0 - 6
src/views/business/as/problemInfo/detail.vue

@@ -185,13 +185,10 @@ import {pushWorkOrder} from "@/api/business/as/problemInfo";
 export default {
   created() {
     if(this.$route.query.id){
-      console.log('this.$route.query.id',this.$route.query.id);
       this.queryParams.id = this.$route.query.id
       getDetail(this.queryParams.id).then(res => {
-        console.log(res);
         if(200 == res.code){
           this.data=res.data
-          console.log(this.data)
           if(this.data.problemStateSolve == 0){
             this.flag=false
           }
@@ -236,7 +233,6 @@ export default {
       }).then(res =>{
         if(res.data.code == 200){
           this.$modal.msgSuccess("修改成功");
-          console.log("图片返回结果",res)
           this.dialogSolve = false
         }
       })
@@ -246,7 +242,6 @@ export default {
         method: "get",
         url: `https://dev-sy.derom.com/document-center/fastdfs/delete?id=${file.id}`,
       }).then(res =>{
-        console.log("删除结果",res)
         if(res.data.code == 200) {
           this.$message.success("移除图片成功")
         }
@@ -286,7 +281,6 @@ export default {
     handleWorkOrder(){
       this.dialogWorkOrder=true
       this.form=this.data
-      console.log("this.form",this.form)
     },
   },
   data() {

+ 151 - 91
src/views/business/as/problemInfo/index.vue

@@ -12,52 +12,47 @@
       <el-row>
         <el-col :span="5">
           <el-form-item label="项目/医院">
-            <el-select v-model="queryParams.projectSource" placeholder="请选择">
-              <el-option
-                v-for="item in dataList1"
-                :key="item.projectSource"
-                :label="item.projectSource"
-                :value="item.projectSource">
-              </el-option>
-            </el-select>
+            <el-autocomplete
+              v-model="queryParams.projectSource"
+              :fetch-suggestions="querySearchAsync"
+              placeholder="请输入内容"
+              @select="handleSelect"
+              clearable
+            ></el-autocomplete>
           </el-form-item>
         </el-col>
         <el-col :span="5">
           <el-form-item label="问题类别" v-if="activeName != '2' && activeName != '3' && activeName != '4'">
-            <el-select  v-model="queryParams.problemType" placeholder="请选择">
+            <el-select  v-model="queryParams.problemType" placeholder="请选择" clearable>
               <el-option
                 v-for="item in problemTypeOptions"
-                :key="item.problemType"
-                :label="item.problemType"
-                :value="item.problemType">
+                :key="item.value"
+                :label="item.label"
+                :value="item.value">
               </el-option>
             </el-select>
           </el-form-item>
         </el-col>
         <el-col :span="5">
           <el-form-item label="科室信息">
-            <el-input v-model="queryParams.roomInformation"></el-input>
-<!--            <el-select v-model="queryParams.roomInformation" placeholder="请选择">-->
-<!--              <el-option-->
-<!--                v-for="item in dataList1"-->
-<!--                :key="item.roomInformation"-->
-<!--                :label="item.roomInformation"-->
-<!--                :value="item.roomInformation">-->
-<!--              </el-option>-->
-<!--            </el-select>-->
+            <el-autocomplete
+              v-model="queryParams.roomInformation"
+              :fetch-suggestions="querySearchAsync2"
+              placeholder="请输入内容"
+              @select="handleSelect2"
+              clearable
+            ></el-autocomplete>
           </el-form-item>
         </el-col>
         <el-col :span="5">
           <el-form-item label="提问人" v-if="activeName != '3'">
-            <el-input v-model="queryParams.roomInformation"></el-input>
-<!--            <el-select v-model="queryParams.questioner" placeholder="请选择">-->
-<!--              <el-option-->
-<!--                v-for="item in dataList1"-->
-<!--                :key="item.questioner"-->
-<!--                :label="item.questioner"-->
-<!--                :value="item.questioner">-->
-<!--              </el-option>-->
-<!--            </el-select>-->
+            <el-autocomplete
+              v-model="queryParams.questioner"
+              :fetch-suggestions="querySearchAsync3"
+              placeholder="请输入内容"
+              @select="handleSelect3"
+              clearable
+            ></el-autocomplete>
           </el-form-item>
         </el-col>
         <el-col :span="4">
@@ -79,40 +74,49 @@
         </el-col>
         <el-col :span="5">
           <el-form-item label="处理负责人">
-            <el-input v-model="queryParams.processor"></el-input>
-<!--            <el-select v-model="queryParams.processor" placeholder="请选择">-->
-<!--              <el-option-->
-<!--                v-for="item in dataList1"-->
-<!--                :key="item.processor"-->
-<!--                :label="item.questioner"-->
-<!--                :value="item.processor">-->
-<!--              </el-option>-->
-<!--            </el-select>-->
+            <el-select v-model="queryParams.processor" placeholder="请选择" clearable>
+              <el-option
+                v-for="item in processorOptions"
+                :key="item.userName"
+                :label="item.nickName"
+                :value="item.userName">
+              </el-option>
+            </el-select>
           </el-form-item>
         </el-col>
         <el-col :span="4" :offset="10">
           <el-button icon="el-icon-refresh" @click="btnReset">重置</el-button>
         </el-col>
       </el-row>
-<!--      <el-divider></el-divider>-->
+
       <el-row style="margin-bottom: 10px">
-        <el-col :span="1">
-          <el-button  @click="handleDelete" :disabled="multiple">删除</el-button>
-        </el-col>
-        <el-col :span="16" >
-          <el-button   @click="addFrom">新增问题</el-button>
-          <el-button  @click="handleUpdate">置为已解决</el-button>
-          <el-upload
-            class="upload-demo"
-            :on-change="handleChange"
-            :headers="upload.headers"
-            :action="upload.url"
-            :show-file-list="false"
-            style="width: 70px"
-            >
-            <el-button>导入</el-button>
-          </el-upload>
-          <el-button  @click="btnDownload">导出</el-button>
+<!--        <el-col :span="1">-->
+<!--          <el-button  @click="handleDelete" :disabled="multiple">删除</el-button>-->
+<!--        </el-col>-->
+        <el-col :span="24">
+          <el-row type="flex" justify="end">
+            <el-col :span="2">
+              <el-button   @click="addFrom">新增问题</el-button>
+            </el-col>
+            <el-col :span="2" style="width: 120px">
+              <el-button  @click="handleUpdate">置为已解决</el-button>
+            </el-col>
+            <el-col :span="1" style="width: 75px">
+              <el-upload
+                class="upload-demo"
+                :on-change="handleChange"
+                :headers="upload.headers"
+                :action="upload.url"
+                :show-file-list="false"
+                style="width: 80px"
+              >
+                <el-button>导入</el-button>
+              </el-upload>
+            </el-col>
+            <el-col :span="1" style="width: 85px">
+              <el-button  @click="btnDownload">导出</el-button>
+            </el-col>
+          </el-row>
         </el-col>
       </el-row>
     </el-form>
@@ -273,27 +277,28 @@
             <el-form-item label="项目来源/医院" prop="projectSource">
               <el-autocomplete
                 v-model="form.projectSource"
-                :fetch-suggestions="querySearchAsync"
+                :fetch-suggestions="querySearchAsync1"
                 placeholder="请输入内容"
-                @select="handleSelect"
+                @select="handleSelect1"
+                clearable
               ></el-autocomplete>
             </el-form-item>
           </el-col>
           <el-col :span="6">
             <el-form-item label="提问人" prop="questioner">
-              <el-input v-model="form.questioner"></el-input>
+              <el-input v-model="form.questioner" clearable></el-input>
             </el-form-item>
           </el-col>
           <el-col :span="6">
             <el-form-item label="提问人联系人方式" prop="questionerWay">
-              <el-input v-model="form.questionerWay"></el-input>
+              <el-input v-model="form.questionerWay" clearable></el-input>
             </el-form-item>
           </el-col>
         </el-row>
         <el-row>
           <el-col :span="6">
             <el-form-item label="问题类别" prop="problemType">
-              <el-select v-model="form.problemType" placeholder="请选择">
+              <el-select v-model="form.problemType" placeholder="请选择" clearable>
                 <el-option
                   v-for="item in problemTypeOptions"
                   :key="item.value"
@@ -305,12 +310,12 @@
           </el-col>
           <el-col :span="6">
             <el-form-item label="科室信息" prop="roomInformation">
-              <el-input v-model="form.roomInformation"></el-input>
+              <el-input v-model="form.roomInformation" clearable></el-input>
             </el-form-item>
           </el-col>
             <el-col :span="6">
               <el-form-item label="处理负责人" prop="processor">
-                <el-select v-model="form.processor" placeholder="请选择">
+                <el-select v-model="form.processor" placeholder="请选择" clearable>
                   <el-option
                     v-for="item in processorOptions"
                     :key="item.userName"
@@ -322,7 +327,7 @@
             </el-col>
           <el-col :span="6">
             <el-form-item label="处理负责人联系人方式" prop="processorWay">
-              <el-input v-model="form.processorWay"></el-input>
+              <el-input v-model="form.processorWay" clearable></el-input>
             </el-form-item>
           </el-col>
         </el-row>
@@ -460,40 +465,98 @@ import {
   updateStage,
   pushWorkOrder,
   downloadExcel,
-  getHospitalAndProcessor
+  getHospitalAndProcessor, getRoomInformation, getQuestionerList
 } from "@/api/business/as/problemInfo"
 import {getToken} from "@/utils/auth";
-import {Axios} from "axios";
 import axios from 'axios'
 export default {
   created() {
     this.handleClick()
+    getHospitalAndProcessor().then(res =>{
+      if(res.code == 200){
+        this.restaurants = res.data
+      }
+    })
+    getRoomInformation().then(res => {
+      if(res.code == 200){
+        this.roomInformationList=res.data
+      }
+    })
+    getQuestionerList().then(res => {
+      if(res.code == 200){
+        this.questionerList=res.data
+      }
+    })
   },
   methods: {
-    querySearchAsync(queryString, cb) {
-      console.log("queryString",queryString)
+
+    querySearchAsync1(queryString, cb) {
       this.restaurants.forEach((item) =>{
         item.value=item.projectSource
       })
       var restaurants = this.restaurants
-        console.log("restaurants",restaurants)
-      var results = queryString ? restaurants.filter(this.createStateFilter(queryString)) : restaurants;
+      var results = queryString ? restaurants.filter(this.createStateFilter1(queryString)) : restaurants;
       cb(results)
     },
-    createStateFilter(queryString) {
-      console.log("11111111",queryString)
+    createStateFilter1(queryString) {
       return (item) => {
         return item.projectSource.match(queryString);
       };
     },
-    handleSelect(item) {
-      console.log("item",item);
+    handleSelect1(item) {
       item.assignAuthorityUser.forEach((item) =>{
         if(item.isDefaultPerson == 0){
           this.processorOptions=[item]
         }
       })
-      console.log("this.processorOptions",this.processorOptions)
+    },
+    querySearchAsync(queryString, cb) {
+      this.restaurants.forEach((item) =>{
+        item.value=item.projectSource
+      })
+      var restaurants = this.restaurants
+      var results = queryString ? restaurants.filter(this.createStateFilter(queryString)) : restaurants;
+      cb(results)
+    },
+    createStateFilter(queryString) {
+      return (item) => {
+        return item.projectSource.match(queryString);
+      };
+    },
+    handleSelect(item) {
+      this.processorOptions=item.assignAuthorityUser
+    },
+    querySearchAsync2(queryString, cb) {
+      this.roomInformationList.forEach((item) =>{
+        item.value=item.roomInformation
+      })
+      var restaurants = this.roomInformationList
+      var results = queryString ? restaurants.filter(this.createStateFilter2(queryString)) : restaurants;
+      cb(results)
+    },
+    createStateFilter2(queryString) {
+      return (item) => {
+        return item.roomInformation.match(queryString);
+      };
+    },
+    handleSelect2(item) {
+      // this.processorOptions=item.roomInformation
+    },
+    querySearchAsync3(queryString, cb) {
+      this.questionerList.forEach((item) =>{
+        item.value=item.questioner
+      })
+      var restaurants = this.questionerList
+      var results = queryString ? restaurants.filter(this.createStateFilter3(queryString)) : restaurants;
+      cb(results)
+    },
+    createStateFilter3(queryString) {
+      return (item) => {
+        return item.questioner.match(queryString);
+      };
+    },
+    handleSelect3(item) {
+      // this.processorOptions=item.roomInformation
     },
     getChangeType2(e) {
       for (var i = 0; i < this.problemTypeOptions.length; i++) {
@@ -543,13 +606,11 @@ export default {
         type: "warning"
       }).then(()=> {
         remove(this.problemInfos).then(res =>{
-          // console.log(res)
           this.queryParams.pageNum=1;
           this.handleClick()
           this.msgSuccess("删除成功");
         })
       })
-      // console.log("this.ids",this.problemInfos)
     },
     handleUpdate() {
       this.$confirm("是否确认修改选中的数据项?", "警告", {
@@ -558,7 +619,6 @@ export default {
         type: "warning"
       }).then(()=>{
         updateStage(this.problemInfos).then(res =>{
-          // console.log(res)
         })
       }).then(()=>{
         this.queryParams.pageNum=1;
@@ -586,9 +646,6 @@ export default {
         this.queryParams.problemStateSolve=stateList[0]
         this.queryParams.problemStateConvert=stateList[1]
       }
-
-      console.log('this.activeName',this.activeName)
-
       if(this.activeName){
         if(this.activeName=='1'){
           list(this.queryParams).then(res => {
@@ -606,6 +663,7 @@ export default {
               this.total=res.total
             }
           })
+          this.queryParams.problemStateSolve=''
         }
         if(this.activeName=='3'){
           this.queryParams.problemStateConvert=0
@@ -615,6 +673,7 @@ export default {
               this.total=res.total
             }
           })
+          this.queryParams.problemStateConvert=''
         }
         if(this.activeName=='4'){
           this.queryParams.problemStateSolve=0
@@ -624,8 +683,8 @@ export default {
               this.total=res.total
             }
           })
+          this.queryParams.problemStateSolve=''
         }
-        this.btnReset()
       }else {
         list(this.queryParams).then(res => {
           if(res.code == 200){
@@ -648,6 +707,7 @@ export default {
         problemStateConvert:null
       }
       this.state=''
+      this.handleClick()
     },
     addFrom(){
       this.dialogTitle='新增问题'
@@ -655,7 +715,6 @@ export default {
       getHospitalAndProcessor().then(res =>{
         if(res.code == 200){
           this.restaurants = res.data
-          console.log()
         }
       })
     },
@@ -678,7 +737,9 @@ export default {
         processorPicture:[],
         workOrderProcessor:'',
         processorEndTime:'',
-      }
+      },
+      this.restaurants=[],
+      this.processorOptions=[],
       this.dialogVisible = false
       this.dialogSolve = false
       this.dialogWorkOrder = false
@@ -693,7 +754,6 @@ export default {
       this.$refs["form"].validate(async valid => {
         if (valid) {
           if (this.form.id == undefined) {
-            console.log("this.form",this.form)
             //新增售后问题
             let formData = new FormData();
             formData.append("problemInfo",new Blob([JSON.stringify(this.form)], {type: "application/json"}))
@@ -741,7 +801,6 @@ export default {
             }).then(res =>{
               if(res.data.code == 200){
                 this.$modal.msgSuccess("修改成功");
-                console.log("图片返回结果",res)
                 this.dialogVisible = false
                 this.cancel()
                 this.handleClick()
@@ -773,7 +832,6 @@ export default {
         }).then(res =>{
           if(res.data.code == 200){
             this.$modal.msgSuccess("修改成功");
-            console.log("图片返回结果",res)
             this.dialogVisible = false
             this.cancel()
             this.handleClick()
@@ -783,7 +841,6 @@ export default {
     },
     //预览图片功能
     handlePictureCardPreview(file) {
-      // console.log(file.url);
       this.dialogVisiblePicture = true
       this.dialogImageUrl = file.url
 
@@ -794,7 +851,6 @@ export default {
         method: "get",
         url: `https://dev-sy.derom.com/document-center/fastdfs/delete?id=${file.id}`,
       }).then(res =>{
-        console.log("删除结果",res)
         if(res.data.code == 200) {
           this.$message.success("移除图片成功")
         }
@@ -824,7 +880,9 @@ export default {
         processorPicture:[],
         workOrderProcessor:'',
         processorEndTime:'',
-      }
+      },
+      this.restaurants=[],
+      this.processorOptions=[],
       this.$confirm('确认关闭?')
         .then(_ => {
           done();
@@ -834,6 +892,8 @@ export default {
   },
   data() {
     return {
+      roomInformationList:[],
+      questionerList:[],
       rules: {
         projectSource: [
           { required: true, message: '请输入项目/医院', trigger: 'blur' },