升级online-lib依赖版本,解决几个重大问题

1、支持关联记录和他表字段控件
2、支持三级联动控件
3、online报表查询支持字典下拉搜索控件
4、online报表查询,字符串类型默认支持模糊查询,不需要输入*
5、online代码生成,支持选择那种前端代码生成(vue3\vue2\vue3原生)
pull/186/head
zhangdaiscott 2022-10-25 11:57:31 +08:00
parent 8472f42126
commit 147055fba2
5 changed files with 35 additions and 16 deletions

View File

@ -34,7 +34,7 @@
"gen:icon": "esno ./build/generate/icon/index.ts" "gen:icon": "esno ./build/generate/icon/index.ts"
}, },
"dependencies": { "dependencies": {
"@jeecg/online": "3.4.3-beta", "@jeecg/online": "3.4.3",
"@iconify/iconify": "^2.2.1", "@iconify/iconify": "^2.2.1",
"@ant-design/colors": "^6.0.0", "@ant-design/colors": "^6.0.0",
"@ant-design/icons-vue": "^6.1.0", "@ant-design/icons-vue": "^6.1.0",

View File

@ -6,6 +6,9 @@ import { ref, onUnmounted, unref, nextTick, watch } from 'vue';
import { isProdMode } from '/@/utils/env'; import { isProdMode } from '/@/utils/env';
import { error } from '/@/utils/log'; import { error } from '/@/utils/log';
import { getDynamicProps, getValueType } from '/@/utils'; import { getDynamicProps, getValueType } from '/@/utils';
import { add } from "/@/components/Form/src/componentMap";
//集成online专用控件
import { OnlineSelectCascade, LinkTableCard, LinkTableSelect } from '@jeecg/online';
export declare type ValidateFields = (nameList?: NamePath[]) => Promise<Recordable>; export declare type ValidateFields = (nameList?: NamePath[]) => Promise<Recordable>;
@ -15,6 +18,11 @@ export function useForm(props?: Props): UseFormReturnType {
const formRef = ref<Nullable<FormActionType>>(null); const formRef = ref<Nullable<FormActionType>>(null);
const loadedRef = ref<Nullable<boolean>>(false); const loadedRef = ref<Nullable<boolean>>(false);
//集成online专用控件
add("OnlineSelectCascade", OnlineSelectCascade)
add("LinkTableCard", LinkTableCard)
add("LinkTableSelect", LinkTableSelect)
async function getForm() { async function getForm() {
const form = unref(formRef); const form = unref(formRef);
if (!form) { if (!form) {

View File

@ -197,6 +197,15 @@
}); });
const getBindValue = Object.assign({}, unref(props), unref(attrs)); const getBindValue = Object.assign({}, unref(props), unref(attrs));
//update-begin-author:taoyan date:2022-10-18 for: VUEN-2480bugonline vue3 8online js
function refresh(){
if(coder){
coder.refresh();
}
}
//update-end-author:taoyan date:2022-10-18 for: VUEN-2480bugonline vue3 8online js
return { return {
state, state,
textarea, textarea,
@ -206,6 +215,7 @@
isFullScreen, isFullScreen,
fullScreenIcon, fullScreenIcon,
onToggleFullScreen, onToggleFullScreen,
refresh
}; };
}, },
}); });
@ -279,5 +289,10 @@
height: 100%; height: 100%;
} }
} }
/** VUEN-2344【vue3】这个样式有问题是不是加个边框 */
.CodeMirror{
border: 1px solid #ddd;
}
} }
</style> </style>

View File

