diff --git a/backend/src/main/java/io/dataease/base/mapper/ext/ExtSysUserMapper.xml b/backend/src/main/java/io/dataease/base/mapper/ext/ExtSysUserMapper.xml
index 981982136c..374f4216d7 100644
--- a/backend/src/main/java/io/dataease/base/mapper/ext/ExtSysUserMapper.xml
+++ b/backend/src/main/java/io/dataease/base/mapper/ext/ExtSysUserMapper.xml
@@ -33,8 +33,17 @@
left join sys_role r on r.role_id = ur.role_id
left join sys_dept d on d.dept_id = u.dept_id
+
+ AND u.nick_name like CONCAT('%', #{request.quick},'%')
+
- AND u.name like CONCAT('%', #{request.name},'%')
+ AND u.nick_name like CONCAT('%', #{request.name},'%')
+
+
+ AND u.enabled = #{request.enabled}
+
+
+ AND u.dept_id = #{request.deptId}
order by u.update_time desc
diff --git a/backend/src/main/java/io/dataease/controller/sys/request/UserGridRequest.java b/backend/src/main/java/io/dataease/controller/sys/request/UserGridRequest.java
index 4b325a3c17..55da77bea9 100644
--- a/backend/src/main/java/io/dataease/controller/sys/request/UserGridRequest.java
+++ b/backend/src/main/java/io/dataease/controller/sys/request/UserGridRequest.java
@@ -1,10 +1,18 @@
package io.dataease.controller.sys.request;
+import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
@Data
public class UserGridRequest implements Serializable {
+ @ApiModelProperty("快速检索")
+ private String quick;
+ @ApiModelProperty("名称")
private String name;
+ @ApiModelProperty("组织")
+ private String deptId;
+ @ApiModelProperty("状态")
+ private String enabled;
}
diff --git a/backend/src/main/java/io/dataease/service/dataset/DataSetTableService.java b/backend/src/main/java/io/dataease/service/dataset/DataSetTableService.java
index a74b955d40..518042cb89 100644
--- a/backend/src/main/java/io/dataease/service/dataset/DataSetTableService.java
+++ b/backend/src/main/java/io/dataease/service/dataset/DataSetTableService.java
@@ -37,6 +37,8 @@ public class DataSetTableService {
private DatasourceMapper datasourceMapper;
@Resource
private DataSetTableFieldsService dataSetTableFieldsService;
+ @Resource
+ private DataSetTableTaskService dataSetTableTaskService;
public void batchInsert(List datasetTable) throws Exception {
for (DatasetTable table : datasetTable) {
@@ -67,11 +69,13 @@ public class DataSetTableService {
public void delete(String id) {
datasetTableMapper.deleteByPrimaryKey(id);
dataSetTableFieldsService.deleteByTableId(id);
+ // 删除同步任务
+ dataSetTableTaskService.deleteByTableId(id);
}
public List list(DataSetTableRequest dataSetTableRequest) {
DatasetTableExample datasetTableExample = new DatasetTableExample();
- if(StringUtils.isNotEmpty(dataSetTableRequest.getSceneId())){
+ if (StringUtils.isNotEmpty(dataSetTableRequest.getSceneId())) {
datasetTableExample.createCriteria().andSceneIdEqualTo(dataSetTableRequest.getSceneId());
}
if (StringUtils.isNotEmpty(dataSetTableRequest.getSort())) {
@@ -173,7 +177,7 @@ public class DataSetTableService {
return map;
}
- public List getDataSetData(String datasourceId, String table, List fields){
+ public List getDataSetData(String datasourceId, String table, List fields) {
List data = new ArrayList<>();
Datasource ds = datasourceMapper.selectByPrimaryKey(datasourceId);
DatasourceProvider datasourceProvider = ProviderFactory.getProvider(ds.getType());
@@ -188,7 +192,7 @@ public class DataSetTableService {
return data;
}
- public Long getDataSetTotalData(String datasourceId, String table){
+ public Long getDataSetTotalData(String datasourceId, String table) {
List data = new ArrayList<>();
Datasource ds = datasourceMapper.selectByPrimaryKey(datasourceId);
DatasourceProvider datasourceProvider = ProviderFactory.getProvider(ds.getType());
@@ -203,7 +207,7 @@ public class DataSetTableService {
return 0l;
}
- public List getDataSetPageData(String datasourceId, String table, List fields, Long startPage, Long pageSize){
+ public List getDataSetPageData(String datasourceId, String table, List fields, Long startPage, Long pageSize) {
List data = new ArrayList<>();
Datasource ds = datasourceMapper.selectByPrimaryKey(datasourceId);
DatasourceProvider datasourceProvider = ProviderFactory.getProvider(ds.getType());
diff --git a/backend/src/main/java/io/dataease/service/dataset/DataSetTableTaskService.java b/backend/src/main/java/io/dataease/service/dataset/DataSetTableTaskService.java
index 4f54ea0b3e..ba494c375a 100644
--- a/backend/src/main/java/io/dataease/service/dataset/DataSetTableTaskService.java
+++ b/backend/src/main/java/io/dataease/service/dataset/DataSetTableTaskService.java
@@ -7,6 +7,7 @@ import io.dataease.service.ScheduleService;
import org.apache.commons.lang3.StringUtils;
import org.quartz.CronExpression;
import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.util.List;
@@ -17,6 +18,7 @@ import java.util.UUID;
* @Date 2021/3/4 1:26 下午
*/
@Service
+@Transactional
public class DataSetTableTaskService {
@Resource
private DatasetTableTaskMapper datasetTableTaskMapper;
@@ -50,6 +52,20 @@ public class DataSetTableTaskService {
dataSetTableTaskLogService.deleteByTaskId(id);
}
+ public void delete(DatasetTableTask task) {
+ datasetTableTaskMapper.deleteByPrimaryKey(task.getId());
+ scheduleService.deleteSchedule(task);
+ dataSetTableTaskLogService.deleteByTaskId(task.getId());
+ }
+
+ public void deleteByTableId(String id) {
+ DatasetTableTaskExample datasetTableTaskExample = new DatasetTableTaskExample();
+ DatasetTableTaskExample.Criteria criteria = datasetTableTaskExample.createCriteria();
+ criteria.andTableIdEqualTo(id);
+ List datasetTableTasks = datasetTableTaskMapper.selectByExample(datasetTableTaskExample);
+ datasetTableTasks.forEach(this::delete);
+ }
+
public DatasetTableTask get(String id) {
return datasetTableTaskMapper.selectByPrimaryKey(id);
}
diff --git a/backend/src/main/resources/static/img/favicon-反白.png b/backend/src/main/resources/static/img/favicon-反白.png
deleted file mode 100644
index c9ad4be020..0000000000
Binary files a/backend/src/main/resources/static/img/favicon-反白.png and /dev/null differ
diff --git a/backend/src/main/resources/static/img/favicon-彩色.png b/backend/src/main/resources/static/img/favicon-彩色.png
deleted file mode 100644
index 15fb97a693..0000000000
Binary files a/backend/src/main/resources/static/img/favicon-彩色.png and /dev/null differ
diff --git a/backend/src/main/resources/static/img/favicon.ico b/backend/src/main/resources/static/img/favicon.ico
deleted file mode 100644
index 9dc173ff67..0000000000
Binary files a/backend/src/main/resources/static/img/favicon.ico and /dev/null differ
diff --git a/backend/src/main/resources/static/img/info.png b/backend/src/main/resources/static/img/info.png
deleted file mode 100755
index 039f46cb4d..0000000000
Binary files a/backend/src/main/resources/static/img/info.png and /dev/null differ
diff --git a/backend/src/main/resources/static/img/jira.png b/backend/src/main/resources/static/img/jira.png
deleted file mode 100644
index b3ff15f2ab..0000000000
Binary files a/backend/src/main/resources/static/img/jira.png and /dev/null differ
diff --git a/backend/src/main/resources/static/img/logo-MeterSphere.png b/backend/src/main/resources/static/img/logo-MeterSphere.png
deleted file mode 100644
index 3335489b92..0000000000
Binary files a/backend/src/main/resources/static/img/logo-MeterSphere.png and /dev/null differ
diff --git a/backend/src/main/resources/static/img/logo-dark-MeterSphere.svg b/backend/src/main/resources/static/img/logo-dark-MeterSphere.svg
deleted file mode 100755
index 1acbb1c0eb..0000000000
--- a/backend/src/main/resources/static/img/logo-dark-MeterSphere.svg
+++ /dev/null
@@ -1,85 +0,0 @@
-
-
-
diff --git a/backend/src/main/resources/static/img/logo-light-MeterSphere.svg b/backend/src/main/resources/static/img/logo-light-MeterSphere.svg
deleted file mode 100755
index 1fb78563d5..0000000000
--- a/backend/src/main/resources/static/img/logo-light-MeterSphere.svg
+++ /dev/null
@@ -1,80 +0,0 @@
-
-
-
diff --git a/backend/src/main/resources/static/img/tapd.png b/backend/src/main/resources/static/img/tapd.png
deleted file mode 100644
index 4331f89694..0000000000
Binary files a/backend/src/main/resources/static/img/tapd.png and /dev/null differ
diff --git a/backend/src/main/resources/static/img/template.png b/backend/src/main/resources/static/img/template.png
deleted file mode 100644
index 1edb6c8bf7..0000000000
Binary files a/backend/src/main/resources/static/img/template.png and /dev/null differ
diff --git a/backend/src/main/resources/static/img/xmind.jpg b/backend/src/main/resources/static/img/xmind.jpg
deleted file mode 100644
index 3cd0340ada..0000000000
Binary files a/backend/src/main/resources/static/img/xmind.jpg and /dev/null differ
diff --git a/backend/src/main/resources/static/img/zentao.jpg b/backend/src/main/resources/static/img/zentao.jpg
deleted file mode 100644
index 703a906898..0000000000
Binary files a/backend/src/main/resources/static/img/zentao.jpg and /dev/null differ
diff --git a/frontend/package.json b/frontend/package.json
index 3a046154dc..de2429bb3a 100644
--- a/frontend/package.json
+++ b/frontend/package.json
@@ -7,6 +7,7 @@
"private": true,
"scripts": {
"serve": "vue-cli-service serve",
+ "build": "vue-cli-service build",
"build:prod": "vue-cli-service build",
"build:stage": "vue-cli-service build --mode staging",
"preview": "node build/index.js --preview",
diff --git a/frontend/src/components/business/condition-table/index.vue b/frontend/src/components/business/condition-table/index.vue
new file mode 100644
index 0000000000..f15562ef70
--- /dev/null
+++ b/frontend/src/components/business/condition-table/index.vue
@@ -0,0 +1,95 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/frontend/src/lang/index.js b/frontend/src/lang/index.js
index 4a3b179365..a4cc3d7d19 100644
--- a/frontend/src/lang/index.js
+++ b/frontend/src/lang/index.js
@@ -11,17 +11,22 @@ import zhLocale from './zh'
import twLocale from './tw'
import esLocale from './es'
import jaLocale from './ja'
+import fuZh from 'fit2cloud-ui/src/locale/lang/zh-CN' // 加载fit2cloud的内容
+
+import fuEn from 'fit2cloud-ui/src/locale/lang/en_US' // 加载fit2cloud的内容
Vue.use(VueI18n)
const messages = {
en: {
...enLocale,
- ...elementEnLocale
+ ...elementEnLocale,
+ ...fuEn
},
zh: {
...zhLocale,
- ...elementZhLocale
+ ...elementZhLocale,
+ ...fuZh
},
tw: {
...twLocale,
diff --git a/frontend/src/lang/zh.js b/frontend/src/lang/zh.js
index feac4aeec0..08f6342a5a 100644
--- a/frontend/src/lang/zh.js
+++ b/frontend/src/lang/zh.js
@@ -424,6 +424,7 @@ export default {
input_email: '请输入邮箱',
input_password: '请输入密码',
input_phone: '请输入电话号码',
+ input_roles: '请选择角色',
special_characters_are_not_supported: '不支持特殊字符',
mobile_number_format_is_incorrect: '手机号码格式不正确',
email_format_is_incorrect: '邮箱格式不正确',
diff --git a/frontend/src/utils/auth.js b/frontend/src/utils/auth.js
index c0663e529e..033e976420 100644
--- a/frontend/src/utils/auth.js
+++ b/frontend/src/utils/auth.js
@@ -1,5 +1,6 @@
import Cookies from 'js-cookie'
import Config from '@/settings'
+
const TokenKey = Config.TokenKey
export function getToken() {
@@ -13,3 +14,4 @@ export function setToken(token) {
export function removeToken() {
return Cookies.remove(TokenKey)
}
+
diff --git a/frontend/src/utils/index.js b/frontend/src/utils/index.js
index 61899c6e3a..092535fee8 100644
--- a/frontend/src/utils/index.js
+++ b/frontend/src/utils/index.js
@@ -136,3 +136,17 @@ export function param2Obj(url) {
'"}'
)
}
+
+export function formatCondition(param) {
+ if (!param) {
+ return null
+ }
+ const condition = {}
+ for (const key in param) {
+ if (Object.hasOwnProperty.call(param, key)) {
+ const element = param[key]
+ condition[element.field] = element.value
+ }
+ }
+ return condition
+}
diff --git a/frontend/src/utils/permission.js b/frontend/src/utils/permission.js
new file mode 100644
index 0000000000..54be75573a
--- /dev/null
+++ b/frontend/src/utils/permission.js
@@ -0,0 +1,9 @@
+import store from '@/store'
+export function checkPermission(pers) {
+ const permissions = store.getters.permissions
+ const hasPermission = pers.every(needP => {
+ const result = permissions.includes(needP)
+ return result
+ })
+ return hasPermission
+}
diff --git a/frontend/src/utils/validate.js b/frontend/src/utils/validate.js
index 1e5024e641..de31eda81e 100644
--- a/frontend/src/utils/validate.js
+++ b/frontend/src/utils/validate.js
@@ -18,3 +18,5 @@ export function validUsername(str) {
const valid_map = ['admin', 'cyw']
return valid_map.indexOf(str.trim()) >= 0
}
+
+export const PHONE_REGEX = '^1[3|4|5|7|8][0-9]{9}$'
diff --git a/frontend/src/views/dataset/data/ViewTable.vue b/frontend/src/views/dataset/data/ViewTable.vue
index c006c8082b..b297149ec1 100644
--- a/frontend/src/views/dataset/data/ViewTable.vue
+++ b/frontend/src/views/dataset/data/ViewTable.vue
@@ -24,7 +24,7 @@
关联视图 TODO
-
+
diff --git a/frontend/src/views/dataset/group/Group.vue b/frontend/src/views/dataset/group/Group.vue
index a01c0f53a9..5d6304ce5b 100644
--- a/frontend/src/views/dataset/group/Group.vue
+++ b/frontend/src/views/dataset/group/Group.vue
@@ -215,10 +215,10 @@
-
- {{ $t('dataset.direct_connect') }}
- {{ $t('dataset.sync_data') }}
-
+
+
+
+