Commit 65709685 by yuwei

项目初始化

parent c73b5391
...@@ -24,6 +24,8 @@ public class DictVo implements Serializable { ...@@ -24,6 +24,8 @@ public class DictVo implements Serializable {
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private LocalDateTime createTime; private LocalDateTime createTime;
private String typeId; private String typeId;
private String gbTypeCode;
private String gbTypeName;
private String gbCode; private String gbCode;
private String gbName; private String gbName;
} }
import request from '@/utils/request'
export function listDataDictType(data) {
return request({
url: '/data/standard/types/list',
method: 'get',
params: data
})
}
export function addDataDictType(data) {
return request({
url: '/data/standard/types',
method: 'post',
data: data
})
}
export function updateDataDictType(data) {
return request({
url: '/data/standard/types/' + data.id,
method: 'put',
data: data
})
}
export function delDataDictType(id) {
return request({
url: '/data/standard/types/' + id,
method: 'delete'
})
}
export function pageDataDict(data) {
return request({
url: '/data/standard/dicts/page',
method: 'get',
params: data
})
}
export function getDataDict(id) {
return request({
url: '/data/standard/dicts/' + id,
method: 'get'
})
}
export function delDataDict(id) {
return request({
url: '/data/standard/dicts/' + id,
method: 'delete'
})
}
export function delDataDicts(ids) {
return request({
url: '/data/standard/dicts/batch/' + ids,
method: 'delete'
})
}
export function addDataDict(data) {
return request({
url: '/data/standard/dicts',
method: 'post',
data: data
})
}
export function updateDataDict(data) {
return request({
url: '/data/standard/dicts/' + data.id,
method: 'put',
data: data
})
}
...@@ -139,7 +139,7 @@ export default { ...@@ -139,7 +139,7 @@ export default {
}, },
/** 提交按钮 */ /** 提交按钮 */
submitForm: function () { submitForm: function () {
this.$refs['form2'].validate(valid => { this.$refs['form'].validate(valid => {
if (valid) { if (valid) {
this.loadingOptions.loading = true this.loadingOptions.loading = true
this.loadingOptions.loadingText = '保存中...' this.loadingOptions.loadingText = '保存中...'
......
<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>
</template>
<script>
import { addDataDict } from '@/api/standard/datadict'
export default {
name: 'DataDictAdd',
props: {
data: {
type: Object,
default: function() {
return {}
}
}
},
data() {
return {
classCardbody: {
overflow: 'auto',
height: document.body.offsetHeight - 240 + 'px'
},
title: '标准字典新增',
// 展示切换
showOptions: {
data: {},
showList: true,
showAdd: false,
showEdit: false,
showDetail: false
},
// 保存按钮
loadingOptions: {
loading: false,
loadingText: '保存',
isDisabled: false
},
// 表单参数
form: {
typeId: undefined,
gbCode: undefined,
gbName: undefined,
status: '1'
},
// 表单校验
rules: {
gbCode: [
{ required: true, message: '标准编码不能为空', trigger: 'blur' }
],
gbName: [
{ required: true, message: '标准名称不能为空', trigger: 'blur' }
]
},
// 状态数据字典
statusOptions: []
}
},
created() {
console.log('data:' + this.data)
this.form.typeId = this.data.typeId
this.getDicts('sys_common_status').then(response => {
if (response.success) {
this.statusOptions = response.data
}
})
},
methods: {
showCard() {
this.$emit('showCard', this.showOptions)
},
/** 提交按钮 */
submitForm: function() {
this.$refs['form'].validate(valid => {
if (valid) {
this.loadingOptions.loading = true
this.loadingOptions.loadingText = '保存中...'
this.loadingOptions.isDisabled = true
addDataDict(this.form).then(response => {
if (response.success) {
this.$message.success('保存成功')
setTimeout(() => {
// 2秒后跳转列表页
this.$emit('showCard', this.showOptions)
}, 2000)
} else {
this.$message.error('保存失败')
this.loadingOptions.loading = false
this.loadingOptions.loadingText = '保存'
this.loadingOptions.isDisabled = false
}
})
}
})
}
}
}
</script>
<style lang="scss" scoped>
</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>
</template>
<script>
import { getDataDict } from '@/api/standard/datadict'
export default {
name: 'DataDictDetail',
props: {
data: {
type: Object,
default: function() {
return {}
}
}
},
data() {
return {
classCardbody: {
overflow: 'auto',
height: document.body.offsetHeight - 240 + 'px'
},
title: '标准字典详情',
// 展示切换
showOptions: {
data: {},
showList: true,
showAdd: false,
showEdit: false,
showDetail: false
},
// 表单参数
form: {},
// 状态数据字典
statusOptions: []
}
},
created() {
console.log('id:' + this.data.id)
this.getDicts('sys_common_status').then(response => {
if (response.success) {
this.statusOptions = response.data
}
})
},
mounted() {
this.getDataDict(this.data.id)
},
methods: {
showCard() {
this.$emit('showCard', this.showOptions)
},
/** 获取详情 */
getDataDict: function(id) {
getDataDict(id).then(response => {
if (response.success) {
this.form = response.data
}
})
}
}
}
</script>
<style lang="scss" scoped>
</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>
</template>
<script>
import { getDataDict, updateDataDict } from '@/api/standard/datadict'
export default {
name: 'DataDictEdit',
props: {
data: {
type: Object,
default: function() {
return {}
}
}
},
data() {
return {
classCardbody: {
overflow: 'auto',
height: document.body.offsetHeight - 240 + 'px'
},
title: '标准字典编辑',
// 展示切换
showOptions: {
data: {},
showList: true,
showAdd: false,
showEdit: false,
showDetail: false
},
// 保存按钮
loadingOptions: {
loading: false,
loadingText: '保存',
isDisabled: false
},
// 表单参数
form: {},
// 表单校验
rules: {
gbCode: [
{ required: true, message: '标准编码不能为空', trigger: 'blur' }
],
gbName: [
{ required: true, message: '标准名称不能为空', trigger: 'blur' }
]
},
// 状态数据字典
statusOptions: []
}
},
created() {
console.log('id:' + this.data.id)
this.getDicts('sys_common_status').then(response => {
if (response.success) {
this.statusOptions = response.data
}
})
},
mounted() {
this.getDataDict(this.data.id)
},
methods: {
showCard() {
this.$emit('showCard', this.showOptions)
},
/** 获取详情 */
getDataDict: function(id) {
getDataDict(id).then(response => {
if (response.success) {
this.form = response.data
}
})
},
/** 提交按钮 */
submitForm: function() {
this.$refs['form'].validate(valid => {
if (valid) {
this.loadingOptions.loading = true
this.loadingOptions.loadingText = '保存中...'
this.loadingOptions.isDisabled = true
updateDataDict(this.form).then(response => {
if (response.success) {
this.$message.success('保存成功')
setTimeout(() => {
// 2秒后跳转列表页
this.$emit('showCard', this.showOptions)
}, 2000)
} else {
this.$message.error('保存失败')
this.loadingOptions.loading = false
this.loadingOptions.loadingText = '保存'
this.loadingOptions.isDisabled = false
}
})
}
})
}
}
}
</script>
<style lang="scss" scoped>
</style>
<template>
<div class="app-container">
<transition name="el-zoom-in-center">
<data-dict-list v-if="options.showList" @showCard="showCard" />
</transition>
<transition name="el-zoom-in-top">
<data-dict-add v-if="options.showAdd" :data="options.data" @showCard="showCard" />
</transition>
<transition name="el-zoom-in-top">
<data-dict-edit v-if="options.showEdit" :data="options.data" @showCard="showCard" />
</transition>
<transition name="el-zoom-in-bottom">
<data-dict-detail v-if="options.showDetail" :data="options.data" @showCard="showCard" />
</transition>
</div>
</template>
<script>
import DataDictList from './DataDictList'
import DataDictAdd from './DataDictAdd'
import DataDictEdit from './DataDictEdit'
import DataDictDetail from './DataDictDetail'
export default {
name: 'ChangeRecord',
components: { DataDictList, DataDictAdd, DataDictEdit, DataDictDetail },
data() {
return {
options: {
data: {},
showList: true,
showAdd: false,
showEdit: false,
showDetail: false
}
}
},
methods: {
showCard(data) {
Object.assign(this.options, data)
}
}
}
</script>
<style lang="scss" scoped>
</style>
<template>
<div class="app-container">
Standard
</div>
</template>
<script>
export default {
name: 'Standard'
}
</script>
<style lang="scss" scoped>
</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