Commit d3df4c3b by yuwei

项目初始化

parent 7af5dd36
......@@ -160,8 +160,8 @@ public class MetadataColumnController extends BaseController {
@ApiImplicitParam(name = "metadataColumnQuery", value = "查询实体metadataColumnQuery", required = false, dataType = "MetadataColumnQuery")
})
@GetMapping("/tree/{level}")
public R getDataMetadataTree(@PathVariable String level) {
List<MetadataTreeVo> list = metadataColumnService.getDataMetadataTree(level);
public R getDataMetadataTree(@PathVariable String level, MetadataColumnQuery metadataColumnQuery) {
List<MetadataTreeVo> list = metadataColumnService.getDataMetadataTree(level, metadataColumnQuery);
return R.ok().setData(list);
}
}
......@@ -3,6 +3,7 @@ package cn.datax.service.data.metadata.service;
import cn.datax.service.data.metadata.api.dto.MetadataColumnDto;
import cn.datax.common.base.BaseService;
import cn.datax.service.data.metadata.api.entity.MetadataColumnEntity;
import cn.datax.service.data.metadata.api.query.MetadataColumnQuery;
import cn.datax.service.data.metadata.api.vo.MetadataTreeVo;
import java.util.List;
......@@ -27,5 +28,5 @@ public interface MetadataColumnService extends BaseService<MetadataColumnEntity>
void deleteMetadataColumnBatch(List<String> ids);
List<MetadataTreeVo> getDataMetadataTree(String level);
List<MetadataTreeVo> getDataMetadataTree(String level, MetadataColumnQuery metadataColumnQuery);
}
......@@ -8,6 +8,7 @@ import cn.datax.service.data.metadata.api.entity.MetadataColumnEntity;
import cn.datax.service.data.metadata.api.entity.MetadataSourceEntity;
import cn.datax.service.data.metadata.api.entity.MetadataTableEntity;
import cn.datax.service.data.metadata.api.enums.DataLevel;
import cn.datax.service.data.metadata.api.query.MetadataColumnQuery;
import cn.datax.service.data.metadata.api.vo.MetadataTreeVo;
import cn.datax.service.data.metadata.service.MetadataColumnService;
import cn.datax.service.data.metadata.mapstruct.MetadataColumnMapper;
......@@ -23,6 +24,7 @@ import java.util.ArrayList;
import java.util.List;
import java.util.Optional;
import java.util.stream.Collectors;
import java.util.stream.Stream;
/**
* <p>
......@@ -80,26 +82,32 @@ public class MetadataColumnServiceImpl extends BaseServiceImpl<MetadataColumnDao
}
@Override
public List<MetadataTreeVo> getDataMetadataTree(String level) {
public List<MetadataTreeVo> getDataMetadataTree(String level, MetadataColumnQuery metadataColumnQuery) {
List<MetadataSourceEntity> sourceList = (List<MetadataSourceEntity>) redisService.get(RedisConstant.METADATA_SOURCE_KEY);
List<MetadataTreeVo> list = Optional.ofNullable(sourceList).orElseGet(ArrayList::new).stream().filter(s -> DataConstant.EnableState.ENABLE.getKey().equals(s.getStatus()))
.map(m -> {
Stream<MetadataSourceEntity> stream = Optional.ofNullable(sourceList).orElseGet(ArrayList::new).stream().filter(s -> DataConstant.EnableState.ENABLE.getKey().equals(s.getStatus()));
if (StrUtil.isNotBlank(metadataColumnQuery.getSourceId())) {
stream.filter(s -> metadataColumnQuery.getSourceId().equals(s.getId()));
}
List<MetadataTreeVo> list = stream.map(m -> {
MetadataTreeVo tree = new MetadataTreeVo();
tree.setId(m.getId());
tree.setType(DataLevel.DATABASE.getKey());
tree.setLabel(m.getSourceName());
if (DataLevel.getLevel(level).getLevel() >= DataLevel.TABLE.getLevel()) {
tree.setChildren(getTableChildrens(m.getId(), level));
tree.setChildren(getTableChildrens(m.getId(), level, metadataColumnQuery.getTableId()));
}
return tree;
}).collect(Collectors.toList());
return list;
}
private List<MetadataTreeVo> getTableChildrens(String id, String level) {
private List<MetadataTreeVo> getTableChildrens(String id, String level, String tableId) {
List<MetadataTableEntity> tableList = (List<MetadataTableEntity>) redisService.hget(RedisConstant.METADATA_TABLE_KEY, id);
List<MetadataTreeVo> children = Optional.ofNullable(tableList).orElseGet(ArrayList::new).stream()
.map(m -> {
Stream<MetadataTableEntity> stream = Optional.ofNullable(tableList).orElseGet(ArrayList::new).stream();
if (StrUtil.isNotBlank(tableId)) {
stream.filter(s -> tableId.equals(s.getId()));
}
List<MetadataTreeVo> children = stream.map(m -> {
MetadataTreeVo tree = new MetadataTreeVo();
tree.setId(m.getId());
tree.setType(DataLevel.TABLE.getKey());
......
......@@ -53,9 +53,10 @@ export function updateDataColumn (data) {
})
}
export function getDataMetadataTree (level) {
export function getDataMetadataTree (level, data) {
return request({
url: '/data/metadata/columns/tree/' + level,
method: 'get'
method: 'get',
params: data
})
}
<template>
<div>
<el-card class="box-card" shadow="always">
<div slot="header" class="clearfix">
<span>{{ title }}</span>
<el-button-group style="float: right;">
<el-button size="mini" icon="el-icon-back" round @click="showCard">返回</el-button>
</el-button-group>
</div>
<div :style="classCardbody">
<el-form ref="form" :model="form" label-width="80px" disabled>
<el-form-item label="接口名称" prop="apiName">
<el-input v-model="form.apiName" />
</el-form-item>
<el-form-item label="调用者ip" prop="callerIp">
<el-input v-model="form.callerIp" />
</el-form-item>
<el-form-item label="调用接口url" prop="callerUrl">
<el-input v-model="form.callerUrl" />
</el-form-item>
<el-form-item label="调用参数" prop="callerParams">
<el-input v-model="form.callerParams" />
</el-form-item>
<el-form-item label="调用时间" prop="callerDate">
<el-input v-model="form.callerDate" />
</el-form-item>
<el-form-item label="调用耗时" prop="time">
<el-input v-model="form.time" />
</el-form-item>
<el-form-item label="状态" prop="status">
<el-radio-group v-model="form.status">
<el-radio
v-for="dict in statusOptions"
:key="dict.id"
:label="dict.itemText"
>{{dict.itemValue}}</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="信息记录" prop="msg">
<el-input v-model="form.msg" />
</el-form-item>
</el-form>
</div>
</el-card>
</div>
<el-card class="box-card" shadow="always">
<div slot="header" class="clearfix">
<span>{{ title }}</span>
<el-button-group style="float: right;">
<el-button size="mini" icon="el-icon-back" round @click="showCard">返回</el-button>
</el-button-group>
</div>
<div class="body-wrapper">
<el-form ref="form" :model="form" label-width="80px" disabled>
<el-form-item label="接口名称" prop="apiName">
<el-input v-model="form.apiName" />
</el-form-item>
<el-form-item label="调用者ip" prop="callerIp">
<el-input v-model="form.callerIp" />
</el-form-item>
<el-form-item label="调用接口url" prop="callerUrl">
<el-input v-model="form.callerUrl" />
</el-form-item>
<el-form-item label="调用参数" prop="callerParams">
<el-input v-model="form.callerParams" />
</el-form-item>
<el-form-item label="调用时间" prop="callerDate">
<el-input v-model="form.callerDate" />
</el-form-item>
<el-form-item label="调用耗时" prop="time">
<el-input v-model="form.time" />
</el-form-item>
<el-form-item label="状态" prop="status">
<el-radio-group v-model="form.status">
<el-radio
v-for="dict in statusOptions"
:key="dict.id"
:label="dict.itemText"
>{{dict.itemValue}}</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="信息记录" prop="msg">
<el-input v-model="form.msg" />
</el-form-item>
</el-form>
</div>
</el-card>
</template>
<script>
......@@ -105,5 +103,8 @@ export default {
</script>
<style lang="scss" scoped>
.el-card ::v-deep .el-card__body {
height: calc(100vh - 230px);
overflow-y: auto;
}
</style>
......@@ -8,7 +8,7 @@
<el-button size="mini" icon="el-icon-back" round @click="showCard">返回</el-button>
</el-button-group>
</div>
<div :style="classCardbody">
<div class="body-wrapper">
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item label="数据API" prop="apiId">
<el-select v-model="form.apiId" placeholder="请选择数据API" @change="apiSelectChanged">
......@@ -304,5 +304,8 @@ export default {
</script>
<style lang="scss" scoped>
.el-card ::v-deep .el-card__body {
height: calc(100vh - 230px);
overflow-y: auto;
}
</style>
<template>
<div>
<el-card class="box-card" shadow="always">
<div slot="header" class="clearfix">
<span>{{ title }}</span>
<el-button-group style="float: right;">
<el-button size="mini" icon="el-icon-back" round @click="showCard">返回</el-button>
</el-button-group>
</div>
<div :style="classCardbody">
<el-form ref="form" :model="form" label-width="80px" disabled>
<el-form-item label="数据API" prop="apiId">
<el-select v-model="form.apiId" placeholder="请选择数据API">
<el-option
v-for="api in apiOptions"
:key="api.id"
:label="api.apiName"
:value="api.id"
:disabled="api.status === '0'"
></el-option>
</el-select>
</el-form-item>
<el-form-item label="脱敏名称" prop="maskName">
<el-input v-model="form.maskName" placeholder="请输入脱敏名称" />
</el-form-item>
<el-form-item label="脱敏字段规则配置" prop="rules">
<el-table :data="resParamList" stripe border
:max-height="300"
style="width: 100%; margin: 15px 0;">
<el-table-column label="序号" width="55" align="center">
<template slot-scope="scope">
<span>{{ scope.$index +1 }}</span>
</template>
</el-table-column>
<el-table-column prop="fieldName" label="字段名称" align="center" show-overflow-tooltip >
</el-table-column>
<el-table-column prop="remark" label="描述" align="center" show-overflow-tooltip >
</el-table-column>
<el-table-column prop="dataType" label="数据类型" align="center" show-overflow-tooltip >
</el-table-column>
<el-table-column prop="exampleValue" label="示例值" align="center" show-overflow-tooltip >
</el-table-column>
<el-table-column prop="cipherType" label="脱敏类型" align="center" show-overflow-tooltip >
</el-table-column>
<el-table-column prop="cryptType" label="规则类型" align="center" show-overflow-tooltip >
</el-table-column>
</el-table>
</el-form-item>
<el-form-item label="状态" prop="status">
<el-radio-group v-model="form.status">
<el-radio
v-for="dict in statusOptions"
:key="dict.id"
:label="dict.itemText"
>{{dict.itemValue}}</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" type="textarea" placeholder="请输入内容" />
</el-form-item>
</el-form>
</div>
</el-card>
</div>
<el-card class="box-card" shadow="always">
<div slot="header" class="clearfix">
<span>{{ title }}</span>
<el-button-group style="float: right;">
<el-button size="mini" icon="el-icon-back" round @click="showCard">返回</el-button>
</el-button-group>
</div>
<div class="body-wrapper">
<el-form ref="form" :model="form" label-width="80px" disabled>
<el-form-item label="数据API" prop="apiId">
<el-select v-model="form.apiId" placeholder="请选择数据API">
<el-option
v-for="api in apiOptions"
:key="api.id"
:label="api.apiName"
:value="api.id"
:disabled="api.status === '0'"
/>
</el-select>
</el-form-item>
<el-form-item label="脱敏名称" prop="maskName">
<el-input v-model="form.maskName" placeholder="请输入脱敏名称" />
</el-form-item>
<el-form-item label="脱敏字段规则配置" prop="rules">
<el-table
:data="resParamList"
stripe
border
:max-height="300"
style="width: 100%; margin: 15px 0;"
>
<el-table-column label="序号" width="55" align="center">
<template slot-scope="scope">
<span>{{ scope.$index +1 }}</span>
</template>
</el-table-column>
<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="dataType" 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="cryptType" label="规则类型" align="center" show-overflow-tooltip />
</el-table>
</el-form-item>
<el-form-item label="状态" prop="status">
<el-radio-group v-model="form.status">
<el-radio
v-for="dict in statusOptions"
:key="dict.id"
:label="dict.itemText"
>{{ dict.itemValue }}</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" type="textarea" placeholder="请输入内容" />
</el-form-item>
</el-form>
</div>
</el-card>
</template>
<script>
......@@ -73,17 +69,13 @@ export default {
props: {
data: {
type: Object,
default: function () {
default: function() {
return {}
}
}
},
data () {
data() {
return {
classCardbody: {
overflow: 'auto',
height: document.body.offsetHeight - 240 + 'px'
},
title: '数据API脱敏详情',
// 展示切换
showOptions: {
......@@ -116,7 +108,7 @@ export default {
algorithmCryptoOptions: []
}
},
created () {
created() {
console.log('id:' + this.data.id)
this.getDicts('sys_common_status').then(response => {
if (response.success) {
......@@ -140,14 +132,14 @@ export default {
})
this.getDataApiList()
},
mounted () {
mounted() {
this.getApiMask(this.data.id)
},
methods: {
showCard () {
showCard() {
this.$emit('showCard', this.showOptions)
},
getDataApiList () {
getDataApiList() {
listDataApi().then(response => {
if (response.success) {
this.apiOptions = response.data
......@@ -155,14 +147,14 @@ export default {
})
},
/** 获取详情 */
async getApiMask () {
async getApiMask() {
this.form = await getApiMask(this.data.id).then(response => {
if (response.success) {
return response.data
}
}) || {}
if (this.form && this.form.apiId) {
let dataApi = await getDataApi(this.form.apiId).then(response => {
const dataApi = await getDataApi(this.form.apiId).then(response => {
if (response.success) {
return response.data
}
......@@ -170,11 +162,11 @@ export default {
if (dataApi && dataApi.resParams.length > 0) {
this.resParamList = dataApi.resParams
this.form.rules.forEach(rule => {
let fieldParamIndex = this.resParamList.findIndex((param) => {
const fieldParamIndex = this.resParamList.findIndex((param) => {
return param.fieldName === rule.fieldName
})
if (fieldParamIndex !== -1) {
let cipher = this.cipherTypeOptions.find((item) => {
const cipher = this.cipherTypeOptions.find((item) => {
return item.itemText === rule.cipherType
})
let crypt = {}
......@@ -187,7 +179,7 @@ export default {
return item.itemText === rule.cryptType
})
}
let resParam = Object.assign({}, this.resParamList[fieldParamIndex], { cipherType: (cipher && cipher.itemValue) || undefined, cryptType: (crypt && crypt.itemValue) || undefined })
const resParam = Object.assign({}, this.resParamList[fieldParamIndex], { cipherType: (cipher && cipher.itemValue) || undefined, cryptType: (crypt && crypt.itemValue) || undefined })
this.$set(this.resParamList, fieldParamIndex, resParam)
}
})
......@@ -199,5 +191,8 @@ export default {
</script>
<style lang="scss" scoped>
.el-card ::v-deep .el-card__body {
height: calc(100vh - 230px);
overflow-y: auto;
}
</style>
<template>
<div>
<el-card class="box-card" shadow="always">
<div slot="header" class="clearfix">
<span>{{ title }}</span>
<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 size="mini" icon="el-icon-back" round @click="showCard">返回</el-button>
</el-button-group>
</div>
<div :style="classCardbody">
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item label="服务名称" prop="serviceName">
<el-input v-model="form.serviceName" placeholder="请输入服务名称" />
<el-card class="box-card" shadow="always">
<div slot="header" class="clearfix">
<span>{{ title }}</span>
<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 size="mini" icon="el-icon-back" round @click="showCard">返回</el-button>
</el-button-group>
</div>
<div class="body-wrapper">
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item label="服务名称" prop="serviceName">
<el-input v-model="form.serviceName" placeholder="请输入服务名称" />
</el-form-item>
<el-form-item label="服务类型" prop="serviceType">
<el-select v-model="form.serviceType">
<el-option
v-for="item in serviceTypeOptions"
:key="item.id"
:label="item.itemValue"
:value="item.itemText"
/>
</el-select>
</el-form-item>
<template v-if="form.serviceType === '1'">
<el-form-item label="服务请求地址" prop="httpService.url">
<el-input v-model="form.httpService.url" placeholder="请输入服务请求地址" />
</el-form-item>
<el-form-item label="服务类型" prop="serviceType">
<el-select v-model="form.serviceType">
<el-form-item label="服务请求头">
<el-input v-model="form.httpService.header" placeholder="请输入服务请求头,如{key:val}格式" />
</el-form-item>
<el-form-item label="服务请求参数">
<el-input v-model="form.httpService.param" placeholder="请输入服务请求参数,如{key:val}格式" />
</el-form-item>
<el-form-item label="服务请求方式" prop="httpService.httpMethod">
<el-select v-model="form.httpService.httpMethod" placeholder="请选择请求方式">
<el-option
v-for="item in serviceTypeOptions"
:key="item.id"
:label="item.itemValue"
:value="item.itemText"
v-for="dict in httpMethodOptions"
:key="dict.id"
:label="dict.itemValue"
:value="dict.itemText"
/>
</el-select>
</el-form-item>
<template v-if="form.serviceType === '1'">
<el-form-item label="服务请求地址" prop="httpService.url">
<el-input v-model="form.httpService.url" placeholder="请输入服务请求地址" />
</el-form-item>
<el-form-item label="服务请求头">
<el-input v-model="form.httpService.header" placeholder="请输入服务请求头,如{key:val}格式" />
</el-form-item>
<el-form-item label="服务请求参数">
<el-input v-model="form.httpService.param" placeholder="请输入服务请求参数,如{key:val}格式" />
</el-form-item>
<el-form-item label="服务请求方式" prop="httpService.httpMethod">
<el-select v-model="form.httpService.httpMethod" placeholder="请选择请求方式">
<el-option
v-for="dict in httpMethodOptions"
:key="dict.id"
:label="dict.itemValue"
:value="dict.itemText"
/>
</el-select>
</el-form-item>
</template>
<template v-if="form.serviceType === '2'">
<el-form-item label="服务wsdl地址" prop="webService.wsdl">
<el-input v-model="form.webService.wsdl" placeholder="请输入服务wsdl地址" />
</el-form-item>
<el-form-item label="服务命名空间" prop="webService.targetNamespace">
<el-input v-model="form.webService.targetNamespace" placeholder="请输入服务命名空间" />
</el-form-item>
<el-form-item label="服务方法" prop="webService.method">
<el-input v-model="form.webService.method" placeholder="请输入服务方法" />
</el-form-item>
<el-form-item label="服务请求报文" prop="webService.soap">
<el-input v-model="form.webService.soap" type="textarea" placeholder="请输入服务请求报文" />
</el-form-item>
</template>
<el-form-item label="状态" prop="status">
<el-radio-group v-model="form.status">
<el-radio
v-for="dict in statusOptions"
:key="dict.id"
:label="dict.itemText"
>{{ dict.itemValue }}</el-radio>
</el-radio-group>
</template>
<template v-if="form.serviceType === '2'">
<el-form-item label="服务wsdl地址" prop="webService.wsdl">
<el-input v-model="form.webService.wsdl" placeholder="请输入服务wsdl地址" />
</el-form-item>
<el-form-item label="服务命名空间" prop="webService.targetNamespace">
<el-input v-model="form.webService.targetNamespace" placeholder="请输入服务命名空间" />
</el-form-item>
<el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" type="textarea" placeholder="请输入内容" />
<el-form-item label="服务方法" prop="webService.method">
<el-input v-model="form.webService.method" placeholder="请输入服务方法" />
</el-form-item>
</el-form>
</div>
</el-card>
</div>
<el-form-item label="服务请求报文" prop="webService.soap">
<el-input v-model="form.webService.soap" type="textarea" placeholder="请输入服务请求报文" />
</el-form-item>
</template>
<el-form-item label="状态" prop="status">
<el-radio-group v-model="form.status">
<el-radio
v-for="dict in statusOptions"
:key="dict.id"
:label="dict.itemText"
>{{ dict.itemValue }}</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" type="textarea" placeholder="请输入内容" />
</el-form-item>
</el-form>
</div>
</el-card>
</template>
<script>
......@@ -91,10 +89,6 @@ export default {
},
data() {
return {
classCardbody: {
overflow: 'auto',
height: document.body.offsetHeight - 240 + 'px'
},
title: '服务集成新增',
// 展示切换
showOptions: {
......@@ -200,5 +194,8 @@ export default {
</script>
<style lang="scss" scoped>
.el-card ::v-deep .el-card__body {
height: calc(100vh - 230px);
overflow-y: auto;
}
</style>
<template>
<div>
<el-card class="box-card" shadow="always">
<div slot="header" class="clearfix">
<span>{{ title }}</span>
<el-button-group style="float: right;">
<el-button size="mini" icon="el-icon-back" round @click="showCard">返回</el-button>
</el-button-group>
</div>
<div :style="classCardbody">
<el-form ref="form" :model="form" label-width="80px" disabled>
<el-form-item label="服务名称">
<el-input v-model="form.serviceName" placeholder="请输入服务名称" />
<el-card class="box-card" shadow="always">
<div slot="header" class="clearfix">
<span>{{ title }}</span>
<el-button-group style="float: right;">
<el-button size="mini" icon="el-icon-back" round @click="showCard">返回</el-button>
</el-button-group>
</div>
<div class="body-wrapper">
<el-form ref="form" :model="form" label-width="80px" disabled>
<el-form-item label="服务名称">
<el-input v-model="form.serviceName" placeholder="请输入服务名称" />
</el-form-item>
<el-form-item label="服务编号">
<el-input v-model="form.serviceNo" />
</el-form-item>
<el-form-item label="服务类型">
<el-select v-model="form.serviceType">
<el-option
v-for="item in serviceTypeOptions"
:key="item.id"
:label="item.itemValue"
:value="item.itemText"
/>
</el-select>
</el-form-item>
<template v-if="form.serviceType === '1'">
<el-form-item label="服务请求地址">
<el-input v-model="form.httpService.url" placeholder="请输入服务请求地址" />
</el-form-item>
<el-form-item label="服务编号">
<el-input v-model="form.serviceNo" />
<el-form-item label="服务请求头">
<el-input v-model="form.httpService.header" placeholder="请输入服务请求头,如{key:val}格式" />
</el-form-item>
<el-form-item label="服务类型">
<el-select v-model="form.serviceType">
<el-form-item label="服务请求参数">
<el-input v-model="form.httpService.param" placeholder="请输入服务请求参数,如{key:val}格式" />
</el-form-item>
<el-form-item label="服务请求方式">
<el-select v-model="form.httpService.httpMethod" placeholder="请选择请求方式">
<el-option
v-for="item in serviceTypeOptions"
:key="item.id"
:label="item.itemValue"
:value="item.itemText"
v-for="dict in httpMethodOptions"
:key="dict.id"
:label="dict.itemValue"
:value="dict.itemText"
/>
</el-select>
</el-form-item>
<template v-if="form.serviceType === '1'">
<el-form-item label="服务请求地址">
<el-input v-model="form.httpService.url" placeholder="请输入服务请求地址" />
</el-form-item>
<el-form-item label="服务请求头">
<el-input v-model="form.httpService.header" placeholder="请输入服务请求头,如{key:val}格式" />
</el-form-item>
<el-form-item label="服务请求参数">
<el-input v-model="form.httpService.param" placeholder="请输入服务请求参数,如{key:val}格式" />
</el-form-item>
<el-form-item label="服务请求方式">
<el-select v-model="form.httpService.httpMethod" placeholder="请选择请求方式">
<el-option
v-for="dict in httpMethodOptions"
:key="dict.id"
:label="dict.itemValue"
:value="dict.itemText"
/>
</el-select>
</el-form-item>
</template>
<template v-if="form.serviceType === '2'">
<el-form-item label="服务wsdl地址">
<el-input v-model="form.webService.wsdl" placeholder="请输入服务wsdl地址" />
</el-form-item>
<el-form-item label="服务命名空间">
<el-input v-model="form.webService.targetNamespace" placeholder="请输入服务命名空间" />
</el-form-item>
<el-form-item label="服务方法">
<el-input v-model="form.webService.method" placeholder="请输入服务方法" />
</el-form-item>
<el-form-item label="服务请求报文">
<el-input v-model="form.webService.soap" type="textarea" placeholder="请输入服务请求报文" />
</el-form-item>
</template>
<el-form-item label="状态" prop="status">
<el-radio-group v-model="form.status">
<el-radio
v-for="dict in statusOptions"
:key="dict.id"
:label="dict.itemText"
>{{ dict.itemValue }}</el-radio>
</el-radio-group>
</template>
<template v-if="form.serviceType === '2'">
<el-form-item label="服务wsdl地址">
<el-input v-model="form.webService.wsdl" placeholder="请输入服务wsdl地址" />
</el-form-item>
<el-form-item label="服务命名空间">
<el-input v-model="form.webService.targetNamespace" placeholder="请输入服务命名空间" />
</el-form-item>
<el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" type="textarea" placeholder="请输入内容" />
<el-form-item label="服务方法">
<el-input v-model="form.webService.method" placeholder="请输入服务方法" />
</el-form-item>
</el-form>
</div>
</el-card>
</div>
<el-form-item label="服务请求报文">
<el-input v-model="form.webService.soap" type="textarea" placeholder="请输入服务请求报文" />
</el-form-item>
</template>
<el-form-item label="状态" prop="status">
<el-radio-group v-model="form.status">
<el-radio
v-for="dict in statusOptions"
:key="dict.id"
:label="dict.itemText"
>{{ dict.itemValue }}</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" type="textarea" placeholder="请输入内容" />
</el-form-item>
</el-form>
</div>
</el-card>
</template>
<script>
......@@ -93,10 +91,6 @@ export default {
},
data() {
return {
classCardbody: {
overflow: 'auto',
height: document.body.offsetHeight - 240 + 'px'
},
title: '服务集成详情',
// 展示切换
showOptions: {
......@@ -152,5 +146,8 @@ export default {
</script>
<style lang="scss" scoped>
.el-card ::v-deep .el-card__body {
height: calc(100vh - 230px);
overflow-y: auto;
}
</style>
<template>
<div>
<el-card class="box-card" shadow="always">
<div slot="header" class="clearfix">
<span>{{ title }}</span>
<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 size="mini" icon="el-icon-back" round @click="showCard">返回</el-button>
</el-button-group>
</div>
<div :style="classCardbody">
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item label="服务名称" prop="serviceName">
<el-input v-model="form.serviceName" placeholder="请输入服务名称" />
<el-card class="box-card" shadow="always">
<div slot="header" class="clearfix">
<span>{{ title }}</span>
<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 size="mini" icon="el-icon-back" round @click="showCard">返回</el-button>
</el-button-group>
</div>
<div class="body-wrapper">
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item label="服务名称" prop="serviceName">
<el-input v-model="form.serviceName" placeholder="请输入服务名称" />
</el-form-item>
<el-form-item label="服务编号" prop="serviceNo">
<el-input v-model="form.serviceNo" :disabled="true" />
</el-form-item>
<el-form-item label="服务类型" prop="serviceType">
<el-select v-model="form.serviceType">
<el-option
v-for="item in serviceTypeOptions"
:key="item.id"
:label="item.itemValue"
:value="item.itemText"
/>
</el-select>
</el-form-item>
<template v-if="form.serviceType === '1'">
<el-form-item label="服务请求地址" prop="serviceUrl">
<el-input v-model="form.httpService.url" placeholder="请输入服务请求地址" />
</el-form-item>
<el-form-item label="服务编号" prop="serviceNo">
<el-input v-model="form.serviceNo" :disabled="true" />
<el-form-item label="服务请求头" prop="serviceHeader">
<el-input v-model="form.httpService.header" placeholder="请输入服务请求头,如{key:val}格式" />
</el-form-item>
<el-form-item label="服务类型" prop="serviceType">
<el-select v-model="form.serviceType">
<el-form-item label="服务请求参数" prop="serviceParam">
<el-input v-model="form.httpService.param" placeholder="请输入服务请求参数,如{key:val}格式" />
</el-form-item>
<el-form-item label="服务请求方式" prop="serviceHttpMethod">
<el-select v-model="form.httpService.httpMethod" placeholder="请选择请求方式">
<el-option
v-for="item in serviceTypeOptions"
:key="item.id"
:label="item.itemValue"
:value="item.itemText"
v-for="dict in httpMethodOptions"
:key="dict.id"
:label="dict.itemValue"
:value="dict.itemText"
/>
</el-select>
</el-form-item>
<template v-if="form.serviceType === '1'">
<el-form-item label="服务请求地址" prop="serviceUrl">
<el-input v-model="form.httpService.url" placeholder="请输入服务请求地址" />
</el-form-item>
<el-form-item label="服务请求头" prop="serviceHeader">
<el-input v-model="form.httpService.header" placeholder="请输入服务请求头,如{key:val}格式" />
</el-form-item>
<el-form-item label="服务请求参数" prop="serviceParam">
<el-input v-model="form.httpService.param" placeholder="请输入服务请求参数,如{key:val}格式" />
</el-form-item>
<el-form-item label="服务请求方式" prop="serviceHttpMethod">
<el-select v-model="form.httpService.httpMethod" placeholder="请选择请求方式">
<el-option
v-for="dict in httpMethodOptions"
:key="dict.id"
:label="dict.itemValue"
:value="dict.itemText"
/>
</el-select>
</el-form-item>
</template>
<template v-if="form.serviceType === '2'">
<el-form-item label="服务wsdl地址" prop="serviceWsdl">
<el-input v-model="form.webService.wsdl" placeholder="请输入服务wsdl地址" />
</el-form-item>
<el-form-item label="服务命名空间" prop="serviceTargetNamespace">
<el-input v-model="form.webService.targetNamespace" placeholder="请输入服务命名空间" />
</el-form-item>
<el-form-item label="服务方法" prop="serviceMethod">
<el-input v-model="form.webService.method" placeholder="请输入服务方法" />
</el-form-item>
<el-form-item label="服务请求报文" prop="serviceSoap">
<el-input v-model="form.webService.soap" type="textarea" placeholder="请输入服务请求报文" />
</el-form-item>
</template>
<el-form-item label="状态" prop="status">
<el-radio-group v-model="form.status">
<el-radio
v-for="dict in statusOptions"
:key="dict.id"
:label="dict.itemText"
>{{ dict.itemValue }}</el-radio>
</el-radio-group>
</template>
<template v-if="form.serviceType === '2'">
<el-form-item label="服务wsdl地址" prop="serviceWsdl">
<el-input v-model="form.webService.wsdl" placeholder="请输入服务wsdl地址" />
</el-form-item>
<el-form-item label="服务命名空间" prop="serviceTargetNamespace">
<el-input v-model="form.webService.targetNamespace" placeholder="请输入服务命名空间" />
</el-form-item>
<el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" type="textarea" placeholder="请输入内容" />
<el-form-item label="服务方法" prop="serviceMethod">
<el-input v-model="form.webService.method" placeholder="请输入服务方法" />
</el-form-item>
</el-form>
</div>
</el-card>
</div>
<el-form-item label="服务请求报文" prop="serviceSoap">
<el-input v-model="form.webService.soap" type="textarea" placeholder="请输入服务请求报文" />
</el-form-item>
</template>
<el-form-item label="状态" prop="status">
<el-radio-group v-model="form.status">
<el-radio
v-for="dict in statusOptions"
:key="dict.id"
:label="dict.itemText"
>{{ dict.itemValue }}</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" type="textarea" placeholder="请输入内容" />
</el-form-item>
</el-form>
</div>
</el-card>
</template>
<script>
......@@ -94,10 +92,6 @@ export default {
},
data() {
return {
classCardbody: {
overflow: 'auto',
height: document.body.offsetHeight - 240 + 'px'
},
title: '服务集成编辑',
// 展示切换
showOptions: {
......@@ -210,5 +204,8 @@ export default {
</script>
<style lang="scss" scoped>
.el-card ::v-deep .el-card__body {
height: calc(100vh - 230px);
overflow-y: auto;
}
</style>
<template>
<div>
<el-card class="box-card" shadow="always">
<div slot="header" class="clearfix">
<span>{{ title }}</span>
<el-button-group style="float: right;">
<el-button size="mini" icon="el-icon-back" round @click="showCard">返回</el-button>
</el-button-group>
</div>
<div :style="classCardbody">
<el-form ref="form" :model="form" label-width="80px" disabled>
<el-form-item label="服务名称" prop="serviceName">
<el-input v-model="form.serviceName" />
</el-form-item>
<el-form-item label="调用者ip" prop="callerIp">
<el-input v-model="form.callerIp" />
</el-form-item>
<el-form-item label="调用请求头" prop="callerHeader">
<el-input v-model="form.callerHeader" />
</el-form-item>
<el-form-item label="调用请求参数" prop="callerParam">
<el-input v-model="form.callerParam" />
</el-form-item>
<el-form-item label="调用报文" prop="callerSoap">
<el-input v-model="form.callerSoap" />
</el-form-item>
<el-form-item label="调用时间" prop="callerDate">
<el-input v-model="form.callerDate" />
</el-form-item>
<el-form-item label="调用耗时" prop="time">
<el-input v-model="form.time" />
</el-form-item>
<el-form-item label="状态" prop="status">
<el-radio-group v-model="form.status">
<el-radio
v-for="dict in statusOptions"
:key="dict.id"
:label="dict.itemText"
>{{dict.itemValue}}</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="信息记录" prop="msg">
<el-input v-model="form.msg" />
</el-form-item>
</el-form>
</div>
</el-card>
</div>
<el-card class="box-card" shadow="always">
<div slot="header" class="clearfix">
<span>{{ title }}</span>
<el-button-group style="float: right;">
<el-button size="mini" icon="el-icon-back" round @click="showCard">返回</el-button>
</el-button-group>
</div>
<div class="body-wrapper">
<el-form ref="form" :model="form" label-width="80px" disabled>
<el-form-item label="服务名称" prop="serviceName">
<el-input v-model="form.serviceName" />
</el-form-item>
<el-form-item label="调用者ip" prop="callerIp">
<el-input v-model="form.callerIp" />
</el-form-item>
<el-form-item label="调用请求头" prop="callerHeader">
<el-input v-model="form.callerHeader" />
</el-form-item>
<el-form-item label="调用请求参数" prop="callerParam">
<el-input v-model="form.callerParam" />
</el-form-item>
<el-form-item label="调用报文" prop="callerSoap">
<el-input v-model="form.callerSoap" />
</el-form-item>
<el-form-item label="调用时间" prop="callerDate">
<el-input v-model="form.callerDate" />
</el-form-item>
<el-form-item label="调用耗时" prop="time">
<el-input v-model="form.time" />
</el-form-item>
<el-form-item label="状态" prop="status">
<el-radio-group v-model="form.status">
<el-radio
v-for="dict in statusOptions"
:key="dict.id"
:label="dict.itemText"
>{{dict.itemValue}}</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="信息记录" prop="msg">
<el-input v-model="form.msg" />
</el-form-item>
</el-form>
</div>
</el-card>
</template>
<script>
......@@ -63,10 +61,6 @@ export default {
},
data() {
return {
classCardbody: {
overflow: 'auto',
height: document.body.offsetHeight - 240 + 'px'
},
title: '服务日志详情',
// 展示切换
showOptions: {
......@@ -108,5 +102,8 @@ export default {
</script>
<style lang="scss" scoped>
.el-card ::v-deep .el-card__body {
height: calc(100vh - 230px);
overflow-y: auto;
}
</style>
<template>
<div>
<el-card class="box-card" shadow="always">
<div slot="header" class="clearfix">
<span>{{ title }}</span>
<el-button-group style="float: right;">
<el-button size="mini" icon="el-icon-plus" round @click="submitForm" :loading="loadingOptions.loading" :disabled="loadingOptions.isDisabled">{{loadingOptions.loadingText}}</el-button>
<el-button size="mini" icon="el-icon-back" round @click="showCard">返回</el-button>
</el-button-group>
</div>
<div :style="classCardbody">
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item label="源数据表主键" prop="objectId">
<el-input v-model="form.objectId" placeholder="请输入源数据表主键" />
</el-form-item>
<el-form-item label="源数据表的字段名" prop="fieldName">
<el-input v-model="form.fieldName" placeholder="请输入源数据表的字段名" />
</el-form-item>
<el-form-item label="原来的值" prop="fieldOldValue">
<el-input v-model="form.fieldOldValue" placeholder="请输入原来的值" />
</el-form-item>
<el-form-item label="最新的值" prop="fieldNewValue">
<el-input v-model="form.fieldNewValue" placeholder="请输入最新的值" />
</el-form-item>
<el-form-item label="版本号" prop="version">
<el-input v-model="form.version" placeholder="请输入版本号" />
</el-form-item>
<el-form-item label="状态" prop="status">
<el-radio-group v-model="form.status">
<el-radio
v-for="dict in statusOptions"
:key="dict.id"
:label="dict.itemText"
>{{dict.itemValue}}</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" type="textarea" placeholder="请输入内容" />
</el-form-item>
</el-form>
</div>
</el-card>
<el-card class="box-card" shadow="always">
<div slot="header" class="clearfix">
<span>{{ title }}</span>
<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 size="mini" icon="el-icon-back" round @click="showCard">返回</el-button>
</el-button-group>
</div>
<div class="body-wrapper">
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item label="源数据表主键" prop="objectId">
<el-input v-model="form.objectId" placeholder="请输入源数据表主键" />
</el-form-item>
<el-form-item label="源数据表的字段名" prop="fieldName">
<el-input v-model="form.fieldName" placeholder="请输入源数据表的字段名" />
</el-form-item>
<el-form-item label="原来的值" prop="fieldOldValue">
<el-input v-model="form.fieldOldValue" placeholder="请输入原来的值" />
</el-form-item>
<el-form-item label="最新的值" prop="fieldNewValue">
<el-input v-model="form.fieldNewValue" placeholder="请输入最新的值" />
</el-form-item>
<el-form-item label="版本号" prop="version">
<el-input v-model="form.version" placeholder="请输入版本号" />
</el-form-item>
<el-form-item label="状态" prop="status">
<el-radio-group v-model="form.status">
<el-radio
v-for="dict in statusOptions"
:key="dict.id"
:label="dict.itemText"
>{{ dict.itemValue }}</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" type="textarea" placeholder="请输入内容" />
</el-form-item>
</el-form>
</div>
</el-card>
</template>
<script>
......@@ -51,17 +49,13 @@ export default {
props: {
data: {
type: Object,
default: function () {
default: function() {
return {}
}
}
},
data () {
data() {
return {
classCardbody: {
overflow: 'auto',
height: document.body.offsetHeight - 240 + 'px'
},
title: '变更记录新增',
// 展示切换
showOptions: {
......@@ -103,7 +97,7 @@ export default {
statusOptions: []
}
},
created () {
created() {
this.getDicts('sys_common_status').then(response => {
if (response.success) {
this.statusOptions = response.data
......@@ -111,11 +105,11 @@ export default {
})
},
methods: {
showCard () {
showCard() {
this.$emit('showCard', this.showOptions)
},
/** 提交按钮 */
submitForm: function () {
submitForm: function() {
this.$refs['form'].validate(valid => {
if (valid) {
this.loadingOptions.loading = true
......@@ -143,5 +137,8 @@ export default {
</script>
<style lang="scss" scoped>
.el-card ::v-deep .el-card__body {
height: calc(100vh - 230px);
overflow-y: auto;
}
</style>
<template>
<div>
<el-card class="box-card" shadow="always">
<div slot="header" class="clearfix">
<span>{{ title }}</span>
<el-button-group style="float: right;">
<el-button size="mini" icon="el-icon-back" round @click="showCard">返回</el-button>
</el-button-group>
</div>
<div :style="classCardbody">
<el-form ref="form" :model="form" label-width="80px" disabled>
<el-form-item label="变更字段" prop="fieldName">
<el-input v-model="fieldName" />
</el-form-item>
<el-form-item label="版本号" prop="version">
<el-input v-model="form.version" />
</el-form-item>
<el-form-item label="原来的值" prop="fieldOldValue">
<el-input v-model="form.fieldOldValue" />
</el-form-item>
<el-form-item label="最新的值" prop="fieldNewValue">
<el-input v-model="form.fieldNewValue" />
</el-form-item>
<el-form-item label="状态" prop="status">
<el-radio-group v-model="form.status">
<el-radio
v-for="dict in statusOptions"
:key="dict.id"
:label="dict.itemText"
>{{dict.itemValue}}</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" type="textarea" />
</el-form-item>
</el-form>
</div>
</el-card>
<el-card class="box-card" shadow="always">
<div slot="header" class="clearfix">
<span>{{ title }}</span>
<el-button-group style="float: right;">
<el-button size="mini" icon="el-icon-back" round @click="showCard">返回</el-button>
</el-button-group>
</div>
<div class="body-wrapper">
<el-form ref="form" :model="form" label-width="80px" disabled>
<el-form-item label="变更字段" prop="fieldName">
<el-input v-model="fieldName" />
</el-form-item>
<el-form-item label="版本号" prop="version">
<el-input v-model="form.version" />
</el-form-item>
<el-form-item label="原来的值" prop="fieldOldValue">
<el-input v-model="form.fieldOldValue" />
</el-form-item>
<el-form-item label="最新的值" prop="fieldNewValue">
<el-input v-model="form.fieldNewValue" />
</el-form-item>
<el-form-item label="状态" prop="status">
<el-radio-group v-model="form.status">
<el-radio
v-for="dict in statusOptions"
:key="dict.id"
:label="dict.itemText"
>{{ dict.itemValue }}</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" type="textarea" />
</el-form-item>
</el-form>
</div>
</el-card>
</template>
<script>
......@@ -47,17 +45,13 @@ export default {
props: {
data: {
type: Object,
default: function () {
default: function() {
return {}
}
}
},
data () {
data() {
return {
classCardbody: {
overflow: 'auto',
height: document.body.offsetHeight - 240 + 'px'
},
title: '变更记录详情',
// 展示切换
showOptions: {
......@@ -84,7 +78,12 @@ export default {
])
}
},
created () {
computed: {
fieldName() {
return this.dicts.get(this.form.fieldName)
}
},
created() {
console.log('id:' + this.data.id)
this.getDicts('sys_common_status').then(response => {
if (response.success) {
......@@ -92,20 +91,15 @@ export default {
}
})
},
mounted () {
mounted() {
this.getChangeRecord(this.data.id)
},
computed: {
fieldName () {
return this.dicts.get(this.form.fieldName)
}
},
methods: {
showCard () {
showCard() {
this.$emit('showCard', this.showOptions)
},
/** 获取详情 */
getChangeRecord: function (id) {
getChangeRecord: function(id) {
getChangeRecord(id).then(response => {
if (response.success) {
this.form = response.data
......@@ -117,5 +111,8 @@ export default {
</script>
<style lang="scss" scoped>
.el-card ::v-deep .el-card__body {
height: calc(100vh - 230px);
overflow-y: auto;
}
</style>
<template>
<div>
<el-card class="box-card" shadow="always">
<div slot="header" class="clearfix">
<span>{{ title }}</span>
<el-button-group style="float: right;">
<el-button size="mini" icon="el-icon-plus" round @click="submitForm" :loading="loadingOptions.loading" :disabled="loadingOptions.isDisabled">{{loadingOptions.loadingText}}</el-button>
<el-button size="mini" icon="el-icon-back" round @click="showCard">返回</el-button>
</el-button-group>
</div>
<div :style="classCardbody">
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item label="变更字段" prop="fieldName">
<el-input v-model="fieldName" placeholder="请输入变更字段" disabled />
</el-form-item>
<el-form-item label="版本号" prop="version">
<el-input v-model="form.version" placeholder="请输入版本号" />
</el-form-item>
<el-form-item label="原来的值" prop="fieldOldValue">
<el-input v-model="form.fieldOldValue" placeholder="请输入原来的值" disabled />
</el-form-item>
<el-form-item label="最新的值" prop="fieldNewValue">
<el-input v-model="form.fieldNewValue" placeholder="请输入最新的值" />
</el-form-item>
<el-form-item label="状态" prop="status">
<el-radio-group v-model="form.status">
<el-radio
v-for="dict in statusOptions"
:key="dict.id"
:label="dict.itemText"
>{{dict.itemValue}}</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" type="textarea" placeholder="请输入内容" />
</el-form-item>
</el-form>
</div>
</el-card>
<el-card class="box-card" shadow="always">
<div slot="header" class="clearfix">
<span>{{ title }}</span>
<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 size="mini" icon="el-icon-back" round @click="showCard">返回</el-button>
</el-button-group>
</div>
<div class="body-wrapper">
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item label="变更字段" prop="fieldName">
<el-input v-model="fieldName" placeholder="请输入变更字段" disabled />
</el-form-item>
<el-form-item label="版本号" prop="version">
<el-input v-model="form.version" placeholder="请输入版本号" />
</el-form-item>
<el-form-item label="原来的值" prop="fieldOldValue">
<el-input v-model="form.fieldOldValue" placeholder="请输入原来的值" disabled />
</el-form-item>
<el-form-item label="最新的值" prop="fieldNewValue">
<el-input v-model="form.fieldNewValue" placeholder="请输入最新的值" />
</el-form-item>
<el-form-item label="状态" prop="status">
<el-radio-group v-model="form.status">
<el-radio
v-for="dict in statusOptions"
:key="dict.id"
:label="dict.itemText"
>{{ dict.itemValue }}</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" type="textarea" placeholder="请输入内容" />
</el-form-item>
</el-form>
</div>
</el-card>
</template>
<script>
......@@ -48,17 +46,13 @@ export default {
props: {
data: {
type: Object,
default: function () {
default: function() {
return {}
}
}
},
data () {
data() {
return {
classCardbody: {
overflow: 'auto',
height: document.body.offsetHeight - 240 + 'px'
},
title: '变更记录编辑',
// 展示切换
showOptions: {
......@@ -109,7 +103,12 @@ export default {
])
}
},
created () {
computed: {
fieldName() {
return this.dicts.get(this.form.fieldName)
}
},
created() {
console.log('id:' + this.data.id)
this.getDicts('sys_common_status').then(response => {
if (response.success) {
......@@ -117,20 +116,15 @@ export default {
}
})
},
mounted () {
mounted() {
this.getChangeRecord(this.data.id)
},
computed: {
fieldName () {
return this.dicts.get(this.form.fieldName)
}
},
methods: {
showCard () {
showCard() {
this.$emit('showCard', this.showOptions)
},
/** 获取详情 */
getChangeRecord: function (id) {
getChangeRecord: function(id) {
getChangeRecord(id).then(response => {
if (response.success) {
this.form = response.data
......@@ -138,7 +132,7 @@ export default {
})
},
/** 提交按钮 */
submitForm: function () {
submitForm: function() {
this.$refs['form'].validate(valid => {
if (valid) {
this.loadingOptions.loading = true
......@@ -166,5 +160,8 @@ export default {
</script>
<style lang="scss" scoped>
.el-card ::v-deep .el-card__body {
height: calc(100vh - 230px);
overflow-y: auto;
}
</style>
<template>
<div class="app-container">
<el-card class="box-card" shadow="always">
<div :style="classCardbody">
<div class="body-wrapper">
<el-form :inline="true" :model="searchForm">
<el-form-item label="数据库">
<el-select v-model="searchForm.sourceId" placeholder="数据库">
......@@ -10,7 +10,7 @@
:key="item.id"
:label="item.sourceName"
:value="item.id"
></el-option>
/>
</el-select>
</el-form-item>
<el-form-item label="数据表">
......@@ -20,15 +20,15 @@
:key="item.id"
:label="item.tableComment ? item.tableComment : item.tableName"
:value="item.id"
></el-option>
/>
</el-select>
</el-form-item>
<el-form-item>
<el-button type="primary" :disabled="btnEnable" @click="onSubmit">查询</el-button>
</el-form-item>
</el-form>
<el-divider></el-divider>
<div id="chart" :style="{width: '100%', height: '85%'}"></div>
<el-divider />
<div id="chart" :style="{width: '100%', height: '85%'}" />
</div>
</el-card>
</div>
......@@ -42,12 +42,8 @@ import echarts from 'echarts'
export default {
name: 'DataMap',
data: function () {
data: function() {
return {
classCardbody: {
overflow: 'auto',
height: document.body.offsetHeight - 150 + 'px'
},
searchForm: {
sourceId: '',
tableId: ''
......@@ -103,22 +99,43 @@ export default {
]
}
},
created () {
watch: {
'searchForm.sourceId': {
immediate: true,
// handler:是一个回调函数,即监听到变化应该执行的函数
handler(value) {
if (value) {
// 清空数据
this.searchForm.tableId = ''
this.getDataTableList(value)
this.btnEnable = false
}
}
}
},
created() {
this.getDataSourceList()
},
mounted () {
mounted() {
this.chart = echarts.init(document.getElementById('chart'))
},
beforeDestroy() {
if (!this.chart) {
return false
}
this.chart.dispose()
this.chart = null
},
methods: {
getDataSourceList () {
getDataSourceList() {
listDataSource().then(response => {
if (response.success) {
this.sourceOptions = response.data
}
})
},
getDataTableList (sourceId) {
let data = {}
getDataTableList(sourceId) {
const data = {}
data.sourceId = sourceId
listDataTable(data).then(response => {
if (response.success) {
......@@ -126,7 +143,7 @@ export default {
}
})
},
onSubmit () {
onSubmit() {
getDataMetadataTree('column', { sourceId: this.searchForm.sourceId, tableId: this.searchForm.tableId }).then(response => {
if (response.success) {
const { data } = response
......@@ -135,7 +152,7 @@ export default {
}
})
},
handleList (arr, idx, color, category) {
handleList(arr, idx, color, category) {
arr.forEach((item, index) => {
if (item.label === null) {
return false
......@@ -175,7 +192,7 @@ export default {
this.chartLegend.push(item.label)
}
// 设置线条颜色
let lineStyle = {
const lineStyle = {
color: color.c2
}
// 设置节点样式
......@@ -283,7 +300,7 @@ export default {
}
})
},
handleLink (arr, idx, color) {
handleLink(arr, idx, color) {
arr.forEach(item => {
if (item.children) {
item.children.forEach((item2, eq) => {
......@@ -315,7 +332,7 @@ export default {
}
break
}
let obj = {
const obj = {
source: item.id,
target: item2.id,
lineStyle
......@@ -328,13 +345,13 @@ export default {
}
})
},
initChart () {
initChart() {
this.chart.showLoading()
this.chartList = []
this.chartLinks = []
this.chartLegend = []
// 获取表名
let categories = this.treeData[0].children.map(item => {
const categories = this.treeData[0].children.map(item => {
return {
name: item.label
}
......@@ -429,32 +446,14 @@ export default {
this.chart.setOption(option)
this.chart.hideLoading()
}
},
beforeDestroy () {
if (!this.chart) {
return false
}
this.chart.dispose()
this.chart = null
},
watch: {
'searchForm.sourceId': {
immediate: true,
// handler:是一个回调函数,即监听到变化应该执行的函数
handler (value) {
if (value) {
// 清空数据
this.searchForm.tableId = ''
this.getDataTableList(value)
this.btnEnable = false
}
}
}
}
}
</script>
<style lang="scss" scoped>
.el-card ::v-deep .el-card__body {
height: calc(100vh - 170px);
}
::v-deep .el-divider {
margin: 0;
}
......
<template>
<div class="app-container">
<el-card class="box-card" shadow="always">
<div :style="classCardbody">
<div class="body-wrapper">
<div v-if="searchExecuting">
<el-row>
<el-col :span="12" :offset="6">
<el-input placeholder="请输入内容" v-model="keyword">
<el-select v-model="type" slot="prepend" placeholder="请选择" style="width: 100px;" @change="typeSelectChanged">
<el-option label="数据库" value="1"></el-option>
<el-option label="数据表" value="2"></el-option>
<el-option label="数据元" value="3"></el-option>
<el-input v-model="keyword" placeholder="请输入内容">
<el-select slot="prepend" v-model="type" placeholder="请选择" style="width: 100px;" @change="typeSelectChanged">
<el-option label="数据库" value="1" />
<el-option label="数据表" value="2" />
<el-option label="数据元" value="3" />
</el-select>
<el-button slot="append" :disabled="btnEnable" icon="el-icon-search" @click="search"></el-button>
<el-button slot="append" :disabled="btnEnable" icon="el-icon-search" @click="search" />
</el-input>
</el-col>
</el-row>
<el-divider></el-divider>
<el-divider />
<el-row>
<el-col :span="24">
<source-pane v-if="type === '1'" :data="dataList"></source-pane>
<table-pane v-if="type === '2'" :data="dataList"></table-pane>
<column-pane v-if="type === '3'" :data="dataList"></column-pane>
<source-pane v-if="type === '1'" :data="dataList" />
<table-pane v-if="type === '2'" :data="dataList" />
<column-pane v-if="type === '3'" :data="dataList" />
<el-pagination
:page-sizes="[10, 20, 50, 100]"
layout="total, sizes, prev, pager, next, jumper"
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
:current-page.sync="queryParams.pageNum"
:page-size.sync="queryParams.pageSize"
:total="total"
></el-pagination>
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
/>
</el-col>
</el-row>
</div>
<div v-else>
<div class="search-container">
<el-input placeholder="请输入内容" v-model="keyword">
<el-select v-model="type" slot="prepend" placeholder="请选择" style="width: 100px;">
<el-option label="数据库" value="1"></el-option>
<el-option label="数据表" value="2"></el-option>
<el-option label="数据元" value="3"></el-option>
<el-input v-model="keyword" placeholder="请输入内容">
<el-select slot="prepend" v-model="type" placeholder="请选择" style="width: 100px;">
<el-option label="数据库" value="1" />
<el-option label="数据表" value="2" />
<el-option label="数据元" value="3" />
</el-select>
<el-button slot="append" icon="el-icon-search" :disabled="btnEnable" @click="search"></el-button>
<el-button slot="append" icon="el-icon-search" :disabled="btnEnable" @click="search" />
</el-input>
</div>
</div>
......@@ -62,12 +62,8 @@ import { pageDataColumn } from '@/api/metadata/datacolumn'
export default {
name: 'DataSearch',
components: { SourcePane, TablePane, ColumnPane },
data () {
data() {
return {
classCardbody: {
overflow: 'auto',
height: document.body.offsetHeight - 150 + 'px'
},
searchExecuting: false,
type: '',
keyword: '',
......@@ -80,10 +76,25 @@ export default {
}
}
},
computed: {
listenChange() {
const { type, keyword } = this
return { type, keyword }
}
},
watch: {
listenChange(val) {
if (val.type && val.keyword) {
this.btnEnable = false
} else {
this.btnEnable = true
}
}
},
methods: {
search () {
search() {
this.searchExecuting = true
let data = JSON.parse(JSON.stringify(this.queryParams))
const data = JSON.parse(JSON.stringify(this.queryParams))
if (this.type === '1') {
data.sourceName = this.keyword
pageDataSource(data).then(response => {
......@@ -113,42 +124,30 @@ export default {
})
}
},
typeSelectChanged (val) {
typeSelectChanged(val) {
this.dataList = []
this.total = 0
this.queryParams.pageNum = 1
this.queryParams.pageSize = 20
console.log(val)
},
handleSizeChange (val) {
handleSizeChange(val) {
this.queryParams.pageNum = 1
this.queryParams.pageSize = val
this.search()
},
handleCurrentChange (val) {
handleCurrentChange(val) {
this.queryParams.pageNum = val
this.search()
}
},
computed: {
listenChange () {
const { type, keyword } = this
return { type, keyword }
}
},
watch: {
listenChange (val) {
if (val.type && val.keyword) {
this.btnEnable = false
} else {
this.btnEnable = true
}
}
}
}
</script>
<style lang="scss" scoped>
.el-card ::v-deep .el-card__body {
height: calc(100vh - 170px);
}
.search-container {
min-height: 100%;
width: 100%;
......@@ -161,8 +160,7 @@ export default {
margin: 0 auto;
}
}
::v-deep .el-divider {
margin: 0;
margin: 10px 0;
}
</style>
<template>
<div>
<el-card class="box-card" shadow="always">
<div slot="header" class="clearfix">
<span>{{ title }}</span>
<el-button-group style="float: right;">
<el-button size="mini" icon="el-icon-plus" v-if="active == 2" round @click="submitForm" :loading="loadingOptions.loading" :disabled="loadingOptions.isDisabled">{{loadingOptions.loadingText}}</el-button>
<el-button size="mini" icon="el-icon-back" round @click="showCard">返回</el-button>
</el-button-group>
</div>
<div :style="classCardbody">
<el-steps :active="active" finish-status="success" align-center>
<el-step title="数据源信息"></el-step>
<el-step title="连接信息"></el-step>
</el-steps>
<el-form ref="form" :model="form" :rules="rules" label-width="80px" v-if="active == 1">
<el-form-item label="数据源类型" prop="dbType">
<el-select v-model="form.dbType">
<el-option
v-for="item in dbTypeOptions"
:key="item.id"
:label="item.itemValue"
:value="item.itemText"
></el-option>
</el-select>
</el-form-item>
<el-form-item label="数据源名称" prop="sourceName">
<el-input v-model="form.sourceName" placeholder="请输入数据源名称" />
</el-form-item>
<el-form-item label="状态" prop="status">
<el-radio-group v-model="form.status">
<el-radio
v-for="dict in statusOptions"
:key="dict.id"
:label="dict.itemText"
>{{dict.itemValue}}</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" type="textarea" placeholder="请输入内容" />
</el-form-item>
</el-form>
<el-form ref="form2" :model="form2" :rules="rules2" label-width="80px" v-if="active == 2">
<el-form-item label="主机" prop="host">
<el-input v-model="form2.host" placeholder="请输入主机" />
</el-form-item>
<el-form-item label="端口" prop="port">
<el-input v-model="form2.port" placeholder="请输入端口" />
</el-form-item>
<el-form-item label="服务名" prop="sid" v-if="form.dbType === '3' || form.dbType === '4'">
<el-input v-model="form2.sid" placeholder="请输入服务名" />
</el-form-item>
<el-form-item label="数据库" prop="dbName" v-if="form.dbType !== '3' && form.dbType !== '4'">
<el-input v-model="form2.dbName" placeholder="请输入数据库" />
</el-form-item>
<el-form-item label="用户名" prop="username">
<el-input v-model="form2.username" placeholder="请输入用户名" />
</el-form-item>
<el-form-item label="密码" prop="password">
<el-input v-model="form2.password" placeholder="请输入密码" />
</el-form-item>
<el-form-item>
<el-button size="mini" type="primary" @click="handleCheckConnection">连通性检测</el-button>
</el-form-item>
</el-form>
<el-button style="margin-top: 12px;" @click="handleNextStep" v-if="active == 1">下一步</el-button>
<el-button style="margin-top: 12px;" @click="handleLastStep" v-if="active == 2">上一步</el-button>
</div>
</el-card>
<el-card class="box-card" shadow="always">
<div slot="header" class="clearfix">
<span>{{ title }}</span>
<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 size="mini" icon="el-icon-back" round @click="showCard">返回</el-button>
</el-button-group>
</div>
<div class="body-wrapper">
<el-steps :active="active" finish-status="success" align-center>
<el-step title="数据源信息" />
<el-step title="连接信息" />
</el-steps>
<el-form v-if="active == 1" ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item label="数据源类型" prop="dbType">
<el-select v-model="form.dbType">
<el-option
v-for="item in dbTypeOptions"
:key="item.id"
:label="item.itemValue"
:value="item.itemText"
/>
</el-select>
</el-form-item>
<el-form-item label="数据源名称" prop="sourceName">
<el-input v-model="form.sourceName" placeholder="请输入数据源名称" />
</el-form-item>
<el-form-item label="状态" prop="status">
<el-radio-group v-model="form.status">
<el-radio
v-for="dict in statusOptions"
:key="dict.id"
:label="dict.itemText"
>{{ dict.itemValue }}</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" type="textarea" placeholder="请输入内容" />
</el-form-item>
</el-form>
<el-form v-if="active == 2" ref="form2" :model="form2" :rules="rules2" label-width="80px">
<el-form-item label="主机" prop="host">
<el-input v-model="form2.host" placeholder="请输入主机" />
</el-form-item>
<el-form-item label="端口" prop="port">
<el-input v-model="form2.port" placeholder="请输入端口" />
</el-form-item>
<el-form-item v-if="form.dbType === '3' || form.dbType === '4'" label="服务名" prop="sid">
<el-input v-model="form2.sid" placeholder="请输入服务名" />
</el-form-item>
<el-form-item v-if="form.dbType !== '3' && form.dbType !== '4'" label="数据库" prop="dbName">
<el-input v-model="form2.dbName" placeholder="请输入数据库" />
</el-form-item>
<el-form-item label="用户名" prop="username">
<el-input v-model="form2.username" placeholder="请输入用户名" />
</el-form-item>
<el-form-item label="密码" prop="password">
<el-input v-model="form2.password" placeholder="请输入密码" />
</el-form-item>
<el-form-item>
<el-button size="mini" type="primary" @click="handleCheckConnection">连通性检测</el-button>
</el-form-item>
</el-form>
<el-button v-if="active == 1" style="margin-top: 12px;" @click="handleNextStep">下一步</el-button>
<el-button v-if="active == 2" style="margin-top: 12px;" @click="handleLastStep">上一步</el-button>
</div>
</el-card>
</template>
<script>
......@@ -78,17 +76,13 @@ export default {
props: {
data: {
type: Object,
default: function () {
default: function() {
return {}
}
}
},
data () {
data() {
return {
classCardbody: {
overflow: 'auto',
height: document.body.offsetHeight - 240 + 'px'
},
title: '数据源新增',
// 展示切换
showOptions: {
......@@ -158,7 +152,7 @@ export default {
dbTypeOptions: []
}
},
created () {
created() {
this.getDicts('sys_common_status').then(response => {
if (response.success) {
this.statusOptions = response.data
......@@ -171,11 +165,11 @@ export default {
})
},
methods: {
showCard () {
showCard() {
this.$emit('showCard', this.showOptions)
},
/** 步骤条下一步 */
handleNextStep () {
handleNextStep() {
this.$refs['form'].validate(valid => {
if (valid) {
this.active++
......@@ -183,11 +177,11 @@ export default {
})
},
/** 步骤条上一步 */
handleLastStep () {
handleLastStep() {
this.active--
},
/** 检测数据库连通性 */
handleCheckConnection () {
handleCheckConnection() {
this.$refs['form2'].validate(valid => {
if (valid) {
this.form.dbSchema = this.form2
......@@ -200,7 +194,7 @@ export default {
})
},
/** 提交按钮 */
submitForm: function () {
submitForm: function() {
this.$refs['form2'].validate(valid => {
if (valid) {
this.form.dbSchema = this.form2
......@@ -229,5 +223,8 @@ export default {
</script>
<style lang="scss" scoped>
.el-card ::v-deep .el-card__body {
height: calc(100vh - 230px);
overflow-y: auto;
}
</style>
<template>
<div>
<el-card class="box-card" shadow="always">
<div slot="header" class="clearfix">
<span>{{ title }}</span>
<el-button-group style="float: right;">
<el-button size="mini" icon="el-icon-coin" type="primary" round @click="handleSync">元数据同步</el-button>
<el-button size="mini" icon="el-icon-coin" type="primary" round @click="handleWord">数据库文档</el-button>
<el-button size="mini" icon="el-icon-coin" type="primary" round @click="handleCheckConnection" v-if="active == 2">连通性检测</el-button>
<el-button size="mini" icon="el-icon-back" round @click="showCard">返回</el-button>
</el-button-group>
</div>
<div :style="classCardbody">
<el-steps :active="active" finish-status="success" align-center>
<el-step title="数据源信息"></el-step>
<el-step title="连接信息"></el-step>
</el-steps>
<el-form ref="form" :model="form" label-width="80px" v-if="active == 1" disabled>
<el-form-item label="数据源类型" prop="dbType">
<el-select v-model="form.dbType">
<el-option
v-for="item in dbTypeOptions"
:key="item.id"
:label="item.itemValue"
:value="item.itemText"
></el-option>
</el-select>
</el-form-item>
<el-form-item label="数据源名称" prop="sourceName">
<el-input v-model="form.sourceName" placeholder="请输入数据源名称" />
</el-form-item>
<el-form-item label="状态" prop="status">
<el-radio-group v-model="form.status">
<el-radio
v-for="dict in statusOptions"
:key="dict.id"
:label="dict.itemText"
>{{dict.itemValue}}</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" type="textarea" placeholder="请输入内容" />
</el-form-item>
</el-form>
<el-form ref="form2" :model="form2" label-width="80px" v-if="active == 2" disabled>
<el-form-item label="主机" prop="host">
<el-input v-model="form2.host" placeholder="请输入主机" />
</el-form-item>
<el-form-item label="端口" prop="port">
<el-input v-model="form2.port" placeholder="请输入端口" />
</el-form-item>
<el-form-item label="服务名" prop="sid" v-if="form.dbType === '3' || form.dbType === '4'">
<el-input v-model="form2.sid" placeholder="请输入服务名" />
</el-form-item>
<el-form-item label="数据库" prop="dbName" v-if="form.dbType !== '3' || form.dbType !== '4'">
<el-input v-model="form2.dbName" placeholder="请输入数据库" />
</el-form-item>
<el-form-item label="用户名" prop="username">
<el-input v-model="form2.username" placeholder="请输入用户名" />
</el-form-item>
<el-form-item label="密码" prop="password">
<el-input v-model="form2.password" placeholder="请输入密码" />
</el-form-item>
</el-form>
<el-button style="margin-top: 12px;" @click="handleNextStep" v-if="active == 1">下一步</el-button>
<el-button style="margin-top: 12px;" @click="handleLastStep" v-if="active == 2">上一步</el-button>
</div>
</el-card>
<el-card class="box-card" shadow="always">
<div slot="header" class="clearfix">
<span>{{ title }}</span>
<el-button-group style="float: right;">
<el-button size="mini" icon="el-icon-coin" type="primary" round @click="handleSync">元数据同步</el-button>
<el-button size="mini" icon="el-icon-coin" type="primary" round @click="handleWord">数据库文档</el-button>
<el-button v-if="active == 2" size="mini" icon="el-icon-coin" type="primary" round @click="handleCheckConnection">连通性检测</el-button>
<el-button size="mini" icon="el-icon-back" round @click="showCard">返回</el-button>
</el-button-group>
</div>
<div class="body-wrapper">
<el-steps :active="active" finish-status="success" align-center>
<el-step title="数据源信息" />
<el-step title="连接信息" />
</el-steps>
<el-form v-if="active == 1" ref="form" :model="form" label-width="80px" disabled>
<el-form-item label="数据源类型" prop="dbType">
<el-select v-model="form.dbType">
<el-option
v-for="item in dbTypeOptions"
:key="item.id"
:label="item.itemValue"
:value="item.itemText"
/>
</el-select>
</el-form-item>
<el-form-item label="数据源名称" prop="sourceName">
<el-input v-model="form.sourceName" placeholder="请输入数据源名称" />
</el-form-item>
<el-form-item label="状态" prop="status">
<el-radio-group v-model="form.status">
<el-radio
v-for="dict in statusOptions"
:key="dict.id"
:label="dict.itemText"
>{{ dict.itemValue }}</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" type="textarea" placeholder="请输入内容" />
</el-form-item>
</el-form>
<el-form v-if="active == 2" ref="form2" :model="form2" label-width="80px" disabled>
<el-form-item label="主机" prop="host">
<el-input v-model="form2.host" placeholder="请输入主机" />
</el-form-item>
<el-form-item label="端口" prop="port">
<el-input v-model="form2.port" placeholder="请输入端口" />
</el-form-item>
<el-form-item v-if="form.dbType === '3' || form.dbType === '4'" label="服务名" prop="sid">
<el-input v-model="form2.sid" placeholder="请输入服务名" />
</el-form-item>
<el-form-item v-if="form.dbType !== '3' || form.dbType !== '4'" label="数据库" prop="dbName">
<el-input v-model="form2.dbName" placeholder="请输入数据库" />
</el-form-item>
<el-form-item label="用户名" prop="username">
<el-input v-model="form2.username" placeholder="请输入用户名" />
</el-form-item>
<el-form-item label="密码" prop="password">
<el-input v-model="form2.password" placeholder="请输入密码" />
</el-form-item>
</el-form>
<el-button v-if="active == 1" style="margin-top: 12px;" @click="handleNextStep">下一步</el-button>
<el-button v-if="active == 2" style="margin-top: 12px;" @click="handleLastStep">上一步</el-button>
</div>
</el-card>
</template>
<script>
......@@ -77,17 +75,13 @@ export default {
props: {
data: {
type: Object,
default: function () {
default: function() {
return {}
}
}
},
data () {
data() {
return {
classCardbody: {
overflow: 'auto',
height: document.body.offsetHeight - 240 + 'px'
},
title: '数据源详情',
// 展示切换
showOptions: {
......@@ -107,7 +101,7 @@ export default {
dbTypeOptions: []
}
},
created () {
created() {
console.log('id:' + this.data.id)
this.getDicts('sys_common_status').then(response => {
if (response.success) {
......@@ -120,15 +114,15 @@ export default {
}
})
},
mounted () {
mounted() {
this.getDataSource(this.data.id)
},
methods: {
showCard () {
showCard() {
this.$emit('showCard', this.showOptions)
},
/** 获取详情 */
getDataSource: function (id) {
getDataSource: function(id) {
getDataSource(id).then(response => {
if (response.success) {
this.form = response.data
......@@ -137,7 +131,7 @@ export default {
})
},
/** 步骤条下一步 */
handleNextStep () {
handleNextStep() {
this.$refs['form'].validate(valid => {
if (valid) {
this.active++
......@@ -145,11 +139,11 @@ export default {
})
},
/** 步骤条上一步 */
handleLastStep () {
handleLastStep() {
this.active--
},
/** 检测数据库连通性 */
handleCheckConnection () {
handleCheckConnection() {
checkConnection(this.form).then(response => {
if (response.success) {
this.$message.success('连接成功')
......@@ -157,7 +151,7 @@ export default {
})
},
/** 元数据同步 */
handleSync () {
handleSync() {
sync(this.data.id).then(response => {
if (response.success) {
this.$message.success('元数据正在后台同步中,请到元数据管理中查看结果')
......@@ -165,7 +159,7 @@ export default {
})
},
/** 数据库文档 */
handleWord () {
handleWord() {
word(this.data.id).then(response => {
const blob = new Blob([response])
const fileName = '数据库设计文档.doc'
......@@ -191,5 +185,8 @@ export default {
</script>
<style lang="scss" scoped>
.el-card ::v-deep .el-card__body {
height: calc(100vh - 230px);
overflow-y: auto;
}
</style>
<template>
<div>
<el-card class="box-card" shadow="always">
<div slot="header" class="clearfix">
<span>{{ title }}</span>
<el-button-group style="float: right;">
<el-button size="mini" icon="el-icon-plus" v-if="active == 2" round @click="submitForm" :loading="loadingOptions.loading" :disabled="loadingOptions.isDisabled">{{loadingOptions.loadingText}}</el-button>
<el-button size="mini" icon="el-icon-back" round @click="showCard">返回</el-button>
</el-button-group>
</div>
<div :style="classCardbody">
<el-steps :active="active" finish-status="success" align-center>
<el-step title="数据源信息"></el-step>
<el-step title="连接信息"></el-step>
</el-steps>
<el-form ref="form" :model="form" :rules="rules" label-width="80px" v-if="active == 1">
<el-form-item label="数据源类型" prop="dbType">
<el-select v-model="form.dbType">
<el-option
v-for="item in dbTypeOptions"
:key="item.id"
:label="item.itemValue"
:value="item.itemText"
></el-option>
</el-select>
</el-form-item>
<el-form-item label="数据源名称" prop="sourceName">
<el-input v-model="form.sourceName" placeholder="请输入数据源名称" />
</el-form-item>
<el-form-item label="状态" prop="status">
<el-radio-group v-model="form.status">
<el-radio
v-for="dict in statusOptions"
:key="dict.id"
:label="dict.itemText"
>{{dict.itemValue}}</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" type="textarea" placeholder="请输入内容" />
</el-form-item>
</el-form>
<el-form ref="form2" :model="form2" :rules="rules2" label-width="80px" v-if="active == 2">
<el-form-item label="主机" prop="host">
<el-input v-model="form2.host" placeholder="请输入主机" />
</el-form-item>
<el-form-item label="端口" prop="port">
<el-input v-model="form2.port" placeholder="请输入端口" />
</el-form-item>
<el-form-item label="服务名" prop="sid" v-if="form.dbType === '3' || form.dbType === '4'">
<el-input v-model="form2.sid" placeholder="请输入服务名" />
</el-form-item>
<el-form-item label="数据库" prop="dbName" v-if="form.dbType !== '3' && form.dbType !== '4'">
<el-input v-model="form2.dbName" placeholder="请输入数据库" />
</el-form-item>
<el-form-item label="用户名" prop="username">
<el-input v-model="form2.username" placeholder="请输入用户名" />
</el-form-item>
<el-form-item label="密码" prop="password">
<el-input v-model="form2.password" placeholder="请输入密码" />
</el-form-item>
<el-form-item>
<el-button size="mini" type="primary" @click="handleCheckConnection">连通性检测</el-button>
</el-form-item>
</el-form>
<el-button style="margin-top: 12px;" @click="handleNextStep" v-if="active == 1">下一步</el-button>
<el-button style="margin-top: 12px;" @click="handleLastStep" v-if="active == 2">上一步</el-button>
</div>
</el-card>
<el-card class="box-card" shadow="always">
<div slot="header" class="clearfix">
<span>{{ title }}</span>
<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 size="mini" icon="el-icon-back" round @click="showCard">返回</el-button>
</el-button-group>
</div>
<div class="body-wrapper">
<el-steps :active="active" finish-status="success" align-center>
<el-step title="数据源信息" />
<el-step title="连接信息" />
</el-steps>
<el-form v-if="active == 1" ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item label="数据源类型" prop="dbType">
<el-select v-model="form.dbType">
<el-option
v-for="item in dbTypeOptions"
:key="item.id"
:label="item.itemValue"
:value="item.itemText"
/>
</el-select>
</el-form-item>
<el-form-item label="数据源名称" prop="sourceName">
<el-input v-model="form.sourceName" placeholder="请输入数据源名称" />
</el-form-item>
<el-form-item label="状态" prop="status">
<el-radio-group v-model="form.status">
<el-radio
v-for="dict in statusOptions"
:key="dict.id"
:label="dict.itemText"
>{{ dict.itemValue }}</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" type="textarea" placeholder="请输入内容" />
</el-form-item>
</el-form>
<el-form v-if="active == 2" ref="form2" :model="form2" :rules="rules2" label-width="80px">
<el-form-item label="主机" prop="host">
<el-input v-model="form2.host" placeholder="请输入主机" />
</el-form-item>
<el-form-item label="端口" prop="port">
<el-input v-model="form2.port" placeholder="请输入端口" />
</el-form-item>
<el-form-item v-if="form.dbType === '3' || form.dbType === '4'" label="服务名" prop="sid">
<el-input v-model="form2.sid" placeholder="请输入服务名" />
</el-form-item>
<el-form-item v-if="form.dbType !== '3' && form.dbType !== '4'" label="数据库" prop="dbName">
<el-input v-model="form2.dbName" placeholder="请输入数据库" />
</el-form-item>
<el-form-item label="用户名" prop="username">
<el-input v-model="form2.username" placeholder="请输入用户名" />
</el-form-item>
<el-form-item label="密码" prop="password">
<el-input v-model="form2.password" placeholder="请输入密码" />
</el-form-item>
<el-form-item>
<el-button size="mini" type="primary" @click="handleCheckConnection">连通性检测</el-button>
</el-form-item>
</el-form>
<el-button v-if="active == 1" style="margin-top: 12px;" @click="handleNextStep">下一步</el-button>
<el-button v-if="active == 2" style="margin-top: 12px;" @click="handleLastStep">上一步</el-button>
</div>
</el-card>
</template>
<script>
......@@ -78,17 +76,13 @@ export default {
props: {
data: {
type: Object,
default: function () {
default: function() {
return {}
}
}
},
data () {
data() {
return {
classCardbody: {
overflow: 'auto',
height: document.body.offsetHeight - 240 + 'px'
},
title: '数据源编辑',
// 展示切换
showOptions: {
......@@ -143,7 +137,7 @@ export default {
dbTypeOptions: []
}
},
created () {
created() {
console.log('id:' + this.data.id)
this.getDicts('sys_common_status').then(response => {
if (response.success) {
......@@ -156,15 +150,15 @@ export default {
}
})
},
mounted () {
mounted() {
this.getDataSource(this.data.id)
},
methods: {
showCard () {
showCard() {
this.$emit('showCard', this.showOptions)
},
/** 获取详情 */
getDataSource: function (id) {
getDataSource: function(id) {
getDataSource(id).then(response => {
if (response.success) {
this.form = response.data
......@@ -173,7 +167,7 @@ export default {
})
},
/** 步骤条下一步 */
handleNextStep () {
handleNextStep() {
this.$refs['form'].validate(valid => {
if (valid) {
this.active++
......@@ -181,11 +175,11 @@ export default {
})
},
/** 步骤条上一步 */
handleLastStep () {
handleLastStep() {
this.active--
},
/** 检测数据库连通性 */
handleCheckConnection () {
handleCheckConnection() {
this.$refs['form2'].validate(valid => {
if (valid) {
this.form.dbSchema = this.form2
......@@ -198,7 +192,7 @@ export default {
})
},
/** 提交按钮 */
submitForm: function () {
submitForm: function() {
this.$refs['form2'].validate(valid => {
if (valid) {
this.form.dbSchema = this.form2
......@@ -227,5 +221,8 @@ export default {
</script>
<style lang="scss" scoped>
.el-card ::v-deep .el-card__body {
height: calc(100vh - 230px);
overflow-y: auto;
}
</style>
......@@ -12,14 +12,14 @@
:label="source.sourceName"
:value="source.id"
:disabled="source.status === '0'"
></el-option>
/>
</el-select>
</el-form-item>
<el-form-item>
<el-button size="mini" round @click="runData" :disabled="sqlExecuting">运行</el-button>
<el-button size="mini" round @click="stopData" :disabled="!sqlExecuting">停止</el-button>
<el-button size="mini" round @click="formaterSql" :disabled="sqlExecuting">格式化</el-button>
<el-button size="mini" round @click="refreshData" :disabled="sqlExecuting">重置</el-button>
<el-button size="mini" round :disabled="sqlExecuting" @click="runData">运行</el-button>
<el-button size="mini" round :disabled="!sqlExecuting" @click="stopData">停止</el-button>
<el-button size="mini" round :disabled="sqlExecuting" @click="formaterSql">格式化</el-button>
<el-button size="mini" round :disabled="sqlExecuting" @click="refreshData">重置</el-button>
</el-form-item>
</el-form>
</el-col>
......@@ -29,9 +29,9 @@
<sql-editor
ref="sqleditor"
:value="sqlText"
@changeTextarea="changeTextarea($event)"
style="height: 300px;margin: 20px 0;"
></sql-editor>
@changeTextarea="changeTextarea($event)"
/>
</el-col>
</el-row>
<el-row>
......@@ -39,14 +39,18 @@
<div v-if="sqlExecuting" v-loading="sqlExecuting">数据加载中...</div>
<div v-else>
<div v-if="sqlConsole.length > 0">
<el-tabs type="border-card" v-model="activeTabName">
<el-tabs v-model="activeTabName" type="border-card">
<el-tab-pane label="信息" name="table0">
<pre>{{executeResultInfo}}</pre>
<pre>{{ executeResultInfo }}</pre>
</el-tab-pane>
<el-tab-pane v-for="(item,index) in sqlConsole" :key="(index+1)" :name="'table'+(index+1)" :label="'结果'+(index+1)">
<el-table :data="item.dataList" stripe border
:max-height="300"
style="width: 100%; margin: 15px 0;">
<el-table
:data="item.dataList"
stripe
border
:max-height="300"
style="width: 100%; margin: 15px 0;"
>
<el-table-column label="序号" width="55" align="center">
<template slot-scope="scope">
<span>{{ scope.$index + 1 }}</span>
......@@ -54,9 +58,9 @@
</el-table-column>
<template v-for="(column, index) in item.columnList">
<el-table-column
:key="index"
:prop="column"
:label="column"
:key="index"
align="center"
show-overflow-tooltip
/>
......@@ -83,7 +87,7 @@ export default {
components: {
SqlEditor
},
data () {
data() {
return {
// 数据源数据字典
sourceOptions: [],
......@@ -96,18 +100,18 @@ export default {
executeResultInfo: undefined
}
},
created () {
created() {
this.getDataSourceList()
},
methods: {
getDataSourceList () {
getDataSourceList() {
listDataSource().then(response => {
if (response.success) {
this.sourceOptions = response.data
}
})
},
runData () {
runData() {
if (!this.sqlDataSource) {
this.$message.error('数据源不能为空')
return
......@@ -119,7 +123,7 @@ export default {
this.sqlExecuting = true
this.sqlExecutorId = (new Date()).getTime() + Math.ceil(Math.random() * 1000)
this.sqlConsole = []
let data = {}
const data = {}
data.sqlKey = this.sqlExecutorId
data.sourceId = this.sqlDataSource
data.sqlText = this.sqlText
......@@ -128,7 +132,7 @@ export default {
const { data } = response
let resultStr = ''
for (let i = 0; i < data.length; i++) {
let item = data[i]
const item = data[i]
resultStr += item.sql
resultStr += '\n> 状态:' + ((item.success) ? '成功' : '失败')
if (item.count && item.count >= 0) {
......@@ -143,8 +147,8 @@ export default {
this.sqlExecuting = false
})
},
stopData () {
let data = {}
stopData() {
const data = {}
data.sqlKey = this.sqlExecutorId
stopSql(data).then(response => {
if (response.success) {
......@@ -153,16 +157,16 @@ export default {
this.sqlExecuting = false
})
},
changeTextarea (val) {
changeTextarea(val) {
this.sqlText = val
},
formaterSql () {
formaterSql() {
if (!this.sqlText) {
return
}
this.$refs.sqleditor.editor.setValue(sqlFormatter.format(this.$refs.sqleditor.editor.getValue()))
},
refreshData () {
refreshData() {
if (!this.sqlText) {
return
}
......
<template>
<div>
<el-card class="box-card" shadow="always">
<div slot="header" class="clearfix">
<span>{{ title }}</span>
<el-button-group style="float: right;">
<el-button size="mini" icon="el-icon-back" round @click="showCard">返回</el-button>
</el-button-group>
</div>
<div :style="classCardbody">
<el-form ref="form" :model="form" label-width="80px" disabled>
<el-form-item label="登录用户" prop="userName">
<el-input v-model="form.userName" />
</el-form-item>
<el-form-item label="操作系统" prop="opOs">
<el-input v-model="form.opOs" />
</el-form-item>
<el-form-item label="浏览器类型" prop="opBrowser">
<el-input v-model="form.opBrowser" />
</el-form-item>
<el-form-item label="登录IP地址" prop="opIp">
<el-input v-model="form.opIp" />
</el-form-item>
<el-form-item label="登录时间" prop="opDate">
<el-input v-model="form.opDate" />
</el-form-item>
</el-form>
</div>
</el-card>
<el-card class="box-card" shadow="always">
<div slot="header" class="clearfix">
<span>{{ title }}</span>
<el-button-group style="float: right;">
<el-button size="mini" icon="el-icon-back" round @click="showCard">返回</el-button>
</el-button-group>
</div>
<div class="body-wrapper">
<el-form ref="form" :model="form" label-width="80px" disabled>
<el-form-item label="登录用户" prop="userName">
<el-input v-model="form.userName" />
</el-form-item>
<el-form-item label="操作系统" prop="opOs">
<el-input v-model="form.opOs" />
</el-form-item>
<el-form-item label="浏览器类型" prop="opBrowser">
<el-input v-model="form.opBrowser" />
</el-form-item>
<el-form-item label="登录IP地址" prop="opIp">
<el-input v-model="form.opIp" />
</el-form-item>
<el-form-item label="登录时间" prop="opDate">
<el-input v-model="form.opDate" />
</el-form-item>
</el-form>
</div>
</el-card>
</template>
<script>
......@@ -38,17 +36,13 @@ export default {
props: {
data: {
type: Object,
default: function () {
default: function() {
return {}
}
}
},
data () {
data() {
return {
classCardbody: {
overflow: 'auto',
height: document.body.offsetHeight - 240 + 'px'
},
title: '登录日志详情',
// 展示切换
showOptions: {
......@@ -60,18 +54,18 @@ export default {
form: {}
}
},
created () {
created() {
console.log('id:' + this.data.id)
},
mounted () {
mounted() {
this.getLog(this.data.id)
},
methods: {
showCard () {
showCard() {
this.$emit('showCard', this.showOptions)
},
/** 获取详情 */
getLog: function (id) {
getLog: function(id) {
getLog(id).then(response => {
if (response.success) {
this.form = response.data
......@@ -83,5 +77,8 @@ export default {
</script>
<style lang="scss" scoped>
.el-card ::v-deep .el-card__body {
height: calc(100vh - 230px);
overflow-y: auto;
}
</style>
<template>
<div>
<el-card class="box-card" shadow="always">
<div slot="header" class="clearfix">
<span>{{ title }}</span>
<el-button-group style="float: right;">
<el-button size="mini" icon="el-icon-back" round @click="showCard">返回</el-button>
</el-button-group>
</div>
<div :style="classCardbody">
<el-form ref="form" :model="form" label-width="80px" disabled>
<el-form-item label="所属模块" prop="module">
<el-input v-model="form.module" />
</el-form-item>
<el-form-item label="日志标题" prop="title">
<el-input v-model="form.title" />
</el-form-item>
<el-form-item label="用户名称" prop="userName">
<el-input v-model="form.userName" />
</el-form-item>
<el-form-item label="请求IP" prop="remoteAddr">
<el-input v-model="form.remoteAddr" />
</el-form-item>
<el-form-item label="请求URI" prop="requestUri">
<el-input v-model="form.requestUri" />
</el-form-item>
<el-form-item label="方法类名" prop="className">
<el-input v-model="form.className" />
</el-form-item>
<el-form-item label="方法名称" prop="methodName">
<el-input v-model="form.methodName" />
</el-form-item>
<el-form-item label="请求参数" prop="params">
<el-input v-model="form.params" />
</el-form-item>
<el-form-item label="请求耗时" prop="time">
<el-input v-model="form.time" />
</el-form-item>
<el-form-item label="浏览器名称" prop="browser">
<el-input v-model="form.browser" />
</el-form-item>
<el-form-item label="操作系统" prop="os">
<el-input v-model="form.os" />
</el-form-item>
<el-form-item label="错误类型" prop="exCode">
<el-input v-model="form.exCode" />
</el-form-item>
<el-form-item label="错误信息" prop="exMsg">
<el-input v-model="form.exMsg" />
</el-form-item>
<el-form-item label="操作时间" prop="createTime">
<el-input v-model="form.createTime" />
</el-form-item>
</el-form>
</div>
</el-card>
<el-card class="box-card" shadow="always">
<div slot="header" class="clearfix">
<span>{{ title }}</span>
<el-button-group style="float: right;">
<el-button size="mini" icon="el-icon-back" round @click="showCard">返回</el-button>
</el-button-group>
</div>
<div class="body-wrapper">
<el-form ref="form" :model="form" label-width="80px" disabled>
<el-form-item label="所属模块" prop="module">
<el-input v-model="form.module" />
</el-form-item>
<el-form-item label="日志标题" prop="title">
<el-input v-model="form.title" />
</el-form-item>
<el-form-item label="用户名称" prop="userName">
<el-input v-model="form.userName" />
</el-form-item>
<el-form-item label="请求IP" prop="remoteAddr">
<el-input v-model="form.remoteAddr" />
</el-form-item>
<el-form-item label="请求URI" prop="requestUri">
<el-input v-model="form.requestUri" />
</el-form-item>
<el-form-item label="方法类名" prop="className">
<el-input v-model="form.className" />
</el-form-item>
<el-form-item label="方法名称" prop="methodName">
<el-input v-model="form.methodName" />
</el-form-item>
<el-form-item label="请求参数" prop="params">
<el-input v-model="form.params" />
</el-form-item>
<el-form-item label="请求耗时" prop="time">
<el-input v-model="form.time" />
</el-form-item>
<el-form-item label="浏览器名称" prop="browser">
<el-input v-model="form.browser" />
</el-form-item>
<el-form-item label="操作系统" prop="os">
<el-input v-model="form.os" />
</el-form-item>
<el-form-item label="错误类型" prop="exCode">
<el-input v-model="form.exCode" />
</el-form-item>
<el-form-item label="错误信息" prop="exMsg">
<el-input v-model="form.exMsg" />
</el-form-item>
<el-form-item label="操作时间" prop="createTime">
<el-input v-model="form.createTime" />
</el-form-item>
</el-form>
</div>
</el-card>
</template>
<script>
......@@ -65,17 +63,13 @@ export default {
props: {
data: {
type: Object,
default: function () {
default: function() {
return {}
}
}
},
data () {
data() {
return {
classCardbody: {
overflow: 'auto',
height: document.body.offsetHeight - 240 + 'px'
},
title: '操作日志详情',
// 展示切换
showOptions: {
......@@ -87,18 +81,18 @@ export default {
form: {}
}
},
created () {
created() {
console.log('id:' + this.data.id)
},
mounted () {
mounted() {
this.getLog(this.data.id)
},
methods: {
showCard () {
showCard() {
this.$emit('showCard', this.showOptions)
},
/** 获取详情 */
getLog: function (id) {
getLog: function(id) {
getLog(id).then(response => {
if (response.success) {
this.form = response.data
......@@ -110,5 +104,8 @@ export default {
</script>
<style lang="scss" scoped>
.el-card ::v-deep .el-card__body {
height: calc(100vh - 230px);
overflow-y: auto;
}
</style>
<template>
<div>
<el-card class="box-card" shadow="always">
<div slot="header" class="clearfix">
<span>{{ title }}</span>
<el-button-group style="float: right;">
<el-button size="mini" icon="el-icon-plus" round @click="submitForm" :loading="loadingOptions.loading" :disabled="loadingOptions.isDisabled">{{loadingOptions.loadingText}}</el-button>
<el-button size="mini" icon="el-icon-back" round @click="showCard">返回</el-button>
</el-button-group>
</div>
<div :style="classCardbody">
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item label="任务名称" prop="jobName">
<el-input v-model="form.jobName" placeholder="请输入任务名称" />
</el-form-item>
<el-form-item label="Spring Bean名称" prop="beanName">
<el-input v-model="form.beanName" placeholder="请输入Spring Bean名称" />
</el-form-item>
<el-form-item label="方法名称" prop="methodName">
<el-input v-model="form.methodName" placeholder="请输入方法名称" />
</el-form-item>
<el-form-item label="方法参数" prop="methodParams">
<el-input v-model="form.methodParams" placeholder="请输入方法参数" />
</el-form-item>
<el-form-item label="cron表达式" prop="cronExpression">
<el-input v-model="form.cronExpression" placeholder="请输入cron表达式" />
</el-form-item>
<el-form-item label="状态" prop="status">
<el-radio-group v-model="form.status">
<el-radio
v-for="dict in statusOptions"
:key="dict.id"
:label="dict.itemText"
>{{dict.itemValue}}</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" type="textarea" placeholder="请输入内容" />
</el-form-item>
</el-form>
</div>
</el-card>
<el-card class="box-card" shadow="always">
<div slot="header" class="clearfix">
<span>{{ title }}</span>
<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 size="mini" icon="el-icon-back" round @click="showCard">返回</el-button>
</el-button-group>
</div>
<div class="body-wrapper">
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item label="任务名称" prop="jobName">
<el-input v-model="form.jobName" placeholder="请输入任务名称" />
</el-form-item>
<el-form-item label="Spring Bean名称" prop="beanName">
<el-input v-model="form.beanName" placeholder="请输入Spring Bean名称" />
</el-form-item>
<el-form-item label="方法名称" prop="methodName">
<el-input v-model="form.methodName" placeholder="请输入方法名称" />
</el-form-item>
<el-form-item label="方法参数" prop="methodParams">
<el-input v-model="form.methodParams" placeholder="请输入方法参数" />
</el-form-item>
<el-form-item label="cron表达式" prop="cronExpression">
<el-input v-model="form.cronExpression" placeholder="请输入cron表达式" />
</el-form-item>
<el-form-item label="状态" prop="status">
<el-radio-group v-model="form.status">
<el-radio
v-for="dict in statusOptions"
:key="dict.id"
:label="dict.itemText"
>{{ dict.itemValue }}</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" type="textarea" placeholder="请输入内容" />
</el-form-item>
</el-form>
</div>
</el-card>
</template>
<script>
......@@ -51,17 +49,13 @@ export default {
props: {
data: {
type: Object,
default: function () {
default: function() {
return {}
}
}
},
data () {
data() {
return {
classCardbody: {
overflow: 'auto',
height: document.body.offsetHeight - 240 + 'px'
},
title: '任务新增',
// 展示切换
showOptions: {
......@@ -100,7 +94,7 @@ export default {
statusOptions: []
}
},
created () {
created() {
this.getDicts('sys_job_status').then(response => {
if (response.success) {
this.statusOptions = response.data
......@@ -108,11 +102,11 @@ export default {
})
},
methods: {
showCard () {
showCard() {
this.$emit('showCard', this.showOptions)
},
/** 提交按钮 */
submitForm: function () {
submitForm: function() {
this.$refs['form'].validate(valid => {
if (valid) {
this.loadingOptions.loading = true
......@@ -140,5 +134,8 @@ export default {
</script>
<style lang="scss" scoped>
.el-card ::v-deep .el-card__body {
height: calc(100vh - 230px);
overflow-y: auto;
}
</style>
<template>
<div>
<el-card class="box-card" shadow="always">
<div slot="header" class="clearfix">
<span>{{ title }}</span>
<el-button-group style="float: right;">
<el-button size="mini" icon="el-icon-back" round @click="showCard">返回</el-button>
</el-button-group>
</div>
<div :style="classCardbody">
<el-form ref="form" :model="form" label-width="80px" disabled>
<el-form-item label="任务名称" prop="jobName">
<el-input v-model="form.jobName" placeholder="请输入任务名称" />
</el-form-item>
<el-form-item label="Spring Bean名称" prop="beanName">
<el-input v-model="form.beanName" placeholder="请输入Spring Bean名称" />
</el-form-item>
<el-form-item label="方法名称" prop="methodName">
<el-input v-model="form.methodName" placeholder="请输入方法名称" />
</el-form-item>
<el-form-item label="方法参数" prop="methodParams">
<el-input v-model="form.methodParams" placeholder="请输入方法参数" />
</el-form-item>
<el-form-item label="cron表达式" prop="cronExpression">
<el-input v-model="form.cronExpression" placeholder="请输入cron表达式" />
</el-form-item>
<el-form-item label="状态" prop="status">
<el-radio-group v-model="form.status">
<el-radio
v-for="dict in statusOptions"
:key="dict.id"
:label="dict.itemText"
>{{dict.itemValue}}</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" type="textarea" placeholder="请输入内容" />
</el-form-item>
</el-form>
</div>
</el-card>
<el-card class="box-card" shadow="always">
<div slot="header" class="clearfix">
<span>{{ title }}</span>
<el-button-group style="float: right;">
<el-button size="mini" icon="el-icon-back" round @click="showCard">返回</el-button>
</el-button-group>
</div>
<div class="body-wrapper">
<el-form ref="form" :model="form" label-width="80px" disabled>
<el-form-item label="任务名称" prop="jobName">
<el-input v-model="form.jobName" placeholder="请输入任务名称" />
</el-form-item>
<el-form-item label="Spring Bean名称" prop="beanName">
<el-input v-model="form.beanName" placeholder="请输入Spring Bean名称" />
</el-form-item>
<el-form-item label="方法名称" prop="methodName">
<el-input v-model="form.methodName" placeholder="请输入方法名称" />
</el-form-item>
<el-form-item label="方法参数" prop="methodParams">
<el-input v-model="form.methodParams" placeholder="请输入方法参数" />
</el-form-item>
<el-form-item label="cron表达式" prop="cronExpression">
<el-input v-model="form.cronExpression" placeholder="请输入cron表达式" />
</el-form-item>
<el-form-item label="状态" prop="status">
<el-radio-group v-model="form.status">
<el-radio
v-for="dict in statusOptions"
:key="dict.id"
:label="dict.itemText"
>{{ dict.itemValue }}</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" type="textarea" placeholder="请输入内容" />
</el-form-item>
</el-form>
</div>
</el-card>
</template>
<script>
......@@ -50,17 +48,13 @@ export default {
props: {
data: {
type: Object,
default: function () {
default: function() {
return {}
}
}
},
data () {
data() {
return {
classCardbody: {
overflow: 'auto',
height: document.body.offsetHeight - 240 + 'px'
},
title: '任务详情',
// 展示切换
showOptions: {
......@@ -76,7 +70,7 @@ export default {
statusOptions: []
}
},
created () {
created() {
console.log('id:' + this.data.id)
this.getDicts('sys_job_status').then(response => {
if (response.success) {
......@@ -84,15 +78,15 @@ export default {
}
})
},
mounted () {
mounted() {
this.getJob(this.data.id)
},
methods: {
showCard () {
showCard() {
this.$emit('showCard', this.showOptions)
},
/** 获取详情 */
getJob: function (id) {
getJob: function(id) {
getJob(id).then(response => {
if (response.success) {
this.form = response.data
......@@ -104,5 +98,8 @@ export default {
</script>
<style lang="scss" scoped>
.el-card ::v-deep .el-card__body {
height: calc(100vh - 230px);
overflow-y: auto;
}
</style>
<template>
<div>
<el-card class="box-card" shadow="always">
<div slot="header" class="clearfix">
<span>{{ title }}</span>
<el-button-group style="float: right;">
<el-button size="mini" icon="el-icon-plus" round @click="submitForm" :loading="loadingOptions.loading" :disabled="loadingOptions.isDisabled">{{loadingOptions.loadingText}}</el-button>
<el-button size="mini" icon="el-icon-back" round @click="showCard">返回</el-button>
</el-button-group>
</div>
<div :style="classCardbody">
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item label="任务名称" prop="jobName">
<el-input v-model="form.jobName" placeholder="请输入任务名称" />
</el-form-item>
<el-form-item label="Spring Bean名称" prop="beanName">
<el-input v-model="form.beanName" placeholder="请输入Spring Bean名称" />
</el-form-item>
<el-form-item label="方法名称" prop="methodName">
<el-input v-model="form.methodName" placeholder="请输入方法名称" />
</el-form-item>
<el-form-item label="方法参数" prop="methodParams">
<el-input v-model="form.methodParams" placeholder="请输入方法参数" />
</el-form-item>
<el-form-item label="cron表达式" prop="cronExpression">
<el-input v-model="form.cronExpression" placeholder="请输入cron表达式" />
</el-form-item>
<el-form-item label="状态" prop="status">
<el-radio-group v-model="form.status">
<el-radio
v-for="dict in statusOptions"
:key="dict.id"
:label="dict.itemText"
>{{dict.itemValue}}</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" type="textarea" placeholder="请输入内容" />
</el-form-item>
</el-form>
</div>
</el-card>
<el-card class="box-card" shadow="always">
<div slot="header" class="clearfix">
<span>{{ title }}</span>
<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 size="mini" icon="el-icon-back" round @click="showCard">返回</el-button>
</el-button-group>
</div>
<div class="body-wrapper">
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item label="任务名称" prop="jobName">
<el-input v-model="form.jobName" placeholder="请输入任务名称" />
</el-form-item>
<el-form-item label="Spring Bean名称" prop="beanName">
<el-input v-model="form.beanName" placeholder="请输入Spring Bean名称" />
</el-form-item>
<el-form-item label="方法名称" prop="methodName">
<el-input v-model="form.methodName" placeholder="请输入方法名称" />
</el-form-item>
<el-form-item label="方法参数" prop="methodParams">
<el-input v-model="form.methodParams" placeholder="请输入方法参数" />
</el-form-item>
<el-form-item label="cron表达式" prop="cronExpression">
<el-input v-model="form.cronExpression" placeholder="请输入cron表达式" />
</el-form-item>
<el-form-item label="状态" prop="status">
<el-radio-group v-model="form.status">
<el-radio
v-for="dict in statusOptions"
:key="dict.id"
:label="dict.itemText"
>{{ dict.itemValue }}</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" type="textarea" placeholder="请输入内容" />
</el-form-item>
</el-form>
</div>
</el-card>
</template>
<script>
......@@ -51,17 +49,13 @@ export default {
props: {
data: {
type: Object,
default: function () {
default: function() {
return {}
}
}
},
data () {
data() {
return {
classCardbody: {
overflow: 'auto',
height: document.body.offsetHeight - 240 + 'px'
},
title: '任务编辑',
// 展示切换
showOptions: {
......@@ -98,7 +92,7 @@ export default {
statusOptions: []
}
},
created () {
created() {
console.log('id:' + this.data.id)
this.getDicts('sys_job_status').then(response => {
if (response.success) {
......@@ -106,15 +100,15 @@ export default {
}
})
},
mounted () {
mounted() {
this.getJob(this.data.id)
},
methods: {
showCard () {
showCard() {
this.$emit('showCard', this.showOptions)
},
/** 获取详情 */
getJob: function (id) {
getJob: function(id) {
getJob(id).then(response => {
if (response.success) {
this.form = response.data
......@@ -122,7 +116,7 @@ export default {
})
},
/** 提交按钮 */
submitForm: function () {
submitForm: function() {
this.$refs['form'].validate(valid => {
if (valid) {
this.loadingOptions.loading = true
......@@ -150,5 +144,8 @@ export default {
</script>
<style lang="scss" scoped>
.el-card ::v-deep .el-card__body {
height: calc(100vh - 230px);
overflow-y: auto;
}
</style>
<template>
<div>
<el-card class="box-card" shadow="always">
<div slot="header" class="clearfix">
<span>{{ title }}</span>
<el-button-group style="float: right;">
<el-button size="mini" icon="el-icon-back" round @click="showCard">返回</el-button>
</el-button-group>
</div>
<div :style="classCardbody">
<el-form ref="form" :model="form" label-width="80px" disabled>
<el-form-item label="信息记录" prop="msg">
<el-input v-model="form.msg" placeholder="请输入信息记录" />
</el-form-item>
<el-form-item label="创建时间" prop="createTime">
<el-input v-model="form.createTime" placeholder="请输入创建时间" />
</el-form-item>
<el-form-item label="状态" prop="status">
<el-radio-group v-model="form.status">
<el-radio
v-for="dict in statusOptions"
:key="dict.id"
:label="dict.itemText"
>{{dict.itemValue}}</el-radio>
</el-radio-group>
</el-form-item>
</el-form>
</div>
</el-card>
<el-card class="box-card" shadow="always">
<div slot="header" class="clearfix">
<span>{{ title }}</span>
<el-button-group style="float: right;">
<el-button size="mini" icon="el-icon-back" round @click="showCard">返回</el-button>
</el-button-group>
</div>
<div class="body-wrapper">
<el-form ref="form" :model="form" label-width="80px" disabled>
<el-form-item label="信息记录" prop="msg">
<el-input v-model="form.msg" placeholder="请输入信息记录" />
</el-form-item>
<el-form-item label="创建时间" prop="createTime">
<el-input v-model="form.createTime" placeholder="请输入创建时间" />
</el-form-item>
<el-form-item label="状态" prop="status">
<el-radio-group v-model="form.status">
<el-radio
v-for="dict in statusOptions"
:key="dict.id"
:label="dict.itemText"
>{{ dict.itemValue }}</el-radio>
</el-radio-group>
</el-form-item>
</el-form>
</div>
</el-card>
</template>
<script>
......@@ -38,17 +36,13 @@ export default {
props: {
data: {
type: Object,
default: function () {
default: function() {
return {}
}
}
},
data () {
data() {
return {
classCardbody: {
overflow: 'auto',
height: document.body.offsetHeight - 240 + 'px'
},
title: '任务日志详情',
// 展示切换
showOptions: {
......@@ -62,7 +56,7 @@ export default {
statusOptions: []
}
},
created () {
created() {
console.log('id:' + this.data.id)
this.getDicts('sys_normal_status').then(response => {
if (response.success) {
......@@ -70,15 +64,15 @@ export default {
}
})
},
mounted () {
mounted() {
this.getLog(this.data.id)
},
methods: {
showCard () {
showCard() {
this.$emit('showCard', this.showOptions)
},
/** 获取详情 */
getLog: function (id) {
getLog: function(id) {
getLog(id).then(response => {
if (response.success) {
this.form = response.data
......@@ -90,5 +84,8 @@ export default {
</script>
<style lang="scss" scoped>
.el-card ::v-deep .el-card__body {
height: calc(100vh - 230px);
overflow-y: auto;
}
</style>
<template>
<div>
<el-card class="box-card" shadow="always">
<div slot="header" class="clearfix">
<span>{{ title }}</span>
<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 size="mini" icon="el-icon-back" round @click="showCard">返回</el-button>
</el-button-group>
</div>
<div :style="classCardbody">
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item label="标准编码" prop="gbCode">
<el-input v-model="form.gbCode" placeholder="请输入标准编码" />
</el-form-item>
<el-form-item label="标准名称" prop="gbName">
<el-input v-model="form.gbName" placeholder="请输入标准名称" />
</el-form-item>
<el-form-item label="状态" prop="status">
<el-radio-group v-model="form.status">
<el-radio
v-for="dict in statusOptions"
:key="dict.id"
:label="dict.itemText"
>{{ dict.itemValue }}</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" type="textarea" placeholder="请输入内容" />
</el-form-item>
</el-form>
</div>
</el-card>
</div>
<el-card class="box-card" shadow="always">
<div slot="header" class="clearfix">
<span>{{ title }}</span>
<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 size="mini" icon="el-icon-back" round @click="showCard">返回</el-button>
</el-button-group>
</div>
<div class="body-wrapper">
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item label="标准编码" prop="gbCode">
<el-input v-model="form.gbCode" placeholder="请输入标准编码" />
</el-form-item>
<el-form-item label="标准名称" prop="gbName">
<el-input v-model="form.gbName" placeholder="请输入标准名称" />
</el-form-item>
<el-form-item label="状态" prop="status">
<el-radio-group v-model="form.status">
<el-radio
v-for="dict in statusOptions"
:key="dict.id"
:label="dict.itemText"
>{{ dict.itemValue }}</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" type="textarea" placeholder="请输入内容" />
</el-form-item>
</el-form>
</div>
</el-card>
</template>
<script>
......@@ -49,10 +47,6 @@ export default {
},
data() {
return {
classCardbody: {
overflow: 'auto',
height: document.body.offsetHeight - 240 + 'px'
},
title: '标准字典新增',
// 展示切换
showOptions: {
......@@ -130,5 +124,8 @@ export default {
</script>
<style lang="scss" scoped>
.el-card ::v-deep .el-card__body {
height: calc(100vh - 230px);
overflow-y: auto;
}
</style>
<template>
<div>
<el-card class="box-card" shadow="always">
<div slot="header" class="clearfix">
<span>{{ title }}</span>
<el-button-group style="float: right;">
<el-button size="mini" icon="el-icon-back" round @click="showCard">返回</el-button>
</el-button-group>
</div>
<div :style="classCardbody">
<el-form ref="form" :model="form" label-width="80px" disabled>
<el-form-item label="标准类别编码">
<el-input v-model="form.gbTypeCode" placeholder="请输入标准类别编码" />
</el-form-item>
<el-form-item label="标准类别名称">
<el-input v-model="form.gbTypeName" placeholder="请输入标准类别名称" />
</el-form-item>
<el-form-item label="标准编码">
<el-input v-model="form.gbCode" placeholder="请输入标准编码" />
</el-form-item>
<el-form-item label="标准名称">
<el-input v-model="form.gbName" placeholder="请输入标准名称" />
</el-form-item>
<el-form-item label="状态">
<el-radio-group v-model="form.status">
<el-radio
v-for="dict in statusOptions"
:key="dict.id"
:label="dict.itemText"
>{{ dict.itemValue }}</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="备注">
<el-input v-model="form.remark" type="textarea" />
</el-form-item>
</el-form>
</div>
</el-card>
</div>
<el-card class="box-card" shadow="always">
<div slot="header" class="clearfix">
<span>{{ title }}</span>
<el-button-group style="float: right;">
<el-button size="mini" icon="el-icon-back" round @click="showCard">返回</el-button>
</el-button-group>
</div>
<div class="body-wrapper">
<el-form ref="form" :model="form" label-width="80px" disabled>
<el-form-item label="标准类别编码">
<el-input v-model="form.gbTypeCode" placeholder="请输入标准类别编码" />
</el-form-item>
<el-form-item label="标准类别名称">
<el-input v-model="form.gbTypeName" placeholder="请输入标准类别名称" />
</el-form-item>
<el-form-item label="标准编码">
<el-input v-model="form.gbCode" placeholder="请输入标准编码" />
</el-form-item>
<el-form-item label="标准名称">
<el-input v-model="form.gbName" placeholder="请输入标准名称" />
</el-form-item>
<el-form-item label="状态">
<el-radio-group v-model="form.status">
<el-radio
v-for="dict in statusOptions"
:key="dict.id"
:label="dict.itemText"
>{{ dict.itemValue }}</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="备注">
<el-input v-model="form.remark" type="textarea" />
</el-form-item>
</el-form>
</div>
</el-card>
</template>
<script>
......@@ -54,10 +52,6 @@ export default {
},
data() {
return {
classCardbody: {
overflow: 'auto',
height: document.body.offsetHeight - 240 + 'px'
},
title: '标准字典详情',
// 展示切换
showOptions: {
......@@ -101,5 +95,8 @@ export default {
</script>
<style lang="scss" scoped>
.el-card ::v-deep .el-card__body {
height: calc(100vh - 230px);
overflow-y: auto;
}
</style>
<template>
<div>
<el-card class="box-card" shadow="always">
<div slot="header" class="clearfix">
<span>{{ title }}</span>
<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 size="mini" icon="el-icon-back" round @click="showCard">返回</el-button>
</el-button-group>
</div>
<div :style="classCardbody">
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item label="标准类别编码">
<el-input v-model="form.gbTypeCode" placeholder="请输入标准类别编码" :disabled="true" />
</el-form-item>
<el-form-item label="标准类别名称">
<el-input v-model="form.gbTypeName" placeholder="请输入标准类别名称" :disabled="true" />
</el-form-item>
<el-form-item label="标准编码" prop="gbCode">
<el-input v-model="form.gbCode" placeholder="请输入标准编码" />
</el-form-item>
<el-form-item label="标准名称" prop="gbName">
<el-input v-model="form.gbName" placeholder="请输入标准名称" />
</el-form-item>
<el-form-item label="状态" prop="status">
<el-radio-group v-model="form.status">
<el-radio
v-for="dict in statusOptions"
:key="dict.id"
:label="dict.itemText"
>{{ dict.itemValue }}</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" type="textarea" placeholder="请输入内容" />
</el-form-item>
</el-form>
</div>
</el-card>
</div>
<el-card class="box-card" shadow="always">
<div slot="header" class="clearfix">
<span>{{ title }}</span>
<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 size="mini" icon="el-icon-back" round @click="showCard">返回</el-button>
</el-button-group>
</div>
<div class="body-wrapper">
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item label="标准类别编码">
<el-input v-model="form.gbTypeCode" placeholder="请输入标准类别编码" :disabled="true" />
</el-form-item>
<el-form-item label="标准类别名称">
<el-input v-model="form.gbTypeName" placeholder="请输入标准类别名称" :disabled="true" />
</el-form-item>
<el-form-item label="标准编码" prop="gbCode">
<el-input v-model="form.gbCode" placeholder="请输入标准编码" />
</el-form-item>
<el-form-item label="标准名称" prop="gbName">
<el-input v-model="form.gbName" placeholder="请输入标准名称" />
</el-form-item>
<el-form-item label="状态" prop="status">
<el-radio-group v-model="form.status">
<el-radio
v-for="dict in statusOptions"
:key="dict.id"
:label="dict.itemText"
>{{ dict.itemValue }}</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" type="textarea" placeholder="请输入内容" />
</el-form-item>
</el-form>
</div>
</el-card>
</template>
<script>
......@@ -55,10 +53,6 @@ export default {
},
data() {
return {
classCardbody: {
overflow: 'auto',
height: document.body.offsetHeight - 240 + 'px'
},
title: '标准字典编辑',
// 展示切换
showOptions: {
......@@ -141,5 +135,8 @@ export default {
</script>
<style lang="scss" scoped>
.el-card ::v-deep .el-card__body {
height: calc(100vh - 230px);
overflow-y: auto;
}
</style>
<template>
<div>
<el-card class="box-card" shadow="always">
<div slot="header" class="clearfix">
<span>{{ title }}</span>
<el-button-group style="float: right;">
<el-button size="mini" icon="el-icon-plus" round @click="submitForm" :loading="loadingOptions.loading" :disabled="loadingOptions.isDisabled">{{loadingOptions.loadingText}}</el-button>
<el-button size="mini" icon="el-icon-back" round @click="showCard">返回</el-button>
</el-button-group>
</div>
<div :style="classCardbody">
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item label="参数名称" prop="configName">
<el-input v-model="form.configName" placeholder="请输入参数名称" />
</el-form-item>
<el-form-item label="参数键名" prop="configKey">
<el-input v-model="form.configKey" placeholder="请输入参数键名" />
</el-form-item>
<el-form-item label="参数键值" prop="configValue">
<el-input v-model="form.configValue" placeholder="请输入参数键值" />
</el-form-item>
<el-form-item label="状态" prop="status">
<el-radio-group v-model="form.status">
<el-radio
v-for="dict in statusOptions"
:key="dict.id"
:label="dict.itemText"
>{{dict.itemValue}}</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" type="textarea" placeholder="请输入内容" />
</el-form-item>
</el-form>
</div>
</el-card>
<el-card class="box-card" shadow="always">
<div slot="header" class="clearfix">
<span>{{ title }}</span>
<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 size="mini" icon="el-icon-back" round @click="showCard">返回</el-button>
</el-button-group>
</div>
<div class="body-wrapper">
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item label="参数名称" prop="configName">
<el-input v-model="form.configName" placeholder="请输入参数名称" />
</el-form-item>
<el-form-item label="参数键名" prop="configKey">
<el-input v-model="form.configKey" placeholder="请输入参数键名" />
</el-form-item>
<el-form-item label="参数键值" prop="configValue">
<el-input v-model="form.configValue" placeholder="请输入参数键值" />
</el-form-item>
<el-form-item label="状态" prop="status">
<el-radio-group v-model="form.status">
<el-radio
v-for="dict in statusOptions"
:key="dict.id"
:label="dict.itemText"
>{{ dict.itemValue }}</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" type="textarea" placeholder="请输入内容" />
</el-form-item>
</el-form>
</div>
</el-card>
</template>
<script>
......@@ -45,17 +43,13 @@ export default {
props: {
data: {
type: Object,
default: function () {
default: function() {
return {}
}
}
},
data () {
data() {
return {
classCardbody: {
overflow: 'auto',
height: document.body.offsetHeight - 240 + 'px'
},
title: '参数新增',
// 展示切换
showOptions: {
......@@ -91,7 +85,7 @@ export default {
statusOptions: []
}
},
created () {
created() {
this.getDicts('sys_common_status').then(response => {
if (response.success) {
this.statusOptions = response.data
......@@ -99,11 +93,11 @@ export default {
})
},
methods: {
showCard () {
showCard() {
this.$emit('showCard', this.showOptions)
},
/** 提交按钮 */
submitForm: function () {
submitForm: function() {
this.$refs['form'].validate(valid => {
if (valid) {
this.loadingOptions.loading = true
......@@ -131,5 +125,8 @@ export default {
</script>
<style lang="scss" scoped>
.el-card ::v-deep .el-card__body {
height: calc(100vh - 230px);
overflow-y: auto;
}
</style>
<template>
<div>
<el-card class="box-card" shadow="always">
<div slot="header" class="clearfix">
<span>{{ title }}</span>
<el-button-group style="float: right;">
<el-button size="mini" icon="el-icon-back" round @click="showCard">返回</el-button>
</el-button-group>
</div>
<div :style="classCardbody">
<el-form ref="form" :model="form" label-width="80px" disabled>
<el-form-item label="参数名称" prop="configName">
<el-input v-model="form.configName" placeholder="请输入参数名称" />
</el-form-item>
<el-form-item label="参数键名" prop="configKey">
<el-input v-model="form.configKey" placeholder="请输入参数键名" />
</el-form-item>
<el-form-item label="参数键值" prop="configValue">
<el-input v-model="form.configValue" placeholder="请输入参数键值" />
</el-form-item>
<el-form-item label="状态" prop="status">
<el-radio-group v-model="form.status">
<el-radio
v-for="dict in statusOptions"
:key="dict.id"
:label="dict.itemText"
>{{dict.itemValue}}</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" type="textarea" placeholder="请输入内容" />
</el-form-item>
</el-form>
</div>
</el-card>
<el-card class="box-card" shadow="always">
<div slot="header" class="clearfix">
<span>{{ title }}</span>
<el-button-group style="float: right;">
<el-button size="mini" icon="el-icon-back" round @click="showCard">返回</el-button>
</el-button-group>
</div>
<div class="body-wrapper">
<el-form ref="form" :model="form" label-width="80px" disabled>
<el-form-item label="参数名称" prop="configName">
<el-input v-model="form.configName" placeholder="请输入参数名称" />
</el-form-item>
<el-form-item label="参数键名" prop="configKey">
<el-input v-model="form.configKey" placeholder="请输入参数键名" />
</el-form-item>
<el-form-item label="参数键值" prop="configValue">
<el-input v-model="form.configValue" placeholder="请输入参数键值" />
</el-form-item>
<el-form-item label="状态" prop="status">
<el-radio-group v-model="form.status">
<el-radio
v-for="dict in statusOptions"
:key="dict.id"
:label="dict.itemText"
>{{ dict.itemValue }}</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" type="textarea" placeholder="请输入内容" />
</el-form-item>
</el-form>
</div>
</el-card>
</template>
<script>
......@@ -44,17 +42,13 @@ export default {
props: {
data: {
type: Object,
default: function () {
default: function() {
return {}
}
}
},
data () {
data() {
return {
classCardbody: {
overflow: 'auto',
height: document.body.offsetHeight - 240 + 'px'
},
title: '参数详情',
// 展示切换
showOptions: {
......@@ -70,7 +64,7 @@ export default {
statusOptions: []
}
},
created () {
created() {
console.log('id:' + this.data.id)
this.getDicts('sys_common_status').then(response => {
if (response.success) {
......@@ -78,15 +72,15 @@ export default {
}
})
},
mounted () {
mounted() {
this.getConfig(this.data.id)
},
methods: {
showCard () {
showCard() {
this.$emit('showCard', this.showOptions)
},
/** 获取详情 */
getConfig: function (id) {
getConfig: function(id) {
getConfig(id).then(response => {
if (response.success) {
this.form = response.data
......@@ -98,5 +92,8 @@ export default {
</script>
<style lang="scss" scoped>
.el-card ::v-deep .el-card__body {
height: calc(100vh - 230px);
overflow-y: auto;
}
</style>
<template>
<div>
<el-card class="box-card" shadow="always">
<div slot="header" class="clearfix">
<span>{{ title }}</span>
<el-button-group style="float: right;">
<el-button size="mini" icon="el-icon-plus" round @click="submitForm" :loading="loadingOptions.loading" :disabled="loadingOptions.isDisabled">{{loadingOptions.loadingText}}</el-button>
<el-button size="mini" icon="el-icon-back" round @click="showCard">返回</el-button>
</el-button-group>
</div>
<div :style="classCardbody">
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item label="参数名称" prop="configName">
<el-input v-model="form.configName" placeholder="请输入参数名称" />
</el-form-item>
<el-form-item label="参数键名" prop="configKey">
<el-input v-model="form.configKey" placeholder="请输入参数键名" />
</el-form-item>
<el-form-item label="参数键值" prop="configValue">
<el-input v-model="form.configValue" placeholder="请输入参数键值" />
</el-form-item>
<el-form-item label="状态" prop="status">
<el-radio-group v-model="form.status">
<el-radio
v-for="dict in statusOptions"
:key="dict.id"
:label="dict.itemText"
>{{dict.itemValue}}</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" type="textarea" placeholder="请输入内容" />
</el-form-item>
</el-form>
</div>
</el-card>
<el-card class="box-card" shadow="always">
<div slot="header" class="clearfix">
<span>{{ title }}</span>
<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 size="mini" icon="el-icon-back" round @click="showCard">返回</el-button>
</el-button-group>
</div>
<div class="body-wrapper">
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item label="参数名称" prop="configName">
<el-input v-model="form.configName" placeholder="请输入参数名称" />
</el-form-item>
<el-form-item label="参数键名" prop="configKey">
<el-input v-model="form.configKey" placeholder="请输入参数键名" />
</el-form-item>
<el-form-item label="参数键值" prop="configValue">
<el-input v-model="form.configValue" placeholder="请输入参数键值" />
</el-form-item>
<el-form-item label="状态" prop="status">
<el-radio-group v-model="form.status">
<el-radio
v-for="dict in statusOptions"
:key="dict.id"
:label="dict.itemText"
>{{ dict.itemValue }}</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" type="textarea" placeholder="请输入内容" />
</el-form-item>
</el-form>
</div>
</el-card>
</template>
<script>
......@@ -45,17 +43,13 @@ export default {
props: {
data: {
type: Object,
default: function () {
default: function() {
return {}
}
}
},
data () {
data() {
return {
classCardbody: {
overflow: 'auto',
height: document.body.offsetHeight - 240 + 'px'
},
title: '参数编辑',
// 展示切换
showOptions: {
......@@ -89,7 +83,7 @@ export default {
statusOptions: []
}
},
created () {
created() {
console.log('id:' + this.data.id)
this.getDicts('sys_common_status').then(response => {
if (response.success) {
......@@ -97,15 +91,15 @@ export default {
}
})
},
mounted () {
mounted() {
this.getConfig(this.data.id)
},
methods: {
showCard () {
showCard() {
this.$emit('showCard', this.showOptions)
},
/** 获取详情 */
getConfig: function (id) {
getConfig: function(id) {
getConfig(id).then(response => {
if (response.success) {
this.form = response.data
......@@ -113,7 +107,7 @@ export default {
})
},
/** 提交按钮 */
submitForm: function () {
submitForm: function() {
this.$refs['form'].validate(valid => {
if (valid) {
this.loadingOptions.loading = true
......@@ -141,5 +135,8 @@ export default {
</script>
<style lang="scss" scoped>
.el-card ::v-deep .el-card__body {
height: calc(100vh - 230px);
overflow-y: auto;
}
</style>
<template>
<div>
<el-card class="box-card" shadow="always">
<div slot="header" class="clearfix">
<span>{{ title }}</span>
<el-button-group style="float: right;">
<el-button size="mini" icon="el-icon-plus" round @click="submitForm" :loading="loadingOptions.loading" :disabled="loadingOptions.isDisabled">{{loadingOptions.loadingText}}</el-button>
<el-button size="mini" icon="el-icon-back" round @click="showCard">返回</el-button>
</el-button-group>
</div>
<div :style="classCardbody">
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item label="上级部门" prop="parentId">
<treeselect v-model="form.parentId" :options="deptOptions" :normalizer="normalizer" placeholder="请选择上级部门" />
</el-form-item>
<el-form-item label="部门名称" prop="deptName">
<el-input v-model="form.deptName" placeholder="请输入部门名称" />
</el-form-item>
<el-form-item label="部门编码" prop="deptNo">
<el-input v-model="form.deptNo" placeholder="请输入部门编码" />
</el-form-item>
<el-form-item label="状态" prop="status">
<el-radio-group v-model="form.status">
<el-radio
v-for="dict in statusOptions"
:key="dict.id"
:label="dict.itemText"
>{{dict.itemValue}}</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" type="textarea" placeholder="请输入内容" />
</el-form-item>
</el-form>
</div>
</el-card>
<el-card class="box-card" shadow="always">
<div slot="header" class="clearfix">
<span>{{ title }}</span>
<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 size="mini" icon="el-icon-back" round @click="showCard">返回</el-button>
</el-button-group>
</div>
<div class="body-wrapper">
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item label="上级部门" prop="parentId">
<treeselect v-model="form.parentId" :options="deptOptions" :normalizer="normalizer" placeholder="请选择上级部门" />
</el-form-item>
<el-form-item label="部门名称" prop="deptName">
<el-input v-model="form.deptName" placeholder="请输入部门名称" />
</el-form-item>
<el-form-item label="部门编码" prop="deptNo">
<el-input v-model="form.deptNo" placeholder="请输入部门编码" />
</el-form-item>
<el-form-item label="状态" prop="status">
<el-radio-group v-model="form.status">
<el-radio
v-for="dict in statusOptions"
:key="dict.id"
:label="dict.itemText"
>{{ dict.itemValue }}</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" type="textarea" placeholder="请输入内容" />
</el-form-item>
</el-form>
</div>
</el-card>
</template>
<script>
......@@ -49,17 +47,13 @@ export default {
props: {
data: {
type: Object,
default: function () {
default: function() {
return {}
}
}
},
data () {
data() {
return {
classCardbody: {
overflow: 'auto',
height: document.body.offsetHeight - 240 + 'px'
},
title: '部门新增',
// 展示切换
showOptions: {
......@@ -98,7 +92,7 @@ export default {
deptOptions: []
}
},
created () {
created() {
console.log('data:' + JSON.stringify(this.data))
this.getDicts('sys_common_status').then(response => {
if (response.success) {
......@@ -108,10 +102,10 @@ export default {
this.getDeptTreeSelect()
},
methods: {
showCard () {
showCard() {
this.$emit('showCard', this.showOptions)
},
getDeptTreeSelect: function () {
getDeptTreeSelect: function() {
listDept().then(response => {
if (response.success) {
const { data } = response
......@@ -127,7 +121,7 @@ export default {
})
},
/** 转换部门数据结构 */
normalizer (node) {
normalizer(node) {
if (node.children && !node.children.length) {
delete node.children
}
......@@ -138,7 +132,7 @@ export default {
}
},
/** 提交按钮 */
submitForm: function () {
submitForm: function() {
this.$refs['form'].validate(valid => {
if (valid) {
this.loadingOptions.loading = true
......@@ -166,5 +160,8 @@ export default {
</script>
<style lang="scss" scoped>
.el-card ::v-deep .el-card__body {
height: calc(100vh - 230px);
overflow-y: auto;
}
</style>
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