Browse Source

Merge remote-tracking branch 'upstream/dev' into dev

# Conflicts:
#	docs/zh_CN/前端部署文档.md
baoliang 6 years ago
parent
commit
7c2f6a9a1e

File diff suppressed because it is too large
+ 22 - 115
docs/zh_CN/_book/前端部署文档.html


+ 43 - 1
docs/zh_CN/前端部署文档.md

@@ -35,13 +35,33 @@ API_BASE = http://192.168.220.204:12345
 
 ### 2.自动部署方式
 
-前端自动部署基于`yum`操作,部署之前请先安装更新`yum`
+### 2.自动化部署`
+
+在项目`escheduler-ui`根目录编辑安装文件`vi install(线上环境).sh`
+
+更改前端访问端口和后端代理接口地址
+
+```
+# 配置前端访问端口
+esc_proxy="8888"
+
+# 配置代理后端接口
+esc_proxy_port="http://192.168.220.154:12345"
+```
+
+前端自动部署基于`yum`操作,部署之前请先安装更新`yum
 
 在项目`escheduler-ui`根目录下,修改install.sh中的参数,执行`./install(线上环境).sh` 
 
 
 
 ### 3.手动部署方式
+在项目`escheduler-ui`根目录执行`./install(线上环境).sh` 
+
+
+
+
+### 3.手动部署
 
 安装epel源 `yum install epel-release -y`
 
@@ -120,6 +140,28 @@ systemctl restart nginx
 
 在项目`escheduler-ui`根目录执行 `pm2 start npm -- run dev` 启动项目
 
+#### 命令
+
+- 启用 `pm2 start npm -- run dev`
+
+- 停止 `pm2 stop npm`
+
+- 删除 `pm2 delete npm`
+
+- 状态 `pm2 list`
+
+```
+
+[root@localhost escheduler-ui]# pm2 start npm -- run dev
+[PM2] Applying action restartProcessId on app [npm](ids: 0)
+[PM2] [npm](0) ✓
+[PM2] Process successfully started
+┌──────────┬────┬─────────┬──────┬──────┬────────┬─────────┬────────┬─────┬──────────┬──────┬──────────┐
+│ App name │ id │ version │ mode │ pid  │ status │ restart │ uptime │ cpu │ mem      │ user │ watching │
+├──────────┼────┼─────────┼──────┼──────┼────────┼─────────┼────────┼─────┼──────────┼──────┼──────────┤
+│ npm      │ 0  │ N/A     │ fork │ 6168 │ online │ 31      │ 0s     │ 0%  │ 5.6 MB   │ root │ disabled │
+└──────────┴────┴─────────┴──────┴──────┴────────┴─────────┴────────┴─────┴──────────┴──────┴──────────┘
+ Use `pm2 show <id|name>` to get more details about an app
 ## FAQ
 
 ####  1. 上传文件大小限制

+ 3 - 1
escheduler-ui/.env

@@ -1,6 +1,8 @@
 
 # 后端接口地址
-API_BASE = http://192.168.220.154:12345
+#API_BASE = http://192.168.220.154:12345
+
+API_BASE = http://192.168.221.188:12345
 
 # 本地开发如需ip访问项目把"#"号去掉
 #DEV_HOST = 192.168.xx.xx

+ 0 - 4
escheduler-ui/package.json

@@ -41,7 +41,6 @@
     "env-parse": "^1.0.5",
     "extract-text-webpack-plugin": "^3.0.2",
     "file-loader": "^1.1.11",
-    "ghooks": "^2.0.4",
     "globby": "^8.0.1",
     "html-loader": "^0.5.5",
     "html-webpack-ext-plugin": "^1.0.0",
@@ -76,9 +75,6 @@
       "build/**"
     ]
   },
-  "config": {
-    "ghooks": {}
-  },
   "devDependencies": {
     "jasmine-core": "^3.2.1",
     "jquery": "1.12.4",

+ 0 - 3
escheduler-ui/src/js/conf/home/pages/projects/pages/list/_source/createProject.vue

@@ -96,6 +96,3 @@
     components: { mPopup, mListBoxF }
   }
 </script>
-
-<style lang="scss" rel="stylesheet/scss">
-</style>

+ 59 - 5
escheduler-ui/src/js/conf/home/pages/security/pages/queue/_source/createQueue.vue

@@ -11,8 +11,8 @@
           <template slot="content">
             <x-input
                     type="input"
-                    v-model="tenantName"
-                    :placeholder="$t('请输入name')"
+                    v-model="queueName"
+                    placeholder="请输入名称"
                     autocomplete="off">
             </x-input>
           </template>
