Browse Source

修复部分问题

main
likunming 7 months ago
parent
commit
de5f89a5de
  1. 15
      io.sc.platform.core.frontend/src/platform/components/date/WDate.vue
  2. 5
      io.sc.platform.core.frontend/src/platform/components/file/WFile.vue
  3. 6
      io.sc.platform.core.frontend/src/platform/components/grid/GridEditor.vue
  4. 7
      io.sc.platform.core.frontend/src/platform/components/grid/WGrid.vue

15
io.sc.platform.core.frontend/src/platform/components/date/WDate.vue

@ -8,6 +8,7 @@
:outlined="true"
:dense="true"
v-bind="attrs"
mask="date"
:rules="fieldMethodsClass.getRules(props, modelValue, dateRef, undefined)"
:readonly="fieldMethodsClass.getReadOnly(props, modelValue)"
:disable="fieldMethodsClass.getDisable(props, modelValue)"
@ -23,7 +24,7 @@
</template>
<template v-if="!fieldMethodsClass.getReadOnly(props, modelValue)" #append>
<q-icon name="event" class="cursor-pointer">
<q-popup-proxy cover transition-show="scale" transition-hide="scale">
<q-popup-proxy cover transition-show="scale" transition-hide="scale" auto-close>
<q-date v-model="modelValue" today-btn mask="YYYY-MM-DD" @update:model-value="fieldMethodsClass.updateValue"> </q-date>
</q-popup-proxy>
</q-icon>
@ -33,7 +34,8 @@
</template>
<script setup lang="ts">
import { ref, useAttrs } from 'vue';
import { ref, useAttrs, watch } from 'vue';
import { Tools } from '@/platform';
import { FormFieldProps } from '@/platform/components/form/FormField.ts';
import { FormFieldMethods } from '../form/FormField';
@ -69,6 +71,15 @@ class FieldMethods extends FormFieldMethods {
}
const fieldMethodsClass = new FieldMethods();
watch(
() => modelValue.value,
(newVal, oldVal) => {
if (!Tools.isEmpty(newVal) && newVal !== oldVal && newVal.length > 10) {
modelValue.value = newVal?.substring(0, 10);
}
},
);
defineExpose({
validate: fieldMethodsClass.validate,
setValue: fieldMethodsClass.setValue,

5
io.sc.platform.core.frontend/src/platform/components/file/WFile.vue

@ -33,9 +33,12 @@ const fileRef = ref();
const attrs = useAttrs();
const modelValue = defineModel<File | Array<File>>();
interface FieldProps extends FormFieldProps {}
interface FieldProps extends FormFieldProps {
type?: string;
}
const props = withDefaults(defineProps<FieldProps>(), {
showIf: true,
type: 'file',
});
class FieldMethods extends FormFieldMethods {
updateValue = (value_) => {

6
io.sc.platform.core.frontend/src/platform/components/grid/GridEditor.vue

@ -74,11 +74,7 @@ const save = async () => {
if (submitFlag) {
if (formStatus === 'addTop') {
dialogFormData[props.grid.props.foreignKey] = null;
} else if (formStatus === 'addChild') {
dialogFormData[props.grid.props.foreignKey] = selected[props.grid.props.primaryKey];
} else if (formStatus === 'edit' && selected[props.grid.props.primaryKey]) {
dialogFormData[props.grid.props.foreignKey] = selected[props.grid.props.primaryKey];
} else if (formStatus === 'clone' && selected[props.grid.props.primaryKey]) {
} else if ((formStatus === 'addChild' || formStatus === 'edit' || formStatus === 'clone') && selected[props.grid.props.foreignKey]) {
dialogFormData[props.grid.props.foreignKey] = selected[props.grid.props.foreignKey];
}
if (formStatus === 'edit') {

7
io.sc.platform.core.frontend/src/platform/components/grid/WGrid.vue

@ -633,7 +633,7 @@ const buildCriteria = (value, fieldName) => {
operator: queryOperator,
value: value,
};
} else if (typeof value === 'boolean' || typeof value === 'number') {
} else if (typeof value === 'boolean' || typeof value === 'number' || (typeof value === 'string' && queryFormFieldsMap.get(fieldName)['type'] === 'w-date')) {
return {
fieldName: fieldName,
operator: OperatorTypeEnum.equals,
@ -673,7 +673,10 @@ const buildQueryCriterias = (reqParams) => {
nextTick(() => {
const queryFormData = queryForm.getData();
Object.keys(queryFormData).forEach((item) => {
if ((!Tools.isEmpty(queryFormData[item]) && !Array.isArray(queryFormData[item]) || (!Tools.isEmpty(queryFormData[item]) && Array.isArray(queryFormData[item]) && queryFormData[item].length > 0))) {
if (
(!Tools.isEmpty(queryFormData[item]) && !Array.isArray(queryFormData[item])) ||
(!Tools.isEmpty(queryFormData[item]) && Array.isArray(queryFormData[item]) && queryFormData[item].length > 0)
) {
// operator
const criteria = buildCriteria(queryFormData[item], item);
urlSearchParams.append('criteria', JSON.stringify(criteria));

Loading…
Cancel
Save