This commit is contained in:
parent
f248b768ec
commit
7c575c01cf
|
@ -32,13 +32,7 @@
|
||||||
</el-main>
|
</el-main>
|
||||||
</el-container>
|
</el-container>
|
||||||
|
|
||||||
<el-dialog :title="titleMap[saveMode]" v-model="saveDialogVisible" :width="500" destroy-on-close>
|
<save-dialog ref="saveDialog"></save-dialog>
|
||||||
<save-dialog ref="saveDialog" :mode="saveMode"></save-dialog>
|
|
||||||
<template #footer>
|
|
||||||
<el-button @click="saveDialogVisible=false" >取 消</el-button>
|
|
||||||
<el-button v-if="saveMode!='show'" type="primary" @click="saveForm()" :loading="isSaveing">保 存</el-button>
|
|
||||||
</template>
|
|
||||||
</el-dialog>
|
|
||||||
|
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
|
@ -53,40 +47,17 @@
|
||||||
data(){
|
data(){
|
||||||
return {
|
return {
|
||||||
apiObj: this.$API.app.list,
|
apiObj: this.$API.app.list,
|
||||||
selection: [],
|
selection: []
|
||||||
saveDialogVisible: false,
|
|
||||||
saveMode: 'add',
|
|
||||||
titleMap: {
|
|
||||||
add: "新增",
|
|
||||||
edit: "编辑",
|
|
||||||
show: "查看"
|
|
||||||
},
|
|
||||||
isSaveing: false,
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
add(){
|
add(){
|
||||||
this.saveMode = 'add';
|
this.$refs.saveDialog.show()
|
||||||
this.saveDialogVisible = true;
|
|
||||||
},
|
},
|
||||||
//编辑
|
//编辑
|
||||||
table_edit(row){
|
table_edit(row){
|
||||||
this.saveMode = 'edit';
|
this.$refs.saveDialog.show('edit')
|
||||||
this.saveDialogVisible = true;
|
this.$refs.saveDialog.setData(row)
|
||||||
this.$nextTick(() => {
|
|
||||||
//这里应该再次根据ID查询详情接口
|
|
||||||
this.$refs.saveDialog.setData(row)
|
|
||||||
})
|
|
||||||
|
|
||||||
},
|
|
||||||
//查看
|
|
||||||
table_show(row){
|
|
||||||
this.saveMode = 'show';
|
|
||||||
this.saveDialogVisible = true;
|
|
||||||
this.$nextTick(() => {
|
|
||||||
//这里应该再次根据ID查询详情接口
|
|
||||||
this.$refs.saveDialog.setData(row)
|
|
||||||
})
|
|
||||||
},
|
},
|
||||||
//删除
|
//删除
|
||||||
async table_del(row, index){
|
async table_del(row, index){
|
||||||
|
@ -119,25 +90,10 @@
|
||||||
|
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
//提交
|
|
||||||
saveForm(){
|
|
||||||
this.$refs.saveDialog.submit(async (formData) => {
|
|
||||||
this.isSaveing = true;
|
|
||||||
var res = await this.$API.user.save.post(formData);
|
|
||||||
this.isSaveing = false;
|
|
||||||
if(res.code == 200){
|
|
||||||
//这里选择刷新整个表格 OR 插入/编辑现有表格数据
|
|
||||||
this.saveDialogVisible = false;
|
|
||||||
this.$message.success("操作成功")
|
|
||||||
}else{
|
|
||||||
this.$alert(res.message, "提示", {type: 'error'})
|
|
||||||
}
|
|
||||||
})
|
|
||||||
},
|
|
||||||
//表格选择后回调事件
|
//表格选择后回调事件
|
||||||
selectionChange(selection){
|
selectionChange(selection){
|
||||||
this.selection = selection;
|
this.selection = selection;
|
||||||
},
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
|
@ -1,35 +1,43 @@
|
||||||
<template>
|
<template>
|
||||||
<el-form :model="form" :rules="rules" :disabled="mode=='show'" ref="dialogForm" label-width="100px" label-position="left">
|
<el-dialog :title="titleMap[mode]" v-model="visible" :width="500" destroy-on-close>
|
||||||
<el-form-item label="应用标识" prop="appId">
|
<el-form :model="form" :rules="rules" :disabled="mode=='show'" ref="dialogForm" label-width="100px" label-position="left">
|
||||||
<el-input v-model="form.appId" clearable></el-input>
|
<el-form-item label="应用标识" prop="appId">
|
||||||
</el-form-item>
|
<el-input v-model="form.appId" clearable></el-input>
|
||||||
<el-form-item label="应用名称" prop="appName">
|
</el-form-item>
|
||||||
<el-input v-model="form.appName" clearable></el-input>
|
<el-form-item label="应用名称" prop="appName">
|
||||||
</el-form-item>
|
<el-input v-model="form.appName" clearable></el-input>
|
||||||
<el-form-item label="秘钥" prop="secret">
|
</el-form-item>
|
||||||
<el-input v-model="form.secret" clearable></el-input>
|
<el-form-item label="秘钥" prop="secret">
|
||||||
</el-form-item>
|
<el-input v-model="form.secret" clearable></el-input>
|
||||||
<el-form-item label="类型范围" prop="type">
|
</el-form-item>
|
||||||
<el-checkbox-group v-model="form.type">
|
<el-form-item label="类型范围" prop="type">
|
||||||
<el-checkbox-button label="ALL"></el-checkbox-button>
|
<el-checkbox-group v-model="form.type">
|
||||||
<el-checkbox-button label="UPDATA"></el-checkbox-button>
|
<el-checkbox-button label="ALL"></el-checkbox-button>
|
||||||
<el-checkbox-button label="QUERY"></el-checkbox-button>
|
<el-checkbox-button label="UPDATA"></el-checkbox-button>
|
||||||
<el-checkbox-button label="INSERT"></el-checkbox-button>
|
<el-checkbox-button label="QUERY"></el-checkbox-button>
|
||||||
</el-checkbox-group>
|
<el-checkbox-button label="INSERT"></el-checkbox-button>
|
||||||
</el-form-item>
|
</el-checkbox-group>
|
||||||
<el-form-item label="授权至" prop="exp">
|
</el-form-item>
|
||||||
<el-date-picker v-model="form.exp" type="datetime" placeholder="选择日期时间"></el-date-picker>
|
<el-form-item label="授权至" prop="exp">
|
||||||
</el-form-item>
|
<el-date-picker v-model="form.exp" type="datetime" placeholder="选择日期时间"></el-date-picker>
|
||||||
</el-form>
|
</el-form-item>
|
||||||
|
</el-form>
|
||||||
|
<template #footer>
|
||||||
|
<el-button @click="visible=false" >取 消</el-button>
|
||||||
|
<el-button type="primary" :loading="isSaveing" @click="submit()">保 存</el-button>
|
||||||
|
</template>
|
||||||
|
</el-dialog>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
export default {
|
export default {
|
||||||
props: {
|
|
||||||
mode: { type: String, default: "add" }
|
|
||||||
},
|
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
|
mode: "add",
|
||||||
|
titleMap: {
|
||||||
|
add: '新增APP',
|
||||||
|
edit: '编辑APP'
|
||||||
|
},
|
||||||
//表单数据
|
//表单数据
|
||||||
form: {
|
form: {
|
||||||
id:"",
|
id:"",
|
||||||
|
@ -57,30 +65,48 @@
|
||||||
{required: true, message: '请选择授权到期日期'}
|
{required: true, message: '请选择授权到期日期'}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
visible: false,
|
||||||
|
isSaveing: false,
|
||||||
|
pData: {}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
//显示
|
||||||
|
show(mode='add'){
|
||||||
|
this.mode = mode;
|
||||||
|
this.visible = true;
|
||||||
|
this.form = this.$options.data().form
|
||||||
|
},
|
||||||
//表单提交方法
|
//表单提交方法
|
||||||
submit(callback){
|
submit(){
|
||||||
this.$refs.dialogForm.validate((valid) => {
|
this.$refs.dialogForm.validate(async (valid) => {
|
||||||
if (valid) {
|
if (valid) {
|
||||||
callback(this.form)
|
this.isSaveing = true;
|
||||||
}else{
|
var res = await this.$API.user.save.post(this.form);
|
||||||
return false;
|
this.isSaveing = false;
|
||||||
|
if(res.code == 200){
|
||||||
|
this.visible = false;
|
||||||
|
if(this.mode == 'add'){
|
||||||
|
//
|
||||||
|
}else if(this.mode == 'edit'){
|
||||||
|
Object.assign(this.pData, this.form)
|
||||||
|
}
|
||||||
|
this.$message.success("操作成功")
|
||||||
|
}else{
|
||||||
|
this.$alert(res.message, "提示", {type: 'error'})
|
||||||
|
}
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
//表单注入数据
|
//表单注入数据
|
||||||
setData(data){
|
setData(data){
|
||||||
|
this.pData = data
|
||||||
this.form.id = data.id
|
this.form.id = data.id
|
||||||
this.form.appId = data.appId
|
this.form.appId = data.appId
|
||||||
this.form.appName = data.appName
|
this.form.appName = data.appName
|
||||||
this.form.secret = data.secret
|
this.form.secret = data.secret
|
||||||
this.form.type = data.type
|
this.form.type = data.type
|
||||||
this.form.exp = data.exp
|
this.form.exp = data.exp
|
||||||
|
|
||||||
//可以和上面一样单个注入,也可以像下面一样直接合并进去
|
|
||||||
//Object.assign(this.form, data)
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,10 +1,10 @@
|
||||||
<!--
|
<!--
|
||||||
* @Descripttion: 系统计划任务配置
|
* @Descripttion: 系统计划任务配置
|
||||||
* @version: 1.0
|
* @version: 1.1
|
||||||
* @Author: sakuya
|
* @Author: sakuya
|
||||||
* @Date: 2021年7月7日09:28:32
|
* @Date: 2021年7月7日09:28:32
|
||||||
* @LastEditors:
|
* @LastEditors: sakuya
|
||||||
* @LastEditTime:
|
* @LastEditTime: 2021年7月8日22:15:13
|
||||||
-->
|
-->
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
|
@ -57,13 +57,7 @@
|
||||||
</el-row>
|
</el-row>
|
||||||
</el-main>
|
</el-main>
|
||||||
|
|
||||||
<el-dialog title="计划任务" v-model="saveDialogVisible" :width="400" destroy-on-close>
|
<save-dialog ref="saveDialog"></save-dialog>
|
||||||
<save-dialog ref="saveDialog"></save-dialog>
|
|
||||||
<template #footer>
|
|
||||||
<el-button @click="saveDialogVisible=false" >取 消</el-button>
|
|
||||||
<el-button type="primary" @click="saveForm()" :loading="isSaveing">保 存</el-button>
|
|
||||||
</template>
|
|
||||||
</el-dialog>
|
|
||||||
|
|
||||||
<el-drawer title="计划任务日志" v-model="logsVisible" :size="600" direction="rtl" destroy-on-close>
|
<el-drawer title="计划任务日志" v-model="logsVisible" :size="600" direction="rtl" destroy-on-close>
|
||||||
<logs></logs>
|
<logs></logs>
|
||||||
|
@ -80,11 +74,14 @@
|
||||||
saveDialog,
|
saveDialog,
|
||||||
logs
|
logs
|
||||||
},
|
},
|
||||||
|
provide() {
|
||||||
|
return {
|
||||||
|
list: this.list
|
||||||
|
}
|
||||||
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
saveDialogVisible: false,
|
|
||||||
logsVisible: false,
|
logsVisible: false,
|
||||||
isSaveing: false,
|
|
||||||
list: [
|
list: [
|
||||||
{
|
{
|
||||||
id: "1",
|
id: "1",
|
||||||
|
@ -115,13 +112,11 @@
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
add(){
|
add(){
|
||||||
this.saveDialogVisible = true;
|
this.$refs.saveDialog.show()
|
||||||
},
|
},
|
||||||
edit(task){
|
edit(task){
|
||||||
this.saveDialogVisible = true;
|
this.$refs.saveDialog.show('edit')
|
||||||
this.$nextTick(() => {
|
this.$refs.saveDialog.setData(task)
|
||||||
this.$refs.saveDialog.setData(task)
|
|
||||||
})
|
|
||||||
},
|
},
|
||||||
del(task){
|
del(task){
|
||||||
this.$confirm(`确认删除 ${task.title} 计划任务吗?`,'提示', {
|
this.$confirm(`确认删除 ${task.title} 计划任务吗?`,'提示', {
|
||||||
|
@ -139,13 +134,6 @@
|
||||||
},
|
},
|
||||||
run(task){
|
run(task){
|
||||||
this.$message.success(`已成功执行计划任务:${task.title}`)
|
this.$message.success(`已成功执行计划任务:${task.title}`)
|
||||||
},
|
|
||||||
saveForm(){
|
|
||||||
this.$refs.saveDialog.submit((formData) => {
|
|
||||||
console.log(formData)
|
|
||||||
this.$message.success("操作成功")
|
|
||||||
this.saveDialogVisible = false;
|
|
||||||
})
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,33 +1,45 @@
|
||||||
<!--
|
<!--
|
||||||
* @Descripttion: 系统计划任务配置
|
* @Descripttion: 系统计划任务配置
|
||||||
* @version: 1.0
|
* @version: 1.1
|
||||||
* @Author: sakuya
|
* @Author: sakuya
|
||||||
* @Date: 2021年7月7日09:28:32
|
* @Date: 2021年7月7日09:28:32
|
||||||
* @LastEditors:
|
* @LastEditors: sakuya
|
||||||
* @LastEditTime:
|
* @LastEditTime: 2021年7月8日22:15:13
|
||||||
-->
|
-->
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<el-form :model="form" :rules="rules" ref="dialogForm" label-width="100px" label-position="left">
|
<el-dialog :title="titleMap[mode]" v-model="visible" :width="400" destroy-on-close>
|
||||||
<el-form-item label="描述" prop="title">
|
<el-form :model="form" :rules="rules" ref="dialogForm" label-width="100px" label-position="left">
|
||||||
<el-input v-model="form.title" clearable></el-input>
|
<el-form-item label="描述" prop="title">
|
||||||
</el-form-item>
|
<el-input v-model="form.title" placeholder="计划任务标题" clearable></el-input>
|
||||||
<el-form-item label="执行类" prop="handler">
|
</el-form-item>
|
||||||
<el-input v-model="form.handler" clearable></el-input>
|
<el-form-item label="执行类" prop="handler">
|
||||||
</el-form-item>
|
<el-input v-model="form.handler" placeholder="计划任务执行类名称" clearable></el-input>
|
||||||
<el-form-item label="定时规则" prop="cron">
|
</el-form-item>
|
||||||
<el-input v-model="form.cron" clearable></el-input>
|
<el-form-item label="定时规则" prop="cron">
|
||||||
</el-form-item>
|
<el-input v-model="form.cron" placeholder="请输入Cron定时规则" clearable></el-input>
|
||||||
<el-form-item label="状态" prop="state">
|
</el-form-item>
|
||||||
<el-switch v-model="form.state" active-value="1" inactive-value="-1"></el-switch>
|
<el-form-item label="是否启用" prop="state">
|
||||||
</el-form-item>
|
<el-switch v-model="form.state" active-value="1" inactive-value="-1"></el-switch>
|
||||||
</el-form>
|
</el-form-item>
|
||||||
|
</el-form>
|
||||||
|
<template #footer>
|
||||||
|
<el-button @click="visible=false" >取 消</el-button>
|
||||||
|
<el-button type="primary" :loading="isSaveing" @click="submit()">保 存</el-button>
|
||||||
|
</template>
|
||||||
|
</el-dialog>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
export default {
|
export default {
|
||||||
|
inject: ['list'],
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
|
mode: "add",
|
||||||
|
titleMap: {
|
||||||
|
add: '新增计划任务',
|
||||||
|
edit: '编辑计划任务'
|
||||||
|
},
|
||||||
form: {
|
form: {
|
||||||
id:"",
|
id:"",
|
||||||
title: "",
|
title: "",
|
||||||
|
@ -45,20 +57,40 @@
|
||||||
cron:[
|
cron:[
|
||||||
{required: true, message: '请填写定时规则'}
|
{required: true, message: '请填写定时规则'}
|
||||||
]
|
]
|
||||||
}
|
},
|
||||||
|
visible: false,
|
||||||
|
isSaveing: false,
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
|
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
//显示
|
||||||
|
show(mode='add'){
|
||||||
|
this.mode = mode;
|
||||||
|
this.visible = true;
|
||||||
|
this.form = this.$options.data().form
|
||||||
|
},
|
||||||
//表单提交方法
|
//表单提交方法
|
||||||
submit(callback){
|
submit(){
|
||||||
this.$refs.dialogForm.validate((valid) => {
|
this.$refs.dialogForm.validate((valid) => {
|
||||||
if (valid) {
|
if (valid) {
|
||||||
callback(this.form)
|
this.isSaveing = true;
|
||||||
}else{
|
setTimeout(()=>{
|
||||||
return false;
|
this.isSaveing = false;
|
||||||
|
this.visible = false;
|
||||||
|
this.$message.success("操作成功")
|
||||||
|
if(this.mode == 'add'){
|
||||||
|
var newItem = {...this.form}
|
||||||
|
newItem.id = new Date().getTime()
|
||||||
|
this.list.push(newItem)
|
||||||
|
}else if(this.mode == 'edit'){
|
||||||
|
this.list.filter(item => item.id===this.form.id ).forEach(item => {
|
||||||
|
Object.assign(item, this.form)
|
||||||
|
})
|
||||||
|
}
|
||||||
|
},1000)
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
|
Loading…
Reference in New Issue