@ -44,7 +44,7 @@
</template> </template>
<template v-else> <template v-else>
<a-date-picker <a-date-picker
placeholder="1选择开始时间" placeholder="选择开始时间"
:show-time="true" :show-time="true"
valueFormat="YYYY-MM-DD HH:mm:ss" valueFormat="YYYY-MM-DD HH:mm:ss"
v-model:value="queryParam[item.field + '_begin']" v-model:value="queryParam[item.field + '_begin']"
@ -52,7 +52,7 @@
></a-date-picker> ></a-date-picker>
<span class="group-query-strig" style="width: auto; padding: 0 4px">~</span> <span class="group-query-strig" style="width: auto; padding: 0 4px">~</span>
<a-date-picker <a-date-picker
placeholder="2选择结束时间" placeholder="选择结束时间"
:show-time="true" :show-time="true"
valueFormat="YYYY-MM-DD HH:mm:ss" valueFormat="YYYY-MM-DD HH:mm:ss"
v-model:value="queryParam[item.field + '_end']" v-model:value="queryParam[item.field + '_end']"
@ -131,16 +131,8 @@
<template #label> <template #label>
<span :title="item.label" class="label-text">{{ item.label }}</span> <span :title="item.label" class="label-text">{{ item.label }}</span>
</template> </template>
<JDictSelectTag v-if="item.config === '1'" v-model:value="queryParam[item.field]" :placeholder="'请选择' + item.label" :dict="getDictCode(item)"> <JOnlineSearchSelect v-model:value="queryParam[item.field]" :placeholder="'请选择' + item.label" :sql="item.sql">
</JDictSelectTag> </JOnlineSearchSelect>
<!--TODO 新需要的组件-->
<!-- <j-online-search-select
v-else
:ref="item.field+'_search'"
v-model="queryParam[item.field]"
:placeholder=" '请选择'+item.label "
:sql="getSqlByDictCode(item)">
</j-online-search-select>-->
</a-form-item> </a-form-item>
<a-form-item v-else-if="item.view === CompTypeEnum.SelUser" :labelCol="labelCol" :class="'jeecg-online-search'"> <a-form-item v-else-if="item.view === CompTypeEnum.SelUser" :labelCol="labelCol" :class="'jeecg-online-search'">
@ -202,7 +194,10 @@
<template #label> <template #label>
<span :title="item.label" class="label-text">{{ item.label }}</span> <span :title="item.label" class="label-text">{{ item.label }}</span>
</template> </template>
<template v-if="single_mode === item.mode"> <template v-if="single_mode === item.mode && 'string'== item.view">
<j-input :placeholder="'请输入' + item.label" v-model:value="queryParam[item.field]"></j-input>
</template>
<template v-else-if="single_mode === item.mode">
<a-input :placeholder="'请输入' + item.label" v-model:value="queryParam[item.field]"></a-input> <a-input :placeholder="'请输入' + item.label" v-model:value="queryParam[item.field]"></a-input>
</template> </template>
<template v-else> <template v-else>
@ -218,7 +213,7 @@
import { defineComponent, ref } from 'vue'; import { defineComponent, ref } from 'vue';
import { DateTypeEnum } from '/@/enums/DateTypeEnum.ts'; import { DateTypeEnum } from '/@/enums/DateTypeEnum.ts';
import { CompTypeEnum } from '/@/enums/CompTypeEnum.ts'; import { CompTypeEnum } from '/@/enums/CompTypeEnum.ts';
import { JDictSelectTag, JTreeSelect, JCategorySelect, JSelectUserByDept, JSelectDept, JPopup, JAreaLinkage } from '/@/components/Form'; import { JDictSelectTag, JTreeSelect, JCategorySelect, JSelectUserByDept, JSelectDept, JPopup, JAreaLinkage,JInput,JSearchSelect } from '/@/components/Form';
export default defineComponent({ export default defineComponent({
name: 'JPopupOnlReport', name: 'JPopupOnlReport',
components: { components: {
@ -230,6 +225,7 @@
JSelectDept, JSelectDept,
JPopup, JPopup,
JAreaLinkage, JAreaLinkage,
JInput,
}, },
props: { props: {
formElRef: { formElRef: {

View File

@ -17,7 +17,7 @@ export enum CompTypeEnum {
//分类字典树 //分类字典树
CatTree = 'cat_tree', CatTree = 'cat_tree',
//下拉搜索 //下拉搜索
SelSearch = 'sel_search', SelSearch = 'search',
//用户现在框 //用户现在框
SelUser = 'sel_user', SelUser = 'sel_user',
//复选框 //复选框