Просмотр исходного кода

Signed-off-by: liuboyan <632697560@qq.com>
bug

liuboyan 4 лет назад
Родитель
Сommit
4f193b8a3d

+ 10 - 2
src/api/organize.js

@@ -1,7 +1,7 @@
 import request from 'utils/request'
 
 //  登录
-export function qpiUserLogin (object) {
+export function submitLoginForm (object) {
   return request({
     url: '/landcrm/rest/userInfo/qpiUserLogin',
     method: 'post',
@@ -9,7 +9,6 @@ export function qpiUserLogin (object) {
     type: 'FORM'
   })
 }
-
 //  获取菜单及权限
 export function getMenu (object) {
   return request({
@@ -19,3 +18,12 @@ export function getMenu (object) {
     type: 'FORM'
   })
 }
+//  刷新权限
+export function refreshLimits (object) {
+  return request({
+    url: '/device/login/clearToken',
+    method: 'get',
+    params: object,
+    type: 'JSON'
+  })
+}

+ 2 - 4
src/components/menuAside/index.vue

@@ -11,7 +11,6 @@
         background-color="#515a6e"
         text-color="#ffffff"
         active-text-color="#ffffff"
-        router
         @select="selectMenu"
       >
         <el-submenu
@@ -51,6 +50,7 @@ export default {
       menuList: []
     })
     const route = useRoute()
+    const router = useRouter()
     menuState.activeMenu = route.path
     const store = useStore()
     getMenu({
@@ -77,14 +77,12 @@ export default {
           if (site.router == key) {
             setStore({ name: 'menuLimit', content: site.items })
             store.state.menuList = site.items
+            router.push(site.router)
           }
         })
       })
     }