@@ -22,8 +22,8 @@
           <template slot="content">
             <x-input
                     type="input"
-                    v-model="tenantName"
-                    :placeholder="$t('请输入name')"
+                    v-model="queue"
+                    placeholder="请输入队列值"
                     autocomplete="off">
             </x-input>
           </template>
@@ -45,18 +45,72 @@
     data () {
       return {
         store,
+        queue:'',
+        queueName:''
       }
     },
     props: {
       item: Object
     },
     methods: {
+      _ok(){
+        if (!this._verification()) {
+          return
+        }
 
+        let param = {
+          queue: _.trim(this.queue),
+          queueName: _.trim(this.queueName)
+        }
+        // edit
+        if (this.item) {
+          param.id = this.item.id
+        }
+        this._verifyName(param).then(() => {
+          this.$refs['popup'].spinnerLoading = true
+          this.store.dispatch(`security/${this.item ? 'updateQueueQ' : 'createQueueQ'}`, param).then(res => {
+            this.$emit('onUpdate')
+            this.$message.success(res.msg)
+            setTimeout(() => {
+              this.$refs['popup'].spinnerLoading = false
+            }, 800)
+          }).catch(e => {
+            this.$message.error(e.msg || '')
+            this.$refs['popup'].spinnerLoading = false
+          })
+        }).catch(e => {
+          this.$message.error(e.msg || '')
+        })
+
+      },
+      _verification(){
+        if (!this.queueName) {
+          this.$message.warning(`请输入名称`)
+          return false
+        }
+        if (!this.queue) {
+          this.$message.warning(`请输入队列值`)
+          return false
+        }
+        return true
+      },
+      _verifyName(param){
+        return new Promise((resolve, reject) => {
+          this.store.dispatch(`security/verifyQueueQ`, param).then(res => {
+            resolve()
+          }).catch(e => {
+            reject(e)
+          })
+        })
+      }
     },
     watch: {
     },
     created () {
-
+      if (this.item) {
+        this.queueName = this.item.queueName
+        this.queue = this.item.queue
+      }
     },
     mounted () {
 

+ 12 - 18
escheduler-ui/src/js/conf/home/pages/security/pages/queue/_source/list.vue

@@ -7,16 +7,10 @@
             <span>{{$t('编号')}}</span>
           </th>
           <th>
-            <span>{{$t('租户编码')}}</span>
+            <span>{{$t('名称')}}</span>
           </th>
           <th>
-            <span>{{$t('租户名称')}}</span>
-          </th>
-          <th>
-            <span>{{$t('描述')}}</span>
-          </th>
-          <th>
-            <span>{{$t('队列')}}</span>
+            <span>队列值</span>
           </th>
           <th>
             <span>{{$t('创建时间')}}</span>
@@ -35,25 +29,25 @@
           <td>
             <span>
               <a href="javascript:" class="links">
-                {{item.tenantCode}}
+                {{item.queueName}}
               </a>
             </span>
           </td>
           <td>
             <span>
               <a href="javascript:" class="links">
-                {{item.tenantName}}
+                {{item.queue}}
               </a>
             </span>
           </td>
           <td>
-            <span>{{item.desc}}</span>
+            <span v-if="item.createTime">{{item.createTime | formatDate}}</span>
+            <span v-else>-</span>
           </td>
           <td>
-            <span>{{item.queueName}}</span>
+            <span v-if="item.updateTime">{{item.updateTime | formatDate}}</span>
+            <span v-else>-</span>
           </td>
-          <td><span>{{item.createTime | formatDate}}</span></td>
-          <td><span>{{item.updateTime | formatDate}}</span></td>
           <td>
             <x-button
                     type="info"
@@ -96,7 +90,7 @@
       }
     },
     props: {
-      tenementList: Array,
+      queueList: Array,
       pageNo: Number,
       pageSize: Number
     },
