hgwms-2098 fix 定时设置弹窗修改

hwork-master^2
A0066811 2025-11-07 10:59:24 +08:00
parent 4efee0ebad
commit cf2d0c8d00
3 changed files with 124 additions and 100 deletions

View File

@ -11,9 +11,9 @@
ref="formRef" ref="formRef"
:model="formState" :model="formState"
:rules="formRules" :rules="formRules"
:label-col="labelCol" layout="vertical"
:wrapper-col="wrapperCol"
> >
<a-col :span="24">
<a-form-item ref="name" label="名称" name="name"> <a-form-item ref="name" label="名称" name="name">
<a-input v-model:value="formState.name" /> <a-input v-model:value="formState.name" />
</a-form-item> </a-form-item>
@ -32,6 +32,7 @@
<a-form-item label="备注" name="remark"> <a-form-item label="备注" name="remark">
<a-textarea v-model:value="formState.remark" /> <a-textarea v-model:value="formState.remark" />
</a-form-item> </a-form-item>
</a-col>
</a-form> </a-form>
</a-modal> </a-modal>
</template> </template>

View File

@ -8,30 +8,31 @@
@cancel="cancel" @cancel="cancel"
> >
<a-form <a-form
ref="formRef" ref="formRef"
:model="formState" :model="formState"
:rules="formRules" :rules="formRules"
:label-col="labelCol" layout="vertical"
:wrapper-col="wrapperCol"
> >
<a-form-item ref="name" label="名称" name="name"> <a-col :span="24">
<a-input v-model:value="formState.name" /> <a-form-item ref="name" label="名称" name="name">
</a-form-item> <a-input v-model:value="formState.name" />
<a-form-item ref="beanName" label="目标" name="beanName"> </a-form-item>
<a-input v-model:value="formState.beanName" /> <a-form-item ref="beanName" label="目标" name="beanName">
</a-form-item> <a-input v-model:value="formState.beanName" />
<a-form-item ref="param" label="参数" name="param"> </a-form-item>
<a-input v-model:value="formState.param" /> <a-form-item ref="param" label="参数" name="param">
</a-form-item> <a-input v-model:value="formState.param" />
<a-form-item ref="cronExpression" label="cron" name="cronExpression"> </a-form-item>
<a-input v-model:value="formState.cronExpression" /> <a-form-item ref="cronExpression" label="cron" name="cronExpression">
</a-form-item> <a-input v-model:value="formState.cronExpression" />
<a-form-item label="状态" name="enable"> </a-form-item>
<a-switch v-model:checked="formState.enable" /> <a-form-item label="状态" name="enable">
</a-form-item> <a-switch v-model:checked="formState.enable" />
<a-form-item label="备注" name="remark"> </a-form-item>
<a-textarea v-model:value="formState.remark" /> <a-form-item label="备注" name="remark">
</a-form-item> <a-textarea v-model:value="formState.remark" />
</a-form-item>
</a-col>
</a-form> </a-form>
</a-modal> </a-modal>
</template> </template>
@ -44,26 +45,25 @@ export default defineComponent({
}, },
record: { record: {
type: Object, type: Object,
} },
}, },
emit: ["close"], emit: ["close"],
setup(props, context) { setup(props, context) {
const formRef = ref(); const formRef = ref();
const formState = reactive({}); const formState = reactive({});
watch(props, (props) => { watch(props, (props) => {
formState.id = props.record.id formState.id = props.record.id;
formState.name = props.record.name formState.name = props.record.name;
formState.beanName = props.record.beanName formState.beanName = props.record.beanName;
formState.param = props.record.param formState.param = props.record.param;
formState.cronExpression = props.record.cronExpression formState.cronExpression = props.record.cronExpression;
formState.remark = props.record.remark formState.remark = props.record.remark;
formState.enable = props.record.enable formState.enable = props.record.enable;
}) });
const formRules = { }; const formRules = {};
const submit = (e) => { const submit = (e) => {
formRef.value.resetFields(); formRef.value.resetFields();
@ -81,10 +81,10 @@ export default defineComponent({
formRef, formRef,
formState, formState,
formRules, formRules,
labelCol: { span: 6 }, labelCol: { span: 6 },
wrapperCol: { span: 18 }, wrapperCol: { span: 18 },
}; };
}, },
}); });
</script> </script>

View File

