<template>
|
<app-collapse-form title="基础信息">
|
<app-form-fields v-bind="formFieldsProps">
|
<template #reload_cron="scope">
|
<el-form-item label="Cron配置">
|
<el-input v-model="form.reload_cron"
|
input-style="cursor: pointer"
|
placeholder="请输入Cron公式"
|
readonly
|
@click="openCronDialog"/>
|
</el-form-item>
|
</template>
|
</app-form-fields>
|
</app-collapse-form>
|
<cron-dialog v-bind="cronDialogProps"/>
|
</template>
|
|
<script setup>
|
|
import CronDialog from './CronDialog';
|
|
import {meta} from "@/hooks";
|
|
const {useMetaData} = meta;
|
|
const cronDialogRef = ref();
|
const formFieldsRef = ref();
|
|
const [, , fields] = useMetaData(
|
'fee_model_band',
|
async ({fieldsTools}) => {
|
fieldsTools.assign('reload_cron', {
|
type: 'slot',
|
prop: "reload_cron",
|
}
|
);
|
formFieldsProps.fields = fields;
|
formFieldsRef.value.$forceUpdate(formFieldsProps);
|
}
|
);
|
|
const openCronDialog = () => {
|
cronDialogRef.value.onOpen(form.reload_cron);
|
}
|
|
const form = reactive({reload_cron: ''});
|
|
const cronDialogProps = {
|
ref: cronDialogRef,
|
subValue(cron) {
|
form.reload_cron = cron;
|
}
|
}
|
|
const formFieldsProps = {
|
ref: formFieldsRef,
|
fields: []
|
}
|
|
|
const onSetData = (row) => {
|
console.log(row)
|
form.reload_cron = row.reload_cron || '';
|
formFieldsRef.value.setDefaultModel(row);
|
}
|
|
const onGetData = async () => {
|
const data = await formFieldsRef.value.onValidate();
|
const {id = ''} = formFieldsRef.value.getDefaultModel();
|
const result = {
|
...(id ? {id} : {}),
|
...data,
|
reload_cron: form.reload_cron || '',
|
}
|
return result;
|
}
|
|
|
defineExpose({
|
/**
|
* 初始化
|
*/
|
onSetData,
|
onGetData
|
});
|
|
|
</script>
|