@@ -118,11 +112,11 @@
         })
       },
       _edit (item) {
-        findComponentDownward(this.$root, 'tenement-index')._create(item)
+        findComponentDownward(this.$root, 'queue-index')._create(item)
       }
     },
     watch: {
-      tenementList (a) {
+      queueList (a) {
         this.list = []
         setTimeout(() => {
           this.list = a
@@ -130,7 +124,7 @@
       }
     },
     created () {
-      this.list = this.tenementList
+      this.list = this.queueList
     },
     mounted () {
     },

+ 12 - 12
escheduler-ui/src/js/conf/home/pages/security/pages/queue/index.vue

@@ -11,13 +11,13 @@
           </m-conditions>
         </template>
         <template slot="content">
-          <template v-if="tenementList.length">
-            <m-list :tenement-list="tenementList" :page-no="pageNo" :page-size="pageSize"></m-list>
+          <template v-if="queueList.length">
+            <m-list :queue-list="queueList" :page-no="pageNo" :page-size="pageSize"></m-list>
             <div class="page-box">
               <x-page :current="pageNo" :total="total" show-elevator @on-change="_page"></x-page>
             </div>
           </template>
-          <template v-if="!tenementList.length">
+          <template v-if="!queueList.length">
             <m-no-data></m-no-data>
           </template>
           <m-spin :is-spin="isLoading"></m-spin>
@@ -45,23 +45,23 @@
         total: null,
         searchVal: '',
         isLoading: true,
-        tenementList: []
+        queueList: []
       }
     },
     props: {},
     methods: {
-      ...mapActions('security', ['getTenantListP']),
+      ...mapActions('security', ['getQueueListP']),
       /**
        * 查询
        */
       _onConditions (o) {
         this.searchVal = o.searchVal
         this.pageNo = 1
-        this._getTenantListP()
+        this._getQueueListP()
       },
       _page (val) {
         this.pageNo = val
-        this._getTenantListP()
+        this._getQueueListP()
       },
       _create (item) {
         let self = this
@@ -75,7 +75,7 @@
             return h(mCreateQueue, {
               on: {
                 onUpdate () {
-                  self._getTenantListP('false')
+                  self._getQueueListP('false')
                   modal.remove()
                 },
                 close () {
@@ -89,14 +89,14 @@
           }
         })
       },
-      _getTenantListP (flag) {
+      _getQueueListP (flag) {
         this.isLoading = !flag
-        this.getTenantListP({
+        this.getQueueListP({
           pageSize: this.pageSize,
           pageNo: this.pageNo,
           searchVal: this.searchVal
         }).then(res => {
-          this.tenementList = res.totalList
+          this.queueList = res.totalList
           this.total = res.total
           this.isLoading = false
         }).catch(e => {
@@ -106,7 +106,7 @@
     },
     watch: {},
     created () {
-      this._getTenantListP()
+      this._getQueueListP()
     },
     mounted () {
 

+ 2 - 2
escheduler-ui/src/js/conf/home/pages/security/pages/users/index.vue

@@ -50,7 +50,7 @@
     },
     props: {},
     methods: {
-      ...mapActions('security', ['getUsersListP']),
+      ...mapActions('security', ['getUsersList']),
       /**
        * 查询
        */
@@ -91,7 +91,7 @@
       },
       _getUsersListP (flag) {
         this.isLoading = !flag
-        this.getUsersListP({
+        this.getUsersList({
           pageSize: this.pageSize,
           pageNo: this.pageNo,
           searchVal: this.searchVal

+ 50 - 2
escheduler-ui/src/js/conf/home/store/security/actions.js

@@ -90,7 +90,7 @@ export default {
    * @param "searchVal":string,
    * @param "pageSize":int
    */
-  getUsersListP ({ state }, payload) {
+  getUsersList ({ state }, payload) {
     return new Promise((resolve, reject) => {
       io.get(`users/list-paging`, payload, res => {
         resolve(res.data)
@@ -353,5 +353,53 @@ export default {
         reject(e)
       })
     })
-  }
+  },
+  /**
+   * get queue list pages
+   */
+  getQueueListP({ state }, payload){
+    return new Promise((resolve, reject) => {
+      io.get(`queue/list-paging`, payload, res => {
+        resolve(res.data)
+      }).catch(e => {
+        reject(e)
+      })
+    })
+  },
+  /**
+   * create queue
+   */
+  createQueueQ({ state }, payload){
+    return new Promise((resolve, reject) => {
+      io.post(`queue/create`, payload, res => {
+        resolve(res)
+      }).catch(e => {
+        reject(e)
+      })
+    })
+  },
+  /**
+   * update queue
+   */
+  updateQueueQ({ state }, payload){
+    return new Promise((resolve, reject) => {
+      io.post(`queue/update`, payload, res => {
+        resolve(res)
+      }).catch(e => {
+        reject(e)
+      })
+    })
+  },
+  /**
+   * update queue
+   */
+  verifyQueueQ({ state }, payload){
+    return new Promise((resolve, reject) => {
+      io.post(`queue/verify-queue`, payload, res => {
+        resolve(res)
+      }).catch(e => {
+        reject(e)
+      })
+    })
+  },
 }

+ 1 - 1
escheduler-ui/src/js/module/components/secondaryMenu/menu.js

@@ -87,7 +87,7 @@ let menu = {
       id: 1,
       path: 'queue-manage',
       isOpen: true,
-      icon: 'fa-warning',
+      icon: 'fa-recycle',
       children: []
     },
     {