Browse Source

合并线下

qinzhipeng_v 5 years ago
parent
commit
36beab2336

+ 1 - 1
src/apiConfig/virtualDevices.js

@@ -1,3 +1,3 @@
 /*eslint-disable*/ //规避eslint的检查,如没有eslint可不写
 // export const mockUrl = 'http://mock.Intra.xiaojukeji.com' // 线上
-export const mockUrl = 'http://10.96.113.197:9999/virtual-devices' // 线下
+export const mockUrl = 'http://10.96.113.197:9999/virtual-devices' // 线下

+ 3 - 4
src/views/Platform/bugManage/bugCreate.vue

@@ -187,7 +187,9 @@ export default {
         taskId: '',
         platformType: '',
         clientType: '',
-        creator: ''
+        creator: '',
+        currentHandler: [],
+        assigner: []
       },
       businessTypeStr: [],
       optionsAssigner: [],
@@ -239,9 +241,6 @@ export default {
     this.bugListSelect()
     this.forkDown()
   },
-  mounted() {
-    this.$refs.form.resetFields()
-  },
   methods: {
     createdDis() {
       this.dis = true

+ 12 - 11
src/views/Platform/bugManage/bugQuery.vue

@@ -157,6 +157,7 @@
 <script>
 import { bugGetEnum, bugUpdate, bugGet } from '@/api/defectManage'
 import { teamMembers } from '@/api/projectPage'
+import axios from 'axios'
 
 export default {
   data() {
@@ -276,10 +277,10 @@ export default {
     statusChange(e) {
       if (e === 1) {
         this.dialogInDevelopment = true
-        this.getMember('rd') // 人员搜索
+        this.getMember() // 人员搜索
       } else if (e === 2) {
         this.dialogWaitTest = true
-        this.getMember('qa') // 人员搜索
+        this.getMember() // 人员搜索
       } else if (e === 3) {
         this.dialogInRepairResult = true
       } else {
@@ -307,17 +308,17 @@ export default {
       if (e === true) this.getMember()
     },
     // 人员搜索
-    getMember(role) {
-      const objDataCurrentHandler = { bizId: this.form.bizId, email: '', role: role }
-      teamMembers(objDataCurrentHandler).then((res) => {
-        if (res.code === 200 && role === 'qa') {
-          this.optionsCurrentHandlerQA = res.data
-        } else if (res.code === 200 && role === 'rd') {
-          this.optionsCurrentHandlerRD = res.data
+    getMember() {
+      const objDataRD = { bizId: this.form.bizId, email: '', role: 'rd' }
+      const objDataQA = { bizId: this.form.bizId, email: '', role: 'qa' }
+      axios.all([teamMembers(objDataRD), teamMembers(objDataQA)]).then(axios.spread((resRD, resQA) => {
+        if (resRD.code === 200 && resQA.code === 200) {
+          this.optionsCurrentHandlerRD = resRD.data
+          this.optionsCurrentHandlerQA = resQA.data
         } else {
-          this.errorFun()
+          this.errorFun('人员数据获取失败')
         }
-      })
+      }))
     },
     queryFormData() {
       this.$refs.refeshDevelopmentDialog.validate((valid) => {

+ 2 - 1
src/views/Platform/defectManagement.vue

@@ -589,6 +589,7 @@ export default {
       })
     },
     handleSizeChange(size) {
+      this.curIndex = 1
       this.pageSize = size
       this.dataQueryInSearch(this.queryCode)
     },
@@ -659,7 +660,7 @@ export default {
     background-color #F2F3F6
     display flex
     justify-content center
-    min-width 1200px
+    min-width 900px
     .block
       background-color rgba(255,255,255,1)
       box-shadow 0px 0px 11px 0px rgba(238,240,245,1)

+ 15 - 16
src/views/Platform/setUp/systemSetup/bizPage.vue

@@ -23,7 +23,7 @@
           <el-table-column label="操作" align="center" min-width="180px" class-name="small-padding fixed-width">
             <template slot-scope="{row}">
               <el-button type="primary" size="mini" @click="handelEditBiz(row)">编辑</el-button>
-              <el-button type="danger" size="mini" @click="handelDeleteBiz(row)">删除</el-button>
+              <!-- <el-button type="danger" size="mini" @click="handelDeleteBiz(row)">删除</el-button> -->
 
             </template>
           </el-table-column>
@@ -164,7 +164,7 @@ export default {
               this.successFun()
               this.dialogFormVisible = false
             } else {
-              this.errorFun()
+              this.errorFun(response.msg)
             }
           })
         }
@@ -173,11 +173,9 @@ export default {
     // 进首页
     getList() {
       this.listLoading = true
-      this.indexPage = {
-        pageSize: this.pageSize,
-        curIndex: this.curIndex - 1
-      }
-      queryBizTypeList(this.indexPage).then(response => {
+      this.bizForm.pageSize = this.pageSize
+      this.bizForm.curIndex = this.curIndex - 1
+      queryBizTypeList(this.bizForm).then(response => {
         this.bizData = response.data.list
         this.total = response.data.total
         this.listLoading = false
@@ -186,9 +184,10 @@ export default {
 
     // 查看
     queryBizList(ele) {
+      this.curIndex = 0
       this.bizForm.bizName = ele.bizName
-      // this.bizForm.pageSize = this.pageSize
-      // this.bizForm.curIndex = this.curIndex
+      this.bizForm.pageSize = this.pageSize
+      this.bizForm.curIndex = this.curIndex - 1
       // this.bizTypeInfo = { bizTypeInfo: this.bizForm }
       console.log(ele)
       queryBizTypeList(this.bizForm).then(response => {
@@ -198,7 +197,7 @@ export default {
           this.total = response.data.total
           this.dialogFormVisible = false
         } else {
-          this.errorFun()
+          this.errorFun(response.msg)
         }
       })
     },
@@ -220,7 +219,7 @@ export default {
           this.getList()
           this.bizData = response.data.list
         } else {
-          this.errorFun()
+          this.errorFun(response.msg)
           // this.dialogDeleteVisible = false
         }
       })
@@ -251,7 +250,7 @@ export default {
               this.successFun()
               this.dialogFormVisible = false
             } else {
-              this.errorFun()
+              this.errorFun(response.msg)
             }
           })
         }
@@ -260,11 +259,11 @@ export default {
 
     handleSizeChange(size) {
       this.pageSize = size
-      this.getList()
+      this.getList(this.bizForm)
     },
     handleCurrentChange(curIndex) {
       this.curIndex = curIndex
-      this.getList()
+      this.getList(this.bizForm)
     },
 
     clearValidate(formName) {
@@ -274,8 +273,8 @@ export default {
     successFun() {
       this.$notify({ title: 'Success', message: 'Created Successfully', type: 'success', duration: 5000 })
     },
-    errorFun() {
-      this.$notify({ title: 'Failed', message: 'Created Failed', type: 'error', duration: 5000 })
+    errorFun(msg) {
+      this.$notify({ title: 'Failed', message: msg, type: 'error', duration: 5000 })
     }
   }
 }

+ 19 - 20
src/views/Platform/setUp/systemSetup/modulePage.vue

@@ -30,7 +30,7 @@
           <el-table-column label="操作" align="center" min-width="150px" class-name="small-padding fixed-width">
             <template slot-scope="{row}">
               <el-button type="primary" size="mini" @click="handelEditModule(row)">编辑</el-button>
-              <el-button type="danger" size="mini" @click="handelDeleteModule(row)">删除</el-button>
+              <!-- <el-button type="danger" size="mini" @click="handelDeleteModule(row)">删除</el-button> -->
 
             </template>
           </el-table-column>
@@ -167,7 +167,7 @@ export default {
         if (response.code === 200) {
           this.bizData = response.data.list
         } else {
-          this.errorFun()
+          this.errorFun(response.msg)
         }
       })
     },
@@ -241,7 +241,7 @@ export default {
               this.successFun()
               this.dialogFormVisible = false
             } else {
-              this.errorFun()
+              this.errorFun(response.msg)
             }
           })
         }
@@ -250,11 +250,9 @@ export default {
     // 进首页
     getList() {
       // this.listLoading = true
-      this.indexPage = {
-        pageSize: this.pageSize,
-        curIndex: this.curIndex - 1
-      }
-      queryBizModuleList(this.indexPage).then(response => {
+      this.moduleForm.pageSize = this.pageSize
+      this.moduleForm.curIndex = this.curIndex - 1
+      queryBizModuleList(this.moduleForm).then(response => {
         this.moduletData = response.data.list
         this.total = response.data.total
         this.listLoading = false
@@ -263,11 +261,12 @@ export default {
 
     // 查看
     queryModuleList(ele) {
+      this.curIndex = 0
       this.moduleForm.bizModuleName = ele.bizModuleName
       this.moduleForm.bizId = ele.bizId
       this.moduleForm.platId = ele.platId
-      // this.bizForm.pageSize = this.pageSize
-      // this.platForm.curIndex = this.curIndex - 1
+      this.moduleForm.pageSize = this.pageSize
+      this.moduleForm.curIndex = this.curIndex - 1
       // this.listLoading = true
       queryBizModuleList(this.moduleForm).then(response => {
         if (response.code === 200) {
@@ -277,7 +276,7 @@ export default {
           this.dialogFormVisible = false
           // this.listLoading = false
         } else {
-          this.errorFun()
+          this.errorFun(response.msg)
         }
       })
     },
@@ -287,17 +286,17 @@ export default {
       this.addModuleForm = ele
     },
     deleteModuleType() {
-      var bizModuleIds = [this.addModuleForm.id]
+      var moduleIds = [this.addModuleForm.id]
       this.deleteData.modifier = this.userInformation
-      this.deleteData.bizModuleIds = bizModuleIds
+      this.deleteData.moduleIds = moduleIds
       deleteBizModule(this.deleteData).then(response => {
         if (response.code === 200) {
           this.successFun()
           this.dialogDeleteVisible = false
           this.getList()
-          this.bizData = response.data.list
+          // this.bizData = response.data.list
         } else {
-          this.errorFun()
+          this.errorFun(response.msg)
           // this.dialogDeleteVisible = false
         }
       })
@@ -334,7 +333,7 @@ export default {
               this.successFun()
               this.dialogFormVisible = false
             } else {
-              this.errorFun()
+              this.errorFun(response.msg)
             }
           })
         }
@@ -343,11 +342,11 @@ export default {
 
     handleSizeChange(size) {
       this.pageSize = size
-      this.getList()
+      this.getList(this.moduleForm)
     },
     handleCurrentChange(curIndex) {
       this.curIndex = curIndex
-      this.getList()
+      this.getList(this.moduleForm)
     },
 
     clearValidate(formName) {
@@ -357,8 +356,8 @@ export default {
     successFun() {
       this.$notify({ title: 'Success', message: 'Created Successfully', type: 'success', duration: 5000 })
     },
-    errorFun() {
-      this.$notify({ title: 'Failed', message: 'Created Failed', type: 'error', duration: 5000 })
+    errorFun(msg) {
+      this.$notify({ title: 'Failed', message: msg, type: 'error', duration: 5000 })
     }
   }
 }

+ 17 - 18
src/views/Platform/setUp/systemSetup/platformPage.vue

@@ -17,16 +17,16 @@
       <div class="set-locate">
         <el-table :key="tableKey" v-loading="listLoading" :data="platData" fit highlight-current-row style="width: 100%;" border :header-cell-style="{background:'#F0F2F4',color:'#606266'}">
           <el-table-column label="序号" prop="id" min-width="50px" align="center"><template slot-scope="scope"><span>{{ scope.row.id }}</span></template> </el-table-column>
+          <el-table-column label="业务线" prop="bizName" min-width="110px" align="center"><template slot-scope="scope"><span>{{ scope.row.bizName }}</span></template> </el-table-column>
           <el-table-column label="平台类型" prop="platName" align="center" min-width="120">
             <template slot-scope="scope"><a href="javascript:void(0)" style="color:#20a0ff">{{ scope.row.platName }}</a></template>
           </el-table-column>
-          <el-table-column label="业务线" prop="bizName" min-width="110px" align="center"><template slot-scope="scope"><span>{{ scope.row.bizName }}</span></template> </el-table-column>
           <el-table-column label="端类型" prop="clientType" min-width="120px" align="center"><template slot-scope="{row}"><span>{{ statusMaps.get(row.clientType) }}</span></template> </el-table-column>
           <el-table-column label="操作人" prop="modifier" min-width="120px" align="center"><template slot-scope="scope"><span>{{ scope.row.modifier }}</span></template> </el-table-column>
           <el-table-column label="操作" align="center" min-width="200px" class-name="small-padding fixed-width">
             <template slot-scope="{row}">
               <el-button type="primary" size="mini" @click="handelEditPlat(row)">编辑</el-button>
-              <el-button type="danger" size="mini" @click="handelDeletePlat(row)">删除</el-button>
+              <!-- <el-button type="danger" size="mini" @click="handelDeletePlat(row)">删除</el-button> -->
 
             </template>
           </el-table-column>
@@ -166,7 +166,7 @@ export default {
         if (response.code === 200) {
           this.bizData = response.data.list
         } else {
-          this.errorFun()
+          this.errorFun(response.msg)
         }
       })
     },
@@ -196,7 +196,7 @@ export default {
               this.successFun()
               this.dialogFormVisible = false
             } else {
-              this.errorFun()
+              this.errorFun(response.msg)
             }
           })
         }
@@ -205,11 +205,9 @@ export default {
     // 进首页
     getList() {
       // this.listLoading = true
-      this.indexPage = {
-        pageSize: this.pageSize,
-        curIndex: this.curIndex - 1
-      }
-      queryPlatFormTypeList(this.indexPage).then(response => {
+      this.platForm.pageSize = this.pageSize
+      this.platForm.curIndex = this.curIndex - 1
+      queryPlatFormTypeList(this.platForm).then(response => {
         this.platData = response.data.list
         this.total = response.data.total
         this.listLoading = false
@@ -218,10 +216,11 @@ export default {
 
     // 查看
     queryBizList(ele) {
+      this.curIndex = 0
       this.platForm.platName = ele.platName
       this.platForm.bizId = ele.bizId
-      // this.bizForm.pageSize = this.pageSize
-      // this.platForm.curIndex = this.curIndex - 1
+      this.platForm.pageSize = this.pageSize
+      this.platForm.curIndex = this.curIndex - 1
       console.log(ele)
       // this.listLoading = true
       queryPlatFormTypeList(this.platForm).then(response => {
@@ -232,7 +231,7 @@ export default {
           this.dialogFormVisible = false
           // this.listLoading = false
         } else {
-          this.errorFun()
+          this.errorFun(response.msg)
         }
       })
     },
@@ -254,7 +253,7 @@ export default {
           this.getList()
           this.bizData = response.data.list
         } else {
-          this.errorFun()
+          this.errorFun(response.msg)
           // this.dialogDeleteVisible = false
         }
       })
@@ -288,7 +287,7 @@ export default {
               this.successFun()
               this.dialogFormVisible = false
             } else {
-              this.errorFun()
+              this.errorFun(response.msg)
             }
           })
         }
@@ -297,11 +296,11 @@ export default {
 
     handleSizeChange(size) {
       this.pageSize = size
-      this.getList()
+      this.getList(this.platForm)
     },
     handleCurrentChange(curIndex) {
       this.curIndex = curIndex
-      this.getList()
+      this.getList(this.platForm)
     },
 
     clearValidate(formName) {
@@ -311,8 +310,8 @@ export default {
     successFun() {
       this.$notify({ title: 'Success', message: 'Created Successfully', type: 'success', duration: 5000 })
     },
-    errorFun() {
-      this.$notify({ title: 'Failed', message: 'Created Failed', type: 'error', duration: 5000 })
+    errorFun(msg) {
+      this.$notify({ title: 'Failed', message: msg, type: 'error', duration: 5000 })
     }
   }
 }

+ 38 - 25
src/views/Platform/setUp/systemSetup/projectPage.vue

@@ -26,15 +26,16 @@
           <el-table-column label="工程模块" prop="moduleName" align="center" min-width="100">
             <template slot-scope="scope"><a style="color:#20a0ff">{{ scope.row.moduleName }}</a></template>
           </el-table-column>
-          <el-table-column label="业务模块" prop="bizModuleName" min-width="70px" align="center" />
-          <el-table-column label="平台类型" prop="platName" min-width="70px" align="center" />
           <el-table-column label="业务线" prop="bizName" min-width="70px" align="center" />
+          <el-table-column label="平台类型" prop="platName" min-width="70px" align="center" />
+          <el-table-column label="业务模块" prop="bizModuleName" min-width="70px" align="center" />
           <!-- <el-table-column label="端类型" prop="" min-width="70px" align="center" /> -->
           <el-table-column label="操作人" prop="modifier" min-width="70px" align="center" />
           <el-table-column label="操作" align="center" min-width="150px" class-name="small-padding fixed-width">
             <template slot-scope="{row}">
+              <el-button type="primary" size="mini" @click="handelcheckProject(row)">查看</el-button>
               <el-button type="primary" size="mini" @click="handelEditProject(row)">编辑</el-button>
-              <el-button type="danger" size="mini" @click="handelDeleteProject(row)">删除</el-button>
+            <!-- <el-button type="danger" size="mini" @click="handelDeleteProject(row)">删除</el-button> -->
 
             </template>
           </el-table-column>
@@ -71,10 +72,10 @@
             </el-form>
           </div>
           <div align="center" style="margin-top:22px">
-            <el-button type="info" plain size="mini" @click="dialogFormVisible=false">取消</el-button>
-            <el-button type="primary" size="mini" @click="titleName === '新增' ? addModuleType(addProgectForm) :updateModuleType(addProgectForm)">确定</el-button>
+            <el-button v-show="btnIsShow" type="info" plain size="mini" @click="dialogFormVisible=false">取消</el-button>
+            <el-button v-show="btnIsShow" type="primary" size="mini" @click="titleName === '新增' ? addModuleType(addProgectForm) :updateModuleType(addProgectForm)">确定</el-button>
           </div>
-          <div style="margin-top:6%" />
+          <div style="margin-top:10%" />
         </el-dialog>
 
         <el-dialog :visible.sync="dialogDeleteVisible" width="30%">
@@ -123,6 +124,7 @@ export default {
       userName: localStorage.getItem('realname'),
       userData: '',
       envSelections,
+      btnIsShow: true,
       consumerSelections,
       projectData: [],
       bizType: [],
@@ -148,7 +150,7 @@ export default {
       currentBizData: [],
       tableKey: 0,
       curIndex: 0,
-      pageSize: 5,
+      pageSize: 10,
       listLoading: true,
       dialogFormVisible: false,
       dialogDeleteVisible: false,
@@ -183,10 +185,7 @@ export default {
     handleaddProject() {
       this.titleName = '新增'
       this.dialogFormVisible = true
-      this.$nextTick(() => {
-        this.$refs['addProgectForms'].clearValidate()
-      })
-      // this.$refs.addProgectForms.resetFields()
+      this.$refs.addProgectForms.resetFields()
       this.$set(this.addProgectForm, 'moduleName', '')
       this.$set(this.addProgectForm, 'gitAddress', '')
       this.$set(this.addProgectForm, 'bizModuleId', '')
@@ -207,7 +206,7 @@ export default {
               this.successFun()
               this.dialogFormVisible = false
             } else {
-              this.errorFun()
+              this.errorFun(response.msg)
             }
           })
         }
@@ -257,6 +256,8 @@ export default {
     },
     // 修改选项
     getPlat1(e) {
+      console.log(e)
+      console.log(this.bizType.filter((value) => value.code === e)[0].child)
       if (this.bizType.filter((value) => value.code === e)[0].child) {
         this.platType = this.bizType.filter((value) => value.code === e)[0].child
         this.platType = this.platType.filter((value) => value.clientType === 1)
@@ -295,11 +296,9 @@ export default {
     // 进首页
     getList() {
       this.listLoading = true
-      this.indexPage = {
-        pageSize: this.pageSize,
-        curIndex: this.curIndex - 1
-      }
-      queryModuleList(this.indexPage).then(response => {
+      this.projectForm.pageSize = this.pageSize
+      this.projectForm.curIndex = this.curIndex - 1
+      queryModuleList(this.projectForm).then(response => {
         this.projectData = response.data.list
         this.total = response.data.total
         this.listLoading = false
@@ -308,9 +307,10 @@ export default {
 
     // 查看
     queryProjectList(ele) {
+      this.curIndex = 0
       this.projectForm = ele
       this.projectForm.pageSize = this.pageSize
-      this.projectForm.curIndex = this.curIndex
+      this.projectForm.curIndex = this.curIndex - 1
       queryModuleList(this.projectForm).then(response => {
         if (response.code === 200) {
           // this.getMyDevicesList()
@@ -318,7 +318,7 @@ export default {
           this.total = response.data.total
           this.dialogFormVisible = false
         } else {
-          this.errorFun()
+          this.errorFun(response.msg)
         }
       })
     },
@@ -336,8 +336,9 @@ export default {
           this.successFun()
           this.dialogDeleteVisible = false
           this.getList()
+          this.bizData = response.data.list
         } else {
-          this.errorFun()
+          this.errorFun(response.msg)
           // this.dialogDeleteVisible = false
         }
       })
@@ -378,20 +379,32 @@ export default {
               this.successFun()
               this.dialogFormVisible = false
             } else {
-              this.errorFun()
+              this.errorFun(response.msg)
             }
           })
         }
       })
     },
+    handelcheckProject(row) {
+      this.titleName = '查看'
+      this.dialogFormVisible = true
+      this.addProgectForm = Object.assign({}, row)
+      if (this.bizType.filter((value) => value.code === this.addProgectForm.bizId)[0]) {
+        this.platType = this.bizType.filter((value) => value.code === this.addProgectForm.bizId)[0].child
+      }
+      if (this.platType.filter((value) => value.code === this.addProgectForm.platId)[0]) {
+        this.projectType = this.platType.filter((value) => value.code === this.addProgectForm.platId)[0].child
+      }
+      this.btnIsShow = false
+    },
 
     handleSizeChange(size) {
       this.pageSize = size
-      this.getList()
+      this.getList(this.projectForm)
     },
     handleCurrentChange(curIndex) {
       this.curIndex = curIndex
-      this.getList()
+      this.getList(this.projectForm)
     },
 
     clearValidate(formName) {
@@ -401,8 +414,8 @@ export default {
     successFun() {
       this.$notify({ title: 'Success', message: 'Created Successfully', type: 'success', duration: 5000 })
     },
-    errorFun() {
-      this.$notify({ title: 'Failed', message: 'Created Failed', type: 'error', duration: 5000 })
+    errorFun(msg) {
+      this.$notify({ title: 'Failed', message: msg, type: 'error', duration: 5000 })
     }
   }
 }

+ 21 - 20
src/views/Platform/setUp/teamPage.vue

@@ -25,7 +25,7 @@
           <el-table-column label="操作" align="center" min-width="130px" class-name="small-padding fixed-width">
             <template slot-scope="{row}">
               <el-button type="primary" size="mini" @click="dialogFormVisible = true,changeData(row)">编辑</el-button>
-              <el-button type="danger" size="mini" @click="handelDelete(row)">删除</el-button>
+              <!-- <el-button type="danger" size="mini" @click="handelDelete(row)">删除</el-button> -->
 
             </template>
           </el-table-column>
@@ -97,6 +97,7 @@ export default {
       pageSize: 10, // 每页的数据
       total: 0,
       userData: '',
+      data: '',
       folderName: '',
       list: [],
       form: {},
@@ -157,17 +158,12 @@ export default {
 
     handleSizeChange(size) {
       this.pageSize = size
-      this.getAllList({
-        pageSize: this.pageSize,
-        curIndex: this.curIndex
-      })
+      this.getAllList(this.data)
     },
+
     handleCurrentChange(curIndex) {
       this.curIndex = curIndex
-      this.getAllList({
-        pageSize: this.pageSize,
-        curIndex: this.curIndex
-      })
+      this.getAllList(this.data)
     },
     submitForm(formName) {
       this.$refs[formName].validate(valid => {
@@ -188,7 +184,9 @@ export default {
       var indexPage = {
         pageSize: this.pageSize,
         curIndex: this.curIndex,
-        bizId: this.bizJson
+        bizId: this.bizJson,
+        role: this.data.role,
+        name: this.data.name
       }
       getMemberList(indexPage).then(res => {
         this.list = res.data
@@ -196,19 +194,22 @@ export default {
       })
     },
 
-    // 查看成员详情
-    queryData(vel) {
-      this.titleName = '查看详情'
-      this.MemberData = vel
-      this.updateDetailDialog(3)
-    },
+    // // 查看成员详情
+    // queryData(vel) {
+    //   this.titleName = '查看详情'
+    //   this.MemberData = vel
+    //   this.updateDetailDialog(3)
+    // },
 
     // 查询
     queryList(val) {
-      console.log(val)
-      var data = val
-      data.bizId = this.bizJson
-      getMemberList(data).then(res => {
+      console.log(this.data)
+      this.data = val
+      this.curIndex = 1
+      this.data.bizId = this.bizJson
+      this.data.pageSize = this.pageSize
+      this.data.curIndex = this.curIndex
+      getMemberList(this.data).then(res => {
         this.list = res.data
         this.total = res.total
         // this.form = {}

+ 4 - 5
src/views/projectManage/projectList/projectCreate.vue

@@ -107,9 +107,9 @@ export default {
     return {
       form: {
         platForm: '',
-        pm: '',
-        rd: '',
-        qa: '',
+        pm: [],
+        rd: [],
+        qa: [],
         focusPenson: ''
       },
       optionsPM: [],
@@ -149,7 +149,6 @@ export default {
   },
   mounted() {
     document.getElementsByClassName('app-main')[0].style.cssText = 'overflow:auto'
-    this.$refs.form.resetFields()
     if (!this.$route.query.id) {
       const editor = new E('#wangeditor')
       editor.customConfig.menus = ['bold', 'italic', 'underline', 'link', 'list', 'justify', 'table', 'foreColor']
@@ -300,7 +299,7 @@ export default {
     background-color #F2F3F6
     display flex
     justify-content center
-    min-width 1200px
+    min-width 900px
     .block
       background-color rgba(255,255,255,1)
       box-shadow 0px 0px 11px 0px rgba(238,240,245,1)

+ 3 - 5
src/views/projectManage/projectList/projectListIndex.vue

@@ -55,10 +55,11 @@
             <el-table-column
               label="操作"
               align="center"
-              width="300"
+              width="350"
             >
               <template v-slot="scope">
                 <div>
+                  <el-button size="mini" type="info" plain @click="changeaddTaskData(scope.row)">新建任务</el-button>
                   <el-button size="mini" type="primary" plain @click="projectShowData(scope.row.id)">编辑</el-button>
                   <el-button size="mini" type="danger" plain @click="dialogBug(scope.row.id)">删除</el-button>
                   <el-dropdown style="margin-left:10px" trigger="click">
@@ -66,7 +67,6 @@
                     <el-dropdown-menu slot="dropdown">
                       <el-dropdown-item icon="el-icon-coin" @click.native="createDailyReport(scope.row)">新建日报报告</el-dropdown-item>
                       <el-dropdown-item icon="el-icon-coin" @click.native="createReport(scope.row)">新建准出报告</el-dropdown-item>
-                      <el-dropdown-item icon="el-icon-coin" @click.native="changeaddTaskData(scope.row)">新建任务</el-dropdown-item>
                     </el-dropdown-menu>
                   </el-dropdown>
                   <el-dialog
@@ -220,7 +220,7 @@ export default {
     background-color #F2F3F6
     display flex
     justify-content center
-    min-width 1200px
+    min-width 900px
     .block
       background-color rgba(255,255,255,1)
       box-shadow 0px 0px 11px 0px rgba(238,240,245,1)
@@ -244,6 +244,4 @@ export default {
     .set-between >>> .el-form-item
       display flex
       margin-right -35px
-    .set-locate
-      margin-top 15px
 </style>

+ 2 - 2
src/views/projectManage/projectList/projectPreview.vue

@@ -389,7 +389,7 @@ export default {
     background-color #F2F3F6
     display flex
     justify-content center
-    min-width 1200px
+    min-width 900px
     .block
       background-color rgba(255,255,255,1)
       box-shadow 0px 0px 11px 0px rgba(238,240,245,1)
@@ -404,7 +404,7 @@ export default {
       width 100%
       margin 25px 0
       padding 10px 30px
-      height calc(100vh - 482px)
+      height 300px
     .block-end >>> th
       background-color #F0F2F4 !important
     .block-end >>> .el-tabs__nav-wrap::after

+ 4 - 5
src/views/projectManage/taskList/taskCreate.vue

@@ -153,9 +153,9 @@ export default {
         bizId: '',
         type: '',
         clientType: '',
-        pm: '',
-        rd: '',
-        qa: ''
+        pm: [],
+        rd: [],
+        qa: []
       },
       optionsPM: [],
       optionsRD: [],
@@ -200,7 +200,6 @@ export default {
   },
   mounted() {
     document.getElementsByClassName('app-main')[0].style.cssText = 'overflow:auto'
-    this.$refs.form.resetFields()
   },
   methods: {
     bugListSelect() {
@@ -323,7 +322,7 @@ export default {
     background-color #F2F3F6
     display flex
     justify-content center
-    min-width 1200px
+    min-width 900px
     .block
       background-color rgba(255,255,255,1)
       box-shadow 0px 0px 11px 0px rgba(238,240,245,1)

+ 3 - 3
src/views/projectManage/taskList/taskListIndex.vue

@@ -57,10 +57,11 @@
                 <el-table-column
                   label="操作"
                   align="center"
-                  width="300"
+                  width="350"
                 >
                   <template v-slot="scope">
                     <div>
+                      <el-button size="mini" type="info" plain @click="createReport(4, scope.row)">提bug</el-button>
                       <el-button size="mini" type="primary" plain @click="projectShowData(scope.row.id)">编辑</el-button>
                       <el-button size="mini" type="danger" plain @click="dialogBug(scope.row.id)">删除</el-button>
                       <el-dropdown style="margin-left:10px" trigger="click">
@@ -69,7 +70,6 @@
                           <el-dropdown-item icon="el-icon-coin" @click.native="createReport(1, scope.row)">新建提测报告</el-dropdown-item>
                           <el-dropdown-item icon="el-icon-coin" @click.native="createReport(2, scope.row)">新建日报报告</el-dropdown-item>
                           <el-dropdown-item icon="el-icon-coin" @click.native="createReport(3, scope.row)">新建准出报告</el-dropdown-item>
-                          <el-dropdown-item icon="el-icon-coin" @click.native="createReport(4, scope.row)">新建bug</el-dropdown-item>
                         </el-dropdown-menu>
                       </el-dropdown>
                       <el-dialog
@@ -295,7 +295,7 @@ export default {
     background-color #F2F3F6
     display flex
     justify-content center
-    min-width 1200px
+    min-width 900px
     .block
       background-color rgba(255,255,255,1)
       box-shadow 0px 0px 11px 0px rgba(238,240,245,1)

+ 2 - 2
src/views/projectManage/taskList/taskPreview.vue

@@ -424,14 +424,14 @@ export default {
     background-color #F2F3F6
     display flex
     justify-content center
-    min-width 1200px
+    min-width 900px
     .block
       background-color rgba(255,255,255,1)
       box-shadow 0px 0px 11px 0px rgba(238,240,245,1)
       border-radius 7px
       width 100%
       margin 20px 0
-      padding 10px 30px
+      padding 10px 30px 20px 30px
     .block >>> .el-tabs__nav-wrap::after
       background-color white
     .block >>> th

+ 1 - 1
src/views/projectManage/taskList/taskUpdateCreate.vue

@@ -319,7 +319,7 @@ export default {
     background-color #F2F3F6
     display flex
     justify-content center
-    min-width 1200px
+    min-width 900px
     .block
       background-color rgba(255,255,255,1)
       box-shadow 0px 0px 11px 0px rgba(238,240,245,1)

+ 1 - 0
src/views/quality/qualityDefectProcess.vue

@@ -119,6 +119,7 @@ export default {
       })
     },
     handleSizeChange(size) {
+      this.curIndex = 1
       this.pageSize = size
       this._initProcess()
     },

+ 4 - 171
src/views/quality/qualityMeasurement.vue

@@ -23,7 +23,6 @@
           ref="treeBox"
           :default-expanded-keys="expandedClient"
           icon-class="el-icon-caret-right"
-          accordion
           :data="dealWithBusinessDate"
           node-key="id"
           highlight-current
@@ -51,169 +50,6 @@
                 <template slot-scope="scope"><a href="javascript:void(0)" style="color:#20a0ff" @click="toClientView()">{{ scope.row.clientOnlineCount }}</a></template>
               </el-table-column>
             </el-table>
-            <!-- 线上问题 客户端-->
-            <h4 v-show="pauseKey === 5">2. 线上问题</h4>
-            <el-table
-              v-show="pauseKey === 5"
-              :data="[problemData]"
-              border
-              style="width: 100%"
-              size="mini"
-            >
-              <el-table-column
-                prop="totalCount"
-                label="问题总数"
-                width="170"
-                align="center"
-              />
-              <el-table-column
-                prop="name"
-                label="免提测上线数"
-                align="center"
-              >
-                <el-table-column
-                  prop="totalP0"
-                  label="P0"
-                  width="calc(10/7)%"
-                  align="center"
-                />
-                <el-table-column
-                  prop="totalP1"
-                  label="P1"
-                  width="calc(10/7)%"
-                  align="center"
-                />
-                <el-table-column
-                  prop="totalP2"
-                  label="P2"
-                  width="calc(10/7)%"
-                  align="center"
-                />
-                <el-table-column
-                  prop="totalP3"
-                  label="P3"
-                  width="calc(10/7)%"
-                  align="center"
-                />
-                <el-table-column
-                  prop="totalP4"
-                  label="P4"
-                  width="calc(10/7)%"
-                  align="center"
-                />
-                <el-table-column
-                  prop="totalP5"
-                  label="P5"
-                  width="calc(10/7)%"
-                  align="center"
-                />
-                <el-table-column
-                  prop="totalP6"
-                  label="P6"
-                  width="calc(10/7)%"
-                  align="center"
-                />
-              </el-table-column>
-            </el-table>
-            <el-table
-              v-show="pauseKey === 5"
-              :data="[problemData]"
-              border
-              style="width: 100%"
-              class="move-border-top"
-              size="mini"
-            >
-              <el-table-column
-                prop="handleDurationPercent"
-                label="线上问题处理完成率"
-                style="width:25%;"
-                align="center"
-              />
-              <el-table-column
-                prop="avgHandleDuration"
-                label="线上问题平均处理时长(H)"
-                style="width:25%;"
-                align="center"
-              />
-            </el-table>
-            <!-- 线下缺陷 客户端-->
-            <h4 v-show="pauseKey === 5">3. 线下缺陷</h4>
-            <el-table
-              v-show="pauseKey === 5"
-              :data="[DefeatData]"
-              border
-              style="width: 100%"
-              size="mini"
-            >
-              <el-table-column
-                label="提报bug数"
-                align="center"
-              >
-                <template slot-scope="scope"><a href="javascript:void(0)" style="color:#20a0ff" @click="toDefectView()">{{ scope.row.totalBugNum }}</a></template>
-              </el-table-column>
-              <el-table-column
-                prop="avgBugNum"
-                label="人均bug数"
-                align="center"
-              />
-              <el-table-column
-                prop="avgRepairTime"
-                label="bug平均修复时常"
-                width="120"
-                align="center"
-              />
-              <el-table-column
-                label="bug修复率"
-                align="center"
-              >
-                <template slot-scope="scope">{{ scope.row.avgRepairTime | toPercent }}</template>
-              </el-table-column>
-              <el-table-column
-                prop="totalP0"
-                label="P0"
-                width="55"
-                align="center"
-              />
-              <el-table-column
-                prop="totalP1"
-                label="P1"
-                width="55"
-                align="center"
-              />
-              <el-table-column
-                prop="totalP2"
-                label="P2"
-                width="55"
-                align="center"
-              />
-              <el-table-column
-                prop="totalOthers"
-                label="其他分级"
-                align="center"
-              />
-              <el-table-column
-                prop="reopenNum"
-                label="reopen"
-                align="center"
-              />
-              <el-table-column
-                prop="checkInTest"
-                label="提测"
-                width="55"
-                align="center"
-              />
-              <el-table-column
-                prop="checkInRepulse"
-                label="提测打回"
-                align="center"
-              />
-              <el-table-column
-                prop="stepOut"
-                label="准出"
-                width="55"
-                align="center"
-              />
-            </el-table>
             <!-- 上线过程-->
             <el-table
               v-show="pauseKey !== 5"
@@ -395,9 +231,8 @@
               />
             </el-table>
             <!-- 线上问题 -->
-            <h4 v-show="pauseKey !== 5">2. 线上问题</h4>
+            <h4>2. 线上问题</h4>
             <el-table
-              v-show="pauseKey !== 5"
               :data="[problemData]"
               border
               style="width: 100%"
@@ -459,7 +294,6 @@
               </el-table-column>
             </el-table>
             <el-table
-              v-show="pauseKey !== 5"
               :data="[problemData]"
               border
               style="width: 100%"
@@ -480,9 +314,8 @@
               />
             </el-table>
             <!-- 线下缺陷 -->
-            <h4 v-show="pauseKey !== 5">3. 线下缺陷</h4>
+            <h4>3. 线下缺陷</h4>
             <el-table
-              v-show="pauseKey !== 5"
               :data="[DefeatData]"
               border
               style="width: 100%"
@@ -601,11 +434,10 @@
                   label="上线次数"
                 />
                 <el-table-column
-                  prop="processVO.noTestPer"
                   label="免提测上线占比"
                   align="center"
                 >
-                  <template slot-scope="scope">{{ scope.row.processVO.rollbackPer | toPercent }}</template>
+                  <template slot-scope="scope">{{ scope.row.processVO.noTestPer | toPercent }}</template>
                 </el-table-column>
                 <el-table-column
                   align="center"
@@ -905,6 +737,7 @@ export default {
     },
     handleSizeChange(size) {
       this.pageSize = size
+      this.curIndex = 1
       this.handleClick()
     },
     handleCurrentChange(curIndex) {

+ 1 - 0
src/views/quality/qualityProcess.vue

@@ -144,6 +144,7 @@ export default {
       })
     },
     handleSizeChange(size) {
+      this.curIndex = 1
       this.pageSize = size
       this._initProcess()
     },

+ 224 - 70
src/views/virtualDevices/HMvehicle.vue

@@ -4,27 +4,23 @@
       <div class="block">
         <el-form :model="queryCode">
           <div class="set-between">
-            <div class="special-input">
-              <el-input v-model="queryCode.vehicleId" size="medium" placeholder="车辆ID" clearable />
-              <el-input v-model="queryCode.ecuId" size="medium" placeholder="ECUID" clearable />
-              <el-input v-model="queryCode.vehicleVersion" size="medium" placeholder="车辆类型" clearable />
-            </div>
-            <div class="special-input-chose">
-              <el-select v-model="queryCode.lockStatus" size="medium" placeholder="锁状态" clearable>
-                <el-option v-for="item in lockOptions" :key="item.lockStatusCode" :label="item.name" :value="item.lockStatusCode" />
-              </el-select>
-              <el-select v-model="queryCode.isActive" size="medium" placeholder="链接状态" clearable>
-                <el-option v-for="item in linkOptions" :key="item.isActiveCode" :label="item.name" :value="item.isActiveCode" />
-              </el-select>
-              <el-select v-model="queryCode.cityName" size="medium" filterable placeholder="城市" clearable>
-                <el-option
-                  v-for="item in city"
-                  :key="item.CityID"
-                  :label="item.name"
-                  :value="item.name"
-                />
-              </el-select>
-            </div>
+            <el-input v-model="queryCode.vehicleId" size="medium" placeholder="车辆ID" clearable style="width:13%;margin-right: 15px;" />
+            <el-input v-model="queryCode.ecuId" size="medium" placeholder="ECUID" clearable style="width:13%;margin-right: 15px;" />
+            <el-input v-model="queryCode.vehicleVersion" size="medium" placeholder="车辆类型" clearable style="width:13%;margin-right: 15px;" />
+            <el-select v-model="queryCode.lockStatus" size="medium" placeholder="锁状态" clearable style="width:15%;margin-right: 15px;">
+              <el-option v-for="item in lockOptions" :key="item.lockStatusCode" :label="item.name" :value="item.lockStatusCode" />
+            </el-select>
+            <el-select v-model="queryCode.isActive" size="medium" placeholder="链接状态" clearable style="width:15%;margin-right: 15px;">
+              <el-option v-for="item in linkOptions" :key="item.isActiveCode" :label="item.name" :value="item.isActiveCode" />
+            </el-select>
+            <el-select v-model="queryCode.cityName" size="medium" filterable placeholder="城市" clearable style="width:15%;margin-right: 15px;">
+              <el-option
+                v-for="item in city"
+                :key="item.CityID"
+                :label="item.name"
+                :value="item.name"
+              />
+            </el-select>
           </div>
           <div class="set-between">
             <el-button type="primary" size="medium" plain @click="dataQuery(queryCode)">搜索</el-button>
@@ -45,7 +41,11 @@
               label="车辆ID"
               align="center"
               width="95"
-            />
+            >
+              <template slot-scope="scope">
+                <a href="javascript:void(0)" style="color:#20a0ff" @click="toastDetail(scope.row)">{{ scope.row.vehicleId }}</a>
+              </template>
+            </el-table-column>
             <el-table-column
               prop="ecuId"
               label="ECUID"
@@ -102,8 +102,8 @@
                 <div class="specail-lock">
                   <div :class="{ 'el-icon-lock': scope.row.lockStatus === 0 ,'el-icon-unlock': scope.row.lockStatus === 1}" @click="updateLock(scope.row.ecuId, scope.row.lockStatus, scope.row.isActive)" />
                   <div>
-                    <el-button size="mini" type="success" plain @click="activate(scope.row.ecuId)">激活</el-button>
-                    <el-button size="mini" type="info" plain @click="offHmvirtual(scope.row.ecuId)">下线</el-button>
+                    <el-button size="mini" :type="scope.row.isActive === 1 ? 'info' : 'success'" plain @click="activateOrOffHmvirtual(scope.row, scope.row.isActive)">{{ scope.row.isActive === 1 ? '下线' : '激活' }}</el-button>
+                    <!-- <el-button size="mini" type="info" plain @click="offHmvirtual(scope.row.ecuId)">下线</el-button> -->
                     <el-button size="mini" type="danger" @click="dialogBug(scope.row.ecuId)">删除</el-button>
                     <el-button size="mini" type="primary">....</el-button>
                     <el-dialog
@@ -121,6 +121,59 @@
               </template>
             </el-table-column>
           </el-table>
+          <el-dialog
+            title="设备详情"
+            :visible.sync="dialogVisibleDetail"
+            width="80%"
+          >
+            <el-divider />
+            <div style="padding:20px">
+              <table class="table-suit">
+                <tbody>
+                  <tr>
+                    <td>硬件中控ID</td>
+                    <td>{{ pauseToast.ecuId }}</td>
+                    <td>车辆ID</td>
+                    <td>{{ pauseToast.vehicleId }}</td>
+                    <td>电池ID</td>
+                    <td>{{ pauseToast.batteryId }}</td>
+                  </tr>
+                  <tr>
+                    <td>终端IMSI码</td>
+                    <td>{{ pauseToast.imsi }}</td>
+                    <td>终端IMEI码</td>
+                    <td>{{ pauseToast.imei }}</td>
+                    <td>投放城市名称</td>
+                    <td>{{ pauseToast.cityName }}</td>
+                  </tr>
+                  <tr>
+                    <td>车辆状态</td>
+                    <td>{{ pauseToast.vehicleStatusString }}</td>
+                    <td>锁状态</td>
+                    <td>{{ pauseToast.lockStatus | toLockStatus }}</td>
+                    <td>车辆版本</td>
+                    <td>{{ pauseToast.vehicleVersion }}</td>
+                  </tr>
+                  <tr>
+                    <td>运营状态</td>
+                    <td>{{ pauseToast.operationStatusString }}</td>
+                    <td>连接状态</td>
+                    <td>{{ pauseToast.isActive | toActiveStatus }}</td>
+                    <td>纬度</td>
+                    <td>{{ pauseToast.lastLat }}</td>
+                  </tr>
+                  <tr>
+                    <td>激活时间</td>
+                    <td>{{ pauseToast.gmtActive | toData }}</td>
+                    <td>创建时间</td>
+                    <td>{{ pauseToast.gmtCreate | toData }}</td>
+                    <td>经度</td>
+                    <td>{{ pauseToast.lastLng }}</td>
+                  </tr>
+                </tbody>
+              </table>
+            </div>
+          </el-dialog>
           <el-pagination background style="margin-top:30px;" align="center" :current-page="curIndex" :page-size="pageSize" layout="prev, pager, next" :total="total" @current-change="handleCurrentChange" />
         </div>
       </div>
@@ -148,9 +201,70 @@ export default {
   },
   data() {
     return {
+      dialogVisibleDetail: false,
       tableData: [],
+      vehicleSelect: [
+        {
+          code: 0,
+          name: '正常'
+        },
+        {
+          code: 1,
+          name: '故障'
+        },
+        {
+          code: 2,
+          name: '高危不可用'
+        },
+        {
+          code: 10,
+          name: '低危'
+        },
+        {
+          code: 11,
+          name: '高危可用'
+        }
+      ],
+      operationSelect: [
+        {
+          code: 100,
+          name: '运营中'
+        },
+        {
+          code: 200,
+          name: '待运营-出厂'
+        }, {
+          code: 201,
+          name: '待运营-库存'
+        },
+        {
+          code: 202,
+          name: '待运营-移库'
+        },
+        {
+          code: 301,
+          name: '停运-调度中'
+        },
+        {
+          code: 304,
+          name: '停运-没收'
+        },
+        {
+          code: 306,
+          name: '停运-已返厂'
+        },
+        {
+          code: 307,
+          name: '停运-在库'
+        },
+        {
+          code: 400,
+          name: '退出运营-报废'
+        }
+      ],
       loading: true,
       form: {},
+      pauseToast: {},
       queryCode: {},
       curIndex: 1,
       pageSize: 20,
@@ -191,7 +305,7 @@ export default {
     _queryDeviceInfo() {
       const params = { page: this.curIndex, pageSize: this.pageSize }
       queryDeviceInfo(params).then(res => {
-        res.code === 200 ? this.tableData = res.data.ebikeInfos : this.errorFun(res.msg)
+        res.code === 200 ? this.tableData = res.data.ebikeInfos : this.$message.error(res.msg)
         this.total = res.data.total
         this.loading = false
       })
@@ -206,7 +320,7 @@ export default {
         }
       }
       queryDeviceInfo(queryCode).then(res => {
-        res.code === 200 ? this.tableData = res.data.ebikeInfos : this.errorFun(res.msg)
+        res.code === 200 ? this.tableData = res.data.ebikeInfos : this.$message.error(res.msg)
         this.total = res.data.total
       })
     },
@@ -219,17 +333,27 @@ export default {
         }
       }
       queryDeviceInfo(queryCode).then(res => {
-        res.code === 200 ? this.tableData = res.data.ebikeInfos : this.errorFun(res.msg)
+        res.code === 200 ? this.tableData = res.data.ebikeInfos : this.$message.error(res.msg)
         this.total = res.data.total
       })
     },
+    // 详情
+    toastDetail(ele) {
+      this.pauseToast = ele
+      this.pauseToast.operationStatusString = this.operationSelect.filter(each => each.code === this.pauseToast.operationStatus)[0].name
+      this.pauseToast.vehicleStatusString = this.vehicleSelect.filter(each => each.code === this.pauseToast.vehicleStatus)[0].name
+      this.dialogVisibleDetail = true
+    },
     oneKeyCreate() {
       createHmVirtualDevice(this.form).then(res => {
         if (res.code === 200) {
-          this.successFun('create')
+          this.$message({
+            message: '创建成功',
+            type: 'success'
+          })
           this._queryDeviceInfo()
         } else {
-          this.errorFun(res.msg)
+          this.$message.error(res.msg)
         }
       })
     },
@@ -242,43 +366,54 @@ export default {
     },
     updateLock(ecuId, lockStatus, judge) {
       if (judge !== 1) {
-        this.errorFun('请先激活设备')
+        this.$message({
+          message: '请先激活设备',
+          type: 'warning'
+        })
         return
       }
       const params = { ecuId: ecuId, lockStatus: (lockStatus + 1) % 2 }
       updateLockStatus(params).then(res => {
         this._queryDeviceInfo()
         if (res.code === 200) {
-          this.successFun('update')
-          // this._queryDeviceInfo()
+          this.$message({
+            message: `${lockStatus === 1 ? '关锁' : '开锁'}成功`,
+            type: 'success'
+          })
         } else {
-          this.errorFun(res.msg)
+          this.$message.error(res.msg)
         }
       })
     },
-    activate(ecuId) {
-      const params = { ecuId: ecuId }
-      activeHmVirtualDevice(params).then(res => {
-        if (res.code === 200) {
-          this.successFun('activate')
-          setTimeout(() => {
+    activateOrOffHmvirtual(scope, activatStatus) {
+      const params = { ecuId: scope.ecuId }
+      if (activatStatus === 1) {
+        offHmvirtualDevice(params).then(res => {
+          if (res.code === 200) {
             this._queryDeviceInfo()
-          }, 500)
-        } else {
-          this.errorFun(res.msg)
-        }
-      })
-    },
-    offHmvirtual(ecuId) {
-      const params = { ecuId: ecuId }
-      offHmvirtualDevice(params).then(res => {
-        if (res.code === 200) {
-          this.successFun('offLine')
-          this._queryDeviceInfo()
-        } else {
-          this.errorFun(res.msg)
-        }
-      })
+            this.$message({
+              message: `车辆ID ${scope.vehicleId} 下线成功`,
+              type: 'success'
+            })
+          } else {
+            this.$message.error(res.msg)
+          }
+        })
+      } else {
+        activeHmVirtualDevice(params).then(res => {
+          if (res.code === 200) {
+            setTimeout(() => {
+              this._queryDeviceInfo()
+              this.$message({
+                message: `车辆ID ${scope.vehicleId} 激活成功`,
+                type: 'success'
+              })
+            }, 500)
+          } else {
+            this.$message.error(res.msg)
+          }
+        })
+      }
     },
     // id Bug
     dialogBug(e) {
@@ -289,20 +424,23 @@ export default {
       const params = { ecuId: this.pauseId }
       delHmVirtualDevice(params).then(res => {
         if (res.success === 1) {
-          this.successFun('delete')
+          this.$message({
+            message: '删除成功',
+            type: 'success'
+          })
           this._queryDeviceInfo()
         } else {
-          this.errorFun(res.msg)
+          this.$message.error(res.msg)
         }
       })
       this.dialogVisible = false
-    },
-    successFun(successText) {
-      this.$notify({ title: 'Success', message: `${successText} Successfully`, type: 'success', duration: 2000 })
-    },
-    errorFun(errorText) {
-      this.$notify({ title: 'Failed', message: errorText, type: 'error', duration: 2000 })
     }
+    // successFun(successText) {
+    //   this.$notify({ title: 'Success', message: `${successText} Successfully`, type: 'success', duration: 2000 })
+    // },
+    // errorFun(errorText) {
+    //   this.$notify({ title: 'Failed', message: errorText, type: 'error', duration: 2000 })
+    // }
   }
 }
 </script>
@@ -324,12 +462,12 @@ export default {
     .block >>> .el-form
       display flex
       justify-content space-between
-    .block >>> .special-input .el-input
-      width 29.5%
-      margin-right 10px
-    .block >>> .special-input-chose .el-select
-      width 27%
-      margin-right 10px
+    // .block >>> .special-input .el-input
+    //   width 29.5%
+    //   margin-right 10px
+    // .block >>> .special-input-chose .el-select
+    //   width 27%
+    //   margin-right 10px
     .block >>> .el-form-item__content
       margin-left 0 !important
     .block >>> th
@@ -337,7 +475,7 @@ export default {
     .set-between
       display flex
     .set-locate
-      margin-top 40px
+      margin-top 25px
       .specail-lock
         display flex
         justify-content center
@@ -347,4 +485,20 @@ export default {
       .specail-lock >>> .el-dialog__footer
         display flex
         justify-content center
+    .set-locate >>> .el-divider--horizontal
+      margin 0
+    .table-suit
+      width 100%
+      margin-top 30px
+      tr
+        border 1px solid #eee
+      tr:nth-child(2n)
+        background #fbfbfb
+      tr td
+        padding 10px 20px
+        border-right 1px solid #eee
+      tr td:nth-child(2n-1)
+        font-weight 500
+      tr td:last-child
+        border-right 0
 </style>

+ 14 - 11
src/views/virtualDevices/HMvehicleCreate.vue

@@ -155,7 +155,7 @@ export default {
           if (JSON.stringify(data) === '["","","","",""]') {
             this.oneKeyCreate()
           } else {
-            this.errorFun('还有未填写的数据')
+            this.$message.error('还有未填写的数据')
           }
         // data 里是各个字段的验证错误信息, 如果为空串则认为验证通过, 如果数组里全为空串则所有验证通过
         // 判断data 里是否全是空串
@@ -176,7 +176,7 @@ export default {
           if (JSON.stringify(data) === '["","",""]') {
             this.oneKeyCreate()
           } else {
-            this.errorFun('还有未填写的数据')
+            this.$message.error('还有未填写的数据')
           }
         // data 里是各个字段的验证错误信息, 如果为空串则认为验证通过, 如果数组里全为空串则所有验证通过
         // 判断data 里是否全是空串
@@ -197,7 +197,7 @@ export default {
           if (JSON.stringify(data) === '["","","","","","","",""]') {
             this.oneKeyCreate()
           } else {
-            this.errorFun('还有未填写的数据')
+            this.$message.error('还有未填写的数据')
           }
         // data 里是各个字段的验证错误信息, 如果为空串则认为验证通过, 如果数组里全为空串则所有验证通过
         // 判断data 里是否全是空串
@@ -210,19 +210,22 @@ export default {
     oneKeyCreate() {
       createHmVirtualDevice(this.form).then(res => {
         if (res.code === 200) {
-          this.successFun('create')
+          this.$message({
+            message: '创建成功',
+            type: 'success'
+          })
           this.$router.go(-1)
         } else {
-          this.errorFun(res.msg)
+          this.$message.error(res.msg)
         }
       })
-    },
-    successFun(successText) {
-      this.$notify({ title: 'Success', message: `${successText} Successfully`, type: 'success', duration: 2000 })
-    },
-    errorFun(errorText) {
-      this.$notify({ title: 'Failed', message: errorText, type: 'error', duration: 2000 })
     }
+    // successFun(successText) {
+    //   this.$notify({ title: 'Success', message: `${successText} Successfully`, type: 'success', duration: 2000 })
+    // },
+    // errorFun(errorText) {
+    //   this.$notify({ title: 'Failed', message: errorText, type: 'error', duration: 2000 })
+    // }
   }
 }
 </script>

+ 48 - 41
src/views/virtualDevices/HTvehicle.vue

@@ -3,43 +3,31 @@
     <div class="block">
       <el-form :model="listQuery">
         <div class="set-head">
-          <el-input v-model="listQuery.vehicleId" clearable placeholder="车辆ID" style="width:15%;" />
-          <el-input v-model="listQuery.lockNo" clearable placeholder="锁ID" style="width:15%;" />&nbsp;
-          <el-select v-model="listQuery.lockModel" clearable placeholder="锁类型" style="width:15%;" filterable>&nbsp;
+          <el-input v-model="listQuery.vehicleId" size="medium" clearable placeholder="车辆ID" style="width:15%;" />
+          <el-input v-model="listQuery.lockNo" size="medium" clearable placeholder="锁ID" style="width:15%;" />&nbsp;
+          <el-select v-model="listQuery.lockModel" size="medium" clearable placeholder="锁类型" style="width:15%;" filterable>&nbsp;
             <el-option v-for="item in lockModelList" :key="item.model" :label="item.modelName" :value="item.model" />
           </el-select>
-          <el-select v-model="listQuery.lockStatus" clearable placeholder="锁状态" style="width: 15%;" filterable>
+          <el-select v-model="listQuery.lockStatus" size="medium" clearable placeholder="锁状态" style="width: 15%;" filterable>
             <el-option v-for="item in lockStatusOptions" :key="item.value" :label="item.label" :value="item.value" />
           </el-select>
-          <el-input v-model="listQuery.creator" clearable placeholder="创建人" style="width:15%;" />&nbsp;
-          <el-select v-model="listQuery.isOnline" clearable placeholder="设备状态" style="width:15%;" filterable>&nbsp;
+          <el-input v-model="listQuery.creator" size="medium" clearable placeholder="创建人" style="width:15%;" />&nbsp;
+          <el-select v-model="listQuery.isOnline" size="medium" clearable placeholder="设备状态" style="width:15%;" filterable>&nbsp;
             <el-option v-for="item in deviceStatusOptions" :key="item.value" :label="item.label" :value="item.value" />
           </el-select>
         </div>
         <div class="set-between">
-          <el-button type="primary" icon="el-icon-search" @click="getDevicesList(listQuery)">搜索</el-button>
-          <el-button type="primary" icon="el-icon-edit" @click="dialogFormVisible = true, createdCode()">新增</el-button>
+          <el-button type="primary" size="medium" plain @click="getDevicesList(listQuery)">搜索</el-button>
+          <el-button type="primary" size="medium" plain @click="dialogFormVisible = true, createdCode()">新增</el-button>
         </div>
       </el-form>
       <div class="set-locate">
-        <el-table
-          :key="tableKey"
-          v-loading="loading"
-          element-loading-text="关锁中"
-          element-loading-spinner="el-icon-loading"
-          element-loading-background="#FFFFFF"
-          :data="list"
-          fit
-          highlight-current-row
-          style="width: 100%;"
-          border
-          :header-cell-style="{background:'#F0F7FF',color:'#606266'}"
-        >
+        <el-table :key="tableKey" :data="list" fit highlight-current-row style="width: 100%;" border size="mini">
           <el-table-column label="车辆ID" prop="vehicleId" align="center" min-width="120">
             <template slot-scope="scope"><a href="javascript:void(0)" style="color:#20a0ff" @click="dialogDetailVisible = true,deviceDetails(scope.row)">{{ scope.row.vehicleId }}</a></template>
           </el-table-column>
           <el-table-column label="锁ID" prop="lockNo" min-width="100px" align="center" />
-          <el-table-column label="锁类型" min-width="80px" align="center">
+          <el-table-column label="锁类型" min-width="100px" align="center">
             <template slot-scope="scope"><span>{{ scope.row.lockModelInfo.modelName }}</span></template>
           </el-table-column>
 
@@ -49,23 +37,26 @@
           <el-table-column label="锁状态" class-name="status-col" min-width="100px">
             <template slot-scope="{row}"><el-tag :type="row.lockStatus | statusFilter">{{ lockStatusMaps.get(row.lockStatus) }}</el-tag></template>
           </el-table-column>
-          <el-table-column label="创建人" min-width="120px" align="center">
+          <el-table-column label="创建人" min-width="80px" align="center">
             <template slot-scope="scope"><span>{{ scope.row.creator }}</span></template>
           </el-table-column>
-          <el-table-column label="创建时间" min-width="120px" align="center">
-            <template slot-scope="scope"><span>{{ scope.row.createTime }}</span></template>
+          <el-table-column label="创建时间" min-width="160px" align="center">
+            <template slot-scope="scope"><span>{{ scope.row.gmtCreate }}</span></template>
           </el-table-column>
-          <el-table-column label="经度" min-width="80px" align="center">
+          <!-- <el-table-column label="更新时间" min-width="160px" align="center">
+            <template slot-scope="scope"><span>{{ scope.row.gmtModify }}</span></template>
+          </el-table-column> -->
+          <el-table-column label="经度" min-width="60px" align="center" show-overflow-tooltip>
             <template slot-scope="scope"><span>{{ scope.row.deviceLng }}</span></template>
           </el-table-column>
-          <el-table-column label="纬度" min-width="80px" align="center">
+          <el-table-column label="纬度" min-width="60px" align="center" show-overflow-tooltip>
             <template slot-scope="scope"><span>{{ scope.row.deviceLat }}</span></template>
           </el-table-column>
-          <el-table-column label="操作" align="center" min-width="300px" class-name="small-padding fixed-width" fixed="right">
+          <el-table-column label="操作" align="center" min-width="270px" class-name="small-padding fixed-width">
             <template slot-scope="{row}">
-              <el-button v-if="row.isOnline!=1" size="mini" type="success" @click="handleDeviceStatus(row, 1)">上线</el-button>
-              <el-button v-if="row.isOnline!=0" size="mini" type="danger" @click="handleDeviceStatus(row, 0)">下线</el-button>
-              <el-button type="primary" size="mini" @click="handleUpdate(row)">编辑</el-button>
+              <el-button v-if="row.isOnline!=1" plain size="mini" type="success" @click="handleDeviceStatus(row, 1)">上线</el-button>
+              <el-button v-if="row.isOnline!=0" plain size="mini" type="info" @click="handleDeviceStatus(row, 0)">下线</el-button>
+              <el-button type="primary" plain size="mini" @click="handleUpdate(row)">编辑</el-button>
               <el-button type="danger" size="mini" @click="deleteCodeData(row)">删除</el-button>
               <el-button v-if="row.lockStatus===1 || row.lockStatus ===4" size="mini" type="info" @click="handleLockStatus(row, 0)">关锁</el-button>
 
@@ -157,7 +148,7 @@
     </el-dialog>
     <!--  编辑 -->
     <el-dialog :title="textMap[dialogStatus]" :visible.sync="dialogUpdateVisible" width="75%" class="setPercent">
-      <el-form ref="serviceDataForms" :rules="serviceDataRules" :model="serviceData" label-position="left" label-width="70px" style="width: 100%; margin-left:80px;">
+      <el-form ref="serviceDataForms" :rules="serviceDataRules" :model="serviceData" label-width="70px" style="width: 100%; margin-left:80px;">
         <div class="set-font" style="width:100%">
           <div class="block-edit">
             <div style="display:flex;justify-content:space-between;width:92%">
@@ -254,7 +245,7 @@ export default {
       tableKey: 0,
       list: null,
       page: 1,
-      pageSize: 10,
+      pageSize: 20,
       loading: false,
       statusMaps: new Map([[1, '在线'], [0, '下线']]),
       lockStatusMaps: new Map([[1, '已开锁'], [0, '已关锁'], [2, '开锁失败'], [3, '关锁成功'], [4, '关锁失败']]),
@@ -363,6 +354,18 @@ export default {
 
     // 搜索
     getDevicesList(vel) {
+      this.listQuery = vel
+      this.page = 1
+      this.listQuery.pageSize = this.pageSize
+      this.listQuery.page = this.page
+
+      getDevices(this.listQuery).then(response => {
+        this.list = response.data.bikeDeviceInfos
+        this.total = response.data.total
+      })
+    },
+    // 搜索
+    getDevicesListInSearch(vel) {
       this.listQuery = vel
       this.listQuery.pageSize = this.pageSize
       this.listQuery.page = this.page
@@ -377,11 +380,12 @@ export default {
       this.listQuery.pageSize = this.pageSize
       this.listQuery.page = this.page
       getDevices(this.listQuery).then(response => {
+        // this.list = response.data.bikeDeviceInfos.map(value => value.bikeDeviceAttrInfo)
         this.list = response.data.bikeDeviceInfos
         this.serviceData = response.data.bikeDeviceInfos
         this.detailData = response.data.bikeDeviceInfos
         this.total = response.data.total
-        console.log(this.detailData)
+        console.log(this.list)
       })
     },
     // 编辑
@@ -484,7 +488,6 @@ export default {
       if (lockStatus === 0) {
         lockVehicle(row.lockNo).then(response => {
           this.loading = true
-          this.list = []
           if (response.code === 200) {
             setTimeout(() => {
               this.getMyDevicesList().then(
@@ -537,11 +540,11 @@ export default {
     },
     handleSizeChange(size) {
       this.pageSize = size
-      this.getDevicesList(this.listQuery)
+      this.getDevicesListInSearch(this.listQuery)
     },
     handleCurrentChange(page) {
       this.page = page
-      this.getDevicesList(this.listQuery)
+      this.getDevicesListInSearch(this.listQuery)
     },
     redirectTo(id, mehtodName, methodProtocol) {
       console.log(methodProtocol)
@@ -568,6 +571,8 @@ export default {
       margin 25px 0
       padding 20px
       min-height calc(100vh - 100px)
+    .block >>> th
+      background-color #F0F2F4 !important
     .block >>> .el-form
       display flex
       justify-content space-between
@@ -580,8 +585,6 @@ export default {
       margin-right 10px
     .block >>> .el-form-item__content
       margin-left 0 !important
-    .block >>> th
-      background-color #F0F7FF !important
     .set-head
       font-size 13px
       width 100%
@@ -590,8 +593,8 @@ export default {
     //   width 18%
     .set-between
       display flex
-    .set-between >>> .el-button
-      height 40px
+    // .set-between >>> .el-button
+    //   height 40px
     .set-locate
       margin-top 20px
       .specail-lock
@@ -612,10 +615,14 @@ export default {
       width 59vw
       margin-top 25px
       padding 20px
+      font-size 12px
+    .block-edit >>> .el-form-item__label
+      font-size 12px !important
     .table-th
       text-align center
       .border-color
         margin-left -12px
+        font-size 9px
         border-right 0px solid #dcdfe6
         border-bottom 0px solid #dcdfe6
         border-left 1px solid #dcdfe6