diff --git a/src/control/search-bar/quick-search-select/quick-search-select.tsx b/src/control/search-bar/quick-search-select/quick-search-select.tsx index 80ee3773335f150ae8aa9e7a88aad2bbc6bd8fe4..b6fc080a9d41aa5867e0b11064b485580d1c96a5 100644 --- a/src/control/search-bar/quick-search-select/quick-search-select.tsx +++ b/src/control/search-bar/quick-search-select/quick-search-select.tsx @@ -36,7 +36,12 @@ export const QuickSearchSelect = defineComponent({ > {{ default: () => ( -
+
), diff --git a/src/locale/en/index.ts b/src/locale/en/index.ts index 07ce0aafaf154fa177872a96c05209543c1695d3..0c2c0b34681ba5ba4cd3c0cb444dd946aca30344 100644 --- a/src/locale/en/index.ts +++ b/src/locale/en/index.ts @@ -422,6 +422,9 @@ export default { dialogCancel: 'Cancel', dialogDetermine: 'Determine', }, + quickSearchSelect: { + searchField: 'Selective search field', + }, }, toolbar: { exportExcel: { diff --git a/src/locale/zh-CN/index.ts b/src/locale/zh-CN/index.ts index c6a78d1392f732285021cb62b2c6501e6729919b..8d51fece4442f29447b679e2b27fb242c9bf51a3 100644 --- a/src/locale/zh-CN/index.ts +++ b/src/locale/zh-CN/index.ts @@ -391,6 +391,9 @@ export default { dialogCancel: '取 消', dialogDetermine: '确 定', }, + quickSearchSelect: { + searchField: '选择搜索属性', + }, }, toolbar: { exportExcel: { diff --git a/src/panel-component/panel-app-title/panel-app-title.controller.ts b/src/panel-component/panel-app-title/panel-app-title.controller.ts index ff46a8706eaac0e50a1a22fc171ceb15c9bb32f5..5be36f0a77252ca0d25439a8fdec5389f0464896 100644 --- a/src/panel-component/panel-app-title/panel-app-title.controller.ts +++ b/src/panel-component/panel-app-title/panel-app-title.controller.ts @@ -2,7 +2,7 @@ import { PanelItemController, ViewLayoutPanelController, } from '@ibiz-template/runtime'; -import { IPanelField, IAppIndexView } from '@ibiz/model-core'; +import { IPanelRawItem, IAppIndexView } from '@ibiz/model-core'; import { PanelAppTitleState } from './panel-app-title.state'; /** @@ -10,9 +10,9 @@ import { PanelAppTitleState } from './panel-app-title.state'; * * @export * @class PanelAppTitleController - * @extends {PanelItemController} + * @extends {PanelItemController} */ -export class PanelAppTitleController extends PanelItemController { +export class PanelAppTitleController extends PanelItemController { declare state: PanelAppTitleState; protected createState(): PanelAppTitleState { @@ -35,6 +35,13 @@ export class PanelAppTitleController extends PanelItemController { */ private captionSplit = '|'; + /** + * @description 自定义补充参数 + * @type {IData} + * @memberof PanelAppTitleController + */ + rawItemParams: IData = {}; + /** * 初始化 * @@ -43,6 +50,7 @@ export class PanelAppTitleController extends PanelItemController { */ async onInit(): Promise { await super.onInit(); + this.handleRawItemParams(); const indexViewModel: IAppIndexView = this.panel.view.model; // 抬头 if (indexViewModel.title) { @@ -83,4 +91,25 @@ export class PanelAppTitleController extends PanelItemController { this.state.isSvg = true; } } + + /** + * 处理自定义补充参数 [{key:'name',value:'data'}] => {name:'data'} + * + * @author zk + * @date 2023-09-27 03:09:55 + * @protected + * @memberof NavPosController + */ + protected handleRawItemParams(): void { + const rawItemParams = this.model.rawItem?.rawItemParams; + if (Array.isArray(rawItemParams)) { + rawItemParams.forEach(item => { + const key = item.key; + const value = item.value; + if (key && value) { + this.rawItemParams[key.toLowerCase()] = value; + } + }); + } + } } diff --git a/src/panel-component/panel-app-title/panel-app-title.scss b/src/panel-component/panel-app-title/panel-app-title.scss index c2d2dfea1c6db84aaba0fe6aed61004828445d1d..6d7e17d1e6a157c6776f8d7f987324e64c14fad4 100644 --- a/src/panel-component/panel-app-title/panel-app-title.scss +++ b/src/panel-component/panel-app-title/panel-app-title.scss @@ -2,7 +2,7 @@ $panel-app-title: ( 'color': getCssVar(color, text, 0), 'font-size': getCssVar(font-size, header-3), 'font-weight': getCssVar(font-weight, bold), - 'padding': 0 getCssVar(spacing, loose), + 'padding': 0 getCssVar(spacing, base, tight), 'collapse-padding': 0 getCssVar(spacing, tight), ); @@ -40,6 +40,14 @@ $panel-app-title: ( svg { fill: getCssVar('panel-app-title', 'color'); } + @include m('expand') { + width: 66px; + height: 66px; + + &+svg { + width: calc(100% - 66px); + } + } } diff --git a/src/panel-component/panel-app-title/panel-app-title.tsx b/src/panel-component/panel-app-title/panel-app-title.tsx index f1a1b02d007dbb36f37e5ba6ab51eb86f920ec46..2455343f5deed32d2e91d054e31ebeaa7ae76691 100644 --- a/src/panel-component/panel-app-title/panel-app-title.tsx +++ b/src/panel-component/panel-app-title/panel-app-title.tsx @@ -103,10 +103,67 @@ export const PanelAppTitle = defineComponent({
); } + } else if (this.c.rawItemParams.showexpandicon === 'true' && icon) { + let tempIcon = null; + if (isSvg) { + tempIcon = ( + + ); + } else { + tempIcon = ( + + + + ); + } + iconVNode = ( + + {tempIcon} + + + + + {caption} + + + + + {subCaption} + + + + + + ); } else { iconVNode = ( - +