Commit ba14650a by yuwei

项目初始化

parent 71914486
...@@ -151,8 +151,8 @@ public class ContrastController extends BaseController { ...@@ -151,8 +151,8 @@ public class ContrastController extends BaseController {
@ApiImplicitParams({ @ApiImplicitParams({
@ApiImplicitParam(name = "contrastQuery", value = "查询实体contrastQuery", required = true, dataTypeClass = ContrastQuery.class) @ApiImplicitParam(name = "contrastQuery", value = "查询实体contrastQuery", required = true, dataTypeClass = ContrastQuery.class)
}) })
@GetMapping("/statistic") @GetMapping("/stat")
public R contrastStatistic(ContrastQuery contrastQuery) { public R contrastStat(ContrastQuery contrastQuery) {
QueryWrapper<ContrastEntity> queryWrapper = new QueryWrapper<>(); QueryWrapper<ContrastEntity> queryWrapper = new QueryWrapper<>();
queryWrapper.like(StrUtil.isNotBlank(contrastQuery.getSourceName()), "c.source_name", contrastQuery.getSourceName()); queryWrapper.like(StrUtil.isNotBlank(contrastQuery.getSourceName()), "c.source_name", contrastQuery.getSourceName());
queryWrapper.like(StrUtil.isNotBlank(contrastQuery.getTableName()), "c.table_name", contrastQuery.getTableName()); queryWrapper.like(StrUtil.isNotBlank(contrastQuery.getTableName()), "c.table_name", contrastQuery.getTableName());
......
...@@ -51,7 +51,7 @@ public class MenuDto implements Serializable { ...@@ -51,7 +51,7 @@ public class MenuDto implements Serializable {
@ApiModelProperty(value = "隐藏") @ApiModelProperty(value = "隐藏")
@NotNull(message = "隐藏不能为空", groups = {ValidationGroups.Insert.class, ValidationGroups.Update.class}) @NotNull(message = "隐藏不能为空", groups = {ValidationGroups.Insert.class, ValidationGroups.Update.class})
private Integer menuHidden; private String menuHidden;
@ApiModelProperty(value = "排序") @ApiModelProperty(value = "排序")
@NotNull(message = "排序不能为空", groups = {ValidationGroups.Insert.class, ValidationGroups.Update.class}) @NotNull(message = "排序不能为空", groups = {ValidationGroups.Insert.class, ValidationGroups.Update.class})
......
...@@ -14,7 +14,6 @@ public class UserPasswordDto implements Serializable { ...@@ -14,7 +14,6 @@ public class UserPasswordDto implements Serializable {
private static final long serialVersionUID=1L; private static final long serialVersionUID=1L;
@ApiModelProperty(value = "主键ID") @ApiModelProperty(value = "主键ID")
@NotBlank(message = "主键ID不能为空")
private String id; private String id;
@ApiModelProperty(value = "密码") @ApiModelProperty(value = "密码")
......
...@@ -70,7 +70,7 @@ public class MenuEntity extends BaseEntity { ...@@ -70,7 +70,7 @@ public class MenuEntity extends BaseEntity {
/** /**
* 资源隐藏(0否,1是) * 资源隐藏(0否,1是)
*/ */
private Integer menuHidden; private String menuHidden;
/** /**
* 排序 * 排序
......
...@@ -25,6 +25,6 @@ public class MenuVo implements Serializable { ...@@ -25,6 +25,6 @@ public class MenuVo implements Serializable {
private String menuIcon; private String menuIcon;
private String menuType; private String menuType;
private String menuCode; private String menuCode;
private Integer menuHidden; private String menuHidden;
private Integer menuSort; private Integer menuSort;
} }
...@@ -22,7 +22,6 @@ import io.swagger.annotations.ApiImplicitParams; ...@@ -22,7 +22,6 @@ import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
...@@ -53,7 +52,6 @@ public class UserController extends BaseController { ...@@ -53,7 +52,6 @@ public class UserController extends BaseController {
private UserMapper userMapper; private UserMapper userMapper;
@LogAop(module = "datax-service-system", value = "根据id获取用户详细信息") @LogAop(module = "datax-service-system", value = "根据id获取用户详细信息")
@PreAuthorize("hasAuthority('system:user:query')")
@ApiOperation(value = "获取用户详细信息", notes = "根据url的id来获取用户详细信息") @ApiOperation(value = "获取用户详细信息", notes = "根据url的id来获取用户详细信息")
@ApiImplicitParam(name = "id", value = "用户ID", required = true, dataType = "String", paramType = "path") @ApiImplicitParam(name = "id", value = "用户ID", required = true, dataType = "String", paramType = "path")
@GetMapping("/{id}") @GetMapping("/{id}")
...@@ -102,17 +100,6 @@ public class UserController extends BaseController { ...@@ -102,17 +100,6 @@ public class UserController extends BaseController {
return R.ok().setData(userMapper.toVO(userEntity)); return R.ok().setData(userMapper.toVO(userEntity));
} }
@ApiOperation(value = "更新用户密码", notes = "根据url的id来指定更新对象,并根据传过来的user信息来更新用户密码")
@ApiImplicitParams({
@ApiImplicitParam(name = "id", value = "用户ID", required = true, dataType = "String", paramType = "path"),
@ApiImplicitParam(name = "user", value = "用户详细实体user", required = true, dataTypeClass = UserPasswordDto.class)
})
@PutMapping("/{id}/password")
public R updateUserPassword(@PathVariable String id, @RequestBody @Validated UserPasswordDto user) {
userService.updateUserPassword(user);
return R.ok();
}
@ApiOperation(value = "删除用户", notes = "根据url的id来指定删除对象") @ApiOperation(value = "删除用户", notes = "根据url的id来指定删除对象")
@ApiImplicitParam(name = "id", value = "用户ID", required = true, dataType = "String", paramType = "path") @ApiImplicitParam(name = "id", value = "用户ID", required = true, dataType = "String", paramType = "path")
@DeleteMapping("/{id}") @DeleteMapping("/{id}")
...@@ -129,9 +116,26 @@ public class UserController extends BaseController { ...@@ -129,9 +116,26 @@ public class UserController extends BaseController {
return R.ok(); return R.ok();
} }
@GetMapping("/{id}/route") @ApiOperation(value = "更新用户密码", notes = "根据url的id来指定更新对象,并根据传过来的user信息来更新用户密码")
public R getUserRouteById(@PathVariable String id) { @ApiImplicitParams({
Map<String, Object> result = userService.getRouteById(id); @ApiImplicitParam(name = "id", value = "用户ID", required = true, dataType = "String", paramType = "path"),
@ApiImplicitParam(name = "user", value = "用户详细实体user", required = true, dataTypeClass = UserPasswordDto.class)
})
@PutMapping("/password")
public R updateUserPassword(@RequestBody @Validated UserPasswordDto user) {
userService.updateUserPassword(user);
return R.ok();
}
@PutMapping("/reset/password")
public R resetUserPassword(@RequestBody @Validated UserPasswordDto user) {
userService.resetUserPassword(user);
return R.ok();
}
@GetMapping("/route")
public R getUserRouteById() {
Map<String, Object> result = userService.getRouteById();
return R.ok().setData(result); return R.ok().setData(result);
} }
......
...@@ -30,13 +30,15 @@ public interface UserService extends BaseService<UserEntity> { ...@@ -30,13 +30,15 @@ public interface UserService extends BaseService<UserEntity> {
void deleteUserBatch(List<String> ids); void deleteUserBatch(List<String> ids);
void updateUserPassword(UserPasswordDto user);
UserInfo getUserByUsername(String username); UserInfo getUserByUsername(String username);
IPage<UserEntity> pageDataScope(IPage<UserEntity> page, Wrapper<UserEntity> queryWrapper, DataScope dataScope); IPage<UserEntity> pageDataScope(IPage<UserEntity> page, Wrapper<UserEntity> queryWrapper, DataScope dataScope);
Map<String, Object> getRouteById(String id); void updateUserPassword(UserPasswordDto user);
void resetUserPassword(UserPasswordDto user);
Map<String, Object> getRouteById();
List<UserEntity> getAuditUsers(); List<UserEntity> getAuditUsers();
} }
...@@ -2,7 +2,9 @@ package cn.datax.service.system.service.impl; ...@@ -2,7 +2,9 @@ package cn.datax.service.system.service.impl;
import cn.datax.common.base.DataScope; import cn.datax.common.base.DataScope;
import cn.datax.common.core.DataConstant; import cn.datax.common.core.DataConstant;
import cn.datax.common.core.RedisConstant;
import cn.datax.common.exception.DataException; import cn.datax.common.exception.DataException;
import cn.datax.common.redis.service.RedisService;
import cn.datax.common.utils.SecurityUtil; import cn.datax.common.utils.SecurityUtil;
import cn.datax.service.system.api.dto.UserDto; import cn.datax.service.system.api.dto.UserDto;
import cn.datax.service.system.api.dto.UserPasswordDto; import cn.datax.service.system.api.dto.UserPasswordDto;
...@@ -45,15 +47,22 @@ public class UserServiceImpl extends BaseServiceImpl<UserDao, UserEntity> implem ...@@ -45,15 +47,22 @@ public class UserServiceImpl extends BaseServiceImpl<UserDao, UserEntity> implem
@Autowired @Autowired
private UserDao userDao; private UserDao userDao;
@Autowired @Autowired
private UserPostDao userPostDao; private UserPostDao userPostDao;
@Autowired @Autowired
private UserRoleDao userRoleDao; private UserRoleDao userRoleDao;
@Autowired @Autowired
private MenuDao menuDao; private MenuDao menuDao;
@Autowired @Autowired
private UserMapper userMapper; private UserMapper userMapper;
@Autowired
private RedisService redisService;
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public UserEntity saveUser(UserDto userDto) { public UserEntity saveUser(UserDto userDto) {
...@@ -133,11 +142,21 @@ public class UserServiceImpl extends BaseServiceImpl<UserDao, UserEntity> implem ...@@ -133,11 +142,21 @@ public class UserServiceImpl extends BaseServiceImpl<UserDao, UserEntity> implem
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public void updateUserPassword(UserPasswordDto userPasswordDto) { public void updateUserPassword(UserPasswordDto userPasswordDto) {
UserEntity userEntity = userDao.selectById(userPasswordDto.getId()); String userId = SecurityUtil.getUserId();
UserEntity userEntity = userDao.selectById(userId);
if(!new BCryptPasswordEncoder().matches(userPasswordDto.getOldPassword(), userEntity.getPassword())){ if(!new BCryptPasswordEncoder().matches(userPasswordDto.getOldPassword(), userEntity.getPassword())){
throw new DataException("旧密码不正确"); throw new DataException("旧密码不正确");
} }
String passwordEncode = new BCryptPasswordEncoder().encode(userPasswordDto.getPassword()); String passwordEncode = new BCryptPasswordEncoder().encode(userPasswordDto.getPassword());
userDao.updateUserPassword(passwordEncode, userId);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void resetUserPassword(UserPasswordDto userPasswordDto) {
Object o = redisService.hget(RedisConstant.SYSTEM_CONFIG_KEY, "sys.user.password");
String password = (String) Optional.ofNullable(o).orElseThrow(() -> new DataException("请先配置初始化密码"));
String passwordEncode = new BCryptPasswordEncoder().encode(password);
userDao.updateUserPassword(passwordEncode, userPasswordDto.getId()); userDao.updateUserPassword(passwordEncode, userPasswordDto.getId());
} }
...@@ -173,11 +192,12 @@ public class UserServiceImpl extends BaseServiceImpl<UserDao, UserEntity> implem ...@@ -173,11 +192,12 @@ public class UserServiceImpl extends BaseServiceImpl<UserDao, UserEntity> implem
} }
@Override @Override
public Map<String, Object> getRouteById(String id) { public Map<String, Object> getRouteById() {
String userId = SecurityUtil.getUserId();
Map<String, Object> map = new HashMap<>(); Map<String, Object> map = new HashMap<>();
List<String> perms = new ArrayList<>(); List<String> perms = new ArrayList<>();
List<RouteVo> routes = new ArrayList<>(); List<RouteVo> routes = new ArrayList<>();
List<MenuEntity> menuEntitys = menuDao.selectMenuByUserId(id); List<MenuEntity> menuEntitys = menuDao.selectMenuByUserId(userId);
if(CollUtil.isNotEmpty(menuEntitys)){ if(CollUtil.isNotEmpty(menuEntitys)){
Set<String> permSet = menuEntitys.stream() Set<String> permSet = menuEntitys.stream()
.filter(menuEntity -> StrUtil.isNotBlank(menuEntity.getMenuPerms())) .filter(menuEntity -> StrUtil.isNotBlank(menuEntity.getMenuPerms()))
...@@ -208,7 +228,7 @@ public class UserServiceImpl extends BaseServiceImpl<UserDao, UserEntity> implem ...@@ -208,7 +228,7 @@ public class UserServiceImpl extends BaseServiceImpl<UserDao, UserEntity> implem
routeVo.setPath(entity.getMenuPath()); routeVo.setPath(entity.getMenuPath());
routeVo.setRedirect(entity.getMenuRedirect()); routeVo.setRedirect(entity.getMenuRedirect());
routeVo.setMeta(metaVo); routeVo.setMeta(metaVo);
routeVo.setHidden(DataConstant.TrueOrFalse.TRUE.getKey().equals(String.valueOf(entity.getMenuHidden()))); routeVo.setHidden(DataConstant.TrueOrFalse.TRUE.getKey().equals(entity.getMenuHidden()));
temp = getRouteTree(list, entity.getId()); temp = getRouteTree(list, entity.getId());
if(CollUtil.isNotEmpty(temp)){ if(CollUtil.isNotEmpty(temp)){
routeVo.setChildren(temp); routeVo.setChildren(temp);
......
...@@ -31,9 +31,9 @@ export function delContrast(id) { ...@@ -31,9 +31,9 @@ export function delContrast(id) {
}) })
} }
export function contrastStatistic(data) { export function contrastStat(data) {
return request({ return request({
url: '/data/standard/contrasts/statistic', url: '/data/standard/contrasts/stat',
method: 'get', method: 'get',
params: data params: data
}) })
......
...@@ -18,9 +18,9 @@ export function login(username, password) { ...@@ -18,9 +18,9 @@ export function login(username, password) {
}) })
} }
export function getRoutes(id) { export function getRoutes() {
return request({ return request({
url: `/system/users/${id}/route`, url: '/system/users/route',
method: 'get' method: 'get'
}) })
} }
...@@ -86,7 +86,15 @@ export function updateUser(data) { ...@@ -86,7 +86,15 @@ export function updateUser(data) {
export function updatePassword(data) { export function updatePassword(data) {
return request({ return request({
url: '/system/users/' + data.id + '/password', url: '/system/users/password',
method: 'put',
data: data
})
}
export function resetPassword(data) {
return request({
url: '/system/users/reset/password',
method: 'put', method: 'put',
data: data data: data
}) })
......
...@@ -29,12 +29,6 @@ export default { ...@@ -29,12 +29,6 @@ export default {
default: function() { default: function() {
return false return false
} }
},
id: {
type: String,
default: function() {
return ''
}
} }
}, },
data() { data() {
...@@ -55,7 +49,6 @@ export default { ...@@ -55,7 +49,6 @@ export default {
disabled: false disabled: false
}, },
form: { form: {
id: undefined,
oldPassword: undefined, oldPassword: undefined,
password: undefined, password: undefined,
confirmPassword: undefined confirmPassword: undefined
...@@ -84,9 +77,6 @@ export default { ...@@ -84,9 +77,6 @@ export default {
} }
} }
}, },
created() {
this.form.id = this.id
},
methods: { methods: {
submitForm() { submitForm() {
this.$refs['form'].validate(valid => { this.$refs['form'].validate(valid => {
......
...@@ -45,7 +45,7 @@ ...@@ -45,7 +45,7 @@
</el-dropdown-menu> </el-dropdown-menu>
</el-dropdown> </el-dropdown>
</div> </div>
<change-password :id="user.id" :visible.sync="dialogHandlePasswordVisible" @handlePasswordFinished="logout" /> <change-password :visible.sync="dialogHandlePasswordVisible" @handlePasswordFinished="logout" />
</div> </div>
</template> </template>
......
...@@ -68,9 +68,9 @@ const actions = { ...@@ -68,9 +68,9 @@ const actions = {
}) })
}, },
getInfo({ commit, state }) { getInfo({ commit }) {
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
getRoutes(state.detail.id).then(response => { getRoutes().then(response => {
const { data } = response const { data } = response
const perms = data.perms || [] const perms = data.perms || []
const routes = data.routes || [] const routes = data.routes || []
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
<div slot="header" class="clearfix"> <div slot="header" class="clearfix">
<span>{{ title }}</span> <span>{{ title }}</span>
<el-button-group style="float: right;"> <el-button-group style="float: right;">
<el-button size="mini" icon="el-icon-plus" round :loading="loadingOptions.loading" :disabled="loadingOptions.isDisabled" @click="submitForm">{{ loadingOptions.loadingText }}</el-button> <el-button v-hasPerm="['scheduler:job:add']" size="mini" icon="el-icon-plus" round :loading="loadingOptions.loading" :disabled="loadingOptions.isDisabled" @click="submitForm">{{ loadingOptions.loadingText }}</el-button>
<el-button size="mini" icon="el-icon-back" round @click="showCard">返回</el-button> <el-button size="mini" icon="el-icon-back" round @click="showCard">返回</el-button>
</el-button-group> </el-button-group>
</div> </div>
...@@ -45,7 +45,7 @@ ...@@ -45,7 +45,7 @@
import { addJob } from '@/api/scheduler/job' import { addJob } from '@/api/scheduler/job'
export default { export default {
name: 'JobAdd', name: 'TaskJobAdd',
props: { props: {
data: { data: {
type: Object, type: Object,
......
...@@ -44,7 +44,7 @@ ...@@ -44,7 +44,7 @@
import { getJob } from '@/api/scheduler/job' import { getJob } from '@/api/scheduler/job'
export default { export default {
name: 'JobDetail', name: 'TaskJobDetail',
props: { props: {
data: { data: {
type: Object, type: Object,
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
<div slot="header" class="clearfix"> <div slot="header" class="clearfix">
<span>{{ title }}</span> <span>{{ title }}</span>
<el-button-group style="float: right;"> <el-button-group style="float: right;">
<el-button size="mini" icon="el-icon-plus" round :loading="loadingOptions.loading" :disabled="loadingOptions.isDisabled" @click="submitForm">{{ loadingOptions.loadingText }}</el-button> <el-button v-hasPerm="['scheduler:job:edit']" size="mini" icon="el-icon-plus" round :loading="loadingOptions.loading" :disabled="loadingOptions.isDisabled" @click="submitForm">{{ loadingOptions.loadingText }}</el-button>
<el-button size="mini" icon="el-icon-back" round @click="showCard">返回</el-button> <el-button size="mini" icon="el-icon-back" round @click="showCard">返回</el-button>
</el-button-group> </el-button-group>
</div> </div>
...@@ -45,7 +45,7 @@ ...@@ -45,7 +45,7 @@
import { getJob, updateJob } from '@/api/scheduler/job' import { getJob, updateJob } from '@/api/scheduler/job'
export default { export default {
name: 'JobEdit', name: 'TaskJobEdit',
props: { props: {
data: { data: {
type: Object, type: Object,
......
...@@ -26,30 +26,6 @@ ...@@ -26,30 +26,6 @@
size="mini" size="mini"
@click="handleAdd" @click="handleAdd"
>新增</el-button> >新增</el-button>
<el-button
v-hasPerm="['scheduler:job:edit']"
type="success"
icon="el-icon-edit-outline"
size="mini"
:disabled="single"
@click="handleEdit"
>修改</el-button>
<el-button
v-hasPerm="['scheduler:job:detail']"
type="info"
icon="el-icon-view"
size="mini"
:disabled="single"
@click="handleDetail"
>详情</el-button>
<el-button
v-hasPerm="['scheduler:job:remove']"
type="danger"
icon="el-icon-delete"
size="mini"
:disabled="multiple"
@click="handleBatchDelete"
>删除</el-button>
</el-button-group> </el-button-group>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
...@@ -126,6 +102,7 @@ ...@@ -126,6 +102,7 @@
> >
<el-button <el-button
v-hasPerm="['scheduler:job:edit']" v-hasPerm="['scheduler:job:edit']"
:disabled="scope.row.status === '1'"
size="mini" size="mini"
type="text" type="text"
icon="el-icon-edit-outline" icon="el-icon-edit-outline"
...@@ -140,29 +117,30 @@ ...@@ -140,29 +117,30 @@
>详情</el-button> >详情</el-button>
<el-button <el-button
v-hasPerm="['scheduler:job:pause']" v-hasPerm="['scheduler:job:pause']"
:disabled="scope.row.status !== '1'" v-if="scope.row.status === '1'"
size="mini" size="mini"
type="text" type="text"
icon="el-icon-view" icon="el-icon-view"
@click="handlePause(scope.row)" @click="handlePause(scope.row)"
>暂停任务</el-button> >任务暂停</el-button>
<el-button <el-button
v-hasPerm="['scheduler:job:resume']" v-hasPerm="['scheduler:job:resume']"
:disabled="scope.row.status === '1'" v-if="scope.row.status === '0'"
size="mini" size="mini"
type="text" type="text"
icon="el-icon-view" icon="el-icon-view"
@click="handleResume(scope.row)" @click="handleResume(scope.row)"
>恢复任务</el-button> >任务恢复</el-button>
<el-button <el-button
v-hasPerm="['scheduler:job:run']" v-hasPerm="['scheduler:job:run']"
size="mini" size="mini"
type="text" type="text"
icon="el-icon-view" icon="el-icon-view"
@click="handleRun(scope.row)" @click="handleRun(scope.row)"
>立即执行任务</el-button> >立即执行</el-button>
<el-button <el-button
v-hasPerm="['scheduler:job:remove']" v-hasPerm="['scheduler:job:remove']"
:disabled="scope.row.status === '1'"
size="mini" size="mini"
type="text" type="text"
icon="el-icon-delete" icon="el-icon-delete"
...@@ -190,7 +168,7 @@ ...@@ -190,7 +168,7 @@
import { pageJob, delJob, pauseJob, resumeJob, runJob } from '@/api/scheduler/job' import { pageJob, delJob, pauseJob, resumeJob, runJob } from '@/api/scheduler/job'
export default { export default {
name: 'JobList', name: 'TaskJobList',
data() { data() {
return { return {
tableHeight: document.body.offsetHeight - 310 + 'px', tableHeight: document.body.offsetHeight - 310 + 'px',
......
<template> <template>
<div class="app-container"> <div class="app-container">
<transition name="el-zoom-in-center"> <transition name="el-zoom-in-center">
<job-list v-if="options.showList" @showCard="showCard"></job-list> <task-job-list v-if="options.showList" @showCard="showCard"></task-job-list>
</transition> </transition>
<transition name="el-zoom-in-top"> <transition name="el-zoom-in-top">
<job-add v-if="options.showAdd" :data="options.data" @showCard="showCard"></job-add> <task-job-add v-if="options.showAdd" :data="options.data" @showCard="showCard"></task-job-add>
</transition> </transition>
<transition name="el-zoom-in-top"> <transition name="el-zoom-in-top">
<job-edit v-if="options.showEdit" :data="options.data" @showCard="showCard"></job-edit> <task-job-edit v-if="options.showEdit" :data="options.data" @showCard="showCard"></task-job-edit>
</transition> </transition>
<transition name="el-zoom-in-bottom"> <transition name="el-zoom-in-bottom">
<job-detail v-if="options.showDetail" :data="options.data" @showCard="showCard"></job-detail> <task-job-detail v-if="options.showDetail" :data="options.data" @showCard="showCard"></task-job-detail>
</transition> </transition>
</div> </div>
</template> </template>
<script> <script>
import JobList from './JobList' import TaskJobList from './TaskJobList'
import JobAdd from './JobAdd' import TaskJobAdd from './TaskJobAdd'
import JobEdit from './JobEdit' import TaskJobEdit from './TaskJobEdit'
import JobDetail from './JobDetail' import TaskJobDetail from './TaskJobDetail'
export default { export default {
name: 'Job', name: 'TaskJob',
components: { JobList, JobAdd, JobEdit, JobDetail }, components: { TaskJobList, TaskJobAdd, TaskJobEdit, TaskJobDetail },
data () { data () {
return { return {
options: { options: {
......
...@@ -32,7 +32,7 @@ ...@@ -32,7 +32,7 @@
import { getLog } from '@/api/scheduler/log' import { getLog } from '@/api/scheduler/log'
export default { export default {
name: 'JobLogDetail', name: 'TaskLogDetail',
props: { props: {
data: { data: {
type: Object, type: Object,
......
...@@ -26,22 +26,6 @@ ...@@ -26,22 +26,6 @@
<el-row type="flex" justify="space-between"> <el-row type="flex" justify="space-between">
<el-col :span="12"> <el-col :span="12">
<el-button-group> <el-button-group>
<el-button
v-hasPerm="['scheduler:log:detail']"
type="info"
icon="el-icon-view"
size="mini"
:disabled="single"
@click="handleDetail"
>详情</el-button>
<el-button
v-hasPerm="['scheduler:log:remove']"
type="danger"
icon="el-icon-delete"
size="mini"
:disabled="multiple"
@click="handleBatchDelete"
>删除</el-button>
</el-button-group> </el-button-group>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
...@@ -153,7 +137,7 @@ import { pageLog, delLog } from '@/api/scheduler/log' ...@@ -153,7 +137,7 @@ import { pageLog, delLog } from '@/api/scheduler/log'
import { listJob } from '@/api/scheduler/job' import { listJob } from '@/api/scheduler/job'
export default { export default {
name: 'JobLogList', name: 'TaskLogList',
data() { data() {
return { return {
tableHeight: document.body.offsetHeight - 310 + 'px', tableHeight: document.body.offsetHeight - 310 + 'px',
......
<template> <template>
<div class="app-container"> <div class="app-container">
<transition name="el-zoom-in-center"> <transition name="el-zoom-in-center">
<job-log-list v-if="options.showList" @showCard="showCard"></job-log-list> <task-log-list v-if="options.showList" @showCard="showCard"></task-log-list>
</transition> </transition>
<transition name="el-zoom-in-bottom"> <transition name="el-zoom-in-bottom">
<job-log-detail v-if="options.showDetail" :data="options.data" @showCard="showCard"></job-log-detail> <task-log-detail v-if="options.showDetail" :data="options.data" @showCard="showCard"></task-log-detail>
</transition> </transition>
</div> </div>
</template> </template>
<script> <script>
import JobLogList from './JobLogList' import TaskLogList from './TaskLogList'
import JobLogDetail from './JobLogDetail' import TaskLogDetail from './TaskLogDetail'
export default { export default {
name: 'JobLog', name: 'TaskLog',
components: { JobLogList, JobLogDetail }, components: { TaskLogList, TaskLogDetail },
data () { data () {
return { return {
options: { options: {
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
<div slot="header" class="clearfix"> <div slot="header" class="clearfix">
<span>{{ title }}</span> <span>{{ title }}</span>
<el-button-group style="float: right;"> <el-button-group style="float: right;">
<el-button size="mini" icon="el-icon-plus" round :loading="loadingOptions.loading" :disabled="loadingOptions.isDisabled" @click="submitForm">{{ loadingOptions.loadingText }}</el-button> <el-button v-hasPerm="['system:config:add']" size="mini" icon="el-icon-plus" round :loading="loadingOptions.loading" :disabled="loadingOptions.isDisabled" @click="submitForm">{{ loadingOptions.loadingText }}</el-button>
<el-button size="mini" icon="el-icon-back" round @click="showCard">返回</el-button> <el-button size="mini" icon="el-icon-back" round @click="showCard">返回</el-button>
</el-button-group> </el-button-group>
</div> </div>
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
<div slot="header" class="clearfix"> <div slot="header" class="clearfix">
<span>{{ title }}</span> <span>{{ title }}</span>
<el-button-group style="float: right;"> <el-button-group style="float: right;">
<el-button size="mini" icon="el-icon-plus" round :loading="loadingOptions.loading" :disabled="loadingOptions.isDisabled" @click="submitForm">{{ loadingOptions.loadingText }}</el-button> <el-button v-hasPerm="['system:config:edit']" size="mini" icon="el-icon-plus" round :loading="loadingOptions.loading" :disabled="loadingOptions.isDisabled" @click="submitForm">{{ loadingOptions.loadingText }}</el-button>
<el-button size="mini" icon="el-icon-back" round @click="showCard">返回</el-button> <el-button size="mini" icon="el-icon-back" round @click="showCard">返回</el-button>
</el-button-group> </el-button-group>
</div> </div>
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
<div slot="header" class="clearfix"> <div slot="header" class="clearfix">
<span>{{ title }}</span> <span>{{ title }}</span>
<el-button-group style="float: right;"> <el-button-group style="float: right;">
<el-button size="mini" icon="el-icon-plus" round :loading="loadingOptions.loading" :disabled="loadingOptions.isDisabled" @click="submitForm">{{ loadingOptions.loadingText }}</el-button> <el-button v-hasPerm="['system:dept:add']" size="mini" icon="el-icon-plus" round :loading="loadingOptions.loading" :disabled="loadingOptions.isDisabled" @click="submitForm">{{ loadingOptions.loadingText }}</el-button>
<el-button size="mini" icon="el-icon-back" round @click="showCard">返回</el-button> <el-button size="mini" icon="el-icon-back" round @click="showCard">返回</el-button>
</el-button-group> </el-button-group>
</div> </div>
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
<div slot="header" class="clearfix"> <div slot="header" class="clearfix">
<span>{{ title }}</span> <span>{{ title }}</span>
<el-button-group style="float: right;"> <el-button-group style="float: right;">
<el-button size="mini" icon="el-icon-plus" round :loading="loadingOptions.loading" :disabled="loadingOptions.isDisabled" @click="submitForm">{{ loadingOptions.loadingText }}</el-button> <el-button v-hasPerm="['system:dept:edit']" size="mini" icon="el-icon-plus" round :loading="loadingOptions.loading" :disabled="loadingOptions.isDisabled" @click="submitForm">{{ loadingOptions.loadingText }}</el-button>
<el-button size="mini" icon="el-icon-back" round @click="showCard">返回</el-button> <el-button size="mini" icon="el-icon-back" round @click="showCard">返回</el-button>
</el-button-group> </el-button-group>
</div> </div>
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
<div slot="header" class="clearfix"> <div slot="header" class="clearfix">
<span>{{ title }}</span> <span>{{ title }}</span>
<el-button-group style="float: right;"> <el-button-group style="float: right;">
<el-button size="mini" icon="el-icon-plus" round :loading="loadingOptions.loading" :disabled="loadingOptions.isDisabled" @click="submitForm">{{ loadingOptions.loadingText }}</el-button> <el-button v-hasPerm="['system:dict:add']" size="mini" icon="el-icon-plus" round :loading="loadingOptions.loading" :disabled="loadingOptions.isDisabled" @click="submitForm">{{ loadingOptions.loadingText }}</el-button>
<el-button size="mini" icon="el-icon-back" round @click="showCard">返回</el-button> <el-button size="mini" icon="el-icon-back" round @click="showCard">返回</el-button>
</el-button-group> </el-button-group>
</div> </div>
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
<div slot="header" class="clearfix"> <div slot="header" class="clearfix">
<span>{{ title }}</span> <span>{{ title }}</span>
<el-button-group style="float: right;"> <el-button-group style="float: right;">
<el-button size="mini" icon="el-icon-plus" round :loading="loadingOptions.loading" :disabled="loadingOptions.isDisabled" @click="submitForm">{{ loadingOptions.loadingText }}</el-button> <el-button v-hasPerm="['system:dict:edit']" size="mini" icon="el-icon-plus" round :loading="loadingOptions.loading" :disabled="loadingOptions.isDisabled" @click="submitForm">{{ loadingOptions.loadingText }}</el-button>
<el-button size="mini" icon="el-icon-back" round @click="showCard">返回</el-button> <el-button size="mini" icon="el-icon-back" round @click="showCard">返回</el-button>
</el-button-group> </el-button-group>
</div> </div>
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
<div slot="header" class="clearfix"> <div slot="header" class="clearfix">
<span>{{ title }}</span> <span>{{ title }}</span>
<el-button-group style="float: right;"> <el-button-group style="float: right;">
<el-button size="mini" icon="el-icon-plus" round :loading="loadingOptions.loading" :disabled="loadingOptions.isDisabled" @click="submitForm">{{ loadingOptions.loadingText }}</el-button> <el-button v-hasPerm="['system:dict:add']" size="mini" icon="el-icon-plus" round :loading="loadingOptions.loading" :disabled="loadingOptions.isDisabled" @click="submitForm">{{ loadingOptions.loadingText }}</el-button>
<el-button size="mini" icon="el-icon-back" round @click="showCard">返回</el-button> <el-button size="mini" icon="el-icon-back" round @click="showCard">返回</el-button>
</el-button-group> </el-button-group>
</div> </div>
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
<div slot="header" class="clearfix"> <div slot="header" class="clearfix">
<span>{{ title }}</span> <span>{{ title }}</span>
<el-button-group style="float: right;"> <el-button-group style="float: right;">
<el-button size="mini" icon="el-icon-plus" round :loading="loadingOptions.loading" :disabled="loadingOptions.isDisabled" @click="submitForm">{{ loadingOptions.loadingText }}</el-button> <el-button v-hasPerm="['system:dict:edit']" size="mini" icon="el-icon-plus" round :loading="loadingOptions.loading" :disabled="loadingOptions.isDisabled" @click="submitForm">{{ loadingOptions.loadingText }}</el-button>
<el-button size="mini" icon="el-icon-back" round @click="showCard">返回</el-button> <el-button size="mini" icon="el-icon-back" round @click="showCard">返回</el-button>
</el-button-group> </el-button-group>
</div> </div>
......
...@@ -28,14 +28,14 @@ ...@@ -28,14 +28,14 @@
<el-col :span="12"> <el-col :span="12">
<el-button-group> <el-button-group>
<el-button <el-button
v-hasPerm="['system:dict:item:add']" v-hasPerm="['system:dict:add']"
type="primary" type="primary"
icon="el-icon-plus" icon="el-icon-plus"
size="mini" size="mini"
@click="handleAdd" @click="handleAdd"
>新增</el-button> >新增</el-button>
<el-button <el-button
v-hasPerm="['system:dict:item:edit']" v-hasPerm="['system:dict:edit']"
type="success" type="success"
icon="el-icon-edit-outline" icon="el-icon-edit-outline"
size="mini" size="mini"
...@@ -43,7 +43,7 @@ ...@@ -43,7 +43,7 @@
@click="handleEdit" @click="handleEdit"
>修改</el-button> >修改</el-button>
<el-button <el-button
v-hasPerm="['system:dict:item:detail']" v-hasPerm="['system:dict:detail']"
type="info" type="info"
icon="el-icon-view" icon="el-icon-view"
size="mini" size="mini"
...@@ -51,7 +51,7 @@ ...@@ -51,7 +51,7 @@
@click="handleDetail" @click="handleDetail"
>详情</el-button> >详情</el-button>
<el-button <el-button
v-hasPerm="['system:dict:item:remove']" v-hasPerm="['system:dict:remove']"
type="danger" type="danger"
icon="el-icon-delete" icon="el-icon-delete"
size="mini" size="mini"
...@@ -133,21 +133,21 @@ ...@@ -133,21 +133,21 @@
trigger="click" trigger="click"
> >
<el-button <el-button
v-hasPerm="['system:dict:item:edit']" v-hasPerm="['system:dict:edit']"
size="mini" size="mini"
type="text" type="text"
icon="el-icon-edit-outline" icon="el-icon-edit-outline"
@click="handleEdit(scope.row)" @click="handleEdit(scope.row)"
>修改</el-button> >修改</el-button>
<el-button <el-button
v-hasPerm="['system:dict:item:detail']" v-hasPerm="['system:dict:detail']"
size="mini" size="mini"
type="text" type="text"
icon="el-icon-view" icon="el-icon-view"
@click="handleDetail(scope.row)" @click="handleDetail(scope.row)"
>详情</el-button> >详情</el-button>
<el-button <el-button
v-hasPerm="['system:dict:item:remove']" v-hasPerm="['system:dict:remove']"
size="mini" size="mini"
type="text" type="text"
icon="el-icon-delete" icon="el-icon-delete"
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
<div slot="header" class="clearfix"> <div slot="header" class="clearfix">
<span>{{ title }}</span> <span>{{ title }}</span>
<el-button-group style="float: right;"> <el-button-group style="float: right;">
<el-button size="mini" icon="el-icon-plus" round :loading="loadingOptions.loading" :disabled="loadingOptions.isDisabled" @click="submitForm">{{ loadingOptions.loadingText }}</el-button> <el-button v-hasPerm="['system:menu:add']" size="mini" icon="el-icon-plus" round :loading="loadingOptions.loading" :disabled="loadingOptions.isDisabled" @click="submitForm">{{ loadingOptions.loadingText }}</el-button>
<el-button size="mini" icon="el-icon-back" round @click="showCard">返回</el-button> <el-button size="mini" icon="el-icon-back" round @click="showCard">返回</el-button>
</el-button-group> </el-button-group>
</div> </div>
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
<div slot="header" class="clearfix"> <div slot="header" class="clearfix">
<span>{{ title }}</span> <span>{{ title }}</span>
<el-button-group style="float: right;"> <el-button-group style="float: right;">
<el-button size="mini" icon="el-icon-plus" round :loading="loadingOptions.loading" :disabled="loadingOptions.isDisabled" @click="submitForm">{{ loadingOptions.loadingText }}</el-button> <el-button v-hasPerm="['system:menu:edit']" size="mini" icon="el-icon-plus" round :loading="loadingOptions.loading" :disabled="loadingOptions.isDisabled" @click="submitForm">{{ loadingOptions.loadingText }}</el-button>
<el-button size="mini" icon="el-icon-back" round @click="showCard">返回</el-button> <el-button size="mini" icon="el-icon-back" round @click="showCard">返回</el-button>
</el-button-group> </el-button-group>
</div> </div>
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
<div slot="header" class="clearfix"> <div slot="header" class="clearfix">
<span>{{ title }}</span> <span>{{ title }}</span>
<el-button-group style="float: right;"> <el-button-group style="float: right;">
<el-button size="mini" icon="el-icon-plus" round :loading="loadingOptions.loading" :disabled="loadingOptions.isDisabled" @click="submitForm">{{ loadingOptions.loadingText }}</el-button> <el-button v-hasPerm="['system:post:add']" size="mini" icon="el-icon-plus" round :loading="loadingOptions.loading" :disabled="loadingOptions.isDisabled" @click="submitForm">{{ loadingOptions.loadingText }}</el-button>
<el-button size="mini" icon="el-icon-back" round @click="showCard">返回</el-button> <el-button size="mini" icon="el-icon-back" round @click="showCard">返回</el-button>
</el-button-group> </el-button-group>
</div> </div>
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
<div slot="header" class="clearfix"> <div slot="header" class="clearfix">
<span>{{ title }}</span> <span>{{ title }}</span>
<el-button-group style="float: right;"> <el-button-group style="float: right;">
<el-button size="mini" icon="el-icon-plus" round :loading="loadingOptions.loading" :disabled="loadingOptions.isDisabled" @click="submitForm">{{ loadingOptions.loadingText }}</el-button> <el-button v-hasPerm="['system:post:edit']" size="mini" icon="el-icon-plus" round :loading="loadingOptions.loading" :disabled="loadingOptions.isDisabled" @click="submitForm">{{ loadingOptions.loadingText }}</el-button>
<el-button size="mini" icon="el-icon-back" round @click="showCard">返回</el-button> <el-button size="mini" icon="el-icon-back" round @click="showCard">返回</el-button>
</el-button-group> </el-button-group>
</div> </div>
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
<div slot="header" class="clearfix"> <div slot="header" class="clearfix">
<span>{{ title }}</span> <span>{{ title }}</span>
<el-button-group style="float: right;"> <el-button-group style="float: right;">
<el-button size="mini" icon="el-icon-plus" round :loading="loadingOptions.loading" :disabled="loadingOptions.isDisabled" @click="submitForm">{{ loadingOptions.loadingText }}</el-button> <el-button v-hasPerm="['system:role:add']" size="mini" icon="el-icon-plus" round :loading="loadingOptions.loading" :disabled="loadingOptions.isDisabled" @click="submitForm">{{ loadingOptions.loadingText }}</el-button>
<el-button size="mini" icon="el-icon-back" round @click="showCard">返回</el-button> <el-button size="mini" icon="el-icon-back" round @click="showCard">返回</el-button>
</el-button-group> </el-button-group>
</div> </div>
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
<div slot="header" class="clearfix"> <div slot="header" class="clearfix">
<span>{{ title }}</span> <span>{{ title }}</span>
<el-button-group style="float: right;"> <el-button-group style="float: right;">
<el-button size="mini" icon="el-icon-plus" round :loading="loadingOptions.loading" :disabled="loadingOptions.isDisabled" @click="submitForm">{{ loadingOptions.loadingText }}</el-button> <el-button v-hasPerm="['system:role:edit']" size="mini" icon="el-icon-plus" round :loading="loadingOptions.loading" :disabled="loadingOptions.isDisabled" @click="submitForm">{{ loadingOptions.loadingText }}</el-button>
<el-button size="mini" icon="el-icon-back" round @click="showCard">返回</el-button> <el-button size="mini" icon="el-icon-back" round @click="showCard">返回</el-button>
</el-button-group> </el-button-group>
</div> </div>
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
<div slot="header" class="clearfix"> <div slot="header" class="clearfix">
<span>{{ title }}</span> <span>{{ title }}</span>
<el-button-group style="float: right;"> <el-button-group style="float: right;">
<el-button size="mini" icon="el-icon-plus" round :loading="loadingOptions.loading" :disabled="loadingOptions.isDisabled" @click="submitForm">{{ loadingOptions.loadingText }}</el-button> <el-button v-hasPerm="['system:user:add']" size="mini" icon="el-icon-plus" round :loading="loadingOptions.loading" :disabled="loadingOptions.isDisabled" @click="submitForm">{{ loadingOptions.loadingText }}</el-button>
<el-button size="mini" icon="el-icon-back" round @click="showCard">返回</el-button> <el-button size="mini" icon="el-icon-back" round @click="showCard">返回</el-button>
</el-button-group> </el-button-group>
</div> </div>
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
<div slot="header" class="clearfix"> <div slot="header" class="clearfix">
<span>{{ title }}</span> <span>{{ title }}</span>
<el-button-group style="float: right;"> <el-button-group style="float: right;">
<el-button size="mini" icon="el-icon-plus" round :loading="loadingOptions.loading" :disabled="loadingOptions.isDisabled" @click="submitForm">{{ loadingOptions.loadingText }}</el-button> <el-button v-hasPerm="['system:user:edit']" size="mini" icon="el-icon-plus" round :loading="loadingOptions.loading" :disabled="loadingOptions.isDisabled" @click="submitForm">{{ loadingOptions.loadingText }}</el-button>
<el-button size="mini" icon="el-icon-back" round @click="showCard">返回</el-button> <el-button size="mini" icon="el-icon-back" round @click="showCard">返回</el-button>
</el-button-group> </el-button-group>
</div> </div>
......
...@@ -174,6 +174,13 @@ ...@@ -174,6 +174,13 @@
@click="handleDetail(scope.row)" @click="handleDetail(scope.row)"
>详情</el-button> >详情</el-button>
<el-button <el-button
v-hasPerm="['system:user:reset:password']"
size="mini"
type="text"
icon="el-icon-edit-outline"
@click="handlePassword(scope.row)"
>重置密码</el-button>
<el-button
v-hasPerm="['system:user:remove']" v-hasPerm="['system:user:remove']"
size="mini" size="mini"
type="text" type="text"
...@@ -201,7 +208,7 @@ ...@@ -201,7 +208,7 @@
</template> </template>
<script> <script>
import { pageUser, delUser, delUsers } from '@/api/system/user' import { pageUser, delUser, delUsers, resetPassword } from '@/api/system/user'
import { listDept } from '@/api/system/dept' import { listDept } from '@/api/system/dept'
import { construct } from '@/utils/json-tree' import { construct } from '@/utils/json-tree'
...@@ -391,6 +398,20 @@ export default { ...@@ -391,6 +398,20 @@ export default {
this.showOptions.showDetail = true this.showOptions.showDetail = true
this.$emit('showCard', this.showOptions) this.$emit('showCard', this.showOptions)
}, },
handlePassword(row) {
this.$confirm('确认重置该用户密码, 是否继续?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
resetPassword({ id: row.id }).then(response => {
if (response.success) {
this.$message.success('重置密码成功')
}
})
}).catch(() => {
})
},
/** 删除按钮操作 */ /** 删除按钮操作 */
handleDelete(row) { handleDelete(row) {
this.$confirm('选中数据将被永久删除, 是否继续?', '提示', { this.$confirm('选中数据将被永久删除, 是否继续?', '提示', {
......
<template> <template>
<div class="dashboard-container"> <div class="dashboard-container">
<div class="dashboard-text">nickname: {{ user.nickname }}</div> <div class="dashboard-text">欢迎您: {{ user.nickname }}</div>
</div> </div>
</template> </template>
......
...@@ -93,12 +93,14 @@ ...@@ -93,12 +93,14 @@
trigger="click" trigger="click"
> >
<el-button <el-button
v-hasPerm="['market:api:log:detail']"
size="mini" size="mini"
type="text" type="text"
icon="el-icon-view" icon="el-icon-view"
@click="handleDetail(scope.row)" @click="handleDetail(scope.row)"
>详情</el-button> >详情</el-button>
<el-button <el-button
v-hasPerm="['market:api:log:remove']"
size="mini" size="mini"
type="text" type="text"
icon="el-icon-delete" icon="el-icon-delete"
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
<div slot="header" class="clearfix"> <div slot="header" class="clearfix">
<span>{{ title }}</span> <span>{{ title }}</span>
<el-button-group style="float: right;"> <el-button-group style="float: right;">
<el-button size="mini" icon="el-icon-plus" round :loading="loadingOptions.loading" :disabled="loadingOptions.isDisabled" @click="submitForm">{{ loadingOptions.loadingText }}</el-button> <el-button v-hasPerm="['market:mask:add']" size="mini" icon="el-icon-plus" round :loading="loadingOptions.loading" :disabled="loadingOptions.isDisabled" @click="submitForm">{{ loadingOptions.loadingText }}</el-button>
<el-button size="mini" icon="el-icon-back" round @click="showCard">返回</el-button> <el-button size="mini" icon="el-icon-back" round @click="showCard">返回</el-button>
</el-button-group> </el-button-group>
</div> </div>
...@@ -41,7 +41,7 @@ ...@@ -41,7 +41,7 @@
<el-button type="text" @click="fieldRule(scope.row.fieldName)">{{ scope.row.fieldName }}</el-button> <el-button type="text" @click="fieldRule(scope.row.fieldName)">{{ scope.row.fieldName }}</el-button>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="remark" label="描述" align="center" show-overflow-tooltip /> <el-table-column prop="fieldComment" label="描述" align="center" show-overflow-tooltip />
<el-table-column prop="dataType" label="数据类型" align="center" show-overflow-tooltip /> <el-table-column prop="dataType" label="数据类型" align="center" show-overflow-tooltip />
<el-table-column prop="exampleValue" label="示例值" align="center" show-overflow-tooltip /> <el-table-column prop="exampleValue" label="示例值" align="center" show-overflow-tooltip />
<el-table-column prop="cipherType" label="脱敏类型" align="center" show-overflow-tooltip /> <el-table-column prop="cipherType" label="脱敏类型" align="center" show-overflow-tooltip />
......
...@@ -36,7 +36,7 @@ ...@@ -36,7 +36,7 @@
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="fieldName" label="字段名称" align="center" show-overflow-tooltip /> <el-table-column prop="fieldName" label="字段名称" align="center" show-overflow-tooltip />
<el-table-column prop="remark" label="描述" align="center" show-overflow-tooltip /> <el-table-column prop="fieldComment" label="描述" align="center" show-overflow-tooltip />
<el-table-column prop="dataType" label="数据类型" align="center" show-overflow-tooltip /> <el-table-column prop="dataType" label="数据类型" align="center" show-overflow-tooltip />
<el-table-column prop="exampleValue" label="示例值" align="center" show-overflow-tooltip /> <el-table-column prop="exampleValue" label="示例值" align="center" show-overflow-tooltip />
<el-table-column prop="cipherType" label="脱敏类型" align="center" show-overflow-tooltip /> <el-table-column prop="cipherType" label="脱敏类型" align="center" show-overflow-tooltip />
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
<div slot="header" class="clearfix"> <div slot="header" class="clearfix">
<span>{{ title }}</span> <span>{{ title }}</span>
<el-button-group style="float: right;"> <el-button-group style="float: right;">
<el-button size="mini" icon="el-icon-plus" round :loading="loadingOptions.loading" :disabled="loadingOptions.isDisabled" @click="submitForm">{{ loadingOptions.loadingText }}</el-button> <el-button v-hasPerm="['market:mask:edit']" size="mini" icon="el-icon-plus" round :loading="loadingOptions.loading" :disabled="loadingOptions.isDisabled" @click="submitForm">{{ loadingOptions.loadingText }}</el-button>
<el-button size="mini" icon="el-icon-back" round @click="showCard">返回</el-button> <el-button size="mini" icon="el-icon-back" round @click="showCard">返回</el-button>
</el-button-group> </el-button-group>
</div> </div>
...@@ -41,7 +41,7 @@ ...@@ -41,7 +41,7 @@
<el-button type="text" @click="fieldRule(scope.row.fieldName)">{{ scope.row.fieldName }}</el-button> <el-button type="text" @click="fieldRule(scope.row.fieldName)">{{ scope.row.fieldName }}</el-button>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="remark" label="描述" align="center" show-overflow-tooltip /> <el-table-column prop="fieldComment" label="描述" align="center" show-overflow-tooltip />
<el-table-column prop="dataType" label="数据类型" align="center" show-overflow-tooltip /> <el-table-column prop="dataType" label="数据类型" align="center" show-overflow-tooltip />
<el-table-column prop="exampleValue" label="示例值" align="center" show-overflow-tooltip /> <el-table-column prop="exampleValue" label="示例值" align="center" show-overflow-tooltip />
<el-table-column prop="cipherType" label="脱敏类型" align="center" show-overflow-tooltip /> <el-table-column prop="cipherType" label="脱敏类型" align="center" show-overflow-tooltip />
......
...@@ -20,6 +20,7 @@ ...@@ -20,6 +20,7 @@
<el-col :span="12"> <el-col :span="12">
<el-button-group> <el-button-group>
<el-button <el-button
v-hasPerm="['market:mask:add']"
type="primary" type="primary"
icon="el-icon-plus" icon="el-icon-plus"
size="mini" size="mini"
...@@ -99,18 +100,21 @@ ...@@ -99,18 +100,21 @@
trigger="click" trigger="click"
> >
<el-button <el-button
v-hasPerm="['market:mask:edit']"
size="mini" size="mini"
type="text" type="text"
icon="el-icon-edit-outline" icon="el-icon-edit-outline"
@click="handleEdit(scope.row)" @click="handleEdit(scope.row)"
>修改</el-button> >修改</el-button>
<el-button <el-button
v-hasPerm="['market:mask:detail']"
size="mini" size="mini"
type="text" type="text"
icon="el-icon-view" icon="el-icon-view"
@click="handleDetail(scope.row)" @click="handleDetail(scope.row)"
>详情</el-button> >详情</el-button>
<el-button <el-button
v-hasPerm="['market:mask:remove']"
size="mini" size="mini"
type="text" type="text"
icon="el-icon-delete" icon="el-icon-delete"
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
<div slot="header" class="clearfix"> <div slot="header" class="clearfix">
<span>{{ title }}</span> <span>{{ title }}</span>
<el-button-group style="float: right;"> <el-button-group style="float: right;">
<el-button size="mini" icon="el-icon-plus" round :loading="loadingOptions.loading" :disabled="loadingOptions.isDisabled" @click="submitForm">{{ loadingOptions.loadingText }}</el-button> <el-button v-hasPerm="['market:api:add']" size="mini" icon="el-icon-plus" round :loading="loadingOptions.loading" :disabled="loadingOptions.isDisabled" @click="submitForm">{{ loadingOptions.loadingText }}</el-button>
<el-button size="mini" icon="el-icon-back" round @click="showCard">返回</el-button> <el-button size="mini" icon="el-icon-back" round @click="showCard">返回</el-button>
</el-button-group> </el-button-group>
</div> </div>
......
...@@ -3,8 +3,8 @@ ...@@ -3,8 +3,8 @@
<div slot="header" class="clearfix"> <div slot="header" class="clearfix">
<span>{{ title }}</span> <span>{{ title }}</span>
<el-button-group style="float: right;"> <el-button-group style="float: right;">
<el-button size="mini" icon="el-icon-coin" round @click="handleWord">接口文档</el-button> <el-button v-hasPerm="['market:api:word']" size="mini" icon="el-icon-coin" round @click="handleWord">接口文档</el-button>
<el-button size="mini" icon="el-icon-s-data" round @click="handleExample">接口示例</el-button> <el-button v-hasPerm="['market:api:example']" size="mini" icon="el-icon-s-data" round @click="handleExample">接口示例</el-button>
<el-button size="mini" icon="el-icon-back" round @click="showCard">返回</el-button> <el-button size="mini" icon="el-icon-back" round @click="showCard">返回</el-button>
</el-button-group> </el-button-group>
</div> </div>
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
<div slot="header" class="clearfix"> <div slot="header" class="clearfix">
<span>{{ title }}</span> <span>{{ title }}</span>
<el-button-group style="float: right;"> <el-button-group style="float: right;">
<el-button size="mini" icon="el-icon-plus" round :loading="loadingOptions.loading" :disabled="loadingOptions.isDisabled" @click="submitForm">{{ loadingOptions.loadingText }}</el-button> <el-button v-hasPerm="['market:api:edit']" size="mini" icon="el-icon-plus" round :loading="loadingOptions.loading" :disabled="loadingOptions.isDisabled" @click="submitForm">{{ loadingOptions.loadingText }}</el-button>
<el-button size="mini" icon="el-icon-back" round @click="showCard">返回</el-button> <el-button size="mini" icon="el-icon-back" round @click="showCard">返回</el-button>
</el-button-group> </el-button-group>
</div> </div>
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
<div slot="header" class="clearfix"> <div slot="header" class="clearfix">
<span>{{ title }}</span> <span>{{ title }}</span>
<el-button-group style="float: right;"> <el-button-group style="float: right;">
<el-button size="mini" icon="el-icon-s-data" round @click="handleCall">接口调用</el-button> <el-button v-hasPerm="['market:api:example']" size="mini" icon="el-icon-s-data" round @click="handleCall">接口调用</el-button>
<el-button size="mini" icon="el-icon-back" round @click="showCard">返回</el-button> <el-button size="mini" icon="el-icon-back" round @click="showCard">返回</el-button>
</el-button-group> </el-button-group>
</div> </div>
......
...@@ -20,6 +20,7 @@ ...@@ -20,6 +20,7 @@
<el-col :span="12"> <el-col :span="12">
<el-button-group> <el-button-group>
<el-button <el-button
v-hasPerm="['market:api:add']"
type="primary" type="primary"
icon="el-icon-plus" icon="el-icon-plus"
size="mini" size="mini"
...@@ -99,38 +100,44 @@ ...@@ -99,38 +100,44 @@
trigger="click" trigger="click"
> >
<el-button <el-button
v-hasPerm="['market:api:edit']"
size="mini" size="mini"
type="text" type="text"
icon="el-icon-edit-outline" icon="el-icon-edit-outline"
@click="handleEdit(scope.row)" @click="handleEdit(scope.row)"
>修改</el-button> >修改</el-button>
<el-button <el-button
v-hasPerm="['market:api:detail']"
size="mini" size="mini"
type="text" type="text"
icon="el-icon-view" icon="el-icon-view"
@click="handleDetail(scope.row)" @click="handleDetail(scope.row)"
>详情</el-button> >详情</el-button>
<el-button <el-button
v-hasPerm="['market:api:remove']"
size="mini" size="mini"
type="text" type="text"
icon="el-icon-delete" icon="el-icon-delete"
@click="handleDelete(scope.row)" @click="handleDelete(scope.row)"
>删除</el-button> >删除</el-button>
<el-button <el-button
v-hasPerm="['market:api:copy']"
size="mini" size="mini"
type="text" type="text"
icon="el-icon-copy-document" icon="el-icon-copy-document"
@click="handleCopy(scope.row)" @click="handleCopy(scope.row)"
>拷贝</el-button> >拷贝</el-button>
<el-button <el-button
:disabled="scope.row.status === '2'" v-hasPerm="['market:api:release']"
v-if="scope.row.status !== '2'"
size="mini" size="mini"
type="text" type="text"
icon="el-icon-upload2" icon="el-icon-upload2"
@click="handleRelease(scope.row)" @click="handleRelease(scope.row)"
>发布</el-button> >发布</el-button>
<el-button <el-button
:disabled="scope.row.status !== '2'" v-hasPerm="['market:api:cancel']"
v-if="scope.row.status === '2'"
size="mini" size="mini"
type="text" type="text"
icon="el-icon-download" icon="el-icon-download"
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
<div slot="header" class="clearfix"> <div slot="header" class="clearfix">
<span>{{ title }}</span> <span>{{ title }}</span>
<el-button-group style="float: right;"> <el-button-group style="float: right;">
<el-button size="mini" icon="el-icon-plus" round :loading="loadingOptions.loading" :disabled="loadingOptions.isDisabled" @click="submitForm">{{ loadingOptions.loadingText }}</el-button> <el-button v-hasPerm="['market:service:add']" size="mini" icon="el-icon-plus" round :loading="loadingOptions.loading" :disabled="loadingOptions.isDisabled" @click="submitForm">{{ loadingOptions.loadingText }}</el-button>
<el-button size="mini" icon="el-icon-back" round @click="showCard">返回</el-button> <el-button size="mini" icon="el-icon-back" round @click="showCard">返回</el-button>
</el-button-group> </el-button-group>
</div> </div>
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
<div slot="header" class="clearfix"> <div slot="header" class="clearfix">
<span>{{ title }}</span> <span>{{ title }}</span>
<el-button-group style="float: right;"> <el-button-group style="float: right;">
<el-button size="mini" icon="el-icon-plus" round :loading="loadingOptions.loading" :disabled="loadingOptions.isDisabled" @click="submitForm">{{ loadingOptions.loadingText }}</el-button> <el-button v-hasPerm="['market:service:edit']" size="mini" icon="el-icon-plus" round :loading="loadingOptions.loading" :disabled="loadingOptions.isDisabled" @click="submitForm">{{ loadingOptions.loadingText }}</el-button>
<el-button size="mini" icon="el-icon-back" round @click="showCard">返回</el-button> <el-button size="mini" icon="el-icon-back" round @click="showCard">返回</el-button>
</el-button-group> </el-button-group>
</div> </div>
......
...@@ -20,6 +20,7 @@ ...@@ -20,6 +20,7 @@
<el-col :span="12"> <el-col :span="12">
<el-button-group> <el-button-group>
<el-button <el-button
v-hasPerm="['market:service:add']"
type="primary" type="primary"
icon="el-icon-plus" icon="el-icon-plus"
size="mini" size="mini"
...@@ -99,18 +100,21 @@ ...@@ -99,18 +100,21 @@
trigger="click" trigger="click"
> >
<el-button <el-button
v-hasPerm="['market:service:edit']"
size="mini" size="mini"
type="text" type="text"
icon="el-icon-edit-outline" icon="el-icon-edit-outline"
@click="handleEdit(scope.row)" @click="handleEdit(scope.row)"
>修改</el-button> >修改</el-button>
<el-button <el-button
v-hasPerm="['market:service:detail']"
size="mini" size="mini"
type="text" type="text"
icon="el-icon-view" icon="el-icon-view"
@click="handleDetail(scope.row)" @click="handleDetail(scope.row)"
>详情</el-button> >详情</el-button>
<el-button <el-button
v-hasPerm="['market:service:remove']"
size="mini" size="mini"
type="text" type="text"
icon="el-icon-delete" icon="el-icon-delete"
......
...@@ -93,12 +93,14 @@ ...@@ -93,12 +93,14 @@
trigger="click" trigger="click"
> >
<el-button <el-button
v-hasPerm="['market:service:log:detail']"
size="mini" size="mini"
type="text" type="text"
icon="el-icon-view" icon="el-icon-view"
@click="handleDetail(scope.row)" @click="handleDetail(scope.row)"
>详情</el-button> >详情</el-button>
<el-button <el-button
v-hasPerm="['market:service:log:remove']"
size="mini" size="mini"
type="text" type="text"
icon="el-icon-delete" icon="el-icon-delete"
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
<div slot="header" class="clearfix"> <div slot="header" class="clearfix">
<span>{{ title }}</span> <span>{{ title }}</span>
<el-button-group style="float: right;"> <el-button-group style="float: right;">
<el-button size="mini" icon="el-icon-plus" round :loading="loadingOptions.loading" :disabled="loadingOptions.isDisabled" @click="submitForm">{{ loadingOptions.loadingText }}</el-button> <el-button v-hasPerm="['masterdata:data:add']" size="mini" icon="el-icon-plus" round :loading="loadingOptions.loading" :disabled="loadingOptions.isDisabled" @click="submitForm">{{ loadingOptions.loadingText }}</el-button>
<el-button size="mini" icon="el-icon-back" round @click="showCard">返回</el-button> <el-button size="mini" icon="el-icon-back" round @click="showCard">返回</el-button>
</el-button-group> </el-button-group>
</div> </div>
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
<div slot="header" class="clearfix"> <div slot="header" class="clearfix">
<span>{{ title }}</span> <span>{{ title }}</span>
<el-button-group style="float: right;"> <el-button-group style="float: right;">
<el-button size="mini" icon="el-icon-plus" round :loading="loadingOptions.loading" :disabled="loadingOptions.isDisabled" @click="submitForm">{{ loadingOptions.loadingText }}</el-button> <el-button v-hasPerm="['masterdata:data:edit']" size="mini" icon="el-icon-plus" round :loading="loadingOptions.loading" :disabled="loadingOptions.isDisabled" @click="submitForm">{{ loadingOptions.loadingText }}</el-button>
<el-button size="mini" icon="el-icon-back" round @click="showCard">返回</el-button> <el-button size="mini" icon="el-icon-back" round @click="showCard">返回</el-button>
</el-button-group> </el-button-group>
</div> </div>
......
...@@ -14,7 +14,7 @@ ...@@ -14,7 +14,7 @@
> >
<span slot-scope="{ node, data }" class="custom-tree-node"> <span slot-scope="{ node, data }" class="custom-tree-node">
<i v-if="node.level === 1" class="iconfont icon-zuzhi tree-folder" /> <i v-if="node.level === 1" class="iconfont icon-zuzhi tree-folder" />
<span>{{ node.label }}</span> <span :class="data.isSync === '0' ? 'no-select' : ''">{{ node.label }}</span>
</span> </span>
</el-tree> </el-tree>
</el-card> </el-card>
...@@ -208,6 +208,7 @@ ...@@ -208,6 +208,7 @@
<el-col :span="12"> <el-col :span="12">
<el-button-group> <el-button-group>
<el-button <el-button
v-hasPerm="['masterdata:data:add']"
type="primary" type="primary"
icon="el-icon-plus" icon="el-icon-plus"
size="mini" size="mini"
...@@ -247,18 +248,21 @@ ...@@ -247,18 +248,21 @@
trigger="click" trigger="click"
> >
<el-button <el-button
v-hasPerm="['masterdata:data:edit']"
size="mini" size="mini"
type="text" type="text"
icon="el-icon-edit-outline" icon="el-icon-edit-outline"
@click="handleEdit(scope.row)" @click="handleEdit(scope.row)"
>修改</el-button> >修改</el-button>
<el-button <el-button
v-hasPerm="['masterdata:data:detail']"
size="mini" size="mini"
type="text" type="text"
icon="el-icon-view" icon="el-icon-view"
@click="handleDetail(scope.row)" @click="handleDetail(scope.row)"
>详情</el-button> >详情</el-button>
<el-button <el-button
v-hasPerm="['masterdata:data:remove']"
size="mini" size="mini"
type="text" type="text"
icon="el-icon-delete" icon="el-icon-delete"
...@@ -338,7 +342,12 @@ export default { ...@@ -338,7 +342,12 @@ export default {
getTree() { getTree() {
listDataModel().then(response => { listDataModel().then(response => {
if (response.success) { if (response.success) {
const { data } = response const data = response.data
data.forEach((item, index) => {
if (item.isSync === '0') {
item.disabled = true
}
})
const tree = {} const tree = {}
tree.modelName = '数据模型' tree.modelName = '数据模型'
tree.children = data tree.children = data
...@@ -422,7 +431,7 @@ export default { ...@@ -422,7 +431,7 @@ export default {
}, },
/** 节点单击事件 */ /** 节点单击事件 */
handleNodeClick(data) { handleNodeClick(data) {
if (data.id && data.id !== this.modelId) { if (data.id && data.id !== this.modelId && data.isSync === '1') {
getTableParam(data.id).then(response => { getTableParam(data.id).then(response => {
if (response.success) { if (response.success) {
const { data } = response const { data } = response
...@@ -474,6 +483,9 @@ export default { ...@@ -474,6 +483,9 @@ export default {
margin-right: 5px; margin-right: 5px;
color: rgb(246 207 7); color: rgb(246 207 7);
} }
.no-select {
text-decoration: line-through dotted red;
}
} }
} }
.empty-info{ .empty-info{
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
<div slot="header" class="clearfix"> <div slot="header" class="clearfix">
<span>{{ title }}</span> <span>{{ title }}</span>
<el-button-group style="float: right;"> <el-button-group style="float: right;">
<el-button size="mini" icon="el-icon-plus" round :loading="loadingOptions.loading" :disabled="loadingOptions.isDisabled" @click="submitForm">{{ loadingOptions.loadingText }}</el-button> <el-button v-hasPerm="['masterdata:model:add']" size="mini" icon="el-icon-plus" round :loading="loadingOptions.loading" :disabled="loadingOptions.isDisabled" @click="submitForm">{{ loadingOptions.loadingText }}</el-button>
<el-button size="mini" icon="el-icon-back" round @click="showCard">返回</el-button> <el-button size="mini" icon="el-icon-back" round @click="showCard">返回</el-button>
</el-button-group> </el-button-group>
</div> </div>
......
...@@ -3,8 +3,8 @@ ...@@ -3,8 +3,8 @@
<div slot="header" class="clearfix"> <div slot="header" class="clearfix">
<span>{{ title }}</span> <span>{{ title }}</span>
<el-button-group style="float: right;"> <el-button-group style="float: right;">
<el-button v-if="form.flowStatus === '1' || form.flowStatus === '6'" size="mini" icon="el-icon-s-data" round @click="submit">提交</el-button> <el-button v-hasPerm="['masterdata:model:submit']" v-if="form.flowStatus === '1' || form.flowStatus === '6'" size="mini" icon="el-icon-s-data" round @click="submit">提交</el-button>
<el-button v-if="form.flowStatus === '4'" :disabled="form.isSync === '1'" size="mini" icon="el-icon-s-data" round @click="createTable">建模</el-button> <el-button v-hasPerm="['masterdata:model:create']" v-if="form.flowStatus === '4'" :disabled="form.isSync === '1'" size="mini" icon="el-icon-s-data" round @click="createTable">建模</el-button>
<el-button size="mini" icon="el-icon-back" round @click="showCard">返回</el-button> <el-button size="mini" icon="el-icon-back" round @click="showCard">返回</el-button>
</el-button-group> </el-button-group>
</div> </div>
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
<div slot="header" class="clearfix"> <div slot="header" class="clearfix">
<span>{{ title }}</span> <span>{{ title }}</span>
<el-button-group style="float: right;"> <el-button-group style="float: right;">
<el-button size="mini" icon="el-icon-plus" round :loading="loadingOptions.loading" :disabled="loadingOptions.isDisabled" @click="submitForm">{{ loadingOptions.loadingText }}</el-button> <el-button v-hasPerm="['masterdata:model:edit']" size="mini" icon="el-icon-plus" round :loading="loadingOptions.loading" :disabled="loadingOptions.isDisabled" @click="submitForm">{{ loadingOptions.loadingText }}</el-button>
<el-button size="mini" icon="el-icon-back" round @click="showCard">返回</el-button> <el-button size="mini" icon="el-icon-back" round @click="showCard">返回</el-button>
</el-button-group> </el-button-group>
</div> </div>
......
...@@ -20,6 +20,7 @@ ...@@ -20,6 +20,7 @@
<el-col :span="12"> <el-col :span="12">
<el-button-group> <el-button-group>
<el-button <el-button
v-hasPerm="['masterdata:model:add']"
type="primary" type="primary"
icon="el-icon-plus" icon="el-icon-plus"
size="mini" size="mini"
...@@ -99,6 +100,7 @@ ...@@ -99,6 +100,7 @@
trigger="click" trigger="click"
> >
<el-button <el-button
v-hasPerm="['masterdata:model:edit']"
size="mini" size="mini"
type="text" type="text"
icon="el-icon-edit-outline" icon="el-icon-edit-outline"
...@@ -106,12 +108,14 @@ ...@@ -106,12 +108,14 @@
v-flow-edit="scope.row.flowStatus" v-flow-edit="scope.row.flowStatus"
>修改</el-button> >修改</el-button>
<el-button <el-button
v-hasPerm="['masterdata:model:detail']"
size="mini" size="mini"
type="text" type="text"
icon="el-icon-view" icon="el-icon-view"
@click="handleDetail(scope.row)" @click="handleDetail(scope.row)"
>详情</el-button> >详情</el-button>
<el-button <el-button
v-hasPerm="['masterdata:model:remove']"
size="mini" size="mini"
type="text" type="text"
icon="el-icon-delete" icon="el-icon-delete"
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
<div slot="header" class="clearfix"> <div slot="header" class="clearfix">
<span>{{ title }}</span> <span>{{ title }}</span>
<el-button-group style="float: right;"> <el-button-group style="float: right;">
<el-button size="mini" icon="el-icon-plus" round :loading="loadingOptions.loading" :disabled="loadingOptions.isDisabled" @click="submitForm">{{ loadingOptions.loadingText }}</el-button> <el-button v-hasPerm="['metadata:changerecord:add']" size="mini" icon="el-icon-plus" round :loading="loadingOptions.loading" :disabled="loadingOptions.isDisabled" @click="submitForm">{{ loadingOptions.loadingText }}</el-button>
<el-button size="mini" icon="el-icon-back" round @click="showCard">返回</el-button> <el-button size="mini" icon="el-icon-back" round @click="showCard">返回</el-button>
</el-button-group> </el-button-group>
</div> </div>
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
<div slot="header" class="clearfix"> <div slot="header" class="clearfix">
<span>{{ title }}</span> <span>{{ title }}</span>
<el-button-group style="float: right;"> <el-button-group style="float: right;">
<el-button size="mini" icon="el-icon-plus" round :loading="loadingOptions.loading" :disabled="loadingOptions.isDisabled" @click="submitForm">{{ loadingOptions.loadingText }}</el-button> <el-button v-hasPerm="['metadata:changerecord:edit']" size="mini" icon="el-icon-plus" round :loading="loadingOptions.loading" :disabled="loadingOptions.isDisabled" @click="submitForm">{{ loadingOptions.loadingText }}</el-button>
<el-button size="mini" icon="el-icon-back" round @click="showCard">返回</el-button> <el-button size="mini" icon="el-icon-back" round @click="showCard">返回</el-button>
</el-button-group> </el-button-group>
</div> </div>
......
...@@ -93,18 +93,21 @@ ...@@ -93,18 +93,21 @@
trigger="click" trigger="click"
> >
<el-button <el-button
v-hasPerm="['metadata:changerecord:edit']"
size="mini" size="mini"
type="text" type="text"
icon="el-icon-edit-outline" icon="el-icon-edit-outline"
@click="handleEdit(scope.row)" @click="handleEdit(scope.row)"
>修改</el-button> >修改</el-button>
<el-button <el-button
v-hasPerm="['metadata:changerecord:detail']"
size="mini" size="mini"
type="text" type="text"
icon="el-icon-view" icon="el-icon-view"
@click="handleDetail(scope.row)" @click="handleDetail(scope.row)"
>详情</el-button> >详情</el-button>
<el-button <el-button
v-hasPerm="['metadata:changerecord:remove']"
size="mini" size="mini"
type="text" type="text"
icon="el-icon-delete" icon="el-icon-delete"
......
...@@ -26,6 +26,7 @@ ...@@ -26,6 +26,7 @@
<el-col :span="12"> <el-col :span="12">
<el-button-group> <el-button-group>
<el-button <el-button
v-hasPerm="['metadata:dataauthorize:refresh']"
type="warning" type="warning"
icon="el-icon-refresh" icon="el-icon-refresh"
size="mini" size="mini"
...@@ -36,8 +37,8 @@ ...@@ -36,8 +37,8 @@
<el-col :span="12"> <el-col :span="12">
<el-button-group style="float: right;"> <el-button-group style="float: right;">
<template v-if="showBtns"> <template v-if="showBtns">
<el-button v-if="disabled" size="mini" round @click="disabled = false">修改</el-button> <el-button v-hasPerm="['metadata:dataauthorize:edit']" v-if="disabled" size="mini" round @click="disabled = false">修改</el-button>
<el-button v-else size="mini" round @click="handSubmit">保存</el-button> <el-button v-hasPerm="['metadata:dataauthorize:edit']" v-else size="mini" round @click="handSubmit">保存</el-button>
</template> </template>
</el-button-group> </el-button-group>
</el-col> </el-col>
......
...@@ -12,21 +12,21 @@ ...@@ -12,21 +12,21 @@
<el-col :span="8"> <el-col :span="8">
<el-form-item label="字段名称" prop="columnName"> <el-form-item label="字段名称" prop="columnName">
<el-input v-model="form.columnName" disabled> <el-input v-model="form.columnName" disabled>
<el-button slot="append" icon="el-icon-edit-outline" @click="changeRecord('columnName')" /> <el-button v-hasPerm="['metadata:changerecord:add']" slot="append" icon="el-icon-edit-outline" @click="changeRecord('columnName')" />
</el-input> </el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="字段注释" prop="columnComment"> <el-form-item label="字段注释" prop="columnComment">
<el-input v-model="form.columnComment" disabled> <el-input v-model="form.columnComment" disabled>
<el-button slot="append" icon="el-icon-edit-outline" @click="changeRecord('columnComment')" /> <el-button v-hasPerm="['metadata:changerecord:add']" slot="append" icon="el-icon-edit-outline" @click="changeRecord('columnComment')" />
</el-input> </el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="数据默认值" prop="dataDefault"> <el-form-item label="数据默认值" prop="dataDefault">
<el-input v-model="form.dataDefault" disabled> <el-input v-model="form.dataDefault" disabled>
<el-button slot="append" icon="el-icon-edit-outline" @click="changeRecord('dataDefault')" /> <el-button v-hasPerm="['metadata:changerecord:add']" slot="append" icon="el-icon-edit-outline" @click="changeRecord('dataDefault')" />
</el-input> </el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
......
...@@ -119,6 +119,7 @@ ...@@ -119,6 +119,7 @@
trigger="click" trigger="click"
> >
<el-button <el-button
v-hasPerm="['metadata:datacolumn:detail']"
size="mini" size="mini"
type="text" type="text"
icon="el-icon-view" icon="el-icon-view"
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
<div slot="header" class="clearfix"> <div slot="header" class="clearfix">
<span>{{ title }}</span> <span>{{ title }}</span>
<el-button-group style="float: right;"> <el-button-group style="float: right;">
<el-button v-if="active == 2" size="mini" icon="el-icon-plus" round :loading="loadingOptions.loading" :disabled="loadingOptions.isDisabled" @click="submitForm">{{ loadingOptions.loadingText }}</el-button> <el-button v-hasPerm="['metadata:datasource:add']" v-if="active == 2" size="mini" icon="el-icon-plus" round :loading="loadingOptions.loading" :disabled="loadingOptions.isDisabled" @click="submitForm">{{ loadingOptions.loadingText }}</el-button>
<el-button size="mini" icon="el-icon-back" round @click="showCard">返回</el-button> <el-button size="mini" icon="el-icon-back" round @click="showCard">返回</el-button>
</el-button-group> </el-button-group>
</div> </div>
...@@ -59,7 +59,7 @@ ...@@ -59,7 +59,7 @@
<el-input v-model="form2.password" placeholder="请输入密码" /> <el-input v-model="form2.password" placeholder="请输入密码" />
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button size="mini" type="primary" @click="handleCheckConnection">连通性检测</el-button> <el-button v-hasPerm="['metadata:datasource:connect']" size="mini" type="primary" @click="handleCheckConnection">连通性检测</el-button>
</el-form-item> </el-form-item>
</el-form> </el-form>
<el-button v-if="active == 1" style="margin-top: 12px;" @click="handleNextStep">下一步</el-button> <el-button v-if="active == 1" style="margin-top: 12px;" @click="handleNextStep">下一步</el-button>
......
...@@ -3,9 +3,9 @@ ...@@ -3,9 +3,9 @@
<div slot="header" class="clearfix"> <div slot="header" class="clearfix">
<span>{{ title }}</span> <span>{{ title }}</span>
<el-button-group style="float: right;"> <el-button-group style="float: right;">
<el-button v-if="form.isSync === '0'" size="mini" icon="el-icon-coin" round @click="handleSync">元数据同步</el-button> <el-button v-hasPerm="['metadata:datasource:sync']" v-if="form.isSync === '0'" size="mini" icon="el-icon-coin" round @click="handleSync">元数据同步</el-button>
<el-button v-if="form.isSync === '1'" size="mini" icon="el-icon-coin" round @click="handleWord">数据库文档</el-button> <el-button v-hasPerm="['metadata:datasource:word']" v-if="form.isSync === '1'" size="mini" icon="el-icon-coin" round @click="handleWord">数据库文档</el-button>
<el-button size="mini" icon="el-icon-coin" round @click="handleCheckConnection">连通性检测</el-button> <el-button v-hasPerm="['metadata:datasource:connect']" size="mini" icon="el-icon-coin" round @click="handleCheckConnection">连通性检测</el-button>
<el-button size="mini" icon="el-icon-back" round @click="showCard">返回</el-button> <el-button size="mini" icon="el-icon-back" round @click="showCard">返回</el-button>
</el-button-group> </el-button-group>
</div> </div>
...@@ -51,7 +51,7 @@ ...@@ -51,7 +51,7 @@
<el-form-item v-if="form.dbType === '3' || form.dbType === '4'" label="服务名" prop="sid"> <el-form-item v-if="form.dbType === '3' || form.dbType === '4'" label="服务名" prop="sid">
<el-input v-model="form2.sid" placeholder="请输入服务名" /> <el-input v-model="form2.sid" placeholder="请输入服务名" />
</el-form-item> </el-form-item>
<el-form-item v-if="form.dbType !== '3' || form.dbType !== '4'" label="数据库" prop="dbName"> <el-form-item v-if="form.dbType !== '3' && form.dbType !== '4'" label="数据库" prop="dbName">
<el-input v-model="form2.dbName" placeholder="请输入数据库" /> <el-input v-model="form2.dbName" placeholder="请输入数据库" />
</el-form-item> </el-form-item>
<el-form-item label="用户名" prop="username"> <el-form-item label="用户名" prop="username">
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
<div slot="header" class="clearfix"> <div slot="header" class="clearfix">
<span>{{ title }}</span> <span>{{ title }}</span>
<el-button-group style="float: right;"> <el-button-group style="float: right;">
<el-button v-if="active == 2" size="mini" icon="el-icon-plus" round :loading="loadingOptions.loading" :disabled="loadingOptions.isDisabled" @click="submitForm">{{ loadingOptions.loadingText }}</el-button> <el-button v-hasPerm="['metadata:datasource:edit']" v-if="active == 2" size="mini" icon="el-icon-plus" round :loading="loadingOptions.loading" :disabled="loadingOptions.isDisabled" @click="submitForm">{{ loadingOptions.loadingText }}</el-button>
<el-button size="mini" icon="el-icon-back" round @click="showCard">返回</el-button> <el-button size="mini" icon="el-icon-back" round @click="showCard">返回</el-button>
</el-button-group> </el-button-group>
</div> </div>
...@@ -59,7 +59,7 @@ ...@@ -59,7 +59,7 @@
<el-input v-model="form2.password" placeholder="请输入密码" /> <el-input v-model="form2.password" placeholder="请输入密码" />
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button size="mini" type="primary" @click="handleCheckConnection">连通性检测</el-button> <el-button v-hasPerm="['metadata:datasource:connect']" size="mini" type="primary" @click="handleCheckConnection">连通性检测</el-button>
</el-form-item> </el-form-item>
</el-form> </el-form>
<el-button v-if="active == 1" style="margin-top: 12px;" @click="handleNextStep">下一步</el-button> <el-button v-if="active == 1" style="margin-top: 12px;" @click="handleNextStep">下一步</el-button>
......
...@@ -20,12 +20,14 @@ ...@@ -20,12 +20,14 @@
<el-col :span="12"> <el-col :span="12">
<el-button-group> <el-button-group>
<el-button <el-button
v-hasPerm="['metadata:datasource:add']"
type="primary" type="primary"
icon="el-icon-plus" icon="el-icon-plus"
size="mini" size="mini"
@click="handleAdd" @click="handleAdd"
>新增</el-button> >新增</el-button>
<el-button <el-button
v-hasPerm="['metadata:datasource:refresh']"
type="warning" type="warning"
icon="el-icon-refresh" icon="el-icon-refresh"
size="mini" size="mini"
...@@ -105,18 +107,21 @@ ...@@ -105,18 +107,21 @@
trigger="click" trigger="click"
> >
<el-button <el-button
v-hasPerm="['metadata:datasource:edit']"
size="mini" size="mini"
type="text" type="text"
icon="el-icon-edit-outline" icon="el-icon-edit-outline"
@click="handleEdit(scope.row)" @click="handleEdit(scope.row)"
>修改</el-button> >修改</el-button>
<el-button <el-button
v-hasPerm="['metadata:datasource:detail']"
size="mini" size="mini"
type="text" type="text"
icon="el-icon-view" icon="el-icon-view"
@click="handleDetail(scope.row)" @click="handleDetail(scope.row)"
>详情</el-button> >详情</el-button>
<el-button <el-button
v-hasPerm="['metadata:datasource:remove']"
size="mini" size="mini"
type="text" type="text"
icon="el-icon-delete" icon="el-icon-delete"
......
...@@ -32,25 +32,21 @@ ...@@ -32,25 +32,21 @@
trigger="click" trigger="click"
> >
<el-button <el-button
:disabled="scope.row.status === '0'" v-hasPerm="['quality:job:pause']"
v-if="scope.row.status === '1'"
size="mini" size="mini"
type="text" type="text"
icon="el-icon-delete" icon="el-icon-delete"
@click="handlePause(scope.row)" @click="handlePause(scope.row)"
>暂停任务</el-button> >任务暂停</el-button>
<el-button <el-button
:disabled="scope.row.status === '1'" v-hasPerm="['quality:job:resume']"
v-if="scope.row.status === '0'"
size="mini" size="mini"
type="text" type="text"
icon="el-icon-delete" icon="el-icon-delete"
@click="handleResume(scope.row)" @click="handleResume(scope.row)"
>恢复任务</el-button> >任务恢复</el-button>
<el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="handleLog(scope.row)"
>执行日志</el-button>
<el-button slot="reference">操作</el-button> <el-button slot="reference">操作</el-button>
</el-popover> </el-popover>
</template> </template>
...@@ -80,8 +76,7 @@ export default { ...@@ -80,8 +76,7 @@ export default {
// 展示切换 // 展示切换
showOptions: { showOptions: {
data: {}, data: {},
showList: true, showList: true
showLogList: false
}, },
// 遮罩层 // 遮罩层
loading: true, loading: true,
...@@ -163,13 +158,6 @@ export default { ...@@ -163,13 +158,6 @@ export default {
}).catch(() => { }).catch(() => {
}) })
}, },
handleLog(row) {
this.showOptions.data = {}
this.showOptions.data.id = row.id
this.showOptions.showList = false
this.showOptions.showLogList = true
this.$emit('showCard', this.showOptions)
},
handleSizeChange(val) { handleSizeChange(val) {
console.log(`每页 ${val} 条`) console.log(`每页 ${val} 条`)
this.queryParams.pageNum = 1 this.queryParams.pageNum = 1
......
...@@ -3,25 +3,20 @@ ...@@ -3,25 +3,20 @@
<transition name="el-zoom-in-center"> <transition name="el-zoom-in-center">
<check-job-list v-if="options.showList" @showCard="showCard" /> <check-job-list v-if="options.showList" @showCard="showCard" />
</transition> </transition>
<transition name="el-zoom-in-bottom">
<check-log-list v-if="options.showLogList" :data="options.data" @showCard="showCard"/>
</transition>
</div> </div>
</template> </template>
<script> <script>
import CheckJobList from './CheckJobList' import CheckJobList from './CheckJobList'
import CheckLogList from './log/CheckLogList'
export default { export default {
name: 'CheckJob', name: 'CheckJob',
components: { CheckJobList, CheckLogList }, components: { CheckJobList },
data() { data() {
return { return {
options: { options: {
data: {}, data: {},
showList: true, showList: true
showLogList: false
} }
} }
}, },
......
<template>
<el-card class="box-card" shadow="always">
<el-form ref="queryForm" :model="queryParams" :inline="true">
<el-form-item label="规则类型" prop="ruleTypeId">
<el-select v-model="queryParams.ruleTypeId" clearable placeholder="请选择规则类型">
<el-option
v-for="item in ruleTypeOptions"
:key="item.id"
:label="item.name"
:value="item.id"
/>
</el-select>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
<el-button size="mini" icon="el-icon-back" round @click="showCard">返回主表</el-button>
</el-form-item>
</el-form>
<el-table
v-loading="loading"
:data="tableDataList"
border
tooltip-effect="dark"
:height="tableHeight"
style="width: 100%;margin: 15px 0;"
>
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="序号" width="55" align="center">
<template slot-scope="scope">
<span>{{ scope.$index +1 }}</span>
</template>
</el-table-column>
<template v-for="(item, index) in tableColumns">
<el-table-column
v-if="item.show"
:key="index"
:prop="item.prop"
:label="item.label"
:formatter="item.formatter"
align="center"
show-overflow-tooltip
/>
</template>
</el-table>
<el-pagination
:page-sizes="[10, 20, 50, 100]"
layout="total, sizes, prev, pager, next, jumper"
:current-page.sync="queryParams.pageNum"
:page-size.sync="queryParams.pageSize"
:total="total"
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
/>
</el-card>
</template>
<script>
import { listRuleType } from '@/api/quality/checkrule'
import { pageCheckLog } from '@/api/quality/checklog'
export default {
name: 'CheckLogList',
props: {
data: {
type: Object,
default: function() {
return {}
}
}
},
data() {
return {
tableHeight: document.body.offsetHeight - 310 + 'px',
// 展示切换
showOptions: {
data: {},
showList: true,
showLogList: false
},
// 遮罩层
loading: true,
// 表格头
tableColumns: [
{ prop: 'executeJobName', label: '任务名称', show: true },
{ prop: 'executeRuleTypeName', label: '规则类型', show: true },
{ prop: 'executeRuleName', label: '规则名称', show: true },
{ prop: 'executeBatch', label: '执行批次', show: true },
{
prop: 'status',
label: '状态',
show: true,
formatter: this.statusFormatter
},
{ prop: 'executeDate', label: '执行时间', show: true }
],
// 状态数据字典
statusOptions: [],
// 数据集表格数据
tableDataList: [],
// 总数据条数
total: 0,
// 查询参数
queryParams: {
pageNum: 1,
pageSize: 20,
executeJobId: '',
ruleTypeId: ''
},
ruleTypeOptions: []
}
},
created() {
this.queryParams.executeJobId = this.data.id
this.getDicts('sys_normal_status').then(response => {
if (response.success) {
this.statusOptions = response.data
}
})
this.getRuleTypeList()
this.getList()
},
methods: {
showCard() {
this.$emit('showCard', this.showOptions)
},
getRuleTypeList() {
listRuleType().then(response => {
if (response.success) {
this.ruleTypeOptions = response.data
}
})
},
/** 查询数据集列表 */
getList() {
this.loading = true
pageCheckLog(this.queryParams).then(response => {
this.loading = false
if (response.success) {
const { data } = response
this.tableDataList = data.data
this.total = data.total
}
})
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1
this.getList()
},
/** 重置按钮操作 */
resetQuery() {
this.queryParams = {
pageNum: 1,
pageSize: 20,
executeJobId: this.data.id,
ruleTypeId: ''
}
this.handleQuery()
},
handleSizeChange(val) {
console.log(`每页 ${val} 条`)
this.queryParams.pageNum = 1
this.queryParams.pageSize = val
this.getList()
},
handleCurrentChange(val) {
console.log(`当前页: ${val}`)
this.queryParams.pageNum = val
this.getList()
},
statusFormatter(row, column, cellValue, index) {
const dictLabel = this.selectDictLabel(this.statusOptions, cellValue)
if (cellValue === '1') {
return <el-tag type='success'>{dictLabel}</el-tag>
} else {
return <el-tag type='warning'>{dictLabel}</el-tag>
}
}
}
}
</script>
<style lang="scss" scoped>
.right-toolbar {
float: right;
}
.el-card ::v-deep .el-card__body {
height: calc(100vh - 170px);
}
</style>
...@@ -64,7 +64,7 @@ ...@@ -64,7 +64,7 @@
</el-table> </el-table>
</el-col> </el-col>
</el-row> </el-row>
<el-divider content-position="left"><h3>{{ date }}规则类型统计分析</h3></el-divider> <el-divider content-position="left"><h3>规则类型统计分析</h3></el-divider>
<el-row> <el-row>
<el-col :span="24"> <el-col :span="24">
<h5>唯一性分析</h5> <h5>唯一性分析</h5>
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
<div slot="header" class="clearfix"> <div slot="header" class="clearfix">
<span>{{ title }}</span> <span>{{ title }}</span>
<el-button-group style="float: right;"> <el-button-group style="float: right;">
<el-button size="mini" icon="el-icon-plus" round :loading="loadingOptions.loading" :disabled="loadingOptions.isDisabled" @click="submitForm">{{ loadingOptions.loadingText }}</el-button> <el-button v-hasPerm="['quality:rule:add']" size="mini" icon="el-icon-plus" round :loading="loadingOptions.loading" :disabled="loadingOptions.isDisabled" @click="submitForm">{{ loadingOptions.loadingText }}</el-button>
<el-button size="mini" icon="el-icon-back" round @click="showCard">返回</el-button> <el-button size="mini" icon="el-icon-back" round @click="showCard">返回</el-button>
</el-button-group> </el-button-group>
</div> </div>
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
<div slot="header" class="clearfix"> <div slot="header" class="clearfix">
<span>{{ title }}</span> <span>{{ title }}</span>
<el-button-group style="float: right;"> <el-button-group style="float: right;">
<el-button size="mini" icon="el-icon-plus" round :loading="loadingOptions.loading" :disabled="loadingOptions.isDisabled" @click="submitForm">{{ loadingOptions.loadingText }}</el-button> <el-button v-hasPerm="['quality:rule:edit']" size="mini" icon="el-icon-plus" round :loading="loadingOptions.loading" :disabled="loadingOptions.isDisabled" @click="submitForm">{{ loadingOptions.loadingText }}</el-button>
<el-button size="mini" icon="el-icon-back" round @click="showCard">返回</el-button> <el-button size="mini" icon="el-icon-back" round @click="showCard">返回</el-button>
</el-button-group> </el-button-group>
</div> </div>
......
...@@ -45,6 +45,7 @@ ...@@ -45,6 +45,7 @@
<el-col :span="12"> <el-col :span="12">
<el-button-group> <el-button-group>
<el-button <el-button
v-hasPerm="['quality:rule:add']"
type="primary" type="primary"
icon="el-icon-plus" icon="el-icon-plus"
size="mini" size="mini"
...@@ -124,18 +125,21 @@ ...@@ -124,18 +125,21 @@
trigger="click" trigger="click"
> >
<el-button <el-button
v-hasPerm="['quality:rule:edit']"
size="mini" size="mini"
type="text" type="text"
icon="el-icon-edit-outline" icon="el-icon-edit-outline"
@click="handleEdit(scope.row)" @click="handleEdit(scope.row)"
>修改</el-button> >修改</el-button>
<el-button <el-button
v-hasPerm="['quality:rule:detail']"
size="mini" size="mini"
type="text" type="text"
icon="el-icon-view" icon="el-icon-view"
@click="handleDetail(scope.row)" @click="handleDetail(scope.row)"
>详情</el-button> >详情</el-button>
<el-button <el-button
v-hasPerm="['quality:rule:remove']"
size="mini" size="mini"
type="text" type="text"
icon="el-icon-delete" icon="el-icon-delete"
......
...@@ -87,7 +87,7 @@ ...@@ -87,7 +87,7 @@
import { listRuleType, pageCheckReport } from '@/api/quality/checkreport' import { listRuleType, pageCheckReport } from '@/api/quality/checkreport'
export default { export default {
name: 'CheckStatisticList', name: 'CheckStatList',
data() { data() {
return { return {
tableHeight: document.body.offsetHeight - 310 + 'px', tableHeight: document.body.offsetHeight - 310 + 'px',
......
<template> <template>
<div class="app-container"> <div class="app-container">
<transition name="el-zoom-in-center"> <transition name="el-zoom-in-center">
<check-report-list v-if="options.showList" @showCard="showCard" /> <check-stat-list v-if="options.showList" @showCard="showCard" />
</transition> </transition>
</div> </div>
</template> </template>
<script> <script>
import CheckReportList from './CheckReportList' import CheckStatList from './CheckStatList'
export default { export default {
name: 'CheckReport', name: 'CheckStat',
components: { CheckReportList }, components: { CheckStatList },
data() { data() {
return { return {
options: { options: {
......
...@@ -119,10 +119,10 @@ ...@@ -119,10 +119,10 @@
</template> </template>
<script> <script>
import { contrastStatistic } from '@/api/standard/contrast' import { contrastStat } from '@/api/standard/contrast'
export default { export default {
name: 'ContrastStatisticList', name: 'ContrastStatList',
data() { data() {
return { return {
tableHeight: document.body.offsetHeight - 310 + 'px', tableHeight: document.body.offsetHeight - 310 + 'px',
...@@ -171,7 +171,7 @@ export default { ...@@ -171,7 +171,7 @@ export default {
/** 查询数据源列表 */ /** 查询数据源列表 */
getList() { getList() {
this.loading = true this.loading = true
contrastStatistic(this.queryParams).then(response => { contrastStat(this.queryParams).then(response => {
this.loading = false this.loading = false
if (response.success) { if (response.success) {
const { data } = response const { data } = response
......
<template> <template>
<div class="app-container"> <div class="app-container">
<transition name="el-zoom-in-center"> <transition name="el-zoom-in-center">
<contrast-statistic-list v-if="options.showList" @showCard="showCard" /> <contrast-stat-list v-if="options.showList" @showCard="showCard" />
</transition> </transition>
</div> </div>
</template> </template>
<script> <script>
import ContrastStatisticList from './ContrastStatisticList' import ContrastStatList from './ContrastStatList'
export default { export default {
name: 'ContrastStatistic', name: 'ContrastStat',
components: { ContrastStatisticList }, components: { ContrastStatList },
data() { data() {
return { return {
options: { options: {
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
<div slot="header" class="clearfix"> <div slot="header" class="clearfix">
<span>{{ title }}</span> <span>{{ title }}</span>
<el-button-group style="float: right;"> <el-button-group style="float: right;">
<el-button size="mini" icon="el-icon-plus" round :loading="loadingOptions.loading" :disabled="loadingOptions.isDisabled" @click="submitForm">{{ loadingOptions.loadingText }}</el-button> <el-button v-hasPerm="['standard:dict:add']" size="mini" icon="el-icon-plus" round :loading="loadingOptions.loading" :disabled="loadingOptions.isDisabled" @click="submitForm">{{ loadingOptions.loadingText }}</el-button>
<el-button size="mini" icon="el-icon-back" round @click="showCard">返回</el-button> <el-button size="mini" icon="el-icon-back" round @click="showCard">返回</el-button>
</el-button-group> </el-button-group>
</div> </div>
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
<div slot="header" class="clearfix"> <div slot="header" class="clearfix">
<span>{{ title }}</span> <span>{{ title }}</span>
<el-button-group style="float: right;"> <el-button-group style="float: right;">
<el-button size="mini" icon="el-icon-plus" round :loading="loadingOptions.loading" :disabled="loadingOptions.isDisabled" @click="submitForm">{{ loadingOptions.loadingText }}</el-button> <el-button v-hasPerm="['standard:dict:edit']" size="mini" icon="el-icon-plus" round :loading="loadingOptions.loading" :disabled="loadingOptions.isDisabled" @click="submitForm">{{ loadingOptions.loadingText }}</el-button>
<el-button size="mini" icon="el-icon-back" round @click="showCard">返回</el-button> <el-button size="mini" icon="el-icon-back" round @click="showCard">返回</el-button>
</el-button-group> </el-button-group>
</div> </div>
......
...@@ -18,9 +18,9 @@ ...@@ -18,9 +18,9 @@
<span class="custom-tree-node" @mouseenter="mouseenter(data)" @mouseleave="mouseleave(data)"> <span class="custom-tree-node" @mouseenter="mouseenter(data)" @mouseleave="mouseleave(data)">
<span><i v-if="node.level === 1" class="iconfont icon-zuzhi tree-folder" />{{ node.label }}</span> <span><i v-if="node.level === 1" class="iconfont icon-zuzhi tree-folder" />{{ node.label }}</span>
<span class="tree-bts"> <span class="tree-bts">
<i v-show="!data.id && data.show" class="el-icon-circle-plus-outline bt-add" @click="() => handleAddType()" /> <i v-hasPerm="['standard:type:add']" v-show="!data.id && data.show" class="el-icon-circle-plus-outline bt-add" @click="() => handleAddType()" />
<i v-show="data.id && data.show" class="el-icon-edit-outline bt-edit" @click="() => handleEditType(data)" /> <i v-hasPerm="['standard:type:edit']" v-show="data.id && data.show" class="el-icon-edit-outline bt-edit" @click="() => handleEditType(data)" />
<i v-show="data.id && data.show" class="el-icon-delete bt-delete" @click="() => handleDelType(data)" /> <i v-hasPerm="['standard:type:remove']" v-show="data.id && data.show" class="el-icon-delete bt-delete" @click="() => handleDelType(data)" />
</span> </span>
</span> </span>
</template> </template>
...@@ -59,12 +59,14 @@ ...@@ -59,12 +59,14 @@
<el-col :span="12"> <el-col :span="12">
<el-button-group> <el-button-group>
<el-button <el-button
v-hasPerm="['standard:dict:add']"
type="primary" type="primary"
icon="el-icon-plus" icon="el-icon-plus"
size="mini" size="mini"
@click="handleAdd" @click="handleAdd"
>新增</el-button> >新增</el-button>
<el-button <el-button
v-hasPerm="['standard:dict:refresh']"
type="warning" type="warning"
icon="el-icon-refresh" icon="el-icon-refresh"
size="mini" size="mini"
...@@ -144,18 +146,21 @@ ...@@ -144,18 +146,21 @@
trigger="click" trigger="click"
> >
<el-button <el-button
v-hasPerm="['standard:dict:edit']"
size="mini" size="mini"
type="text" type="text"
icon="el-icon-edit-outline" icon="el-icon-edit-outline"
@click="handleEdit(scope.row)" @click="handleEdit(scope.row)"
>修改</el-button> >修改</el-button>
<el-button <el-button
v-hasPerm="['standard:dict:detail']"
size="mini" size="mini"
type="text" type="text"
icon="el-icon-view" icon="el-icon-view"
@click="handleDetail(scope.row)" @click="handleDetail(scope.row)"
>详情</el-button> >详情</el-button>
<el-button <el-button
v-hasPerm="['standard:dict:remove']"
size="mini" size="mini"
type="text" type="text"
icon="el-icon-delete" icon="el-icon-delete"
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
<div slot="header" class="clearfix"> <div slot="header" class="clearfix">
<span>{{ title }}</span> <span>{{ title }}</span>
<el-button-group style="float: right;"> <el-button-group style="float: right;">
<el-button size="mini" icon="el-icon-plus" round :loading="loadingOptions.loading" :disabled="loadingOptions.isDisabled" @click="submitForm">{{ loadingOptions.loadingText }}</el-button> <el-button v-hasPerm="['standard:contrast:dict:add']" size="mini" icon="el-icon-plus" round :loading="loadingOptions.loading" :disabled="loadingOptions.isDisabled" @click="submitForm">{{ loadingOptions.loadingText }}</el-button>
<el-button size="mini" icon="el-icon-back" round @click="showCard">返回</el-button> <el-button size="mini" icon="el-icon-back" round @click="showCard">返回</el-button>
</el-button-group> </el-button-group>
</div> </div>
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
<div slot="header" class="clearfix"> <div slot="header" class="clearfix">
<span>{{ title }}</span> <span>{{ title }}</span>
<el-button-group style="float: right;"> <el-button-group style="float: right;">
<el-button size="mini" icon="el-icon-plus" round :loading="loadingOptions.loading" :disabled="loadingOptions.isDisabled" @click="submitForm">{{ loadingOptions.loadingText }}</el-button> <el-button v-hasPerm="['standard:contrast:dict:edit']" size="mini" icon="el-icon-plus" round :loading="loadingOptions.loading" :disabled="loadingOptions.isDisabled" @click="submitForm">{{ loadingOptions.loadingText }}</el-button>
<el-button size="mini" icon="el-icon-back" round @click="showCard">返回</el-button> <el-button size="mini" icon="el-icon-back" round @click="showCard">返回</el-button>
</el-button-group> </el-button-group>
</div> </div>
......
...@@ -18,9 +18,9 @@ ...@@ -18,9 +18,9 @@
<span class="custom-tree-node" @mouseenter="mouseenter(data)" @mouseleave="mouseleave(data)"> <span class="custom-tree-node" @mouseenter="mouseenter(data)" @mouseleave="mouseleave(data)">
<span><i v-if="node.level === 1" class="iconfont icon-zuzhi tree-folder" />{{ data.name ? node.label + '(' + data.name + ')' : node.label }}</span> <span><i v-if="node.level === 1" class="iconfont icon-zuzhi tree-folder" />{{ data.name ? node.label + '(' + data.name + ')' : node.label }}</span>
<span class="tree-bts"> <span class="tree-bts">
<i v-show="node.level === 1 && data.show" class="el-icon-circle-plus-outline bt-add" @click="() => handleAddContrast()" /> <i v-hasPerm="['standard:contrast:add']" v-show="node.level === 1 && data.show" class="el-icon-circle-plus-outline bt-add" @click="() => handleAddContrast()" />
<i v-show="node.level === 4 && data.show" class="el-icon-edit-outline bt-edit" @click="() => handleEditContrast(data)" /> <i v-hasPerm="['standard:contrast:edit']" v-show="node.level === 4 && data.show" class="el-icon-edit-outline bt-edit" @click="() => handleEditContrast(data)" />
<i v-show="node.level === 4 && data.show" class="el-icon-delete bt-delete" @click="() => handleDelContrast(data)" /> <i v-hasPerm="['standard:contrast:remove']" v-show="node.level === 4 && data.show" class="el-icon-delete bt-delete" @click="() => handleDelContrast(data)" />
</span> </span>
</span> </span>
</template> </template>
...@@ -59,6 +59,7 @@ ...@@ -59,6 +59,7 @@
<el-col :span="12"> <el-col :span="12">
<el-button-group> <el-button-group>
<el-button <el-button
v-hasPerm="['standard:contrast:dict:add']"
type="primary" type="primary"
icon="el-icon-plus" icon="el-icon-plus"
size="mini" size="mini"
...@@ -138,18 +139,21 @@ ...@@ -138,18 +139,21 @@
trigger="click" trigger="click"
> >
<el-button <el-button
v-hasPerm="['standard:contrast:dict:edit']"
size="mini" size="mini"
type="text" type="text"
icon="el-icon-edit-outline" icon="el-icon-edit-outline"
@click="handleEdit(scope.row)" @click="handleEdit(scope.row)"
>修改</el-button> >修改</el-button>
<el-button <el-button
v-hasPerm="['standard:contrast:dict:detail']"
size="mini" size="mini"
type="text" type="text"
icon="el-icon-view" icon="el-icon-view"
@click="handleDetail(scope.row)" @click="handleDetail(scope.row)"
>详情</el-button> >详情</el-button>
<el-button <el-button
v-hasPerm="['standard:contrast:dict:remove']"
size="mini" size="mini"
type="text" type="text"
icon="el-icon-delete" icon="el-icon-delete"
......
...@@ -28,8 +28,8 @@ ...@@ -28,8 +28,8 @@
<el-card class="box-card" shadow="always"> <el-card class="box-card" shadow="always">
<el-row> <el-row>
<el-col :span="24"> <el-col :span="24">
<el-button type="primary" size="mini" @click="handleAuto">自动对照</el-button> <el-button v-hasPerm="['standard:mapping:auto']" type="primary" size="mini" @click="handleAuto">自动对照</el-button>
<el-button type="primary" size="mini" @click="handleManual">手动对照</el-button> <el-button v-hasPerm="['standard:mapping:manual']" type="primary" size="mini" @click="handleManual">手动对照</el-button>
</el-col> </el-col>
</el-row> </el-row>
<el-row> <el-row>
...@@ -73,7 +73,7 @@ ...@@ -73,7 +73,7 @@
<td>{{ data.colCode }}</td> <td>{{ data.colCode }}</td>
<td>{{ data.colName }}</td> <td>{{ data.colName }}</td>
<td>{{ data.contrastGbCode }}</td> <td>{{ data.contrastGbCode }}</td>
<td><span v-if="data.contrastGbId" style="padding-right: 10px;" @click="handleCancel(data.id)"><i class="el-icon-circle-close" style="color: red" /></span>{{ data.contrastGbName }}</td> <td><span v-hasPerm="['standard:mapping:cancel']" v-if="data.contrastGbId" style="padding-right: 10px;" @click="handleCancel(data.id)"><i class="el-icon-circle-close" style="color: red" /></span>{{ data.contrastGbName }}</td>
</tr> </tr>
</tbody> </tbody>
</table> </table>
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
<div slot="header" class="clearfix"> <div slot="header" class="clearfix">
<span>{{ title }}</span> <span>{{ title }}</span>
<el-button-group style="float: right;"> <el-button-group style="float: right;">
<el-button size="mini" icon="el-icon-plus" round :loading="loadingOptions.loading" :disabled="loadingOptions.isDisabled" @click="submitForm">{{ loadingOptions.loadingText }}</el-button> <el-button v-hasPerm="['visual:chart:add']" size="mini" icon="el-icon-plus" round :loading="loadingOptions.loading" :disabled="loadingOptions.isDisabled" @click="submitForm">{{ loadingOptions.loadingText }}</el-button>
<el-button size="mini" icon="el-icon-back" round @click="showCard">返回</el-button> <el-button size="mini" icon="el-icon-back" round @click="showCard">返回</el-button>
</el-button-group> </el-button-group>
</div> </div>
...@@ -37,7 +37,7 @@ ...@@ -37,7 +37,7 @@
<el-form-item> <el-form-item>
<el-button size="mini" type="primary" @click="formaterSql">Sql格式化</el-button> <el-button size="mini" type="primary" @click="formaterSql">Sql格式化</el-button>
<el-button size="mini" type="primary" @click="analyseSql">Sql解析</el-button> <el-button size="mini" type="primary" @click="analyseSql">Sql解析</el-button>
<el-button size="mini" type="primary" @click="dataPreview">数据预览</el-button> <el-button v-hasPerm="['visual:set:preview']" size="mini" type="primary" @click="dataPreview">数据预览</el-button>
</el-form-item> </el-form-item>
<el-divider content-position="left">数据模型定义</el-divider> <el-divider content-position="left">数据模型定义</el-divider>
<el-row style="height: 300px;padding: 0 20px;"> <el-row style="height: 300px;padding: 0 20px;">
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
<div slot="header" class="clearfix"> <div slot="header" class="clearfix">
<span>{{ title }}</span> <span>{{ title }}</span>
<el-button-group style="float: right;"> <el-button-group style="float: right;">
<el-button size="mini" icon="el-icon-s-data" round @click="dataPreview">数据预览</el-button> <el-button v-hasPerm="['visual:set:preview']" size="mini" icon="el-icon-s-data" round @click="dataPreview">数据预览</el-button>
<el-button size="mini" icon="el-icon-back" round @click="showCard">返回</el-button> <el-button size="mini" icon="el-icon-back" round @click="showCard">返回</el-button>
</el-button-group> </el-button-group>
</div> </div>
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
<div slot="header" class="clearfix"> <div slot="header" class="clearfix">
<span>{{ title }}</span> <span>{{ title }}</span>
<el-button-group style="float: right;"> <el-button-group style="float: right;">
<el-button size="mini" icon="el-icon-plus" round :loading="loadingOptions.loading" :disabled="loadingOptions.isDisabled" @click="submitForm">{{ loadingOptions.loadingText }}</el-button> <el-button v-hasPerm="['visual:chart:edit']" size="mini" icon="el-icon-plus" round :loading="loadingOptions.loading" :disabled="loadingOptions.isDisabled" @click="submitForm">{{ loadingOptions.loadingText }}</el-button>
<el-button size="mini" icon="el-icon-back" round @click="showCard">返回</el-button> <el-button size="mini" icon="el-icon-back" round @click="showCard">返回</el-button>
</el-button-group> </el-button-group>
</div> </div>
...@@ -37,7 +37,7 @@ ...@@ -37,7 +37,7 @@
<el-form-item> <el-form-item>
<el-button size="mini" type="primary" @click="formaterSql">Sql格式化</el-button> <el-button size="mini" type="primary" @click="formaterSql">Sql格式化</el-button>
<el-button size="mini" type="primary" @click="analyseSql">Sql解析</el-button> <el-button size="mini" type="primary" @click="analyseSql">Sql解析</el-button>
<el-button size="mini" type="primary" @click="dataPreview">数据预览</el-button> <el-button v-hasPerm="['visual:set:preview']" size="mini" type="primary" @click="dataPreview">数据预览</el-button>
</el-form-item> </el-form-item>
<el-divider content-position="left">数据模型定义</el-divider> <el-divider content-position="left">数据模型定义</el-divider>
<el-row style="height: 300px;padding: 0 20px;"> <el-row style="height: 300px;padding: 0 20px;">
......
...@@ -20,6 +20,7 @@ ...@@ -20,6 +20,7 @@
<el-col :span="12"> <el-col :span="12">
<el-button-group> <el-button-group>
<el-button <el-button
v-hasPerm="['visual:chart:add']"
type="primary" type="primary"
icon="el-icon-plus" icon="el-icon-plus"
size="mini" size="mini"
...@@ -99,18 +100,21 @@ ...@@ -99,18 +100,21 @@
trigger="click" trigger="click"
> >
<el-button <el-button
v-hasPerm="['visual:chart:edit']"
size="mini" size="mini"
type="text" type="text"
icon="el-icon-edit-outline" icon="el-icon-edit-outline"
@click="handleEdit(scope.row)" @click="handleEdit(scope.row)"
>修改</el-button> >修改</el-button>
<el-button <el-button
v-hasPerm="['visual:chart:detail']"
size="mini" size="mini"
type="text" type="text"
icon="el-icon-view" icon="el-icon-view"
@click="handleDetail(scope.row)" @click="handleDetail(scope.row)"
>详情</el-button> >详情</el-button>
<el-button <el-button
v-hasPerm="['visual:chart:remove']"
size="mini" size="mini"
type="text" type="text"
icon="el-icon-delete" icon="el-icon-delete"
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
<div slot="header" class="clearfix"> <div slot="header" class="clearfix">
<span>{{ title }}</span> <span>{{ title }}</span>
<el-button-group style="float: right;"> <el-button-group style="float: right;">
<el-button size="mini" icon="el-icon-plus" round :loading="loadingOptions.loading" :disabled="loadingOptions.isDisabled" @click="submitForm">{{ loadingOptions.loadingText }}</el-button> <el-button v-hasPerm="['workflow:business:add']" size="mini" icon="el-icon-plus" round :loading="loadingOptions.loading" :disabled="loadingOptions.isDisabled" @click="submitForm">{{ loadingOptions.loadingText }}</el-button>
<el-button size="mini" icon="el-icon-back" round @click="showCard">返回</el-button> <el-button size="mini" icon="el-icon-back" round @click="showCard">返回</el-button>
</el-button-group> </el-button-group>
</div> </div>
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
<div slot="header" class="clearfix"> <div slot="header" class="clearfix">
<span>{{ title }}</span> <span>{{ title }}</span>
<el-button-group style="float: right;"> <el-button-group style="float: right;">
<el-button size="mini" icon="el-icon-plus" round :loading="loadingOptions.loading" :disabled="loadingOptions.isDisabled" @click="submitForm">{{ loadingOptions.loadingText }}</el-button> <el-button v-hasPerm="['workflow:business:edit']" size="mini" icon="el-icon-plus" round :loading="loadingOptions.loading" :disabled="loadingOptions.isDisabled" @click="submitForm">{{ loadingOptions.loadingText }}</el-button>
<el-button size="mini" icon="el-icon-back" round @click="showCard">返回</el-button> <el-button size="mini" icon="el-icon-back" round @click="showCard">返回</el-button>
</el-button-group> </el-button-group>
</div> </div>
......
...@@ -20,12 +20,14 @@ ...@@ -20,12 +20,14 @@
<el-col :span="12"> <el-col :span="12">
<el-button-group> <el-button-group>
<el-button <el-button
v-hasPerm="['workflow:business:add']"
type="primary" type="primary"
icon="el-icon-plus" icon="el-icon-plus"
size="mini" size="mini"
@click="handleAdd" @click="handleAdd"
>新增</el-button> >新增</el-button>
<el-button <el-button
v-hasPerm="['workflow:business:refresh']"
type="warning" type="warning"
icon="el-icon-refresh" icon="el-icon-refresh"
size="mini" size="mini"
...@@ -105,18 +107,21 @@ ...@@ -105,18 +107,21 @@
trigger="click" trigger="click"
> >
<el-button <el-button
v-hasPerm="['workflow:business:edit']"
size="mini" size="mini"
type="text" type="text"
icon="el-icon-edit-outline" icon="el-icon-edit-outline"
@click="handleEdit(scope.row)" @click="handleEdit(scope.row)"
>修改</el-button> >修改</el-button>
<el-button <el-button
v-hasPerm="['workflow:business:detail']"
size="mini" size="mini"
type="text" type="text"
icon="el-icon-view" icon="el-icon-view"
@click="handleDetail(scope.row)" @click="handleDetail(scope.row)"
>详情</el-button> >详情</el-button>
<el-button <el-button
v-hasPerm="['workflow:business:remove']"
size="mini" size="mini"
type="text" type="text"
icon="el-icon-delete" icon="el-icon-delete"
......
...@@ -18,9 +18,9 @@ ...@@ -18,9 +18,9 @@
<span class="custom-tree-node" @mouseenter="mouseenter(data)" @mouseleave="mouseleave(data)"> <span class="custom-tree-node" @mouseenter="mouseenter(data)" @mouseleave="mouseleave(data)">
<span><i v-if="node.level === 1" class="iconfont icon-zuzhi tree-folder" />{{ node.label }}</span> <span><i v-if="node.level === 1" class="iconfont icon-zuzhi tree-folder" />{{ node.label }}</span>
<span class="tree-bts"> <span class="tree-bts">
<i v-show="!data.id && data.show" class="el-icon-circle-plus-outline bt-add" @click="() => handleAddCategory()" /> <i v-hasPerm="['workflow:definition:type:add']" v-show="!data.id && data.show" class="el-icon-circle-plus-outline bt-add" @click="() => handleAddCategory()" />
<i v-show="data.id && data.show" class="el-icon-edit-outline bt-edit" @click="() => handleEditCategory(data)" /> <i v-hasPerm="['workflow:definition:type:edit']" v-show="data.id && data.show" class="el-icon-edit-outline bt-edit" @click="() => handleEditCategory(data)" />
<i v-show="data.id && data.show" class="el-icon-delete bt-delete" @click="() => handleDelCategory(data)" /> <i v-hasPerm="['workflow:definition:type:remove']" v-show="data.id && data.show" class="el-icon-delete bt-delete" @click="() => handleDelCategory(data)" />
</span> </span>
</span> </span>
</template> </template>
...@@ -50,6 +50,7 @@ ...@@ -50,6 +50,7 @@
<el-col :span="12"> <el-col :span="12">
<el-button-group> <el-button-group>
<el-button <el-button
v-hasPerm="['workflow:definition:import']"
type="primary" type="primary"
icon="el-icon-plus" icon="el-icon-plus"
size="mini" size="mini"
...@@ -129,12 +130,14 @@ ...@@ -129,12 +130,14 @@
trigger="click" trigger="click"
> >
<el-button <el-button
v-hasPerm="['workflow:definition:resource']"
size="mini" size="mini"
type="text" type="text"
icon="el-icon-view" icon="el-icon-view"
@click="handleResource(scope.row)" @click="handleResource(scope.row)"
>流程图</el-button> >流程图</el-button>
<el-button <el-button
v-hasPerm="['workflow:definition:activate']"
v-if="scope.row.suspensionState === 2" v-if="scope.row.suspensionState === 2"
size="mini" size="mini"
type="text" type="text"
...@@ -142,6 +145,7 @@ ...@@ -142,6 +145,7 @@
@click="handleActivate(scope.row)" @click="handleActivate(scope.row)"
>激活</el-button> >激活</el-button>
<el-button <el-button
v-hasPerm="['workflow:definition:suspend']"
v-if="scope.row.suspensionState === 1" v-if="scope.row.suspensionState === 1"
size="mini" size="mini"
type="text" type="text"
...@@ -149,6 +153,7 @@ ...@@ -149,6 +153,7 @@
@click="handleSuspend(scope.row)" @click="handleSuspend(scope.row)"
>挂起</el-button> >挂起</el-button>
<el-button <el-button
v-hasPerm="['workflow:definition:remove']"
size="mini" size="mini"
type="text" type="text"
icon="el-icon-delete" icon="el-icon-delete"
......
...@@ -48,6 +48,7 @@ ...@@ -48,6 +48,7 @@
trigger="click" trigger="click"
> >
<el-button <el-button
v-hasPerm="['workflow:instance:track']"
size="mini" size="mini"
type="text" type="text"
icon="el-icon-view" icon="el-icon-view"
......
...@@ -48,6 +48,7 @@ ...@@ -48,6 +48,7 @@
trigger="click" trigger="click"
> >
<el-button <el-button
v-hasPerm="['workflow:instance:track']"
size="mini" size="mini"
type="text" type="text"
icon="el-icon-view" icon="el-icon-view"
......
...@@ -48,12 +48,14 @@ ...@@ -48,12 +48,14 @@
trigger="click" trigger="click"
> >
<el-button <el-button
v-hasPerm="['workflow:instance:track']"
size="mini" size="mini"
type="text" type="text"
icon="el-icon-view" icon="el-icon-view"
@click="handleTrack(scope.row)" @click="handleTrack(scope.row)"
>流程追踪</el-button> >流程追踪</el-button>
<el-button <el-button
v-hasPerm="['workflow:instance:running:activate']"
v-if="scope.row.suspensionState === 2" v-if="scope.row.suspensionState === 2"
size="mini" size="mini"
type="text" type="text"
...@@ -61,6 +63,7 @@ ...@@ -61,6 +63,7 @@
@click="handleActivate(scope.row)" @click="handleActivate(scope.row)"
>激活</el-button> >激活</el-button>
<el-button <el-button
v-hasPerm="['workflow:instance:running:suspend']"
v-if="scope.row.suspensionState === 1" v-if="scope.row.suspensionState === 1"
size="mini" size="mini"
type="text" type="text"
...@@ -68,6 +71,7 @@ ...@@ -68,6 +71,7 @@
@click="handleSuspend(scope.row)" @click="handleSuspend(scope.row)"
>挂起</el-button> >挂起</el-button>
<el-button <el-button
v-hasPerm="['workflow:instance:running:remove']"
size="mini" size="mini"
type="text" type="text"
icon="el-icon-delete" icon="el-icon-delete"
......
...@@ -57,6 +57,7 @@ ...@@ -57,6 +57,7 @@
trigger="click" trigger="click"
> >
<el-button <el-button
v-hasPerm="['workflow:task:caim']"
v-if="scope.row.assignee === undefined || scope.row.assignee === null || scope.row.assignee === ''" v-if="scope.row.assignee === undefined || scope.row.assignee === null || scope.row.assignee === ''"
size="mini" size="mini"
type="text" type="text"
...@@ -64,6 +65,7 @@ ...@@ -64,6 +65,7 @@
@click="handleClaim(scope.row)" @click="handleClaim(scope.row)"
>签收</el-button> >签收</el-button>
<el-button <el-button
v-hasPerm="['workflow:task:unclaim']"
v-if="scope.row.assignee && scope.row.assignee === user.id" v-if="scope.row.assignee && scope.row.assignee === user.id"
size="mini" size="mini"
type="text" type="text"
...@@ -71,6 +73,7 @@ ...@@ -71,6 +73,7 @@
@click="handleUnClaim(scope.row)" @click="handleUnClaim(scope.row)"
>反签收</el-button> >反签收</el-button>
<el-button <el-button
v-hasPerm="['workflow:task:delegate']"
v-if="scope.row.assignee && scope.row.assignee === user.id" v-if="scope.row.assignee && scope.row.assignee === user.id"
size="mini" size="mini"
type="text" type="text"
...@@ -78,6 +81,7 @@ ...@@ -78,6 +81,7 @@
@click="handleDelegate(scope.row)" @click="handleDelegate(scope.row)"
>委派</el-button> >委派</el-button>
<el-button <el-button
v-hasPerm="['workflow:task:assignee']"
v-if="scope.row.assignee && scope.row.assignee === user.id" v-if="scope.row.assignee && scope.row.assignee === user.id"
size="mini" size="mini"
type="text" type="text"
...@@ -85,6 +89,7 @@ ...@@ -85,6 +89,7 @@
@click="handleAssignee(scope.row)" @click="handleAssignee(scope.row)"
>转办</el-button> >转办</el-button>
<el-button <el-button
v-hasPerm="['workflow:task:exam']"
v-if="scope.row.assignee && scope.row.assignee === user.id" v-if="scope.row.assignee && scope.row.assignee === user.id"
size="mini" size="mini"
type="text" type="text"
......
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