@ -8,86 +8,109 @@
@cancel="cancel" @cancel="cancel"
> >
<a-form <a-form
ref="formRef" ref="formRef"
:model="formState" :model="formState"
:rules="formRules" :rules="formRules"
:label-col="labelCol" layout="vertical"
:wrapper-col="wrapperCol"
> >
<a-form-item ref="name" label="名称" name="name"> <a-row :gutter="[16, 0]">
<a-input v-model:value="formState.name" /> <a-col :span="24">
</a-form-item> <a-form-item ref="name" label="名称" name="name">
<a-form-item ref="beanName" label="目标" name="beanName"> <a-input v-model:value="formState.name" />
<a-input v-model:value="formState.beanName" /> </a-form-item>
</a-form-item> </a-col>
<a-form-item ref="param" label="参数" name="param"> <a-col :span="24">
<a-input v-model:value="formState.param" /> <a-form-item ref="beanName" label="目标" name="beanName">
</a-form-item> <a-input v-model:value="formState.beanName" />
<a-form-item ref="cronExpression" label="cron" name="cronExpression"> </a-form-item>
<cron @onChange="(val)=>{formState.cronExpression = val}"/> </a-col>
</a-form-item> <a-col :span="24">
<a-form-item label="状态" name="enable"> <a-form-item ref="param" label="参数" name="param">
<a-switch v-model:checked="formState.enable" /> <a-input v-model:value="formState.param" />
</a-form-item> </a-form-item>
<a-form-item label="备注" name="remark"> </a-col>
<a-textarea v-model:value="formState.remark" /> <a-col :span="24">
</a-form-item> <a-form-item ref="cronExpression" label="cron" name="cronExpression">
<cron
@onChange="
(val) => {
formState.cronExpression = val;
}
"
/>
</a-form-item>
</a-col>
<a-col :span="24">
<a-form-item label="状态" name="enable">
<a-switch v-model:checked="formState.enable" />
</a-form-item>
</a-col>
<a-col :span="24">
<a-form-item label="备注" name="remark">
<a-textarea v-model:value="formState.remark" />
</a-form-item>
</a-col>
</a-row>
</a-form> </a-form>
</a-modal> </a-modal>
</template> </template>
<script> <script>
import {message} from '@hwork/ant-design-vue'; import { message } from "@hwork/ant-design-vue";
import {save} from "@/api/module/job"; import { save } from "@/api/module/job";
import {defineComponent, reactive, ref, toRaw} from "vue"; import { defineComponent, reactive, ref, toRaw } from "vue";
import cron from "../cron/index.vue"; import cron from "../cron/index.vue";
export default defineComponent({ export default defineComponent({
components: { components: {
cron cron,
},
props: {
visible: {
type: Boolean,
}, },
props: { },
visible: { emit: ["close"],
type: Boolean, setup(props, context) {
}, const formRef = ref();
},
emit: ["close"],
setup(props, context) {
const formRef = ref(); const formState = reactive({
enable: true,
cronExpression: "* * * * * ? *",
});
const formState = reactive({ const formRules = {
enable: true, name: [{ required: true, message: "请输入任务名称", trigger: "blur" }],
cronExpression: "* * * * * ? *", beanName: [
}); { required: true, message: "请输入任务目标", trigger: "blur" },
],
cronExpression: [{ required: true, message: "请输入任务周期" }],
};
const formRules = { const saveKey = "save";
name: [{required: true, message: '请输入任务名称', trigger: 'blur'}],
beanName: [{required: true, message: '请输入任务目标', trigger: 'blur'}],
cronExpression: [{required: true, message: '请输入任务周期'}]
};
const saveKey = "save"; const submit = (e) => {
formRef.value
const submit = (e) => { .validate()
.then(() => {
formRef.value message.loading({ content: "提交中...", key: saveKey });
.validate() save(toRaw(formState)).then((response) => {
.then(() => { if (response.success) {
message.loading({content: '提交中...', key: saveKey}); message
save(toRaw(formState)).then((response) => { .success({ content: "保存成功", key: saveKey, duration: 1 })
if (response.success) { .then(() => {
message.success({content: '保存成功', key: saveKey, duration: 1}).then(() => {
cancel(); cancel();
}); });
} else { } else {
message.success({content: '保存失败', key: saveKey, duration: 1}).then(() => { message
.success({ content: "保存失败", key: saveKey, duration: 1 })
.then(() => {
cancel(); cancel();
}); });
} }
}); });
}) })
.catch(error => { .catch((error) => {
console.log('error', error); console.log("error", error);
}); });
}; };