lyflowchart 1.0.115 → 1.0.130
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/ActionsConfig-BuvSvRbv.js +395 -0
- package/dist/ActionsConfig-BuvSvRbv.js.map +1 -0
- package/dist/ApprovalEditorModal-DZfXupU3.js +48 -0
- package/dist/ApprovalEditorModal-DZfXupU3.js.map +1 -0
- package/dist/CancelModal-BUi3ieI8.js +61 -0
- package/dist/CancelModal-BUi3ieI8.js.map +1 -0
- package/dist/Cell_click_approve-CBh0j--6.js +244 -0
- package/dist/Cell_click_approve-CBh0j--6.js.map +1 -0
- package/dist/JsonTags-BbWLqghI.js +66 -0
- package/dist/JsonTags-BbWLqghI.js.map +1 -0
- package/dist/MyProcess-FWGEwQcv.js +26434 -0
- package/dist/MyProcess-FWGEwQcv.js.map +1 -0
- package/dist/MyProcess.vue.d.ts +991 -0
- package/dist/approval-BW2WjPxY.js +167 -0
- package/dist/approval-BW2WjPxY.js.map +1 -0
- package/dist/approval-CuUNtG9u.js +18 -0
- package/dist/approval-CuUNtG9u.js.map +1 -0
- package/dist/approvalHistory-B2gpQbFC.js +868 -0
- package/dist/approvalHistory-B2gpQbFC.js.map +1 -0
- package/dist/approvalHistoryViewModal-DgLpv2ot.js +114 -0
- package/dist/approvalHistoryViewModal-DgLpv2ot.js.map +1 -0
- package/dist/approvalPageConfig-D0zPXOUf.js +2437 -0
- package/dist/approvalPageConfig-D0zPXOUf.js.map +1 -0
- package/dist/approveLeftConfig-BOU_UgHp.js +136 -0
- package/dist/approveLeftConfig-BOU_UgHp.js.map +1 -0
- package/dist/codeHistoryViewModal-BfSjIbEU.js +103 -0
- package/dist/codeHistoryViewModal-BfSjIbEU.js.map +1 -0
- package/dist/columnTables-DLwtgcC7.js +1272 -0
- package/dist/columnTables-DLwtgcC7.js.map +1 -0
- package/dist/components/Cell_click_approve.vue.d.ts +5 -0
- package/dist/components/Cell_click_data_source.vue.d.ts +6 -0
- package/dist/components/Process/common/bpmnUtils.d.ts +8 -0
- package/dist/components/Process/common/global.d.ts +16 -0
- package/dist/components/Process/common/index.d.ts +5 -0
- package/dist/components/Process/component/JsonTags2.vue.d.ts +60 -0
- package/dist/components/Process/component/ValueInput2.vue.d.ts +74 -0
- package/dist/components/Process/component/columnNameField2.vue.d.ts +51 -0
- package/dist/components/Process/component/data.d.ts +157 -0
- package/dist/components/Process/customPanel/CustomContextPad.d.ts +31 -0
- package/dist/components/Process/customPanel/CustomPalette.d.ts +89 -0
- package/dist/components/Process/customPanel/customTranslate.d.ts +1 -0
- package/dist/components/Process/customPanel/index.d.ts +8 -0
- package/dist/components/Process/designer.vue.d.ts +589 -0
- package/dist/components/Process/flowable/init.d.ts +1 -0
- package/dist/components/Process/index.vue.d.ts +812 -0
- package/dist/components/Process/lang/zh.d.ts +249 -0
- package/dist/components/Process/panel/ButtonsPanel.vue.d.ts +24 -0
- package/dist/components/Process/panel/PropertiesPanel.vue.d.ts +24 -0
- package/dist/components/Process/panel/commonPanel.vue.d.ts +40 -0
- package/dist/components/Process/panel/conditionPanel.vue.d.ts +271 -0
- package/dist/components/Process/panel/executionListener.vue.d.ts +66 -0
- package/dist/components/Process/panel/formPanel.vue.d.ts +7 -0
- package/dist/components/Process/panel/multiInstance.vue.d.ts +33 -0
- package/dist/components/Process/panel/otherPanel.vue.d.ts +17 -0
- package/dist/components/Process/panel/taskListener.vue.d.ts +64 -0
- package/dist/components/Process/panel/taskPanel.vue.d.ts +254 -0
- package/dist/components/Process/viewer/index.vue.d.ts +41 -0
- package/dist/components/approval/ApprovalEditorModal.vue.d.ts +26 -0
- package/dist/components/approval/CostCompanySelect.vue.d.ts +29 -0
- package/dist/components/approval/CostDepartmentSelect.vue.d.ts +35 -0
- package/dist/components/approval/CreateByCascader.vue.d.ts +27 -0
- package/dist/components/approval/CreateBySelect.vue.d.ts +35 -0
- package/dist/components/approval/PostionCascader.vue.d.ts +26 -0
- package/dist/components/approval/SystemTime.vue.d.ts +38 -0
- package/dist/components/approval/approvalViewId.d.ts +36 -0
- package/dist/components/approval/components/CancelModal.vue.d.ts +25 -0
- package/dist/components/approval/components/FormCodeInput.vue.d.ts +33 -0
- package/dist/components/approval/components/FormContextInput.vue.d.ts +33 -0
- package/dist/components/approval/components/FormFlowOrgInput.vue.d.ts +40 -0
- package/dist/components/approval/components/actionsBar.vue.d.ts +17 -0
- package/dist/components/approval/components/approvalHistory/approvalHistoryViewModal.vue.d.ts +41 -0
- package/dist/components/approval/components/approvalHistory/dataStoreSettingHistory.vue.d.ts +55 -0
- package/dist/components/approval/components/approvalHistory/dataStoreSettingHistoryViewModal.vue.d.ts +41 -0
- package/dist/components/approval/components/approvalHistory/flowHistoryViewModal.vue.d.ts +41 -0
- package/dist/components/approval/components/approvalHistory/flowSettingHistory.vue.d.ts +55 -0
- package/dist/components/approval/components/approvalHistory/index.vue.d.ts +212 -0
- package/dist/components/approval/components/approvalHistory/pageSettingHistory.vue.d.ts +55 -0
- package/dist/components/approval/components/approvalPageConfig/ActionsConfig.vue.d.ts +112 -0
- package/dist/components/approval/components/approvalPageConfig/BaseConditions.vue.d.ts +205 -0
- package/dist/components/approval/components/approvalPageConfig/CodeEditorWraper.vue.d.ts +51 -0
- package/dist/components/approval/components/approvalPageConfig/ColumnConfig.vue.d.ts +145 -0
- package/dist/components/approval/components/approvalPageConfig/ConditionFieldMulType.vue.d.ts +137 -0
- package/dist/components/approval/components/approvalPageConfig/JsonInput.vue.d.ts +38 -0
- package/dist/components/approval/components/approvalPageConfig/JsonTags.vue.d.ts +26 -0
- package/dist/components/approval/components/approvalPageConfig/JsonText.vue.d.ts +36 -0
- package/dist/components/approval/components/approvalPageConfig/approveLeftConfig.vue.d.ts +6 -0
- package/dist/components/approval/components/approvalPageConfig/baseConfig.vue.d.ts +10 -0
- package/dist/components/approval/components/approvalPageConfig/cellEdit.vue.d.ts +23 -0
- package/dist/components/approval/components/approvalPageConfig/configSync.vue.d.ts +76 -0
- package/dist/components/approval/components/approvalPageConfig/confirmInput.vue.d.ts +26 -0
- package/dist/components/approval/components/approvalPageConfig/defaultOperatorSelect.vue.d.ts +18 -0
- package/dist/components/approval/components/approvalPageConfig/index.vue.d.ts +11 -0
- package/dist/components/approval/components/approvalPageConfig/jsonConfig.vue.d.ts +16 -0
- package/dist/components/approval/components/approvalPageConfig/layoutSetting.vue.d.ts +9 -0
- package/dist/components/approval/components/approvalPageConfig/leftColumn.vue.d.ts +1184 -0
- package/dist/components/approval/components/approvalPageConfig/middleColumn.vue.d.ts +145 -0
- package/dist/components/approval/components/approvalPageConfig/operatorSelect.vue.d.ts +18 -0
- package/dist/components/approval/components/approvalPageConfig/searchConfig.vue.d.ts +166 -0
- package/dist/components/approval/components/approvalPageConfig/tableConfig.vue.d.ts +802 -0
- package/dist/components/approval/components/codeHistory/codeHistory.vue.d.ts +53 -0
- package/dist/components/approval/components/codeHistory/codeHistoryViewModal.vue.d.ts +32 -0
- package/dist/components/approval/components/columnDataList.vue.d.ts +454 -0
- package/dist/components/approval/components/columnForm.vue.d.ts +26 -0
- package/dist/components/approval/components/columnTables.vue.d.ts +502 -0
- package/dist/components/approval/components/columnUnknown.vue.d.ts +2 -0
- package/dist/components/approval/components/dataStoreConfig/ConditionConfig.vue.d.ts +199 -0
- package/dist/components/approval/components/dataStoreConfig/ValueInput.vue.d.ts +37 -0
- package/dist/components/approval/components/dataStoreConfig/dataSourceDetial.vue.d.ts +22 -0
- package/dist/components/approval/components/dataStoreConfig/dataStoreConfig.vue.d.ts +554 -0
- package/dist/components/approval/components/dataStoreConfig/dataStoreConfigItem.vue.d.ts +434 -0
- package/dist/components/approval/components/dataStoreConfig/dataStoreTest.vue.d.ts +39 -0
- package/dist/components/approval/components/dataStoreConfig/dataStoreTestsItem.vue.d.ts +17 -0
- package/dist/components/approval/components/dataStoreConfig/formField.vue.d.ts +28 -0
- package/dist/components/approval/components/dataStoreConfig/formFieldMulType.vue.d.ts +96 -0
- package/dist/components/approval/components/dataStoreConfig/selectExcelColumn.vue.d.ts +26 -0
- package/dist/components/approval/components/dataStoreConfig/selectExcelType.vue.d.ts +28 -0
- package/dist/components/approval/components/debugCode/debugCode.vue.d.ts +214 -0
- package/dist/components/approval/components/drawerDataList.vue.d.ts +504 -0
- package/dist/components/approval/components/drawerTablesList.vue.d.ts +551 -0
- package/dist/components/approval/components/flowConfig/flowConfig.vue.d.ts +1097 -0
- package/dist/components/approval/components/flowConfig/selectCcGroup.vue.d.ts +9 -0
- package/dist/components/approval/components/flowConfig/selectUsers.vue.d.ts +9 -0
- package/dist/components/approval/components/modelTablesList.vue.d.ts +551 -0
- package/dist/components/approval/components/pageConfigHistory.vue.d.ts +2 -0
- package/dist/components/approval/components/search.vue.d.ts +238 -0
- package/dist/components/approval/components/searchSummary.vue.d.ts +100 -0
- package/dist/components/approval/components/table.vue.d.ts +416 -0
- package/dist/components/approval/components/tableModal.vue.d.ts +84 -0
- package/dist/components/approval/configs/approval/default.d.ts +11 -0
- package/dist/components/approval/configs/approval/recordActions.d.ts +22 -0
- package/dist/components/approval/core.vue.d.ts +48 -0
- package/dist/components/approval/example_code/example_code.d.ts +11 -0
- package/dist/components/approval/index.d.ts +18 -0
- package/dist/components/approval/index.vue.d.ts +2 -0
- package/dist/components/approval/migrate/index.d.ts +1 -0
- package/dist/components/approval/migrate/v0001.d.ts +2 -0
- package/dist/components/approval/store/context.d.ts +48 -0
- package/dist/components/approval/store/debugCode.d.ts +7 -0
- package/dist/components/approval/store/settingsState.d.ts +15 -0
- package/dist/components/approval/typing.d.ts +210 -0
- package/dist/components/approval/useApprovalRecordActions.d.ts +83 -0
- package/dist/components/approval/utils.d.ts +164 -0
- package/dist/components/approval_for_details.vue.d.ts +9 -0
- package/dist/components/flow/ElInputTag/index.vue.d.ts +46 -0
- package/dist/components/flow/Expression/index.vue.d.ts +48 -0
- package/dist/components/flow/Role/index.vue.d.ts +68 -0
- package/dist/components/flow/User/index.vue.d.ts +76 -0
- package/dist/config/packed-config.d.ts +26 -0
- package/dist/constants.d.ts +1 -0
- package/dist/core-CctSle2c.js +1629 -0
- package/dist/core-CctSle2c.js.map +1 -0
- package/dist/dataStoreSettingHistoryViewModal-D_so-KLp.js +114 -0
- package/dist/dataStoreSettingHistoryViewModal-D_so-KLp.js.map +1 -0
- package/dist/debugCode-Cm9-WiUG.js +565 -0
- package/dist/debugCode-Cm9-WiUG.js.map +1 -0
- package/dist/debugCode-dD1YnQSD.js +11 -0
- package/dist/debugCode-dD1YnQSD.js.map +1 -0
- package/dist/default-VdDMlY4e.js +560 -0
- package/dist/default-VdDMlY4e.js.map +1 -0
- package/dist/example_code-C_xF8RRG.js +129 -0
- package/dist/example_code-C_xF8RRG.js.map +1 -0
- package/dist/flowHistoryViewModal-D8DJP7Te.js +109 -0
- package/dist/flowHistoryViewModal-D8DJP7Te.js.map +1 -0
- package/dist/index.d.ts +81 -0
- package/dist/index.js +507 -26691
- package/dist/index.js.map +1 -1
- package/dist/init-plugin-fQTSQzui.js +48 -0
- package/dist/init-plugin-fQTSQzui.js.map +1 -0
- package/dist/init-plugin.d.ts +57 -0
- package/dist/leftColumn-CsPjufue.js +209 -0
- package/dist/leftColumn-CsPjufue.js.map +1 -0
- package/dist/lyflowchart.css +1 -1
- package/dist/middleColumn-C7M6-eVo.js +107 -0
- package/dist/middleColumn-C7M6-eVo.js.map +1 -0
- package/dist/recordActions-BgFlNsGU.js +51 -0
- package/dist/recordActions-BgFlNsGU.js.map +1 -0
- package/dist/settingsState-CI81PG-i.js +19 -0
- package/dist/settingsState-CI81PG-i.js.map +1 -0
- package/dist/style.d.ts +3 -0
- package/dist/styles.d.ts +7 -0
- package/dist/tableConfig-uLXue-BS.js +2408 -0
- package/dist/tableConfig-uLXue-BS.js.map +1 -0
- package/dist/tableModal-BcYfVL02.js +124 -0
- package/dist/tableModal-BcYfVL02.js.map +1 -0
- package/dist/useApprovalRecordActions-BQ6MgV2L.js +843 -0
- package/dist/useApprovalRecordActions-BQ6MgV2L.js.map +1 -0
- package/dist/utils/StrUtil.d.ts +52 -0
- package/dist/utils/function.d.ts +8 -0
- package/dist/utils-CLet2gLV.js +420 -0
- package/dist/utils-CLet2gLV.js.map +1 -0
- package/dist/v0001-OaBeBCXI.js +4 -0
- package/dist/v0001-OaBeBCXI.js.map +1 -0
- package/dist/{Cell_click_data_source-C8WEsBGB.js → viewer-Dv3kQsMf.js} +1839 -2724
- package/dist/viewer-Dv3kQsMf.js.map +1 -0
- package/dist/vue-print-next-HRweUmNi.js +683 -0
- package/dist/vue-print-next-HRweUmNi.js.map +1 -0
- package/package.json +39 -8
- package/dist/Cell_click_data_source-C8WEsBGB.js.map +0 -1
|
@@ -0,0 +1,395 @@
|
|
|
1
|
+
import { v as e } from "./init-plugin-fQTSQzui.js";
|
|
2
|
+
import { o as t } from "./utils-CLet2gLV.js";
|
|
3
|
+
import { t as n } from "./example_code-C_xF8RRG.js";
|
|
4
|
+
import { Fragment as r, computed as i, createBlock as a, createCommentVNode as o, createElementBlock as s, createElementVNode as c, createTextVNode as l, createVNode as u, defineComponent as d, openBlock as f, ref as p, renderList as m, resolveComponent as h, toDisplayString as g, withCtx as _ } from "vue";
|
|
5
|
+
import { Modal as v } from "ant-design-vue";
|
|
6
|
+
//#region src/components/approval/components/approvalPageConfig/JsonText.vue?vue&type=script&lang.ts
|
|
7
|
+
var y = d({
|
|
8
|
+
name: "JsonTags",
|
|
9
|
+
props: {
|
|
10
|
+
value: {
|
|
11
|
+
type: Object,
|
|
12
|
+
required: !0
|
|
13
|
+
},
|
|
14
|
+
placeholder: {
|
|
15
|
+
type: String,
|
|
16
|
+
required: !1
|
|
17
|
+
},
|
|
18
|
+
rows: {
|
|
19
|
+
type: Number,
|
|
20
|
+
default: 3
|
|
21
|
+
}
|
|
22
|
+
},
|
|
23
|
+
emits: ["update:value"],
|
|
24
|
+
setup(e, { emit: t }) {
|
|
25
|
+
return {
|
|
26
|
+
_value: i(() => typeof e.value == "string" ? e.value : JSON.stringify(e.value)),
|
|
27
|
+
handleChange: (e) => {
|
|
28
|
+
let n = null;
|
|
29
|
+
try {
|
|
30
|
+
n = JSON.parse(e);
|
|
31
|
+
} catch {
|
|
32
|
+
n = e;
|
|
33
|
+
}
|
|
34
|
+
t("update:value", n);
|
|
35
|
+
},
|
|
36
|
+
valueType: i(() => typeof e.value)
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
});
|
|
40
|
+
//#endregion
|
|
41
|
+
//#region src/components/approval/components/approvalPageConfig/JsonText.vue
|
|
42
|
+
function b(e, t, n, i, a, o) {
|
|
43
|
+
let c = h("a-textarea"), d = h("a-tag");
|
|
44
|
+
return f(), s(r, null, [u(c, {
|
|
45
|
+
value: e._value,
|
|
46
|
+
placeholder: e.placeholder,
|
|
47
|
+
rows: e.rows,
|
|
48
|
+
"onUpdate:value": e.handleChange
|
|
49
|
+
}, null, 8, [
|
|
50
|
+
"value",
|
|
51
|
+
"placeholder",
|
|
52
|
+
"rows",
|
|
53
|
+
"onUpdate:value"
|
|
54
|
+
]), u(d, null, {
|
|
55
|
+
default: _(() => [l(g(e.valueType), 1)]),
|
|
56
|
+
_: 1
|
|
57
|
+
})], 64);
|
|
58
|
+
}
|
|
59
|
+
var x = /* @__PURE__ */ e(y, [["render", b], ["__scopeId", "data-v-43e40d82"]]), S = "click", C = d({
|
|
60
|
+
name: "CodeEditorWraper",
|
|
61
|
+
components: {},
|
|
62
|
+
props: {
|
|
63
|
+
value: {
|
|
64
|
+
type: String,
|
|
65
|
+
default: ""
|
|
66
|
+
},
|
|
67
|
+
editType: {
|
|
68
|
+
type: String,
|
|
69
|
+
default: ""
|
|
70
|
+
},
|
|
71
|
+
action: {
|
|
72
|
+
type: String,
|
|
73
|
+
default: ""
|
|
74
|
+
}
|
|
75
|
+
},
|
|
76
|
+
emits: ["update:value"],
|
|
77
|
+
setup(e, { emit: t }) {
|
|
78
|
+
let r = p(!1), a = p("");
|
|
79
|
+
return {
|
|
80
|
+
update: (e) => {
|
|
81
|
+
t("update:value", e);
|
|
82
|
+
},
|
|
83
|
+
isCodeVisible: r,
|
|
84
|
+
exampleCode: a,
|
|
85
|
+
filterExampleCodeList: i(() => n.filter((t) => e.editType === S ? t.types.includes(S) && t.actions.includes(e.action || null) : t.types.includes(e.editType))),
|
|
86
|
+
handleAppendCode: () => {
|
|
87
|
+
a.value && t("update:value", `${e.value || ""}\n${a.value}`);
|
|
88
|
+
},
|
|
89
|
+
handleReplaceCode: () => {
|
|
90
|
+
a.value && (e.value ? v.confirm({
|
|
91
|
+
title: "提示",
|
|
92
|
+
content: "是否确认要替换现有代码",
|
|
93
|
+
onOk() {
|
|
94
|
+
t("update:value", a.value);
|
|
95
|
+
},
|
|
96
|
+
onCancel() {}
|
|
97
|
+
}) : t("update:value", a.value));
|
|
98
|
+
}
|
|
99
|
+
};
|
|
100
|
+
}
|
|
101
|
+
}), w = { key: 0 };
|
|
102
|
+
function T(e, t, n, i, d, p) {
|
|
103
|
+
let v = h("a-button"), y = h("a-tooltip"), b = h("a-select-option"), x = h("a-select"), S = h("a-col"), C = h("a-button-group"), T = h("a-row"), E = h("a-form-item"), D = h("a-form"), O = h("code-editor");
|
|
104
|
+
return f(), s("div", null, [c("div", null, [u(v, {
|
|
105
|
+
type: "link",
|
|
106
|
+
onClick: t[0] ||= (t) => e.isCodeVisible = !e.isCodeVisible
|
|
107
|
+
}, {
|
|
108
|
+
default: _(() => [l(g(e.isCodeVisible ? "隐藏代码" : "显示代码"), 1)]),
|
|
109
|
+
_: 1
|
|
110
|
+
})]), e.isCodeVisible ? (f(), s("div", w, [u(D, null, {
|
|
111
|
+
default: _(() => [u(E, { label: "示例代码" }, {
|
|
112
|
+
default: _(() => [u(T, { gutter: 10 }, {
|
|
113
|
+
default: _(() => [u(S, { span: 20 }, {
|
|
114
|
+
default: _(() => [u(x, {
|
|
115
|
+
value: e.exampleCode,
|
|
116
|
+
"onUpdate:value": t[1] ||= (t) => e.exampleCode = t,
|
|
117
|
+
"show-search": ""
|
|
118
|
+
}, {
|
|
119
|
+
default: _(() => [(f(!0), s(r, null, m(e.filterExampleCodeList, (e) => (f(), a(b, {
|
|
120
|
+
value: e.value,
|
|
121
|
+
key: e.value
|
|
122
|
+
}, {
|
|
123
|
+
default: _(() => [u(y, {
|
|
124
|
+
overlayClassName: "debug-code-code-view",
|
|
125
|
+
color: "blue"
|
|
126
|
+
}, {
|
|
127
|
+
title: _(() => [c("pre", null, g(e.value), 1)]),
|
|
128
|
+
default: _(() => [l(" " + g(e.label), 1)]),
|
|
129
|
+
_: 2
|
|
130
|
+
}, 1024)]),
|
|
131
|
+
_: 2
|
|
132
|
+
}, 1032, ["value"]))), 128))]),
|
|
133
|
+
_: 1
|
|
134
|
+
}, 8, ["value"])]),
|
|
135
|
+
_: 1
|
|
136
|
+
}), u(S, { span: 4 }, {
|
|
137
|
+
default: _(() => [u(C, null, {
|
|
138
|
+
default: _(() => [u(v, {
|
|
139
|
+
type: "primary",
|
|
140
|
+
onClick: e.handleAppendCode
|
|
141
|
+
}, {
|
|
142
|
+
default: _(() => [...t[2] ||= [l(" 附加 ", -1)]]),
|
|
143
|
+
_: 1
|
|
144
|
+
}, 8, ["onClick"]), u(v, {
|
|
145
|
+
type: "primary",
|
|
146
|
+
onClick: e.handleReplaceCode
|
|
147
|
+
}, {
|
|
148
|
+
default: _(() => [...t[3] ||= [l(" 替换 ", -1)]]),
|
|
149
|
+
_: 1
|
|
150
|
+
}, 8, ["onClick"])]),
|
|
151
|
+
_: 1
|
|
152
|
+
})]),
|
|
153
|
+
_: 1
|
|
154
|
+
})]),
|
|
155
|
+
_: 1
|
|
156
|
+
})]),
|
|
157
|
+
_: 1
|
|
158
|
+
})]),
|
|
159
|
+
_: 1
|
|
160
|
+
}), u(O, {
|
|
161
|
+
editorValue: e.value,
|
|
162
|
+
"onUpdate:editorValue": e.update,
|
|
163
|
+
mode: "javascript",
|
|
164
|
+
lineWrapping: !0
|
|
165
|
+
}, null, 8, ["editorValue", "onUpdate:editorValue"])])) : o("", !0)]);
|
|
166
|
+
}
|
|
167
|
+
var E = /* @__PURE__ */ e(C, [["render", T]]), D = "async function run(params) {\n console.log(JSON.stringify(params));\n // try {\n // const res = await self.callHost('getApiData')({}, '/test/');\n // } catch (e) {\n // console.error('call error', JSON.stringify(e));\n // }\n return { name: 'test' };\n}\n", O = d({
|
|
168
|
+
name: "ActionsConfig",
|
|
169
|
+
components: {
|
|
170
|
+
JsonText: x,
|
|
171
|
+
CodeEditorWraper: E
|
|
172
|
+
},
|
|
173
|
+
props: { dataSource: {
|
|
174
|
+
type: Object,
|
|
175
|
+
required: !0
|
|
176
|
+
} },
|
|
177
|
+
emits: ["update:dataSource"],
|
|
178
|
+
setup(e, { emit: n }) {
|
|
179
|
+
return {
|
|
180
|
+
addButton: () => {
|
|
181
|
+
n("update:dataSource", [...e.dataSource || [], {
|
|
182
|
+
label: "",
|
|
183
|
+
type: "primary",
|
|
184
|
+
action: "process",
|
|
185
|
+
danger: !1,
|
|
186
|
+
settings: {},
|
|
187
|
+
code: D
|
|
188
|
+
}]);
|
|
189
|
+
},
|
|
190
|
+
removeButton: (t) => {
|
|
191
|
+
e.dataSource.splice(t, 1);
|
|
192
|
+
},
|
|
193
|
+
typeList: [
|
|
194
|
+
"primary",
|
|
195
|
+
"default",
|
|
196
|
+
"dashed",
|
|
197
|
+
"link",
|
|
198
|
+
"text"
|
|
199
|
+
],
|
|
200
|
+
actionTypes: t,
|
|
201
|
+
showCodeEnableChange: (e, t) => {
|
|
202
|
+
e.showCode = {
|
|
203
|
+
...e.showCode || { code: "async function run({ context, settings }) {\n console.log('context', JSON.stringify(context));\n console.log('settings', JSON.stringify(settings));\n const { tables, formModel } = context;\n // const table = tables['approve-approve_record'];\n // const { searchConditions, selectedRowKeys, selectedRecord, datasource } = table;\n\n // try {\n // const res = await self.callHost('getApiData')({}, '/test/');\n // } catch (e) {\n // console.error('call error', JSON.stringify(e));\n // }\n return true;\n}\n" },
|
|
204
|
+
enable: t
|
|
205
|
+
};
|
|
206
|
+
},
|
|
207
|
+
disableCodeEnableChange: (e, t) => {
|
|
208
|
+
e.disableCode = {
|
|
209
|
+
...e.showCode || { code: "async function run({ context, settings }) {\n console.log('context', JSON.stringify(context));\n console.log('settings', JSON.stringify(settings));\n const { tables, formModel } = context;\n // const table = tables['approve-approve_record'];\n // const { searchConditions, selectedRowKeys, selectedRecord, datasource } = table;\n\n // try {\n // const res = await self.callHost('getApiData')({}, '/test/');\n // } catch (e) {\n // console.error('call error', JSON.stringify(e));\n // }\n return true;\n}\n" },
|
|
210
|
+
enable: t
|
|
211
|
+
};
|
|
212
|
+
}
|
|
213
|
+
};
|
|
214
|
+
}
|
|
215
|
+
}), k = { class: "item-index" }, A = { class: "config-body" }, j = { class: "config-actions" };
|
|
216
|
+
function M(e, t, n, i, d, p) {
|
|
217
|
+
let v = h("a-input"), y = h("a-col"), b = h("a-switch"), x = h("a-button"), S = h("a-select-option"), C = h("a-select"), w = h("a-row"), T = h("json-text"), E = h("code-editor-wraper"), D = h("delete-outlined");
|
|
218
|
+
return f(), s("div", null, [(f(!0), s(r, null, m(e.dataSource, (n, i) => (f(), s("div", {
|
|
219
|
+
key: i,
|
|
220
|
+
class: "button-config-item"
|
|
221
|
+
}, [
|
|
222
|
+
c("div", k, "(" + g(i + 1) + ")", 1),
|
|
223
|
+
c("div", A, [
|
|
224
|
+
u(w, {
|
|
225
|
+
gutter: 16,
|
|
226
|
+
align: "top"
|
|
227
|
+
}, {
|
|
228
|
+
default: _(() => [
|
|
229
|
+
u(y, { span: 5 }, {
|
|
230
|
+
default: _(() => [t[0] ||= c("label", null, "名称", -1), u(v, {
|
|
231
|
+
value: n.label,
|
|
232
|
+
"onUpdate:value": (e) => n.label = e
|
|
233
|
+
}, null, 8, ["value", "onUpdate:value"])]),
|
|
234
|
+
_: 2
|
|
235
|
+
}, 1024),
|
|
236
|
+
u(y, { span: 3 }, {
|
|
237
|
+
default: _(() => [t[1] ||= c("label", null, "下拉菜单", -1), c("div", null, [u(b, {
|
|
238
|
+
checked: n.is_dropdown,
|
|
239
|
+
"onUpdate:checked": (e) => n.is_dropdown = e
|
|
240
|
+
}, null, 8, ["checked", "onUpdate:checked"])])]),
|
|
241
|
+
_: 2
|
|
242
|
+
}, 1024),
|
|
243
|
+
n.is_dropdown ? (f(), a(y, {
|
|
244
|
+
key: 1,
|
|
245
|
+
span: 5
|
|
246
|
+
}, {
|
|
247
|
+
default: _(() => [t[4] ||= c("label", null, "组名", -1), u(v, {
|
|
248
|
+
value: n.group_name,
|
|
249
|
+
"onUpdate:value": (e) => n.group_name = e
|
|
250
|
+
}, null, 8, ["value", "onUpdate:value"])]),
|
|
251
|
+
_: 2
|
|
252
|
+
}, 1024)) : (f(), s(r, { key: 0 }, [u(y, { span: 3 }, {
|
|
253
|
+
default: _(() => [t[2] ||= c("label", null, "危险按钮", -1), c("div", null, [u(b, {
|
|
254
|
+
checked: n.danger,
|
|
255
|
+
"onUpdate:checked": (e) => n.danger = e
|
|
256
|
+
}, null, 8, ["checked", "onUpdate:checked"])])]),
|
|
257
|
+
_: 2
|
|
258
|
+
}, 1024), u(y, { span: 5 }, {
|
|
259
|
+
default: _(() => [t[3] ||= c("label", null, "显示类型", -1), u(C, {
|
|
260
|
+
value: n.type,
|
|
261
|
+
"onUpdate:value": (e) => n.type = e,
|
|
262
|
+
class: "w-full"
|
|
263
|
+
}, {
|
|
264
|
+
default: _(() => [(f(!0), s(r, null, m(e.typeList, (e, t) => (f(), a(S, {
|
|
265
|
+
value: e,
|
|
266
|
+
key: t
|
|
267
|
+
}, {
|
|
268
|
+
default: _(() => [u(x, {
|
|
269
|
+
size: "small",
|
|
270
|
+
type: e,
|
|
271
|
+
danger: n.danger
|
|
272
|
+
}, {
|
|
273
|
+
default: _(() => [l(g(e), 1)]),
|
|
274
|
+
_: 2
|
|
275
|
+
}, 1032, ["type", "danger"])]),
|
|
276
|
+
_: 2
|
|
277
|
+
}, 1032, ["value"]))), 128))]),
|
|
278
|
+
_: 2
|
|
279
|
+
}, 1032, ["value", "onUpdate:value"])]),
|
|
280
|
+
_: 2
|
|
281
|
+
}, 1024)], 64))
|
|
282
|
+
]),
|
|
283
|
+
_: 2
|
|
284
|
+
}, 1024),
|
|
285
|
+
u(w, { gutter: 16 }, {
|
|
286
|
+
default: _(() => [u(y, { span: 24 }, {
|
|
287
|
+
default: _(() => [t[5] ||= c("label", null, "操作类型", -1), u(C, {
|
|
288
|
+
value: n.action,
|
|
289
|
+
"onUpdate:value": (e) => n.action = e,
|
|
290
|
+
class: "w-full",
|
|
291
|
+
options: e.actionTypes
|
|
292
|
+
}, null, 8, [
|
|
293
|
+
"value",
|
|
294
|
+
"onUpdate:value",
|
|
295
|
+
"options"
|
|
296
|
+
])]),
|
|
297
|
+
_: 2
|
|
298
|
+
}, 1024)]),
|
|
299
|
+
_: 2
|
|
300
|
+
}, 1024),
|
|
301
|
+
u(w, {
|
|
302
|
+
gutter: 16,
|
|
303
|
+
class: "mt-4"
|
|
304
|
+
}, {
|
|
305
|
+
default: _(() => [u(y, { span: 24 }, {
|
|
306
|
+
default: _(() => [t[6] ||= c("label", null, "配置", -1), u(T, {
|
|
307
|
+
value: n.settings,
|
|
308
|
+
"onUpdate:value": (e) => n.settings = e,
|
|
309
|
+
rows: 3
|
|
310
|
+
}, null, 8, ["value", "onUpdate:value"])]),
|
|
311
|
+
_: 2
|
|
312
|
+
}, 1024)]),
|
|
313
|
+
_: 2
|
|
314
|
+
}, 1024),
|
|
315
|
+
u(w, {
|
|
316
|
+
gutter: 16,
|
|
317
|
+
class: "mt-4"
|
|
318
|
+
}, {
|
|
319
|
+
default: _(() => [u(y, { span: 24 }, {
|
|
320
|
+
default: _(() => [t[7] ||= c("label", null, "点击事件代码", -1), u(E, {
|
|
321
|
+
value: n.code,
|
|
322
|
+
"onUpdate:value": (e) => n.code = e,
|
|
323
|
+
"edit-type": "click",
|
|
324
|
+
action: n.action
|
|
325
|
+
}, null, 8, [
|
|
326
|
+
"value",
|
|
327
|
+
"onUpdate:value",
|
|
328
|
+
"action"
|
|
329
|
+
])]),
|
|
330
|
+
_: 2
|
|
331
|
+
}, 1024)]),
|
|
332
|
+
_: 2
|
|
333
|
+
}, 1024),
|
|
334
|
+
u(w, {
|
|
335
|
+
gutter: 16,
|
|
336
|
+
class: "mt-4"
|
|
337
|
+
}, {
|
|
338
|
+
default: _(() => [u(y, { span: 2 }, {
|
|
339
|
+
default: _(() => [t[8] ||= c("label", null, "显示控制", -1), u(b, {
|
|
340
|
+
checked: n.showCode?.enable,
|
|
341
|
+
onChange: (t) => e.showCodeEnableChange(n, t)
|
|
342
|
+
}, null, 8, ["checked", "onChange"])]),
|
|
343
|
+
_: 2
|
|
344
|
+
}, 1024), n.showCode?.enable ? (f(), a(y, {
|
|
345
|
+
key: 0,
|
|
346
|
+
span: 22
|
|
347
|
+
}, {
|
|
348
|
+
default: _(() => [t[9] ||= c("label", null, "显示控制代码", -1), u(E, {
|
|
349
|
+
value: n.showCode.code,
|
|
350
|
+
"onUpdate:value": (e) => n.showCode.code = e,
|
|
351
|
+
"edit-type": "show"
|
|
352
|
+
}, null, 8, ["value", "onUpdate:value"])]),
|
|
353
|
+
_: 2
|
|
354
|
+
}, 1024)) : o("", !0)]),
|
|
355
|
+
_: 2
|
|
356
|
+
}, 1024),
|
|
357
|
+
u(w, {
|
|
358
|
+
gutter: 16,
|
|
359
|
+
class: "mt-4"
|
|
360
|
+
}, {
|
|
361
|
+
default: _(() => [u(y, { span: 2 }, {
|
|
362
|
+
default: _(() => [t[10] ||= c("label", null, "禁用控制", -1), u(b, {
|
|
363
|
+
checked: n.disableCode?.enable,
|
|
364
|
+
onChange: (t) => e.disableCodeEnableChange(n, t)
|
|
365
|
+
}, null, 8, ["checked", "onChange"])]),
|
|
366
|
+
_: 2
|
|
367
|
+
}, 1024), n.disableCode?.enable ? (f(), a(y, {
|
|
368
|
+
key: 0,
|
|
369
|
+
span: 22
|
|
370
|
+
}, {
|
|
371
|
+
default: _(() => [t[11] ||= c("label", null, "禁用制代码", -1), u(E, {
|
|
372
|
+
value: n.disableCode.code,
|
|
373
|
+
"onUpdate:value": (e) => n.disableCode.code = e,
|
|
374
|
+
"edit-type": "disable"
|
|
375
|
+
}, null, 8, ["value", "onUpdate:value"])]),
|
|
376
|
+
_: 2
|
|
377
|
+
}, 1024)) : o("", !0)]),
|
|
378
|
+
_: 2
|
|
379
|
+
}, 1024)
|
|
380
|
+
]),
|
|
381
|
+
c("div", j, [u(D, {
|
|
382
|
+
onClick: (t) => e.removeButton(i),
|
|
383
|
+
class: "delete-icon"
|
|
384
|
+
}, null, 8, ["onClick"])])
|
|
385
|
+
]))), 128)), u(x, {
|
|
386
|
+
type: "link",
|
|
387
|
+
onClick: e.addButton
|
|
388
|
+
}, {
|
|
389
|
+
default: _(() => [...t[12] ||= [l(" 添加按钮 ", -1)]]),
|
|
390
|
+
_: 1
|
|
391
|
+
}, 8, ["onClick"])]);
|
|
392
|
+
}
|
|
393
|
+
var N = /* @__PURE__ */ e(O, [["render", M], ["__scopeId", "data-v-b55f534d"]]);
|
|
394
|
+
//#endregion
|
|
395
|
+
export { x as n, N as t };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ActionsConfig-BuvSvRbv.js","names":[],"sources":["../src/components/approval/components/approvalPageConfig/JsonText.vue","../src/components/approval/components/approvalPageConfig/JsonText.vue","../src/components/approval/components/approvalPageConfig/CodeEditorWraper.vue","../src/components/approval/components/approvalPageConfig/CodeEditorWraper.vue","../src/components/approval/components/approvalPageConfig/default_action_code.js?raw","../src/components/approval/components/approvalPageConfig/ActionsConfig.vue","../src/components/approval/components/approvalPageConfig/ActionsConfig.vue"],"sourcesContent":["<template>\n <a-textarea\n :value=\"_value\"\n :placeholder=\"placeholder\"\n :rows=\"rows\"\n @update:value=\"handleChange\"\n />\n <a-tag>{{ valueType }}</a-tag>\n</template>\n\n<script lang=\"ts\">\nimport { computed, defineComponent, ref, watch } from 'vue';\n\nexport default defineComponent({\n name: 'JsonTags',\n props: {\n value: {\n type: Object,\n required: true,\n },\n placeholder: {\n type: String,\n required: false,\n },\n rows: {\n type: Number,\n default: 3,\n },\n },\n emits: ['update:value'],\n setup(props, { emit }) {\n const _value = computed(() => {\n if (typeof props.value === 'string') {\n return props.value;\n } else {\n return JSON.stringify(props.value);\n }\n });\n const handleChange = value => {\n let res = null;\n try {\n res = JSON.parse(value);\n } catch {\n res = value;\n }\n emit('update:value', res);\n };\n const valueType = computed(() => {\n return typeof props.value;\n });\n return {\n _value,\n handleChange,\n valueType,\n };\n },\n});\n</script>\n<style lang=\"less\" scoped>\n.type {\n color: #1890ff;\n}\n</style>\n","<template>\n <a-textarea\n :value=\"_value\"\n :placeholder=\"placeholder\"\n :rows=\"rows\"\n @update:value=\"handleChange\"\n />\n <a-tag>{{ valueType }}</a-tag>\n</template>\n\n<script lang=\"ts\">\nimport { computed, defineComponent, ref, watch } from 'vue';\n\nexport default defineComponent({\n name: 'JsonTags',\n props: {\n value: {\n type: Object,\n required: true,\n },\n placeholder: {\n type: String,\n required: false,\n },\n rows: {\n type: Number,\n default: 3,\n },\n },\n emits: ['update:value'],\n setup(props, { emit }) {\n const _value = computed(() => {\n if (typeof props.value === 'string') {\n return props.value;\n } else {\n return JSON.stringify(props.value);\n }\n });\n const handleChange = value => {\n let res = null;\n try {\n res = JSON.parse(value);\n } catch {\n res = value;\n }\n emit('update:value', res);\n };\n const valueType = computed(() => {\n return typeof props.value;\n });\n return {\n _value,\n handleChange,\n valueType,\n };\n },\n});\n</script>\n<style lang=\"less\" scoped>\n.type {\n color: #1890ff;\n}\n</style>\n","<template>\n <div>\n <div>\n <a-button\n type=\"link\"\n @click=\"isCodeVisible = !isCodeVisible\"\n >\n {{ isCodeVisible ? '隐藏代码' : '显示代码' }}\n </a-button>\n </div>\n <div v-if=\"isCodeVisible\">\n <a-form>\n <a-form-item label=\"示例代码\">\n <a-row :gutter=\"10\">\n <a-col :span=\"20\">\n <a-select\n v-model:value=\"exampleCode\"\n show-search\n >\n <a-select-option\n v-for=\"item in filterExampleCodeList\"\n :value=\"item.value\"\n :key=\"item.value\"\n >\n <a-tooltip\n overlayClassName=\"debug-code-code-view\"\n color=\"blue\"\n >\n <template #title>\n <pre>{{ item.value }}</pre>\n </template>\n {{ item.label }}\n </a-tooltip>\n </a-select-option>\n </a-select>\n </a-col>\n <a-col :span=\"4\">\n <a-button-group>\n <a-button\n type=\"primary\"\n @click=\"handleAppendCode\"\n >\n 附加\n </a-button>\n <a-button\n type=\"primary\"\n @click=\"handleReplaceCode\"\n >\n 替换\n </a-button>\n </a-button-group>\n </a-col>\n </a-row>\n </a-form-item>\n </a-form>\n <code-editor\n :editorValue=\"value\"\n @update:editorValue=\"update\"\n mode=\"javascript\"\n :lineWrapping=\"true\"\n />\n </div>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { computed, defineComponent, ref } from 'vue';\nimport { exampleCodeList } from '../../example_code/example_code';\nimport { Modal } from 'ant-design-vue';\nconst EDIT_TYPE_CLICK = 'click';\nconst EDIT_TYPE_SHOW = 'show';\nconst EDIT_TYPE_DISABLE = 'disable';\nconst EDIT_TYPE_VALUE = 'value';\nexport default defineComponent({\n name: 'CodeEditorWraper',\n components: {\n },\n props: {\n value: {\n type: String,\n default: '',\n },\n editType: {\n type: String,\n default: '',\n },\n action: {\n type: String,\n default: '',\n },\n },\n emits: ['update:value'],\n setup(props, { emit }) {\n const isCodeVisible = ref(false);\n const exampleCode = ref('');\n const update = value => {\n emit('update:value', value);\n };\n const filterExampleCodeList = computed(() => {\n return exampleCodeList.filter(item => {\n if (props.editType === EDIT_TYPE_CLICK) {\n return (\n item.types.includes(EDIT_TYPE_CLICK) && item.actions.includes(props.action || null)\n );\n } else {\n return item.types.includes(props.editType);\n }\n });\n });\n const handleAppendCode = () => {\n if (!exampleCode.value) {\n return;\n }\n const value = `${props.value || ''}\\n${exampleCode.value}`;\n emit('update:value', value);\n };\n\n const handleReplaceCode = () => {\n if (!exampleCode.value) {\n return;\n }\n if (props.value) {\n Modal.confirm({\n title: '提示',\n content: '是否确认要替换现有代码',\n onOk() {\n emit('update:value', exampleCode.value);\n },\n onCancel() {},\n });\n } else {\n emit('update:value', exampleCode.value);\n }\n };\n return {\n update,\n isCodeVisible,\n exampleCode,\n filterExampleCodeList,\n handleAppendCode,\n handleReplaceCode,\n };\n },\n});\n</script>\n\n<style scoped lang=\"less\"></style>\n","<template>\n <div>\n <div>\n <a-button\n type=\"link\"\n @click=\"isCodeVisible = !isCodeVisible\"\n >\n {{ isCodeVisible ? '隐藏代码' : '显示代码' }}\n </a-button>\n </div>\n <div v-if=\"isCodeVisible\">\n <a-form>\n <a-form-item label=\"示例代码\">\n <a-row :gutter=\"10\">\n <a-col :span=\"20\">\n <a-select\n v-model:value=\"exampleCode\"\n show-search\n >\n <a-select-option\n v-for=\"item in filterExampleCodeList\"\n :value=\"item.value\"\n :key=\"item.value\"\n >\n <a-tooltip\n overlayClassName=\"debug-code-code-view\"\n color=\"blue\"\n >\n <template #title>\n <pre>{{ item.value }}</pre>\n </template>\n {{ item.label }}\n </a-tooltip>\n </a-select-option>\n </a-select>\n </a-col>\n <a-col :span=\"4\">\n <a-button-group>\n <a-button\n type=\"primary\"\n @click=\"handleAppendCode\"\n >\n 附加\n </a-button>\n <a-button\n type=\"primary\"\n @click=\"handleReplaceCode\"\n >\n 替换\n </a-button>\n </a-button-group>\n </a-col>\n </a-row>\n </a-form-item>\n </a-form>\n <code-editor\n :editorValue=\"value\"\n @update:editorValue=\"update\"\n mode=\"javascript\"\n :lineWrapping=\"true\"\n />\n </div>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { computed, defineComponent, ref } from 'vue';\nimport { exampleCodeList } from '../../example_code/example_code';\nimport { Modal } from 'ant-design-vue';\nconst EDIT_TYPE_CLICK = 'click';\nconst EDIT_TYPE_SHOW = 'show';\nconst EDIT_TYPE_DISABLE = 'disable';\nconst EDIT_TYPE_VALUE = 'value';\nexport default defineComponent({\n name: 'CodeEditorWraper',\n components: {\n },\n props: {\n value: {\n type: String,\n default: '',\n },\n editType: {\n type: String,\n default: '',\n },\n action: {\n type: String,\n default: '',\n },\n },\n emits: ['update:value'],\n setup(props, { emit }) {\n const isCodeVisible = ref(false);\n const exampleCode = ref('');\n const update = value => {\n emit('update:value', value);\n };\n const filterExampleCodeList = computed(() => {\n return exampleCodeList.filter(item => {\n if (props.editType === EDIT_TYPE_CLICK) {\n return (\n item.types.includes(EDIT_TYPE_CLICK) && item.actions.includes(props.action || null)\n );\n } else {\n return item.types.includes(props.editType);\n }\n });\n });\n const handleAppendCode = () => {\n if (!exampleCode.value) {\n return;\n }\n const value = `${props.value || ''}\\n${exampleCode.value}`;\n emit('update:value', value);\n };\n\n const handleReplaceCode = () => {\n if (!exampleCode.value) {\n return;\n }\n if (props.value) {\n Modal.confirm({\n title: '提示',\n content: '是否确认要替换现有代码',\n onOk() {\n emit('update:value', exampleCode.value);\n },\n onCancel() {},\n });\n } else {\n emit('update:value', exampleCode.value);\n }\n };\n return {\n update,\n isCodeVisible,\n exampleCode,\n filterExampleCodeList,\n handleAppendCode,\n handleReplaceCode,\n };\n },\n});\n</script>\n\n<style scoped lang=\"less\"></style>\n","export default \"async function run(params) {\\n console.log(JSON.stringify(params));\\n // try {\\n // const res = await self.callHost('getApiData')({}, '/test/');\\n // } catch (e) {\\n // console.error('call error', JSON.stringify(e));\\n // }\\n return { name: 'test' };\\n}\\n\"","<template>\n <div>\n <div\n v-for=\"(button, index) in dataSource\"\n :key=\"index\"\n class=\"button-config-item\"\n >\n <div class=\"item-index\">({{ index + 1 }})</div>\n <div class=\"config-body\">\n <a-row\n :gutter=\"16\"\n align=\"top\"\n >\n <a-col :span=\"5\">\n <label>名称</label>\n <a-input v-model:value=\"button.label\" />\n </a-col>\n <a-col :span=\"3\">\n <label>下拉菜单</label>\n <div>\n <a-switch v-model:checked=\"button.is_dropdown\" />\n </div>\n </a-col>\n <template v-if=\"!button.is_dropdown\">\n <a-col :span=\"3\">\n <label>危险按钮</label>\n <div>\n <a-switch v-model:checked=\"button.danger\" />\n </div>\n </a-col>\n <a-col :span=\"5\">\n <label>显示类型</label>\n <a-select\n v-model:value=\"button.type\"\n class=\"w-full\"\n >\n <a-select-option\n v-for=\"(item, index) in typeList\"\n :value=\"item\"\n :key=\"index\"\n >\n <a-button\n size=\"small\"\n :type=\"item as any\"\n :danger=\"button.danger\"\n >\n {{ item }}\n </a-button>\n </a-select-option>\n </a-select>\n </a-col>\n </template>\n <template v-else>\n <a-col :span=\"5\">\n <label>组名</label>\n <a-input v-model:value=\"button.group_name\" />\n </a-col>\n </template>\n </a-row>\n <a-row :gutter=\"16\">\n <a-col :span=\"24\">\n <label>操作类型</label>\n <a-select\n v-model:value=\"button.action\"\n class=\"w-full\"\n :options=\"actionTypes\"\n ></a-select>\n </a-col>\n </a-row>\n <a-row\n :gutter=\"16\"\n class=\"mt-4\"\n >\n <a-col :span=\"24\">\n <label>配置</label>\n <json-text\n v-model:value=\"button.settings\"\n :rows=\"3\"\n />\n </a-col>\n </a-row>\n <a-row\n :gutter=\"16\"\n class=\"mt-4\"\n >\n <a-col :span=\"24\">\n <label>点击事件代码</label>\n <code-editor-wraper\n v-model:value=\"button.code\"\n :edit-type=\"'click'\"\n :action=\"button.action\"\n />\n </a-col>\n </a-row>\n <a-row\n :gutter=\"16\"\n class=\"mt-4\"\n >\n <a-col :span=\"2\">\n <label>显示控制</label>\n <a-switch\n :checked=\"button.showCode?.enable\"\n @change=\"showCodeEnableChange(button, $event)\"\n ></a-switch>\n </a-col>\n <a-col\n :span=\"22\"\n v-if=\"button.showCode?.enable\"\n >\n <label>显示控制代码</label>\n <code-editor-wraper\n v-model:value=\"button.showCode.code\"\n :edit-type=\"'show'\"\n />\n </a-col>\n </a-row>\n <a-row\n :gutter=\"16\"\n class=\"mt-4\"\n >\n <a-col :span=\"2\">\n <label>禁用控制</label>\n <a-switch\n :checked=\"button.disableCode?.enable\"\n @change=\"disableCodeEnableChange(button, $event)\"\n ></a-switch>\n </a-col>\n <a-col\n :span=\"22\"\n v-if=\"button.disableCode?.enable\"\n >\n <label>禁用制代码</label>\n <code-editor-wraper\n v-model:value=\"button.disableCode.code\"\n :edit-type=\"'disable'\"\n />\n </a-col>\n </a-row>\n </div>\n <div class=\"config-actions\">\n <delete-outlined\n @click=\"removeButton(index)\"\n class=\"delete-icon\"\n />\n </div>\n </div>\n <a-button\n type=\"link\"\n @click=\"addButton\"\n >\n 添加按钮\n </a-button>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent, PropType, ref } from 'vue';\nimport { Action } from '../../typing';\nimport JsonText from './JsonText.vue';\nimport { actionTypes } from '../../utils';\nimport CodeEditorWraper from './CodeEditorWraper.vue';\nimport default_action_cdoe from './default_action_code.js?raw';\nimport form_bottom_show from '../../example_code/form_bottom_show.js?raw';\nimport form_bottom_disable from '../../example_code/form_bottom_disable.js?raw';\n\nexport default defineComponent({\n name: 'ActionsConfig',\n components: {\n JsonText,\n CodeEditorWraper,\n },\n props: {\n dataSource: {\n type: Object as PropType<Array<Action>>,\n required: true,\n },\n },\n emits: ['update:dataSource'],\n setup(props, { emit }) {\n const addButton = () => {\n const data = props.dataSource || [];\n emit('update:dataSource', [\n ...data,\n {\n label: '',\n type: 'primary',\n action: 'process',\n danger: false,\n settings: {},\n code: default_action_cdoe,\n },\n ]);\n };\n const showCodeEnableChange = (item: Action, enable) => {\n item.showCode = {\n ...(item.showCode || { code: form_bottom_show }),\n enable: enable,\n };\n };\n const disableCodeEnableChange = (item: Action, enable) => {\n item.disableCode = {\n ...(item.showCode || { code: form_bottom_disable }),\n enable: enable,\n };\n };\n\n const removeButton = (index: number) => {\n props.dataSource.splice(index, 1);\n };\n const typeList = ['primary', 'default', 'dashed', 'link', 'text'];\n\n return {\n addButton,\n removeButton,\n typeList,\n actionTypes,\n showCodeEnableChange,\n disableCodeEnableChange,\n };\n },\n});\n</script>\n\n<style scoped lang=\"less\">\n.button-config-item {\n display: flex;\n flex-direction: row;\n align-items: flex-start;\n gap: 10px;\n border-bottom: 1px solid #f0f0f0;\n padding-bottom: 16px;\n margin-bottom: 16px;\n\n &:last-child {\n border-bottom: none;\n margin-bottom: 0;\n }\n}\n\n.config-body {\n flex: 1;\n}\n\n.delete-icon {\n font-size: 18px;\n color: #ff4d4f;\n cursor: pointer;\n}\n\nlabel {\n display: block;\n margin-bottom: 4px;\n}\n\n.w-full {\n width: 100%;\n}\n</style>\n","<template>\n <div>\n <div\n v-for=\"(button, index) in dataSource\"\n :key=\"index\"\n class=\"button-config-item\"\n >\n <div class=\"item-index\">({{ index + 1 }})</div>\n <div class=\"config-body\">\n <a-row\n :gutter=\"16\"\n align=\"top\"\n >\n <a-col :span=\"5\">\n <label>名称</label>\n <a-input v-model:value=\"button.label\" />\n </a-col>\n <a-col :span=\"3\">\n <label>下拉菜单</label>\n <div>\n <a-switch v-model:checked=\"button.is_dropdown\" />\n </div>\n </a-col>\n <template v-if=\"!button.is_dropdown\">\n <a-col :span=\"3\">\n <label>危险按钮</label>\n <div>\n <a-switch v-model:checked=\"button.danger\" />\n </div>\n </a-col>\n <a-col :span=\"5\">\n <label>显示类型</label>\n <a-select\n v-model:value=\"button.type\"\n class=\"w-full\"\n >\n <a-select-option\n v-for=\"(item, index) in typeList\"\n :value=\"item\"\n :key=\"index\"\n >\n <a-button\n size=\"small\"\n :type=\"item as any\"\n :danger=\"button.danger\"\n >\n {{ item }}\n </a-button>\n </a-select-option>\n </a-select>\n </a-col>\n </template>\n <template v-else>\n <a-col :span=\"5\">\n <label>组名</label>\n <a-input v-model:value=\"button.group_name\" />\n </a-col>\n </template>\n </a-row>\n <a-row :gutter=\"16\">\n <a-col :span=\"24\">\n <label>操作类型</label>\n <a-select\n v-model:value=\"button.action\"\n class=\"w-full\"\n :options=\"actionTypes\"\n ></a-select>\n </a-col>\n </a-row>\n <a-row\n :gutter=\"16\"\n class=\"mt-4\"\n >\n <a-col :span=\"24\">\n <label>配置</label>\n <json-text\n v-model:value=\"button.settings\"\n :rows=\"3\"\n />\n </a-col>\n </a-row>\n <a-row\n :gutter=\"16\"\n class=\"mt-4\"\n >\n <a-col :span=\"24\">\n <label>点击事件代码</label>\n <code-editor-wraper\n v-model:value=\"button.code\"\n :edit-type=\"'click'\"\n :action=\"button.action\"\n />\n </a-col>\n </a-row>\n <a-row\n :gutter=\"16\"\n class=\"mt-4\"\n >\n <a-col :span=\"2\">\n <label>显示控制</label>\n <a-switch\n :checked=\"button.showCode?.enable\"\n @change=\"showCodeEnableChange(button, $event)\"\n ></a-switch>\n </a-col>\n <a-col\n :span=\"22\"\n v-if=\"button.showCode?.enable\"\n >\n <label>显示控制代码</label>\n <code-editor-wraper\n v-model:value=\"button.showCode.code\"\n :edit-type=\"'show'\"\n />\n </a-col>\n </a-row>\n <a-row\n :gutter=\"16\"\n class=\"mt-4\"\n >\n <a-col :span=\"2\">\n <label>禁用控制</label>\n <a-switch\n :checked=\"button.disableCode?.enable\"\n @change=\"disableCodeEnableChange(button, $event)\"\n ></a-switch>\n </a-col>\n <a-col\n :span=\"22\"\n v-if=\"button.disableCode?.enable\"\n >\n <label>禁用制代码</label>\n <code-editor-wraper\n v-model:value=\"button.disableCode.code\"\n :edit-type=\"'disable'\"\n />\n </a-col>\n </a-row>\n </div>\n <div class=\"config-actions\">\n <delete-outlined\n @click=\"removeButton(index)\"\n class=\"delete-icon\"\n />\n </div>\n </div>\n <a-button\n type=\"link\"\n @click=\"addButton\"\n >\n 添加按钮\n </a-button>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent, PropType, ref } from 'vue';\nimport { Action } from '../../typing';\nimport JsonText from './JsonText.vue';\nimport { actionTypes } from '../../utils';\nimport CodeEditorWraper from './CodeEditorWraper.vue';\nimport default_action_cdoe from './default_action_code.js?raw';\nimport form_bottom_show from '../../example_code/form_bottom_show.js?raw';\nimport form_bottom_disable from '../../example_code/form_bottom_disable.js?raw';\n\nexport default defineComponent({\n name: 'ActionsConfig',\n components: {\n JsonText,\n CodeEditorWraper,\n },\n props: {\n dataSource: {\n type: Object as PropType<Array<Action>>,\n required: true,\n },\n },\n emits: ['update:dataSource'],\n setup(props, { emit }) {\n const addButton = () => {\n const data = props.dataSource || [];\n emit('update:dataSource', [\n ...data,\n {\n label: '',\n type: 'primary',\n action: 'process',\n danger: false,\n settings: {},\n code: default_action_cdoe,\n },\n ]);\n };\n const showCodeEnableChange = (item: Action, enable) => {\n item.showCode = {\n ...(item.showCode || { code: form_bottom_show }),\n enable: enable,\n };\n };\n const disableCodeEnableChange = (item: Action, enable) => {\n item.disableCode = {\n ...(item.showCode || { code: form_bottom_disable }),\n enable: enable,\n };\n };\n\n const removeButton = (index: number) => {\n props.dataSource.splice(index, 1);\n };\n const typeList = ['primary', 'default', 'dashed', 'link', 'text'];\n\n return {\n addButton,\n removeButton,\n typeList,\n actionTypes,\n showCodeEnableChange,\n disableCodeEnableChange,\n };\n },\n});\n</script>\n\n<style scoped lang=\"less\">\n.button-config-item {\n display: flex;\n flex-direction: row;\n align-items: flex-start;\n gap: 10px;\n border-bottom: 1px solid #f0f0f0;\n padding-bottom: 16px;\n margin-bottom: 16px;\n\n &:last-child {\n border-bottom: none;\n margin-bottom: 0;\n }\n}\n\n.config-body {\n flex: 1;\n}\n\n.delete-icon {\n font-size: 18px;\n color: #ff4d4f;\n cursor: pointer;\n}\n\nlabel {\n display: block;\n margin-bottom: 4px;\n}\n\n.w-full {\n width: 100%;\n}\n</style>\n"],"mappings":"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"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { t as e } from "./core-CctSle2c.js";
|
|
2
|
+
import { createBlock as t, createCommentVNode as n, defineComponent as r, mergeModels as i, openBlock as a, resolveComponent as o, useModel as s, withCtx as c } from "vue";
|
|
3
|
+
//#endregion
|
|
4
|
+
//#region src/components/approval/ApprovalEditorModal.vue
|
|
5
|
+
var l = /* @__PURE__ */ r({
|
|
6
|
+
name: "ApprovalEditorModal",
|
|
7
|
+
__name: "ApprovalEditorModal",
|
|
8
|
+
props: /* @__PURE__ */ i({
|
|
9
|
+
modelType: {},
|
|
10
|
+
approveRecordId: {},
|
|
11
|
+
title: {}
|
|
12
|
+
}, {
|
|
13
|
+
open: {
|
|
14
|
+
type: Boolean,
|
|
15
|
+
default: !1
|
|
16
|
+
},
|
|
17
|
+
openModifiers: {}
|
|
18
|
+
}),
|
|
19
|
+
emits: /* @__PURE__ */ i(["saved", "cancel"], ["update:open"]),
|
|
20
|
+
setup(r, { emit: i }) {
|
|
21
|
+
let l = i, u = s(r, "open"), d = () => {
|
|
22
|
+
u.value = !1, l("cancel");
|
|
23
|
+
};
|
|
24
|
+
return (i, s) => {
|
|
25
|
+
let f = o("a-modal");
|
|
26
|
+
return a(), t(f, {
|
|
27
|
+
open: u.value,
|
|
28
|
+
"onUpdate:open": s[1] ||= (e) => u.value = e,
|
|
29
|
+
title: r.title,
|
|
30
|
+
width: "100%",
|
|
31
|
+
footer: null,
|
|
32
|
+
"mask-closable": !1,
|
|
33
|
+
"wrap-class-name": "approve-editor-full-modal",
|
|
34
|
+
onCancel: d
|
|
35
|
+
}, {
|
|
36
|
+
default: c(() => [u.value ? (a(), t(e, {
|
|
37
|
+
key: 0,
|
|
38
|
+
"model-type": r.modelType,
|
|
39
|
+
"approve-record-id": r.approveRecordId,
|
|
40
|
+
onSaved: s[0] ||= (e) => l("saved", e)
|
|
41
|
+
}, null, 8, ["model-type", "approve-record-id"])) : n("", !0)]),
|
|
42
|
+
_: 1
|
|
43
|
+
}, 8, ["open", "title"]);
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
});
|
|
47
|
+
//#endregion
|
|
48
|
+
export { l as default };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ApprovalEditorModal-DZfXupU3.js","names":[],"sources":["../src/components/approval/ApprovalEditorModal.vue","../src/components/approval/ApprovalEditorModal.vue"],"sourcesContent":["<template>\n <a-modal\n v-model:open=\"open\"\n :title=\"title\"\n :width=\"'100%'\"\n :footer=\"null\"\n :mask-closable=\"false\"\n wrap-class-name=\"approve-editor-full-modal\"\n @cancel=\"handleCancel\"\n >\n <!--\n `v-if=\"open\"` 是必须的:审批上下文(useContextStore)按 modelType 存,\n 每次打开都要重新 initConfig + 按 approveRecordId 重新进入编辑态。\n 配合 a-modal 默认的 destroyOnClose,关闭即销毁,避免上一次的编辑态残留。\n -->\n <ApprovalCore\n v-if=\"open\"\n :model-type=\"modelType\"\n :approve-record-id=\"approveRecordId\"\n @saved=\"emit('saved', $event)\"\n />\n </a-modal>\n</template>\n\n<script setup lang=\"ts\">\nimport ApprovalCore from './core.vue';\n\n/**\n * 审批「左中右三栏」的**全屏模态框** —— 详情页/列表单元格上的「修改」用它打开。\n *\n * 与路由页面(`approval/index.vue`)共用同一个 `core.vue`,所以两边行为天然一致;\n * 本文件只负责「全屏容器 + 关闭语义」这两件事:\n * - `modelType`:菜单标识,由调用方给(详情场景从权威记录的 `menu_flag` 取);\n * - `approveRecordId`:传了就**打开即进入编辑态**。编辑态的**种类**(普通编辑 / 修改已通过 /\n * 再次编辑修改单)由记录字段自动派生,调用方不需要判断,见 `core.vue::applyApproveRecord`。\n *\n * ⚠️ 不要写 `import { defineProps, defineEmits, defineModel } from 'vue'`:\n * 它们是**编译器宏**,不是 vue 的运行时导出,`@vue/compiler-sfc` 会直接报\n * \"is a compiler macro and no longer needs to be imported\"。\n *\n * ⚠️ 另一个真实踩过的坑:`defineProps<{...}>` 后面必须跟**调用括号** —— 写成 `}>);`\n * (漏掉 `(`)时,babel 会把 `<` 当成**比较运算符**,报错位置指向 `>` 且信息是\n * `Missing semicolon`,极具误导性。改这里时请连同 `}>();` 一起核对。\n */\ndefineOptions({ name: 'ApprovalEditorModal' });\n\ndefineProps<{\n /** 页面配置的菜单标识(menu_flag) */\n modelType: string;\n /** 打开即进入编辑态的审批记录 id */\n approveRecordId?: number | null;\n /** 模态框标题 */\n title?: string;\n}>();\n\nconst emit = defineEmits<{\n /** 转发 core 的保存成功事件(payload.isEdit 为真表示这是一次「修改」而非「新建」)。\n * 外壳**不**因此关闭 —— 保存只是暂存,用户还要在右侧继续「提交」;关闭只走右上角关闭按钮。 */\n (e: 'saved', payload: { isEdit?: boolean }): void;\n (e: 'cancel'): void;\n}>();\n\nconst open = defineModel<boolean>('open', { default: false });\n\nconst handleCancel = () => {\n open.value = false;\n emit('cancel');\n};\n</script>\n\n<!--\n 非 scoped:模态框会被 teleport 到 body,scoped 选择器命中不到。\n 这里靠唯一的 wrap-class-name(approve-editor-full-modal)收敛作用域,\n 与 tableModal.vue 的 approve-table-full-modal 是同一套做法。\n-->\n<style>\n.approve-editor-full-modal {\n .ant-modal {\n top: 0;\n margin: 0 auto;\n padding-bottom: 0;\n max-width: 100vw;\n }\n .ant-modal-content {\n display: flex;\n flex-direction: column;\n height: 100vh;\n border-radius: 0;\n padding: 46px 10px 4px 10px !important;\n }\n .ant-modal-header {\n flex: 0 0 auto;\n margin-bottom: 0;\n }\n .ant-modal-body {\n flex: 1;\n padding: 25px;\n overflow: hidden;\n }\n\n .approval-view {\n position: relative;\n height: 100%;\n\n .drawer-tables-list {\n top: 0;\n left: -23px;\n }\n .drawer-data-list {\n top: 0;\n right: -23px;\n }\n }\n}\n</style>\n","<template>\n <a-modal\n v-model:open=\"open\"\n :title=\"title\"\n :width=\"'100%'\"\n :footer=\"null\"\n :mask-closable=\"false\"\n wrap-class-name=\"approve-editor-full-modal\"\n @cancel=\"handleCancel\"\n >\n <!--\n `v-if=\"open\"` 是必须的:审批上下文(useContextStore)按 modelType 存,\n 每次打开都要重新 initConfig + 按 approveRecordId 重新进入编辑态。\n 配合 a-modal 默认的 destroyOnClose,关闭即销毁,避免上一次的编辑态残留。\n -->\n <ApprovalCore\n v-if=\"open\"\n :model-type=\"modelType\"\n :approve-record-id=\"approveRecordId\"\n @saved=\"emit('saved', $event)\"\n />\n </a-modal>\n</template>\n\n<script setup lang=\"ts\">\nimport ApprovalCore from './core.vue';\n\n/**\n * 审批「左中右三栏」的**全屏模态框** —— 详情页/列表单元格上的「修改」用它打开。\n *\n * 与路由页面(`approval/index.vue`)共用同一个 `core.vue`,所以两边行为天然一致;\n * 本文件只负责「全屏容器 + 关闭语义」这两件事:\n * - `modelType`:菜单标识,由调用方给(详情场景从权威记录的 `menu_flag` 取);\n * - `approveRecordId`:传了就**打开即进入编辑态**。编辑态的**种类**(普通编辑 / 修改已通过 /\n * 再次编辑修改单)由记录字段自动派生,调用方不需要判断,见 `core.vue::applyApproveRecord`。\n *\n * ⚠️ 不要写 `import { defineProps, defineEmits, defineModel } from 'vue'`:\n * 它们是**编译器宏**,不是 vue 的运行时导出,`@vue/compiler-sfc` 会直接报\n * \"is a compiler macro and no longer needs to be imported\"。\n *\n * ⚠️ 另一个真实踩过的坑:`defineProps<{...}>` 后面必须跟**调用括号** —— 写成 `}>);`\n * (漏掉 `(`)时,babel 会把 `<` 当成**比较运算符**,报错位置指向 `>` 且信息是\n * `Missing semicolon`,极具误导性。改这里时请连同 `}>();` 一起核对。\n */\ndefineOptions({ name: 'ApprovalEditorModal' });\n\ndefineProps<{\n /** 页面配置的菜单标识(menu_flag) */\n modelType: string;\n /** 打开即进入编辑态的审批记录 id */\n approveRecordId?: number | null;\n /** 模态框标题 */\n title?: string;\n}>();\n\nconst emit = defineEmits<{\n /** 转发 core 的保存成功事件(payload.isEdit 为真表示这是一次「修改」而非「新建」)。\n * 外壳**不**因此关闭 —— 保存只是暂存,用户还要在右侧继续「提交」;关闭只走右上角关闭按钮。 */\n (e: 'saved', payload: { isEdit?: boolean }): void;\n (e: 'cancel'): void;\n}>();\n\nconst open = defineModel<boolean>('open', { default: false });\n\nconst handleCancel = () => {\n open.value = false;\n emit('cancel');\n};\n</script>\n\n<!--\n 非 scoped:模态框会被 teleport 到 body,scoped 选择器命中不到。\n 这里靠唯一的 wrap-class-name(approve-editor-full-modal)收敛作用域,\n 与 tableModal.vue 的 approve-table-full-modal 是同一套做法。\n-->\n<style>\n.approve-editor-full-modal {\n .ant-modal {\n top: 0;\n margin: 0 auto;\n padding-bottom: 0;\n max-width: 100vw;\n }\n .ant-modal-content {\n display: flex;\n flex-direction: column;\n height: 100vh;\n border-radius: 0;\n padding: 46px 10px 4px 10px !important;\n }\n .ant-modal-header {\n flex: 0 0 auto;\n margin-bottom: 0;\n }\n .ant-modal-body {\n flex: 1;\n padding: 25px;\n overflow: hidden;\n }\n\n .approval-view {\n position: relative;\n height: 100%;\n\n .drawer-tables-list {\n top: 0;\n left: -23px;\n }\n .drawer-data-list {\n top: 0;\n right: -23px;\n }\n }\n}\n</style>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;EAuDA,IAAM,IAAO,GAOP,IAAO,EAAoB,GAAC,OAA2B,EAEvD,UAAqB;AAEzB,GADA,EAAK,QAAQ,IACb,EAAK,SAAS;;;;eAjEd,EAoBU,GAAA;IAnBA,MAAM,EAAA;uCAAI,QAAA;IACjB,OAAO,EAAA;IACP,OAAO;IACP,QAAQ;IACR,iBAAe;IAChB,mBAAgB;IACf,UAAQ;;qBAYP,CAJM,EAAA,SAAA,GAAA,EADR,EAKE,GAAA;;KAHC,cAAY,EAAA;KACZ,qBAAmB,EAAA;KACnB,SAAK,AAAA,EAAA,QAAA,MAAE,EAAI,SAAU,EAAM"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { o as e } from "./init-plugin-fQTSQzui.js";
|
|
2
|
+
import { createBlock as t, createVNode as n, defineComponent as r, mergeModels as i, openBlock as a, reactive as o, ref as s, resolveComponent as c, useModel as l, withCtx as u } from "vue";
|
|
3
|
+
import { message as d } from "ant-design-vue";
|
|
4
|
+
//#endregion
|
|
5
|
+
//#region src/components/approval/components/CancelModal.vue
|
|
6
|
+
var f = /* @__PURE__ */ r({
|
|
7
|
+
name: "ApprovalCancelModal",
|
|
8
|
+
__name: "CancelModal",
|
|
9
|
+
props: /* @__PURE__ */ i({
|
|
10
|
+
id: { default: null },
|
|
11
|
+
eventBus: { default: null }
|
|
12
|
+
}, {
|
|
13
|
+
cancelModalShow: {},
|
|
14
|
+
cancelModalShowModifiers: {}
|
|
15
|
+
}),
|
|
16
|
+
emits: /* @__PURE__ */ i(["done"], ["update:cancelModalShow"]),
|
|
17
|
+
setup(r, { emit: i }) {
|
|
18
|
+
let f = r, p = i, m = l(r, "cancelModalShow"), h = o({ bz: "" }), g = s(null), _ = async () => {
|
|
19
|
+
if (!f.id) {
|
|
20
|
+
d.error("未获取到要作废的审批记录");
|
|
21
|
+
return;
|
|
22
|
+
}
|
|
23
|
+
await g.value.validate(), await e({
|
|
24
|
+
approve_record_id: f.id,
|
|
25
|
+
bz: h.bz
|
|
26
|
+
}, "/approve/cancel_agree_approve_record"), f.eventBus?.emit("reload_table"), p("done"), d.success("作废成功"), m.value = !1;
|
|
27
|
+
};
|
|
28
|
+
return (e, r) => {
|
|
29
|
+
let i = c("a-textarea"), o = c("a-form-item"), s = c("a-form"), l = c("a-modal");
|
|
30
|
+
return a(), t(l, {
|
|
31
|
+
open: m.value,
|
|
32
|
+
"onUpdate:open": r[1] ||= (e) => m.value = e,
|
|
33
|
+
title: "审批作废",
|
|
34
|
+
onOk: _
|
|
35
|
+
}, {
|
|
36
|
+
default: u(() => [n(s, {
|
|
37
|
+
model: h,
|
|
38
|
+
ref_key: "formRef",
|
|
39
|
+
ref: g
|
|
40
|
+
}, {
|
|
41
|
+
default: u(() => [n(o, {
|
|
42
|
+
name: "bz",
|
|
43
|
+
rules: [{ required: !0 }],
|
|
44
|
+
label: "作废原因"
|
|
45
|
+
}, {
|
|
46
|
+
default: u(() => [n(i, {
|
|
47
|
+
placeholder: "请输入作废原因",
|
|
48
|
+
value: h.bz,
|
|
49
|
+
"onUpdate:value": r[0] ||= (e) => h.bz = e
|
|
50
|
+
}, null, 8, ["value"])]),
|
|
51
|
+
_: 1
|
|
52
|
+
})]),
|
|
53
|
+
_: 1
|
|
54
|
+
}, 8, ["model"])]),
|
|
55
|
+
_: 1
|
|
56
|
+
}, 8, ["open"]);
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
});
|
|
60
|
+
//#endregion
|
|
61
|
+
export { f as t };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CancelModal-BUi3ieI8.js","names":[],"sources":["../src/components/approval/components/CancelModal.vue","../src/components/approval/components/CancelModal.vue"],"sourcesContent":["<template>\n <a-modal\n v-model:open=\"cancelModalShow\"\n title=\"审批作废\"\n @ok=\"commit\"\n >\n <a-form\n :model=\"cancelModal\"\n ref=\"formRef\"\n >\n <a-form-item\n name=\"bz\"\n :rules=\"[{ required: true }]\"\n label=\"作废原因\"\n >\n <a-textarea\n placeholder=\"请输入作废原因\"\n v-model:value=\"cancelModal.bz\"\n />\n </a-form-item>\n </a-form>\n </a-modal>\n</template>\n<script setup lang=\"ts\">\nimport { message } from 'ant-design-vue';\nimport { getApiData } from '@/init-plugin';\nimport { reactive, ref } from 'vue';\n/**\n * 审批作废(= 详情页/列表页的「删除」动作):\n * 填作废原因 → `/approve/cancel_agree_approve_record`。\n *\n * 两种调用方,所以 `eventBus` 是**可选**的:\n * 1. 审批页面(columnForm.vue):传页面 eventBus,成功后广播 `reload_table` 刷新列表;\n * 2. 详情场景(useApprovalRecordActions → removeProps):**没有页面 eventBus**,\n * 改由本组件的 `done` 事件回调,让外壳刷新详情。\n */\ndefineOptions({ name: 'ApprovalCancelModal' });\n\nconst props = withDefaults(\n defineProps<{\n /** 要作废的审批记录 id */\n id?: number | null;\n /** 审批页面的事件总线;详情场景不传 */\n eventBus?: { emit: (event: string, payload?: any) => void } | null;\n }>(),\n {\n id: null,\n eventBus: null,\n },\n);\n\nconst emit = defineEmits<{\n /** 作废成功(详情场景用来刷新详情与列表) */\n (e: 'done'): void;\n}>();\n\nconst cancelModalShow = defineModel('cancelModalShow');\nconst cancelModal = reactive({\n bz: '',\n});\nconst formRef = ref(null);\nconst commit = async () => {\n if (!props.id) {\n message.error('未获取到要作废的审批记录');\n return;\n }\n await formRef.value.validate();\n await getApiData(\n { approve_record_id: props.id, bz: cancelModal.bz },\n '/approve/cancel_agree_approve_record',\n );\n // 列表页:广播刷新表格;详情页:走 done 事件(两者可以同时存在,互不影响)\n props.eventBus?.emit('reload_table');\n emit('done');\n message.success('作废成功');\n cancelModalShow.value = false;\n};\n</script>\n","<template>\n <a-modal\n v-model:open=\"cancelModalShow\"\n title=\"审批作废\"\n @ok=\"commit\"\n >\n <a-form\n :model=\"cancelModal\"\n ref=\"formRef\"\n >\n <a-form-item\n name=\"bz\"\n :rules=\"[{ required: true }]\"\n label=\"作废原因\"\n >\n <a-textarea\n placeholder=\"请输入作废原因\"\n v-model:value=\"cancelModal.bz\"\n />\n </a-form-item>\n </a-form>\n </a-modal>\n</template>\n<script setup lang=\"ts\">\nimport { message } from 'ant-design-vue';\nimport { getApiData } from '@/init-plugin';\nimport { reactive, ref } from 'vue';\n/**\n * 审批作废(= 详情页/列表页的「删除」动作):\n * 填作废原因 → `/approve/cancel_agree_approve_record`。\n *\n * 两种调用方,所以 `eventBus` 是**可选**的:\n * 1. 审批页面(columnForm.vue):传页面 eventBus,成功后广播 `reload_table` 刷新列表;\n * 2. 详情场景(useApprovalRecordActions → removeProps):**没有页面 eventBus**,\n * 改由本组件的 `done` 事件回调,让外壳刷新详情。\n */\ndefineOptions({ name: 'ApprovalCancelModal' });\n\nconst props = withDefaults(\n defineProps<{\n /** 要作废的审批记录 id */\n id?: number | null;\n /** 审批页面的事件总线;详情场景不传 */\n eventBus?: { emit: (event: string, payload?: any) => void } | null;\n }>(),\n {\n id: null,\n eventBus: null,\n },\n);\n\nconst emit = defineEmits<{\n /** 作废成功(详情场景用来刷新详情与列表) */\n (e: 'done'): void;\n}>();\n\nconst cancelModalShow = defineModel('cancelModalShow');\nconst cancelModal = reactive({\n bz: '',\n});\nconst formRef = ref(null);\nconst commit = async () => {\n if (!props.id) {\n message.error('未获取到要作废的审批记录');\n return;\n }\n await formRef.value.validate();\n await getApiData(\n { approve_record_id: props.id, bz: cancelModal.bz },\n '/approve/cancel_agree_approve_record',\n );\n // 列表页:广播刷新表格;详情页:走 done 事件(两者可以同时存在,互不影响)\n props.eventBus?.emit('reload_table');\n emit('done');\n message.success('作废成功');\n cancelModalShow.value = false;\n};\n</script>\n"],"mappings":";;;;;;;;;;;;;;;;;EAsCA,IAAM,IAAQ,GAaR,IAAO,GAKP,IAAkB,EAAW,GAAC,kBAAkB,EAChD,IAAc,EAAS,EAC3B,IAAI,IACL,CAAC,EACI,IAAU,EAAI,KAAK,EACnB,IAAS,YAAY;AACzB,OAAI,CAAC,EAAM,IAAI;AACb,MAAQ,MAAM,eAAe;AAC7B;;AAWF,GATA,MAAM,EAAQ,MAAM,UAAU,EAC9B,MAAM,EACJ;IAAE,mBAAmB,EAAM;IAAI,IAAI,EAAY;IAAI,EACnD,uCACD,EAED,EAAM,UAAU,KAAK,eAAe,EACpC,EAAK,OAAO,EACZ,EAAQ,QAAQ,OAAO,EACvB,EAAgB,QAAQ;;;;eA1ExB,EAoBU,GAAA;IAnBA,MAAM,EAAA;uCAAe,QAAA;IAC7B,OAAM;IACL,MAAI;;qBAgBI,CAdT,EAcS,GAAA;KAbN,OAAO;cACJ;KAAJ,KAAI;;sBAWU,CATd,EASc,GAAA;MARZ,MAAK;MACJ,OAAO,CAAA,EAAA,UAAA,IAAA,CAAoB;MAC5B,OAAM;;uBAKJ,CAHF,EAGE,GAAA;OAFA,aAAY;OACJ,OAAO,EAAY;2CAAA,KAAE"}
|