mirror of
https://github.com/jeecgboot/JeecgBoot.git
synced 2026-02-05 01:55:29 +08:00
前端和后端源码,合并到一个git仓库中,方便用户下载,避免前后端不匹配的问题
This commit is contained in:
@ -0,0 +1,67 @@
|
||||
<template>
|
||||
<BasicForm @register="registerForm"></BasicForm>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { BasicForm, useForm } from '/@/components/Form/index';
|
||||
import { computed, defineComponent, toRaw } from 'vue';
|
||||
import { defHttp } from '/@/utils/http/axios';
|
||||
import { propTypes } from '/@/utils/propTypes';
|
||||
import { getOrderCustomerFormSchema } from '../data';
|
||||
|
||||
export default defineComponent({
|
||||
name: 'JeecgOrderCustomerForm',
|
||||
components: {
|
||||
BasicForm,
|
||||
},
|
||||
props: {
|
||||
formData: propTypes.object.def({}),
|
||||
},
|
||||
setup(props) {
|
||||
const [registerForm, { setFieldsValue, setProps, getFieldsValue, updateSchema }] = useForm({
|
||||
labelWidth: 150,
|
||||
schemas: getOrderCustomerFormSchema(props.formData),
|
||||
showActionButtonGroup: false,
|
||||
baseColProps: { span: 8 },
|
||||
});
|
||||
|
||||
const formDisabled = computed(() => {
|
||||
if (props.formData.disabled === false) {
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
});
|
||||
|
||||
let orderCustomerFormData = {};
|
||||
const queryByIdUrl = '/test/jeecgOrderMain/queryOrderCustomerListByMainId';
|
||||
async function initFormData(mainId) {
|
||||
let params = { id: mainId };
|
||||
const data = await defHttp.get({ url: queryByIdUrl, params });
|
||||
console.log('data', data);
|
||||
if (data && data.length > 0) {
|
||||
let temp = data[0];
|
||||
orderCustomerFormData = { ...temp };
|
||||
//设置表单的值
|
||||
await setFieldsValue(orderCustomerFormData);
|
||||
await setProps({ disabled: formDisabled.value });
|
||||
}
|
||||
}
|
||||
async function getFormData() {
|
||||
let subFormData = { ...orderCustomerFormData };
|
||||
if (Object.keys(subFormData).length > 0) {
|
||||
return subFormData;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
return {
|
||||
registerForm,
|
||||
formDisabled,
|
||||
initFormData,
|
||||
getFormData,
|
||||
};
|
||||
},
|
||||
});
|
||||
</script>
|
||||
|
||||
<style scoped></style>
|
||||
@ -0,0 +1,155 @@
|
||||
<template>
|
||||
<div class="jeecg-flow-demo">
|
||||
<BasicForm @register="registerForm"></BasicForm>
|
||||
<a-tabs v-model:activeKey="activeKey" @change="handleChangeTabs">
|
||||
<a-tab-pane tab="客户信息" key="jeecgOrderCustomerForm" :forceRender="true">
|
||||
<JeecgOrderCustomerForm ref="jeecgOrderCustomerFormRef" :formData="formData"></JeecgOrderCustomerForm>
|
||||
</a-tab-pane>
|
||||
|
||||
<a-tab-pane tab="机票信息" key="jeecgOrderTicket" :forceRender="true">
|
||||
<JVxeTable v-if="ok" ref="jeecgOrderTicketRef" stripe rowSelection keepSource :maxHeight="300" :loading="table2.loading" :columns="table2.columns" :dataSource="table2.dataSource"> </JVxeTable>
|
||||
</a-tab-pane>
|
||||
</a-tabs>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { BasicForm, useForm } from '/@/components/Form/index';
|
||||
import { computed, defineComponent, ref, reactive } from 'vue';
|
||||
import { defHttp } from '/@/utils/http/axios';
|
||||
import { propTypes } from '/@/utils/propTypes';
|
||||
import { getBpmFormSchema, jeecgOrderTicketColumns } from '../data';
|
||||
import JeecgOrderCustomerForm from './JeecgOrderCustomerForm.vue';
|
||||
|
||||
export default defineComponent({
|
||||
name: 'JeecgOrderMainForm',
|
||||
components: {
|
||||
BasicForm,
|
||||
JeecgOrderCustomerForm,
|
||||
},
|
||||
props: {
|
||||
formData: propTypes.object.def({}),
|
||||
formBpm: propTypes.bool.def(true),
|
||||
},
|
||||
setup(props) {
|
||||
const [registerForm, { setFieldsValue, setProps, getFieldsValue, updateSchema }] = useForm({
|
||||
labelWidth: 150,
|
||||
schemas: getBpmFormSchema(props.formData),
|
||||
showActionButtonGroup: false,
|
||||
baseColProps: { span: 8 },
|
||||
});
|
||||
|
||||
const formDisabled = computed(() => {
|
||||
if (props.formData.disabled === false) {
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
});
|
||||
|
||||
const jeecgOrderCustomerFormRef = ref();
|
||||
const jeecgOrderTicketRef = ref();
|
||||
const ok = ref(false);
|
||||
|
||||
let formData = {};
|
||||
const queryByIdUrl = '/test/jeecgOrderMain/queryById';
|
||||
async function initFormData() {
|
||||
console.log('props.formData', props.formData);
|
||||
let params = { id: props.formData.dataId };
|
||||
const data = await defHttp.get({ url: queryByIdUrl, params });
|
||||
console.log('data', data);
|
||||
formData = { ...data };
|
||||
//设置表单的值
|
||||
await setFieldsValue(formData);
|
||||
await setProps({ disabled: formDisabled.value });
|
||||
|
||||
await jeecgOrderCustomerFormRef.value.initFormData(props.formData.dataId);
|
||||
await loadOrderTicketData(props.formData.dataId);
|
||||
ok.value = true;
|
||||
}
|
||||
|
||||
async function submitForm() {
|
||||
let data = getFieldsValue();
|
||||
let params = Object.assign({}, formData, data);
|
||||
console.log('表单数据', params);
|
||||
await saveOrUpdate(params, true);
|
||||
}
|
||||
|
||||
initFormData();
|
||||
|
||||
const activeKey = ref('jeecgOrderCustomerForm');
|
||||
function handleChangeTabs() {}
|
||||
// 机票信息
|
||||
const table2 = reactive({
|
||||
loading: false,
|
||||
dataSource: [],
|
||||
columns: filterSubTableColnmns(jeecgOrderTicketColumns, 'order:'),
|
||||
});
|
||||
|
||||
async function loadOrderTicketData(mainId) {
|
||||
const queryByIdUrl = '/test/jeecgOrderMain/queryOrderTicketListByMainId';
|
||||
let params = { id: mainId };
|
||||
table2.dataSource = [];
|
||||
const data = await defHttp.get({ url: queryByIdUrl, params });
|
||||
if (data && data.length > 0) {
|
||||
table2.dataSource = [...data];
|
||||
}
|
||||
}
|
||||
|
||||
//新增权限处理方法
|
||||
function filterSubTableColnmns(columns, pre) {
|
||||
let authList = props.formData.permissionList;
|
||||
//注意:如果子表配置显示反向 这里不处理其逻辑 即隐藏无法在流程表单中实现,请使用全局表单权限实现
|
||||
let temp = columns.filter((item) => {
|
||||
let oneAuth = authList.find((auth) => {
|
||||
return auth.action === pre + item.key;
|
||||
});
|
||||
if (!oneAuth) {
|
||||
return true;
|
||||
}
|
||||
|
||||
//代码严谨处理,防止一个授权标识,配置多次
|
||||
if (oneAuth instanceof Array) {
|
||||
oneAuth = oneAuth[0];
|
||||
}
|
||||
|
||||
//禁用逻辑
|
||||
if (oneAuth.type == '2' && !oneAuth.isAuth) {
|
||||
item['disabled'] = true;
|
||||
return true;
|
||||
}
|
||||
//隐藏逻辑逻辑
|
||||
if (oneAuth.type == '1' && !oneAuth.isAuth) {
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
});
|
||||
return temp;
|
||||
}
|
||||
|
||||
return {
|
||||
registerForm,
|
||||
formDisabled,
|
||||
submitForm,
|
||||
jeecgOrderCustomerFormRef,
|
||||
activeKey,
|
||||
handleChangeTabs,
|
||||
table2,
|
||||
jeecgOrderTicketRef,
|
||||
ok,
|
||||
};
|
||||
},
|
||||
});
|
||||
</script>
|
||||
|
||||
<style lang="less">
|
||||
/*.jeecg-flow-demo{
|
||||
.vxe-header--row{
|
||||
.vxe-header--column .vxe-cell{
|
||||
width: 180px !important;
|
||||
}
|
||||
.vxe-header--column:first-child .vxe-cell{
|
||||
width: 40px !important;
|
||||
}
|
||||
}
|
||||
}*/
|
||||
</style>
|
||||
Reference in New Issue
Block a user