Commit f8b26ff2 by yuwei

项目初始化

parent 7554d4e3
......@@ -81,7 +81,7 @@ public class ServiceIntegrationServiceImpl extends BaseServiceImpl<ServiceIntegr
MD5Util mt = null;
try {
mt = MD5Util.getInstance();
serviceHeader.setSecretKey(mt.encode(id));
serviceHeader.setServiceKey(mt.encode(id));
serviceHeader.setSecretKey(mt.encode(SecurityUtil.getUserId()));
} catch (Exception e) {
e.printStackTrace();
......
......@@ -242,6 +242,7 @@ public class ModelServiceImpl extends BaseServiceImpl<ModelDao, ModelEntity> imp
request.setSubmitter(SecurityUtil.getUserId());
request.setBusinessKey(id);
request.setBusinessCode(DEFAULT_BUSINESS_CODE);
request.setBusinessAuditGroup(businessEntity.getBusinessAuditGroup());
String processDefinitionId = businessEntity.getProcessDefinitionId();
request.setProcessDefinitionId(processDefinitionId);
// 流程实例标题(动态拼接)
......
......@@ -18,4 +18,11 @@ public class DataReportEntity implements Serializable {
private String ruleLevelId;
private String ruleLevelName;
private Integer checkErrorCount;
private String ruleTypeCode;
private String ruleTableName;
private String ruleTableComment;
private String ruleColumnName;
private String ruleColumnComment;
private Integer checkTotalCount;
}
......@@ -33,4 +33,9 @@ public class RuleTypeEntity implements Serializable {
* 类型名称
*/
private String name;
/**
* 类型编码
*/
private String code;
}
......@@ -3,6 +3,9 @@ package cn.datax.service.data.quality.api.query;
import cn.datax.common.base.BaseQueryParams;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDate;
/**
* <p>
......@@ -23,4 +26,6 @@ public class CheckReportQuery extends BaseQueryParams {
private String ruleSource;
private String ruleTable;
private String ruleColumn;
@DateTimeFormat(pattern = "yyyy-MM-dd")
private LocalDate checkDate;
}
......@@ -19,4 +19,5 @@ public class RuleTypeVo implements Serializable {
private String id;
private String name;
private String code;
}
......@@ -21,7 +21,10 @@ import org.springframework.web.bind.annotation.*;
import cn.datax.common.base.BaseController;
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
......@@ -84,14 +87,26 @@ public class CheckReportController extends BaseController {
}
@GetMapping("/getReportBySource")
public R getReportBySource() {
List<DataReportEntity> list = checkReportService.getReportBySource();
public R getReportBySource(CheckReportQuery checkReportQuery) {
LocalDate checkDate = checkReportQuery.getCheckDate();
String date = DateTimeFormatter.ofPattern("yyyy-MM-dd").format(checkDate);
List<DataReportEntity> list = checkReportService.getReportBySource(date);
return R.ok().setData(list);
}
@GetMapping("/getReportByType")
public R getReportByType() {
List<DataReportEntity> list = checkReportService.getReportByType();
public R getReportByType(CheckReportQuery checkReportQuery) {
LocalDate checkDate = checkReportQuery.getCheckDate();
String date = DateTimeFormatter.ofPattern("yyyy-MM-dd").format(checkDate);
List<DataReportEntity> list = checkReportService.getReportByType(date);
return R.ok().setData(list);
}
@GetMapping("/getReportDetail")
public R getReportDetail(CheckReportQuery checkReportQuery) {
LocalDate checkDate = checkReportQuery.getCheckDate();
String date = DateTimeFormatter.ofPattern("yyyy-MM-dd").format(checkDate);
Map<String, Object> map = checkReportService.getReportDetail(date);
return R.ok().setData(map);
}
}
......@@ -25,7 +25,9 @@ public interface CheckReportDao extends BaseDao<CheckReportEntity> {
@Override
<E extends IPage<CheckReportEntity>> E selectPage(E page, @Param(Constants.WRAPPER) Wrapper<CheckReportEntity> queryWrapper);
List<DataReportEntity> getReportBySource();
List<DataReportEntity> getReportBySource(@Param("checkDate") String checkDate);
List<DataReportEntity> getReportByType();
List<DataReportEntity> getReportByType(@Param("checkDate") String checkDate);
List<DataReportEntity> getReportDetail(@Param("checkDate") String checkDate);
}
......@@ -3,8 +3,10 @@ package cn.datax.service.data.quality.service;
import cn.datax.service.data.quality.api.entity.CheckReportEntity;
import cn.datax.common.base.BaseService;
import cn.datax.service.data.quality.api.entity.DataReportEntity;
import cn.datax.service.data.quality.api.query.CheckReportQuery;
import java.util.List;
import java.util.Map;
/**
* <p>
......@@ -22,11 +24,13 @@ public interface CheckReportService extends BaseService<CheckReportEntity> {
* 按数据源统计
* @return
*/
List<DataReportEntity> getReportBySource();
List<DataReportEntity> getReportBySource(String checkDate);
/**
* 按规则类型统计
* @return
*/
List<DataReportEntity> getReportByType();
List<DataReportEntity> getReportByType(String checkDate);
Map<String, Object> getReportDetail(String checkDate);
}
......@@ -3,7 +3,10 @@ package cn.datax.service.data.quality.service.impl;
import cn.datax.service.data.quality.api.entity.CheckReportEntity;
import cn.datax.service.data.quality.api.entity.DataReportEntity;
import cn.datax.service.data.quality.api.entity.RuleLevelEntity;
import cn.datax.service.data.quality.api.entity.RuleTypeEntity;
import cn.datax.service.data.quality.api.query.CheckReportQuery;
import cn.datax.service.data.quality.dao.RuleLevelDao;
import cn.datax.service.data.quality.dao.RuleTypeDao;
import cn.datax.service.data.quality.service.CheckReportService;
import cn.datax.service.data.quality.mapstruct.CheckReportMapper;
import cn.datax.service.data.quality.dao.CheckReportDao;
......@@ -38,6 +41,9 @@ public class CheckReportServiceImpl extends BaseServiceImpl<CheckReportDao, Chec
@Autowired
private RuleLevelDao ruleLevelDao;
@Autowired
private RuleTypeDao ruleTypeDao;
@Override
public CheckReportEntity getCheckReportById(String id) {
CheckReportEntity checkReportEntity = super.getById(id);
......@@ -45,9 +51,9 @@ public class CheckReportServiceImpl extends BaseServiceImpl<CheckReportDao, Chec
}
@Override
public List<DataReportEntity> getReportBySource() {
public List<DataReportEntity> getReportBySource(String checkDate) {
List<RuleLevelEntity> ruleLevelList = ruleLevelDao.selectList(Wrappers.emptyWrapper());
List<DataReportEntity> list = checkReportDao.getReportBySource();
List<DataReportEntity> list = checkReportDao.getReportBySource(checkDate);
// 补全数据
List<DataReportEntity> differenceReportList = new ArrayList<>();
// 补全数据源分组缺失的规则级别数据
......@@ -76,10 +82,22 @@ public class CheckReportServiceImpl extends BaseServiceImpl<CheckReportDao, Chec
}
@Override
public List<DataReportEntity> getReportByType() {
List<DataReportEntity> list = checkReportDao.getReportByType();
public List<DataReportEntity> getReportByType(String checkDate) {
List<DataReportEntity> list = checkReportDao.getReportByType(checkDate);
// 排序
list = list.stream().sorted(Comparator.comparing(DataReportEntity::getRuleTypeId)).collect(Collectors.toList());
return list;
}
@Override
public Map<String, Object> getReportDetail(String checkDate) {
Map<String, Object> map = new HashMap<>();
List<RuleTypeEntity> ruleTypeList = ruleTypeDao.selectList(Wrappers.emptyWrapper());
List<DataReportEntity> dataReportList = checkReportDao.getReportDetail(checkDate);
Map<String, List<DataReportEntity>> listMap = dataReportList.stream().collect(Collectors.groupingBy(DataReportEntity::getRuleTypeCode));
ruleTypeList.stream().forEach(s -> {
map.put(s.getCode(), listMap.get(s.getCode()));
});
return map;
}
}
......@@ -53,12 +53,22 @@
<result column="check_error_count" property="checkErrorCount" />
</resultMap>
<resultMap id="ExtendReportResultMap" type="cn.datax.service.data.quality.api.entity.DataReportEntity" extends="ReportResultMap">
<result column="rule_type_code" property="ruleTypeCode" />
<result column="rule_table_name" property="ruleTableName" />
<result column="rule_table_comment" property="ruleTableComment" />
<result column="rule_column_name" property="ruleColumnName" />
<result column="rule_column_comment" property="ruleColumnComment" />
<result column="check_total_count" property="checkTotalCount" />
</resultMap>
<select id="getReportBySource" resultMap="ReportResultMap">
SELECT temp.*, l.name AS rule_level_name from (
SELECT r.rule_source_id, r.rule_source AS rule_source_name, r.rule_level_id,
COALESCE(SUM(t.check_error_count), 0) AS check_error_count
FROM quality_check_rule r
LEFT JOIN quality_check_report t ON t.check_batch = r.last_check_batch AND t.check_rule_id = r.id
LEFT JOIN quality_check_report t ON t.check_rule_id = r.id and
t.check_date = (select max(check_date) from quality_check_report where check_rule_id = r.id and date(check_date) = #{checkDate})
GROUP BY r.rule_source_id, r.rule_source, r.rule_level_id
) temp LEFT JOIN quality_rule_level l ON l.id = temp.rule_level_id
</select>
......@@ -67,9 +77,22 @@
SELECT type.id AS rule_type_id, type.name AS rule_type_name, rule.id AS rule_id, rule.rule_name,
level.id AS rule_level_id, level.name AS rule_level_name, COALESCE(report.check_error_count, 0) AS check_error_count
FROM quality_check_rule rule
LEFT JOIN quality_check_report report ON report.check_batch = rule.last_check_batch and report.check_rule_id = rule.id
LEFT JOIN quality_rule_type type ON type.id = rule.rule_type_id
LEFT JOIN quality_rule_level level ON level.id = rule.rule_level_id
LEFT JOIN quality_check_report report ON report.check_rule_id = rule.id AND
report.check_date = (select max(check_date) from quality_check_report where check_rule_id = rule.id and date(check_date) = #{checkDate})
</select>
<select id="getReportDetail" resultMap="ExtendReportResultMap">
SELECT type.id AS rule_type_id, type.code AS rule_type_code,
level.id AS rule_level_id, level.name AS rule_level_name,
rule.id AS rule_id, rule.rule_name, rule.rule_source AS rule_source_name, rule.rule_table AS rule_table_name, rule.rule_table_comment, rule.rule_column AS rule_column_name, rule.rule_column_comment,
COALESCE(report.check_total_count, 0) AS check_total_count, COALESCE(report.check_error_count, 0) AS check_error_count
FROM quality_check_rule rule
LEFT JOIN quality_rule_type type ON type.id = rule.rule_type_id
LEFT JOIN quality_rule_level level ON level.id = rule.rule_level_id
LEFT JOIN quality_check_report report ON report.check_rule_id = rule.id AND
report.check_date = (select max(check_date) from quality_check_report where check_rule_id = rule.id and date(check_date) = #{checkDate})
</select>
</mapper>
......@@ -6,6 +6,7 @@
<resultMap id="BaseResultMap" type="cn.datax.service.data.quality.api.entity.RuleTypeEntity">
<result column="id" property="id" />
<result column="name" property="name" />
<result column="code" property="code" />
</resultMap>
<resultMap id="ExtendResultMap" type="cn.datax.service.data.quality.api.entity.RuleTypeReportEntity" extends="BaseResultMap">
......@@ -15,7 +16,7 @@
<!-- 通用查询结果列 -->
<sql id="Base_Column_List">
id,
name
name, code
</sql>
<select id="selectListForReport" resultMap="ExtendResultMap">
......
......@@ -34,6 +34,9 @@ public class BusinessDto implements Serializable {
@ApiModelProperty(value = "业务组件")
@NotBlank(message = "业务组件不能为空", groups = {ValidationGroups.Insert.class, ValidationGroups.Update.class})
private String businessComponent;
@ApiModelProperty(value = "业务审核用户组")
@NotBlank(message = "业务审核用户组不能为空", groups = {ValidationGroups.Insert.class, ValidationGroups.Update.class})
private String businessAuditGroup;
@ApiModelProperty(value = "流程定义ID")
@NotBlank(message = "流程定义ID不能为空", groups = {ValidationGroups.Insert.class, ValidationGroups.Update.class})
private String processDefinitionId;
......
......@@ -25,6 +25,8 @@ public class ProcessInstanceCreateRequest implements Serializable {
private String businessCode;
@ApiModelProperty(value = "业务名称")
private String businessName;
@ApiModelProperty(value = "业务审核用户组")
private String businessAuditGroup;
@ApiModelProperty(value = "流程参数")
private Map<String, Object> variables = new HashMap<>();
......@@ -33,6 +35,7 @@ public class ProcessInstanceCreateRequest implements Serializable {
variables.put(VariablesEnum.businessKey.toString(), businessKey);
variables.put(VariablesEnum.businessCode.toString(), businessCode);
variables.put(VariablesEnum.businessName.toString(), businessName);
variables.put(VariablesEnum.businessAuditGroup.toString(), businessAuditGroup);
return variables;
}
}
......@@ -38,6 +38,11 @@ public class BusinessEntity extends DataScopeBaseEntity {
private String businessComponent;
/**
* 业务审核用户组
*/
private String businessAuditGroup;
/**
* 流程定义ID
*/
private String processDefinitionId;
......
......@@ -35,6 +35,9 @@ public enum VariablesEnum {
/** 业务主键 */
businessKey,
/** 业务审核用户组 */
businessAuditGroup,
/** 审核结果 */
approved;
}
......@@ -26,6 +26,7 @@ public class BusinessVo implements Serializable {
private String businessCode;
private String businessName;
private String businessComponent;
private String businessAuditGroup;
private String processDefinitionId;
private String businessTempalte;
}
package cn.datax.service.workflow.flowable;
import cn.datax.common.utils.SpringContextHolder;
import cn.datax.service.workflow.api.enums.VariablesEnum;
import lombok.extern.slf4j.Slf4j;
import org.flowable.engine.TaskService;
import org.flowable.task.service.delegate.DelegateTask;
import org.flowable.task.service.delegate.TaskListener;
import java.util.Map;
@Slf4j
public class FinalAuditCreateTaskListener implements TaskListener {
@Override
public void notify(DelegateTask delegateTask) {
log.info("进入终审节点用户任务启动监听器");
TaskService taskService = SpringContextHolder.getBean(TaskService.class);
taskService.setAssignee(delegateTask.getId(), "1214835832967581698");
// taskService.addCandidateUser(delegateTask.getId(), "");
// taskService.addCandidateGroup(delegateTask.getId(), "");
Map<String, Object> variables = delegateTask.getVariables();
log.info("Variables:{}", delegateTask.getVariables());
log.info("任务执行人:{}", delegateTask.getAssignee());
log.info("任务配置ID: {}", delegateTask.getTaskDefinitionKey());
TaskService taskService = SpringContextHolder.getBean(TaskService.class);
String businessAuditGroup = (String) variables.get(VariablesEnum.businessAuditGroup.toString());
taskService.addCandidateGroup(delegateTask.getId(), businessAuditGroup);
// taskService.setAssignee(delegateTask.getId(), "1214835832967581698");
// taskService.addCandidateUser(delegateTask.getId(), "");
// taskService.addCandidateGroup(delegateTask.getId(), "");
log.info("退出终审节点用户任务启动监听器");
}
}
package cn.datax.service.workflow.flowable;
import cn.datax.common.utils.SpringContextHolder;
import cn.datax.service.workflow.api.enums.VariablesEnum;
import lombok.extern.slf4j.Slf4j;
import org.flowable.engine.TaskService;
import org.flowable.task.service.delegate.DelegateTask;
import org.flowable.task.service.delegate.TaskListener;
import java.util.Map;
@Slf4j
public class InitialAuditCreateTaskListener implements TaskListener {
@Override
public void notify(DelegateTask delegateTask) {
log.info("进入初审节点用户任务启动监听器");
Map<String, Object> variables = delegateTask.getVariables();
log.info("Variables:{}", variables);
log.info("任务执行人:{}", delegateTask.getAssignee());
log.info("任务配置ID: {}", delegateTask.getTaskDefinitionKey());
TaskService taskService = SpringContextHolder.getBean(TaskService.class);
String businessAuditGroup = (String) variables.get(VariablesEnum.businessAuditGroup.toString());
taskService.addCandidateGroup(delegateTask.getId(), businessAuditGroup);
// taskService.setAssignee(delegateTask.getId(), "1214835832967581698");
// taskService.addCandidateUser(delegateTask.getId(), "");
taskService.addCandidateGroup(delegateTask.getId(), "1214826565321543682");
log.info("Variables:{}", delegateTask.getVariables());
log.info("任务执行人:{}", delegateTask.getAssignee());
log.info("任务配置ID: {}", delegateTask.getTaskDefinitionKey());
// taskService.addCandidateGroup(delegateTask.getId(), "");
log.info("退出初审节点用户任务启动监听器");
}
}
......@@ -15,6 +15,7 @@
<result column="business_code" property="businessCode" />
<result column="business_name" property="businessName" />
<result column="business_component" property="businessComponent" />
<result column="business_audit_group" property="businessAuditGroup" />
<result column="process_definition_id" property="processDefinitionId" />
<result column="business_tempalte" property="businessTempalte" />
</resultMap>
......@@ -28,7 +29,7 @@
create_dept,
update_by,
update_time,
remark, business_code, business_name, business_component, process_definition_id, business_tempalte
remark, business_code, business_name, business_component, business_audit_group, process_definition_id, business_tempalte
</sql>
</mapper>
......@@ -21,6 +21,7 @@
"element-ui": "2.13.2",
"good-storage": "^1.1.1",
"jsplumb": "^2.14.6",
"moment": "^2.29.1",
"normalize.css": "7.0.0",
"nprogress": "0.2.0",
"path-to-regexp": "2.4.0",
......
......@@ -16,16 +16,26 @@ export function pageCheckReport(data) {
})
}
export function getReportBySource() {
export function getReportBySource(data) {
return request({
url: '/data/quality/checkReports/getReportBySource',
method: 'get'
method: 'get',
params: data
})
}
export function getReportByType() {
export function getReportByType(data) {
return request({
url: '/data/quality/checkReports/getReportByType',
method: 'get'
method: 'get',
params: data
})
}
export function getReportDetail(data) {
return request({
url: '/data/quality/checkReports/getReportDetail',
method: 'get',
params: data
})
}
......@@ -83,3 +83,11 @@ export function updateUser(data) {
data: data
})
}
export function updatePassword(data) {
return request({
url: '/system/users/' + data.id + '/password',
method: 'put',
data: data
})
}
<template>
<el-dialog title="修改密码" width="30%" center append-to-body :show-close="false" :close-on-click-modal="false" :visible.sync="dialogVisible">
<el-form ref="form" :model="form" :rules="rules" label-width="100px">
<el-form-item label="旧密码" prop="oldPassword">
<el-input v-model="form.oldPassword" type="password" placeholder="请输入旧密码" />
</el-form-item>
<el-form-item label="新密码" prop="password">
<el-input v-model="form.password" type="password" placeholder="请输入新密码" />
</el-form-item>
<el-form-item label="确认密码" prop="confirmPassword">
<el-input v-model="form.confirmPassword" type="password" placeholder="请确认密码" />
</el-form-item>
</el-form>
<span slot="footer" class="dialog-footer">
<el-button type="primary" :loading="loadingOptions.loading" :disabled="loadingOptions.disabled" @click="submitForm()">保存</el-button>
<el-button @click="dialogVisible = false">取消</el-button>
</span>
</el-dialog>
</template>
<script>
import { updatePassword } from '@/api/system/user'
export default {
name: 'ChangePassword',
props: {
visible: {
type: Boolean,
default: function() {
return false
}
},
id: {
type: String,
default: function() {
return ''
}
}
},
data() {
// 确认密码验证
const validatePass = (rule, value, callback) => {
if (value.length < 1) {
return callback(new Error('确认密码不能为空'))
} else if (value !== this.form.password) {
return callback(new Error('两次输入密码不一致'))
} else {
callback()
}
}
return {
// 保存按钮
loadingOptions: {
loading: false,
disabled: false
},
form: {
id: undefined,
oldPassword: undefined,
password: undefined,
confirmPassword: undefined
},
rules: {
oldPassword: [
{ required: true, message: '旧密码不能为空', trigger: 'blur' }
],
password: [
{ required: true, message: '新密码不能为空', trigger: 'blur' },
{ min: 6, max: 16, message: '长度在6到16个字符', trigger: 'blur' }
],
confirmPassword: [
{ required: true, validator: validatePass, trigger: 'blur' }
]
}
}
},
computed: {
dialogVisible: {
get() {
return this.visible
},
set(val) {
this.$emit('update:visible', val)
}
}
},
created() {
this.form.id = this.id
},
methods: {
submitForm() {
this.$refs['form'].validate(valid => {
if (valid) {
this.loadingOptions.loading = true
this.loadingOptions.disabled = true
updatePassword(this.form).then(response => {
if (response.success) {
this.$message.success('保存成功')
setTimeout(() => {
// 2秒后跳转登录页
this.dialogVisible = false
this.$emit('handlePasswordFinished')
}, 2000)
} else {
this.$message.error('保存失败')
this.loadingOptions.loading = false
this.loadingOptions.disabled = false
}
}).catch(() => {
this.loadingOptions.loading = false
this.loadingOptions.disabled = false
})
}
})
}
}
}
</script>
<style lang="scss" scoped>
</style>
......@@ -33,7 +33,7 @@
<i class="el-icon-arrow-down el-icon--right"></i>
</span>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item>
<el-dropdown-item @click.native="handlePassword">
<i style="padding-right: 8px" class="el-icon-user"></i>修改密码
</el-dropdown-item>
<el-dropdown-item @click.native="logout">
......@@ -42,6 +42,7 @@
</el-dropdown-menu>
</el-dropdown>
</div>
<change-password :visible.sync="dialogHandlePasswordVisible" :id="user.id" @handlePasswordFinished="logout" />
</div>
</template>
......@@ -50,17 +51,20 @@ import AppLink from './Sidebar/Link'
import variables from '@/styles/variables.scss'
import { isExternal } from '@/utils/validate'
import Screenfull from '@/components/Screenfull'
import ChangePassword from './Password'
import { mapGetters } from 'vuex'
export default {
name: 'Topbar',
components: {
AppLink,
Screenfull
Screenfull,
ChangePassword
},
data() {
return {
routes: this.$store.state.permission.routes
routes: this.$store.state.permission.routes,
dialogHandlePasswordVisible: false
}
},
computed: {
......@@ -172,6 +176,9 @@ export default {
async logout() {
await this.$store.dispatch('user/logout')
this.$router.push(`/login?redirect=${this.$route.fullPath}`)
},
handlePassword() {
this.dialogHandlePasswordVisible = true
}
}
}
......
......@@ -14,13 +14,13 @@ export default {
...mapGetters([
'user'
])
},
mounted() {
websocket.init()
},
beforeDestroy() {
websocket.close()
}
// mounted() {
// websocket.init()
// },
// beforeDestroy() {
// websocket.close()
// }
}
</script>
......
......@@ -43,32 +43,31 @@
<el-button :loading="loading" type="primary" style="width:100%;margin-bottom:30px;" @click.native.prevent="handleLogin">Login</el-button>
<div class="tips">
<span style="margin-right:20px;">username: admin</span>
<span> password: any</span>
</div>
<!-- <div class="tips">-->
<!-- <span style="margin-right:20px;">username: admin</span>-->
<!-- <span> password: any</span>-->
<!-- </div>-->
</el-form>
</div>
</template>
<script>
import { validUsername } from '@/utils/validate'
import { log } from '@/api/system/user'
export default {
name: 'Login',
data() {
const validateUsername = (rule, value, callback) => {
if (!validUsername(value)) {
callback(new Error('Please enter the correct user name'))
if (value.length < 1) {
return callback(new Error('请输入用户名'))
} else {
callback()
}
}
const validatePassword = (rule, value, callback) => {
if (value.length < 6) {
callback(new Error('The password can not be less than 6 digits'))
if (value.length < 1) {
return callback(new Error('请输入密码'))
} else {
callback()
}
......
......@@ -7,6 +7,8 @@
</el-button-group>
</div>
<div class="body-wrapper">
<el-row>
<el-col :span="24">
<el-tabs type="border-card">
<el-tab-pane label="请求头">
<el-table
......@@ -27,6 +29,9 @@
</el-table>
</el-tab-pane>
</el-tabs>
</el-col>
</el-row>
<el-divider content-position="left">服务信息</el-divider>
<el-form ref="form" :model="form" label-width="80px" disabled>
<el-form-item label="服务名称">
<el-input v-model="form.serviceName" placeholder="请输入服务名称" />
......
......@@ -20,6 +20,17 @@
</el-option>
</el-select>
</el-form-item>
<el-form-item label="业务审核用户组">
<el-select v-model="form.businessAuditGroup" placeholder="请选择审核用户组">
<el-option
v-for="item in roleOptions"
:key="item.id"
:label="item.roleName"
:value="item.id"
:disabled="item.status === '0'"
/>
</el-select>
</el-form-item>
<el-form-item label="流程定义ID" prop="processDefinitionId">
<el-input v-model="form.processDefinitionId" placeholder="请输入流程定义ID" />
</el-form-item>
......@@ -46,6 +57,7 @@
<script>
import { addBusiness } from '@/api/workflow/business'
import { listMenuForFlow } from '@/api/system/menu'
import { listRole } from '@/api/system/role'
export default {
name: 'BusinessAdd',
......@@ -89,7 +101,8 @@ export default {
},
// 状态数据字典
statusOptions: [],
menuOptions: []
menuOptions: [],
roleOptions: []
}
},
created() {
......@@ -99,6 +112,7 @@ export default {
}
})
this.getMenuOptions()
this.getRoleList()
},
methods: {
showCard() {
......@@ -107,8 +121,14 @@ export default {
getMenuOptions() {
listMenuForFlow().then(response => {
if (response.success) {
const { data } = response
this.menuOptions = data
this.menuOptions = response.data
}
})
},
getRoleList() {
listRole().then(response => {
if (response.success) {
this.roleOptions = response.data
}
})
},
......
......@@ -19,6 +19,17 @@
</el-option>
</el-select>
</el-form-item>
<el-form-item label="业务审核用户组">
<el-select v-model="form.businessAuditGroup" placeholder="请选择审核用户组">
<el-option
v-for="item in roleOptions"
:key="item.id"
:label="item.roleName"
:value="item.id"
:disabled="item.status === '0'"
/>
</el-select>
</el-form-item>
<el-form-item label="流程定义ID" prop="processDefinitionId">
<el-input v-model="form.processDefinitionId" placeholder="请输入流程定义ID" />
</el-form-item>
......@@ -45,6 +56,7 @@
<script>
import { getBusiness } from '@/api/workflow/business'
import { listMenuForFlow } from '@/api/system/menu'
import { listRole } from '@/api/system/role'
export default {
name: 'BusinessDetail',
......@@ -71,7 +83,8 @@ export default {
form: {},
// 状态数据字典
statusOptions: [],
menuOptions: []
menuOptions: [],
roleOptions: []
}
},
created() {
......@@ -82,6 +95,7 @@ export default {
}
})
this.getMenuOptions()
this.getRoleList()
},
mounted() {
this.getBusiness(this.data.id)
......@@ -106,6 +120,13 @@ export default {
}
})
},
getRoleList() {
listRole().then(response => {
if (response.success) {
this.roleOptions = response.data
}
})
}
}
}
</script>
......
......@@ -20,6 +20,17 @@
</el-option>
</el-select>
</el-form-item>
<el-form-item label="业务审核用户组">
<el-select v-model="form.businessAuditGroup" placeholder="请选择审核用户组">
<el-option
v-for="item in roleOptions"
:key="item.id"
:label="item.roleName"
:value="item.id"
:disabled="item.status === '0'"
/>
</el-select>
</el-form-item>
<el-form-item label="流程定义ID" prop="processDefinitionId">
<el-input v-model="form.processDefinitionId" placeholder="请输入流程定义ID" />
</el-form-item>
......@@ -46,6 +57,7 @@
<script>
import { getBusiness, updateBusiness } from '@/api/workflow/business'
import { listMenuForFlow } from '@/api/system/menu'
import { listRole } from '@/api/system/role'
export default {
name: 'BusinessEdit',
......@@ -87,7 +99,8 @@ export default {
},
// 状态数据字典
statusOptions: [],
menuOptions: []
menuOptions: [],
roleOptions: []
}
},
created() {
......@@ -98,6 +111,7 @@ export default {
}
})
this.getMenuOptions()
this.getRoleList()
},
mounted() {
this.getBusiness(this.data.id)
......@@ -122,6 +136,13 @@ export default {
}
})
},
getRoleList() {
listRole().then(response => {
if (response.success) {
this.roleOptions = response.data
}
})
},
changeValue(value) {
const obj = this.menuOptions.find(function(item) {
return item.menuCode === value
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment