Procházet zdrojové kódy

同步测试环境代码

Alfyn před 3 týdny
rodič
revize
0b56593546
37 změnil soubory, kde provedl 119 přidání a 203 odebrání
  1. 9 4
      src/App.vue
  2. 0 48
      src/config/router.config.js
  3. 1 1
      src/permission.js
  4. 0 15
      src/views/404.vue
  5. 6 18
      src/views/ai/Ai.vue
  6. 5 2
      src/views/asset/Dashboard/Dashboard.vue
  7. 27 26
      src/views/document/dashboard.vue
  8. 35 43
      src/views/document/fileDetail.vue
  9. 1 1
      src/views/modelView/modules/Effect/DrawLine.vue
  10. 1 1
      src/views/modelView/modules/Effect/DrawPoints.vue
  11. 1 1
      src/views/modelView/modules/Effect/PostMap.vue
  12. 1 1
      src/views/modelView/modules/Effect/Spotlight.vue
  13. 1 1
      src/views/modelView/modules/Effect/VideoFusion.vue
  14. 1 1
      src/views/modelView/modules/FeatureAction/ComponentTransparency.vue
  15. 1 1
      src/views/modelView/modules/FeatureAction/RegionFeature.vue
  16. 1 1
      src/views/modelView/modules/FeatureAction/SubAttributes.vue
  17. 1 1
      src/views/modelView/modules/GISFunction/RegionClipping.vue
  18. 1 1
      src/views/modelView/modules/GISFunction/TransparentMapArea.vue
  19. 0 3
      src/views/modelView/modules/ManualCorreection.vue
  20. 1 1
      src/views/modelView/modules/ModelAction/DrawGrid.vue
  21. 1 1
      src/views/modelView/modules/ModelAction/FloorTree.vue
  22. 1 1
      src/views/modelView/modules/ModelAction/ModelColor.vue
  23. 1 1
      src/views/modelView/modules/ModelAction/ModelExplosion.vue
  24. 1 1
      src/views/modelView/modules/ModelAction/ModelScaling.vue
  25. 1 1
      src/views/modelView/modules/ModelAction/ModelTransparency.vue
  26. 1 1
      src/views/modelView/modules/ModelAction/SplitFrame.vue
  27. 1 1
      src/views/modelView/modules/SceneOperation/CaptureScene.vue
  28. 1 1
      src/views/modelView/modules/SceneOperation/CustomViewpoint.vue
  29. 1 1
      src/views/modelView/modules/SceneOperation/SubTagManager.vue
  30. 1 1
      src/views/modelView/modules/SubEditOperation/SubFeatureOffset.vue
  31. 1 1
      src/views/modelView/modules/SubEditOperation/SubOffset.vue
  32. 1 1
      src/views/modelView/modules/SubEditOperation/SubSetFeatureRotate.vue
  33. 2 2
      src/views/project/all/AllProject.vue
  34. 4 4
      src/views/project/detail/Task.vue
  35. 1 1
      src/views/requirement/Requirement.vue
  36. 2 13
      src/views/user/Login.vue
  37. 4 0
      vue.config.js

+ 9 - 4
src/App.vue

@@ -18,16 +18,21 @@ export default {
   },
   computed: {
     locale() {
-      this.isShow = false
-      this.$nextTick(() => {
-        this.isShow = true
-      })
+      this.reLoad()
       // 只是为了切换语言时,更新标题
       const { title } = this.$route.meta
       title && setDocumentTitle(`${i18nRender(title)} - ${domTitle}`)
       return this.$i18n.getLocaleMessage(this.$store.getters.lang).antLocale
     },
   },
+  methods:{
+    reLoad(){
+      this.isShow = false
+      this.$nextTick(() => {
+        this.isShow = true
+      })
+    }
+  }
 }
 </script>
 <style lang="less" scoped>

+ 0 - 48
src/config/router.config.js

