system 模块,quartz job 页面中新增弹窗调整

This commit is contained in:
任珮宇 2024-01-30 16:53:40 +08:00
parent 781a4be8a1
commit 736ee50711
2 changed files with 125 additions and 127 deletions

View File

@ -3,7 +3,7 @@
<a-input :placeholder="placeholder" v-model="editCronValue" :disabled="disabled">
<a slot="addonAfter" @click="showConfigDlg" class="config-btn" :disabled="disabled">
<a-icon type="setting"></a-icon>
选择
Select
</a>
</a-input>
<j-modal :visible.sync="show" title="Cron表达式" width="800px">
@ -24,44 +24,44 @@ import EasyCron from './EasyCron.vue'
export default {
name: 'input-cron',
components: {EasyCron},
components: { EasyCron },
model: {
prop: 'cronValue',
event: 'change'
event: 'change',
},
props: {
cronValue: {
type: String,
default: ''
default: '',
},
width: {
type: String,
default: '800px'
default: '800px',
},
placeholder: {
type: String,
default: '请输入cron表达式'
default: '请输入cron表达式',
},
disabled: {
type: Boolean,
default: false
default: false,
},
exeStartTime: {
type: [Number, String, Object],
default: 0
default: 0,
},
hideSecond: {
type: Boolean,
default: false
default: false,
},
hideYear: {
type: Boolean,
default: false
default: false,
},
remote: {
type: Function,
default: null
}
default: null,
},
},
data() {
return {
@ -78,22 +78,20 @@ export default {
},
editCronValue(newVal, oldVal) {
this.$emit('change', newVal)
}
},
},
methods: {
showConfigDlg() {
if (!this.disabled) {
this.show = true
}
}
}
},
},
}
</script>
<style scoped>
.config-btn {
cursor: pointer;
}
.config-btn {
cursor: pointer;
}
</style>

View File

@ -6,27 +6,32 @@
:confirmLoading="confirmLoading"
@ok="handleOk"
@cancel="handleCancel"
okText="保存并安排任务"
cancelText="关闭">
okText="Save And Schedule Tasks"
cancelText="Close"
>
<a-spin :spinning="confirmLoading">
<a-form-model ref="form" :model="model" :rules="validatorRules">
<a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="任务类名" prop="jobClassName" hasFeedback >
<a-input placeholder="请输入任务类名" v-model="model.jobClassName" />
<a-form-model-item
:labelCol="labelCol"
:wrapperCol="wrapperCol"
label="Task Class Name"
prop="jobClassName"
hasFeedback
>
<a-input placeholder="Please enter a task class name" v-model="model.jobClassName" />
</a-form-model-item>
<a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="Cron表达式" prop="cronExpression">
<a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="Cron Expression" prop="cronExpression">
<!-- <j-cron v-model="model.cronExpression"/>-->
<j-easy-cron v-model="model.cronExpression" />
</a-form-model-item>
<a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="参数" prop="parameter" >
<a-textarea placeholder="请输入参数" :rows="5" v-model="model.parameter" />
<a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="Arguments" prop="parameter">
<a-textarea placeholder="Please enter parameters" :rows="5" v-model="model.parameter" />
</a-form-model-item>
<a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="描述" prop="description">
<a-textarea placeholder="请输入描述" :rows="3" v-model="model.description" />
<a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="Description" prop="description">
<a-textarea placeholder="Please enter a description" :rows="3" v-model="model.description" />
</a-form-model-item>
<a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="状态" prop="status">
<j-dict-select-tag type="radioButton" v-model="model.status" dictCode="quartz_status"/>
<a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="Status" prop="status">
<j-dict-select-tag type="radioButton" v-model="model.status" dictCode="quartz_status" />
</a-form-model-item>
</a-form-model>
</a-spin>
@ -34,108 +39,103 @@
</template>
<script>
import { httpAction } from '@/api/manage'
// import JCron from "@/components/jeecg/JCron";
import cronValidator from "@/components/jeecg/JEasyCron/validator";
import { httpAction } from '@/api/manage'
// import JCron from "@/components/jeecg/JCron";
import cronValidator from '@/components/jeecg/JEasyCron/validator'
export default {
name: "QuartzJobModal",
components: {
// JCron,
},
data () {
return {
title:"操作",
buttonStyle: 'solid',
visible: false,
model: {},
labelCol: {
xs: { span: 24 },
sm: { span: 5 },
},
wrapperCol: {
xs: { span: 24 },
sm: { span: 16 },
},
cron: {
label: '',
value: ''
},
confirmLoading: false,
validatorRules: {
cronExpression: [
{required: true, message: '请输入cron表达式!'},
{validator: cronValidator,}
],
jobClassName: [{required: true, message: '请输入任务类名!'}]
},
url: {
add: "/sys/quartzJob/add",
edit: "/sys/quartzJob/edit",
},
}
},
created () {
},
methods: {
add() {
//
this.edit({
cronExpression: '* * * * * ? *',
status: 0,
})
export default {
name: 'QuartzJobModal',
components: {
// JCron,
},
data() {
return {
title: '操作',
buttonStyle: 'solid',
visible: false,
model: {},
labelCol: {
xs: { span: 24 },
sm: { span: 5 },
},
edit (record) {
this.visible = true;
this.$nextTick(() => {
this.$refs.form.resetFields()
this.model = Object.assign({}, record)
})
wrapperCol: {
xs: { span: 24 },
sm: { span: 16 },
},
close () {
this.$emit('close');
this.visible = false;
cron: {
label: '',
value: '',
},
handleOk () {
const that = this;
//
this.$refs.form.validate((ok, err) => {
if (ok) {
that.confirmLoading = true;
let httpurl = '';
let method = '';
if(!this.model.id){
httpurl+=this.url.add;
method = 'post';
}else{
httpurl+=this.url.edit;
method = 'put';
}
console.log('提交参数',this.model)
httpAction(httpurl,this.model,method).then((res)=>{
if(res.success){
that.$message.success(res.message);
that.$emit('ok');
that.close();
}else{
that.$message.warning(res.message);
}
}).finally(() => {
that.confirmLoading = false;
})
}
})
confirmLoading: false,
validatorRules: {
cronExpression: [{ required: true, message: '请输入cron表达式!' }, { validator: cronValidator }],
jobClassName: [{ required: true, message: '请输入任务类名!' }],
},
handleCancel () {
this.close()
url: {
add: '/sys/quartzJob/add',
edit: '/sys/quartzJob/edit',
},
}
}
},
created() {},
methods: {
add() {
//
this.edit({
cronExpression: '* * * * * ? *',
status: 0,
})
},
edit(record) {
this.visible = true
this.$nextTick(() => {
this.$refs.form.resetFields()
this.model = Object.assign({}, record)
})
},
close() {
this.$emit('close')
this.visible = false
},
handleOk() {
const that = this
//
this.$refs.form.validate((ok, err) => {
if (ok) {
that.confirmLoading = true
let httpurl = ''
let method = ''
if (!this.model.id) {
httpurl += this.url.add
method = 'post'
} else {
httpurl += this.url.edit
method = 'put'
}
console.log('提交参数', this.model)
httpAction(httpurl, this.model, method)
.then((res) => {
if (res.success) {
that.$message.success(res.message)
that.$emit('ok')
that.close()
} else {
that.$message.warning(res.message)
}
})
.finally(() => {
that.confirmLoading = false
})
}
})
},
handleCancel() {
this.close()
},
},
}
</script>
<style scoped>
</style>