@ibiz-template/mob-vue3-components 0.0.7 → 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.
Files changed (55) hide show
  1. package/dist/index.min.css +1 -1
  2. package/dist/index.system.min.js +5 -5
  3. package/dist/index.system.min.js.map +1 -1
  4. package/dist/tree-xaVRfp-8.js +2 -0
  5. package/dist/tree-xaVRfp-8.js.map +1 -0
  6. package/es/control/app-menu-icon-view/app-menu-icon-view.css +1 -1
  7. package/es/control/app-menu-list-view/app-menu-list-view.css +1 -1
  8. package/es/control/calendar/calendar.d.ts +2 -3
  9. package/es/control/calendar/calendar.mjs +38 -67
  10. package/es/control/calendar/date-util.d.ts +20 -0
  11. package/es/control/calendar/date-util.mjs +32 -0
  12. package/es/control/calendar/index.d.ts +2 -3
  13. package/es/control/caption-bar/caption-bar.css +1 -1
  14. package/es/control/caption-bar/caption-bar.mjs +5 -2
  15. package/es/control/toolbar/index.d.ts +1 -1
  16. package/es/control/toolbar/toolbar.css +1 -1
  17. package/es/control/toolbar/toolbar.d.ts +1 -1
  18. package/es/control/toolbar/toolbar.mjs +8 -4
  19. package/es/control/tree/tree.d.ts +4 -4
  20. package/es/control/tree/tree.mjs +2 -2
  21. package/es/editor/common/data-mpicker/ibiz-data-mpicker.mjs +6 -2
  22. package/es/editor/data-picker/ibiz-mpicker/ibiz-mpicker.css +1 -1
  23. package/es/editor/data-picker/ibiz-mpicker/ibiz-mpicker.mjs +11 -7
  24. package/es/editor/data-picker/ibiz-picker/ibiz-picker.css +1 -1
  25. package/es/editor/data-picker/ibiz-picker-select-view/ibiz-picker-select-view.d.ts +1 -5
  26. package/es/editor/dropdown-list/ibiz-dropdown-list/ibiz-dropdown-list.css +1 -1
  27. package/es/editor/dropdown-list/ibiz-dropdown-list/ibiz-dropdown-list.mjs +20 -9
  28. package/es/editor/radio-button-list/ibiz-radio/ibiz-radio.mjs +5 -4
  29. package/es/editor/span/span/span.mjs +1 -1
  30. package/es/view-engine/mob-edit-view.engine.mjs +2 -0
  31. package/es/view-engine/mob-wf-dyna-edit-view.engine.mjs +2 -1
  32. package/es/view-engine/wf-step-trace-view.engine.mjs +4 -1
  33. package/lib/control/app-menu-icon-view/app-menu-icon-view.css +1 -1
  34. package/lib/control/app-menu-list-view/app-menu-list-view.css +1 -1
  35. package/lib/control/calendar/calendar.cjs +37 -66
  36. package/lib/control/calendar/date-util.cjs +35 -0
  37. package/lib/control/caption-bar/caption-bar.cjs +5 -2
  38. package/lib/control/caption-bar/caption-bar.css +1 -1
  39. package/lib/control/toolbar/toolbar.cjs +8 -4
  40. package/lib/control/toolbar/toolbar.css +1 -1
  41. package/lib/control/tree/tree.cjs +2 -2
  42. package/lib/editor/common/data-mpicker/ibiz-data-mpicker.cjs +6 -2
  43. package/lib/editor/data-picker/ibiz-mpicker/ibiz-mpicker.cjs +11 -7
  44. package/lib/editor/data-picker/ibiz-mpicker/ibiz-mpicker.css +1 -1
  45. package/lib/editor/data-picker/ibiz-picker/ibiz-picker.css +1 -1
  46. package/lib/editor/dropdown-list/ibiz-dropdown-list/ibiz-dropdown-list.cjs +20 -9
  47. package/lib/editor/dropdown-list/ibiz-dropdown-list/ibiz-dropdown-list.css +1 -1
  48. package/lib/editor/radio-button-list/ibiz-radio/ibiz-radio.cjs +4 -3
  49. package/lib/editor/span/span/span.cjs +1 -1
  50. package/lib/view-engine/mob-edit-view.engine.cjs +2 -0
  51. package/lib/view-engine/mob-wf-dyna-edit-view.engine.cjs +2 -1
  52. package/lib/view-engine/wf-step-trace-view.engine.cjs +4 -1
  53. package/package.json +6 -6
  54. package/dist/tree-SFO3fWSy.js +0 -2
  55. package/dist/tree-SFO3fWSy.js.map +0 -1
