@ibiz-template/mob-vue3-components 0.0.6 → 0.0.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.min.css +1 -1
- package/dist/index.system.min.js +5 -5
- package/dist/index.system.min.js.map +1 -1
- package/dist/tree-xaVRfp-8.js +2 -0
- package/dist/tree-xaVRfp-8.js.map +1 -0
- package/es/control/app-menu-icon-view/app-menu-icon-view.css +1 -1
- package/es/control/app-menu-list-view/app-menu-list-view.css +1 -1
- package/es/control/calendar/calendar.d.ts +2 -3
- package/es/control/calendar/calendar.mjs +38 -67
- package/es/control/calendar/date-util.d.ts +20 -0
- package/es/control/calendar/date-util.mjs +32 -0
- package/es/control/calendar/index.d.ts +2 -3
- package/es/control/caption-bar/caption-bar.css +1 -1
- package/es/control/caption-bar/caption-bar.mjs +5 -2
- package/es/control/toolbar/index.d.ts +1 -1
- package/es/control/toolbar/toolbar.css +1 -1
- package/es/control/toolbar/toolbar.d.ts +1 -1
- package/es/control/toolbar/toolbar.mjs +8 -4
- package/es/control/tree/tree.d.ts +4 -4
- package/es/control/tree/tree.mjs +2 -2
- package/es/editor/common/data-mpicker/ibiz-data-mpicker.mjs +6 -2
- package/es/editor/data-picker/ibiz-mpicker/ibiz-mpicker.css +1 -1
- package/es/editor/data-picker/ibiz-mpicker/ibiz-mpicker.mjs +11 -7
- package/es/editor/data-picker/ibiz-picker/ibiz-picker.css +1 -1
- package/es/editor/data-picker/ibiz-picker-select-view/ibiz-picker-select-view.d.ts +1 -5
- package/es/editor/dropdown-list/ibiz-dropdown/ibiz-dropdown.mjs +5 -1
- package/es/editor/dropdown-list/ibiz-dropdown-list/ibiz-dropdown-list.css +1 -1
- package/es/editor/dropdown-list/ibiz-dropdown-list/ibiz-dropdown-list.mjs +28 -19
- package/es/editor/radio-button-list/ibiz-radio/ibiz-radio.mjs +5 -4
- package/es/editor/span/span/span.mjs +2 -2
- package/es/editor/text-box/ibiz-input-number/ibiz-input-number.css +1 -1
- package/es/view-engine/mob-edit-view.engine.mjs +2 -0
- package/es/view-engine/mob-wf-dyna-edit-view.engine.mjs +2 -1
- package/es/view-engine/wf-step-trace-view.engine.mjs +4 -1
- package/lib/control/app-menu-icon-view/app-menu-icon-view.css +1 -1
- package/lib/control/app-menu-list-view/app-menu-list-view.css +1 -1
- package/lib/control/calendar/calendar.cjs +37 -66
- package/lib/control/calendar/date-util.cjs +35 -0
- package/lib/control/caption-bar/caption-bar.cjs +5 -2
- package/lib/control/caption-bar/caption-bar.css +1 -1
- package/lib/control/toolbar/toolbar.cjs +8 -4
- package/lib/control/toolbar/toolbar.css +1 -1
- package/lib/control/tree/tree.cjs +2 -2
- package/lib/editor/common/data-mpicker/ibiz-data-mpicker.cjs +6 -2
- package/lib/editor/data-picker/ibiz-mpicker/ibiz-mpicker.cjs +11 -7
- package/lib/editor/data-picker/ibiz-mpicker/ibiz-mpicker.css +1 -1
- package/lib/editor/data-picker/ibiz-picker/ibiz-picker.css +1 -1
- package/lib/editor/dropdown-list/ibiz-dropdown/ibiz-dropdown.cjs +5 -1
- package/lib/editor/dropdown-list/ibiz-dropdown-list/ibiz-dropdown-list.cjs +28 -19
- package/lib/editor/dropdown-list/ibiz-dropdown-list/ibiz-dropdown-list.css +1 -1
- package/lib/editor/radio-button-list/ibiz-radio/ibiz-radio.cjs +4 -3
- package/lib/editor/span/span/span.cjs +2 -2
- package/lib/editor/text-box/ibiz-input-number/ibiz-input-number.css +1 -1
- package/lib/view-engine/mob-edit-view.engine.cjs +2 -0
- package/lib/view-engine/mob-wf-dyna-edit-view.engine.cjs +2 -1
- package/lib/view-engine/wf-step-trace-view.engine.cjs +4 -1
- package/package.json +6 -6
- package/dist/tree-SFO3fWSy.js +0 -2
- package/dist/tree-SFO3fWSy.js.map +0 -1
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
System.register(["vue","@ibiz-template/vue3-util","@ibiz-template/runtime","qx-util","@ibiz-template-package/vs-tree-ex"],function(g){"use strict";var l,a,u,s,c,d,h,m,f,p;return{setters:[function(t){l=t.defineComponent,a=t.computed,u=t.ref,s=t.createVNode,c=t.resolveComponent},function(t){d=t.useControlController,h=t.useNamespace},function(t){m=t.TreeController},function(t){f=t.createUUID},function(t){p=t.VsTreeComponent}],execute:function(){const t=l({name:"IBizTreeControl",components:{"vs-tree":p},props:{modelData:{type:Object,required:!0},context:{type:Object,required:!0},params:{type:Object,default:()=>({})},mdctrlActiveMode:{type:Number,default:2},singleSelect:{type:Boolean,default:!0}},setup(){var C,b;const o=d((...e)=>new m(...e)),D=h(`control-${o.model.controlType.toLowerCase()}`),T=a(()=>o.state.selectedData.map(e=>e.srfkey)),k=f(),N=u(!0),x=a(()=>o.state.isLoaded?o.model.rootVisible?o.state.rootNodes:o.state.rootNodes.reduce((e,r)=>r.children?e.concat(r.children):e,[]):[]),z=async(e,r)=>{if(!o.state.isLoaded)return;const n=await o.loadNodes(e.data);r(n)},L=(e,r)=>{const{originData:n}=r;o.onTreeNodeClick(n,e)},v=(e,r)=>{e.stopPropagation();const{originData:n}=r;n.leaf&&o.onTreeNodeClick(n,e)},w=e=>({id:e.srfkey,name:e.text,children:e.children,isLeaf:e.leaf}),B=(e,r)=>{const{originData:n}=r;if(!n.leaf)return e("div",{text:"\u4E0B\u7EA7",className:"tree-button",click:(j,i)=>{i.store.breadcrumb.list.push(i),i.setExpand(!0)}})},V=(e,r)=>{const{checked:n}=r;r.setChecked(!n),v(e,r)},y={maxHeight:"100%",checkInherit:!1,nocheckParent:!0,rootName:(b=(C=o.model.detreeNodes)==null?void 0:C.find(e=>e.rootNode))==null?void 0:b.name,renderContent:B,customNodeClick:V};return N.value&&Object.assign(y,{breadcrumb:{el:`#breadcrumb${k}`,link:(e,r)=>r.name}}),{c:o,ns:D,treeData:x,options:y,breadcrumb:N,checkedKeys:T,uuid:k,onNodeCheck:L,onNodeClick:v,loadData:z,treeDataFormat:w}},render(){return s(c("iBizControlBase"),{controller:this.c},{default:()=>[this.breadcrumb&&s(c("van-sticky"),null,{default:()=>[s("div",{id:`breadcrumb${this.uuid}`,class:[this.ns.b("header")]},null)]}),this.c.state.isCreated&&this.c.state.isLoaded&&s(c("vs-tree"),{"show-line":!0,class:[this.ns.b("content")],lazy:!0,strictLeaf:!0,options:this.options,"show-checkbox":!this.c.state.singleSelect,data:this.treeData,highlightCurrent:!0,checkedKeys:this.checkedKeys,format:this.treeDataFormat,load:this.loadData,onCheck:this.onNodeCheck},null)]})}});g({TreeControl:t,default:t})}}});
|
|
2
|
+
//# sourceMappingURL=tree-xaVRfp-8.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tree-xaVRfp-8.js","sources":["../src/control/tree/tree.tsx"],"sourcesContent":["import { useControlController, useNamespace } from '@ibiz-template/vue3-util';\nimport { computed, defineComponent, PropType, ref, VNode } from 'vue';\nimport { IDETree } from '@ibiz/model-core';\nimport { ITreeNodeData, TreeController } from '@ibiz-template/runtime';\nimport { createUUID } from 'qx-util';\nimport { VsTreeComponent } from '@ibiz-template-package/vs-tree-ex';\nimport './tree.scss';\n\nexport const TreeControl = defineComponent({\n name: 'IBizTreeControl',\n components: {\n 'vs-tree': VsTreeComponent,\n },\n props: {\n modelData: { type: Object as PropType<IDETree>, required: true },\n context: { type: Object as PropType<IContext>, required: true },\n params: { type: Object as PropType<IParams>, default: () => ({}) },\n /**\n * 部件行数据默认激活模式\n * - 0 不激活\n * - 1 单击激活\n * - 2 双击激活(默认值)\n *\n * @type {(number | 0 | 1 | 2)}\n */\n mdctrlActiveMode: { type: Number, default: 2 },\n\n /**\n * 是否为单选\n * - true 单选\n * - false 多选\n *\n * @type {(Boolean)}\n */\n singleSelect: { type: Boolean, default: true },\n },\n setup() {\n const c = useControlController<TreeController>(\n (...args) => new TreeController(...args),\n );\n const ns = useNamespace(`control-${c.model.controlType!.toLowerCase()}`);\n // 默认选中项\n const checkedKeys = computed(() => {\n return c.state.selectedData.map(item => item.srfkey);\n });\n\n const uuid = createUUID();\n\n // 启用面包屑功能\n const breadcrumb = ref(true);\n // 节点单击\n\n /** 树展示数据 */\n const treeData = computed(() => {\n if (!c.state.isLoaded) {\n return [];\n }\n return c.model.rootVisible\n ? c.state.rootNodes\n : c.state.rootNodes.reduce<ITreeNodeData[]>((result, nodeData) => {\n if (nodeData.children) {\n return result.concat(nodeData.children);\n }\n return result;\n }, []);\n });\n\n /**\n * 触发节点加载数据\n * @author zk\n * @date 2023-05-29 09:16:07\n * @param {IData} item\n * @param {(nodes: IData[]) => void} callback\n */\n const loadData = async (\n item: IData,\n callback: (nodes: IData[]) => void,\n ) => {\n // 没加载前拦截\n if (!c.state.isLoaded) {\n return;\n }\n // 加载时拦截点击事件\n const nodes = await c.loadNodes(item.data);\n callback(nodes);\n };\n\n /**\n * 多选时选中节点变更\n *\n * @param {ITreeNodeData} nodeData\n */\n const onNodeCheck = (event: MouseEvent, opts: IData) => {\n const { originData } = opts;\n c.onTreeNodeClick(originData, event);\n };\n\n const onNodeClick = (event: MouseEvent, opts: IData) => {\n event.stopPropagation();\n const { originData } = opts;\n if (!originData.leaf) {\n return;\n }\n c.onTreeNodeClick(originData, event);\n };\n\n /**\n * 树数据格式化\n *\n * @author zk\n * @date 2023-07-03 11:07:59\n * @param {ITreeNodeData} data\n * @return {*}\n */\n const treeDataFormat = (data: ITreeNodeData) => {\n return {\n id: data.srfkey,\n name: data.text,\n children: data.children,\n isLeaf: data.leaf,\n };\n };\n\n const renderContent = (\n h: (tag: string, opt: IData) => VNode,\n opts: IData,\n ) => {\n const { originData } = opts;\n if (!originData.leaf) {\n return h('div', {\n text: '下级',\n className: 'tree-button',\n click: (e: Event, _opts: IData) => {\n _opts.store.breadcrumb.list.push(_opts);\n _opts.setExpand(true);\n },\n });\n }\n };\n\n const customNodeClick = (event: MouseEvent, opts: IData) => {\n const { checked } = opts;\n opts.setChecked(!checked);\n onNodeClick(event, opts);\n };\n\n // vs树配置项\n const options = {\n maxHeight: '100%',\n // 继承父状态\n checkInherit: false,\n // 不能选择父节点\n nocheckParent: true,\n rootName: c.model.detreeNodes?.find(item => item.rootNode)?.name,\n renderContent,\n customNodeClick,\n };\n\n if (breadcrumb.value) {\n Object.assign(options, {\n breadcrumb: {\n el: `#breadcrumb${uuid}`,\n link: (node: IData, data: IData) => {\n return data.name;\n },\n },\n });\n }\n return {\n c,\n ns,\n treeData,\n options,\n breadcrumb,\n checkedKeys,\n uuid,\n onNodeCheck,\n onNodeClick,\n loadData,\n treeDataFormat,\n };\n },\n render() {\n return (\n <iBizControlBase controller={this.c}>\n {this.breadcrumb && (\n <van-sticky>\n <div\n id={`breadcrumb${this.uuid}`}\n class={[this.ns.b('header')]}\n ></div>\n </van-sticky>\n )}\n {this.c.state.isCreated && this.c.state.isLoaded && (\n <vs-tree\n show-line\n class={[this.ns.b('content')]}\n lazy={true}\n strictLeaf={true}\n options={this.options}\n show-checkbox={!this.c.state.singleSelect}\n data={this.treeData}\n highlightCurrent={true}\n checkedKeys={this.checkedKeys}\n format={this.treeDataFormat}\n load={this.loadData}\n onCheck={this.onNodeCheck}\n ></vs-tree>\n )}\n </iBizControlBase>\n );\n },\n});\n\nexport default TreeControl;\n"],"names":["TreeControl","defineComponent","components","VsTreeComponent","props","modelData","type","required","context","params","Object","default","setup","c","_a","_b","useControlController","args","TreeController","checkedKeys","useNamespace","computed","item","breadcrumb","ref","result","nodeData","model","loadData","callback","nodes","onNodeCheck","event","opts","originData","onNodeClick","treeDataFormat","data","renderContent","h","e","_opts","customNodeClick","checked","options","srfkey","text","uuid","className","ns","treeData","maxHeight","checkInherit","_createVNode","_resolveComponent","nocheckParent","rootName","value","assign","link","node"],"mappings":"8bASyB,MAAAA,EAAAC,EAAA,CACvBC,KAAAA,kBACE,WAAWC,CACZ,UAAAA,CACDC,EACEC,MAAAA,CAAaC,UAAiC,CAAEC,KAAAA,OAAgB,SAAA,EAChEC,EAAWF,QAAkC,CAAEC,KAAAA,OAAgB,SAAA,EAC/DE,EAAUH,OAAMI,CAA6BC,KAAAA,OAAqB,QAAA,KAAA,CAAA,EAClE,EAQoBL,iBAAY,CAAEK,KAAAA,OAAY,QAAA,CAE9C,EAOgBL,aAAa,CAAEK,KAAAA,QAAc,QAAA,EAC9C,CACDC,EACE,OAAMC,CAGN,IAAAC,EAAQC,EACR,MAAAF,EAAAG,EAAA,IAAAC,IAAA,IAAAC,EAAA,GAAAD,CAAA,CAAA,EACME,EAAWC,EAAW,WAAOP,EAAA,MAAA,YAAA,aAAA,EAAA,EACjCM,EAA2BE,EAAA,IAC3BR,EAAA,MAAA,aAAA,IAAAS,GAAAA,EAAA,MAAA,CAEF,QAEAC,EAAAC,EAAA,EAAA,EACMD,EAAUF,MAChBR,EAAA,MAAA,SAGcA,EAAA,MAAGQ,YAAeR,EAAA,MAAA,UAAAA,EAAA,MAAA,UAAA,OAAA,CAAAY,EAAAC,IACxBA,WACKD,EAAA,OAAAC,EAAA,QAAA,EAEFC,EAGCD,CAAAA,CAAAA,IACF,EACFE,EAAA,MAAAN,EAAAO,IAAA,CACA,GAAA,CAAAhB,EAAA,MAAa,SACd,yCAGPgB,EAAAC,CAAA,CACJ,EACAC,EAAA,CAAAC,EAAAC,IAAA,CACA,KAAA,CACA,WAAAC,CACA,EAAAD,EACApB,EAAA,gBAAAqB,EAAAF,CAAA,CACI,EAIEG,EAAA,CAAAH,EAAAC,IAAA,CACAD,EAAM,gBAAe,EACnB,KAAA,CACF,WAAAE,CACA,EAAAD,EACMH,EAAQ,4BAIhB,EACJM,EAAAC,IACA,CACA,GAAAA,EAAA,OACA,KAAAA,EAAA,KACI,WAAoBN,SACZ,OAAAM,EAAA,IAAEH,GACSI,EAAW,CAAAC,EAAAN,KAC7B,KAAA,CAED,WAAAC,CACO,EAAAD,EACL,GAAM,CAAAC,EAAA,KAAEA,OAAAA,EAAAA,MAAAA,CAAeD,KAAI,eACvB,UAAW,cACb,MAAA,CAAAO,EAAAC,IAAA,CACFA,EAAA,MAAA,WAAA,KAAA,KAAAA,CAAA,EACiBA,EAAA,UAAW,EAAA,CAC7B,GAGL,EACAC,EAAA,CAAAV,EAAAC,IAAA,CACA,KAAA,CACA,QAAAU,CACA,EAAAV,EACAA,EAAA,WAAA,CAAAU,CAAA,EACAR,EAAAH,EAAAC,CAAA,GAEaW,EAAA,WACIC,oBAEK,GAEhB,cAAC,GACF,UAAA9B,GAAAD,EAAAD,EAAA,MAAA,cAAA,KAAA,OAAAC,EAAA,KAAAQ,GAAAA,EAAA,QAAA,IAAA,KAAA,OAAAP,EAAA,KAED,cAAAuB,EAIE,gBAAAI,CAAQR,EAAW,SAAQ,OAC3B,OAAKA,OAAAA,EAAiB,CACpB,WAAS,CACPY,GAAI,cAAMC,CAAA,GACVC,KAAAA,CAAAA,EAAwBX,IACRA,MAEdI,CACF,CAAA,EAEJ,CACD,EAAA5B,EAED,GAAAoC,EACE,SAAAC,EAAQP,QAAAA,EAAQ,WAAApB,EAChBU,YAAAA,EACAE,KAAAA,EACD,YAAAJ,gBAED,SAAAH,EACA,eAAAQ,CACEe,CACA,EACAC,QAAAA,CACA,OAAAC,EAAAC,EAAA,iBAAA,EAAA,CACAC,gBAAmB,CACnBC,EAAAA,CACAlB,QAAa,IAAA,CAAA,KAAA,YAAAe,EAAAC,EAAA,YAAA,EAAA,KAAA,CACbZ,QAAAA,IAAAA,CAAAA,EAAAA,MAAAA,CACD,GAAA,aAAA,KAAA,IAAA,GAEGnB,MAAWkC,CAAAA,KAAO,GAAA,EAAA,QAAA,CAAA,CACpB/C,EAAAA,IAAOgD,CAAAA,CACLnC,CAAAA,EAAAA,KAAAA,EAAAA,MAAY,WAAA,KAAA,EAAA,MAAA,UAAA8B,EAAAC,EAAA,SAAA,EAAA,aACQP,GAClBY,MAAOC,CAAW,KAAEvB,KAAgB,SAAA,CAAA,OAC3BA,GACT,WAAA,GACF,QAAA,KAAA,QACA,gBAAA,CAAA,KAAA,EAAA,MAAA,aACJ,KAAA,KAAA,SACO,iBAAA,GACJ,YAAA,KAAA,YACC,OAAA,KAAA,eACM,KAAA,KAAA,SACD,QAAA,KAAA,WACG,EAAA,IAAA,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.ibiz-control-appmenu-iconview{--ibiz-control-appmenu-icon-width:100%;--ibiz-control-appmenu-icon-view-icon-size:2.1875rem;--ibiz-control-appmenu-icon-view-icon-margin:0.3125rem}.ibiz-control-appmenu-iconview .van-grid-item__text{display:-webkit-box;flex:1;height:-moz-fit-content;height:fit-content;overflow:hidden;text-overflow:ellipsis;-webkit-line-clamp:2;-webkit-box-orient:vertical}.ibiz-control-appmenu-iconview .van-badge__wrapper{display:flex;justify-content:center;width:100%}.ibiz-control-appmenu-iconview .van-grid-item__content--clickable:active{background-color:inherit}.ibiz-control-appmenu-iconview .ibiz-control-appmenu-icon{display:flex;align-items:center;justify-content:center;width:var(--ibiz-control-appmenu-icon-
|
|
1
|
+
.ibiz-control-appmenu-iconview{--ibiz-control-appmenu-icon-width:100%;--ibiz-control-appmenu-icon-view-icon-size:2.1875rem;--ibiz-control-appmenu-icon-view-icon-margin:0.3125rem;--ibiz-control-appmenu-icon-color:var(--ibiz-color-text-0)}.ibiz-control-appmenu-iconview .van-grid-item__text{display:-webkit-box;flex:1;height:-moz-fit-content;height:fit-content;overflow:hidden;text-overflow:ellipsis;-webkit-line-clamp:2;-webkit-box-orient:vertical}.ibiz-control-appmenu-iconview .van-badge__wrapper{display:flex;justify-content:center;width:100%}.ibiz-control-appmenu-iconview .van-grid-item__content--clickable:active{background-color:inherit}.ibiz-control-appmenu-iconview .ibiz-control-appmenu-icon{display:flex;align-items:center;justify-content:center;width:var(--ibiz-control-appmenu-icon-view-icon-size);height:var(--ibiz-control-appmenu-icon-view-icon-size);margin-bottom:var(--ibiz-control-appmenu-icon-view-icon-margin);font-size:var(--ibiz-control-appmenu-icon-view-icon-size);color:var(--ibiz-control-appmenu-icon-color)}.ibiz-control-appmenu-iconview .ibiz-control-appmenu-icon .ibiz-icon{width:100%;height:100%}.ibiz-control-appmenu-iconview .ibiz-control-appmenu-icon svg.icon{width:100%;height:100%}.ibiz-control-appmenu-iconview .ibiz-control-appmenu-icon svg.icon path{fill:var(--ibiz-control-appmenu-icon-color)}.ibiz-icon svg.icon{width:100%;height:100%}.ibiz-icon svg.icon path{fill:currentcolor}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.ibiz-control-appmenu-listview{--ibiz-control-appmenu-list-view-icon-size:var(--ibiz-font-size-header-4);--ibiz-control-appmenu-list-view-font-size:var(--ibiz-font-size-regular);--ibiz-control-appmenu-list-view-padding:0;--ibiz-control-appmenu-list-view-item-padding:0.5rem 1rem;--van-cell-border-color:var(--ibiz-color-border);--van-divider-margin:0.125rem;--van-divider-border-color:transparent;--van-cell-horizontal-padding:0.75rem;--van-cell-active-color:transparent;--van-cell-right-icon-color:var(--van-gray-6);border-radius:var(--ibiz-border-radius-small)}.ibiz-control-appmenu-listview .ibiz-control-appmenu-item{padding:var(--ibiz-control-appmenu-list-view-item-padding);font-size:var(--ibiz-control-appmenu-list-view-font-size)}.ibiz-control-appmenu-listview .ibiz-control-appmenu-item:last-child{border-width:0}.ibiz-control-appmenu-listview .van-cell::after{left:0}.ibiz-control-appmenu-listview .ibiz-control-appmenu-icon{display:flex;align-items:center;justify-content:center;margin-right:var(--ibiz-spacing-tight);font-size:var(--ibiz-control-appmenu-list-view-icon-size)}
|
|
1
|
+
.ibiz-control-appmenu-listview{--ibiz-control-appmenu-list-view-icon-size:var(--ibiz-font-size-header-4);--ibiz-control-appmenu-list-view-font-size:var(--ibiz-font-size-regular);--ibiz-control-appmenu-list-view-color:var(--ibiz-font-size-regular);--ibiz-control-appmenu-list-view-padding:0;--ibiz-control-appmenu-list-view-item-padding:0.5rem 1rem;--ibiz-control-appmenu-list-view-item-color:var(--ibiz-color-text-1);--van-cell-border-color:var(--ibiz-color-border);--van-divider-margin:0.125rem;--van-divider-border-color:transparent;--van-cell-horizontal-padding:0.75rem;--van-cell-active-color:transparent;--van-cell-right-icon-color:var(--van-gray-6);border-radius:var(--ibiz-border-radius-small)}.ibiz-control-appmenu-listview .ibiz-control-appmenu-item{padding:var(--ibiz-control-appmenu-list-view-item-padding);font-size:var(--ibiz-control-appmenu-list-view-font-size);color:var(--ibiz-control-appmenu-list-view-item-color)}.ibiz-control-appmenu-listview .ibiz-control-appmenu-item:last-child{border-width:0}.ibiz-control-appmenu-listview .van-cell::after{left:0}.ibiz-control-appmenu-listview .ibiz-control-appmenu-icon{display:flex;align-items:center;justify-content:center;margin-right:var(--ibiz-spacing-tight);font-size:var(--ibiz-control-appmenu-list-view-icon-size)}.ibiz-control-appmenu-listview .ibiz-control-appmenu-icon .ibiz-icon{display:flex;align-items:center}
|
|
@@ -30,11 +30,10 @@ export declare const CalendarControl: import("vue").DefineComponent<{
|
|
|
30
30
|
}, {
|
|
31
31
|
c: CalendarController;
|
|
32
32
|
ns: import("@ibiz-template/core").Namespace;
|
|
33
|
-
calendarRef: Ref<IData | undefined>;
|
|
34
33
|
markerData: import("vue").ComputedRef<IData>;
|
|
35
|
-
|
|
34
|
+
loadItems: Ref<ICalendarItemData[]>;
|
|
36
35
|
calcItemStyle: (data: ICalendarItemData) => IData;
|
|
37
|
-
|
|
36
|
+
dateChange: (newDate: Date) => void;
|
|
38
37
|
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
|
|
39
38
|
modelData: {
|
|
40
39
|
type: PropType<ISysCalendar>;
|
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
import { isVNode, ref,
|
|
1
|
+
import { isVNode, ref, computed, createVNode, resolveComponent, defineComponent } from 'vue';
|
|
2
2
|
import { useControlController, useNamespace } from '@ibiz-template/vue3-util';
|
|
3
3
|
import './calendar.css';
|
|
4
4
|
import { CalendarController } from '@ibiz-template/runtime';
|
|
5
5
|
import dayjs from 'dayjs';
|
|
6
6
|
import stdin_default from '../../node_modules/.pnpm/vue3-hash-calendar@1.1.3_vue@3.3.9/node_modules/vue3-hash-calendar/es/index.mjs';
|
|
7
7
|
import 'vue3-hash-calendar/es/index.css';
|
|
8
|
+
import { getCurSelectMonthDate, getCurSelectDayDate } from './date-util.mjs';
|
|
8
9
|
|
|
9
10
|
"use strict";
|
|
10
11
|
function _isSlot(s) {
|
|
@@ -37,52 +38,20 @@ const CalendarControl = /* @__PURE__ */ defineComponent({
|
|
|
37
38
|
},
|
|
38
39
|
loadDefault: {
|
|
39
40
|
type: Boolean,
|
|
40
|
-
default:
|
|
41
|
+
default: false
|
|
41
42
|
}
|
|
42
43
|
},
|
|
43
44
|
setup() {
|
|
44
45
|
const c = useControlController((...args) => new CalendarController(...args));
|
|
45
46
|
const ns = useNamespace(`control-${c.model.controlType.toLowerCase()}`);
|
|
46
|
-
const
|
|
47
|
-
const selectDate = (tag) => {
|
|
48
|
-
if (!calendarRef.value)
|
|
49
|
-
return;
|
|
50
|
-
calendarRef.value.selectDate(tag);
|
|
51
|
-
};
|
|
47
|
+
const loadItems = ref([]);
|
|
52
48
|
const markDateItems = ref({});
|
|
53
|
-
const
|
|
54
|
-
const dayStart = new Date(date);
|
|
55
|
-
dayStart.setHours(0, 0, 0, 0);
|
|
56
|
-
const nextDayStart = new Date(date);
|
|
57
|
-
nextDayStart.setDate(nextDayStart.getDate() + 1);
|
|
58
|
-
nextDayStart.setHours(0, 0, 0, 0);
|
|
59
|
-
return {
|
|
60
|
-
dayStart,
|
|
61
|
-
nextDayStart
|
|
62
|
-
};
|
|
63
|
-
};
|
|
64
|
-
watch(() => c.state.selectedDate, (oldVal, newVal) => {
|
|
65
|
-
const oldDateString = dayjs(oldVal).format("YYYY-MM");
|
|
66
|
-
const newDateString = dayjs(newVal).format("YYYY-MM");
|
|
67
|
-
if (oldDateString === newDateString) {
|
|
68
|
-
return;
|
|
69
|
-
}
|
|
70
|
-
const loadParam = {};
|
|
71
|
-
const {
|
|
72
|
-
dayStart,
|
|
73
|
-
nextDayStart
|
|
74
|
-
} = getDayStartAndNextDayStart(c.state.selectedDate);
|
|
75
|
-
Object.assign(loadParam, {
|
|
76
|
-
srfstartdate: dayjs(dayStart).format("YYYY-MM-DD HH:mm:ss"),
|
|
77
|
-
srfenddate: dayjs(nextDayStart).format("YYYY-MM-DD HH:mm:ss")
|
|
78
|
-
});
|
|
79
|
-
c.load(loadParam);
|
|
80
|
-
});
|
|
49
|
+
const loadMarkerItems = ref([]);
|
|
81
50
|
const setMarkDate = (date) => {
|
|
82
51
|
const copyDate = new Date(date);
|
|
83
52
|
const items = markDateItems.value[dayjs(copyDate).format("YYYY-MM")];
|
|
84
53
|
if (!items) {
|
|
85
|
-
markDateItems.value[dayjs(copyDate).format("YYYY-MM")] = [...
|
|
54
|
+
markDateItems.value[dayjs(copyDate).format("YYYY-MM")] = [...loadMarkerItems.value];
|
|
86
55
|
} else {
|
|
87
56
|
const mergeAndFilter = (arr1, arr2) => {
|
|
88
57
|
const mergedArray = arr1.concat(arr2);
|
|
@@ -100,6 +69,19 @@ const CalendarControl = /* @__PURE__ */ defineComponent({
|
|
|
100
69
|
markDateItems.value[dayjs(copyDate).format("YYYY-MM")] = mergeAndFilter(markDateItems.value[dayjs(copyDate).format("YYYY-MM")], c.state.items);
|
|
101
70
|
}
|
|
102
71
|
};
|
|
72
|
+
const loadMarkerData = async (date) => {
|
|
73
|
+
const param = getCurSelectMonthDate(date);
|
|
74
|
+
loadMarkerItems.value = await c.load({
|
|
75
|
+
viewParam: param
|
|
76
|
+
});
|
|
77
|
+
setMarkDate(c.state.selectedDate);
|
|
78
|
+
};
|
|
79
|
+
const loadData = async (date) => {
|
|
80
|
+
const param = getCurSelectDayDate(date);
|
|
81
|
+
loadItems.value = await c.load({
|
|
82
|
+
viewParam: param
|
|
83
|
+
});
|
|
84
|
+
};
|
|
103
85
|
const calcItemStyle = (data) => {
|
|
104
86
|
return {
|
|
105
87
|
color: data.color,
|
|
@@ -125,34 +107,26 @@ const CalendarControl = /* @__PURE__ */ defineComponent({
|
|
|
125
107
|
});
|
|
126
108
|
return date;
|
|
127
109
|
});
|
|
128
|
-
|
|
129
|
-
c.state.selectedDate
|
|
130
|
-
|
|
131
|
-
const {
|
|
132
|
-
dayStart,
|
|
133
|
-
nextDayStart
|
|
134
|
-
} = getDayStartAndNextDayStart(c.state.selectedDate);
|
|
135
|
-
Object.assign(loadParam, {
|
|
136
|
-
viewParam: {
|
|
137
|
-
srfstartdate: dayjs(dayStart).format("YYYY-MM-DD HH:mm:ss"),
|
|
138
|
-
srfenddate: dayjs(nextDayStart).format("YYYY-MM-DD HH:mm:ss")
|
|
139
|
-
}
|
|
140
|
-
});
|
|
141
|
-
setTimeout(() => {
|
|
142
|
-
c.load(loadParam);
|
|
143
|
-
}, 200);
|
|
144
|
-
};
|
|
145
|
-
c.evt.on("onLoadSuccess", () => {
|
|
146
|
-
setMarkDate(c.state.selectedDate);
|
|
110
|
+
c.evt.on("onMounted", () => {
|
|
111
|
+
loadMarkerData(c.state.selectedDate || /* @__PURE__ */ new Date());
|
|
112
|
+
loadData(c.state.selectedDate || /* @__PURE__ */ new Date());
|
|
147
113
|
});
|
|
114
|
+
const dateChange = (newDate) => {
|
|
115
|
+
c.state.selectedDate = newDate;
|
|
116
|
+
loadData(c.state.selectedDate);
|
|
117
|
+
const items = markDateItems.value[dayjs(newDate).format("YYYY-MM")];
|
|
118
|
+
if (items) {
|
|
119
|
+
return;
|
|
120
|
+
}
|
|
121
|
+
loadMarkerData(c.state.selectedDate);
|
|
122
|
+
};
|
|
148
123
|
return {
|
|
149
124
|
c,
|
|
150
125
|
ns,
|
|
151
|
-
calendarRef,
|
|
152
126
|
markerData,
|
|
153
|
-
|
|
127
|
+
loadItems,
|
|
154
128
|
calcItemStyle,
|
|
155
|
-
|
|
129
|
+
dateChange
|
|
156
130
|
};
|
|
157
131
|
},
|
|
158
132
|
render() {
|
|
@@ -230,23 +204,20 @@ const CalendarControl = /* @__PURE__ */ defineComponent({
|
|
|
230
204
|
});
|
|
231
205
|
};
|
|
232
206
|
const renderCalendarListByItemType = (itemType) => {
|
|
233
|
-
const list = this.
|
|
207
|
+
const list = this.loadItems.filter((item) => item.itemType === itemType);
|
|
234
208
|
return renderCalendarList(list);
|
|
235
209
|
};
|
|
236
|
-
return createVNode(resolveComponent("iBizControlBase"), {
|
|
210
|
+
return this.c.state.isCreated && createVNode(resolveComponent("iBizControlBase"), {
|
|
237
211
|
"controller": this.c
|
|
238
212
|
}, {
|
|
239
213
|
default: () => [createVNode("div", {
|
|
240
214
|
"class": this.ns.b("content")
|
|
241
215
|
}, [createVNode(stdin_default, {
|
|
242
216
|
"show-week-view": true,
|
|
217
|
+
"pickerType": "date",
|
|
243
218
|
"onChange": (date) => {
|
|
244
|
-
this.
|
|
245
|
-
}
|
|
246
|
-
"onClick": (date) => {
|
|
247
|
-
this.onClick(date);
|
|
248
|
-
},
|
|
249
|
-
"ref": "calendarRef"
|
|
219
|
+
this.dateChange(date);
|
|
220
|
+
}
|
|
250
221
|
}, {
|
|
251
222
|
day: ({
|
|
252
223
|
date
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 获取当前选中月份区间日期
|
|
3
|
+
*
|
|
4
|
+
* @author zk
|
|
5
|
+
* @date 2023-12-21 05:12:44
|
|
6
|
+
* @export
|
|
7
|
+
* @param {Date} selectedDate
|
|
8
|
+
* @return {*} {IData}
|
|
9
|
+
*/
|
|
10
|
+
export declare function getCurSelectMonthDate(selectedDate: Date): IData;
|
|
11
|
+
/**
|
|
12
|
+
* 获取当前选中日区间日期
|
|
13
|
+
*
|
|
14
|
+
* @author zk
|
|
15
|
+
* @date 2023-12-21 05:12:28
|
|
16
|
+
* @export
|
|
17
|
+
* @param {Date} selectedDate
|
|
18
|
+
* @return {*} {IData}
|
|
19
|
+
*/
|
|
20
|
+
export declare function getCurSelectDayDate(date: Date): IData;
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import dayjs from 'dayjs';
|
|
2
|
+
|
|
3
|
+
"use strict";
|
|
4
|
+
function getCurSelectMonthDate(selectedDate) {
|
|
5
|
+
const firstDayOfMonth = new Date(
|
|
6
|
+
selectedDate.getFullYear(),
|
|
7
|
+
selectedDate.getMonth(),
|
|
8
|
+
1
|
|
9
|
+
);
|
|
10
|
+
const lastDayOfMonth = new Date(
|
|
11
|
+
selectedDate.getFullYear(),
|
|
12
|
+
selectedDate.getMonth() + 1,
|
|
13
|
+
1
|
|
14
|
+
);
|
|
15
|
+
return {
|
|
16
|
+
srfstartdate: dayjs(firstDayOfMonth).format("YYYY-MM-DD HH:mm:ss"),
|
|
17
|
+
srfenddate: dayjs(lastDayOfMonth).format("YYYY-MM-DD HH:mm:ss")
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
function getCurSelectDayDate(date) {
|
|
21
|
+
const dayStart = new Date(date);
|
|
22
|
+
dayStart.setHours(0, 0, 0, 0);
|
|
23
|
+
const nextDayStart = new Date(date);
|
|
24
|
+
nextDayStart.setDate(nextDayStart.getDate() + 1);
|
|
25
|
+
nextDayStart.setHours(0, 0, 0, 0);
|
|
26
|
+
return {
|
|
27
|
+
srfstartdate: dayjs(dayStart).format("YYYY-MM-DD HH:mm:ss"),
|
|
28
|
+
srfenddate: dayjs(nextDayStart).format("YYYY-MM-DD HH:mm:ss")
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
export { getCurSelectDayDate, getCurSelectMonthDate };
|
|
@@ -26,11 +26,10 @@ export declare const IBizCalendarControl: import("@ibiz-template/vue3-util").Typ
|
|
|
26
26
|
}, {
|
|
27
27
|
c: import("@ibiz-template/runtime").CalendarController;
|
|
28
28
|
ns: import("@ibiz-template/core").Namespace;
|
|
29
|
-
calendarRef: import("vue").Ref<IData | undefined>;
|
|
30
29
|
markerData: import("vue").ComputedRef<IData>;
|
|
31
|
-
|
|
30
|
+
loadItems: import("vue").Ref<import("@ibiz-template/runtime").ICalendarItemData[]>;
|
|
32
31
|
calcItemStyle: (data: import("@ibiz-template/runtime").ICalendarItemData) => IData;
|
|
33
|
-
|
|
32
|
+
dateChange: (newDate: Date) => void;
|
|
34
33
|
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
|
|
35
34
|
modelData: {
|
|
36
35
|
type: import("vue").PropType<import("@ibiz/model-core").ISysCalendar>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.ibiz-control-captionbar{--ibiz-control-captionbar-color:var(--ibiz-color-text-0);--ibiz-control-captionbar-font-size:var(--ibiz-font-size-header-5);--ibiz-control-captionbar-sub-main-font-size:var(--ibiz-font-size-header-6);--ibiz-control-captionbar-font-weight:var(--ibiz-font-weight-bold);--ibiz-control-captionbar-line-height:1.625rem;--ibiz-control-captionbar-text-align:center;--ibiz-control-captionbar-min-height:var(--ibiz-spacing-super-loose);--ibiz-control-captionbar-sub-caption-font-size:var(--ibiz-font-size-regular);--ibiz-control-captionbar-sub-caption-color:var(--ibiz-color-text-2);--ibiz-control-captionbar-padding:var(--ibiz-spacing-tight) 0;position:relative;display:flex;flex-direction:column;align-items:center;height:100%;min-height:var(--ibiz-control-captionbar-min-height);padding:var(--ibiz-control-captionbar-padding)}.ibiz-control-captionbar.is-hasSub .ibiz-control-captionbar-caption{font-size:var(--ibiz-control-captionbar-sub-main-font-size)}.ibiz-control-captionbar .ibiz-control-captionbar-caption{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;position:relative;width:100%;height:100%;font-size:var(--ibiz-control-captionbar-font-size);font-weight:var(--ibiz-control-captionbar-font-weight);line-height:var(--ibiz-control-captionbar-line-height);color:var(--ibiz-control-captionbar-color);text-align:var(--ibiz-control-captionbar-text-align)}.ibiz-control-captionbar .ibiz-control-captionbar-sub-caption{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;position:relative;display:flex;align-items:center;justify-content:center;width:100%;height:100%;font-size:var(--ibiz-control-captionbar-sub-caption-font-size);color:var(--ibiz-control-captionbar-sub-caption-color);text-align:var(--ibiz-control-captionbar-text-align)}
|
|
1
|
+
.ibiz-control-captionbar{--ibiz-control-captionbar-color:var(--ibiz-color-text-0);--ibiz-control-captionbar-font-size:var(--ibiz-font-size-header-5);--ibiz-control-captionbar-sub-main-font-size:var(--ibiz-font-size-header-6);--ibiz-control-captionbar-font-weight:var(--ibiz-font-weight-bold);--ibiz-control-captionbar-line-height:1.625rem;--ibiz-control-captionbar-text-align:center;--ibiz-control-captionbar-min-height:var(--ibiz-spacing-super-loose);--ibiz-control-captionbar-sub-caption-font-size:var(--ibiz-font-size-regular);--ibiz-control-captionbar-sub-caption-color:var(--ibiz-color-text-2);--ibiz-control-captionbar-padding:var(--ibiz-spacing-tight) 0;position:relative;display:flex;flex-direction:column;align-items:center;height:100%;min-height:var(--ibiz-control-captionbar-min-height);padding:var(--ibiz-control-captionbar-padding)}.ibiz-control-captionbar.is-hasSub .ibiz-control-captionbar-caption{font-size:var(--ibiz-control-captionbar-sub-main-font-size)}.ibiz-control-captionbar-caption__icon{display:inline;margin-right:var(--ibiz-spacing-tight)}.ibiz-control-captionbar .ibiz-control-captionbar-caption{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;position:relative;display:flex;width:100%;height:100%;font-size:var(--ibiz-control-captionbar-font-size);font-weight:var(--ibiz-control-captionbar-font-weight);line-height:var(--ibiz-control-captionbar-line-height);color:var(--ibiz-control-captionbar-color);text-align:var(--ibiz-control-captionbar-text-align)}.ibiz-control-captionbar .ibiz-control-captionbar-sub-caption{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;position:relative;display:flex;align-items:center;justify-content:center;width:100%;height:100%;font-size:var(--ibiz-control-captionbar-sub-caption-font-size);color:var(--ibiz-control-captionbar-sub-caption-color);text-align:var(--ibiz-control-captionbar-text-align)}
|
|
@@ -31,11 +31,14 @@ const CaptionBarControl = /* @__PURE__ */ defineComponent({
|
|
|
31
31
|
render() {
|
|
32
32
|
return createVNode(resolveComponent("iBizControlBase"), {
|
|
33
33
|
"controller": this.c,
|
|
34
|
-
"class": [this.ns.b(), this.ns.is("hasSub", Boolean(this.modelData.subCaption))]
|
|
34
|
+
"class": [this.ns.b(), this.ns.is("hasSub", Boolean(this.modelData.subCaption)), this.ns.is("show-icon", !!this.c.model.sysImage)]
|
|
35
35
|
}, {
|
|
36
36
|
default: () => [createVNode("div", {
|
|
37
37
|
"class": this.ns.b("caption")
|
|
38
|
-
}, [this.c.
|
|
38
|
+
}, [this.c.model.sysImage && createVNode(resolveComponent("iBizIcon"), {
|
|
39
|
+
"class": [this.ns.be("caption", "icon")],
|
|
40
|
+
"icon": this.c.model.sysImage
|
|
41
|
+
}, null), this.c.state.caption]), this.modelData.subCaption && createVNode("div", {
|
|
39
42
|
"class": this.ns.b("sub-caption")
|
|
40
43
|
}, [this.modelData.subCaption])]
|
|
41
44
|
});
|
|
@@ -13,7 +13,7 @@ export declare const IBizToolbarControl: import("@ibiz-template/vue3-util").Type
|
|
|
13
13
|
};
|
|
14
14
|
}, {
|
|
15
15
|
c: import("@ibiz-template/runtime").ToolbarController<import("@ibiz/model-core").IControl, import("@ibiz-template/runtime").IToolbarState, import("@ibiz-template/runtime").IToolbarEvent>;
|
|
16
|
-
btnSize: import("vue").ComputedRef<
|
|
16
|
+
btnSize: import("vue").ComputedRef<"small" | "normal">;
|
|
17
17
|
ns: import("@ibiz-template/core").Namespace;
|
|
18
18
|
position: string;
|
|
19
19
|
handleClick: (item: import("@ibiz/model-core").IDEToolbarItem | import("@ibiz-template/runtime").IExtraButton, event: MouseEvent) => Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.ibiz-control-toolbar{--ibiz-control-toolbar-item-margin:0 0.25rem;--ibiz-control-toolbar-icon-margin:0 0.3125rem 0 0;--ibiz-control-toolbar-icon-max-width:1rem;--ibiz-control-toolbar-icon-max-height:1rem;--ibiz-control-toolbar-icon-font-size:1.25rem;display:flex;height:100%}.ibiz-control-toolbar__item{display:flex;align-items:center;margin:var(--ibiz-control-toolbar-item-margin)}.ibiz-control-toolbar__item-left{margin-left:0}.ibiz-control-toolbar__item-left .van-button{background-color:transparent;border:none}.ibiz-control-toolbar__item-left .van-button ion-icon{font-size:var(--ibiz-control-toolbar-icon-font-size)}.ibiz-control-toolbar__item-left .van-button .van-button__text{display:flex;align-items:center}.ibiz-control-toolbar__item-right{margin-right:0;background-color:transparent}.ibiz-control-toolbar__item-right .van-button{background-color:transparent;border:none}.ibiz-control-toolbar__item-right .van-button ion-icon{font-size:var(--ibiz-control-toolbar-icon-font-size)}.ibiz-control-toolbar__item-right .van-button .van-button__text{display:flex;align-items:center}.ibiz-control-toolbar__item-separator+.ibiz-control-toolbar__item-separator,.ibiz-control-toolbar__item-separator:first-child{display:none}.ibiz-control-toolbar-mobnavrightmenu__item{margin-right:0}.ibiz-control-toolbar-right{justify-content:flex-end}
|
|
1
|
+
.ibiz-control-toolbar{--ibiz-control-toolbar-item-margin:0 0.25rem;--ibiz-control-toolbar-icon-margin:0 0.3125rem 0 0;--ibiz-control-toolbar-icon-max-width:1rem;--ibiz-control-toolbar-icon-max-height:1rem;--ibiz-control-toolbar-icon-font-size:1.25rem;--ibiz-control-toolbar-toolbar-bottom-padding:var(--ibiz-spacing-base-tight);display:flex;height:100%}.ibiz-control-toolbar__item{display:flex;align-items:center;margin:var(--ibiz-control-toolbar-item-margin)}.ibiz-control-toolbar__item-left{margin-left:0}.ibiz-control-toolbar__item-left .van-button{background-color:transparent;border:none}.ibiz-control-toolbar__item-left .van-button ion-icon{font-size:var(--ibiz-control-toolbar-icon-font-size)}.ibiz-control-toolbar__item-left .van-button .van-button__text{display:flex;align-items:center}.ibiz-control-toolbar__item-right{margin-right:0;background-color:transparent}.ibiz-control-toolbar__item-right .van-button{background-color:transparent;border:none}.ibiz-control-toolbar__item-right .van-button ion-icon{font-size:var(--ibiz-control-toolbar-icon-font-size)}.ibiz-control-toolbar__item-right .van-button .van-button__text{display:flex;align-items:center}.ibiz-control-toolbar__item-separator+.ibiz-control-toolbar__item-separator,.ibiz-control-toolbar__item-separator:first-child{display:none}.ibiz-control-toolbar-mobnavrightmenu__item{margin-right:0}.ibiz-control-toolbar-right{justify-content:flex-end}.ibiz-control-toolbar-bottom{display:flex;padding:var(--ibiz-control-toolbar-toolbar-bottom-padding)}.ibiz-control-toolbar-bottom .ibiz-control-toolbar__item{flex:1;--van-button-default-height:2.5rem}.ibiz-control-toolbar-bottom .ibiz-control-toolbar__item button{width:100%}.ibiz-control-toolbar-bottom .ibiz-control-toolbar__item .van-button__text{display:flex;gap:8px;align-items:center}
|
|
@@ -17,7 +17,7 @@ export declare const ToolbarControl: import("vue").DefineComponent<{
|
|
|
17
17
|
};
|
|
18
18
|
}, {
|
|
19
19
|
c: ToolbarController<import("@ibiz/model-core").IControl, import("@ibiz-template/runtime").IToolbarState, import("@ibiz-template/runtime").IToolbarEvent>;
|
|
20
|
-
btnSize: import("vue").ComputedRef<
|
|
20
|
+
btnSize: import("vue").ComputedRef<"small" | "normal">;
|
|
21
21
|
ns: import("@ibiz-template/core").Namespace;
|
|
22
22
|
position: string;
|
|
23
23
|
handleClick: (item: IDEToolbarItem | IExtraButton, event: MouseEvent) => Promise<void>;
|
|
@@ -44,9 +44,6 @@ const ToolbarControl = /* @__PURE__ */ defineComponent({
|
|
|
44
44
|
setup(props) {
|
|
45
45
|
const c = useControlController((...args) => new ToolbarController(...args));
|
|
46
46
|
const ns = useNamespace(`control-${c.model.controlType.toLowerCase()}`);
|
|
47
|
-
const btnSize = computed(() => {
|
|
48
|
-
return c.state.viewMode === "EMBED" ? "small" : "small";
|
|
49
|
-
});
|
|
50
47
|
const handleClick = async (item, event) => {
|
|
51
48
|
await c.onItemClick(item, event);
|
|
52
49
|
};
|
|
@@ -58,12 +55,18 @@ const ToolbarControl = /* @__PURE__ */ defineComponent({
|
|
|
58
55
|
case "MOBNAVLEFTMENU":
|
|
59
56
|
position = "left";
|
|
60
57
|
break;
|
|
61
|
-
case "
|
|
58
|
+
case "MOBBOTTOMMENU":
|
|
62
59
|
position = "bottom";
|
|
63
60
|
break;
|
|
64
61
|
default:
|
|
65
62
|
break;
|
|
66
63
|
}
|
|
64
|
+
const btnSize = computed(() => {
|
|
65
|
+
return position === "bottom" ? "normal" : "small";
|
|
66
|
+
});
|
|
67
|
+
const btnType = (item) => {
|
|
68
|
+
return item.actionLevel > 100 ? "primary " : "default";
|
|
69
|
+
};
|
|
67
70
|
const renderExtraButtons = (extraButtons) => {
|
|
68
71
|
return extraButtons.map((button) => {
|
|
69
72
|
let _slot;
|
|
@@ -116,6 +119,7 @@ const ToolbarControl = /* @__PURE__ */ defineComponent({
|
|
|
116
119
|
}, [createVNode(resolveComponent("van-button"), {
|
|
117
120
|
"title": item.tooltip,
|
|
118
121
|
"size": btnSize.value,
|
|
122
|
+
"type": btnType(item),
|
|
119
123
|
"loading": c.state.buttonsState[itemId].loading,
|
|
120
124
|
"disabled": c.state.buttonsState[itemId].disabled,
|
|
121
125
|
"onClick": (e) => handleClick(item, e)
|
|
@@ -39,7 +39,7 @@ export declare const TreeControl: import("vue").DefineComponent<{
|
|
|
39
39
|
default: boolean;
|
|
40
40
|
};
|
|
41
41
|
}, {
|
|
42
|
-
c: TreeController
|
|
42
|
+
c: TreeController<IDETree, import("@ibiz-template/runtime").ITreeState, import("@ibiz-template/runtime").ITreeEvent>;
|
|
43
43
|
ns: import("@ibiz-template/core").Namespace;
|
|
44
44
|
treeData: import("vue").ComputedRef<ITreeNodeData[]>;
|
|
45
45
|
options: {
|
|
@@ -50,13 +50,13 @@ export declare const TreeControl: import("vue").DefineComponent<{
|
|
|
50
50
|
renderContent: (h: (tag: string, opt: IData) => VNode, opts: IData) => VNode<import("vue").RendererNode, import("vue").RendererElement, {
|
|
51
51
|
[key: string]: any;
|
|
52
52
|
}> | undefined;
|
|
53
|
-
customNodeClick: (event:
|
|
53
|
+
customNodeClick: (event: MouseEvent, opts: IData) => void;
|
|
54
54
|
};
|
|
55
55
|
breadcrumb: import("vue").Ref<boolean>;
|
|
56
56
|
checkedKeys: import("vue").ComputedRef<any[]>;
|
|
57
57
|
uuid: string;
|
|
58
|
-
onNodeCheck: (event:
|
|
59
|
-
onNodeClick: (event:
|
|
58
|
+
onNodeCheck: (event: MouseEvent, opts: IData) => void;
|
|
59
|
+
onNodeClick: (event: MouseEvent, opts: IData) => void;
|
|
60
60
|
loadData: (item: IData, callback: (nodes: IData[]) => void) => Promise<void>;
|
|
61
61
|
treeDataFormat: (data: ITreeNodeData) => {
|
|
62
62
|
id: string | undefined;
|
package/es/control/tree/tree.mjs
CHANGED
|
@@ -79,7 +79,7 @@ const TreeControl = /* @__PURE__ */ defineComponent({
|
|
|
79
79
|
const {
|
|
80
80
|
originData
|
|
81
81
|
} = opts;
|
|
82
|
-
c.onTreeNodeClick(originData);
|
|
82
|
+
c.onTreeNodeClick(originData, event);
|
|
83
83
|
};
|
|
84
84
|
const onNodeClick = (event, opts) => {
|
|
85
85
|
event.stopPropagation();
|
|
@@ -89,7 +89,7 @@ const TreeControl = /* @__PURE__ */ defineComponent({
|
|
|
89
89
|
if (!originData.leaf) {
|
|
90
90
|
return;
|
|
91
91
|
}
|
|
92
|
-
c.onTreeNodeClick(originData);
|
|
92
|
+
c.onTreeNodeClick(originData, event);
|
|
93
93
|
};
|
|
94
94
|
const treeDataFormat = (data) => {
|
|
95
95
|
return {
|
|
@@ -74,7 +74,10 @@ const IBizDataMPicker = /* @__PURE__ */ defineComponent({
|
|
|
74
74
|
render() {
|
|
75
75
|
const renderToolbar = () => {
|
|
76
76
|
return createVNode("div", {
|
|
77
|
-
"class": this.ns.b("toolbar")
|
|
77
|
+
"class": this.ns.b("toolbar"),
|
|
78
|
+
"onClick": (e) => {
|
|
79
|
+
e.stopPropagation();
|
|
80
|
+
}
|
|
78
81
|
}, [createVNode("button", {
|
|
79
82
|
"type": "button",
|
|
80
83
|
"class": this.ns.be("toolbar", "cancel"),
|
|
@@ -102,7 +105,8 @@ const IBizDataMPicker = /* @__PURE__ */ defineComponent({
|
|
|
102
105
|
return createVNode(resolveComponent("van-cell"), {
|
|
103
106
|
"title": item.text,
|
|
104
107
|
"clickable": true,
|
|
105
|
-
"onClick": () => {
|
|
108
|
+
"onClick": (e) => {
|
|
109
|
+
e.stopPropagation();
|
|
106
110
|
this.toggle(index);
|
|
107
111
|
}
|
|
108
112
|
}, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
@charset "UTF-8";.ibiz-mpicker
|
|
1
|
+
@charset "UTF-8";.ibiz-mpicker .van-field{font-size:var(--ibiz-form-item-font-size)}.ibiz-mpicker .van-field::after{display:none}.ibiz-mpicker .van-field__right-icon button{color:var(--van-field-right-icon-color);border:none}.ibiz-mpicker .van-field__control--custom{flex-wrap:wrap}.ibiz-mpicker .van-field__control{gap:var(--ibiz-spacing-tight)}.ibiz-mpicker input:disabled{color:var(--ibiz-form-item-disabled-color);background-color:var(--ibiz-form-item-disabled-bg-color);border-color:var(--ibiz-form-item-disabled-border-color);-webkit-text-fill-color:var(--ibiz-form-item-disabled-color)}.ibiz-mpicker--disabled{opacity:.8}.ibiz-mpicker--readonly{color:var(--ibiz-form-item-readonly-color);-webkit-text-fill-color:var(--ibiz-form-item-readonly-color)}.ibiz-mpicker .ibiz-mpicker-select-item{display:flex;gap:var(--ibiz-spacing-tight);align-items:center;justify-content:space-between;padding:var(--ibiz-spacing-tight);background-color:var(--ibiz-color-disabled-bg);border-radius:var(--ibiz-border-radius-small)}
|
|
@@ -174,15 +174,19 @@ const IBizMPicker = /* @__PURE__ */ defineComponent({
|
|
|
174
174
|
}, {
|
|
175
175
|
input: () => {
|
|
176
176
|
return this.selectItems.map((item) => {
|
|
177
|
-
return createVNode(
|
|
178
|
-
"
|
|
179
|
-
|
|
180
|
-
"
|
|
177
|
+
return createVNode("div", {
|
|
178
|
+
"class": this.ns.b("select-item")
|
|
179
|
+
}, [createVNode("div", {
|
|
180
|
+
"class": this.ns.be("select-item", "text")
|
|
181
|
+
}, [item.srfmajortext]), createVNode("div", {
|
|
182
|
+
"class": this.ns.be("select-item", "close")
|
|
183
|
+
}, [createVNode(resolveComponent("van-icon"), {
|
|
184
|
+
"name": "cross",
|
|
185
|
+
"onClick": (e) => {
|
|
186
|
+
e.stopPropagation();
|
|
181
187
|
this.onRemove(item[this.c.keyName]);
|
|
182
188
|
}
|
|
183
|
-
},
|
|
184
|
-
default: () => [item.srfmajortext]
|
|
185
|
-
});
|
|
189
|
+
}, null)])]);
|
|
186
190
|
});
|
|
187
191
|
},
|
|
188
192
|
"right-icon": () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.ibiz-picker{height:100%}.ibiz-picker .van-field{font-size:var(--ibiz-form-item-font-size)}.ibiz-picker .van-field__button button{color:var(--van-field-right-icon-color);border:none}.ibiz-picker ion-icon{cursor:pointer}.ibiz-picker__buns-position{position:relative;display:inline-block}.ibiz-picker__btns{position:absolute;right:0;display:flex}.ibiz-picker__btns span{display:flex;flex-flow:column nowrap;justify-content:center}.ibiz-picker__autocomplete{display:flex}.ibiz-picker__autocomplete .el-autocomplete{width:100%}.ibiz-picker__transfer-item{padding:.3125rem;cursor:pointer}.ibiz-picker__transfer-item:hover{background-color:var(--ibiz-form-item-hover-bg-color)}.ibiz-picker__link{width:2rem;height:2rem;padding:0 .375rem}.ibiz-picker--disabled ion-icon{pointer-events:none}.ibiz-picker--readonly{color:var(--ibiz-form-item-readonly-color)}.ibiz-picker input:disabled{color:var(--ibiz-form-item-disabled-color);background-color:var(--ibiz-form-item-disabled-bg-color);border-color:var(--ibiz-form-item-disabled-border-color);-webkit-text-fill-color:var(--ibiz-form-item-disabled-color)}.ibiz-picker--readonly{color:var(--ibiz-form-item-readonly-color);-webkit-text-fill-color:var(--ibiz-form-item-readonly-color)}
|
|
1
|
+
.ibiz-picker{height:100%}.ibiz-picker .van-field{font-size:var(--ibiz-form-item-font-size)}.ibiz-picker .van-field::after{display:none}.ibiz-picker .van-field__button button{color:var(--van-field-right-icon-color);border:none}.ibiz-picker ion-icon{cursor:pointer}.ibiz-picker__buns-position{position:relative;display:inline-block}.ibiz-picker__btns{position:absolute;right:0;display:flex}.ibiz-picker__btns span{display:flex;flex-flow:column nowrap;justify-content:center}.ibiz-picker__autocomplete{display:flex}.ibiz-picker__autocomplete .el-autocomplete{width:100%}.ibiz-picker__transfer-item{padding:.3125rem;cursor:pointer}.ibiz-picker__transfer-item:hover{background-color:var(--ibiz-form-item-hover-bg-color)}.ibiz-picker__link{width:2rem;height:2rem;padding:0 .375rem}.ibiz-picker--disabled ion-icon{pointer-events:none}.ibiz-picker--readonly{color:var(--ibiz-form-item-readonly-color)}.ibiz-picker input:disabled{color:var(--ibiz-form-item-disabled-color);background-color:var(--ibiz-form-item-disabled-bg-color);border-color:var(--ibiz-form-item-disabled-border-color);-webkit-text-fill-color:var(--ibiz-form-item-disabled-color)}.ibiz-picker--readonly{color:var(--ibiz-form-item-readonly-color);-webkit-text-fill-color:var(--ibiz-form-item-readonly-color)}
|
|
@@ -27,12 +27,8 @@ export declare const IBizPickerSelectView: import("vue").DefineComponent<{
|
|
|
27
27
|
context: Ref<{
|
|
28
28
|
[x: string]: any;
|
|
29
29
|
[x: symbol]: any;
|
|
30
|
-
|
|
30
|
+
srfsessionid: string;
|
|
31
31
|
srfappid: string;
|
|
32
|
-
getOwnContext: () => IData;
|
|
33
|
-
destroy: () => void;
|
|
34
|
-
clone: () => IContext;
|
|
35
|
-
reset: (context?: IData | undefined, parent?: IContext | undefined) => void;
|
|
36
32
|
}>;
|
|
37
33
|
params: Ref<IParams>;
|
|
38
34
|
editorRef: Ref<any>;
|
|
@@ -58,7 +58,11 @@ const IBizDropdown = /* @__PURE__ */ defineComponent({
|
|
|
58
58
|
immediate: true
|
|
59
59
|
});
|
|
60
60
|
const valueText = computed(() => {
|
|
61
|
-
const index = items.value.findIndex(
|
|
61
|
+
const index = items.value.findIndex(
|
|
62
|
+
// 不匹配类型 兼容数值属性配置字符串代码表
|
|
63
|
+
// eslint-disable-next-line eqeqeq
|
|
64
|
+
(item) => item.value == curValue.value
|
|
65
|
+
);
|
|
62
66
|
if (index !== -1) {
|
|
63
67
|
return items.value[index].text;
|
|
64
68
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.ibiz-dropdown-list{height:100
|
|
1
|
+
.ibiz-dropdown-list{height:100%}.ibiz-dropdown-list .van-field__control{gap:var(--ibiz-spacing-tight)}.ibiz-dropdown-list .van-picker .van-picker__mask{background-image:var(--ibiz-color-overlay-bg)}.ibiz-dropdown-list .ibiz-dropdown-list-toolbar{display:flex;align-items:center;justify-content:space-between;padding:var(--ibiz-spacing-base-tight)}.ibiz-dropdown-list .ibiz-dropdown-list-toolbar button{padding:0;background-color:transparent;border:none}.ibiz-dropdown-list-toolbar__confirm{color:var(--ibiz-color-primary)}.ibiz-dropdown-list-toolbar__cancel{color:var(--ibiz-color-text-3)}.ibiz-dropdown-list .ibiz-dropdown-list-columns{min-height:30vh;max-height:50vh;overflow:auto}.ibiz-dropdown-list .ibiz-dropdown-list-columns .van-cell-group{height:100%;overflow:auto}.ibiz-dropdown-list .ibiz-dropdown-list-columns .van-cell{padding:var(--ibiz-spacing-base-tight)}.ibiz-dropdown-list input:disabled{color:var(--ibiz-form-item-disabled-color);background-color:var(--ibiz-form-item-disabled-bg-color);border-color:var(--ibiz-form-item-disabled-border-color);-webkit-text-fill-color:var(--ibiz-form-item-disabled-color)}.ibiz-dropdown-list--disabled{opacity:.8}.ibiz-dropdown-list--readonly{color:var(--ibiz-form-item-readonly-color);-webkit-text-fill-color:var(--ibiz-form-item-readonly-color)}.ibiz-dropdown-list .van-cell-group--inset{margin:0}.ibiz-dropdown-list .ibiz-dropdown-list-select-item{display:flex;gap:var(--ibiz-spacing-tight);align-items:center;justify-content:space-between;padding:var(--ibiz-spacing-tight);background-color:var(--ibiz-color-disabled-bg);border-radius:var(--ibiz-border-radius-small)}.ibiz-dropdown-list__select::after{display:none}.ibiz-dropdown-list .van-cell__title,.ibiz-dropdown-list .van-cell__value{text-align:left}
|
|
@@ -20,13 +20,20 @@ const IBizDropdownList = /* @__PURE__ */ defineComponent({
|
|
|
20
20
|
if (!props.value) {
|
|
21
21
|
return [];
|
|
22
22
|
}
|
|
23
|
-
return items.value.filter((item) => (props.value.split(",") || []).findIndex(
|
|
23
|
+
return items.value.filter((item) => (props.value.split(",") || []).findIndex(
|
|
24
|
+
// 不用判断类型兼容类型不匹配
|
|
25
|
+
// eslint-disable-next-line eqeqeq
|
|
26
|
+
(value) => item.value == value
|
|
27
|
+
) !== -1);
|
|
24
28
|
});
|
|
25
29
|
const selectKeys = computed(() => {
|
|
26
30
|
if (!props.value) {
|
|
27
31
|
return [];
|
|
28
32
|
}
|
|
29
|
-
return items.value.filter((item) => (props.value.split(",") || []).findIndex(
|
|
33
|
+
return items.value.filter((item) => (props.value.split(",") || []).findIndex(
|
|
34
|
+
// eslint-disable-next-line eqeqeq
|
|
35
|
+
(value) => item.value == value
|
|
36
|
+
) !== -1).map((item) => item.value);
|
|
30
37
|
});
|
|
31
38
|
c.loadCodeList(props.data).then((codeList) => {
|
|
32
39
|
items.value = codeList;
|
|
@@ -42,16 +49,14 @@ const IBizDropdownList = /* @__PURE__ */ defineComponent({
|
|
|
42
49
|
const onConfirm = (selects) => {
|
|
43
50
|
showPicker.value = false;
|
|
44
51
|
const valArr = [];
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
emit("change", value);
|
|
54
|
-
}
|
|
52
|
+
selects.forEach((select) => {
|
|
53
|
+
const findItem = items.value.find((item) => Object.is(item.value, select));
|
|
54
|
+
if (findItem) {
|
|
55
|
+
valArr.push(findItem);
|
|
56
|
+
}
|
|
57
|
+
});
|
|
58
|
+
const value = valArr.length > 0 ? valArr.map((item) => item.value).join(",") : "";
|
|
59
|
+
emit("change", value);
|
|
55
60
|
};
|
|
56
61
|
const onRemove = (item) => {
|
|
57
62
|
if (props.readonly || props.disabled) {
|
|
@@ -95,15 +100,19 @@ const IBizDropdownList = /* @__PURE__ */ defineComponent({
|
|
|
95
100
|
"right-icon": createVNode(IBizCommonRightIcon, null, null),
|
|
96
101
|
input: () => {
|
|
97
102
|
return this.selectItems.map((item) => {
|
|
98
|
-
return createVNode(
|
|
99
|
-
"
|
|
100
|
-
|
|
101
|
-
"
|
|
103
|
+
return createVNode("div", {
|
|
104
|
+
"class": this.ns.b("select-item")
|
|
105
|
+
}, [createVNode("div", {
|
|
106
|
+
"class": this.ns.be("select-item", "text")
|
|
107
|
+
}, [item.text]), createVNode("div", {
|
|
108
|
+
"class": this.ns.be("select-item", "close")
|
|
109
|
+
}, [createVNode(resolveComponent("van-icon"), {
|
|
110
|
+
"name": "cross",
|
|
111
|
+
"onClick": (e) => {
|
|
112
|
+
e.stopPropagation();
|
|
102
113
|
this.onRemove(item);
|
|
103
114
|
}
|
|
104
|
-
},
|
|
105
|
-
default: () => [item.text]
|
|
106
|
-
});
|
|
115
|
+
}, null)])]);
|
|
107
116
|
});
|
|
108
117
|
}
|
|
109
118
|
}), createVNode(IBizDataMPicker, {
|