@@ -17,54 +17,6 @@ export const asyncRouterMap = [
     },
     redirect: '/asset/dashboard',
     children: [
-      // dashboard
-      // {
-      //   path: '/dashboard',
-      //   name: 'dashboard',
-      //   redirect: '/dashboard/workplace',
-      //   component: RouteView,
-      //   meta: {
-      //     title: 'menu.dashboard',
-      //     keepAlive: true,
-      //     icon: asset,
-      //   },
-        // children: [
-          // {
-          //   path: '/dashboard/analysis/:pageNo([1-9]\\d*)?',
-          //   name: 'Analysis',
-          //   component: () => import('@/views/dashboard/Analysis'),
-          //   meta: {
-          //     title: 'menu.dashboard.analysis',
-          //     keepAlive: false,
-          //   },
-          // },
-          // 外部链接
-          // {
-          //   path: 'https://www.baidu.com/',
-          //   name: 'Monitor',
-          //   meta: { title: 'menu.dashboard.monitor', target: '_blank' }
-          // },
-          // {
-          //   path: '/dashboard/workplace',
-          //   name: 'Workplace',
-          //   component: () => import('@/views/dashboard/Workplace'),
-          //   meta: {
-          //     title: 'menu.dashboard.workplace',
-          //     keepAlive: true,
-          //   },
-          // },
-        // ],
-      // },
-      // {
-      //   path: '/dashboard/workplace',
-      //   name: 'Workplace',
-      //   component: () => import('@/views/dashboard/Workplace'),
-      //   meta: {
-      //     title: 'menu.dashboard.workplace',
-      //     keepAlive: true,
-      //     icon: asset,
-      //   },
-      // },
       {
         path: '/',
         name: 'AssetDashboard',

+ 1 - 1
src/permission.js

@@ -15,7 +15,7 @@ NProgress.configure({ showSpinner: false }) // NProgress Configuration
 
 const allowList = ['login', 'register', 'registerResult', 'download', 'forget', 'oldRegister'] // no redirect allowList
 const loginRoutePath = '/user/login'
-const defaultRoutePath = '/dashboard/workplace'
+const defaultRoutePath = '/'
 
 router.beforeEach(async (to, from, next) => {
   NProgress.start() // start progress bar

+ 0 - 15
src/views/404.vue

@@ -1,15 +0,0 @@
-<template>
-  <div>
-    404 page
-  </div>
-</template>
-
-<script>
-export default {
-  name: '404'
-}
-</script>
-
-<style scoped>
-
-</style>

+ 6 - 18
src/views/ai/Ai.vue

@@ -6,15 +6,15 @@
             <div class="new-chat">+ New Chat</div>
             <div class="new-recent">Recent</div>
             <div class="ai-item ai-item3">
-                <img src="~@/assets/icons8-sms@2x.png" alt="">
+                <a-icon type="message" />
                 <div class="ai-info">How to carry out sustainable architectural design?</div>
             </div>
             <div class="ai-item ai-item1">
-                <img src="~@/assets/icons8-help@2x.png" alt="">
+                <a-icon type="question-circle" />
                 <div class="ai-info">Help</div>
             </div>
             <div class="ai-item ai-item2">
-                <img src="~@/assets/icons8-settings@2x.png" alt="">
+                <a-icon type="setting" />
                 <div class="ai-info">Settings</div>
             </div>
         </div>
@@ -518,7 +518,7 @@ table {
   color: #3790FD;
   text-align: center;
   line-height: 30px;
-  margin: 68px 0 0 24px;
+  margin: 24px 0 0 24px;
   cursor: pointer;
 }
 .new-recent {
@@ -557,24 +557,12 @@ table {
         color: #1890ff;
     }
 }
-.ai-item2 {
-    position: absolute;
-    left: 24px;
-    bottom: 28px;
-    cursor: pointer;
-    &:hover {
-        color: #1890ff;
-    }
-}
 .ai-item3 {
   margin-top: 28px;
   margin-left: 24px;
   cursor: pointer;
-  .ai-info {
-    transform: translateY(-1px);
-    &:hover {
-        color: #1890ff;
-    }
+  &:hover {
+      color: #1890ff;
   }
 }
 </style>

+ 5 - 2
src/views/asset/Dashboard/Dashboard.vue

@@ -193,6 +193,7 @@
             showPagination="auto"
             :pagination="projectPagination"
             :customRow="projectClick"
+            :scroll="{ y: layout[2].h * 40 - 100 }"
           >
             <template slot="index" slot-scope="text, record, index">
               {{ index + 1 }}
@@ -213,7 +214,6 @@
         :i="layout[3].i"
         :minH="layout[3].minH"
         :minW="layout[3].minW"
-        :scroll="{ y: layout[2].h * 40 - 100 }"
       >
         <a-card :bordered="false" :title="layout[3].name" style="height: 100%">
           <OptionsComp
@@ -294,7 +294,6 @@ import OptionsComp from './OptionsComp'
 import { GridLayout, GridItem } from 'vue-grid-layout'
 export default {
   name: 'AssetDashboard',
-
   components: { GridLayout, GridItem, OptionsComp },
 
   data() {
@@ -740,6 +739,10 @@ export default {
   .ant-table-row {
     cursor: pointer;
   }
+
+  .ant-card-head{
+    background: #fbfbfb
+  }
 }
 
 .team-list {

+ 27 - 26
src/views/document/dashboard.vue

@@ -431,9 +431,9 @@
                             <a-menu-item
                               key="3"
                               v-if="
-                                record.approval_status == $t('doc.NotSubmitted') ||
-                                record.approval_status == $t('doc.D-Rejected') ||
-                                record.approval_status == $t('doc.Cancelled')
+                                record.approval_status == 'Not Submitted' ||
+                                record.approval_status == 'D-Rejected' ||
+                                record.approval_status == 'Cancelled'
                               "
                             >
                               <div @click.stop="approvalClick(record, 'container')">
@@ -441,7 +441,7 @@
                                 <span style="margin-left: 5px">{{ $t('global.Approval') }}</span>
                               </div>
                             </a-menu-item>
-                            <a-menu-item key="4" v-if="record.approval_status == $t('doc.Pending')">
+                            <a-menu-item key="4" v-if="record.approval_status == 'Pending for Approval'">
                               <div @click.stop="revokeClick(record.id, 'container')">
                                 <a-icon type="audit" />
                                 <span style="margin-left: 5px">{{ $t('Approval.Approval-Revoke') }}</span>
@@ -494,10 +494,10 @@
                               key="4"
                               v-if="
                                 !record.type &&
-                                ( record.approval_status == $t('doc.NotSubmitted') ||
-                                  record.approval_status == $t('doc.Pending') ||
-                                  record.approval_status == $t('doc.Cancelled') ||
-                                  record.approval_status == $t('doc.D-Rejected'))
+                                ( record.approval_status == 'Not Submitted' ||
+                                  record.approval_status == 'Pending for Approval' ||
+                                  record.approval_status == 'Cancelled' ||
+                                  record.approval_status == 'D-Rejected')
                               "
                             >
                               <div
@@ -579,9 +579,9 @@
                           <a-icon
                             v-if="
                               item.type == 'container' &&
-                              (item.approval_status == $t('doc.NotSubmitted') ||
-                                item.approval_status == $t('doc.D-Rejected') ||
-                                item.approval_status == $t('doc.Cancelled'))
+                              (item.approval_status == 'Not Submitted' ||
+                                item.approval_status == 'D-Rejected' ||
+                                item.approval_status == 'Cancelled')
                             "
                             v-hasPermissions:approval.store
                             @click.stop="approvalClick(item, 'container')"
@@ -591,7 +591,7 @@
                         <a-tooltip>
                           <template slot="title">{{ $t('Approval.Approval-Revoke') }}</template>
                           <a-icon
-                            v-if="item.type == 'container' && item.approval_status == $t('doc.Pending')"
+                            v-if="item.type == 'container' && item.approval_status == 'Pending for Approval'"
                             v-hasPermissions:approval.store
                             @click.stop="revokeClick(item.id, 'container')"
                             type="audit"
@@ -623,9 +623,9 @@
                           <a-icon
                             v-if="
                               !item.type &&
-                              (item.approval_status == $t('doc.NotSubmitted') ||
-                                item.approval_status == $t('doc.D-Rejected') ||
-                                item.approval_status == $t('doc.Cancelled'))
+                              (item.approval_status == 'Not Submitted' ||
+                                item.approval_status == 'D-Rejected' ||
+                                item.approval_status == 'Cancelled')
                             "
                             v-hasPermissions:approval.store
                             @click.stop="approvalClick(item, 'container_file')"
@@ -636,7 +636,7 @@
                         <a-tooltip>
                           <template slot="title">{{ $t('Approval.Approval-Revoke') }}</template>
                           <a-icon
-                            v-if="!item.type && item.approval_status == $t('doc.Pending')"
+                            v-if="!item.type && item.approval_status == 'Pending for Approval'"
                             v-hasPermissions:approval.store
                             @click.stop="revokeClick(item.object_id, 'container_file')"
                             type="audit"
@@ -675,9 +675,9 @@
                           <template slot="title">{{ $t('global.Approval') }}</template>
                           <a-icon
                             v-if="
-                              item.approval_status == $t('doc.NotSubmitted') ||
-                              item.approval_status == $t('doc.D-Rejected') ||
-                              item.approval_status == $t('doc.Cancelled')
+                              item.approval_status == 'Not Submitted' ||
+                              item.approval_status == 'D-Rejected' ||
+                              item.approval_status == 'Cancelled'
                             "
                             v-hasPermissions:share-file.store
                             @click.stop="approvalClick(item, 'container_file')"
@@ -1030,9 +1030,9 @@
               <a-menu-item
                 key="4"
                 v-if="
-                  record.approval_status == $t('doc.NotSubmitted') ||
-                  record.approval_status == $t('doc.D-Rejected') ||
-                  record.approval_status == $t('doc.Cancelled')
+                  record.approval_status == 'Not Submitted' ||
+                  record.approval_status == 'D-Rejected' ||
+                  record.approval_status == 'Cancelled'
                 "
               >
                 <div v-hasPermissions:share-file.store @click.stop="approvalClick(record, 'container_file')">
@@ -1578,6 +1578,7 @@ export default {
           scopedSlots: { customRender: 'action' },
           width: 100,
           ellipsis: true,
+          fixed: 'right',
         },
       ],
       attachmentRequirementsColumns: [
@@ -1814,7 +1815,7 @@ export default {
       return columns
     },
     scrollX() {
-      return this.displayColumns.reduce((preVal, curVal) => {
+      return this.filterColums().reduce((preVal, curVal) => {
         return preVal + curVal.width
       }, 0)
     },
@@ -2703,9 +2704,9 @@ export default {
                 this.$message.success(this.$t('global.Operation-Successful'))
                 this.visible = false
                 if (this.form.type == 'asset') {
-                  this.getAssetChild(this.currentType, this.assetId, 'add')
+                  this.getAssetChild({type:this.currentType}, this.assetId, 'add')
                 } else if (this.form.type == 'project') {
-                  this.getProjectChild(this.currentType, this.project_id)
+                  this.getProjectChild({type:this.currentType}, this.project_id)
                 } else if (this.form.type == 'custom') {
                   this.getCustomLibraryList()
                 }
@@ -3665,7 +3666,7 @@ export default {
         if (this.selectedRow[k].type == 'folder') {
           return this.$message.warning(this.$t('doc.Only-file-approved'))
         }
-        if (this.selectedRow[k].approval_status != this.$t('doc.NotSubmitted')) {
+        if (this.selectedRow[k].approval_status != 'Not Submitted') {
           return this.$message.warning(this.$t('doc.attachment-currently-approval'))
         }
       }

+ 35 - 43
src/views/document/fileDetail.vue

@@ -24,6 +24,9 @@
           <a-descriptions-item :label="$t('global.File-Size')">
             {{ info?.file.size ? renderSize(info?.file.size) : '' }}
           </a-descriptions-item>
+          <a-descriptions-item :label="$t('Approval.Approval-Status')">
+            {{ info?.file.approval_status }}
+          </a-descriptions-item>
         </a-descriptions>
         <div class="file-operateBtn">
           <a-space>
@@ -85,36 +88,18 @@
           <span :class="`${prefixCls}-icon-dot`" />
         </span>
         <a-step v-for="(item, index) in processList" :key="item.level" :title="item.name">
-          <div slot="description" v-if="index <= processIndex">
-            <div>{{ item.approval_users.length ? item.approval_users[0].name : '' }}<a-icon type="mail" style="margin-left: 5px" /></div>
+          <div slot="description">
+            <div>
+              <span>{{ item.approval_users.length ? item.approval_users[0].name : '' }}</span>
+              <a-icon type="mail" style="margin-left: 5px" v-if="index === processIndex"/>
+            </div>
             <div v-if="index < processIndex">{{ item.approval_log?.created_at ?? '' }}</div>
-            <Email v-else>
+            <Email v-if="index === processIndex">
               <div style="color: #1890ff; cursor: pointer">{{ $t('result.success.step2-extra') }}</div>
             </Email>
           </div>
         </a-step>
       </a-steps>
-    <!-- <a-steps :current="processIndex">
-        <span slot="progressDot" slot-scope="{ prefixCls }">
-          <span :class="`${prefixCls}-icon-dot`" />
-        </span>
-        <a-step :title="$t('global.Initiate-Approval')">
-          <div slot="description">
-            <div>role_1<a-icon type="mail" style="margin-left: 5px" /></div>
-            <div>2017-10-01 12:00</div>
-          </div>
-        </a-step>
-        <a-step :title="$t('Approval.Level1Approval')">
-          <div slot="description">
-            <div>role_2<a-icon type="mail" style="margin-left: 5px" /></div>
-            <Email>
-              <div style="color: #1890ff; cursor: pointer">{{ $t('result.success.step2-extra') }}</div>
-            </Email>
-          </div>
-        </a-step>
-        <a-step :title="$t('Approval.Level2Approval')" />
-        <a-step :title="$t('task.done')" />
-      </a-steps> -->
     </a-card>
     <a-card :title="$t('menu.dictionary')" style="margin-top: 10px">
       <a-form-model layout="inline" :model="dictionaryForm">
@@ -154,11 +139,11 @@
         </a-form-model-item>
       </a-form-model>
     </a-card>
-    <a-card  style="margin-top: 10px" v-if="info?.container && info?.file.naming_rule">
-      <template v-slot:title >{{$t('global.Name-Rule')}} - {{info.file.naming_rule.name}} </template>
+    <a-card style="margin-top: 10px" v-if="info?.container && info?.file.naming_rule">
+      <template v-slot:title>{{ $t('global.Name-Rule') }} - {{ info.file.naming_rule.name }} </template>
       <a-form-model layout="inline" :model="namingRuleForm">
         <a-row>
-          <a-col :span="24" style="margin-bottom:10px;">
+          <a-col :span="24" style="margin-bottom: 10px">
             <a-form-model-item v-for="domain in ruleDomains" :key="domain.key" :label="domain.key" required>
               <a-select
                 v-if="domain.type == 3"
@@ -248,7 +233,7 @@ import {
   getFileDetail,
   modifyFileDetail,
 } from '@/api/document/index.js'
-import {  downloadFile } from '@/api/user'
+import { downloadFile } from '@/api/user'
 import { customFieldt } from '@/api/setting/index.js'
 import { autoNaming } from '@/api/project/detail/index'
 import { renderSize } from '@/utils/util'
@@ -305,13 +290,20 @@ export default {
       renderKey: 0,
     }
   },
-  computed:{
-    ruleDomains(){
-
-      return this.domains ? this.domains.filter(item=>{return item.key !== "RevisionCodes" && item.key !== "StatusCodes"}) : []
+  computed: {
+    ruleDomains() {
+      return this.domains
+        ? this.domains.filter((item) => {
+            return item.key !== 'RevisionCodes' && item.key !== 'StatusCodes'
+          })
+        : []
     },
-    codeDomains(){
-      return this.domains ? this.domains.filter(item=>{return item.key === "RevisionCodes" || item.key === "StatusCodes"}) : []
+    codeDomains() {
+      return this.domains
+        ? this.domains.filter((item) => {
+            return item.key === 'RevisionCodes' || item.key === 'StatusCodes'
+          })
+        : []
     },
   },
   created() {},
@@ -338,15 +330,15 @@ export default {
     //版本文件操作
     downClick() {
       downloadFile(this.info.file.id).then(({ data }) => {
-          let url = data.download_url + '&response-content-disposition=attachment;filename=' + data.title
-          const a = document.createElement('a')
-          a.href = url
-          a.download = data.title // 下载后文件名
-          a.style.display = 'none'
-          document.body.appendChild(a)
-          a.click() // 点击下载
-          document.body.removeChild(a) // 下载完成移除元素
-        })
+        let url = data.download_url + '&response-content-disposition=attachment;filename=' + data.title
+        const a = document.createElement('a')
+        a.href = url
+        a.download = data.title // 下载后文件名
+        a.style.display = 'none'
+        document.body.appendChild(a)
+        a.click() // 点击下载
+        document.body.removeChild(a) // 下载完成移除元素
+      })
     },
     delDoc(obj) {
       if (!obj) {

+ 1 - 1
src/views/modelView/modules/Effect/DrawLine.vue

@@ -71,7 +71,7 @@ import { message } from "ant-design-vue";
 import { buildShortID } from "@/utils/util";
 
 export default {
-  name: "ManualCorreection",
+  name: "DrawLine",
   components: {
     colorPicker,
     Modal,

+ 1 - 1
src/views/modelView/modules/Effect/DrawPoints.vue

@@ -72,7 +72,7 @@ import { message } from "ant-design-vue";
 import { buildShortID } from "@/utils/util";
 
 export default {
-  name: "ManualCorreection",
+  name: "DrawPoints",
   components: { colorPicker, Modal },
   props:{
     store: {

+ 1 - 1
src/views/modelView/modules/Effect/PostMap.vue

@@ -67,7 +67,7 @@ import Modal from '@/components/modal/Modal.vue'
 import { message } from 'ant-design-vue'
 import { buildShortID } from '@/utils/util'
 export default {
-  name: 'ManualCorreection',
+  name: 'PostMap',
   components: { Modal },
   props:{
     store: {

+ 1 - 1
src/views/modelView/modules/Effect/Spotlight.vue

@@ -66,7 +66,7 @@ import { message } from 'ant-design-vue'
 import { buildShortID } from '@/utils/util'
 
 export default {
-  name: 'ManualCorreection',
+  name: 'Spotlight',
   components: { Modal, colorPicker },
   props:{
     store: {

+ 1 - 1
src/views/modelView/modules/Effect/VideoFusion.vue

@@ -125,7 +125,7 @@
 import { message } from "ant-design-vue";
 import { buildShortID } from "@/utils/util";
 export default {
-  name: "ManualCorreection",
+  name: "VideoFusion",
   props:{
     store: {
       type: Object,

+ 1 - 1
src/views/modelView/modules/FeatureAction/ComponentTransparency.vue

@@ -51,7 +51,7 @@
 <script>
 import Modal from '@/components/modal/Modal.vue'
 export default {
-  name: 'ManualCorreection',
+  name: 'ComponentTransparency',
   components: { Modal },
   props:{
     store: {

+ 1 - 1
src/views/modelView/modules/FeatureAction/RegionFeature.vue

@@ -5,7 +5,7 @@
 </template>
 <script>
 export default {
-  name: "ManualCorreection",
+  name: "RegionFeature",
   props:{
     store: {
       type: Object,

+ 1 - 1
src/views/modelView/modules/FeatureAction/SubAttributes.vue

@@ -24,7 +24,7 @@
 import { message } from 'ant-design-vue'
 import { getPropertiesStation } from '@/api/model'
 export default {
-  name: 'ManualCorreection',
+  name: 'SubAttributes',
   components: {},
   props: {
     store: {

+ 1 - 1
src/views/modelView/modules/GISFunction/RegionClipping.vue

@@ -63,7 +63,7 @@ import Modal from "@/components/modal/Modal.vue";
 import { message } from "ant-design-vue";
 import { buildShortID } from "@/utils/util";
 export default {
-  name: "ManualCorreection",
+  name: "RegionClipping",
   components: { Modal },
   props:{
     store: {

+ 1 - 1
src/views/modelView/modules/GISFunction/TransparentMapArea.vue

@@ -40,7 +40,7 @@ import Modal from "@/components/modal/Modal.vue";
 import { message } from "ant-design-vue";
 
 export default {
-  name: "ManualCorreection",
+  name: "TransparentMapArea",
   components: { Modal },
     props:{
     store: {

+ 0 - 3
src/views/modelView/modules/ManualCorreection.vue

@@ -142,9 +142,6 @@
   </div>
 </template>
 <script>
-  import {
-    message,
-  } from 'ant-design-vue';
   import {
     setCoordinateCorrection,
     setSpatialReferenceToWgs84,

+ 1 - 1
src/views/modelView/modules/ModelAction/DrawGrid.vue

@@ -24,7 +24,7 @@
 </template>
 <script>
 export default {
-  name: "ManualCorreection",
+  name: "DrawGrid",
   components: {},
    props:{
     store: {

+ 1 - 1
src/views/modelView/modules/ModelAction/FloorTree.vue

@@ -18,7 +18,7 @@
 import { message } from 'ant-design-vue'
 import { getFloorTreeStation, getFloorNodeStation } from '@/api/model'
 export default {
-  name: 'ManualCorreection',
+  name: 'FloorTree',
   components: {},
   props:{
     store: {

+ 1 - 1
src/views/modelView/modules/ModelAction/ModelColor.vue

@@ -21,7 +21,7 @@
 <script>
 import colorPicker from "@/components/modal/colorPicker.vue";
 export default {
-  name: "ManualCorreection",
+  name: "ModelColor",
   components: { colorPicker },
   props:{
     store: {

+ 1 - 1
src/views/modelView/modules/ModelAction/ModelExplosion.vue

@@ -6,7 +6,7 @@
 </template>
 <script>
 export default {
-  name: "ManualCorreection",
+  name: "ModelExplosion",
   components: {},
   props:{
     store: {

+ 1 - 1
src/views/modelView/modules/ModelAction/ModelScaling.vue

@@ -12,7 +12,7 @@
 </template>
 <script>
 export default {
-  name: "ManualCorreection",
+  name: "ModelScaling",
   components: {},
   props:{
     store: {

+ 1 - 1
src/views/modelView/modules/ModelAction/ModelTransparency.vue

@@ -12,7 +12,7 @@
 </template>
 <script>
 export default {
-  name: "ManualCorreection",
+  name: "ModelTransparency",
   components: {},
   props:{
     store: {

+ 1 - 1
src/views/modelView/modules/ModelAction/SplitFrame.vue

@@ -10,7 +10,7 @@
 <script>
 
 export default {
-  name: 'ManualCorreection',
+  name: 'SplitFrame',
   components:{ },
   props:{
     store: {

+ 1 - 1
src/views/modelView/modules/SceneOperation/CaptureScene.vue

@@ -10,7 +10,7 @@
 </template>
 <script>
 export default {
-  name: "ManualCorreection",
+  name: "CaptureScene",
   components: {},
   props:{
     store: {

+ 1 - 1
src/views/modelView/modules/SceneOperation/CustomViewpoint.vue

@@ -90,7 +90,7 @@
 <script>
 import { message } from "ant-design-vue";
 export default {
-  name: "ManualCorreection",
+  name: "CustomViewpoint",
   props:{
     store: {
       type: Object,

+ 1 - 1
src/views/modelView/modules/SceneOperation/SubTagManager.vue

@@ -73,7 +73,7 @@ import Modal from "@/components/modal/Modal.vue";
 import { message } from "ant-design-vue";
 import { buildShortID } from "@/utils/util";
 export default {
-  name: "ManualCorreection",
+  name: "SubTagManager",
   components: { colorPicker, Modal },
   props:{
     store: {

+ 1 - 1
src/views/modelView/modules/SubEditOperation/SubFeatureOffset.vue

@@ -50,7 +50,7 @@
 <script>
 import { message } from "ant-design-vue";
 export default {
-  name: "ManualCorreection",
+  name: "SubFeatureOffset",
   components: {},
     props:{
     store: {

+ 1 - 1
src/views/modelView/modules/SubEditOperation/SubOffset.vue

@@ -50,7 +50,7 @@
 </template>
 <script>
 export default {
-  name: "ManualCorreection",
+  name: "SubOffset",
   components: {},
   props:{
     store: {

+ 1 - 1
src/views/modelView/modules/SubEditOperation/SubSetFeatureRotate.vue

@@ -54,7 +54,7 @@
 <script>
 import { message } from "ant-design-vue";
 export default {
-  name: "ManualCorreection",
+  name: "SubSetFeatureRotate",
   components: {},
     props:{
     store: {

+ 2 - 2
src/views/project/all/AllProject.vue

@@ -72,7 +72,7 @@
             <a v-hasPermissions:project.show @click.stop="viewClick(record.id)">{{ $t('global.Overview') }}</a>
             <a v-hasPermissions:project.update @click.stop="handleAdd(record.id)">{{ $t('global.Edit') }}</a>
             <a v-hasPermissions:project.destroy @click.stop="delClick(record.id)">{{ $t('global.Delete') }}</a>
-            <a v-if="record.approval_status == 'wait' || record.approval_status == 'rejected' || record.approval_status == 'canceled'" v-hasPermissions:approval.store @click.stop="approvalClick(record.id)">{{ $t('global.Initiate-Approval') }}</a>
+            <a v-if="record.approval_status == 'pending' || record.approval_status == 'rejected' || record.approval_status == 'canceled'" v-hasPermissions:approval.store @click.stop="approvalClick(record.id)">{{ $t('global.Initiate-Approval') }}</a>
             <a v-if="record.approval_status == 'doing'" v-hasPermissions:approval.store @click.stop="revokeClick(record.id)">{{ $t('Approval.Approval-Revoke') }}</a>
           </a-space>
         </span>
@@ -228,7 +228,7 @@ export default {
         'delay': this.$t('global.Delay'),
       },
       approvalStatusEnum: {
-        'wait': this.$t('requirement.status-wait'),
+        'pending': this.$t('requirement.status-wait'),
         'doing': this.$t('requirement.status-doing'),
         'approved': this.$t('requirement.status-approved'),
         'rejected': this.$t('requirement.status-rejected'),

+ 4 - 4
src/views/project/detail/Task.vue

@@ -116,16 +116,16 @@
                 <a @click.stop="delClick(record.id)">{{ $t('global.Delete') }}</a>
                 <a
                   v-if="
-                    record.approval_status == 'wait' ||
-                    record.approval_status == 'rejected' ||
-                    record.approval_status == 'canceled'
+                    record.approval_status == 'Not Submitted' ||
+                    record.approval_status == 'D-Rejected' ||
+                    record.approval_status == 'Cancelled'
                   "
                   v-hasPermissions:approval.store
                   @click.stop="approvalClick(record.id)"
                   >{{ $t('global.Initiate-Approval') }}</a
                 >
                 <a
-                  v-if="record.approval_status == 'doing'"
+                  v-if="record.approval_status == 'Pending for Approval'"
                   v-hasPermissions:approval.store
                   @click.stop="revokeClick(record.id)"
                   >{{ $t('Approval.Approval-Revoke') }}</a

+ 1 - 1
src/views/requirement/Requirement.vue

@@ -102,7 +102,7 @@
             <a v-hasPermissions:requirement.destroy @click.stop="delClick(record.id)">{{ $t('global.Delete') }}</a>
             <a
               v-if="
-                record.approval_status == 'wait' ||
+                record.approval_status == 'pending' ||
                 record.approval_status == 'rejected' ||
                 record.approval_status == 'canceled'
               "

+ 2 - 13
src/views/user/Login.vue

@@ -92,7 +92,7 @@
         >
       </a-form-item>
 
-      <a-form-item style="margin-top: 24px">
+      <!-- <a-form-item style="margin-top: 24px">
         <a-button
           size="large"
           type="primary"
@@ -100,7 +100,7 @@
           @click="registerClick"
           >{{ $t('user.register.registerCompany') }}</a-button
         >
-      </a-form-item>
+      </a-form-item> -->
 
       <!-- <div class="user-login-other">
         <span>{{ $t('user.login.sign-in-with') }}</span>
@@ -146,17 +146,6 @@ export default {
   },
   methods: {
     ...mapActions(['Login', 'Logout']),
-    // handler
-    handleUsernameOrEmail(rule, value, callback) {
-      const { state } = this
-      const regex = /^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+((\.[a-zA-Z0-9_-]{2,3}){1,2})$/
-      if (regex.test(value)) {
-        state.loginType = 0
-      } else {
-        state.loginType = 1
-      }
-      callback()
-    },
     handleTabClick(key) {
       this.customActiveKey = key
       // this.form.resetFields()

+ 4 - 0
vue.config.js

@@ -5,6 +5,7 @@ const GitRevisionPlugin = require('git-revision-webpack-plugin')
 const GitRevision = new GitRevisionPlugin()
 const buildDate = JSON.stringify(new Date().toLocaleString())
 const createThemeColorReplacerPlugin = require('./config/plugin.config')
+const Timestamp = new Date().getTime();
 
 function resolve(dir) {
   return path.join(__dirname, dir)
@@ -64,6 +65,9 @@ const vueConfig = {
 
   chainWebpack: (config) => {
     config.resolve.alias.set('@$', resolve('src'))
+    
+    config.output.filename(`static/js/[name].[hash].${Timestamp}.js`).end();
+		config.output.chunkFilename('static/js/[name].[hash].' + Timestamp + '.js').end()
 
     // fixed svg-loader by https://github.com/damianstasik/vue-svg-loader/issues/185#issuecomment-1126721069
     const svgRule = config.module.rule('svg')