1、样式调整

This commit is contained in:
Jerry
2024-09-26 15:01:08 +08:00
parent e9d724e3a2
commit 14d0bd8c5d
52 changed files with 482 additions and 451 deletions

View File

@@ -80,7 +80,11 @@ const showText = computed(() => {
? 'XXXXX 至 XXXXX'
: undefined;
case SysCustomWidgetType.Switch:
return props.value ? '是' : '否';
if (typeof props.value === 'boolean') {
return props.value ? '是' : '否';
} else {
return props.value;
}
default:
return '';
}

View File

@@ -11,6 +11,7 @@
:hasImageColumn="hasImageColumn"
:size="layoutStore.defaultFormItemSize"
:keep-source="rowEdit"
:tree-config="treeConfig"
:edit-config="{
trigger: 'manual',
mode: 'row',
@@ -80,9 +81,15 @@
>{{ getOperation(SysCustomWidgetOperationType.ADD).name || '新建' }}</el-button
>
</template>
<vxe-column v-if="hasBatchOperation && !form().readOnly" type="checkbox" :width="50" />
<vxe-column v-if="hasBatchOperation && !form().readOnly" type="checkbox" :width="40" />
<vxe-column v-if="singleSelect" type="radio" align="center" :width="50" />
<vxe-column v-if="tableColumnList.length > 0" type="seq" title="序号" :width="50" />
<vxe-column
v-if="tableColumnList.length > 0"
type="seq"
title="序号"
:width="treeConfig != null ? 90 : 50"
:tree-node="treeConfig != null"
/>
<template v-for="tableColumn in tableColumnList" :key="tableColumn.column?.columnId">
<!-- Boolean类型字段 -->
<vxe-column
@@ -232,6 +239,7 @@ const props = withDefaults(
onSelectChange?: (values: Array<ANY_OBJECT>) => void;
// 单选中改变
onRadioChange?: (value: ANY_OBJECT) => void;
treeConfig?: ANY_OBJECT;
}>(),
{
dataList: () => [],
@@ -241,6 +249,7 @@ const props = withDefaults(
multiSelect: false,
singleSelect: false,
operationList: () => [],
treeConfig: undefined,
},
);

View File

@@ -242,6 +242,26 @@ const isDictWidget = computed(() => {
].indexOf(pps.widget.widgetType) !== -1
);
});
const getColumnDataType = computed(() => {
if (pps.widget == null || pps.widget.column == null) return undefined;
switch (pps.widget.column.objectFieldType) {
case 'String':
return 'String';
case 'Date':
return 'Date';
case 'Boolean':
return 'Boolean';
case 'Integer':
case 'Long':
case 'Float':
case 'Double':
case 'BigDecimal':
return 'Number';
default:
return undefined;
}
});
// eslint-disable-next-line @typescript-eslint/no-explicit-any
const bindValue = computed<string | number | boolean | any[] | ANY_OBJECT | Date | undefined>({
get() {
@@ -255,6 +275,18 @@ const bindValue = computed<string | number | boolean | any[] | ANY_OBJECT | Date
});
}
}
// 开关组件根据绑定字段类型转换值
let bindColumnType = getColumnDataType.value;
if (pps.widget.widgetType === SysCustomWidgetType.Switch) {
if (bindColumnType === 'Number') {
tempValue = tempValue !== 0 && tempValue != null;
} else if (bindColumnType === 'String') {
tempValue = tempValue === 'true';
} else if (bindColumnType !== 'Boolean') {
tempValue = false;
}
return tempValue;
}
if (pps.widget.widgetType === SysCustomWidgetType.CheckBox) {
return tempValue || [];
} else if (pps.widget.widgetType === SysCustomWidgetType.Cascader) {
@@ -553,7 +585,6 @@ watch(
);
onMounted(() => {
//propsWidget.value.widgetImpl = getCurrentInstance();
//propsWidget.value.parent = parentWidget;
propsWidget.value.hasParent = parentWidget != null;
});
</script>

View File

@@ -86,7 +86,7 @@
<vxe-column title="流程创建时间" field="createTime" :min-width="180" />
<vxe-column title="流程状态" field="latestApprovalStatusDictMap.name" :min-width="100" />
<vxe-column title="工单状态" field="flowStatusShowName" :min-width="100" />
<vxe-column title="操作" :width="160" fixed="right" :show-overflow="false">
<vxe-column title="操作" :width="180" fixed="right" :show-overflow="false">
<template #default="{ row }">
<el-button
link

View File

@@ -7,7 +7,7 @@
</template>
<el-input
v-if="inputWidgetType === SysCustomWidgetType.Input"
size="small"
size="default"
style="width: 100%"
clearable
v-model="valStr"
@@ -17,7 +17,7 @@
/>
<el-row v-if="inputWidgetType === SysCustomWidgetType.NumberInput" type="flex">
<el-input-number
size="small"
size="default"
clearable
style="width: 100%"
controls-position="right"
@@ -30,7 +30,7 @@
/>
</el-row>
<el-row v-if="inputWidgetType === SysCustomWidgetType.Radio" type="flex" align="middle">
<el-radio-group size="small" v-model="valNum" v-bind="attributeProps" @change="onValueChange">
<el-radio-group size="default" v-model="valNum" v-bind="attributeProps" @change="onValueChange">
<el-radio-button
v-for="item in dropdownData"
:key="item.id"
@@ -42,7 +42,7 @@
<el-slider
v-if="inputWidgetType === SysCustomWidgetType.Slider"
style="width: 95%; margin-left: 5px"
size="small"
size="default"
:min="attributeItem.min"
:max="attributeItem.max"
v-model="valNum"
@@ -52,7 +52,7 @@
/>
<el-row v-if="inputWidgetType === SysCustomWidgetType.Switch" type="flex" align="middle">
<el-select
size="small"
size="default"
style="width: 100%"
v-model="valBool"
@input="onValueChange"
@@ -68,7 +68,7 @@
v-if="inputWidgetType === SysCustomWidgetType.Select"
style="width: 100%"
clearable
size="small"
size="default"
v-model="valNum"
v-bind="attributeProps"
@change="onValueChange"
@@ -78,7 +78,7 @@
</el-select>
<el-color-picker
v-if="inputWidgetType === SysCustomWidgetType.ColorPicker"
size="small"
size="default"
v-model="valStr"
@input="onValueChange"
v-bind="attributeProps"

View File

@@ -32,11 +32,47 @@ const table = {
value: 0,
min: 0,
},
treeFlag: {
name: '树形表格',
widgetType: SysCustomWidgetType.Switch,
visible: function (formConfig) {
return formConfig && formConfig.form.formType === SysOnlineFormType.QUERY;
},
},
parentIdColumn: {
name: '树形表主键父字段',
widgetType: SysCustomWidgetType.Select,
value: '',
visible: function (formConfig) {
return (
formConfig && formConfig.currentWidget && formConfig.currentWidget.props.treeFlag === true
);
},
dropdownList: function (formConfig) {
if (
formConfig &&
formConfig.currentWidget &&
formConfig.currentWidget.bindData &&
formConfig.currentWidget.bindData.table
) {
return formConfig.currentWidget.bindData.table.columnList.map(item => {
return {
id: item.columnName,
name: item.columnComment,
};
});
} else {
return [];
}
},
},
paged: {
name: '支持分页',
widgetType: SysCustomWidgetType.Switch,
value: true,
visible: function (formConfig: ANY_OBJECT) {
if (formConfig && formConfig.currentWidget && formConfig.currentWidget.props.treeFlag)
return false;
return formConfig && formConfig.form.formType === SysOnlineFormType.QUERY;
},
},
@@ -45,6 +81,8 @@ const table = {
widgetType: SysCustomWidgetType.Select,
value: 10,
visible: function (formConfig: ANY_OBJECT) {
if (formConfig && formConfig.currentWidget && formConfig.currentWidget.props.treeFlag)
return false;
return formConfig && formConfig.form.formType === SysOnlineFormType.QUERY;
},
dropdownList: [