linweizeng 3 tahun lalu
induk
melakukan
90e1992910

File diff ditekan karena terlalu besar
+ 22031 - 1
package-lock.json


+ 58 - 188
public/index.html

@@ -1,195 +1,65 @@
 <!DOCTYPE html>
 <html>
-
-<head>
-
-  <meta charset="utf-8">
-  <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
-  <meta name="renderer" content="webkit">
-  <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
-  <!-- 将http转化为https -->
-  <!-- <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests"> -->
-  <link rel="icon" href="<%= BASE_URL %>favicon.ico">
-  <!-- 使用 CDN 加速的 CSS 文件,配置在 vue.config.js 下 -->
-  <% for (var i in htmlWebpackPlugin.options.cdn&&htmlWebpackPlugin.options.cdn.css) { %>
+  <head>
+ 
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <meta name="renderer" content="webkit">
+    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
+	<!-- 将http转化为https -->
+	<!-- <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests"> -->
+    <link rel="icon" href="<%= BASE_URL %>favicon.ico">
+    <!-- 使用 CDN 加速的 CSS 文件,配置在 vue.config.js 下 -->
+    <% for (var i in htmlWebpackPlugin.options.cdn&&htmlWebpackPlugin.options.cdn.css) { %>
     <link href="<%= htmlWebpackPlugin.options.cdn.css[i] %>" rel="preload" as="style">
     <link href="<%= htmlWebpackPlugin.options.cdn.css[i] %>" rel="stylesheet">
     <% } %>
-      <!-- 使用 CDN 加速的 JS 文件,配置在 vue.config.js 下 -->
-      <% for (var i in htmlWebpackPlugin.options.cdn&&htmlWebpackPlugin.options.cdn.js) { %>
-        <link href="<%= htmlWebpackPlugin.options.cdn.js[i] %>" rel="preload" as="script">
-        <% } %>
-          <title>
-            <%= VUE_APP_TITLE %>
-          </title>
-          <!-- 	<script type="text/javascript" src="http://192.168.48.129:9999/web-apps/apps/api/documents/api.js"></script> -->
-          <script type="text/javascript"
-            src="https://www.mingjianlims.com/word/web-apps/apps/api/documents/api.js"></script>
-          <style>
-            html,
-            body,
-            #app {
-              height: 100%;
-              margin: 0;
-              padding: 0
-            }
-
-            .ibps-home {
-              background-color: #303133;
-              height: 100%;
-              display: flex;
-              flex-direction: column
-            }
-
-            .ibps-home__main {
-              user-select: none;
-              width: 100%;
-              flex-grow: 1;
-              display: flex;
-              justify-content: center;
-              align-items: center;
-              flex-direction: column
-            }
-
-            .ibps-home__footer {
-              width: 100%;
-              flex-grow: 0;
-              text-align: center;
-              padding: 1em 0
-            }
-
-            .ibps-home__footer>a {
-              font-size: 12px;
-              color: #ababab;
-              text-decoration: none
-            }
-
-            .ibps-home__loading {
-              height: 30px;
-              width: 30px;
-              margin-bottom: 10px
-            }
-
-            .ibps-home__title {
-              color: #FFF;
-              font-size: 14px;
-              margin-bottom: 20px
-            }
-
-            .ibps-home__sub-title {
-              color: #ababab;
-              font-size: 12px
-            }
-
-            [data-loader='circle-side'] {
-              position: relative;
-              width: 25px;
-              height: 25px;
-              -webkit-animation: circle infinite .75s linear;
-              -moz-animation: circle infinite .75s linear;
-              -o-animation: circle infinite .75s linear;
-              animation: circle infinite .75s linear;
-              border: 2px solid #fff;
-              border-top-color: rgba(0, 0, 0, .2);
-              border-right-color: rgba(0, 0, 0, .2);
-              border-bottom-color: rgba(0, 0, 0, .2);
-              border-radius: 100%
-            }
-
-            @-webkit-keyframes circle {
-              0% {
-                -webkit-transform: rotate(0);
-                -ms-transform: rotate(0);
-                -o-transform: rotate(0);
-                transform: rotate(0)
-              }
-
-              100% {
-                -webkit-transform: rotate(360deg);
-                -ms-transform: rotate(360deg);
-                -o-transform: rotate(360deg);
-                transform: rotate(360deg)
-              }
-            }
-
-            @-moz-keyframes circle {
-              0% {
-                -webkit-transform: rotate(0);
-                -ms-transform: rotate(0);
-                -o-transform: rotate(0);
-                transform: rotate(0)
-              }
-
-              100% {
-                -webkit-transform: rotate(360deg);
-                -ms-transform: rotate(360deg);
-                -o-transform: rotate(360deg);
-                transform: rotate(360deg)
-              }
-            }
-
-            @-o-keyframes circle {
-              0% {
-                -webkit-transform: rotate(0);
-                -ms-transform: rotate(0);
-                -o-transform: rotate(0);
-                transform: rotate(0)
-              }
-
-              100% {
-                -webkit-transform: rotate(360deg);
-                -ms-transform: rotate(360deg);
-                -o-transform: rotate(360deg);
-                transform: rotate(360deg)
-              }
-            }
-
-            @keyframes circle {
-              0% {
-                -webkit-transform: rotate(0);
-                -ms-transform: rotate(0);
-                -o-transform: rotate(0);
-                transform: rotate(0)
-              }
-
-              100% {
-                -webkit-transform: rotate(360deg);
-                -ms-transform: rotate(360deg);
-                -o-transform: rotate(360deg);
-                transform: rotate(360deg)
-              }
-            }
-          </style>
-</head>
-
-<body>
-  <noscript>
-    <strong>
-      敬请期待
-    </strong>
-  </noscript>
-  <div id="app">
-    <div class="ibps-home">
-      <div class="ibps-home__main">
-        <div class="ibps-home__loading">
-          <div data-loader="circle-side"></div>
-        </div>
-        <div class="ibps-home__title">正在加载资源
+    <!-- 使用 CDN 加速的 JS 文件,配置在 vue.config.js 下 -->
+    <% for (var i in htmlWebpackPlugin.options.cdn&&htmlWebpackPlugin.options.cdn.js) { %>
+    <link href="<%= htmlWebpackPlugin.options.cdn.js[i] %>" rel="preload" as="script">
+    <% } %>
+    <title><%= VUE_APP_TITLE %></title>
+<!-- 	<script type="text/javascript" src="http://192.168.48.129:9999/web-apps/apps/api/documents/api.js"></script> -->
+	<script type="text/javascript" src="https://www.mingjianlims.com/word/web-apps/apps/api/documents/api.js"></script>
+    <style>
+     html,body,#app{height:100%;margin:0;padding:0}
+     .ibps-home{background-color:#303133;height:100%;display:flex;flex-direction:column}
+     .ibps-home__main{user-select:none;width:100%;flex-grow:1;display:flex;justify-content:center;align-items:center;flex-direction:column}
+     .ibps-home__footer{width:100%;flex-grow:0;text-align:center;padding:1em 0}
+     .ibps-home__footer>a{font-size:12px;color:#ababab;text-decoration:none}
+     .ibps-home__loading{height:30px;width:30px;margin-bottom:10px}
+     .ibps-home__title{color:#FFF;font-size:14px;margin-bottom:20px}
+     .ibps-home__sub-title{color:#ababab;font-size:12px}[data-loader='circle-side']{position:relative;width:25px;height:25px;-webkit-animation:circle infinite .75s linear;-moz-animation:circle infinite .75s linear;-o-animation:circle infinite .75s linear;animation:circle infinite .75s linear;border:2px solid #fff;border-top-color:rgba(0,0,0,.2);border-right-color:rgba(0,0,0,.2);border-bottom-color:rgba(0,0,0,.2);border-radius:100%}@-webkit-keyframes circle{0%{-webkit-transform:rotate(0);-ms-transform:rotate(0);-o-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);-ms-transform:rotate(360deg);-o-transform:rotate(360deg);transform:rotate(360deg)}}@-moz-keyframes circle{0%{-webkit-transform:rotate(0);-ms-transform:rotate(0);-o-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);-ms-transform:rotate(360deg);-o-transform:rotate(360deg);transform:rotate(360deg)}}@-o-keyframes circle{0%{-webkit-transform:rotate(0);-ms-transform:rotate(0);-o-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);-ms-transform:rotate(360deg);-o-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes circle{0%{-webkit-transform:rotate(0);-ms-transform:rotate(0);-o-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);-ms-transform:rotate(360deg);-o-transform:rotate(360deg);transform:rotate(360deg)}}
+    </style>
+  </head>
+  <body>
+    <noscript>
+      <strong>
+        敬请期待
+      </strong>
+    </noscript>
+    <div id="app">
+      <div class="ibps-home">
+        <div class="ibps-home__main">
+            <div class="ibps-home__loading">
+                <div data-loader="circle-side"></div>
+            </div>
+            <div class="ibps-home__title">正在加载资源
+            </div>
+            <div class="ibps-home__sub-title">初次加载资源可能需要较多时间 请耐心等待</div>
+            </div>
+            <div class="ibps-home__footer">
+                <span
+                target="_blank">
+                2020©深圳市金源信通科技有限公司©版权所有
+                </span>
+            </div>
         </div>
-        <div class="ibps-home__sub-title">初次加载资源可能需要较多时间 请耐心等待</div>
-      </div>
-      <div class="ibps-home__footer">
-        <span target="_blank">
-          2020©深圳市金源信通科技有限公司©版权所有
-        </span>
-      </div>
     </div>
-  </div>
-  <!-- 使用 CDN 加速的 JS 文件,配置在 vue.config.js 下 -->
-  <% for (var i in htmlWebpackPlugin.options.cdn&&htmlWebpackPlugin.options.cdn.js) { %>
-    <script src="<%= htmlWebpackPlugin.options.cdn.js[i] %>"></script>
-    <% } %>
-      <!-- built files will be auto injected -->
-</body>
-
-</html>
+    <!-- 使用 CDN 加速的 JS 文件,配置在 vue.config.js 下 -->
+    <% for (var i in htmlWebpackPlugin.options.cdn&&htmlWebpackPlugin.options.cdn.js) { %>
+      <script src="<%= htmlWebpackPlugin.options.cdn.js[i] %>"></script>
+      <% } %>
+     <!-- built files will be auto injected -->
+  </body>
+</html>

+ 17 - 17
src/plugins/ibps/index.js

@@ -54,26 +54,26 @@ export default {
     Vue.prototype.$buildTime = env.VUE_APP_BUILD_TIME
 
     Vue.prototype.$ibpsUrl = env.VUE_APP_BASE_API_0_0_TEST
-    /* 中汇瑞德检测中心 */
-    let downloadReport = (src, where) => {
-      return 'https://www.mingjianlims.com/demo/reportServlet?action=6&file=' + encodeURIComponent(src) + '.rpx&columns=0&srcType=file&paramString=' + encodeURIComponent(where)
-    }
+	/* 中汇瑞德检测中心 */
+	let downloadReport = (src,where)=> {
+		return  'https://www.mingjianlims.com/demo/reportServlet?action=6&file='+encodeURIComponent(src)+'.rpx&columns=0&srcType=file&paramString='+encodeURIComponent(where)
+	}
     let timer = setInterval(() => { //定时循环添加参数
-      if (getToken()) {
-        Vue.prototype.$reportPash = 'https://www.mingjianlims.com/demo/reportJsp/showReport.jsp?access_token = ' + getToken() + '&rpx=中汇瑞德检测中心/' //报表路径
-        Vue.prototype.$getReportFile = downloadReport //通过方法函数,拼接url,并将字符串格式化
-        // Vue.prototype.$getSealUri = 'https://www.mingjianlims.com/getSealFile/' //微签 回显获取文件地址
-        Vue.prototype.$getSealUri = 'http://139.159.229.35:9999/no/getSealFile/' //微签 回显获取文件地址
-        Vue.prototype.$getFileDow = 'https://www.mingjianlims.com/ibps/platform/v3/file/download?attachmentId=' //文件下载地址
-        Vue.prototype.$getSealUploadingFile = 'https://www.mingjianlims.com/doSeal/' //微签 上传地址
-        Vue.prototype.$getSealPreFile = 'https://www.mingjianlims.com/preprocess/' //微签 手动签章-预处理
-        // Vue.prototype.$getSealPageFile = 'https://www.mingjianlims.com/manualSigPage/' //微签 手动签章-页面接口
-        Vue.prototype.$getSealPageFile = 'http://139.159.229.35:9999/manualSig/manualSigPage/' //微签 手动签章-页面接口( 微签服务器地址,非nginx转发)
-        clearInterval(timer) //添加成功后即删除定时任务
-      }
+          if (getToken()) {
+              Vue.prototype.$reportPash = 'https://www.mingjianlims.com/demo/reportJsp/showReport.jsp?access_token = '+getToken()+'&rpx=中汇瑞德检测中心/' //报表路径
+              Vue.prototype.$getReportFile = downloadReport //通过方法函数,拼接url,并将字符串格式化
+              // Vue.prototype.$getSealUri = 'https://www.mingjianlims.com/getSealFile/' //微签 回显获取文件地址
+              Vue.prototype.$getSealUri = 'http://139.159.229.35:9999/no/getSealFile/' //微签 回显获取文件地址
+              Vue.prototype.$getFileDow = 'https://www.mingjianlims.com/ibps/platform/v3/file/download?attachmentId=' //文件下载地址
+              Vue.prototype.$getSealUploadingFile='https://www.mingjianlims.com/doSeal/' //微签 上传地址
+              Vue.prototype.$getSealPreFile = 'https://www.mingjianlims.com/preprocess/' //微签 手动签章-预处理
+              // Vue.prototype.$getSealPageFile = 'https://www.mingjianlims.com/manualSigPage/' //微签 手动签章-页面接口
+              Vue.prototype.$getSealPageFile = 'http://139.159.229.35:9999/manualSig/manualSigPage/' //微签 手动签章-页面接口( 微签服务器地址,非nginx转发)
+           clearInterval(timer) //添加成功后即删除定时任务
+            }
     }, 500)
 
-    // 获得用户设置的全局尺寸
+	// 获得用户设置的全局尺寸
     const size = await store.dispatch('ibps/db/get', {
       dbName: 'sys',
       path: 'size.value',

+ 140 - 140
src/views/platform/data/dataTemplate/template-list.vue

@@ -1,155 +1,155 @@
 <template>
-  <div v-if="$utils.isNotEmpty(dataTemplate)">
-    <data-template-render
-      :data="dataTemplate"
-      :height="height"
-      :dynamic-params="dynamicParams"
-    />
-  </div>
-  <div v-else class="ibps-container-frame" />
-</template>
-<script>
-import { getBuildDataById } from '@/api/platform/data/dataTemplate'
-import { getFormDataByFormKey } from '@/api/platform/form/formDef'
+    <div v-if="$utils.isNotEmpty(dataTemplate)">
+      <data-template-render
+        :data="dataTemplate"
+        :height="height"
+        :dynamic-params="dynamicParams"
+      />
+    </div>
+    <div v-else class="ibps-container-frame" />
+  </template>
+  <script>
+  import { getBuildDataById } from '@/api/platform/data/dataTemplate'
+  import { getFormDataByFormKey } from '@/api/platform/form/formDef'
 
-import DataTemplateRender from '@/business/platform/data/templaterender'
-import { buildFelds } from '@/business/platform/data/templaterender/utils'
+  import DataTemplateRender from '@/business/platform/data/templaterender'
+  import { buildFelds } from '@/business/platform/data/templaterender/utils'
 
-export default {
-  components: {
-    DataTemplateRender
-  },
-  props: {
-    height: [String, Number],
-    dynamicParams: {
-      type: Object
+  export default {
+    components: {
+      DataTemplateRender
     },
-    templateId: String,
-  },
-  data() {
-    return {
-      dataTemplate: {},
-      dataTemplateId: ''
-    }
-  },
-  watch: {
-    '$route': {
-      handler(val, oldVal) {
-        if (val === oldVal) {
-          return
-        }
-        this.$nextTick(() => {
-          const defaultUrl = this.$route.meta.defaultUrl
-          const isDashboard = this.$route.name
-          if (this.$utils.isNotEmpty(defaultUrl)) {
-            // 判断地址是否正确
-            const url = defaultUrl.split('/')
-            this.dataTemplateId = url[url.length - 1]
-          } else if (isDashboard === 'dashboard') {
-            this.dataTemplateId = this.templateId
-          } else {
-            const params = this.$route.params
-            this.dataTemplateId = params.id
-          }
-          if (this.$utils.isEmpty(this.dataTemplateId)) {
-            this.$alert('参数错误,未获取模版ID')
-            return
-          }
-          this.loadDataTemplate()
-        })
+    props: {
+      height: [String, Number],
+      dynamicParams: {
+        type: Object
       },
-      deep: true,
-      immediate: true
+      templateId: String,
     },
- /*   templateId: {
-      handler(val) {
-        if (this.$utils.isNotEmpty(val)) {
-          this.dataTemplateId = val
-          this.loadDataTemplate()
-        }
+    data() {
+      return {
+        dataTemplate: {},
+        dataTemplateId: ''
+      }
+    },
+    watch: {
+      '$route': {
+        handler(val, oldVal) {
+          if (val === oldVal) {
+            return
+          }
+          this.$nextTick(() => {
+            const defaultUrl = this.$route.meta.defaultUrl
+            const isDashboard = this.$route.name
+            if (this.$utils.isNotEmpty(defaultUrl)) {
+              // 判断地址是否正确
+              const url = defaultUrl.split('/')
+              this.dataTemplateId = url[url.length - 1]
+            } else if (isDashboard === 'dashboard') {
+              this.dataTemplateId = this.templateId
+            } else {
+              const params = this.$route.params
+              this.dataTemplateId = params.id
+            }
+            if (this.$utils.isEmpty(this.dataTemplateId)) {
+              this.$alert('参数错误,未获取模版ID')
+              return
+            }
+            this.loadDataTemplate()
+          })
+        },
+        deep: true,
+        immediate: true
       },
-      immediate: true
-    } */
-   },
-  created(){
-    this.loadDataTemplate()
-  },
-  methods: {
-    loadDataTemplate() {
-      const loading = this.$loading({
-        lock: false,
-        background: 'transparent'
-      })
-      this.dataTemplate = {}
-      getBuildDataById({
-        dataTemplateId: this.templateId || this.dataTemplateId,
-        isFilterForm: false,
-        isRightsFilter: true
-      }).then(response => {
-        // 从后台获取数据
-        const data = this.$utils.parseData(response.data)
-        if (data && data.attrs && this.$utils.isNotEmpty(data.attrs.form_key)) {
-          getFormDataByFormKey({
-            formKey: data.attrs.form_key
-          }).then(response => {
-            const formData = this.$utils.parseData(response.data)
-            const datasets = buildFelds(formData.fields, data.datasets)
-            data.datasets = datasets
+   /*   templateId: {
+        handler(val) {
+          if (this.$utils.isNotEmpty(val)) {
+            this.dataTemplateId = val
+            this.loadDataTemplate()
+          }
+        },
+        immediate: true
+      } */
+     },
+    // created(){
+    //   this.loadDataTemplate()
+    // },
+    methods: {
+      loadDataTemplate() {
+        const loading = this.$loading({
+          lock: false,
+          background: 'transparent'
+        })
+        this.dataTemplate = {}
+        getBuildDataById({
+          dataTemplateId: this.templateId || this.dataTemplateId,
+          isFilterForm: false,
+          isRightsFilter: true
+        }).then(response => {
+          // 从后台获取数据
+          const data = this.$utils.parseData(response.data)
+          if (data && data.attrs && this.$utils.isNotEmpty(data.attrs.form_key)) {
+            getFormDataByFormKey({
+              formKey: data.attrs.form_key
+            }).then(response => {
+              const formData = this.$utils.parseData(response.data)
+              const datasets = buildFelds(formData.fields, data.datasets)
+              data.datasets = datasets
+              this.dataTemplate = data
+              setTimeout(() => {
+                loading.close()
+              }, 1000)
+            }).catch(() => {
+              loading.close()
+            })
+          } else {
             this.dataTemplate = data
             setTimeout(() => {
               loading.close()
             }, 1000)
-          }).catch(() => {
-            loading.close()
-          })
-        } else {
-          this.dataTemplate = data
-          setTimeout(() => {
-            loading.close()
-          }, 1000)
-        }
-      }).catch(() => {
-        loading.close()
-      })
-    },
-    buildFelds(fields, datasets) {
-      const fieldMap = {}
-      fields.forEach(field => {
-        if (field.field_type === 'grid' || field.field_type === 'tabs') {
-          field.field_options.columns.forEach(column => {
-            column.fields.forEach(cfield => {
-              fieldMap[cfield.field_name] = cfield
+          }
+        }).catch(() => {
+          loading.close()
+        })
+      },
+      buildFelds(fields, datasets) {
+        const fieldMap = {}
+        fields.forEach(field => {
+          if (field.field_type === 'grid' || field.field_type === 'tabs') {
+            field.field_options.columns.forEach(column => {
+              column.fields.forEach(cfield => {
+                fieldMap[cfield.field_name] = cfield
+              })
             })
-          })
-        } else {
-          fieldMap[field.field_name] = field
-        }
-      })
-      const rtn = []
-      datasets.forEach(dataset => {
-        const field = fieldMap[dataset.name]
-        if (this.$utils.isNotEmpty(field)) {
-          dataset.field_type = field.field_type
-          dataset.field_options = field.field_options
-        }
-        rtn.push(dataset)
-      })
-      return rtn
+          } else {
+            fieldMap[field.field_name] = field
+          }
+        })
+        const rtn = []
+        datasets.forEach(dataset => {
+          const field = fieldMap[dataset.name]
+          if (this.$utils.isNotEmpty(field)) {
+            dataset.field_type = field.field_type
+            dataset.field_options = field.field_options
+          }
+          rtn.push(dataset)
+        })
+        return rtn
+      }
     }
   }
-}
-</script>
-<style lang="scss" >
-  .data-template-renderer-dialog{
-    .el-dialog__header{
-      padding: 0;
-      border-bottom:0;
+  </script>
+  <style lang="scss" >
+    .data-template-renderer-dialog{
+      .el-dialog__header{
+        padding: 0;
+        border-bottom:0;
+      }
+      .el-dialog__body {
+        padding: 0;
+      }
+      .el-dialog__headerbtn{
+        z-index: 99999;
+      }
     }
-    .el-dialog__body {
-      padding: 0;
-    }
-    .el-dialog__headerbtn{
-      z-index: 99999;
-    }
-  }
-</style>
+  </style>

+ 44 - 16
src/views/system/login/page.vue

@@ -1,32 +1,58 @@
 <template>
     <div class="jbd-login-page-bg">
+        <div class="official">
+            <a href="https://www.mingjiantech.com" target="_blank">官网首页</a>
+        </div>
         <el-container class="login-container" @keyup.enter="handleLogin">
-            <div class="official">
-                <a href="https://www.mingjiantech.com" target="_blank">官网首页</a>
-            </div>
             <!-- <el-header style="width: 100%">
              <div style="width: 100%; height: 93px; text-align: center; position: relative; top: 10%; overflow: hidden">
                 <h1 class="login-info-title" style="font-size: 40px; color: #a73a3a">明鉴实验室信息管理系统</h1>
             </div>
         </el-header> -->
 
-            <el-main style="width: 80%; height: 100%; overflow: hidden; border: 0px">
+            <el-main
+                style="width: 80%; height: 100%; overflow: hidden; border: 0px"
+            >
                 <div class="login-border">
                     <!--                <div class="animated fadeIn jbd-login-page-main-img"></div> -->
 
                     <div class="login-main animated fadeIn jbd-login-page-main">
                         <!-- <h3> -->
                         <!-- <span>{{ $t('login.userLogin') }}</span> -->
-                        <div class="logo-box" style="width: 100%; margin: -0.0625rem">
+                        <div
+                            class="logo-box"
+                            style="width: 100%; margin: -0.0625rem"
+                        >
                             <p>
-                                <img src="../../../assets/images/login/bg.png" style="height: 80px; width: 387px; background-size: 100% 100%" />
+                                <img
+                                    src="../../../assets/images/login/bg.png"
+                                    style="
+                                        height: 80px;
+                                        width: 387px;
+                                        background-size: 100% 100%;
+                                    "
+                                />
+                            </p>
+                            <p class="txt">
+                                欢迎登陆·明鉴细胞检测实验室信息管理系统
                             </p>
-                            <p class="txt">欢迎登录·明鉴细胞检测实验室信息管理系统</p>
                         </div>
-                        <ibps-api-base-url-controller v-if="$nodeEnv === 'development'">
-                            <el-tooltip effect="dark" :content="$t('navbar.switchEnvironment')" placement="bottom">
-                                <el-button type="text" class="ibps-fr ibps-mr-5 btn-text can-hover">
-                                    <ibps-icon name="wifi" style="font-size: 18px" />
+                        <ibps-api-base-url-controller
+                            v-if="$nodeEnv === 'development'"
+                        >
+                            <el-tooltip
+                                effect="dark"
+                                :content="$t('navbar.switchEnvironment')"
+                                placement="bottom"
+                            >
+                                <el-button
+                                    type="text"
+                                    class="ibps-fr ibps-mr-5 btn-text can-hover"
+                                >
+                                    <ibps-icon
+                                        name="wifi"
+                                        style="font-size: 18px"
+                                    />
                                 </el-button>
                             </el-tooltip>
                         </ibps-api-base-url-controller>
@@ -49,8 +75,13 @@
                         </p> -->
                     <hr />
                     <span style="display: flex; justify-content: space-between">
-                        <a><i class="el-icon-s-platform" /> 深圳市金源信通科技有限公司开发</a>
-                        <a href="https://beian.miit.gov.cn" target="_blank">粤ICP备2022077950号</a>
+                        <a
+                            ><i class="el-icon-s-platform" />
+                            深圳市金源信通科技有限公司开发</a
+                        >
+                        <a href="https://beian.miit.gov.cn" target="_blank"
+                            >粤ICP备2022077950号</a
+                        >
                         <a></a>
                         <!-- <a
                             href="https://www.mingjiantech.com"
@@ -175,9 +206,6 @@ export default {
     margin-left: 10px;
     font-size: 26px;
     font-weight: bold;
-    position: absolute;
-    left: 0;
-    top: 0;
     a {
         // color: #8c92a4;
         color: black;

Beberapa file tidak ditampilkan karena terlalu banyak file yang berubah dalam diff ini