tangning 3 éve
szülő
commit
3732d59c82

+ 16 - 12
src/components/role-select/index.vue

@@ -1,14 +1,17 @@
 <template>
-  <el-select v-model="value" :placeholder="allText ? allText : '全部'" :disabled="disabled">
-    <el-option :label="allText ? allText : '全部'" :value="''" v-if="showAll"></el-option>
-    <el-option v-for="item in filterOptions" :key="item.id"  :label="item.roleName" :value="item.id"></el-option>
-  </el-select>
+  <span v-if="this.options.length" :key="key">
+    <el-select v-model="value"  :placeholder="allText ? allText : '全部'" :disabled="disabled">
+      <el-option :label="allText ? allText : '全部'" :value="''" v-if="showAll"></el-option>
+      <el-option v-for="item in filterOptions" :key="filterOptions.length+'全部'+item.id"  :label="item.roleName" :value="item.id"></el-option>
+    </el-select>
+  </span>
 </template>
 
 <script>
 import selectComponentJs from '../select'
 import { getRoleList,getListByDeptId } from '@/request/config'
 import axios from 'axios'
+// import { $forceUpdate } from 'vue'
 
 const extObj = selectComponentJs()
 
@@ -17,18 +20,14 @@ extObj.props = [...extObj.props, 'maxLeave', 'disabled','deptId']
 extObj.computed = {
   ...extObj.computed,
   filterOptions() {
-    if (!this.maxLeave) {
+    console.log(this.options)
       return this.options
-    } else {
-      return this.options.filter(({id}) => Number(id) >= Number(this.maxLeave))
-    }
   }
 }
 
 extObj.watch = {
   ...extObj.watch,
     deptId() {
-      console.log('setup',this.deptId);
     this.value = ''
     this.getOptions()
   }
@@ -37,21 +36,26 @@ extObj.watch = {
 export default {
   ...extObj,
 
-  async mounted() {
-    console.log('mounted',this.deptId);
+  async created() {
+    console.log('mounted',this.deptId, this.key);
     if(this.deptId){
         this.getOptions()
     }else{
     let res = await axios.post(getRoleList, {})
     this.options = res.data.map(item => ({...item, id: item.id.toString()}))
     }
-    extObj.mounted.call(this)
+    console.log(this)
+    // extObj.mounted.call(this)
   },
+  
   methods:{
    ...extObj.methods,
   async getOptions(){
     let res = await axios.get(getListByDeptId, {params:{deptId:this.deptId}})
     this.options = res.data.map(item => ({...item, id: item.id.toString()}))
+    setTimeout(() => {
+    this.key = '2'
+    }, 200)
   }
   }
 }

+ 2 - 1
src/components/select.js

@@ -14,7 +14,8 @@ export default () => {
 
       return {
         options,
-        value
+        value,
+        key: ref('')
       }
     },
     watch: {

+ 5 - 4
src/view/dispatch/index.vue

@@ -104,11 +104,11 @@
       <el-table-column label="项目状态" v-slot:default="{ row }" >
         {{row.status === 0 ? '未认定' : '已认定'}}
       </el-table-column>
-        <!--详情 v-if="user.info.id == row.creatorId || user.roleKey == 'admin-dept'" 带看 v-if="row.sceneNum && !isTeaching" 
-        撤销 click=" user.roleKey === ADMIN_USER_ID && “  :class="{disable: user.roleKey !== ADMIN_USER_ID}" 分享 :class="{disable: !row.sceneNum}"
+        <!--详情 v-if="user.info.id == row.creatorId || user.roleKey == 'admin-dept'" 带看 v-if="row.sceneNum && !isTeaching" :class="{disable: (user.info.id == row.creatorId || user.roleKey == 'admin-dept')}"
+        撤销 click=" user.roleKey === ADMIN_USER_ID && “  :class="{disable: user.roleKey !== ADMIN_USER_ID}" 分享 :class="{disable: !row.sceneNum}" 
         -->
       <el-table-column label="操作" v-slot:default="{ row }" :width="isTeaching ? 280 : 320">
-        <span class="oper-span" @click="queryDetail(row)" :class="{disable: (user.info.id == row.creatorId || user.roleKey == 'admin-dept')}" v-power="'view'">详情</span>
+        <span class="oper-span" @click="queryDetail(row)"  v-power="'view'">详情</span>
         <span class="oper-span" @click="archivesHandle(row)" v-power="'doc:look'" >档案</span>
         <!-- <span class="oper-span" @click="queryScene(row)" v-power="'readFile'" >场景</span> :class="{disable: !row.sceneNum}"-->
         <span class="oper-span" v-power="'vrmodel:look'"  v-if="!isTeaching" @click="takeLook(row)">带看</span>
@@ -116,7 +116,8 @@
           <span class="oper-span" v-power="'message:look'" @click="leaveMsgHandle(row)">留言</span>
           <span class="oper-span" v-power="'cancel'" @click="revokeTeaching(row)" style="color: var(--primaryColor)">撤销</span>
         </template>
-        <template v-else-if="user.info.id == row.creatorId || user.roleKey == 'admin-dept'">
+        <!-- -if="user.info.id == row.creatorId || user.roleKey == 'admin-dept'" -->
+        <template v-else>
           <span class="oper-span" v-power="'share'" @click="row.sceneNum && shareHandle(row)">分享</span>
           <span class="oper-span" v-power="'edit'" @click="auth.update && user.info.deptId == row.deptId && editInfo(row)" :class="{disable: !(auth.update && user.info.deptId == row.deptId)}">编辑</span>
           <span class="oper-span" 

+ 1 - 0
src/view/user/index.vue

@@ -225,6 +225,7 @@ export default {
         roleId:row.roleId,
         deptIdList:superiorValue,
       }
+      console.log('editData',data.editData)
       data.relationDeptId = row.deptId
       operRoleId.value = row.roleId;
       state.oper.value.readyUpdate(row);

+ 3 - 3
src/view/vrmodel/index.vue

@@ -173,7 +173,7 @@ import {
   getSceneList,
   deleteScene,
   // getCameraOptions,
-  getCameraListByUser,
+  getCameraOptions,
   checkHasDownload,
   getDownloadProcess,
   downloadScene,
@@ -274,8 +274,8 @@ export default {
         });
     },
     async activated() {
-      let res = await axios.get(getCameraListByUser)
-      this.cameras = res.data.list
+      let res = await axios.get(getCameraOptions)
+      this.cameras = res.data.records
     },
     editModel(item) {
       window.open(process.env.VUE_APP_DOMAIN + '/epc.html?m=' + item.num + '&token=' + user.value.token)