@@ -160,6 +160,7 @@ class MobEditViewEngine extends ViewEngineBase {
160
160
  await this.save();
161
161
  const app = ibiz.hub.getApp(this.view.context.srfappid);
162
162
  const entityService = await app.deService.getService(
163
+ this.view.context,
163
164
  this.view.model.appDataEntityId
164
165
  );
165
166
  const res = await entityService.wf.getWFVersion();
@@ -212,6 +213,7 @@ class MobEditViewEngine extends ViewEngineBase {
212
213
  const app = ibiz.hub.getApp(this.view.context.srfappid);
213
214
  const data = this.form.state.data;
214
215
  const entityService = await app.deService.getService(
216
+ this.view.context,
215
217
  this.view.model.appDataEntityId
216
218
  );
217
219
  await entityService.wf.wfWithdraw(
@@ -90,6 +90,7 @@ class MobWFDynaEditViewEngine extends MobEditViewEngine {
90
90
  await super.onCreated();
91
91
  const app = ibiz.hub.getApp(this.view.context.srfappid);
92
92
  this.entityService = await app.deService.getService(
93
+ this.view.context,
93
94
  this.view.model.appDataEntityId
94
95
  );
95
96
  await this.calcProcessForm();
@@ -133,7 +134,7 @@ class MobWFDynaEditViewEngine extends MobEditViewEngine {
133
134
  * @return {*} {Promise<string>}
134
135
  */
135
136
  async calcProcessFormName() {
136
- const res = await this.entityService.wf.getWFStep(this.view.params);
137
+ const res = await this.entityService.wf.getWFStep(this.view.context);
137
138
  this.isEditable = res.data.isEditable === "true";
138
139
  const processForm = res.data["process-mobform"] ? `wfform_${res.data["process-mobform"]}` : "form";
139
140
  return processForm;
@@ -48,7 +48,10 @@ class WFStepTraceViewEngine extends ViewEngineBase {
48
48
  throw new RuntimeError("\u6CA1\u6709\u63A5\u6536\u5230appDataEntityId");
49
49
  }
50
50
  const app = ibiz.hub.getApp(this.view.context.srfappid);
51
- this.entityService = await app.deService.getService(appDataEntityId);
51
+ this.entityService = await app.deService.getService(
52
+ this.view.context,
53
+ appDataEntityId
54
+ );
52
55
  await this.load();
53
56
  }
54
57
  /**
@@ -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-width);margin-bottom:var(--ibiz-control-appmenu-icon-view-icon-margin);font-size:var(--ibiz-control-appmenu-icon-view-icon-size)}
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}
@@ -7,6 +7,7 @@ var runtime = require('@ibiz-template/runtime');
7
7
  var dayjs = require('dayjs');
8
8
  var index = require('../../node_modules/.pnpm/vue3-hash-calendar@1.1.3_vue@3.3.9/node_modules/vue3-hash-calendar/es/index.cjs');
9
9
  require('vue3-hash-calendar/es/index.css');
10
+ var dateUtil = require('./date-util.cjs');
10
11
 
11
12
  "use strict";
12
13
  function _isSlot(s) {
@@ -39,52 +40,20 @@ const CalendarControl = /* @__PURE__ */ vue.defineComponent({
39
40
  },
40
41
  loadDefault: {
41
42
  type: Boolean,
42
- default: true
43
+ default: false
43
44
  }
44
45
  },
45
46
  setup() {
46
47
  const c = vue3Util.useControlController((...args) => new runtime.CalendarController(...args));
47
48
  const ns = vue3Util.useNamespace(`control-${c.model.controlType.toLowerCase()}`);
48
- const calendarRef = vue.ref();
49
- const selectDate = (tag) => {
50
- if (!calendarRef.value)
51
- return;
52
- calendarRef.value.selectDate(tag);
53
- };
49
+ const loadItems = vue.ref([]);
54
50
  const markDateItems = vue.ref({});
55
- const getDayStartAndNextDayStart = (date) => {
56
- const dayStart = new Date(date);
57
- dayStart.setHours(0, 0, 0, 0);
58
- const nextDayStart = new Date(date);
59
- nextDayStart.setDate(nextDayStart.getDate() + 1);
60
- nextDayStart.setHours(0, 0, 0, 0);
61
- return {
62
- dayStart,
63
- nextDayStart
64
- };
65
- };
66
- vue.watch(() => c.state.selectedDate, (oldVal, newVal) => {
67
- const oldDateString = dayjs(oldVal).format("YYYY-MM");
68
- const newDateString = dayjs(newVal).format("YYYY-MM");
69
- if (oldDateString === newDateString) {
70
- return;
71
- }
72
- const loadParam = {};
73
- const {
74
- dayStart,
75
- nextDayStart
76
- } = getDayStartAndNextDayStart(c.state.selectedDate);
77
- Object.assign(loadParam, {
78
- srfstartdate: dayjs(dayStart).format("YYYY-MM-DD HH:mm:ss"),
79
- srfenddate: dayjs(nextDayStart).format("YYYY-MM-DD HH:mm:ss")
80
- });
81
- c.load(loadParam);
82
- });
51
+ const loadMarkerItems = vue.ref([]);
83
52
  const setMarkDate = (date) => {
84
53
  const copyDate = new Date(date);
85
54
  const items = markDateItems.value[dayjs(copyDate).format("YYYY-MM")];
86
55
  if (!items) {
87
- markDateItems.value[dayjs(copyDate).format("YYYY-MM")] = [...c.state.items];
56
+ markDateItems.value[dayjs(copyDate).format("YYYY-MM")] = [...loadMarkerItems.value];
88
57
  } else {
89
58
  const mergeAndFilter = (arr1, arr2) => {
90
59
  const mergedArray = arr1.concat(arr2);
@@ -102,6 +71,19 @@ const CalendarControl = /* @__PURE__ */ vue.defineComponent({
102
71
  markDateItems.value[dayjs(copyDate).format("YYYY-MM")] = mergeAndFilter(markDateItems.value[dayjs(copyDate).format("YYYY-MM")], c.state.items);
103
72
  }
104
73
  };
74
+ const loadMarkerData = async (date) => {
75
+ const param = dateUtil.getCurSelectMonthDate(date);
76
+ loadMarkerItems.value = await c.load({
77
+ viewParam: param
78
+ });
79
+ setMarkDate(c.state.selectedDate);
80
+ };
81
+ const loadData = async (date) => {
82
+ const param = dateUtil.getCurSelectDayDate(date);
83
+ loadItems.value = await c.load({
84
+ viewParam: param
85
+ });
86
+ };
105
87
  const calcItemStyle = (data) => {
106
88
  return {
107
89
  color: data.color,
@@ -127,34 +109,26 @@ const CalendarControl = /* @__PURE__ */ vue.defineComponent({
127
109
  });
128
110
  return date;
129
111
  });
130
- const onClick = async (date) => {
131
- c.state.selectedDate = new Date(date);
132
- const loadParam = {};
133
- const {
134
- dayStart,
135
- nextDayStart
136
- } = getDayStartAndNextDayStart(c.state.selectedDate);
137
- Object.assign(loadParam, {
138
- viewParam: {
139
- srfstartdate: dayjs(dayStart).format("YYYY-MM-DD HH:mm:ss"),
140
- srfenddate: dayjs(nextDayStart).format("YYYY-MM-DD HH:mm:ss")
141
- }
142
- });
143
- setTimeout(() => {
144
- c.load(loadParam);
145
- }, 200);
146
- };
147
- c.evt.on("onLoadSuccess", () => {
148
- setMarkDate(c.state.selectedDate);
112
+ c.evt.on("onMounted", () => {
113
+ loadMarkerData(c.state.selectedDate || /* @__PURE__ */ new Date());
114
+ loadData(c.state.selectedDate || /* @__PURE__ */ new Date());
149
115
  });
116
+ const dateChange = (newDate) => {
117
+ c.state.selectedDate = newDate;
118
+ loadData(c.state.selectedDate);
119
+ const items = markDateItems.value[dayjs(newDate).format("YYYY-MM")];
120
+ if (items) {
121
+ return;
122
+ }
123
+ loadMarkerData(c.state.selectedDate);
124
+ };
150
125
  return {
151
126
  c,
152
127
  ns,
153
- calendarRef,
154
128
  markerData,
155
- selectDate,
129
+ loadItems,
156
130
  calcItemStyle,
157
- onClick
131
+ dateChange
158
132
  };
159
133
  },
160
134
  render() {
@@ -232,23 +206,20 @@ const CalendarControl = /* @__PURE__ */ vue.defineComponent({
232
206
  });
233
207
  };
234
208
  const renderCalendarListByItemType = (itemType) => {
235
- const list = this.c.state.items.filter((item) => item.itemType === itemType);
209
+ const list = this.loadItems.filter((item) => item.itemType === itemType);
236
210
  return renderCalendarList(list);
237
211
  };
238
- return vue.createVNode(vue.resolveComponent("iBizControlBase"), {
212
+ return this.c.state.isCreated && vue.createVNode(vue.resolveComponent("iBizControlBase"), {
239
213
  "controller": this.c
240
214
  }, {
241
215
  default: () => [vue.createVNode("div", {
242
216
  "class": this.ns.b("content")
243
217
  }, [vue.createVNode(index.default, {
244
218
  "show-week-view": true,
219
+ "pickerType": "date",
245
220
  "onChange": (date) => {
246
- this.c.state.selectedDate = date;
247
- },
248
- "onClick": (date) => {
249
- this.onClick(date);
250
- },
251
- "ref": "calendarRef"
221
+ this.dateChange(date);
222
+ }
252
223
  }, {
253
224
  day: ({
254
225
  date
@@ -0,0 +1,35 @@
1
+ 'use strict';
2
+
3
+ var dayjs = require('dayjs');
4
+
5
+ "use strict";
6
+ function getCurSelectMonthDate(selectedDate) {
7
+ const firstDayOfMonth = new Date(
8
+ selectedDate.getFullYear(),
9
+ selectedDate.getMonth(),
10
+ 1
11
+ );
12
+ const lastDayOfMonth = new Date(
13
+ selectedDate.getFullYear(),
14
+ selectedDate.getMonth() + 1,
15
+ 1
16
+ );
17
+ return {
18
+ srfstartdate: dayjs(firstDayOfMonth).format("YYYY-MM-DD HH:mm:ss"),
19
+ srfenddate: dayjs(lastDayOfMonth).format("YYYY-MM-DD HH:mm:ss")
20
+ };
21
+ }
22
+ function getCurSelectDayDate(date) {
23
+ const dayStart = new Date(date);
24
+ dayStart.setHours(0, 0, 0, 0);
25
+ const nextDayStart = new Date(date);
26
+ nextDayStart.setDate(nextDayStart.getDate() + 1);
27
+ nextDayStart.setHours(0, 0, 0, 0);
28
+ return {
29
+ srfstartdate: dayjs(dayStart).format("YYYY-MM-DD HH:mm:ss"),
30
+ srfenddate: dayjs(nextDayStart).format("YYYY-MM-DD HH:mm:ss")
31
+ };
32
+ }
33
+
34
+ exports.getCurSelectDayDate = getCurSelectDayDate;
35
+ exports.getCurSelectMonthDate = getCurSelectMonthDate;
@@ -33,11 +33,14 @@ const CaptionBarControl = /* @__PURE__ */ vue.defineComponent({
33
33
  render() {
34
34
  return vue.createVNode(vue.resolveComponent("iBizControlBase"), {
35
35
  "controller": this.c,
36
- "class": [this.ns.b(), this.ns.is("hasSub", Boolean(this.modelData.subCaption))]
36
+ "class": [this.ns.b(), this.ns.is("hasSub", Boolean(this.modelData.subCaption)), this.ns.is("show-icon", !!this.c.model.sysImage)]
37
37
  }, {
38
38
  default: () => [vue.createVNode("div", {
39
39
  "class": this.ns.b("caption")
40
- }, [this.c.state.caption]), this.modelData.subCaption && vue.createVNode("div", {
40
+ }, [this.c.model.sysImage && vue.createVNode(vue.resolveComponent("iBizIcon"), {
41
+ "class": [this.ns.be("caption", "icon")],
42
+ "icon": this.c.model.sysImage
43
+ }, null), this.c.state.caption]), this.modelData.subCaption && vue.createVNode("div", {
41
44
  "class": this.ns.b("sub-caption")
42
45
  }, [this.modelData.subCaption])]
43
46
  });
@@ -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)}
@@ -46,9 +46,6 @@ const ToolbarControl = /* @__PURE__ */ vue.defineComponent({
46
46
  setup(props) {
47
47
  const c = vue3Util.useControlController((...args) => new runtime.ToolbarController(...args));
48
48
  const ns = vue3Util.useNamespace(`control-${c.model.controlType.toLowerCase()}`);
49
- const btnSize = vue.computed(() => {
50
- return c.state.viewMode === "EMBED" ? "small" : "small";
51
- });
52
49
  const handleClick = async (item, event) => {
53
50
  await c.onItemClick(item, event);
54
51
  };
@@ -60,12 +57,18 @@ const ToolbarControl = /* @__PURE__ */ vue.defineComponent({
60
57
  case "MOBNAVLEFTMENU":
61
58
  position = "left";
62
59
  break;
63
- case "MOBNAVBOTTOMMENU":
60
+ case "MOBBOTTOMMENU":
64
61
  position = "bottom";
65
62
  break;
66
63
  default:
67
64
  break;
68
65
  }
66
+ const btnSize = vue.computed(() => {
67
+ return position === "bottom" ? "normal" : "small";
68
+ });
69
+ const btnType = (item) => {
70
+ return item.actionLevel > 100 ? "primary " : "default";
71
+ };
69
72
  const renderExtraButtons = (extraButtons) => {
70
73
  return extraButtons.map((button) => {
71
74
  let _slot;
@@ -118,6 +121,7 @@ const ToolbarControl = /* @__PURE__ */ vue.defineComponent({
118
121
  }, [vue.createVNode(vue.resolveComponent("van-button"), {
119
122
  "title": item.tooltip,
120
123
  "size": btnSize.value,
124
+ "type": btnType(item),
121
125
  "loading": c.state.buttonsState[itemId].loading,
122
126
  "disabled": c.state.buttonsState[itemId].disabled,
123
127
  "onClick": (e) => handleClick(item, e)
@@ -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}
@@ -83,7 +83,7 @@ const TreeControl = /* @__PURE__ */ vue.defineComponent({
83
83
  const {
84
84
  originData
85
85
  } = opts;
86
- c.onTreeNodeClick(originData);
86
+ c.onTreeNodeClick(originData, event);
87
87
  };
88
88
  const onNodeClick = (event, opts) => {
89
89
  event.stopPropagation();
@@ -93,7 +93,7 @@ const TreeControl = /* @__PURE__ */ vue.defineComponent({
93
93
  if (!originData.leaf) {
94
94
  return;
95
95
  }
96
- c.onTreeNodeClick(originData);
96
+ c.onTreeNodeClick(originData, event);
97
97
  };
98
98
  const treeDataFormat = (data) => {
99
99
  return {
@@ -76,7 +76,10 @@ const IBizDataMPicker = /* @__PURE__ */ vue.defineComponent({
76
76
  render() {
77
77
  const renderToolbar = () => {
78
78
  return vue.createVNode("div", {
79
- "class": this.ns.b("toolbar")
79
+ "class": this.ns.b("toolbar"),
80
+ "onClick": (e) => {
81
+ e.stopPropagation();
82
+ }
80
83
  }, [vue.createVNode("button", {
81
84
  "type": "button",
82
85
  "class": this.ns.be("toolbar", "cancel"),
@@ -104,7 +107,8 @@ const IBizDataMPicker = /* @__PURE__ */ vue.defineComponent({
104
107
  return vue.createVNode(vue.resolveComponent("van-cell"), {
105
108
  "title": item.text,
106
109
  "clickable": true,
107
- "onClick": () => {
110
+ "onClick": (e) => {
111
+ e.stopPropagation();
108
112
  this.toggle(index);
109
113
  }
110
114
  }, {
@@ -176,15 +176,19 @@ const IBizMPicker = /* @__PURE__ */ vue.defineComponent({
176
176
  }, {
177
177
  input: () => {
178
178
  return this.selectItems.map((item) => {
179
- return vue.createVNode(vue.resolveComponent("van-tag"), {
180
- "closeable": true,
181
- "type": "primary",
182
- "onClose": () => {
179
+ return vue.createVNode("div", {
180
+ "class": this.ns.b("select-item")
181
+ }, [vue.createVNode("div", {
182
+ "class": this.ns.be("select-item", "text")
183
+ }, [item.srfmajortext]), vue.createVNode("div", {
184
+ "class": this.ns.be("select-item", "close")
185
+ }, [vue.createVNode(vue.resolveComponent("van-icon"), {
186
+ "name": "cross",
187
+ "onClick": (e) => {
188
+ e.stopPropagation();
183
189
  this.onRemove(item[this.c.keyName]);
184
190
  }
185
- }, {
186
- default: () => [item.srfmajortext]
187
- });
191
+ }, null)])]);
188
192
  });
189
193
  },
190
194
  "right-icon": () => {
@@ -1 +1 @@
1
- @charset "UTF-8";.ibiz-mpicker{--van-tag-radius:3.125rem}.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:.5rem}.ibiz-mpicker .van-field__control .van-tag{height:100%;padding:.3125rem;--van-tag-font-size:var(--ibiz-form-item-font-size)}.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)}
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)}
@@ -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)}
@@ -22,13 +22,20 @@ const IBizDropdownList = /* @__PURE__ */ vue.defineComponent({
22
22
  if (!props.value) {
23
23
  return [];
24
24
  }
25
- return items.value.filter((item) => (props.value.split(",") || []).findIndex((value) => item.value === value) !== -1);
25
+ return items.value.filter((item) => (props.value.split(",") || []).findIndex(
26
+ // 不用判断类型兼容类型不匹配
27
+ // eslint-disable-next-line eqeqeq
28
+ (value) => item.value == value
29
+ ) !== -1);
26
30
  });
27
31
  const selectKeys = vue.computed(() => {
28
32
  if (!props.value) {
29
33
  return [];
30
34
  }
31
- return items.value.filter((item) => (props.value.split(",") || []).findIndex((value) => item.value === value) !== -1).map((item) => item.value);
35
+ return items.value.filter((item) => (props.value.split(",") || []).findIndex(
36
+ // eslint-disable-next-line eqeqeq
37
+ (value) => item.value == value
38
+ ) !== -1).map((item) => item.value);
32
39
  });
33
40
  c.loadCodeList(props.data).then((codeList) => {
34
41
  items.value = codeList;
@@ -95,15 +102,19 @@ const IBizDropdownList = /* @__PURE__ */ vue.defineComponent({
95
102
  "right-icon": vue.createVNode(rightIcon.IBizCommonRightIcon, null, null),
96
103
  input: () => {
97
104
  return this.selectItems.map((item) => {
98
- return vue.createVNode(vue.resolveComponent("van-tag"), {
99
- "closeable": true,
100
- "type": "primary",
101
- "onClose": () => {
105
+ return vue.createVNode("div", {
106
+ "class": this.ns.b("select-item")
107
+ }, [vue.createVNode("div", {
108
+ "class": this.ns.be("select-item", "text")
109
+ }, [item.text]), vue.createVNode("div", {
110
+ "class": this.ns.be("select-item", "close")
111
+ }, [vue.createVNode(vue.resolveComponent("van-icon"), {
112
+ "name": "cross",
113
+ "onClick": (e) => {
114
+ e.stopPropagation();
102
115
  this.onRemove(item);
103
116
  }
104
- }, {
105
- default: () => [item.text]
106
- });
117
+ }, null)])]);
107
118
  });
108
119
  }
109
120
  }), vue.createVNode(ibizDataMpicker.IBizDataMPicker, {
@@ -1 +1 @@
1
- .ibiz-dropdown-list{height:100%;--van-tag-radius:3.125rem}.ibiz-dropdown-list .van-field__control{gap:.5rem}.ibiz-dropdown-list .van-field__control .van-tag{height:100%;padding:.3125rem;--van-tag-font-size:var(--ibiz-form-item-font-size)}.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__select::after{display:none}.ibiz-dropdown-list .van-cell__title,.ibiz-dropdown-list .van-cell__value{text-align:left}
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}
@@ -18,15 +18,16 @@ const IBizRadio = /* @__PURE__ */ vue.defineComponent({
18
18
  const ns = vue3Util.useNamespace("radio");
19
19
  const c = props.controller;
20
20
  const editorModel = c.model;
21
+ const items = vue.ref([]);
21
22
  const currentVal = vue.computed({
22
23
  get() {
23
- return props.value;
24
+ var _a;
25
+ return (_a = items.value.find((item) => item.value == props.value)) == null ? void 0 : _a.value;
24
26
  },
25
27
  set(val) {
26
28
  emit("change", val);
27
29
  }
28
30
  });
29
- const items = vue.ref([]);
30
31
  vue.watch(() => props.data, (newVal) => {
31
32
  c.loadCodeList(newVal).then((_codeList) => {
32
33
  items.value = _codeList;
@@ -37,7 +38,7 @@ const IBizRadio = /* @__PURE__ */ vue.defineComponent({
37
38
  });
38
39
  const valueText = vue.computed(() => {
39
40
  var _a;
40
- return ((_a = items.value.find((item) => item.value === props.value)) == null ? void 0 : _a.text) || "";
41
+ return ((_a = items.value.find((item) => item.value == props.value)) == null ? void 0 : _a.text) || "";
41
42
  });
42
43
  const {
43
44
  componentRef: editorRef
@@ -120,7 +120,7 @@ const IBizSpan = /* @__PURE__ */ vue.defineComponent({
120
120
  } else if (this.text) {
121
121
  content = this.text;
122
122
  } else {
123
- content = "- - -";
123
+ content = "";
124
124
  }
125
125
  return vue.createVNode("span", {
126
126
  "class": [this.ns.b(), this.readonly ? this.ns.m("readonly") : "", this.readonly ? this.ns.m("disabled") : ""],
@@ -162,6 +162,7 @@ class MobEditViewEngine extends runtime.ViewEngineBase {
162
162
  await this.save();
163
163
  const app = ibiz.hub.getApp(this.view.context.srfappid);
164
164
  const entityService = await app.deService.getService(
165
+ this.view.context,
165
166
  this.view.model.appDataEntityId
166
167
  );
167
168
  const res = await entityService.wf.getWFVersion();
@@ -214,6 +215,7 @@ class MobEditViewEngine extends runtime.ViewEngineBase {
214
215
  const app = ibiz.hub.getApp(this.view.context.srfappid);
215
216
  const data = this.form.state.data;
216
217
  const entityService = await app.deService.getService(
218
+ this.view.context,
217
219
  this.view.model.appDataEntityId
218
220
  );
219
221
  await entityService.wf.wfWithdraw(
@@ -92,6 +92,7 @@ class MobWFDynaEditViewEngine extends mobEditView_engine.MobEditViewEngine {
92
92
  await super.onCreated();
93
93
  const app = ibiz.hub.getApp(this.view.context.srfappid);
94
94
  this.entityService = await app.deService.getService(
95
+ this.view.context,
95
96
  this.view.model.appDataEntityId
96
97
  );
97
98
  await this.calcProcessForm();
@@ -135,7 +136,7 @@ class MobWFDynaEditViewEngine extends mobEditView_engine.MobEditViewEngine {
135
136
  * @return {*} {Promise<string>}
136
137
  */
137
138
  async calcProcessFormName() {
138
- const res = await this.entityService.wf.getWFStep(this.view.params);
139
+ const res = await this.entityService.wf.getWFStep(this.view.context);
139
140
  this.isEditable = res.data.isEditable === "true";
140
141
  const processForm = res.data["process-mobform"] ? `wfform_${res.data["process-mobform"]}` : "form";
141
142
  return processForm;
@@ -50,7 +50,10 @@ class WFStepTraceViewEngine extends runtime.ViewEngineBase {
50
50
  throw new core.RuntimeError("\u6CA1\u6709\u63A5\u6536\u5230appDataEntityId");
51
51
  }
52
52
  const app = ibiz.hub.getApp(this.view.context.srfappid);
53
- this.entityService = await app.deService.getService(appDataEntityId);
53
+ this.entityService = await app.deService.getService(
54
+ this.view.context,
55
+ appDataEntityId
56
+ );
54
57
  await this.load();
55
58
  }
56
59
  /**
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ibiz-template/mob-vue3-components",
3
- "version": "0.0.7",
3
+ "version": "0.0.8",
4
4
  "description": "使用 rollup 编译 vue 组件或者 jsx",
5
5
  "main": "lib/index.cjs",
6
6
  "module": "es/index.mjs",
@@ -24,12 +24,12 @@
24
24
  },
25
25
  "dependencies": {
26
26
  "@ibiz-template-package/vs-tree-ex": "^0.1.1",
27
- "@ibiz-template/core": "^0.4.12",
28
- "@ibiz-template/model-helper": "^0.4.13",
29
- "@ibiz-template/runtime": "^0.4.13",
27
+ "@ibiz-template/core": "^0.5.0-beta.0",
28
+ "@ibiz-template/model-helper": "^0.5.0-beta.0",
29
+ "@ibiz-template/runtime": "^0.5.0-beta.0",
30
30
  "@ibiz-template/theme": "^0.4.0",
31
- "@ibiz-template/vue3-util": "^0.4.13",
32
- "@ibiz/model-core": "^0.0.27",
31
+ "@ibiz-template/vue3-util": "^0.5.0-beta.0",
32
+ "@ibiz/model-core": "^0.0.29",
33
33
  "async-validator": "^4.2.5",
34
34
  "cherry-markdown": "^0.8.26",
35
35
  "dayjs": "^1.11.10",
@@ -1,2 +0,0 @@
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)},v=(e,r)=>{e.stopPropagation();const{originData:n}=r;n.leaf&&o.onTreeNodeClick(n)},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-SFO3fWSy.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tree-SFO3fWSy.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((...args) => new TreeController(...args));\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: Event, opts: IData) => {\n const { originData } = opts;\n c.onTreeNodeClick(originData);\n };\n\n const onNodeClick = (event: Event, opts: IData) => {\n event.stopPropagation();\n const { originData } = opts;\n if (!originData.leaf) {\n return;\n }\n c.onTreeNodeClick(originData);\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: Event, 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","onTreeNodeClick","e","_opts","customNodeClick","checked","options","srfkey","renderContent","text","uuid","className","ns","treeData","maxHeight","checkInherit","_createVNode","_resolveComponent","nocheckParent","rootName","value","assign","link","node"],"mappings":"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"}