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') }} - + + + +