2
0

2 کامیت‌ها b8ff3adbf6 ... fa5352822c

نویسنده SHA1 پیام تاریخ
  LaveyD fa5352822c refactor(systemSetting): 调整项目设置中对话框显示逻辑 1 هفته پیش
  LaveyD 97006102cf feat(project): 添加项目线上地址功能 1 هفته پیش

+ 24 - 1
src/views/systemSetting/project.vue

@@ -66,6 +66,18 @@
           label="线下地址"
           width="200">
         </el-table-column>
+        <el-table-column
+          prop="webUrl"
+          label="线上地址"
+          width="260">
+          <template slot-scope="scope">
+            <el-button
+              v-if="scope.row.webUrl"
+              type="text"
+              @click="openOnlineUrl(scope.row.webUrl)">{{ buildOnlineUrl(scope.row.webUrl) }}</el-button>
+            <span v-else>-</span>
+          </template>
+        </el-table-column>
         <el-table-column
           prop="lastHeartbeatTime"
           label="最近一次在线时间"
@@ -165,9 +177,20 @@ export default {
     }
   },
   methods: {
+    // 线上地址 = 项目线上域名 + 离线端前端登录页
+    buildOnlineUrl (url) {
+      if (!url) return ''
+      return url.replace(/\/+$/, '') + '/frontend/offline/#/login'
+    },
+    // 新开标签页打开线上地址
+    openOnlineUrl (url) {
+      const link = this.buildOnlineUrl(url)
+      if (!link) return
+      window.open(link, '_blank')
+    },
     showDialog (type, item) {
-      this[`${type}Visible`] = true
       this.currentItem = item
+      this[`${type}Visible`] = true
     },
     getProjectList (goFirst) {
       this.loading = true

+ 9 - 1
src/views/systemSetting/project/AddDialog.vue

@@ -32,6 +32,13 @@
         prop="offlineUrl">
         <el-input v-model="form.offlineUrl"></el-input>
       </el-form-item>
+      <el-form-item
+        label="线上系统的地址"
+        prop="webUrl">
+        <el-input
+          v-model="form.webUrl"
+          placeholder="例:http://114.104.160.118:18003"></el-input>
+      </el-form-item>
     </el-form>
 
     <div class="dialog-btn-wrap">
@@ -56,7 +63,8 @@ export default {
         projectName: '',
         projectNickName: '',
         projectDesc: '',
-        offlineUrl: ''
+        offlineUrl: '',
+        webUrl: ''
       },
       rules: {}
     }

+ 10 - 1
src/views/systemSetting/project/EditDialog.vue

@@ -25,6 +25,13 @@
         prop="offlineUrl">
         <el-input v-model="form.offlineUrl"></el-input>
       </el-form-item>
+      <el-form-item
+        label="线上系统的地址"
+        prop="webUrl">
+        <el-input
+          v-model="form.webUrl"
+          placeholder="例:http://114.104.160.118:18003"></el-input>
+      </el-form-item>
       <el-form-item
         label="项目的有效期截止时间"
         prop="validEndTime">
@@ -65,6 +72,7 @@ export default {
         projectNickName: '',
         projectDesc: '',
         offlineUrl: '',
+        webUrl: '',
         validEndTime: moment().add(99, 'year').toDate() // 默认有效期为1年
       },
       rules: {}
@@ -107,12 +115,13 @@ export default {
       this.reset()
       // 初始化编辑数据
       if (this.projectItem) {
-        const { id, projectNickName, projectDesc, offlineUrl, validEndTime } = this.projectItem
+        const { id, projectNickName, projectDesc, offlineUrl, webUrl, validEndTime } = this.projectItem
         this.form = {
           id,
           projectNickName,
           projectDesc,
           offlineUrl,
+          webUrl,
           validEndTime: validEndTime ? moment(validEndTime).toDate() : moment().add(99, 'year').toDate()
         }
       }