mirror of
https://github.com/jeecgboot/JeecgBoot.git
synced 2025-12-08 17:12:28 +08:00
代码生成器模板小优化:生成的列表默认吸底、代码生成年、月、日存储格式修改
This commit is contained in:
@ -117,6 +117,15 @@
|
||||
import {getPopDictByCode} from "@/utils/dict";
|
||||
import {filterMultiDictText} from "@/utils/dict/JDictSelectUtil";
|
||||
</#if>
|
||||
import { getDateByPicker } from '/@/utils';
|
||||
//日期个性化选择
|
||||
const fieldPickers = reactive({
|
||||
<#list columns as po>
|
||||
<#if po.extendParams?exists && po.extendParams.picker?exists>
|
||||
${po.fieldName}: '${po.extendParams.picker}',
|
||||
</#if>
|
||||
</#list>
|
||||
});
|
||||
<#if bpm_flag==true>
|
||||
import { startProcess } from '/@/api/common/api';
|
||||
const [registerBpmModal, { openModal: bpmPicModal }] = useModal();
|
||||
@ -133,7 +142,7 @@
|
||||
title: '${tableVo.ftlDescription}',
|
||||
api: list,
|
||||
columns,
|
||||
canResize:false,
|
||||
canResize:true,
|
||||
formConfig: {
|
||||
//labelWidth: 120,
|
||||
schemas: searchFormSchema,
|
||||
@ -171,6 +180,13 @@
|
||||
fixed:'right'
|
||||
},
|
||||
beforeFetch: (params) => {
|
||||
if (params && fieldPickers) {
|
||||
for (let key in fieldPickers) {
|
||||
if (params[key]) {
|
||||
params[key] = getDateByPicker(params[key], fieldPickers[key]);
|
||||
}
|
||||
}
|
||||
}
|
||||
return Object.assign(params, queryParam);
|
||||
},
|
||||
<#if list_has_popup_dict>
|
||||
|
||||
@ -19,12 +19,13 @@
|
||||
</template>
|
||||
|
||||
<script lang="ts" setup>
|
||||
import {ref, computed, unref} from 'vue';
|
||||
import {ref, computed, unref, reactive} from 'vue';
|
||||
import {BasicModal, useModalInner} from '/@/components/Modal';
|
||||
import {BasicForm, useForm} from '/@/components/Form/index';
|
||||
import {formSchema} from '../${entityName}.data';
|
||||
import {saveOrUpdate} from '../${entityName}.api';
|
||||
import { useMessage } from '/@/hooks/web/useMessage';
|
||||
import { getDateByPicker } from '/@/utils';
|
||||
const { createMessage } = useMessage();
|
||||
// Emits声明
|
||||
const emit = defineEmits(['register','success']);
|
||||
@ -55,12 +56,22 @@
|
||||
// 隐藏底部时禁用整个表单
|
||||
setProps({ disabled: !data?.showFooter })
|
||||
});
|
||||
//日期个性化选择
|
||||
const fieldPickers = reactive({
|
||||
<#list columns as po>
|
||||
<#if po.extendParams?exists && po.extendParams.picker?exists>
|
||||
${po.fieldName}: '${po.extendParams.picker}',
|
||||
</#if>
|
||||
</#list>
|
||||
});
|
||||
//设置标题
|
||||
const title = computed(() => (!unref(isUpdate) ? '新增' : !unref(isDetail) ? '详情' : '编辑'));
|
||||
//表单提交事件
|
||||
async function handleSubmit(v) {
|
||||
try {
|
||||
let values = await validate();
|
||||
// 预处理日期数据
|
||||
changeDateValue(values);
|
||||
setModalProps({confirmLoading: true});
|
||||
//提交表单
|
||||
await saveOrUpdate(values, isUpdate.value);
|
||||
@ -81,6 +92,20 @@
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 处理日期值
|
||||
* @param formData 表单数据
|
||||
*/
|
||||
const changeDateValue = (formData) => {
|
||||
if (formData && fieldPickers) {
|
||||
for (let key in fieldPickers) {
|
||||
if (formData[key]) {
|
||||
formData[key] = getDateByPicker(formData[key], fieldPickers[key]);
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
<#if buttonList?size gt 0>
|
||||
<#list buttonList?sort_by('orderNum') as btn>
|
||||
<#if btn.buttonStyle=='form'>
|
||||
|
||||
@ -189,6 +189,7 @@
|
||||
<#if need_pca>
|
||||
import { getAreaTextByCode } from '/@/components/Form/src/utils/Area';
|
||||
</#if>
|
||||
import { getDateByPicker } from '/@/utils';
|
||||
<#if need_popup_dict>
|
||||
import {getPopDictByCode} from "@/utils/dict";
|
||||
import {filterMultiDictText} from "@/utils/dict/JDictSelectUtil";
|
||||
@ -201,6 +202,14 @@
|
||||
import { cloneDeep } from "lodash-es";
|
||||
</#if>
|
||||
|
||||
const fieldPickers = reactive({
|
||||
<#list columns as po>
|
||||
<#if po.extendParams?exists && po.extendParams.picker?exists>
|
||||
${po.fieldName}: '${po.extendParams.picker}',
|
||||
</#if>
|
||||
</#list>
|
||||
});
|
||||
|
||||
const formRef = ref();
|
||||
const queryParam = reactive<any>({});
|
||||
const toggleSearchStatus = ref<boolean>(false);
|
||||
@ -213,7 +222,7 @@
|
||||
title: '${tableVo.ftlDescription}',
|
||||
api: list,
|
||||
columns,
|
||||
canResize:false,
|
||||
canResize:true,
|
||||
useSearchForm: false,
|
||||
actionColumn: {
|
||||
width: 120,
|
||||
@ -224,6 +233,11 @@
|
||||
let rangerQuery = await setRangeQuery();
|
||||
return Object.assign(params, rangerQuery);
|
||||
<#else>
|
||||
for (let key in fieldPickers) {
|
||||
if (queryParam[key] && fieldPickers[key]) {
|
||||
queryParam[key] = getDateByPicker(queryParam[key], fieldPickers[key]);
|
||||
}
|
||||
}
|
||||
return Object.assign(params, queryParam);
|
||||
</#if>
|
||||
},
|
||||
|
||||
@ -61,7 +61,7 @@
|
||||
import { defHttp } from '/@/utils/http/axios';
|
||||
import { useMessage } from '/@/hooks/web/useMessage';
|
||||
<#include "/common/form/native/vue3NativeImport.ftl">
|
||||
import { getValueType } from '/@/utils';
|
||||
import { getDateByPicker, getValueType } from '/@/utils';
|
||||
import { saveOrUpdate } from '../${entityName}.api';
|
||||
import { Form } from 'ant-design-vue';
|
||||
import JFormContainer from '/@/components/Form/src/container/JFormContainer.vue';
|
||||
@ -93,6 +93,14 @@
|
||||
<#include "/common/validatorRulesTemplate/native/vue3MainNative.ftl">
|
||||
});
|
||||
const { resetFields, validate, validateInfos } = useForm(formData, validatorRules, { immediate: false });
|
||||
//日期个性化选择
|
||||
const fieldPickers = reactive({
|
||||
<#list columns as po>
|
||||
<#if po.extendParams?exists && po.extendParams.picker?exists>
|
||||
${po.fieldName}: '${po.extendParams.picker}',
|
||||
</#if>
|
||||
</#list>
|
||||
});
|
||||
|
||||
// 表单禁用
|
||||
const disabled = computed(()=>{
|
||||
@ -181,6 +189,8 @@
|
||||
}
|
||||
//循环数据
|
||||
for (let data in model) {
|
||||
// 更新个性化日期选择器的值
|
||||
model[data] = getDateByPicker(model[data], fieldPickers[data]);
|
||||
//如果该数据是数组并且是字符串类型
|
||||
if (model[data] instanceof Array) {
|
||||
let valueType = getValueType(formRef.value.getProps, data);
|
||||
|
||||
@ -116,6 +116,15 @@
|
||||
import {getPopDictByCode} from "@/utils/dict";
|
||||
import {filterMultiDictText} from "@/utils/dict/JDictSelectUtil";
|
||||
</#if>
|
||||
import { getDateByPicker } from '/@/utils';
|
||||
//日期个性化选择
|
||||
const fieldPickers = reactive({
|
||||
<#list columns as po>
|
||||
<#if po.extendParams?exists && po.extendParams.picker?exists>
|
||||
${po.fieldName}: '${po.extendParams.picker}',
|
||||
</#if>
|
||||
</#list>
|
||||
});
|
||||
<#if bpm_flag==true>
|
||||
import { startProcess } from '/@/api/common/api';
|
||||
const [registerBpmModal, { openModal: bpmPicModal }] = useModal();
|
||||
@ -131,7 +140,7 @@
|
||||
api: list,
|
||||
title: '${tableVo.ftlDescription}',
|
||||
columns,
|
||||
canResize:false,
|
||||
canResize:true,
|
||||
<#-- update-begin---author:chenrui ---date:20231228 for:[issue/#5658] 树表复选框与展开按钮重叠问题---------- -->
|
||||
isTreeTable: true,
|
||||
<#-- update-end---author:chenrui ---date:20231228 for:[issue/#5658] 树表复选框与展开按钮重叠问题---------- -->
|
||||
@ -172,6 +181,13 @@
|
||||
fixed:'right'
|
||||
},
|
||||
beforeFetch: (params) => {
|
||||
if (params && fieldPickers) {
|
||||
for (let key in fieldPickers) {
|
||||
if (params[key]) {
|
||||
params[key] = getDateByPicker(params[key], fieldPickers[key]);
|
||||
}
|
||||
}
|
||||
}
|
||||
params.hasQuery = "true";
|
||||
return Object.assign(params, queryParam);
|
||||
},
|
||||
|
||||
@ -28,12 +28,21 @@
|
||||
</BasicModal>
|
||||
</template>
|
||||
<script lang="ts" setup>
|
||||
import {ref, computed, unref} from 'vue';
|
||||
import {ref, computed, unref, reactive} from 'vue';
|
||||
import {BasicModal, useModalInner} from '/@/components/Modal';
|
||||
import {BasicForm, useForm} from '/@/components/Form';
|
||||
import {formSchema} from '../${entityName}.data';
|
||||
import {loadTreeData, saveOrUpdateDict} from '../${entityName}.api';
|
||||
import { useMessage } from '/@/hooks/web/useMessage';
|
||||
import { getDateByPicker } from '/@/utils';
|
||||
//日期个性化选择
|
||||
const fieldPickers = reactive({
|
||||
<#list columns as po>
|
||||
<#if po.extendParams?exists && po.extendParams.picker?exists>
|
||||
${po.fieldName}: '${po.extendParams.picker}',
|
||||
</#if>
|
||||
</#list>
|
||||
});
|
||||
const { createMessage } = useMessage();
|
||||
// 获取emit
|
||||
const emit = defineEmits(['register', 'success']);
|
||||
@ -103,6 +112,8 @@
|
||||
async function handleSubmit() {
|
||||
try {
|
||||
let values = await validate();
|
||||
// 预处理日期数据
|
||||
changeDateValue(values);
|
||||
setModalProps({confirmLoading: true});
|
||||
//提交表单
|
||||
await saveOrUpdateDict(values, isUpdate.value);
|
||||
@ -130,6 +141,21 @@
|
||||
setModalProps({confirmLoading: false});
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 处理日期值
|
||||
* @param formData 表单数据
|
||||
*/
|
||||
const changeDateValue = (formData) => {
|
||||
if (formData && fieldPickers) {
|
||||
for (let key in fieldPickers) {
|
||||
if (formData[key]) {
|
||||
formData[key] = getDateByPicker(formData[key], fieldPickers[key]);
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
<#if buttonList?size gt 0>
|
||||
<#list buttonList?sort_by('orderNum') as btn>
|
||||
<#if btn.buttonStyle=='form'>
|
||||
|
||||
@ -197,6 +197,7 @@
|
||||
<#if need_pca>
|
||||
import { getAreaTextByCode } from '/@/components/Form/src/utils/Area';
|
||||
</#if>
|
||||
import { getDateByPicker } from '/@/utils';
|
||||
<#if need_popup_dict>
|
||||
import {getPopDictByCode} from "@/utils/dict";
|
||||
import {filterMultiDictText} from "@/utils/dict/JDictSelectUtil";
|
||||
@ -208,6 +209,13 @@
|
||||
import { startProcess } from '/@/api/common/api';
|
||||
const [registerBpmModal, { openModal: bpmPicModal }] = useModal();
|
||||
</#if>
|
||||
const fieldPickers = reactive({
|
||||
<#list columns as po>
|
||||
<#if po.extendParams?exists && po.extendParams.picker?exists>
|
||||
${po.fieldName}: '${po.extendParams.picker}',
|
||||
</#if>
|
||||
</#list>
|
||||
});
|
||||
const { createMessage } = useMessage();
|
||||
const expandedRowKeys = ref([]);
|
||||
const queryParam = ref<any>({});
|
||||
@ -219,7 +227,7 @@
|
||||
title: '${tableVo.ftlDescription}',
|
||||
api: list,
|
||||
columns,
|
||||
canResize:false,
|
||||
canResize:true,
|
||||
useSearchForm: false,
|
||||
isTreeTable: true,
|
||||
actionColumn: {
|
||||
@ -232,6 +240,11 @@
|
||||
let rangerQuery = await setRangeQuery();
|
||||
return Object.assign(params, rangerQuery);
|
||||
<#else>
|
||||
for (let key in fieldPickers) {
|
||||
if (queryParam[key] && fieldPickers[key]) {
|
||||
queryParam[key] = getDateByPicker(queryParam[key], fieldPickers[key]);
|
||||
}
|
||||
}
|
||||
return Object.assign(params, queryParam.value);
|
||||
</#if>
|
||||
},
|
||||
|
||||
@ -79,7 +79,7 @@
|
||||
import { defHttp } from '/@/utils/http/axios';
|
||||
import { useMessage } from '/@/hooks/web/useMessage';
|
||||
<#include "/common/form/native/vue3NativeImport.ftl">
|
||||
import { getValueType } from '/@/utils';
|
||||
import { getDateByPicker, getValueType } from '/@/utils';
|
||||
import {loadTreeData, saveOrUpdateDict} from '../${entityName}.api';
|
||||
import { Form } from 'ant-design-vue';
|
||||
import JFormContainer from '/@/components/Form/src/container/JFormContainer.vue';
|
||||
@ -111,6 +111,14 @@
|
||||
<#include "/common/validatorRulesTemplate/native/vue3MainNative.ftl">
|
||||
});
|
||||
const { resetFields, validate, validateInfos } = useForm(formData, validatorRules, { immediate: false });
|
||||
//日期个性化选择
|
||||
const fieldPickers = reactive({
|
||||
<#list columns as po>
|
||||
<#if po.extendParams?exists && po.extendParams.picker?exists>
|
||||
${po.fieldName}: '${po.extendParams.picker}',
|
||||
</#if>
|
||||
</#list>
|
||||
});
|
||||
const props = defineProps({
|
||||
formDisabled: { type: Boolean, default: false },
|
||||
formData: { type: Object, default: () => ({}) },
|
||||
@ -224,6 +232,8 @@
|
||||
}
|
||||
//循环数据
|
||||
for (let data in formData) {
|
||||
// 更新个性化日期选择器的值
|
||||
model[data] = getDateByPicker(model[data], fieldPickers[data]);
|
||||
//如果该数据是数组并且是字符串类型
|
||||
if (formData[data] instanceof Array) {
|
||||
let valueType = getValueType(formRef.value.getProps, data);
|
||||
|
||||
@ -130,6 +130,15 @@
|
||||
import { getAuthCache, setAuthCache } from '/@/utils/auth';
|
||||
import { DB_DICT_DATA_KEY } from '/@/enums/cacheEnum';
|
||||
</#if>
|
||||
import { getDateByPicker } from '/@/utils';
|
||||
//日期个性化选择
|
||||
const fieldPickers = reactive({
|
||||
<#list columns as po>
|
||||
<#if po.extendParams?exists && po.extendParams.picker?exists>
|
||||
${po.fieldName}: '${po.extendParams.picker}',
|
||||
</#if>
|
||||
</#list>
|
||||
});
|
||||
<#if bpm_flag==true>
|
||||
import { startProcess } from '/@/api/common/api';
|
||||
const [registerBpmModal, { openModal: bpmPicModal }] = useModal();
|
||||
@ -144,7 +153,7 @@
|
||||
title: '${tableVo.ftlDescription}',
|
||||
api: list,
|
||||
columns,
|
||||
canResize: false,
|
||||
canResize: true,
|
||||
clickToRowSelect: true,
|
||||
rowSelection: {type: 'radio'},
|
||||
formConfig: {
|
||||
@ -181,6 +190,13 @@
|
||||
fixed:'right'
|
||||
},
|
||||
beforeFetch: (params) => {
|
||||
if (params && fieldPickers) {
|
||||
for (let key in fieldPickers) {
|
||||
if (params[key]) {
|
||||
params[key] = getDateByPicker(params[key], fieldPickers[key]);
|
||||
}
|
||||
}
|
||||
}
|
||||
return Object.assign(params, queryParam);
|
||||
},
|
||||
<#if list_has_popup_dict>
|
||||
@ -448,7 +464,6 @@
|
||||
height: 100%;
|
||||
.content {
|
||||
background-color: #fff;
|
||||
height: 100%;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -75,7 +75,7 @@
|
||||
tableProps: {
|
||||
api: ${sub.entityName?uncap_first}List,
|
||||
columns: ${sub.entityName?uncap_first}Columns,
|
||||
canResize: false,
|
||||
canResize: true,
|
||||
useSearchForm: false,
|
||||
actionColumn: {
|
||||
width: 180,
|
||||
|
||||
@ -19,12 +19,21 @@
|
||||
</template>
|
||||
|
||||
<script lang="ts" setup>
|
||||
import {ref, computed, unref} from 'vue';
|
||||
import {ref, computed, unref, reactive} from 'vue';
|
||||
import {BasicModal, useModalInner} from '/@/components/Modal';
|
||||
import {BasicForm, useForm} from '/@/components/Form/index';
|
||||
import {formSchema} from '../${entityName}.data';
|
||||
import {saveOrUpdate} from '../${entityName}.api';
|
||||
import { useMessage } from '/@/hooks/web/useMessage';
|
||||
import { getDateByPicker } from '/@/utils';
|
||||
//日期个性化选择
|
||||
const fieldPickers = reactive({
|
||||
<#list columns as po>
|
||||
<#if po.extendParams?exists && po.extendParams.picker?exists>
|
||||
${po.fieldName}: '${po.extendParams.picker}',
|
||||
</#if>
|
||||
</#list>
|
||||
});
|
||||
const { createMessage } = useMessage();
|
||||
// Emits声明
|
||||
const emit = defineEmits(['register','success']);
|
||||
@ -61,6 +70,8 @@
|
||||
async function handleSubmit(v) {
|
||||
try {
|
||||
let values = await validate();
|
||||
// 预处理日期数据
|
||||
changeDateValue(values);
|
||||
setModalProps({confirmLoading: true});
|
||||
//提交表单
|
||||
await saveOrUpdate(values, isUpdate.value);
|
||||
@ -80,6 +91,20 @@
|
||||
setModalProps({confirmLoading: false});
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 处理日期值
|
||||
* @param formData 表单数据
|
||||
*/
|
||||
const changeDateValue = (formData) => {
|
||||
if (formData && fieldPickers) {
|
||||
for (let key in fieldPickers) {
|
||||
if (formData[key]) {
|
||||
formData[key] = getDateByPicker(formData[key], fieldPickers[key]);
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
<#if buttonList?size gt 0>
|
||||
<#list buttonList?sort_by('orderNum') as btn>
|
||||
<#if btn.buttonStyle=='form'>
|
||||
|
||||
@ -8,11 +8,20 @@
|
||||
</template>
|
||||
|
||||
<script lang="ts" setup>
|
||||
import {ref, computed, unref,inject} from 'vue';
|
||||
import {ref, computed, unref,inject, reactive} from 'vue';
|
||||
import {BasicModal, useModalInner} from '/@/components/Modal';
|
||||
import {BasicForm, useForm} from '/@/components/Form/index';
|
||||
import {${sub.entityName?uncap_first}FormSchema} from '../${entityName}.data';
|
||||
import {${sub.entityName?uncap_first}SaveOrUpdate} from '../${entityName}.api';
|
||||
import { getDateByPicker } from '/@/utils';
|
||||
//日期个性化选择
|
||||
const fieldPickers = reactive({
|
||||
<#list sub.colums as po>
|
||||
<#if po.extendParams?exists && po.extendParams.picker?exists>
|
||||
${po.fieldName}: '${po.extendParams.picker}',
|
||||
</#if>
|
||||
</#list>
|
||||
});
|
||||
|
||||
//接收主表id
|
||||
const mainId = inject('mainId');
|
||||
@ -51,6 +60,8 @@
|
||||
async function handleSubmit(v) {
|
||||
try {
|
||||
let values = await validate();
|
||||
// 预处理日期数据
|
||||
changeDateValue(values);
|
||||
setModalProps({confirmLoading: true});
|
||||
if (unref(mainId)) {
|
||||
<#list sub.foreignKeys as key>
|
||||
@ -74,6 +85,20 @@
|
||||
setModalProps({confirmLoading: false});
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 处理日期值
|
||||
* @param formData 表单数据
|
||||
*/
|
||||
const changeDateValue = (formData) => {
|
||||
if (formData && fieldPickers) {
|
||||
for (let key in fieldPickers) {
|
||||
if (formData[key]) {
|
||||
formData[key] = getDateByPicker(formData[key], fieldPickers[key]);
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
<style lang="less" scoped>
|
||||
/** 时间和数字输入框样式 */
|
||||
|
||||
@ -205,6 +205,7 @@
|
||||
import { getAuthCache, setAuthCache } from '/@/utils/auth';
|
||||
import { DB_DICT_DATA_KEY } from '/@/enums/cacheEnum';
|
||||
</#if>
|
||||
import { getDateByPicker } from '/@/utils';
|
||||
<#if bpm_flag==true>
|
||||
import { startProcess } from '/@/api/common/api';
|
||||
|
||||
@ -221,6 +222,14 @@
|
||||
import {getPopDictByCode} from "@/utils/dict";
|
||||
import {filterMultiDictText} from "@/utils/dict/JDictSelectUtil";
|
||||
</#if>
|
||||
|
||||
const fieldPickers = reactive({
|
||||
<#list columns as po>
|
||||
<#if po.extendParams?exists && po.extendParams.picker?exists>
|
||||
${po.fieldName}: '${po.extendParams.picker}',
|
||||
</#if>
|
||||
</#list>
|
||||
});
|
||||
const formRef = ref();
|
||||
const queryParam = reactive<any>({});
|
||||
const checkedKeys = ref<Array<string | number>>([]);
|
||||
@ -233,7 +242,7 @@
|
||||
title: '${tableVo.ftlDescription}',
|
||||
api: list,
|
||||
columns,
|
||||
canResize:false,
|
||||
canResize:true,
|
||||
useSearchForm: false,
|
||||
clickToRowSelect: true,
|
||||
rowSelection: {type: 'radio'},
|
||||
@ -246,6 +255,11 @@
|
||||
let rangerQuery = await setRangeQuery();
|
||||
return Object.assign(params, rangerQuery);
|
||||
<#else>
|
||||
for (let key in fieldPickers) {
|
||||
if (queryParam[key] && fieldPickers[key]) {
|
||||
queryParam[key] = getDateByPicker(queryParam[key], fieldPickers[key]);
|
||||
}
|
||||
}
|
||||
return Object.assign(params, queryParam);
|
||||
</#if>
|
||||
},
|
||||
@ -593,7 +607,6 @@
|
||||
height: 100%;
|
||||
.content {
|
||||
background-color: #fff;
|
||||
height: 100%;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
@ -84,7 +84,7 @@
|
||||
tableProps: {
|
||||
api: ${sub.entityName?uncap_first}List,
|
||||
columns: ${sub.entityName?uncap_first}Columns,
|
||||
canResize: false,
|
||||
canResize: true,
|
||||
useSearchForm: false,
|
||||
actionColumn: {
|
||||
width: 180,
|
||||
|
||||
@ -61,7 +61,7 @@
|
||||
import { defHttp } from '/@/utils/http/axios';
|
||||
import { useMessage } from '/@/hooks/web/useMessage';
|
||||
<#include "/common/form/native/vue3NativeImport.ftl">
|
||||
import { getValueType } from '/@/utils';
|
||||
import { getDateByPicker, getValueType } from '/@/utils';
|
||||
import { saveOrUpdate } from '../${entityName}.api';
|
||||
import { Form } from 'ant-design-vue';
|
||||
import JFormContainer from '/@/components/Form/src/container/JFormContainer.vue';
|
||||
@ -89,6 +89,14 @@
|
||||
<#include "/common/validatorRulesTemplate/native/vue3MainNative.ftl">
|
||||
});
|
||||
const { resetFields, validate, validateInfos } = useForm(formData, validatorRules, { immediate: false });
|
||||
//日期个性化选择
|
||||
const fieldPickers = reactive({
|
||||
<#list columns as po>
|
||||
<#if po.extendParams?exists && po.extendParams.picker?exists>
|
||||
${po.fieldName}: '${po.extendParams.picker}',
|
||||
</#if>
|
||||
</#list>
|
||||
});
|
||||
const formRef = ref();
|
||||
// 表单禁用
|
||||
const disabled = computed(()=>{
|
||||
@ -176,6 +184,8 @@
|
||||
}
|
||||
//循环数据
|
||||
for (let data in model) {
|
||||
// 更新个性化日期选择器的值
|
||||
model[data] = getDateByPicker(model[data], fieldPickers[data]);
|
||||
//如果该数据是数组并且是字符串类型
|
||||
if (model[data] instanceof Array) {
|
||||
let valueType = getValueType(formRef.value.getProps, data);
|
||||
|
||||
@ -58,7 +58,7 @@
|
||||
import { defHttp } from '/@/utils/http/axios';
|
||||
import { useMessage } from '/@/hooks/web/useMessage';
|
||||
<#include "/common/form/native/vue3NativeImport.ftl">
|
||||
import { getValueType } from '/@/utils';
|
||||
import { getDateByPicker, getValueType } from '/@/utils';
|
||||
import { ${sub.entityName?uncap_first}SaveOrUpdate } from '../${entityName}.api';
|
||||
import { Form } from 'ant-design-vue';
|
||||
import JFormContainer from '/@/components/Form/src/container/JFormContainer.vue';
|
||||
@ -88,6 +88,14 @@
|
||||
</#list>
|
||||
};
|
||||
const { resetFields, validate, validateInfos } = useForm(formData, validatorRules, { immediate: false });
|
||||
//日期个性化选择
|
||||
const fieldPickers = reactive({
|
||||
<#list sub.colums as po>
|
||||
<#if po.extendParams?exists && po.extendParams.picker?exists>
|
||||
${po.fieldName}: '${po.extendParams.picker}',
|
||||
</#if>
|
||||
</#list>
|
||||
});
|
||||
const props = defineProps({
|
||||
disabled: { type: Boolean, default: false },
|
||||
});
|
||||
@ -147,6 +155,8 @@
|
||||
|
||||
//循环数据
|
||||
for (let data in model) {
|
||||
// 更新个性化日期选择器的值
|
||||
model[data] = getDateByPicker(model[data], fieldPickers[data]);
|
||||
//如果该数据是数组并且是字符串类型
|
||||
if (model[data] instanceof Array) {
|
||||
let valueType = getValueType(formRef.value.getProps, data);
|
||||
|
||||
@ -136,6 +136,15 @@
|
||||
import {getPopDictByCode} from "@/utils/dict";
|
||||
import {filterMultiDictText} from "@/utils/dict/JDictSelectUtil";
|
||||
</#if>
|
||||
import { getDateByPicker } from '/@/utils';
|
||||
//日期个性化选择
|
||||
const fieldPickers = reactive({
|
||||
<#list columns as po>
|
||||
<#if po.extendParams?exists && po.extendParams.picker?exists>
|
||||
${po.fieldName}: '${po.extendParams.picker}',
|
||||
</#if>
|
||||
</#list>
|
||||
});
|
||||
import { useUserStore } from '/@/store/modules/user';
|
||||
const queryParam = reactive<any>({});
|
||||
// 展开key
|
||||
@ -150,7 +159,7 @@
|
||||
title: '${tableVo.ftlDescription}',
|
||||
api: list,
|
||||
columns,
|
||||
canResize:false,
|
||||
canResize:true,
|
||||
formConfig: {
|
||||
//labelWidth: 120,
|
||||
schemas: searchFormSchema,
|
||||
@ -188,6 +197,13 @@
|
||||
fixed:'right'
|
||||
},
|
||||
beforeFetch: (params) => {
|
||||
if (params && fieldPickers) {
|
||||
for (let key in fieldPickers) {
|
||||
if (params[key]) {
|
||||
params[key] = getDateByPicker(params[key], fieldPickers[key]);
|
||||
}
|
||||
}
|
||||
}
|
||||
return Object.assign(params, queryParam);
|
||||
},
|
||||
<#if list_has_popup_dict>
|
||||
|
||||
@ -62,6 +62,26 @@
|
||||
import {saveOrUpdate<#list subTables as sub>,query${sub.entityName}</#list>} from '../${entityName}.api';
|
||||
import { VALIDATE_FAILED } from '/@/utils/common/vxeUtils'
|
||||
import { useMessage } from '/@/hooks/web/useMessage';
|
||||
import { getDateByPicker } from '/@/utils';
|
||||
//日期个性化选择
|
||||
const fieldPickers = reactive({
|
||||
<#list columns as po>
|
||||
<#if po.extendParams?exists && po.extendParams.picker?exists>
|
||||
${po.fieldName}: '${po.extendParams.picker}',
|
||||
</#if>
|
||||
</#list>
|
||||
});
|
||||
<#list subTables as sub>
|
||||
<#if sub.foreignRelationType =='0'>
|
||||
const ${sub.entityName?uncap_first}FieldPickers = reactive({
|
||||
<#list sub.colums as po>
|
||||
<#if po.extendParams?exists && po.extendParams.picker?exists>
|
||||
${po.fieldName}: '${po.extendParams.picker}',
|
||||
</#if>
|
||||
</#list>
|
||||
});
|
||||
</#if>
|
||||
</#list>
|
||||
const { createMessage } = useMessage();
|
||||
// Emits声明
|
||||
const emit = defineEmits(['register','success']);
|
||||
@ -191,6 +211,8 @@
|
||||
//表单提交事件
|
||||
async function requestAddOrEdit(values) {
|
||||
try {
|
||||
// 预处理日期数据
|
||||
changeDateValue(values);
|
||||
setModalProps({confirmLoading: true});
|
||||
//提交表单
|
||||
await saveOrUpdate(values, isUpdate.value);
|
||||
@ -202,6 +224,33 @@
|
||||
setModalProps({confirmLoading: false});
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 处理日期值
|
||||
* @param formData 表单数据
|
||||
*/
|
||||
const changeDateValue = (formData) => {
|
||||
if (formData && fieldPickers) {
|
||||
for (let key in fieldPickers) {
|
||||
if (formData[key]) {
|
||||
formData[key] = getDateByPicker(formData[key], fieldPickers[key]);
|
||||
}
|
||||
}
|
||||
}
|
||||
<#list subTables as sub>
|
||||
<#if sub.foreignRelationType =='0'>
|
||||
if(formData && formData.${sub.entityName?uncap_first}List && formData.${sub.entityName?uncap_first}List.length > 0){
|
||||
formData.${sub.entityName?uncap_first}List.forEach(subFormData=>{
|
||||
for (let key in ${sub.entityName?uncap_first}FieldPickers) {
|
||||
if (subFormData[key]) {
|
||||
subFormData[key] = getDateByPicker(subFormData[key], ${sub.entityName?uncap_first}FieldPickers[key]);
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
</#if>
|
||||
</#list>
|
||||
};
|
||||
<#if buttonList?size gt 0>
|
||||
<#list buttonList?sort_by('orderNum') as btn>
|
||||
<#if btn.buttonStyle=='form'>
|
||||
|
||||
@ -21,7 +21,7 @@
|
||||
</#list>
|
||||
<#-- 结束循环 -->
|
||||
<!--引用表格-->
|
||||
<BasicTable bordered size="middle" :loading="loading" rowKey="id" :canResize="false" :columns="${sub.entityName?uncap_first}Columns" :dataSource="dataSource" :pagination="false">
|
||||
<BasicTable bordered size="middle" :loading="loading" rowKey="id" :canResize="true" :columns="${sub.entityName?uncap_first}Columns" :dataSource="dataSource" :pagination="false">
|
||||
<!--字段回显插槽-->
|
||||
<template v-slot:bodyCell="{ column, record, index, text }">
|
||||
<#list sub.originalColumns as po>
|
||||
|
||||
@ -115,6 +115,15 @@
|
||||
import {getPopDictByCode} from "@/utils/dict";
|
||||
import {filterMultiDictText} from "@/utils/dict/JDictSelectUtil";
|
||||
</#if>
|
||||
import { getDateByPicker } from '/@/utils';
|
||||
//日期个性化选择
|
||||
const fieldPickers = reactive({
|
||||
<#list columns as po>
|
||||
<#if po.extendParams?exists && po.extendParams.picker?exists>
|
||||
${po.fieldName}: '${po.extendParams.picker}',
|
||||
</#if>
|
||||
</#list>
|
||||
});
|
||||
<#if bpm_flag==true>
|
||||
import { startProcess } from '/@/api/common/api';
|
||||
|
||||
@ -132,7 +141,7 @@
|
||||
title: '${tableVo.ftlDescription}',
|
||||
api: list,
|
||||
columns,
|
||||
canResize:false,
|
||||
canResize:true,
|
||||
formConfig: {
|
||||
//labelWidth: 120,
|
||||
schemas: searchFormSchema,
|
||||
@ -170,6 +179,13 @@
|
||||
fixed:'right'
|
||||
},
|
||||
beforeFetch: (params) => {
|
||||
if (params && fieldPickers) {
|
||||
for (let key in fieldPickers) {
|
||||
if (params[key]) {
|
||||
params[key] = getDateByPicker(params[key], fieldPickers[key]);
|
||||
}
|
||||
}
|
||||
}
|
||||
return Object.assign(params, queryParam);
|
||||
},
|
||||
<#if list_has_popup_dict>
|
||||
|
||||
@ -61,6 +61,26 @@
|
||||
import {saveOrUpdate<#list subTables as sub>,${sub.entityName?uncap_first}List</#list>} from '../${entityName}.api';
|
||||
import { VALIDATE_FAILED } from '/@/utils/common/vxeUtils'
|
||||
import { useMessage } from '/@/hooks/web/useMessage';
|
||||
import { getDateByPicker } from '/@/utils';
|
||||
//日期个性化选择
|
||||
const fieldPickers = reactive({
|
||||
<#list columns as po>
|
||||
<#if po.extendParams?exists && po.extendParams.picker?exists>
|
||||
${po.fieldName}: '${po.extendParams.picker}',
|
||||
</#if>
|
||||
</#list>
|
||||
});
|
||||
<#list subTables as sub>
|
||||
<#if sub.foreignRelationType =='0'>
|
||||
const ${sub.entityName?uncap_first}FieldPickers = reactive({
|
||||
<#list sub.colums as po>
|
||||
<#if po.extendParams?exists && po.extendParams.picker?exists>
|
||||
${po.fieldName}: '${po.extendParams.picker}',
|
||||
</#if>
|
||||
</#list>
|
||||
});
|
||||
</#if>
|
||||
</#list>
|
||||
const { createMessage } = useMessage();
|
||||
// Emits声明
|
||||
const emit = defineEmits(['register','success']);
|
||||
@ -190,6 +210,8 @@
|
||||
//表单提交事件
|
||||
async function requestAddOrEdit(values) {
|
||||
try {
|
||||
// 预处理日期数据
|
||||
changeDateValue(values);
|
||||
setModalProps({confirmLoading: true});
|
||||
//提交表单
|
||||
await saveOrUpdate(values, isUpdate.value);
|
||||
@ -201,6 +223,33 @@
|
||||
setModalProps({confirmLoading: false});
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 处理日期值
|
||||
* @param formData 表单数据
|
||||
*/
|
||||
const changeDateValue = (formData) => {
|
||||
if (formData && fieldPickers) {
|
||||
for (let key in fieldPickers) {
|
||||
if (formData[key]) {
|
||||
formData[key] = getDateByPicker(formData[key], fieldPickers[key]);
|
||||
}
|
||||
}
|
||||
}
|
||||
<#list subTables as sub>
|
||||
<#if sub.foreignRelationType =='0'>
|
||||
if(formData && formData.${sub.entityName?uncap_first}List && formData.${sub.entityName?uncap_first}List.length > 0){
|
||||
formData.${sub.entityName?uncap_first}List.forEach(subFormData=>{
|
||||
for (let key in ${sub.entityName?uncap_first}FieldPickers) {
|
||||
if (subFormData[key]) {
|
||||
subFormData[key] = getDateByPicker(subFormData[key], ${sub.entityName?uncap_first}FieldPickers[key]);
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
</#if>
|
||||
</#list>
|
||||
};
|
||||
<#if buttonList?size gt 0>
|
||||
<#list buttonList?sort_by('orderNum') as btn>
|
||||
<#if btn.buttonStyle=='form'>
|
||||
|
||||
@ -204,7 +204,16 @@
|
||||
import {getPopDictByCode} from "@/utils/dict";
|
||||
import {filterMultiDictText} from "@/utils/dict/JDictSelectUtil";
|
||||
</#if>
|
||||
import { getDateByPicker } from '/@/utils';
|
||||
import { useUserStore } from '/@/store/modules/user';
|
||||
|
||||
const fieldPickers = reactive({
|
||||
<#list columns as po>
|
||||
<#if po.extendParams?exists && po.extendParams.picker?exists>
|
||||
${po.fieldName}: '${po.extendParams.picker}',
|
||||
</#if>
|
||||
</#list>
|
||||
});
|
||||
const formRef = ref();
|
||||
const queryParam = reactive<any>({});
|
||||
const checkedKeys = ref<Array<string | number>>([]);
|
||||
@ -218,7 +227,7 @@
|
||||
title: '${tableVo.ftlDescription}',
|
||||
api: list,
|
||||
columns,
|
||||
canResize:false,
|
||||
canResize:true,
|
||||
useSearchForm: false,
|
||||
actionColumn: {
|
||||
width: 120,
|
||||
@ -229,6 +238,11 @@
|
||||
let rangerQuery = await setRangeQuery();
|
||||
return Object.assign(params, rangerQuery);
|
||||
<#else>
|
||||
for (let key in fieldPickers) {
|
||||
if (queryParam[key] && fieldPickers[key]) {
|
||||
queryParam[key] = getDateByPicker(queryParam[key], fieldPickers[key]);
|
||||
}
|
||||
}
|
||||
return Object.assign(params, queryParam);
|
||||
</#if>
|
||||
},
|
||||
|
||||
@ -116,6 +116,8 @@
|
||||
</#if>
|
||||
import JFormContainer from '/@/components/Form/src/container/JFormContainer.vue';
|
||||
import { Form } from 'ant-design-vue';
|
||||
import { getDateByPicker } from '/@/utils';
|
||||
import dayjs from 'dayjs';
|
||||
const useForm = Form.useForm;
|
||||
|
||||
export default defineComponent({
|
||||
@ -174,6 +176,14 @@
|
||||
</#list>
|
||||
});
|
||||
const {resetFields, validate, validateInfos} = useForm(formData, validatorRules, {immediate: false});
|
||||
//日期个性化选择
|
||||
const fieldPickers = reactive({
|
||||
<#list columns as po>
|
||||
<#if po.extendParams?exists && po.extendParams.picker?exists>
|
||||
${po.fieldName}: '${po.extendParams.picker}',
|
||||
</#if>
|
||||
</#list>
|
||||
});
|
||||
const dbData = {};
|
||||
const formItemLayout = {
|
||||
labelCol: {xs: {span: 24}, sm: {span: 5}},
|
||||
@ -296,6 +306,8 @@
|
||||
async function submitForm() {
|
||||
const mainData = await getFormData();
|
||||
const subData = await getSubFormAndTableData();
|
||||
// 预处理日期数据
|
||||
changeDateValue(mainData, subData);
|
||||
const values = Object.assign({}, dbData, mainData, subData);
|
||||
console.log('表单提交数据', values)
|
||||
const isUpdate = values.id ? true : false
|
||||
@ -312,6 +324,38 @@
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 处理日期值
|
||||
* @param formData 表单数据
|
||||
*/
|
||||
const changeDateValue = (mainData, subData) => {
|
||||
for (let key in mainData) {
|
||||
// 更新个性化日期选择器的值
|
||||
mainData[key] = getDateByPicker(mainData[key], fieldPickers[key]);
|
||||
}
|
||||
<#list subTables as sub>
|
||||
<#if sub.foreignRelationType =='0'>
|
||||
if(subData.${sub.entityName?uncap_first}List && subData.${sub.entityName?uncap_first}List.length > 0){
|
||||
${sub.entityName?uncap_first}Columns.forEach(subFormField => {
|
||||
if(subFormField && subFormField.picker && subFormField.key){
|
||||
let subPicker = subFormField.picker;
|
||||
const subFieldName = subFormField.key
|
||||
subData.${sub.entityName?uncap_first}List.forEach(subFormData=>{
|
||||
if (subPicker === 'year') {
|
||||
subFormData[subFieldName] = dayjs(subFormData[subFieldName]).set('month', 0).set('date', 1).format('YYYY-MM-DD');
|
||||
} else if (subPicker === 'month') {
|
||||
subFormData[subFieldName] = dayjs(subFormData[subFieldName]).set('date', 1).format('YYYY-MM-DD');
|
||||
} else if (subPicker === 'week') {
|
||||
subFormData[subFieldName] = dayjs(subFormData[subFieldName]).startOf('week').format('YYYY-MM-DD');
|
||||
}
|
||||
})
|
||||
}
|
||||
})
|
||||
}
|
||||
</#if>
|
||||
</#list>
|
||||
};
|
||||
|
||||
/**
|
||||
* 值改变事件触发-树控件回调
|
||||
* @param key
|
||||
|
||||
@ -115,6 +115,15 @@
|
||||
import {getPopDictByCode} from "@/utils/dict";
|
||||
import {filterMultiDictText} from "@/utils/dict/JDictSelectUtil";
|
||||
</#if>
|
||||
import { getDateByPicker } from '/@/utils';
|
||||
//日期个性化选择
|
||||
const fieldPickers = reactive({
|
||||
<#list columns as po>
|
||||
<#if po.extendParams?exists && po.extendParams.picker?exists>
|
||||
${po.fieldName}: '${po.extendParams.picker}',
|
||||
</#if>
|
||||
</#list>
|
||||
});
|
||||
<#if bpm_flag==true>
|
||||
import { startProcess } from '/@/api/common/api';
|
||||
|
||||
@ -132,7 +141,7 @@
|
||||
title: '${tableVo.ftlDescription}',
|
||||
api: list,
|
||||
columns,
|
||||
canResize:false,
|
||||
canResize:true,
|
||||
formConfig: {
|
||||
//labelWidth: 120,
|
||||
schemas: searchFormSchema,
|
||||
@ -170,6 +179,13 @@
|
||||
fixed:'right'
|
||||
},
|
||||
beforeFetch: (params) => {
|
||||
if (params && fieldPickers) {
|
||||
for (let key in fieldPickers) {
|
||||
if (params[key]) {
|
||||
params[key] = getDateByPicker(params[key], fieldPickers[key]);
|
||||
}
|
||||
}
|
||||
}
|
||||
return Object.assign(params, queryParam);
|
||||
},
|
||||
<#if list_has_popup_dict>
|
||||
|
||||
@ -72,6 +72,26 @@
|
||||
import {saveOrUpdate<#list subTables as sub>,${sub.entityName?uncap_first}List</#list>} from '../${entityName}.api';
|
||||
import { VALIDATE_FAILED } from '/@/utils/common/vxeUtils'
|
||||
import { useMessage } from '/@/hooks/web/useMessage';
|
||||
import { getDateByPicker } from '/@/utils';
|
||||
//日期个性化选择
|
||||
const fieldPickers = reactive({
|
||||
<#list columns as po>
|
||||
<#if po.extendParams?exists && po.extendParams.picker?exists>
|
||||
${po.fieldName}: '${po.extendParams.picker}',
|
||||
</#if>
|
||||
</#list>
|
||||
});
|
||||
<#list subTables as sub>
|
||||
<#if sub.foreignRelationType =='0'>
|
||||
const ${sub.entityName?uncap_first}FieldPickers = reactive({
|
||||
<#list sub.colums as po>
|
||||
<#if po.extendParams?exists && po.extendParams.picker?exists>
|
||||
${po.fieldName}: '${po.extendParams.picker}',
|
||||
</#if>
|
||||
</#list>
|
||||
});
|
||||
</#if>
|
||||
</#list>
|
||||
const { createMessage } = useMessage();
|
||||
// Emits声明
|
||||
const emit = defineEmits(['register','success']);
|
||||
@ -225,6 +245,8 @@
|
||||
//表单提交事件
|
||||
async function requestAddOrEdit(values) {
|
||||
try {
|
||||
// 预处理日期数据
|
||||
changeDateValue(values);
|
||||
setModalProps({confirmLoading: true});
|
||||
//提交表单
|
||||
await saveOrUpdate(values, isUpdate.value);
|
||||
@ -236,6 +258,33 @@
|
||||
setModalProps({confirmLoading: false});
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 处理日期值
|
||||
* @param formData 表单数据
|
||||
*/
|
||||
const changeDateValue = (formData) => {
|
||||
if (formData && fieldPickers) {
|
||||
for (let key in fieldPickers) {
|
||||
if (formData[key]) {
|
||||
formData[key] = getDateByPicker(formData[key], fieldPickers[key]);
|
||||
}
|
||||
}
|
||||
}
|
||||
<#list subTables as sub>
|
||||
<#if sub.foreignRelationType =='0'>
|
||||
if(formData && formData.${sub.entityName?uncap_first}List && formData.${sub.entityName?uncap_first}List.length > 0){
|
||||
formData.${sub.entityName?uncap_first}List.forEach(subFormData=>{
|
||||
for (let key in ${sub.entityName?uncap_first}FieldPickers) {
|
||||
if (subFormData[key]) {
|
||||
subFormData[key] = getDateByPicker(subFormData[key], ${sub.entityName?uncap_first}FieldPickers[key]);
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
</#if>
|
||||
</#list>
|
||||
};
|
||||
<#if buttonList?size gt 0>
|
||||
<#list buttonList?sort_by('orderNum') as btn>
|
||||
<#if btn.buttonStyle=='form'>
|
||||
|
||||
@ -49,7 +49,7 @@
|
||||
title: '${tableVo.ftlDescription}',
|
||||
api: list,
|
||||
columns,
|
||||
canResize:false,
|
||||
canResize:true,
|
||||
formConfig: {
|
||||
labelWidth: 120,
|
||||
schemas: searchFormSchema,
|
||||
|
||||
@ -49,7 +49,7 @@
|
||||
title: '${tableVo.ftlDescription}',
|
||||
api: list,
|
||||
columns,
|
||||
canResize:false,
|
||||
canResize:true,
|
||||
formConfig: {
|
||||
labelWidth: 120,
|
||||
schemas: searchFormSchema,
|
||||
|
||||
@ -47,7 +47,7 @@
|
||||
title: '${tableVo.ftlDescription}',
|
||||
api: list,
|
||||
columns,
|
||||
canResize:false,
|
||||
canResize:true,
|
||||
formConfig: {
|
||||
labelWidth: 120,
|
||||
schemas: searchFormSchema,
|
||||
|
||||
@ -60,7 +60,7 @@
|
||||
title: '${tableVo.ftlDescription}',
|
||||
api: list,
|
||||
columns,
|
||||
canResize: false,
|
||||
canResize: true,
|
||||
rowSelection: {type: 'radio'},
|
||||
formConfig: {
|
||||
labelWidth: 120,
|
||||
|
||||
@ -56,7 +56,7 @@
|
||||
tableProps: {
|
||||
api: ${subTab.entityName?uncap_first}List,
|
||||
columns: ${subTab.entityName?uncap_first}Columns,
|
||||
canResize: false,
|
||||
canResize: true,
|
||||
useSearchForm: false,
|
||||
searchInfo,
|
||||
actionColumn: {
|
||||
|
||||
@ -5,6 +5,7 @@ import type { FormSchema } from "@/components/Form";
|
||||
import { unref } from 'vue';
|
||||
import { isObject, isFunction, isString } from '/@/utils/is';
|
||||
import Big from 'big.js';
|
||||
import dayjs from "dayjs";
|
||||
// update-begin--author:sunjianlei---date:20220408---for: 【VUEN-656】配置外部网址打不开,原因是带了#号,需要替换一下
|
||||
export const URL_HASH_TAB = `__AGWE4H__HASH__TAG__PWHRG__`;
|
||||
// update-end--author:sunjianlei---date:20220408---for: 【VUEN-656】配置外部网址打不开,原因是带了#号,需要替换一下
|
||||
@ -119,6 +120,30 @@ export function getValueTypeBySchema(schema: FormSchema) {
|
||||
return valueType;
|
||||
}
|
||||
|
||||
/**
|
||||
* 通过picker属性获取日期数据
|
||||
* @param data
|
||||
* @param picker
|
||||
*/
|
||||
export function getDateByPicker(data, picker) {
|
||||
if (!data || !picker) {
|
||||
return data;
|
||||
}
|
||||
/**
|
||||
* 需要把年、年月、设置成这段时间内的第一天([年季度]不需要处理antd回传的就是该季度的第一天,[年周]也不处理)
|
||||
* 例如日期格式是年,传给数据库的时间必须是20240101
|
||||
* 例如日期格式是年月(选择了202502),传给数据库的时间必须是20250201
|
||||
*/
|
||||
if (picker === 'year') {
|
||||
return dayjs(data).set('month', 0).set('date', 1).format('YYYY-MM-DD');
|
||||
} else if (picker === 'month') {
|
||||
return dayjs(data).set('date', 1).format('YYYY-MM-DD');
|
||||
} else if (picker === 'week') {
|
||||
return dayjs(data).startOf('week').format('YYYY-MM-DD');
|
||||
}
|
||||
return data;
|
||||
}
|
||||
|
||||
export function getRawRoute(route: RouteLocationNormalized): RouteLocationNormalized {
|
||||
if (!route) return route;
|
||||
const { matched, ...opt } = route;
|
||||
|
||||
Reference in New Issue
Block a user