You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
70 lines
2.3 KiB
70 lines
2.3 KiB
<template> |
|
<div style="min-height: 400px"> |
|
<BasicForm @register="registerForm"></BasicForm> |
|
<div style="width: 100%;text-align: center" v-if="!formDisabled"> |
|
<a-button @click="submitForm" pre-icon="ant-design:check" type="primary">提 交</a-button> |
|
</div> |
|
</div> |
|
</template> |
|
|
|
<script lang="ts"> |
|
import {BasicForm, useForm} from '/@/components/Form/index'; |
|
import {computed, defineComponent} from 'vue'; |
|
import {defHttp} from '/@/utils/http/axios'; |
|
import { propTypes } from '/@/utils/propTypes'; |
|
import {getBpmFormSchema} from '../CmsColumn.data'; |
|
import {saveOrUpdateDict} from '../CmsColumn.api'; |
|
|
|
export default defineComponent({ |
|
name: "CmsColumnForm", |
|
components:{ |
|
BasicForm |
|
}, |
|
props:{ |
|
formData: propTypes.object.def({}), |
|
formBpm: propTypes.bool.def(true), |
|
}, |
|
setup(props){ |
|
const [registerForm, { setFieldsValue, setProps, getFieldsValue }] = useForm({ |
|
labelWidth: 150, |
|
schemas: getBpmFormSchema(props.formData), |
|
showActionButtonGroup: false, |
|
baseColProps: {span: 24} |
|
}); |
|
|
|
const formDisabled = computed(()=>{ |
|
if(props.formData.disabled === false){ |
|
return false; |
|
} |
|
return true; |
|
}); |
|
|
|
let formData = {}; |
|
const queryByIdUrl = '/cms/cmsColumn/queryById'; |
|
async function initFormData(){ |
|
let params = {id: props.formData.dataId}; |
|
const data = await defHttp.get({url: queryByIdUrl, params}); |
|
formData = {...data} |
|
//设置表单的值 |
|
await setFieldsValue(formData); |
|
//默认是禁用 |
|
await setProps({disabled: formDisabled.value}) |
|
} |
|
|
|
async function submitForm() { |
|
let data = getFieldsValue(); |
|
let params = Object.assign({}, formData, data); |
|
console.log('表单数据', params) |
|
await saveOrUpdateDict(params, true) |
|
} |
|
|
|
initFormData(); |
|
|
|
return { |
|
registerForm, |
|
formDisabled, |
|
submitForm, |
|
} |
|
} |
|
}); |
|
</script>
|
|
|