This is an automated email from the ASF dual-hosted git repository.

gaojun2048 pushed a commit to branch alert_plugin_design
in repository https://gitbox.apache.org/repos/asf/incubator-dolphinscheduler.git


The following commit(s) were added to refs/heads/alert_plugin_design by this 
push:
     new 20bc747  Replace the tenant management page ui with element-ui (#3891)
20bc747 is described below

commit 20bc747306b3d1ac110ecb3184f43e650038349c
Author: break60 <790061...@qq.com>
AuthorDate: Thu Oct 15 09:57:57 2020 +0800

    Replace the tenant management page ui with element-ui (#3891)
    
    * [feature-3665][ui]Add element-ui (#3666)
    
    * [feature-3665][ui]Add element-ui
    
    * add license
    
    * Add form-create plug-in and alarm group management add sample demo
    
    * Modify node version
    
    * fix
    
    * fix
    
    * [Feature-3682][ui]Add form-create plug-in and alarm group management add 
sample demo (#3683)
    
    * Add form-create plug-in and alarm group management add sample demo
    
    * Modify node version
    
    * fix
    
    * fix
    
    * [feature][ui] Add alarm instance page
    
    * [feature-3665][ui]Add element-ui (#3666)
    
    * [feature-3665][ui]Add element-ui
    
    * add license
    
    * Add form-create plug-in and alarm group management add sample demo
    
    * Modify node version
    
    * fix
    
    * fix
    
    * [feature-3665][ui]Add element-ui (#3666)
    
    * [feature-3665][ui]Add element-ui
    
    * add license
    
    * Add form-create plug-in and alarm group management add sample demo
    
    * Modify node version
    
    * fix
    
    * fix
    
    * [feature][ui]Alert plugin design (#3734)
    
    * [feature-3665][ui]Add element-ui (#3666)
    
    * [feature-3665][ui]Add element-ui
    
    * add license
    
    * Add form-create plug-in and alarm group management add sample demo
    
    * Modify node version
    
    * fix
    
    * fix
    
    * [Feature-3682][ui]Add form-create plug-in and alarm group management add 
sample demo (#3683)
    
    * Add form-create plug-in and alarm group management add sample demo
    
    * Modify node version
    
    * fix
    
    * fix
    
    * [feature][ui] Add alarm instance page
    
    * [feature-3665][ui]Add element-ui (#3666)
    
    * [feature-3665][ui]Add element-ui
    
    * add license
    
    * Add form-create plug-in and alarm group management add sample demo
    
    * Modify node version
    
    * fix
    
    * fix
    
    * [Feature-3189][alert,spi,dao,plugin-api] base code of dolphinscheduler 
spi and alert plugin implement (#3601)
    
    * DS SPI
    
    * Add DolphinScheduler SPI , and rebuilt the code of the Alert plug-in 
based on SPI
    
    * Add DolphinScheduler SPI , and rebuilt the code of the Alert plug-in 
based on SPI
    
    * add TODO
    
    * delete
    
    * compile
    
    * spi commit
    
    * Plugin Alert
    
    * fix some bug
    
    * add todo
    
    * change web ui from alpacajs to form-create
    
    * remove module
    
    * add plugin schema
    
    * add license header
    
    * update alert and spi module version
    
    * update the alert plugin sub module version
    
    * comment the maven.local.repository param
    
    * move utils from spi to common module
    
    * add license header
    
    * add license header and delete some chinese comment
    
    * update spi packages
    
    * delete no use alert_xx.properties
    
    * update mysql.connector.version back to 5.1.34
    
    * delete no use comment in pom.xml
    
    * update email stmp password
    
    * add license
    
    * add semicolon to sql/upgrade/1.4.0_schema/mysql/dolphinscheduler_ddl.sql 
file
    
    * format the code style
    
    * format new clase file with checkstyle
    
    * update plugin params to Builder model
    
    * move JSONUtils to SPI because plugin can not dependency common module
    
    * move JSONUtils to SPI because plugin can not dependency common module
    
    * delete collection dependency
    
    * replace PluginParamsTransfer to spi PluginParamsTransfer
    
    * update dolphinscheduler-maven-plugin to 1.0.0
    
    * update license
    
    * update apache-rat-plugin add exclude '.iml' file
    
    * check license
    
    * ArtifactResolver only use in development and configPlugins is not empty
    
    * ArtifactResolver only use in development and configPlugins is not empty
    
    * ArtifactResolver only use in development and configPlugins is not empty
    
    * default datasource should be postgresql
    
    * add license files
    
    * add license files
    
    * postgresql port should be 5432
    
    * postgresql test
    
    * mv show_type to spi
    
    add license header to AlertConstants
    
    * check style fix
    
    * copy check style file from branch dev
    
    * alert show_type set by plugin
    
    * alert show_type set by plugin
    
    * add PluginDefineMapper to 
dolphinscheduler-server/src/test/java/org/apache/dolphinscheduler/server/registry/DependencyConfig.java
    
    * add Bean to TaskCallbackServiceTestConfig
    
    * add Bean to TaskCallbackServiceTestConfig
    
    * fix check style
    
    * check style fix
    
    * [feature-3665][ui]Add element-ui (#3666)
    
    * [feature-3665][ui]Add element-ui
    
    * add license
    
    * fix check style
    
    * [Feature-3682][ui]Add form-create plug-in and alarm group management add 
sample demo (#3683)
    
    * Add form-create plug-in and alarm group management add sample demo
    
    * Modify node version
    
    * fix
    
    * fix
    
    * check style fix
    
    * rollback test change
    
    * rollback test change
    
    * rollback dao pom change
    
    * [feature-3665][ui]Add element-ui (#3666)
    
    * [feature-3665][ui]Add element-ui
    
    * add license
    
    * Add form-create plug-in and alarm group management add sample demo
    
    * Modify node version
    
    * fix
    
    * fix
    
    * add ut to pom.xml
    
    * add upgrade schema to global schema
    
    * fix ut failed
    
    * fix ut failed
    
    * fix ut failed
    
    * fix ut failed
    
    * add test EmailAlertPluginTest to pom.xml
    
    * fix ut failed
    
    * fix ut failed
    
    * fix check style
    
    * update license header to presto license header
    
    * presto license header not check
    
    * fix ut coverage
    
    * fix ut coverage
    
    * fix ut
    
    * fix ut
    
    * fix ut
    
    * fix ut coverage
    
    * fix ut coverage
    
    * fix ut coverage
    
    * fix ut coverage
    
    * fix ut coverage
    
    * fix ut coverage
    
    Co-authored-by: break60 <790061...@qq.com>
    
    * The tenant management module ui is replaced with element-ui
    
    * fix
    
    * fix
    
    * fix
    
    * fix
    
    * fix
    
    * modify
    
    * fix
    
    Co-authored-by: gaojun2048 <32193458+gaojun2...@users.noreply.github.com>
---
 dolphinscheduler-ui/src/js/conf/home/index.js      |   4 +-
 .../pages/security/pages/tenement/_source/list.vue | 131 ++++++---------------
 .../home/pages/security/pages/tenement/index.vue   |  13 +-
 dolphinscheduler-ui/src/js/conf/login/index.js     |   3 +-
 .../src/js/module/components/popup/popup.vue       |   4 +-
 dolphinscheduler-ui/src/sass/common/_table.scss    |   6 +
 .../locator/security/TenantManageLocator.java      |   6 +-
 7 files changed, 64 insertions(+), 103 deletions(-)

diff --git a/dolphinscheduler-ui/src/js/conf/home/index.js 
b/dolphinscheduler-ui/src/js/conf/home/index.js
index 6d76554..381e203 100644
--- a/dolphinscheduler-ui/src/js/conf/home/index.js
+++ b/dolphinscheduler-ui/src/js/conf/home/index.js
@@ -19,6 +19,7 @@
 // (runtime-only or standalone) has been set in webpack.base.conf with an 
alias.
 import Vue from 'vue'
 import ElementUI from 'element-ui'
+import locale from 'element-ui/lib/locale/lang/en'
 import 'element-ui/lib/theme-chalk/index.css'
 import App from './App'
 import router from './router'
@@ -43,7 +44,8 @@ import formCreate, {maker} from '@form-create/element-ui'
 // Component internationalization
 const useOpt = i18n.globalScope.LOCALE === 'en_US' ? { locale: en_US } : {}
 
-Vue.use(ElementUI)
+i18n.globalScope.LOCALE === 'en_US' ? Vue.use(ElementUI, { locale }) : 
Vue.use(ElementUI)
+
 
 // Vue.use(ans)
 Vue.use(ans, useOpt)
diff --git 
a/dolphinscheduler-ui/src/js/conf/home/pages/security/pages/tenement/_source/list.vue
 
b/dolphinscheduler-ui/src/js/conf/home/pages/security/pages/tenement/_source/list.vue
index d0029d2..0621bf9 100644
--- 
a/dolphinscheduler-ui/src/js/conf/home/pages/security/pages/tenement/_source/list.vue
+++ 
b/dolphinscheduler-ui/src/js/conf/home/pages/security/pages/tenement/_source/list.vue
@@ -17,95 +17,43 @@
 <template>
   <div class="list-model">
     <div class="table-box">
-      <table>
-        <tr>
-          <th>
-            <span>{{$t('#')}}</span>
-          </th>
-          <th>
-            <span>{{$t('Tenant Code')}}</span>
-          </th>
-          <th>
-            <span>{{$t('Tenant Name')}}</span>
-          </th>
-          <th>
-            <span>{{$t('Description')}}</span>
-          </th>
-          <th>
-            <span>{{$t('Queue')}}</span>
-          </th>
-          <th>
-            <span>{{$t('Create Time')}}</span>
-          </th>
-          <th>
-            <span>{{$t('Update Time')}}</span>
-          </th>
-          <th width="70">
-            <span>{{$t('Operation')}}</span>
-          </th>
-        </tr>
-        <tr v-for="(item, $index) in list" :key="$index">
-          <td>
-            <span>{{parseInt(pageNo === 1 ? ($index + 1) : (($index + 1) + 
(pageSize * (pageNo - 1))))}}</span>
-          </td>
-          <td>
-            <span>
-              {{item.tenantCode}}
-            </span>
-          </td>
-          <td>
-            <span>
-              {{item.tenantName}}
-            </span>
-          </td>
-          <td>
-            <span v-if="item.description" class="ellipsis" 
v-tooltip.large.top.start.light="{text: item.description, maxWidth: 
'500px'}">{{item.description}}</span>
-            <span v-else>-</span>
-          </td>
-          <td>
-            <span>{{item.queueName}}</span>
-          </td>
-          <td>
-            <span v-if="item.createTime">{{item.createTime | 
formatDate}}</span>
-            <span v-else>-</span>
-          </td>
-          <td>
-            <span v-if="item.updateTime">{{item.updateTime | 
formatDate}}</span>
-            <span v-else>-</span>
-          </td>
-          <td>
-            <x-button
-                    type="info"
-                    shape="circle"
-                    size="xsmall"
-                    data-toggle="tooltip"
-                    :title="$t('Edit')"
-                    @click="_edit(item)"
-                    icon="ans-icon-edit">
-            </x-button>
-            <x-poptip
-              :ref="'poptip-' + $index"
-              placement="bottom-end"
-              width="90">
-              <p>{{$t('Delete?')}}</p>
-              <div style="text-align: right; margin: 0;padding-top: 4px;">
-                <x-button type="text" size="xsmall" shape="circle" 
@click="_closeDelete($index)">{{$t('Cancel')}}</x-button>
-                <x-button type="primary" size="xsmall" shape="circle" 
@click="_delete(item,$index)">{{$t('Confirm')}}</x-button>
-              </div>
-              <template slot="reference">
-                <x-button
-                  icon="ans-icon-trash"
-                  type="error"
-                  shape="circle"
-                  size="xsmall"
-                  data-toggle="tooltip"
-                  :title="$t('delete')">
-                </x-button>
-              </template>
-            </x-poptip>
-          </td>
-        </tr>
-      </table>
+      <el-table :data="list" size="mini" style="width: 100%">
+        <el-table-column type="index" width="50"></el-table-column>
+        <el-table-column prop="tenantCode" :label="$t('Tenant Code')" 
width="180"></el-table-column>
+        <el-table-column prop="tenantName" :label="$t('Tenant Name')" 
width="180"></el-table-column>
+        <el-table-column prop="description" :label="$t('Description')" 
width="180"></el-table-column>
+        <el-table-column prop="queueName" :label="$t('Queue')" 
width="180"></el-table-column>
+        <el-table-column :label="$t('Create Time')">
+          <template slot-scope="scope">
+            <span>{{scope.row.createTime | formatDate}}</span>
+          </template>
+        </el-table-column>
+        <el-table-column :label="$t('Update Time')">
+          <template slot-scope="scope">
+            <span>{{scope.row.updateTime | formatDate}}</span>
+          </template>
+        </el-table-column>
+        <el-table-column :label="$t('Operation')" width="100">
+          <template slot-scope="scope">
+            <el-tooltip :content="$t('Edit')" placement="top">
+              <el-button type="primary" size="mini" icon="el-icon-edit" 
@click="_edit(scope.row)" circle></el-button>
+            </el-tooltip>
+            <el-tooltip :content="$t('delete')" placement="top">
+              <el-button type="danger" size="mini" icon="el-icon-delete" 
circle></el-button>
+              <el-popconfirm
+                :confirmButtonText="$t('Confirm')"
+                :cancelButtonText="$t('Cancel')"
+                icon="el-icon-info"
+                iconColor="red"
+                :title="$t('Delete?')"
+                @onConfirm="_delete(scope.row,scope.row.id)"
+              >
+                <el-button type="danger" size="mini" icon="el-icon-delete" 
circle slot="reference"></el-button>
+              </el-popconfirm>
+            </el-tooltip>
+          </template>
+        </el-table-column>
+      </el-table>
     </div>
   </div>
 </template>
@@ -127,18 +75,13 @@
     },
     methods: {
       ...mapActions('security', ['deleteQueue']),
-      _closeDelete (i) {
-        this.$refs[`poptip-${i}`][0].doClose()
-      },
       _delete (item, i) {
         this.deleteQueue({
           id: item.id
         }).then(res => {
-          this.$refs[`poptip-${i}`][0].doClose()
           this.$emit('on-update')
           this.$message.success(res.msg)
         }).catch(e => {
-          this.$refs[`poptip-${i}`][0].doClose()
           this.$message.error(e.msg || '')
         })
       },
diff --git 
a/dolphinscheduler-ui/src/js/conf/home/pages/security/pages/tenement/index.vue 
b/dolphinscheduler-ui/src/js/conf/home/pages/security/pages/tenement/index.vue
index ca180b1..0ba6b2f 100644
--- 
a/dolphinscheduler-ui/src/js/conf/home/pages/security/pages/tenement/index.vue
+++ 
b/dolphinscheduler-ui/src/js/conf/home/pages/security/pages/tenement/index.vue
@@ -19,7 +19,7 @@
     <template slot="conditions">
       <m-conditions @on-conditions="_onConditions">
         <template slot="button-group" v-if="isADMIN">
-          <x-button type="ghost" size="small" 
@click="_create('')">{{$t('Create Tenant')}}</x-button>
+          <el-button type="ghost" size="mini" 
@click="_create('')">{{$t('Create Tenant')}}</el-button>
         </template>
       </m-conditions>
     </template>
@@ -33,7 +33,16 @@
 
         </m-list>
         <div class="page-box">
-          <x-page :current="parseInt(searchParams.pageNo)" :total="total" 
:page-size="searchParams.pageSize" show-elevator @on-change="_page" show-sizer 
:page-size-options="[10,30,50]" @on-size-change="_pageSize"></x-page>
+          <el-pagination
+            background
+            @current-change="_page"
+            @size-change="_pageSize"
+            :page-size="searchParams.pageSize"
+            :current-page.sync="searchParams.pageNo"
+            :page-sizes="[10, 30, 50]"
+            layout="sizes, prev, pager, next, jumper"
+            :total="total">
+          </el-pagination>
         </div>
       </template>
       <template v-if="!tenementList.length && total<=0">
diff --git a/dolphinscheduler-ui/src/js/conf/login/index.js 
b/dolphinscheduler-ui/src/js/conf/login/index.js
index ab721a7..2cb2a8e 100644
--- a/dolphinscheduler-ui/src/js/conf/login/index.js
+++ b/dolphinscheduler-ui/src/js/conf/login/index.js
@@ -20,6 +20,7 @@
 // import $ from 'jquery'
 import Vue from 'vue'
 import ElementUI from 'element-ui'
+import locale from 'element-ui/lib/locale/lang/en'
 import 'element-ui/lib/theme-chalk/index.css'
 import App from './App'
 import i18n from '@/module/i18n'
@@ -31,7 +32,7 @@ import 'bootstrap/dist/js/bootstrap.min.js'
 
 import formCreate, {maker} from '@form-create/element-ui'
 
-Vue.use(ElementUI)
+i18n.globalScope.LOCALE === 'en_US' ? Vue.use(ElementUI, { locale }) : 
Vue.use(ElementUI)
 
 Vue.use(ans)
 
diff --git a/dolphinscheduler-ui/src/js/module/components/popup/popup.vue 
b/dolphinscheduler-ui/src/js/module/components/popup/popup.vue
index ac4322a..fb2dad1 100644
--- a/dolphinscheduler-ui/src/js/module/components/popup/popup.vue
+++ b/dolphinscheduler-ui/src/js/module/components/popup/popup.vue
@@ -23,8 +23,8 @@
       <slot name="content"></slot>
     </div>
     <div class="bottom-p">
-      <x-button type="text" shape="circle" @click="close()" 
:disabled="disabled"> {{$t('Cancel')}} </x-button>
-      <x-button type="primary" shape="circle" :loading="spinnerLoading" 
@click="ok()" :disabled="disabled || apDisabled">{{spinnerLoading ? 
'Loading...' : okText}} </x-button>
+      <el-button type="text" size="mini" round @click="close()" 
:disabled="disabled"> {{$t('Cancel')}} </el-button>
+      <el-button type="primary" size="mini" round :loading="spinnerLoading" 
@click="ok()" :disabled="disabled || apDisabled">{{spinnerLoading ? 
'Loading...' : okText}} </el-button>
     </div>
   </div>
 </template>
diff --git a/dolphinscheduler-ui/src/sass/common/_table.scss 
b/dolphinscheduler-ui/src/sass/common/_table.scss
index d643053..074ecb6 100644
--- a/dolphinscheduler-ui/src/sass/common/_table.scss
+++ b/dolphinscheduler-ui/src/sass/common/_table.scss
@@ -174,3 +174,9 @@
 .el-table--enable-row-hover .el-table__body tr:hover>td {
   background-color: #ddecff;
 }
+.el-table th>.cell {
+  color: #555;
+}
+.el-table td div {
+  color: #666;
+}
diff --git 
a/e2e/src/test/java/org/apache/dolphinscheduler/locator/security/TenantManageLocator.java
 
b/e2e/src/test/java/org/apache/dolphinscheduler/locator/security/TenantManageLocator.java
index 2f7a5f9..5eb0704 100644
--- 
a/e2e/src/test/java/org/apache/dolphinscheduler/locator/security/TenantManageLocator.java
+++ 
b/e2e/src/test/java/org/apache/dolphinscheduler/locator/security/TenantManageLocator.java
@@ -35,9 +35,9 @@ public class TenantManageLocator{
 
     public static final By SUBMIT_BUTTON = By.xpath("//div[3]/button[2]/span");
 
-    public static final By DELETE_TENANT_BUTTON = 
By.xpath("//div[3]/div[1]/div/table/tr[2]/td[8]/span/button");
+    public static final By DELETE_TENANT_BUTTON = 
By.xpath("//table/tbody/tr[1]/td[8]/div/span/button/i");
 
-    public static final By CONFIRM_DELETE_TENANT_BUTTON = 
By.xpath("//div[2]/div/button[2]/span");
+    public static final By CONFIRM_DELETE_TENANT_BUTTON = 
By.xpath("//div[1]/div/button[2]/span");
 
-    public static final By TENANT_CODE_FIRST = 
By.xpath("//table/tr[2]/td[2]/span");
+    public static final By TENANT_CODE_FIRST = 
By.xpath("//table/tbody/tr[1]/td[2]/div");
 }

Reply via email to