Browse Source

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

# Conflicts:
#	docs/zh_CN/前端部署文档.md
pull/1/MERGE
baoliang 6 years ago
parent
commit
7c2f6a9a1e
  1. 137
      docs/zh_CN/_book/前端部署文档.html
  2. 44
      docs/zh_CN/前端部署文档.md
  3. 4
      escheduler-ui/.env
  4. 4
      escheduler-ui/package.json
  5. 3
      escheduler-ui/src/js/conf/home/pages/projects/pages/list/_source/createProject.vue
  6. 64
      escheduler-ui/src/js/conf/home/pages/security/pages/queue/_source/createQueue.vue
  7. 30
      escheduler-ui/src/js/conf/home/pages/security/pages/queue/_source/list.vue
  8. 24
      escheduler-ui/src/js/conf/home/pages/security/pages/queue/index.vue
  9. 4
      escheduler-ui/src/js/conf/home/pages/security/pages/users/index.vue
  10. 52
      escheduler-ui/src/js/conf/home/store/security/actions.js
  11. 2
      escheduler-ui/src/js/module/components/secondaryMenu/menu.js

137
docs/zh_CN/_book/前端部署文档.html

@ -469,121 +469,17 @@ API_BASE = http://192.168.220.204:12345
<li><p><code>npm run build</code> &#x9879;&#x76EE;&#x6253;&#x5305; (&#x6253;&#x5305;&#x540E;&#x6839;&#x76EE;&#x5F55;&#x4F1A;&#x521B;&#x5EFA;&#x4E00;&#x4E2A;&#x540D;&#x4E3A;dist&#x6587;&#x4EF6;&#x5939;&#xFF0C;&#x7528;&#x4E8E;&#x53D1;&#x5E03;&#x7EBF;&#x4E0A;Nginx)</p> <li><p><code>npm run build</code> &#x9879;&#x76EE;&#x6253;&#x5305; (&#x6253;&#x5305;&#x540E;&#x6839;&#x76EE;&#x5F55;&#x4F1A;&#x521B;&#x5EFA;&#x4E00;&#x4E2A;&#x540D;&#x4E3A;dist&#x6587;&#x4EF6;&#x5939;&#xFF0C;&#x7528;&#x4E8E;&#x53D1;&#x5E03;&#x7EBF;&#x4E0A;Nginx)</p>
</li> </li>
</ul> </ul>
<h3 id="2&#x81EA;&#x52A8;&#x5316;&#x90E8;&#x7F72;">2.&#x81EA;&#x52A8;&#x5316;&#x90E8;&#x7F72;</h3> <h3 id="2&#x81EA;&#x52A8;&#x5316;&#x90E8;&#x7F72;">2.&#x81EA;&#x52A8;&#x5316;&#x90E8;&#x7F72;`</h3>
<p>&#x524D;&#x7AEF;&#x81EA;&#x52A8;&#x90E8;&#x7F72;&#x57FA;&#x4E8E;<code>yum</code>&#x64CD;&#x4F5C;&#xFF0C;&#x90E8;&#x7F72;&#x4E4B;&#x524D;&#x8BF7;&#x5148;&#x5B89;&#x88C5;&#x66F4;&#x65B0;<code>yum</code></p> <p>&#x5728;&#x9879;&#x76EE;<code>escheduler-ui</code>&#x6839;&#x76EE;&#x5F55;&#x7F16;&#x8F91;&#x5B89;&#x88C5;&#x6587;&#x4EF6;<code>vi install(&#x7EBF;&#x4E0A;&#x73AF;&#x5883;).sh</code></p>
<p>&#x66F4;&#x6539;&#x524D;&#x7AEF;&#x8BBF;&#x95EE;&#x7AEF;&#x53E3;&#x548C;&#x540E;&#x7AEF;&#x4EE3;&#x7406;&#x63A5;&#x53E3;&#x5730;&#x5740;</p>
<pre><code># &#x914D;&#x7F6E;&#x524D;&#x7AEF;&#x8BBF;&#x95EE;&#x7AEF;&#x53E3;
esc_proxy=&quot;8888&quot;
# &#x914D;&#x7F6E;&#x4EE3;&#x7406;&#x540E;&#x7AEF;&#x63A5;&#x53E3;
esc_proxy_port=&quot;http://192.168.220.154:12345&quot;
</code></pre><p>&#x524D;&#x7AEF;&#x81EA;&#x52A8;&#x90E8;&#x7F72;&#x57FA;&#x4E8E;<code>yum</code>&#x64CD;&#x4F5C;&#xFF0C;&#x90E8;&#x7F72;&#x4E4B;&#x524D;&#x8BF7;&#x5148;&#x5B89;&#x88C5;&#x66F4;&#x65B0;`yum</p>
<p>&#x5728;&#x9879;&#x76EE;<code>escheduler-ui</code>&#x6839;&#x76EE;&#x5F55;&#x6267;&#x884C;<code>./install(&#x7EBF;&#x4E0A;&#x73AF;&#x5883;).sh</code> </p> <p>&#x5728;&#x9879;&#x76EE;<code>escheduler-ui</code>&#x6839;&#x76EE;&#x5F55;&#x6267;&#x884C;<code>./install(&#x7EBF;&#x4E0A;&#x73AF;&#x5883;).sh</code> </p>
<pre><code>[root@localhost escheduler-ui]# ./install.sh <h3 id="3&#x624B;&#x52A8;&#x90E8;&#x7F72;">3.&#x624B;&#x52A8;&#x90E8;&#x7F72;</h3>
escheduler-ui-install.sh
========================================================================&#x914D;&#x7F6E;&#x4FE1;&#x606F;=======================================================================
&#x524D;&#x7AEF;&#x8BBF;&#x95EE;&#x7AEF;&#x53E3;&#xFF1A;8888
&#x540E;&#x7AEF;&#x4EE3;&#x7406;&#x63A5;&#x53E3;&#x5730;&#x5740;&#xFF1A;http://192.168.220.154:12345
&#x9759;&#x6001;&#x6587;&#x4EF6;&#x5730;&#x5740;&#xFF1A;/data/EasyScheduler/escheduler-ui/dist
&#x5F53;&#x524D;&#x8DEF;&#x5F84;&#xFF1A;/data/EasyScheduler/escheduler-ui
&#x672C;&#x673A;ip&#xFF1A;192.168.60.94
========================================================================&#x914D;&#x7F6E;&#x4FE1;&#x606F;=======================================================================
&#x83B7;&#x53D6;http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
&#x8B66;&#x544A;&#xFF1A;/var/tmp/rpm-tmp.pgG0MW: &#x5934;V4 RSA/SHA1 Signature, &#x5BC6;&#x94A5; ID 7bd9bf62: NOKEY
&#x51C6;&#x5907;&#x4E2D;... ################################# [100%]
&#x6B63;&#x5728;&#x5347;&#x7EA7;/&#x5B89;&#x88C5;...
1:nginx-release-centos-7-0.el7.ngx ################################# [100%]
&#x5DF2;&#x52A0;&#x8F7D;&#x63D2;&#x4EF6;&#xFF1A;fastestmirror
Loading mirror speeds from cached hostfile
* base: mirrors.zju.edu.cn
* extras: mirrors.tuna.tsinghua.edu.cn
* updates: mirrors.tuna.tsinghua.edu.cn
&#x6B63;&#x5728;&#x89E3;&#x51B3;&#x4F9D;&#x8D56;&#x5173;&#x7CFB;
--&gt; &#x6B63;&#x5728;&#x68C0;&#x67E5;&#x4E8B;&#x52A1;
---&gt; &#x8F6F;&#x4EF6;&#x5305; nginx.x86_64.1.1.14.2-1.el7_4.ngx &#x5C06;&#x88AB; &#x5B89;&#x88C5;
--&gt; &#x89E3;&#x51B3;&#x4F9D;&#x8D56;&#x5173;&#x7CFB;&#x5B8C;&#x6210;
&#x4F9D;&#x8D56;&#x5173;&#x7CFB;&#x89E3;&#x51B3;
========================================================================================================================================================================================================
Package &#x67B6;&#x6784; &#x7248;&#x672C; &#x6E90; &#x5927;&#x5C0F;
========================================================================================================================================================================================================
&#x6B63;&#x5728;&#x5B89;&#x88C5;:
nginx x86_64 1:1.14.2-1.el7_4.ngx nginx 754 k
&#x4E8B;&#x52A1;&#x6982;&#x8981;
========================================================================================================================================================================================================
&#x5B89;&#x88C5; 1 &#x8F6F;&#x4EF6;&#x5305;
&#x603B;&#x4E0B;&#x8F7D;&#x91CF;&#xFF1A;754 k
&#x5B89;&#x88C5;&#x5927;&#x5C0F;&#xFF1A;2.6 M
Downloading packages:
nginx-1.14.2-1.el7_4.ngx.x86_64.rpm | 754 kB 00:00:18
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
&#x8B66;&#x544A;&#xFF1A;RPM &#x6570;&#x636E;&#x5E93;&#x5DF2;&#x88AB;&#x975E; yum &#x7A0B;&#x5E8F;&#x4FEE;&#x6539;&#x3002;
&#x6B63;&#x5728;&#x5B89;&#x88C5; : 1:nginx-1.14.2-1.el7_4.ngx.x86_64 1/1
----------------------------------------------------------------------
Thanks for using nginx!
Please find the official documentation for nginx here:
* http://nginx.org/en/docs/
Please subscribe to nginx-announce mailing list to get
the most important news about nginx:
* http://nginx.org/en/support.html
Commercial subscriptions for nginx are available on:
* http://nginx.com/products/
----------------------------------------------------------------------
&#x9A8C;&#x8BC1;&#x4E2D; : 1:nginx-1.14.2-1.el7_4.ngx.x86_64 1/1
&#x5DF2;&#x5B89;&#x88C5;:
nginx.x86_64 1:1.14.2-1.el7_4.ngx
&#x5B8C;&#x6BD5;&#xFF01;
nginx &#x5B89;&#x88C5;&#x6210;&#x529F;
&#x5DF2;&#x52A0;&#x8F7D;&#x63D2;&#x4EF6;&#xFF1A;fastestmirror
Loading mirror speeds from cached hostfile
* base: mirrors.zju.edu.cn
* extras: mirrors.tuna.tsinghua.edu.cn
* updates: mirrors.tuna.tsinghua.edu.cn
&#x6B63;&#x5728;&#x89E3;&#x51B3;&#x4F9D;&#x8D56;&#x5173;&#x7CFB;
--&gt; &#x6B63;&#x5728;&#x68C0;&#x67E5;&#x4E8B;&#x52A1;
---&gt; &#x8F6F;&#x4EF6;&#x5305; policycoreutils-python.x86_64.0.2.5-29.el7_6.1 &#x5C06;&#x88AB; &#x5B89;&#x88C5;
--&gt; &#x89E3;&#x51B3;&#x4F9D;&#x8D56;&#x5173;&#x7CFB;&#x5B8C;&#x6210;
&#x4F9D;&#x8D56;&#x5173;&#x7CFB;&#x89E3;&#x51B3;
========================================================================================================================================================================================================
Package &#x67B6;&#x6784; &#x7248;&#x672C; &#x6E90; &#x5927;&#x5C0F;
========================================================================================================================================================================================================
&#x6B63;&#x5728;&#x5B89;&#x88C5;:
policycoreutils-python x86_64 2.5-29.el7_6.1 updates 456 k
&#x4E8B;&#x52A1;&#x6982;&#x8981;
========================================================================================================================================================================================================
&#x5B89;&#x88C5; 1 &#x8F6F;&#x4EF6;&#x5305;
&#x603B;&#x4E0B;&#x8F7D;&#x91CF;&#xFF1A;456 k
&#x5B89;&#x88C5;&#x5927;&#x5C0F;&#xFF1A;1.2 M
Downloading packages:
policycoreutils-python-2.5-29.el7_6.1.x86_64.rpm | 456 kB 00:00:11
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
&#x6B63;&#x5728;&#x5B89;&#x88C5; : policycoreutils-python-2.5-29.el7_6.1.x86_64 1/1
&#x9A8C;&#x8BC1;&#x4E2D; : policycoreutils-python-2.5-29.el7_6.1.x86_64 1/1
&#x5DF2;&#x5B89;&#x88C5;:
policycoreutils-python.x86_64 0:2.5-29.el7_6.1
&#x5B8C;&#x6BD5;&#xFF01;
ValueError: &#x5DF2;&#x5B9A;&#x4E49;&#x7AEF;&#x53E3; tcp/8888
success
success
&#x8BF7;&#x6D4F;&#x89C8;&#x5668;&#x8BBF;&#x95EE;&#xFF1A;http://192.168.60.94:8888
[root@localhost escheduler-ui]#
</code></pre><h3 id="3&#x624B;&#x52A8;&#x90E8;&#x7F72;">3.&#x624B;&#x52A8;&#x90E8;&#x7F72;</h3>
<p>&#x5B89;&#x88C5;epel&#x6E90; <code>yum install epel-release -y</code></p> <p>&#x5B89;&#x88C5;epel&#x6E90; <code>yum install epel-release -y</code></p>
<p>&#x5B89;&#x88C5;Nginx <code>yum install nginx -y</code></p> <p>&#x5B89;&#x88C5;Nginx <code>yum install nginx -y</code></p>
<h4 id="&#x547D;&#x4EE4;">&#x547D;&#x4EE4;</h4> <h4 id="&#x547D;&#x4EE4;">&#x547D;&#x4EE4;</h4>
@ -642,6 +538,17 @@ success
<h3 id="4liunx&#x4E0B;&#x4F7F;&#x7528;node&#x542F;&#x52A8;&#x5E76;&#x4E14;&#x5B88;&#x62A4;&#x8FDB;&#x7A0B;">4.Liunx&#x4E0B;&#x4F7F;&#x7528;node&#x542F;&#x52A8;&#x5E76;&#x4E14;&#x5B88;&#x62A4;&#x8FDB;&#x7A0B;</h3> <h3 id="4liunx&#x4E0B;&#x4F7F;&#x7528;node&#x542F;&#x52A8;&#x5E76;&#x4E14;&#x5B88;&#x62A4;&#x8FDB;&#x7A0B;">4.Liunx&#x4E0B;&#x4F7F;&#x7528;node&#x542F;&#x52A8;&#x5E76;&#x4E14;&#x5B88;&#x62A4;&#x8FDB;&#x7A0B;</h3>
<p>&#x5B89;&#x88C5;pm2 <code>npm install -g pm2</code></p> <p>&#x5B89;&#x88C5;pm2 <code>npm install -g pm2</code></p>
<p>&#x5728;&#x9879;&#x76EE;<code>escheduler-ui</code>&#x6839;&#x76EE;&#x5F55;&#x6267;&#x884C; <code>pm2 start npm -- run dev</code> &#x542F;&#x52A8;&#x9879;&#x76EE;</p> <p>&#x5728;&#x9879;&#x76EE;<code>escheduler-ui</code>&#x6839;&#x76EE;&#x5F55;&#x6267;&#x884C; <code>pm2 start npm -- run dev</code> &#x542F;&#x52A8;&#x9879;&#x76EE;</p>
<h4 id="&#x547D;&#x4EE4;">&#x547D;&#x4EE4;</h4>
<ul>
<li><p>&#x542F;&#x7528; <code>pm2 start npm -- run dev</code></p>
</li>
<li><p>&#x505C;&#x6B62; <code>pm2 stop npm</code></p>
</li>
<li><p>&#x5220;&#x9664; <code>pm2 delete npm</code></p>
</li>
<li><p>&#x72B6;&#x6001; <code>pm2 list</code></p>
</li>
</ul>
<pre><code> <pre><code>
[root@localhost escheduler-ui]# pm2 start npm -- run dev [root@localhost escheduler-ui]# pm2 start npm -- run dev
[PM2] Applying action restartProcessId on app [npm](ids: 0) [PM2] Applying action restartProcessId on app [npm](ids: 0)
@ -697,7 +604,7 @@ client_max_body_size 1024m
<script> <script>
var gitbook = gitbook || []; var gitbook = gitbook || [];
gitbook.push(function() { gitbook.push(function() {
gitbook.page.hasChanged({"page":{"title":"环境搭建","level":"1.2.1","depth":2,"next":{"title":"安装及配置","level":"1.2.2","depth":2,"anchor":"#安装及配置","path":"前端部署文档.md","ref":"前端部署文档.md#安装及配置","articles":[]},"previous":{"title":"前端部署文档","level":"1.2","depth":1,"ref":"","articles":[{"title":"环境搭建","level":"1.2.1","depth":2,"anchor":"#前端项目环境构建及编译","path":"前端部署文档.md","ref":"前端部署文档.md#前端项目环境构建及编译","articles":[]},{"title":"安装及配置","level":"1.2.2","depth":2,"anchor":"#安装及配置","path":"前端部署文档.md","ref":"前端部署文档.md#安装及配置","articles":[]},{"title":"项目生产环境Nginx配置","level":"1.2.3","depth":2,"anchor":"#项目生产环境配置","path":"前端部署文档.md","ref":"前端部署文档.md#项目生产环境配置","articles":[]},{"title":"前端项目发布","level":"1.2.4","depth":2,"anchor":"#前端项目发布","path":"前端部署文档.md","ref":"前端部署文档.md#前端项目发布","articles":[]},{"title":"问题","level":"1.2.5","depth":2,"anchor":"#问题","path":"前端部署文档.md","ref":"前端部署文档.md#问题","articles":[]}]},"dir":"ltr"},"config":{"plugins":["expandable-chapters","insert-logo-link","livereload"],"styles":{"website":"./styles/website.css"},"pluginsConfig":{"livereload":{},"insert-logo-link":{"src":"http://geek.analysys.cn/static/upload/236/2019-03-29/379450b4-7919-4707-877c-4d33300377d4.png","url":"https://github.com/analysys/EasyScheduler"},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"fontsettings":{"theme":"white","family":"sans","size":2},"highlight":{},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"expandable-chapters":{}},"theme":"default","author":"YIGUAN","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"调度系统-EasyScheduler","language":"zh-hans","gitbook":"3.2.3","description":"调度系统"},"file":{"path":"前端部署文档.md","mtime":"2019-04-10T09:13:40.540Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-04-10T07:14:01.407Z"},"basePath":".","book":{"language":""}}); gitbook.page.hasChanged({"page":{"title":"环境搭建","level":"1.2.1","depth":2,"next":{"title":"安装及配置","level":"1.2.2","depth":2,"anchor":"#安装及配置","path":"前端部署文档.md","ref":"前端部署文档.md#安装及配置","articles":[]},"previous":{"title":"前端部署文档","level":"1.2","depth":1,"ref":"","articles":[{"title":"环境搭建","level":"1.2.1","depth":2,"anchor":"#前端项目环境构建及编译","path":"前端部署文档.md","ref":"前端部署文档.md#前端项目环境构建及编译","articles":[]},{"title":"安装及配置","level":"1.2.2","depth":2,"anchor":"#安装及配置","path":"前端部署文档.md","ref":"前端部署文档.md#安装及配置","articles":[]},{"title":"项目生产环境Nginx配置","level":"1.2.3","depth":2,"anchor":"#项目生产环境配置","path":"前端部署文档.md","ref":"前端部署文档.md#项目生产环境配置","articles":[]},{"title":"前端项目发布","level":"1.2.4","depth":2,"anchor":"#前端项目发布","path":"前端部署文档.md","ref":"前端部署文档.md#前端项目发布","articles":[]},{"title":"问题","level":"1.2.5","depth":2,"anchor":"#问题","path":"前端部署文档.md","ref":"前端部署文档.md#问题","articles":[]}]},"dir":"ltr"},"config":{"plugins":["expandable-chapters","insert-logo-link","livereload"],"styles":{"website":"./styles/website.css"},"pluginsConfig":{"livereload":{},"insert-logo-link":{"src":"http://geek.analysys.cn/static/upload/236/2019-03-29/379450b4-7919-4707-877c-4d33300377d4.png","url":"https://github.com/analysys/EasyScheduler"},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"fontsettings":{"theme":"white","family":"sans","size":2},"highlight":{},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"expandable-chapters":{}},"theme":"default","author":"YIGUAN","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"调度系统-EasyScheduler","language":"zh-hans","gitbook":"3.2.3","description":"调度系统"},"file":{"path":"前端部署文档.md","mtime":"2019-04-12T01:30:07.632Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-04-10T07:14:01.407Z"},"basePath":".","book":{"language":""}});
}); });
</script> </script>
</div> </div>

44
docs/zh_CN/前端部署文档.md

@ -35,13 +35,33 @@ API_BASE = http://192.168.220.204:12345
### 2.自动部署方式 ### 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` 在项目`escheduler-ui`根目录下,修改install.sh中的参数,执行`./install(线上环境).sh`
### 3.手动部署方式 ### 3.手动部署方式
在项目`escheduler-ui`根目录执行`./install(线上环境).sh`
### 3.手动部署
安装epel源 `yum install epel-release -y` 安装epel源 `yum install epel-release -y`
@ -120,6 +140,28 @@ systemctl restart nginx
在项目`escheduler-ui`根目录执行 `pm2 start npm -- run dev` 启动项目 在项目`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 ## FAQ
#### 1. 上传文件大小限制 #### 1. 上传文件大小限制

4
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访问项目把"#"号去掉 # 本地开发如需ip访问项目把"#"号去掉
#DEV_HOST = 192.168.xx.xx #DEV_HOST = 192.168.xx.xx

4
escheduler-ui/package.json

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

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

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

64
escheduler-ui/src/js/conf/home/pages/security/pages/queue/_source/createQueue.vue

@ -11,8 +11,8 @@
<template slot="content"> <template slot="content">
<x-input <x-input
type="input" type="input"
v-model="tenantName" v-model="queueName"
:placeholder="$t('请输入name')" placeholder="请输入名称"
autocomplete="off"> autocomplete="off">
</x-input> </x-input>
</template> </template>
@ -22,8 +22,8 @@
<template slot="content"> <template slot="content">
<x-input <x-input
type="input" type="input"
v-model="tenantName" v-model="queue"
:placeholder="$t('请输入name')" placeholder="请输入队列值"
autocomplete="off"> autocomplete="off">
</x-input> </x-input>
</template> </template>
@ -45,18 +45,72 @@
data () { data () {
return { return {
store, store,
queue:'',
queueName:''
} }
}, },
props: { props: {
item: Object item: Object
}, },
methods: { 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: { watch: {
}, },
created () { created () {
if (this.item) {
this.queueName = this.item.queueName
this.queue = this.item.queue
}
}, },
mounted () { mounted () {

30
escheduler-ui/src/js/conf/home/pages/security/pages/queue/_source/list.vue

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

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

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

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

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

52
escheduler-ui/src/js/conf/home/store/security/actions.js

@ -90,7 +90,7 @@ export default {
* @param "searchVal":string, * @param "searchVal":string,
* @param "pageSize":int * @param "pageSize":int
*/ */
getUsersListP ({ state }, payload) { getUsersList ({ state }, payload) {
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
io.get(`users/list-paging`, payload, res => { io.get(`users/list-paging`, payload, res => {
resolve(res.data) resolve(res.data)
@ -353,5 +353,53 @@ export default {
reject(e) 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)
})
})
},
} }

2
escheduler-ui/src/js/module/components/secondaryMenu/menu.js

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

Loading…
Cancel
Save