-    const router = useRouter()
     router.beforeEach((to, from, next) => {
-      // const meta = to.meta || {}
-      // store.state.common.heightTitle = to.name
       // Token 校验验证
       if (getToken()) {
         if (to.matched.length === 0) {

+ 38 - 14
src/components/menuHeader/index.vue

@@ -9,7 +9,7 @@
         <el-dropdown
           placement="bottom-end"
           trigger="click"
-          @command="loginOut"
+          @command="tokenHandle"
         >
           <span class="header-content">
             <span style="margin-right: 8px; color: #2d8cf0;">{{ state.userName }}</span>
@@ -25,7 +25,12 @@
           </span>
           <template #dropdown>
             <el-dropdown-menu>
-              <el-dropdown-item>退出登录</el-dropdown-item>
+              <el-dropdown-item command="loginOut">
+                退出登录
+              </el-dropdown-item>
+              <el-dropdown-item command="refreshLimits">
+                刷新权限
+              </el-dropdown-item>
             </el-dropdown-menu>
           </template>
         </el-dropdown>
@@ -36,10 +41,11 @@
 
 <script>
 import { reactive } from 'vue'
-import { clearStore, getStore } from 'utils/store'
-import { routers } from 'router/index'
-import { ElMessageBox } from 'element-plus'
+import { clearStore, getStore, getToken } from 'utils/store'
+import { ElMessageBox, ElNotification } from 'element-plus'
+import { refreshLimits } from 'api/organize'
 import Cookies from 'js-cookie'
+import { useRouter } from 'vue-router'
 
 export default {
   name: 'MenuHeader',
@@ -47,23 +53,41 @@ export default {
     const state = reactive({
       userName: getStore({ name: 'userNameJH' })
     })
-    function loginOut () {
-      ElMessageBox.confirm('请确认是否退出登录?', '提示', {
+    const router = useRouter()
+    function tokenHandle (command) {
+      ElMessageBox.confirm('请确认是否' + (command == 'loginOut' ? '退出登录?' : '刷新权限?'), '提示', {
         confirmButtonText: '确定',
         cancelButtonText: '取消',
         type: 'warning'
       }).then(() => {
-        clearStore({ type: 'session' })
-        Cookies.remove('user')
-        Cookies.remove('access')
-        routers.push({
-          path: '/'
-        })
+        if (command == 'loginOut') {
+          clearStore({ type: 'session' })
+          Cookies.remove('user')
+          Cookies.remove('access')
+          router.push({
+            path: '/'
+          })
+        } else {
+          refreshLimits({
+            userAccount: state.userName,
+            token: getToken()
+          }).then(res => {
+            if (res.status == 200) {
+              router.go(0)
+            } else {
+              ElNotification({
+                title: '请求出错',
+                message: res.message,
+                type: 'error'
+              })
+            }
+          })
+        }
       })
     }
     return {
       state,
-      loginOut
+      tokenHandle
     }
   }
 }

+ 1 - 0
src/utils/download.js

@@ -7,6 +7,7 @@ export default ({ url, method, data, params, type }) => {
   let dataStr = '' // 数据拼接字符串
   if (method == 'GET') {
     params.lpCategory = import.meta.env.VITE_CATEGORY
+    params.category = import.meta.env.VITE_CATEGORY
     if (typeof (params) == 'object') {
       Object.keys(params).forEach(key => {
         dataStr += key + '=' + params[key] + '&'

+ 2 - 1
src/utils/util.js

@@ -5,6 +5,7 @@ export const checkMenuLimit = (params) => {
   const store = useStore()
   if (store.state.menuList.filter(site => site.btnCode == params).length) {
     return true
+  } else {
+    return false
   }
-  return false
 }

+ 10 - 13
src/views/device/deviceList.vue

@@ -12,7 +12,7 @@
           style="margin-bottom: 10px;"
         >
           <template #header>
-            <span class="card-title">设备机房</span>
+            <span class="card-title">客房列表</span>
           </template>
           <div class="half-card-container">
             <projectTree
@@ -23,7 +23,7 @@
         </el-card>
         <el-card shadow="hover">
           <template #header>
-            <span class="card-title">设备类型</span>
+            <span class="card-title">维保类型</span>
           </template>
           <div class="half-card-container">
             <deviceTree
@@ -37,15 +37,15 @@
         <el-card shadow="hover">
           <template #header>
             <div class="card-header">
-              <span class="card-title">设备列表</span>
+              <span class="card-title">资产列表</span>
               <span>
                 <el-button
-                  v-if="checkMenuLimit('room/device/Save')"
                   size="mini"
                   type="primary"
                   :disabled="!tableData.selectAddressNode"
                   @click="handleAdd"
-                >新增设备</el-button>
+                  v-show="checkMenuLimit('room/device/Save')"
+                >新增资产</el-button>
                 <el-dropdown
                   trigger="click"
                   style="margin-left: 8px"
@@ -360,7 +360,7 @@
     </el-row>
     <el-drawer
       v-model="formData.deviceAddFormShow"
-      title="新增设备"
+      title="新增资产"
       :size="800"
       custom-class="table-dialog"
     >
@@ -486,12 +486,12 @@
             style="padding-top: 15px"
           >
             <el-form-item
-              label="级别名称"
+              label="维保物品"
               prop="infoId"
             >
               <el-input
                 v-model="formData.levelForm.searchValue"
-                placeholder="请输入级别名称"
+                placeholder="请输入维保物品"
                 clearable
               />
             </el-form-item>
@@ -514,12 +514,12 @@
           >
             <el-table-column
               prop="levelName"
-              label="级别名称"
+              label="维保物品"
               min-width="120"
               align="center"
             />
             <el-table-column
-              label="设备数量"
+              label="资产数量"
               min-width="120"
               align="center"
             >
@@ -1662,6 +1662,3 @@ function uploadModule (fullScreenLoading, handlePageChange) {
   }
 }
 </script>
-
-<style scoped lang="scss">
-</style>

+ 4 - 1
src/views/device/deviceSpace.vue

@@ -178,7 +178,10 @@
               label="客房名称"
               prop="devicePartrolName"
             >
-              <el-input v-model="formData.spaceForm.devicePartrolName" />
+              <el-input
+                v-model="formData.spaceForm.devicePartrolName"
+                :disabled="formData.spaceFormType != 'add'"
+              />
             </el-form-item>
           </el-col>
         </el-row>

+ 6 - 2
src/views/device/processRoute.vue

@@ -1,7 +1,6 @@
 <template>
   <div class="module-container">
     <el-row
-      v-loading.fullscreen.lock="fullScreenLoading"
       type="flex"
       :gutter="10"
       class="module-flex"
@@ -76,7 +75,7 @@
               />
               <el-table-column
                 prop="lpCategoryName"
-                label="客房维保"
+                label="类别"
                 width="80"
                 align="center"
               >
@@ -699,6 +698,11 @@ function treeTableModule (formData, tableData, getTableList, routeFormRef) {
     if (routeFormRef.value) {
       routeFormRef.value.resetFields()
     }
+    formData.routeForm = {
+      craftId: '',
+      craftName: '',
+      projectCatagoryCode: ''
+    }
   }
   //  工艺路线编辑
   function routeEdit (data) {

+ 2 - 2
src/views/login.vue

@@ -51,7 +51,7 @@ import { ref, reactive } from 'vue'
 import { routers } from 'router/index'
 import { setStore, clearStore } from 'utils/store'
 import Cookies from 'js-cookie'
-import { qpiUserLogin } from 'api/organize'
+import { submitLoginForm } from 'api/organize'
 import { ElNotification } from 'element-plus'
 
 export default {
@@ -73,7 +73,7 @@ export default {
     function handleSubmit () {
       submitForm.value.validate((valid) => {
         if (valid) {
-          qpiUserLogin(loginForm).then(res => {
+          submitLoginForm(loginForm).then(res => {
             if (res.result == 1) {
               clearStore({ type: 'session' })
               Cookies.set('user', res.users[0].userName)

+ 19 - 52
src/views/maintain/roomManage.vue

@@ -9,7 +9,7 @@
       <el-col :span="6">
         <el-card shadow="hover">
           <template #header>
-            <span class="card-title">设备类型</span>
+            <span class="card-title">项目列表</span>
           </template>
           <div class="card-container">
             <projectTree
@@ -29,13 +29,11 @@
               <span class="card-title">房间列表</span>
               <span style="display: flex">
                 <el-button
-                  v-if="checkMenuLimit('room/room/Import')"
                   size="mini"
                   type="primary"
                   @click="downloadMould"
                 >导出房间模板</el-button>
                 <el-upload
-                  v-if="checkMenuLimit('room/room/Import')"
                   :action="uploadUrl + 'device/jywsRoom/importRoom/' + (tableData.selectNode ? tableData.selectNode.data.value : '')"
                   :headers="{Authorization: 'Bearer '+ token}"
                   accept=".xlsx"
@@ -52,14 +50,12 @@
                   >房间批量导入</el-button>
                 </el-upload>
                 <el-button
-                  v-if="checkMenuLimit('room/room/AssetImport')"
                   size="mini"
                   type="primary"
                   style="margin-left: 8px"
                   @click="downloadAssetsMould"
                 >导出资产模板</el-button>
                 <el-upload
-                  v-if="checkMenuLimit('room/room/AssetImport')"
                   :action="uploadUrl + 'device/jywsRoom/importRoomAssets/' + (tableData.selectNode ? tableData.selectNode.data.value : '')"
                   :headers="{Authorization: 'Bearer '+ token}"
                   accept=".xlsx"
@@ -134,7 +130,6 @@
               <el-col :span="6">
                 <el-form-item>
                   <el-button
-                    v-if="checkMenuLimit('room/room/Detail')"
                     type="primary"
                     @click="handlePageChange(1)"
                   >
@@ -282,26 +277,26 @@
                     客户信息
                   </el-button>
                   <el-row>
-                    <el-col :span="24">
+                    <el-col :span="12">
                       <el-form-item label="入住人">
                         {{ item.residents }}
                       </el-form-item>
                     </el-col>
-                    <!--<el-col :span="12">
-                                            <el-form-item label="VIP">{{item.vipType}}</el-form-item>
-                                        </el-col>-->
-                  </el-row>
-                  <el-row>
                     <el-col :span="12">
                       <el-form-item label="入住时间">
                         {{ item.checkInTime }}
                       </el-form-item>
                     </el-col>
+                  </el-row>
+                  <el-row>
                     <el-col :span="12">
                       <el-form-item label="离店时间">
                         {{ item.departureTime }}
                       </el-form-item>
                     </el-col>
+                    <el-col :span="12">
+                      <el-form-item label="" />
+                    </el-col>
                   </el-row>
                 </div>
                 <el-button
@@ -330,32 +325,6 @@
                   </el-col>
                   <el-col :span="12" />
                 </el-row>
-                <el-button
-                  type="text"
-                  icon="el-icon-tickets"
-                >
-                  锁房原因
-                </el-button>
-                <el-row>
-                  <el-col :span="24">
-                    <el-form-item label="锁房原因">
-                      {{ formData.detailForm.lockRoomReason }}
-                    </el-form-item>
-                  </el-col>
-                </el-row>
-                <el-button
-                  type="text"
-                  icon="el-icon-tickets"
-                >
-                  维修原因
-                </el-button>
-                <el-row>
-                  <el-col :span="24">
-                    <el-form-item label="维修原因">
-                      {{ formData.detailForm.repairReason }}
-                    </el-form-item>
-                  </el-col>
-                </el-row>
               </el-form>
             </div>
           </el-tab-pane>
@@ -411,7 +380,6 @@
               >
                 <template #default="scope">
                   <el-button
-                    v-if="checkMenuLimit('room/room/AssetEdit')"
                     size="mini"
                     type="primary"
                     @click="handleAssetsDetail(scope.row)"
@@ -419,7 +387,6 @@
                     编辑
                   </el-button>
                   <el-button
-                    v-if="checkMenuLimit('room/room/AssetDelete')"
                     size="mini"
                     type="danger"
                     @click="handleAssetsDelete(scope.row)"
@@ -449,7 +416,7 @@
     </el-drawer>
     <el-dialog
       v-model="formData.assetsFormShow"
-      title="销单"
+      title="编辑"
       custom-class="table-dialog"
       width="800px"
     >
@@ -982,17 +949,17 @@ function uploadModule (fullScreenLoading, handlePageChange) {
 </script>
 
 <style scoped lang="scss">
-    .preview-image{
-        width: 100px;
-        height: 100px;
+  .preview-image{
+    width: 100px;
+    height: 100px;
+  }
+  .inspect-text{
+    .el-col{
+      line-height: 24px;
+      color: #606266;
     }
-    .inspect-text{
-        .el-col{
-            line-height: 24px;
-            color: #606266;
-        }
-        .el-col:first-child{
-            text-align: right;
-        }
+    .el-col:first-child{
+      text-align: right;
     }
+  }
 </style>

+ 5 - 22
src/views/maintain/roomTask.vue

@@ -532,7 +532,7 @@
                 </el-row>
                 <el-row>
                   <el-col :span="12">
-                    <el-form-item label="子设备数量">
+                    <el-form-item label="子资产数量">
                       {{ formData.detailForm.subCount }}
                     </el-form-item>
                   </el-col>
@@ -544,7 +544,7 @@
                 </el-row>
                 <el-row>
                   <el-col :span="12">
-                    <el-form-item label="已抽检设备">
+                    <el-form-item label="已抽检资产">
                       {{ formData.detailForm.checkDeviceCount }}
                     </el-form-item>
                   </el-col>
@@ -578,7 +578,7 @@
             </div>
           </el-tab-pane>
           <el-tab-pane
-            label="设备配置"
+            label="资产配置"
             name="2"
           >
             <el-timeline>
@@ -686,24 +686,6 @@
                   {{ dictionaryData.handleList.find(site => site.value == scope.row.type).label }}
                 </template>
               </el-table-column>
-              <el-table-column
-                prop="deviceName"
-                label="设备名称"
-                min-width="100"
-                align="center"
-              />
-              <el-table-column
-                prop="deviceNumber"
-                label="设备编码"
-                min-width="120"
-                align="center"
-              />
-              <el-table-column
-                prop="remark"
-                label="操作内容"
-                min-width="180"
-                align="center"
-              />
               <el-table-column
                 prop="creatorName"
                 label="操作人员"
@@ -1120,7 +1102,7 @@ export default {
         { value: 1, label: '完成' },
         { value: 2, label: '过期' },
         { value: 3, label: '抢单' },
-        { value: 4, label: '转发' },
+        { value: 4, label: '下单' },
         { value: 5, label: '销单' },
         { value: 6, label: '拒单' },
         { value: 7, label: '派单' },
@@ -1544,6 +1526,7 @@ function tableModule (dictionaryData, formData, tableData, filterFormRef, approv
       case 'export':
         downloadTaskTableList({
           ...formData.filterForm,
+          taskState: formData.filterForm.taskState == 'all' ? '' : formData.filterForm.taskState,
           startTime: formData.filterForm.date && formData.filterForm.date.length ? formatFullDateTime(formData.filterForm.date[0]) : '',
           endTime: formData.filterForm.date && formData.filterForm.date.length ? formatFullDateTime(formData.filterForm.date[1]) : ''
         })