widget.qw 1.0.69 → 1.0.71
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/build/style.css +21 -21
- package/build/widget.qw.es.js +68 -65
- package/build/widget.qw.umd.js +68 -65
- package/package.json +1 -1
- package/src/components/BillCard.vue +37 -28
- package/src/components/FilePicker.vue +1 -7
- package/src/components/ObjsEditor.vue +14 -2
- package/src/components/image_picker.vue +5 -10
- package/src/components/images_picker.vue +4 -11
- package/src/env.d.ts +8 -8
- package/src/views/billcard/index.vue +15 -12
- package/src/views/imagespicker/index.vue +2 -2
- package/src/views/objseditor/index.vue +6 -0
- package/tsconfig.json +19 -19
- package/tsconfig.node.json +8 -8
package/build/widget.qw.umd.js
CHANGED
|
@@ -17589,10 +17589,10 @@ var __async = (__this, __arguments, generator) => {
|
|
|
17589
17589
|
};
|
|
17590
17590
|
const _hoisted_6$6 = /* @__PURE__ */ vue.createTextVNode(" \u53D6\u6D88 ");
|
|
17591
17591
|
const _hoisted_7$6 = /* @__PURE__ */ vue.createTextVNode(" \u786E\u5B9A ");
|
|
17592
|
-
const _hoisted_8$
|
|
17592
|
+
const _hoisted_8$5 = {
|
|
17593
17593
|
class: "scroll-container"
|
|
17594
17594
|
};
|
|
17595
|
-
const _hoisted_9$
|
|
17595
|
+
const _hoisted_9$3 = {
|
|
17596
17596
|
class: "cell-content"
|
|
17597
17597
|
};
|
|
17598
17598
|
const _hoisted_10$2 = ["onClick"];
|
|
@@ -17894,7 +17894,7 @@ var __async = (__this, __arguments, generator) => {
|
|
|
17894
17894
|
clearable: "",
|
|
17895
17895
|
placeholder: "\u8BF7\u8F93\u5165\u90E8\u95E8\u540D\u79F0\u641C\u7D22",
|
|
17896
17896
|
class: "search-field"
|
|
17897
|
-
}, null, 8, ["modelValue"]), vue.createElementVNode("div", _hoisted_8$
|
|
17897
|
+
}, null, 8, ["modelValue"]), vue.createElementVNode("div", _hoisted_8$5, [vue.createVNode(_component_van_cell_group, null, {
|
|
17898
17898
|
default: vue.withCtx(() => [(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(vue.unref(filteredDepartments), (item, index) => {
|
|
17899
17899
|
return vue.openBlock(), vue.createBlock(_component_van_cell, {
|
|
17900
17900
|
key: index,
|
|
@@ -17903,7 +17903,7 @@ var __async = (__this, __arguments, generator) => {
|
|
|
17903
17903
|
}, {
|
|
17904
17904
|
title: vue.withCtx(() => {
|
|
17905
17905
|
var _a, _b;
|
|
17906
|
-
return [vue.createElementVNode("div", _hoisted_9$
|
|
17906
|
+
return [vue.createElementVNode("div", _hoisted_9$3, [vue.createElementVNode("div", {
|
|
17907
17907
|
class: vue.normalizeClass(["circle-selector", {
|
|
17908
17908
|
"selected": ((_a = tempSelectedDepartment.value) == null ? void 0 : _a.id) === item.id
|
|
17909
17909
|
}]),
|
|
@@ -17951,8 +17951,8 @@ var __async = (__this, __arguments, generator) => {
|
|
|
17951
17951
|
class: "header-right"
|
|
17952
17952
|
};
|
|
17953
17953
|
const _hoisted_7$5 = /* @__PURE__ */ vue.createTextVNode("\u6E05\u7A7A");
|
|
17954
|
-
const _hoisted_8$
|
|
17955
|
-
const _hoisted_9$
|
|
17954
|
+
const _hoisted_8$4 = /* @__PURE__ */ vue.createTextVNode("\u786E\u5B9A");
|
|
17955
|
+
const _hoisted_9$2 = {
|
|
17956
17956
|
key: 0,
|
|
17957
17957
|
class: "select-all-container"
|
|
17958
17958
|
};
|
|
@@ -18353,9 +18353,9 @@ var __async = (__this, __arguments, generator) => {
|
|
|
18353
18353
|
onClick: confirmSelection,
|
|
18354
18354
|
class: "confirm-btn"
|
|
18355
18355
|
}, {
|
|
18356
|
-
default: vue.withCtx(() => [_hoisted_8$
|
|
18356
|
+
default: vue.withCtx(() => [_hoisted_8$4]),
|
|
18357
18357
|
_: 1
|
|
18358
|
-
})])]), __props.mode === "multiple" ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_9$
|
|
18358
|
+
})])]), __props.mode === "multiple" ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_9$2, [vue.createVNode(_component_van_checkbox, {
|
|
18359
18359
|
shape: "square",
|
|
18360
18360
|
modelValue: isAllChecked.value,
|
|
18361
18361
|
"onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => isAllChecked.value = $event),
|
|
@@ -18459,7 +18459,7 @@ var __async = (__this, __arguments, generator) => {
|
|
|
18459
18459
|
}
|
|
18460
18460
|
};
|
|
18461
18461
|
var UserSelector = /* @__PURE__ */ _export_sfc(_sfc_main$k, [["__scopeId", "data-v-6c4b4fc8"]]);
|
|
18462
|
-
var image_picker_vue_vue_type_style_index_0_scoped_true_lang = /* @__PURE__ */ (() => "[data-v-
|
|
18462
|
+
var image_picker_vue_vue_type_style_index_0_scoped_true_lang = /* @__PURE__ */ (() => "[data-v-16be97a4] .label {\n color: #000 !important;\n}\n[data-v-16be97a4] .van-field__control:disabled {\n color: #000 !important;\n cursor: not-allowed;\n opacity: 1;\n -webkit-text-fill-color: #000;\n}")();
|
|
18463
18463
|
const _hoisted_1$d = {
|
|
18464
18464
|
class: "image-box"
|
|
18465
18465
|
};
|
|
@@ -18536,10 +18536,6 @@ var __async = (__this, __arguments, generator) => {
|
|
|
18536
18536
|
modelValue.value = "";
|
|
18537
18537
|
return Promise.resolve(e);
|
|
18538
18538
|
};
|
|
18539
|
-
const onPreview = (e) => {
|
|
18540
|
-
console.log("onPreview", e);
|
|
18541
|
-
window.open(e.url, "_blank");
|
|
18542
|
-
};
|
|
18543
18539
|
vue.watch(() => props.modelValue, (newVal, oldVal) => {
|
|
18544
18540
|
if (!props.modelValue) {
|
|
18545
18541
|
files.value = [];
|
|
@@ -18572,10 +18568,10 @@ var __async = (__this, __arguments, generator) => {
|
|
|
18572
18568
|
accept: "image/jpeg,image/png",
|
|
18573
18569
|
afterRead: onAfterRead,
|
|
18574
18570
|
disabled: vue.unref(isDisabled),
|
|
18575
|
-
deletable: !vue.unref(isDisabled),
|
|
18571
|
+
deletable: !vue.unref(isReadonly) && !vue.unref(isDisabled),
|
|
18576
18572
|
"before-delete": onBeforeDelete,
|
|
18577
|
-
|
|
18578
|
-
}, null, 8, ["modelValue", "capture", "disabled", "deletable"])) : (vue.openBlock(), vue.createBlock(_component_van_uploader, {
|
|
18573
|
+
"show-upload": !vue.unref(isReadonly)
|
|
18574
|
+
}, null, 8, ["modelValue", "capture", "disabled", "deletable", "show-upload"])) : (vue.openBlock(), vue.createBlock(_component_van_uploader, {
|
|
18579
18575
|
key: 1,
|
|
18580
18576
|
modelValue: files.value,
|
|
18581
18577
|
"onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => files.value = $event),
|
|
@@ -18583,17 +18579,17 @@ var __async = (__this, __arguments, generator) => {
|
|
|
18583
18579
|
accept: "image/jpeg,image/png",
|
|
18584
18580
|
afterRead: onAfterRead,
|
|
18585
18581
|
disabled: vue.unref(isDisabled),
|
|
18586
|
-
deletable: !vue.unref(isDisabled),
|
|
18582
|
+
deletable: !vue.unref(isReadonly) && !vue.unref(isDisabled),
|
|
18587
18583
|
"before-delete": onBeforeDelete,
|
|
18588
|
-
|
|
18589
|
-
}, null, 8, ["modelValue", "disabled", "deletable"]))])]),
|
|
18584
|
+
"show-upload": !vue.unref(isReadonly)
|
|
18585
|
+
}, null, 8, ["modelValue", "disabled", "deletable", "show-upload"]))])]),
|
|
18590
18586
|
_: 1
|
|
18591
18587
|
}, 8, ["label", "required", "rules", "placeholder"])) : vue.createCommentVNode("", true);
|
|
18592
18588
|
};
|
|
18593
18589
|
}
|
|
18594
18590
|
};
|
|
18595
|
-
var ImagePicker = /* @__PURE__ */ _export_sfc(_sfc_main$j, [["__scopeId", "data-v-
|
|
18596
|
-
var images_picker_vue_vue_type_style_index_0_scoped_true_lang = /* @__PURE__ */ (() => ".widget[data-v-
|
|
18591
|
+
var ImagePicker = /* @__PURE__ */ _export_sfc(_sfc_main$j, [["__scopeId", "data-v-16be97a4"]]);
|
|
18592
|
+
var images_picker_vue_vue_type_style_index_0_scoped_true_lang = /* @__PURE__ */ (() => ".widget[data-v-8fca1c96] {\n text-align: center;\n}\n.widget .btn[data-v-8fca1c96] {\n position: fixed;\n bottom: 1rem;\n left: 0;\n right: 0;\n margin: auto auto;\n color: white;\n font-size: 14px;\n background: rgb(58, 136, 255);\n padding: 8px 35px;\n width: 100px;\n text-align: center;\n display: inline-block;\n border-radius: 2px;\n}")();
|
|
18597
18593
|
const _hoisted_1$c = {
|
|
18598
18594
|
class: "image-box"
|
|
18599
18595
|
};
|
|
@@ -18682,10 +18678,6 @@ var __async = (__this, __arguments, generator) => {
|
|
|
18682
18678
|
emit("update:modelValue", newUrls);
|
|
18683
18679
|
return Promise.resolve(e);
|
|
18684
18680
|
};
|
|
18685
|
-
const onPreview = (e) => {
|
|
18686
|
-
console.log("onPreview", e);
|
|
18687
|
-
window.open(e.url, "_blank");
|
|
18688
|
-
};
|
|
18689
18681
|
vue.watch(() => props.modelValue, (newVal, oldVal) => {
|
|
18690
18682
|
if (!props.modelValue || props.modelValue.length < 1) {
|
|
18691
18683
|
files.value = [];
|
|
@@ -18719,29 +18711,29 @@ var __async = (__this, __arguments, generator) => {
|
|
|
18719
18711
|
capture: props.capture,
|
|
18720
18712
|
accept: "image/jpeg,image/png",
|
|
18721
18713
|
disabled: vue.unref(isDisabled),
|
|
18722
|
-
deletable: !vue.unref(isDisabled),
|
|
18714
|
+
deletable: !vue.unref(isRequired) && !vue.unref(isDisabled),
|
|
18723
18715
|
afterRead: onAfterRead,
|
|
18724
18716
|
"before-delete": onBeforeDelete,
|
|
18725
|
-
|
|
18726
|
-
}, null, 8, ["modelValue", "max-count", "capture", "disabled", "deletable"])) : (vue.openBlock(), vue.createBlock(_component_van_uploader, {
|
|
18717
|
+
"show-upload": !vue.unref(isReadonly)
|
|
18718
|
+
}, null, 8, ["modelValue", "max-count", "capture", "disabled", "deletable", "show-upload"])) : (vue.openBlock(), vue.createBlock(_component_van_uploader, {
|
|
18727
18719
|
key: 1,
|
|
18728
18720
|
modelValue: files.value,
|
|
18729
18721
|
"onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => files.value = $event),
|
|
18730
18722
|
"max-count": props.max,
|
|
18731
18723
|
accept: "image/jpeg,image/png",
|
|
18732
18724
|
disabled: vue.unref(isDisabled),
|
|
18733
|
-
deletable: !vue.unref(isDisabled),
|
|
18725
|
+
deletable: !vue.unref(isReadonly) && !vue.unref(isDisabled),
|
|
18734
18726
|
afterRead: onAfterRead,
|
|
18735
18727
|
"before-delete": onBeforeDelete,
|
|
18736
|
-
|
|
18737
|
-
}, null, 8, ["modelValue", "max-count", "disabled", "deletable"]))])]),
|
|
18728
|
+
"show-upload": !vue.unref(isReadonly)
|
|
18729
|
+
}, null, 8, ["modelValue", "max-count", "disabled", "deletable", "show-upload"]))])]),
|
|
18738
18730
|
_: 1
|
|
18739
18731
|
}, 8, ["label", "required", "rules", "placeholder"]);
|
|
18740
18732
|
};
|
|
18741
18733
|
}
|
|
18742
18734
|
};
|
|
18743
|
-
var ImagesPicker = /* @__PURE__ */ _export_sfc(_sfc_main$i, [["__scopeId", "data-v-
|
|
18744
|
-
var FilePicker_vue_vue_type_style_index_0_scoped_true_lang = /* @__PURE__ */ (() => "[data-v-
|
|
18735
|
+
var ImagesPicker = /* @__PURE__ */ _export_sfc(_sfc_main$i, [["__scopeId", "data-v-8fca1c96"]]);
|
|
18736
|
+
var FilePicker_vue_vue_type_style_index_0_scoped_true_lang = /* @__PURE__ */ (() => "[data-v-7352dfa0] .label {\n color: #000 !important;\n}\n[data-v-7352dfa0] .van-field__control:disabled {\n color: #000 !important;\n cursor: not-allowed;\n opacity: 1;\n -webkit-text-fill-color: #000;\n}")();
|
|
18745
18737
|
const _hoisted_1$b = {
|
|
18746
18738
|
class: "image-box"
|
|
18747
18739
|
};
|
|
@@ -18810,10 +18802,6 @@ var __async = (__this, __arguments, generator) => {
|
|
|
18810
18802
|
modelValue.value = "";
|
|
18811
18803
|
return Promise.resolve(e);
|
|
18812
18804
|
};
|
|
18813
|
-
const onPreview = (e) => {
|
|
18814
|
-
console.log("onPreview", e);
|
|
18815
|
-
window.open(e.url, "_blank");
|
|
18816
|
-
};
|
|
18817
18805
|
vue.watch(() => props.modelValue, (newVal, oldVal) => {
|
|
18818
18806
|
if (!props.modelValue) {
|
|
18819
18807
|
files.value = [];
|
|
@@ -18846,15 +18834,14 @@ var __async = (__this, __arguments, generator) => {
|
|
|
18846
18834
|
accept: props.accept,
|
|
18847
18835
|
"upload-icon": "plus",
|
|
18848
18836
|
deletable: !vue.unref(isDisabled),
|
|
18849
|
-
"before-delete": onBeforeDelete
|
|
18850
|
-
onClickPreview: onPreview
|
|
18837
|
+
"before-delete": onBeforeDelete
|
|
18851
18838
|
}, null, 8, ["modelValue", "disabled", "accept", "deletable"])])]),
|
|
18852
18839
|
_: 1
|
|
18853
18840
|
}, 8, ["label", "required", "rules", "placeholder"])) : vue.createCommentVNode("", true);
|
|
18854
18841
|
};
|
|
18855
18842
|
}
|
|
18856
18843
|
};
|
|
18857
|
-
var FilePicker = /* @__PURE__ */ _export_sfc(_sfc_main$h, [["__scopeId", "data-v-
|
|
18844
|
+
var FilePicker = /* @__PURE__ */ _export_sfc(_sfc_main$h, [["__scopeId", "data-v-7352dfa0"]]);
|
|
18858
18845
|
var SingleUserSelector_vue_vue_type_style_index_0_scoped_true_lang = /* @__PURE__ */ (() => "\n.user-popup[data-v-a489ca4c] {\r\n width: 100%;\r\n overflow: hidden;\n}\n.department-selector[data-v-a489ca4c] {\r\n padding: 10px;\n}\n.search-buttons[data-v-a489ca4c] {\r\n display: flex;\r\n gap: 10px;\n}\n.clear-btn[data-v-a489ca4c] {\r\n background-color: #f2f3f5;\r\n border: none;\r\n border-radius: 4px;\r\n padding: 4px 8px;\r\n font-size: 14px;\n}\n.confirm-btn[data-v-a489ca4c] {\r\n background-color: #1989fa;\r\n color: white;\r\n border: none;\r\n border-radius: 4px;\r\n padding: 4px 8px;\r\n font-size: 14px;\n}\n.no-results[data-v-a489ca4c] {\r\n text-align: center;\r\n padding: 20px;\r\n color: #969799;\n}\n.picker-header[data-v-a489ca4c] {\r\n padding: 10px;\r\n border-bottom: 1px solid #ebedf0;\r\n display: flex;\r\n justify-content: space-between;\r\n align-items: center;\n}\n.current-path[data-v-a489ca4c] {\r\n flex: 1;\r\n font-size: 14px;\r\n color: #323233;\r\n white-space: nowrap;\r\n overflow: hidden;\r\n text-overflow: ellipsis;\n}\n.header-right[data-v-a489ca4c] {\r\n display: flex;\r\n gap: 8px;\r\n margin-left: auto;\n}\n.cancel-btn[data-v-a489ca4c] {\r\n color: #969799;\r\n margin-right: 5px;\n}\n.scroll-container[data-v-a489ca4c] {\r\n height: calc(80vh - 150px);\r\n overflow-y: auto;\n}\r\n")();
|
|
18859
18846
|
const _hoisted_1$a = {
|
|
18860
18847
|
class: "department-selector"
|
|
@@ -18873,7 +18860,7 @@ var __async = (__this, __arguments, generator) => {
|
|
|
18873
18860
|
};
|
|
18874
18861
|
const _hoisted_6$4 = /* @__PURE__ */ vue.createTextVNode("\u6E05\u7A7A");
|
|
18875
18862
|
const _hoisted_7$4 = /* @__PURE__ */ vue.createTextVNode("\u786E\u5B9A");
|
|
18876
|
-
const _hoisted_8$
|
|
18863
|
+
const _hoisted_8$3 = {
|
|
18877
18864
|
class: "scroll-container"
|
|
18878
18865
|
};
|
|
18879
18866
|
const _sfc_main$g = {
|
|
@@ -19175,7 +19162,7 @@ var __async = (__this, __arguments, generator) => {
|
|
|
19175
19162
|
onClick: handleSearch
|
|
19176
19163
|
}, "\u641C\u7D22")]),
|
|
19177
19164
|
_: 1
|
|
19178
|
-
}, 8, ["modelValue"]), vue.createElementVNode("div", _hoisted_8$
|
|
19165
|
+
}, 8, ["modelValue"]), vue.createElementVNode("div", _hoisted_8$3, [vue.createVNode(_component_van_cell_group, null, {
|
|
19179
19166
|
default: vue.withCtx(() => [(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(vue.unref(departments), (department) => {
|
|
19180
19167
|
return vue.openBlock(), vue.createBlock(_component_van_cell, {
|
|
19181
19168
|
key: department.id,
|
|
@@ -19229,7 +19216,7 @@ var __async = (__this, __arguments, generator) => {
|
|
|
19229
19216
|
};
|
|
19230
19217
|
const _hoisted_6$3 = /* @__PURE__ */ vue.createTextVNode("\u53D6\u6D88");
|
|
19231
19218
|
const _hoisted_7$3 = /* @__PURE__ */ vue.createTextVNode("\u786E\u5B9A");
|
|
19232
|
-
const _hoisted_8$
|
|
19219
|
+
const _hoisted_8$2 = {
|
|
19233
19220
|
class: "scroll-container"
|
|
19234
19221
|
};
|
|
19235
19222
|
const _sfc_main$f = {
|
|
@@ -19447,7 +19434,7 @@ var __async = (__this, __arguments, generator) => {
|
|
|
19447
19434
|
onClick: onSearch
|
|
19448
19435
|
}, "\u641C\u7D22")]),
|
|
19449
19436
|
_: 1
|
|
19450
|
-
}, 8, ["modelValue", "onClear", "onCancel"]), vue.createElementVNode("div", _hoisted_8$
|
|
19437
|
+
}, 8, ["modelValue", "onClear", "onCancel"]), vue.createElementVNode("div", _hoisted_8$2, [vue.createVNode(_component_van_cell_group, null, {
|
|
19451
19438
|
default: vue.withCtx(() => [(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(vue.unref(subDepts), (dept) => {
|
|
19452
19439
|
return vue.openBlock(), vue.createBlock(_component_van_cell, {
|
|
19453
19440
|
key: dept.id,
|
|
@@ -19806,7 +19793,7 @@ var __async = (__this, __arguments, generator) => {
|
|
|
19806
19793
|
}
|
|
19807
19794
|
};
|
|
19808
19795
|
var UserProfile = /* @__PURE__ */ _export_sfc(_sfc_main$c, [["__scopeId", "data-v-107e26c3"]]);
|
|
19809
|
-
var BillCard_vue_vue_type_style_index_0_scoped_true_lang = /* @__PURE__ */ (() => ".widget[data-v-
|
|
19796
|
+
var BillCard_vue_vue_type_style_index_0_scoped_true_lang = /* @__PURE__ */ (() => ".widget[data-v-5f12f3e8] {\n background-color: white;\n border-radius: 8px;\n box-shadow: var(--van-dropdown-menu-shadow);\n color: 14px;\n}\n.widget .card-box[data-v-5f12f3e8] {\n padding-bottom: 8px;\n}\n.widget .card-box .card-header[data-v-5f12f3e8] {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 15px 10px;\n border-bottom: 1px solid #eee;\n}\n.widget .card-box .card-header .card-sum[data-v-5f12f3e8] {\n flex: 1;\n font-size: 14px;\n text-align: left;\n}\n.widget .card-box .card-header .user-state[data-v-5f12f3e8] {\n margin-right: 1px;\n}\n[data-v-5f12f3e8] .van-cell__value {\n flex: 2 !important;\n}\n[data-v-5f12f3e8] .van-cell__title {\n font-size: 12px !important;\n color: #666 !important;\n text-align: left !important;\n}\n[data-v-5f12f3e8] .van-cell__value {\n font-size: 12px !important;\n color: #888 !important;\n}\n[data-v-5f12f3e8] .van-cell {\n padding: 2px 10px !important;\n}")();
|
|
19810
19797
|
const _hoisted_1$6 = {
|
|
19811
19798
|
class: "widget"
|
|
19812
19799
|
};
|
|
@@ -19930,13 +19917,13 @@ var __async = (__this, __arguments, generator) => {
|
|
|
19930
19917
|
border: false,
|
|
19931
19918
|
key: i
|
|
19932
19919
|
}, null, 8, ["title", "value"]);
|
|
19933
|
-
}), 128))]),
|
|
19934
|
-
_:
|
|
19920
|
+
}), 128)), vue.renderSlot(_ctx.$slots, "foot", {}, void 0, true)]),
|
|
19921
|
+
_: 3
|
|
19935
19922
|
})]);
|
|
19936
19923
|
};
|
|
19937
19924
|
}
|
|
19938
19925
|
};
|
|
19939
|
-
var BillCard = /* @__PURE__ */ _export_sfc(_sfc_main$b, [["__scopeId", "data-v-
|
|
19926
|
+
var BillCard = /* @__PURE__ */ _export_sfc(_sfc_main$b, [["__scopeId", "data-v-5f12f3e8"]]);
|
|
19940
19927
|
const _sfc_main$a = {
|
|
19941
19928
|
__name: "YearDropdown",
|
|
19942
19929
|
props: {
|
|
@@ -20469,10 +20456,10 @@ var __async = (__this, __arguments, generator) => {
|
|
|
20469
20456
|
};
|
|
20470
20457
|
const _hoisted_6$1 = /* @__PURE__ */ vue.createTextVNode("\u53D6\u6D88");
|
|
20471
20458
|
const _hoisted_7$1 = /* @__PURE__ */ vue.createTextVNode("\u786E\u5B9A");
|
|
20472
|
-
const _hoisted_8 = {
|
|
20459
|
+
const _hoisted_8$1 = {
|
|
20473
20460
|
class: "scroll-container"
|
|
20474
20461
|
};
|
|
20475
|
-
const _hoisted_9 = {
|
|
20462
|
+
const _hoisted_9$1 = {
|
|
20476
20463
|
class: "cell-content"
|
|
20477
20464
|
};
|
|
20478
20465
|
const _hoisted_10 = ["onClick"];
|
|
@@ -20687,12 +20674,12 @@ var __async = (__this, __arguments, generator) => {
|
|
|
20687
20674
|
onClick: onSearch
|
|
20688
20675
|
}, "\u641C\u7D22")]),
|
|
20689
20676
|
_: 1
|
|
20690
|
-
}, 8, ["modelValue", "placeholder"]), vue.createElementVNode("div", _hoisted_8, [vue.createVNode(_component_van_cell_group, null, {
|
|
20677
|
+
}, 8, ["modelValue", "placeholder"]), vue.createElementVNode("div", _hoisted_8$1, [vue.createVNode(_component_van_cell_group, null, {
|
|
20691
20678
|
default: vue.withCtx(() => [(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(vue.unref(optionNodes), (item, i) => {
|
|
20692
20679
|
return vue.openBlock(), vue.createBlock(_component_van_cell, {
|
|
20693
20680
|
key: i
|
|
20694
20681
|
}, vue.createSlots({
|
|
20695
|
-
title: vue.withCtx(() => [vue.createElementVNode("div", _hoisted_9, [item.canCheck ? (vue.openBlock(), vue.createElementBlock("div", {
|
|
20682
|
+
title: vue.withCtx(() => [vue.createElementVNode("div", _hoisted_9$1, [item.canCheck ? (vue.openBlock(), vue.createElementBlock("div", {
|
|
20696
20683
|
key: 0,
|
|
20697
20684
|
class: "circle-selector",
|
|
20698
20685
|
onClick: vue.withModifiers(($event) => onToggle(item), ["stop"])
|
|
@@ -21000,7 +20987,7 @@ var __async = (__this, __arguments, generator) => {
|
|
|
21000
20987
|
}
|
|
21001
20988
|
};
|
|
21002
20989
|
var SingleApiPicker = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["__scopeId", "data-v-0c8e09c0"]]);
|
|
21003
|
-
var ObjsEditor_vue_vue_type_style_index_0_scoped_true_lang = /* @__PURE__ */ (() => ".widget[data-v-
|
|
20990
|
+
var ObjsEditor_vue_vue_type_style_index_0_scoped_true_lang = /* @__PURE__ */ (() => ".widget[data-v-1fa437e7] {\n background: #fff;\n box-sizing: border-box;\n height: 100%;\n text-align: left;\n font-size: 12px;\n}\n.option[data-v-1fa437e7] {\n margin: 0 8px 8px 0;\n padding: 5px 10px;\n border-radius: 6px;\n border: 2px solid #e1e1e1;\n box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);\n color: #666;\n display: inline-block;\n position: relative;\n}\n[data-v-1fa437e7] .van-field__label {\n margin: auto;\n}\n[data-v-1fa437e7] .van-cell {\n font-size: 12px;\n padding: 5px 5px;\n}\n[data-v-1fa437e7] .van-icon {\n font-size: 12px;\n}\n[data-v-1fa437e7] .van-popup .van-cell {\n padding: 5px 25px;\n}")();
|
|
21004
20991
|
const _hoisted_1 = {
|
|
21005
20992
|
class: "widget-box"
|
|
21006
20993
|
};
|
|
@@ -21017,13 +21004,19 @@ var __async = (__this, __arguments, generator) => {
|
|
|
21017
21004
|
}
|
|
21018
21005
|
};
|
|
21019
21006
|
const _hoisted_4 = {
|
|
21007
|
+
key: 0
|
|
21008
|
+
};
|
|
21009
|
+
const _hoisted_5 = {
|
|
21010
|
+
key: 1
|
|
21011
|
+
};
|
|
21012
|
+
const _hoisted_6 = {
|
|
21020
21013
|
style: {
|
|
21021
21014
|
"display": "flex",
|
|
21022
21015
|
"flex-direction": "column",
|
|
21023
21016
|
"cursor": "pointer"
|
|
21024
21017
|
}
|
|
21025
21018
|
};
|
|
21026
|
-
const
|
|
21019
|
+
const _hoisted_7 = {
|
|
21027
21020
|
style: {
|
|
21028
21021
|
"margin": "16px",
|
|
21029
21022
|
"display": "flex",
|
|
@@ -21031,8 +21024,8 @@ var __async = (__this, __arguments, generator) => {
|
|
|
21031
21024
|
"justify-content": "center"
|
|
21032
21025
|
}
|
|
21033
21026
|
};
|
|
21034
|
-
const
|
|
21035
|
-
const
|
|
21027
|
+
const _hoisted_8 = /* @__PURE__ */ vue.createTextVNode("\u4FDD\u5B58");
|
|
21028
|
+
const _hoisted_9 = /* @__PURE__ */ vue.createTextVNode("\u53D6\u6D88");
|
|
21036
21029
|
const _sfc_main = {
|
|
21037
21030
|
__name: "ObjsEditor",
|
|
21038
21031
|
props: {
|
|
@@ -21127,7 +21120,9 @@ var __async = (__this, __arguments, generator) => {
|
|
|
21127
21120
|
var _a, _b, _c, _d;
|
|
21128
21121
|
console.log("key2value", key, item[key], item);
|
|
21129
21122
|
let v = item[key];
|
|
21130
|
-
if (
|
|
21123
|
+
if (props.schema[key].type === "Images") {
|
|
21124
|
+
return (v || []).join(",");
|
|
21125
|
+
} else if (Array.isArray(v)) {
|
|
21131
21126
|
let formatValues = v.map((e) => {
|
|
21132
21127
|
let kvs = Object.keys(e).map((k) => {
|
|
21133
21128
|
var _a2, _b2, _c2, _d2;
|
|
@@ -21234,8 +21229,12 @@ var __async = (__this, __arguments, generator) => {
|
|
|
21234
21229
|
"padding": "2px 2px",
|
|
21235
21230
|
"font-size": "12px"
|
|
21236
21231
|
}
|
|
21237
|
-
}, vue.toDisplayString(`${key2name(k)}:${key2value(k, item)}`), 1)
|
|
21238
|
-
|
|
21232
|
+
}, [props.schema[k].type != "Images" ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_4, vue.toDisplayString(`${key2name(k)}:${key2value(k, item)}`), 1)) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_5, [vue.createVNode(ImagesPicker, {
|
|
21233
|
+
modelValue: item[k],
|
|
21234
|
+
"onUpdate:modelValue": ($event) => item[k] = $event,
|
|
21235
|
+
readonly: ""
|
|
21236
|
+
}, null, 8, ["modelValue", "onUpdate:modelValue"])]))]);
|
|
21237
|
+
}), 128))]), vue.createElementVNode("div", _hoisted_6, [props.schema.auth != "readonly" && props.auth != "readonly" && props.auth != "disabled" ? (vue.openBlock(), vue.createBlock(_component_van_icon, {
|
|
21239
21238
|
key: 0,
|
|
21240
21239
|
name: "edit",
|
|
21241
21240
|
onClick: vue.withModifiers(($event) => onEdit(index), ["stop"])
|
|
@@ -21286,9 +21285,13 @@ var __async = (__this, __arguments, generator) => {
|
|
|
21286
21285
|
modelValue: data2.inputValue[key],
|
|
21287
21286
|
"onUpdate:modelValue": ($event) => data2.inputValue[key] = $event,
|
|
21288
21287
|
placeholder: "\u9009\u62E9\u65F6\u95F4"
|
|
21289
|
-
}, null, 8, ["modelValue", "onUpdate:modelValue"])) : vue.createCommentVNode("", true),
|
|
21288
|
+
}, null, 8, ["modelValue", "onUpdate:modelValue"])) : vue.createCommentVNode("", true), props.schema[key].type == "Images" ? (vue.openBlock(), vue.createBlock(ImagesPicker, {
|
|
21290
21289
|
key: 4,
|
|
21291
21290
|
modelValue: data2.inputValue[key],
|
|
21291
|
+
"onUpdate:modelValue": ($event) => data2.inputValue[key] = $event
|
|
21292
|
+
}, null, 8, ["modelValue", "onUpdate:modelValue"])) : vue.createCommentVNode("", true), ((_f = (_e = props.schema[key]) == null ? void 0 : _e.schema) == null ? void 0 : _f.options) ? (vue.openBlock(), vue.createBlock(DataSelector, {
|
|
21293
|
+
key: 5,
|
|
21294
|
+
modelValue: data2.inputValue[key],
|
|
21292
21295
|
"onUpdate:modelValue": ($event) => data2.inputValue[key] = $event,
|
|
21293
21296
|
options: (_h = (_g = props.schema[key]) == null ? void 0 : _g.schema) == null ? void 0 : _h.options,
|
|
21294
21297
|
placeholder: `\u8BF7\u8F93\u5165${key2name(key)}`,
|
|
@@ -21298,7 +21301,7 @@ var __async = (__this, __arguments, generator) => {
|
|
|
21298
21301
|
},
|
|
21299
21302
|
onSelect: ($event) => onChangeOption(key)
|
|
21300
21303
|
}, null, 8, ["modelValue", "onUpdate:modelValue", "options", "placeholder", "columnsFieldNames", "onSelect"])) : vue.createCommentVNode("", true), props.schema[key].type == "Array" && props.schema[key].auth != "gone" ? (vue.openBlock(), vue.createBlock(_component_ObjsEditor, {
|
|
21301
|
-
key:
|
|
21304
|
+
key: 6,
|
|
21302
21305
|
modelValue: data2.inputValue[key],
|
|
21303
21306
|
"onUpdate:modelValue": ($event) => data2.inputValue[key] = $event,
|
|
21304
21307
|
schema: props.schema[key].schema
|
|
@@ -21306,19 +21309,19 @@ var __async = (__this, __arguments, generator) => {
|
|
|
21306
21309
|
}),
|
|
21307
21310
|
_: 2
|
|
21308
21311
|
}, 1032, ["label", "required", "disabled"])), [[vue.vShow, props.schema[key].auth != "gone"]]);
|
|
21309
|
-
}), 128)), vue.createElementVNode("div",
|
|
21312
|
+
}), 128)), vue.createElementVNode("div", _hoisted_7, [data2.isShowInput ? (vue.openBlock(), vue.createBlock(_component_van_button, {
|
|
21310
21313
|
key: 0,
|
|
21311
21314
|
onClick: onInputConfirm,
|
|
21312
21315
|
size: "mini"
|
|
21313
21316
|
}, {
|
|
21314
|
-
default: vue.withCtx(() => [
|
|
21317
|
+
default: vue.withCtx(() => [_hoisted_8]),
|
|
21315
21318
|
_: 1
|
|
21316
21319
|
})) : vue.createCommentVNode("", true), data2.isShowInput ? (vue.openBlock(), vue.createBlock(_component_van_button, {
|
|
21317
21320
|
key: 1,
|
|
21318
21321
|
onClick: onInputCancel,
|
|
21319
21322
|
size: "mini"
|
|
21320
21323
|
}, {
|
|
21321
|
-
default: vue.withCtx(() => [
|
|
21324
|
+
default: vue.withCtx(() => [_hoisted_9]),
|
|
21322
21325
|
_: 1
|
|
21323
21326
|
})) : vue.createCommentVNode("", true)])]),
|
|
21324
21327
|
_: 1
|
|
@@ -21333,7 +21336,7 @@ var __async = (__this, __arguments, generator) => {
|
|
|
21333
21336
|
};
|
|
21334
21337
|
}
|
|
21335
21338
|
};
|
|
21336
|
-
var ObjsEditor = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-
|
|
21339
|
+
var ObjsEditor = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-1fa437e7"]]);
|
|
21337
21340
|
const secret_notify = () => {
|
|
21338
21341
|
showNotify({ type: "danger", message: "\u4E25\u683C\u6267\u884C\u4FE1\u606F\u4FDD\u5BC6\u8981\u6C42\uFF0C\u5207\u5B9E\u9632\u8303\u4F01\u4E1A\u6CC4\u5BC6\u98CE\u9669", duration: 3e3 });
|
|
21339
21342
|
};
|
package/package.json
CHANGED
|
@@ -8,13 +8,17 @@
|
|
|
8
8
|
</div>
|
|
9
9
|
<van-tag class="user-state" size="large" :color="userState2color(props.userState)">{{
|
|
10
10
|
userState2title(props.userState)
|
|
11
|
-
|
|
12
|
-
<van-tag class="process-state" mark plain size="large"
|
|
13
|
-
|
|
11
|
+
}}</van-tag>
|
|
12
|
+
<van-tag class="process-state" mark plain size="large"
|
|
13
|
+
:color="processState2color(props.processState)">{{
|
|
14
|
+
processState2title(props.processState)
|
|
14
15
|
}}</van-tag>
|
|
15
16
|
</div>
|
|
16
17
|
|
|
17
|
-
<van-cell :title="item.title" :value="item.value" :border="false" v-for="(item,i) in props.fields"
|
|
18
|
+
<van-cell :title="item.title" :value="item.value" :border="false" v-for="(item, i) in props.fields"
|
|
19
|
+
:key="i" />
|
|
20
|
+
|
|
21
|
+
<slot name="foot"></slot>
|
|
18
22
|
</van-cell-group>
|
|
19
23
|
</div>
|
|
20
24
|
</template>
|
|
@@ -25,29 +29,29 @@ import util from '@/util'
|
|
|
25
29
|
|
|
26
30
|
const props = defineProps({
|
|
27
31
|
// 单据类型
|
|
28
|
-
category:{
|
|
29
|
-
type:String,
|
|
30
|
-
default:''
|
|
32
|
+
category: {
|
|
33
|
+
type: String,
|
|
34
|
+
default: ''
|
|
31
35
|
},
|
|
32
36
|
// 单号
|
|
33
|
-
no:{
|
|
34
|
-
type:String,
|
|
35
|
-
default:''
|
|
37
|
+
no: {
|
|
38
|
+
type: String,
|
|
39
|
+
default: ''
|
|
36
40
|
},
|
|
37
41
|
// 流程状态
|
|
38
|
-
processState:{
|
|
39
|
-
type:String,
|
|
40
|
-
default:''
|
|
42
|
+
processState: {
|
|
43
|
+
type: String,
|
|
44
|
+
default: ''
|
|
41
45
|
},
|
|
42
46
|
// 用户状态
|
|
43
|
-
userState:{
|
|
44
|
-
type:String,
|
|
45
|
-
default:''
|
|
47
|
+
userState: {
|
|
48
|
+
type: String,
|
|
49
|
+
default: ''
|
|
46
50
|
},
|
|
47
51
|
// 摘要字段
|
|
48
|
-
fields:{
|
|
49
|
-
type:Array,
|
|
50
|
-
default:[]
|
|
52
|
+
fields: {
|
|
53
|
+
type: Array,
|
|
54
|
+
default: []
|
|
51
55
|
}
|
|
52
56
|
})
|
|
53
57
|
const data = reactive({
|
|
@@ -95,7 +99,7 @@ const userState2color = (state) => {
|
|
|
95
99
|
}
|
|
96
100
|
}
|
|
97
101
|
|
|
98
|
-
const userState2title = (state)=>{
|
|
102
|
+
const userState2title = (state) => {
|
|
99
103
|
if (state == 'unstart') {
|
|
100
104
|
return '未启动'
|
|
101
105
|
} else if (state == 'started') {
|
|
@@ -119,38 +123,43 @@ const userState2title = (state)=>{
|
|
|
119
123
|
|
|
120
124
|
.card-box {
|
|
121
125
|
padding-bottom: 8px;
|
|
126
|
+
|
|
122
127
|
.card-header {
|
|
123
128
|
display: flex;
|
|
124
129
|
align-items: center;
|
|
125
130
|
justify-content: space-between;
|
|
126
131
|
padding: 15px 10px;
|
|
127
132
|
border-bottom: 1px solid #eee;
|
|
128
|
-
|
|
129
|
-
|
|
133
|
+
|
|
134
|
+
.card-sum {
|
|
135
|
+
flex: 1;
|
|
130
136
|
font-size: 14px;
|
|
131
137
|
text-align: left;
|
|
132
138
|
}
|
|
133
|
-
|
|
139
|
+
|
|
140
|
+
.user-state {
|
|
134
141
|
margin-right: 1px;
|
|
135
142
|
}
|
|
136
143
|
}
|
|
137
144
|
}
|
|
138
145
|
}
|
|
139
146
|
|
|
140
|
-
:deep(.van-cell__value){
|
|
141
|
-
flex:2 !important;
|
|
147
|
+
:deep(.van-cell__value) {
|
|
148
|
+
flex: 2 !important;
|
|
142
149
|
}
|
|
143
150
|
|
|
144
|
-
:deep(.van-cell__title){
|
|
151
|
+
:deep(.van-cell__title) {
|
|
145
152
|
font-size: 12px !important;
|
|
146
153
|
color: #666 !important;
|
|
147
154
|
text-align: left !important;
|
|
148
155
|
}
|
|
149
|
-
|
|
156
|
+
|
|
157
|
+
:deep(.van-cell__value) {
|
|
150
158
|
font-size: 12px !important;
|
|
151
159
|
color: #888 !important;
|
|
152
160
|
}
|
|
153
|
-
|
|
161
|
+
|
|
162
|
+
:deep(.van-cell) {
|
|
154
163
|
padding: 2px 10px !important;
|
|
155
164
|
}
|
|
156
165
|
</style>
|
|
@@ -4,8 +4,7 @@
|
|
|
4
4
|
<template #input>
|
|
5
5
|
<div class="image-box">
|
|
6
6
|
<van-uploader v-model="files" :max-count="1" :afterRead="onAfterRead" :disabled="isDisabled"
|
|
7
|
-
:accept="props.accept" upload-icon="plus" :deletable="!isDisabled" :before-delete="onBeforeDelete"
|
|
8
|
-
@click-preview="onPreview" />
|
|
7
|
+
:accept="props.accept" upload-icon="plus" :deletable="!isDisabled" :before-delete="onBeforeDelete" />
|
|
9
8
|
</div>
|
|
10
9
|
</template>
|
|
11
10
|
</van-field>
|
|
@@ -78,11 +77,6 @@ const onBeforeDelete = (e) => {
|
|
|
78
77
|
return Promise.resolve(e)
|
|
79
78
|
}
|
|
80
79
|
|
|
81
|
-
const onPreview = (e) => {
|
|
82
|
-
console.log('onPreview', e)
|
|
83
|
-
window.open(e.url, "_blank");
|
|
84
|
-
}
|
|
85
|
-
|
|
86
80
|
watch(() => props.modelValue,
|
|
87
81
|
(newVal, oldVal) => {
|
|
88
82
|
if (!props.modelValue) {
|
|
@@ -8,7 +8,12 @@
|
|
|
8
8
|
<van-icon name="arrow-left" @click.stop="onForward(index)" />
|
|
9
9
|
<div style="padding: 5px 5px;">
|
|
10
10
|
<div v-for="(k, j) in visiableKeys" :key="j" style="padding:2px 2px;font-size: 12px;">
|
|
11
|
-
|
|
11
|
+
<div v-if="props.schema[k].type != 'Images'">
|
|
12
|
+
{{ `${key2name(k)}:${key2value(k, item)}` }}
|
|
13
|
+
</div>
|
|
14
|
+
<div v-else>
|
|
15
|
+
<ImagesPicker v-model="item[k]" readonly/>
|
|
16
|
+
</div>
|
|
12
17
|
</div>
|
|
13
18
|
</div>
|
|
14
19
|
|
|
@@ -45,6 +50,9 @@
|
|
|
45
50
|
<DatetimePicker v-if="props.schema[key].type == 'Datetime'"
|
|
46
51
|
v-model="data.inputValue[key]" placeholder="选择时间" />
|
|
47
52
|
|
|
53
|
+
<ImagesPicker v-if="props.schema[key].type == 'Images'"
|
|
54
|
+
v-model="data.inputValue[key]" />
|
|
55
|
+
|
|
48
56
|
<DateSelector v-if="props.schema[key]?.schema?.options" v-model="data.inputValue[key]"
|
|
49
57
|
:options="props.schema[key]?.schema?.options" :placeholder="`请输入${key2name(key)}`"
|
|
50
58
|
:columnsFieldNames="{
|
|
@@ -77,6 +85,7 @@ import { useVModel } from '@vueuse/core'
|
|
|
77
85
|
import util from '@/util'
|
|
78
86
|
import DatetimePicker from './DatetimePicker/index.vue'
|
|
79
87
|
import DateSelector from './data_selector.vue'
|
|
88
|
+
import ImagesPicker from './images_picker.vue'
|
|
80
89
|
|
|
81
90
|
const props = defineProps({
|
|
82
91
|
modelValue: {
|
|
@@ -176,7 +185,10 @@ const key2value = (key, item) => {
|
|
|
176
185
|
console.log('key2value', key, item[key], item)
|
|
177
186
|
|
|
178
187
|
let v = item[key]
|
|
179
|
-
if (
|
|
188
|
+
if (props.schema[key].type === 'Images') {
|
|
189
|
+
return (v || []).join(',')
|
|
190
|
+
}
|
|
191
|
+
else if (Array.isArray(v)) {
|
|
180
192
|
let formatValues = v.map(e => {
|
|
181
193
|
let kvs = Object.keys(e).map(k => {
|
|
182
194
|
console.log(props.schema[key])
|
|
@@ -5,12 +5,12 @@
|
|
|
5
5
|
<div class="image-box">
|
|
6
6
|
<van-uploader v-if="props.capture" v-model="files" :max-count="1" :capture="props.capture"
|
|
7
7
|
accept="image/jpeg,image/png" :afterRead="onAfterRead" :disabled="isDisabled"
|
|
8
|
-
:deletable="!isDisabled" :before-delete="onBeforeDelete"
|
|
9
|
-
|
|
8
|
+
:deletable="!isReadonly && !isDisabled" :before-delete="onBeforeDelete" :show-upload="!isReadonly"
|
|
9
|
+
/>
|
|
10
10
|
<van-uploader v-else v-model="files" :max-count="1" accept="image/jpeg,image/png"
|
|
11
|
-
:afterRead="onAfterRead" :disabled="isDisabled" :deletable="!isDisabled"
|
|
12
|
-
:before-delete="onBeforeDelete"
|
|
13
|
-
|
|
11
|
+
:afterRead="onAfterRead" :disabled="isDisabled" :deletable="!isReadonly && !isDisabled"
|
|
12
|
+
:before-delete="onBeforeDelete" :show-upload="!isReadonly"
|
|
13
|
+
/>
|
|
14
14
|
</div>
|
|
15
15
|
</template>
|
|
16
16
|
</van-field>
|
|
@@ -93,11 +93,6 @@ const onBeforeDelete = (e) => {
|
|
|
93
93
|
return Promise.resolve(e)
|
|
94
94
|
}
|
|
95
95
|
|
|
96
|
-
const onPreview = (e) => {
|
|
97
|
-
console.log('onPreview', e)
|
|
98
|
-
window.open(e.url, "_blank");
|
|
99
|
-
}
|
|
100
|
-
|
|
101
96
|
watch(() => props.modelValue,
|
|
102
97
|
(newVal, oldVal) => {
|
|
103
98
|
if (!props.modelValue) {
|