@jeecg/online 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (82) hide show
  1. package/AuthButtonConfig.js +140 -0
  2. package/AuthButtonTree.js +183 -0
  3. package/AuthDataConfig.js +243 -0
  4. package/AuthDataTree.js +160 -0
  5. package/AuthFieldConfig.js +167 -0
  6. package/AuthFieldTree.js +273 -0
  7. package/AuthManagerDrawer.js +125 -0
  8. package/AuthSetterModal.js +317 -0
  9. package/CgformCopyList.js +253 -0
  10. package/CgformModal.js +748 -0
  11. package/CgreportModal.js +673 -0
  12. package/ChartAutoRender.js +69 -0
  13. package/ChartDoubleRender.js +154 -0
  14. package/ChartSingleRender.js +132 -0
  15. package/ChartTabsRender.js +218 -0
  16. package/CheckDictTable.js +121 -0
  17. package/CodeGeneratorModal.js +293 -0
  18. package/CustomButtonList.js +413 -0
  19. package/DBAttributeTable.js +278 -0
  20. package/DbToOnlineModal.js +190 -0
  21. package/EnhanceJavaModal.js +304 -0
  22. package/EnhanceJsHistory.js +231 -0
  23. package/EnhanceJsModal.js +293 -0
  24. package/EnhanceSqlModal.js +305 -0
  25. package/ErrorTip.js +21 -0
  26. package/ExtendConfigModal.js +142 -0
  27. package/FieldTable.js +185 -0
  28. package/FileSelectModal.js +102 -0
  29. package/ForeignKeyTable.js +78 -0
  30. package/FormSchemaFactory.js +938 -0
  31. package/GraphreportAutoChart.js +352 -0
  32. package/GraphreportList.js +239 -0
  33. package/GraphreportModal.js +559 -0
  34. package/IndexTable.js +96 -0
  35. package/JOnlineSearchSelect.js +107 -0
  36. package/LICENSE +7 -0
  37. package/LeftDepart.js +96 -0
  38. package/LeftRole.js +95 -0
  39. package/LeftUser.js +114 -0
  40. package/ModalFormDemo.js +84 -0
  41. package/OnlineAutoList.js +410 -0
  42. package/OnlineAutoModal.js +265 -0
  43. package/OnlineAutoTreeList.js +513 -0
  44. package/OnlineCustomModal.js +269 -0
  45. package/OnlineForm.js +809 -0
  46. package/OnlineQueryForm.js +442 -0
  47. package/OnlineSearchFormItem.js +428 -0
  48. package/OnlineSelectCascade.js +217 -0
  49. package/OnlineSubForm.js +200 -0
  50. package/OnlineSuperQuery.js +912 -0
  51. package/OnlineSuperQueryValComponent.js +8 -0
  52. package/OnlineSuperQueryValComponent.vue_vue_type_script_lang.js +172 -0
  53. package/PageAttributeTable.js +242 -0
  54. package/ParamsTable.js +71 -0
  55. package/ProcessOnlineForm.js +183 -0
  56. package/QueryTable.js +128 -0
  57. package/README.md +23 -0
  58. package/_arrayPush.js +276 -0
  59. package/auth.api.js +43 -0
  60. package/auth.data.js +144 -0
  61. package/cgform.data.js +235 -0
  62. package/cloneDeep.js +475 -0
  63. package/enhance.api.js +120 -0
  64. package/enhance.data.js +196 -0
  65. package/graphreport.api.js +23 -0
  66. package/index.js +64 -0
  67. package/index2.js +336 -0
  68. package/index3.js +799 -0
  69. package/isArray.js +47 -0
  70. package/main.index.js +6 -0
  71. package/package.json +6 -0
  72. package/pick.js +238 -0
  73. package/style.css +1 -0
  74. package/toString.js +31 -0
  75. package/useAutoForm.js +4274 -0
  76. package/useCgformList.js +353 -0
  77. package/useChartRender.js +405 -0
  78. package/useMessageOnline.js +71 -0
  79. package/useOnlineTest.js +26866 -0
  80. package/useSchemas.js +505 -0
  81. package/useTableColumns.js +1154 -0
  82. package/useTableSync.js +105 -0
@@ -0,0 +1,107 @@
1
+ import { useDebounceFn } from "@vueuse/core";
2
+ import { defHttp } from "/@/utils/http/axios";
3
+ import { useMessage } from "/@/hooks/web/useMessage";
4
+ import { ref, watch, resolveComponent, openBlock, createBlock, withCtx, createElementBlock, Fragment, renderList, createTextVNode, toDisplayString } from "vue";
5
+ import { _ as _export_sfc } from "./index.js";
6
+ import "/@/components/jeecg/OnLine/JPopupOnlReport.vue";
7
+ import "vue-router";
8
+ const { createMessage: $message } = useMessage();
9
+ const _sfc_main = {
10
+ name: "JOnlineSearchSelect",
11
+ props: {
12
+ placeholder: {
13
+ type: String,
14
+ default: "",
15
+ required: false
16
+ },
17
+ value: {
18
+ type: String,
19
+ required: false
20
+ },
21
+ sql: {
22
+ type: String,
23
+ required: true
24
+ }
25
+ },
26
+ emits: ["update:value"],
27
+ setup(props, { emit }) {
28
+ let selected = ref("");
29
+ let selectOptions = ref([]);
30
+ watch(() => props.value, (newVal) => {
31
+ if (!newVal) {
32
+ selected.value = void 0;
33
+ } else {
34
+ selected.value = newVal;
35
+ }
36
+ }, { immediate: true });
37
+ watch(() => props.sql, () => {
38
+ resetOptions();
39
+ }, { immediate: true });
40
+ const handleSearch = useDebounceFn(searchByKeyword, 800);
41
+ function searchByKeyword(keyword = "") {
42
+ let params = {
43
+ keyword
44
+ };
45
+ let url = "/online/cgreport/api/getReportDictList?sql=" + props.sql;
46
+ defHttp.get({ url, params }, { isTransformResponse: false }).then((res) => {
47
+ if (res.success) {
48
+ if (res.result && res.result.length > 0) {
49
+ selectOptions.value = res.result;
50
+ } else {
51
+ selectOptions.value = [];
52
+ }
53
+ } else {
54
+ $message.warning(res.message);
55
+ }
56
+ });
57
+ }
58
+ function handleChange(value) {
59
+ emit("update:value", value);
60
+ if (!value || value == "") {
61
+ resetOptions();
62
+ }
63
+ }
64
+ function resetOptions() {
65
+ selectOptions.value = [];
66
+ searchByKeyword();
67
+ }
68
+ return {
69
+ selectOptions,
70
+ handleSearch,
71
+ handleChange,
72
+ selected
73
+ };
74
+ }
75
+ };
76
+ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
77
+ const _component_a_select_option = resolveComponent("a-select-option");
78
+ const _component_a_select = resolveComponent("a-select");
79
+ return openBlock(), createBlock(_component_a_select, {
80
+ value: $setup.selected,
81
+ placeholder: $props.placeholder,
82
+ "show-search": "",
83
+ "default-active-first-option": false,
84
+ "show-arrow": true,
85
+ "filter-option": false,
86
+ "not-found-content": null,
87
+ onSearch: $setup.handleSearch,
88
+ onChange: $setup.handleChange,
89
+ allowClear: ""
90
+ }, {
91
+ default: withCtx(() => [
92
+ (openBlock(true), createElementBlock(Fragment, null, renderList($setup.selectOptions, (d) => {
93
+ return openBlock(), createBlock(_component_a_select_option, {
94
+ key: d.value
95
+ }, {
96
+ default: withCtx(() => [
97
+ createTextVNode(toDisplayString(d.text), 1)
98
+ ]),
99
+ _: 2
100
+ }, 1024);
101
+ }), 128))
102
+ ]),
103
+ _: 1
104
+ }, 8, ["value", "placeholder", "onSearch", "onChange"]);
105
+ }
106
+ var JOnlineSearchSelect = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render]]);
107
+ export { JOnlineSearchSelect as default };
package/LICENSE ADDED
@@ -0,0 +1,7 @@
1
+ ## 协议和授权
2
+
3
+ Jeecg Boot Online 低代码模块并非开源软件部分,作者保留全部的权利。
4
+ 此部分不提供源码,仅提供功能,大家可以免费使用,但不允许用于商业目的。
5
+ 擅自编译、改造、传播,即属严重侵权行为,与盗窃无异。产生的一切任何后果责任由侵权者自负。
6
+
7
+ http://www.jeecg.com
package/LeftDepart.js ADDED
@@ -0,0 +1,96 @@
1
+ var __async = (__this, __arguments, generator) => {
2
+ return new Promise((resolve, reject) => {
3
+ var fulfilled = (value) => {
4
+ try {
5
+ step(generator.next(value));
6
+ } catch (e) {
7
+ reject(e);
8
+ }
9
+ };
10
+ var rejected = (value) => {
11
+ try {
12
+ step(generator.throw(value));
13
+ } catch (e) {
14
+ reject(e);
15
+ }
16
+ };
17
+ var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
18
+ step((generator = generator.apply(__this, __arguments)).next());
19
+ });
20
+ };
21
+ import { defineComponent, ref, resolveComponent, openBlock, createElementBlock, createBlock, withCtx, createVNode, normalizeStyle, createCommentVNode } from "vue";
22
+ import { queryTreeList } from "/@/api/common/api";
23
+ import { _ as _export_sfc } from "./index.js";
24
+ import "/@/components/jeecg/OnLine/JPopupOnlReport.vue";
25
+ import "/@/hooks/web/useMessage";
26
+ import "vue-router";
27
+ const _sfc_main = defineComponent({
28
+ name: "LeftDepart",
29
+ emits: ["select"],
30
+ setup(_, { emit }) {
31
+ const treeData = ref([]);
32
+ const selectedKeys = ref([]);
33
+ const expandedKeys = ref([]);
34
+ function onSelect(_2, e) {
35
+ let record = e.node.dataRef;
36
+ selectedKeys.value = [record.key];
37
+ emit("select", record.id);
38
+ }
39
+ loadTree();
40
+ function loadTree() {
41
+ return __async(this, null, function* () {
42
+ let result = yield queryTreeList();
43
+ treeData.value = [];
44
+ result.forEach((node) => initialNode(node));
45
+ });
46
+ }
47
+ function initialNode(node, level = 1) {
48
+ node.slots = { icon: "depIcon" };
49
+ if (level === 1) {
50
+ treeData.value.push(node);
51
+ expandedKeys.value.push(node.id);
52
+ }
53
+ if (node.children && node.children.length > 0) {
54
+ for (const childNode of node.children) {
55
+ initialNode(childNode, level + 1);
56
+ }
57
+ }
58
+ }
59
+ function clearSelected() {
60
+ selectedKeys.value = [];
61
+ }
62
+ return {
63
+ treeData,
64
+ expandedKeys,
65
+ selectedKeys,
66
+ clearSelected,
67
+ onSelect
68
+ };
69
+ }
70
+ });
71
+ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
72
+ const _component_a_icon = resolveComponent("a-icon");
73
+ const _component_a_tree = resolveComponent("a-tree");
74
+ return openBlock(), createElementBlock("div", null, [
75
+ _ctx.treeData.length > 0 ? (openBlock(), createBlock(_component_a_tree, {
76
+ key: 0,
77
+ showIcon: "",
78
+ autoExpandParent: "",
79
+ treeData: _ctx.treeData,
80
+ selectedKeys: _ctx.selectedKeys,
81
+ expandedKeys: _ctx.expandedKeys,
82
+ "onUpdate:expandedKeys": _cache[0] || (_cache[0] = ($event) => _ctx.expandedKeys = $event),
83
+ onSelect: _ctx.onSelect
84
+ }, {
85
+ depIcon: withCtx(({ selected }) => [
86
+ createVNode(_component_a_icon, {
87
+ style: normalizeStyle({ "color": selected ? "blue" : "" }),
88
+ type: "apartment"
89
+ }, null, 8, ["style"])
90
+ ]),
91
+ _: 1
92
+ }, 8, ["treeData", "selectedKeys", "expandedKeys", "onSelect"])) : createCommentVNode("", true)
93
+ ]);
94
+ }
95
+ var LeftDepart = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render]]);
96
+ export { LeftDepart as default };
package/LeftRole.js ADDED
@@ -0,0 +1,95 @@
1
+ var __async = (__this, __arguments, generator) => {
2
+ return new Promise((resolve, reject) => {
3
+ var fulfilled = (value) => {
4
+ try {
5
+ step(generator.next(value));
6
+ } catch (e) {
7
+ reject(e);
8
+ }
9
+ };
10
+ var rejected = (value) => {
11
+ try {
12
+ step(generator.throw(value));
13
+ } catch (e) {
14
+ reject(e);
15
+ }
16
+ };
17
+ var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
18
+ step((generator = generator.apply(__this, __arguments)).next());
19
+ });
20
+ };
21
+ import { defineComponent, resolveComponent, openBlock, createBlock, withCtx, createElementVNode } from "vue";
22
+ import { defHttp } from "/@/utils/http/axios";
23
+ import { BasicTable } from "/@/components/Table";
24
+ import { useListPage } from "/@/hooks/system/useListPage";
25
+ import { _ as _export_sfc } from "./index.js";
26
+ import "/@/components/jeecg/OnLine/JPopupOnlReport.vue";
27
+ import "/@/hooks/web/useMessage";
28
+ import "vue-router";
29
+ const _sfc_main = defineComponent({
30
+ name: "LeftRole",
31
+ components: { BasicTable },
32
+ emits: ["select"],
33
+ setup(_, { emit }) {
34
+ const { tableContext, createMessage: $message } = useListPage({
35
+ tableProps: {
36
+ api: loadData,
37
+ rowKey: "id",
38
+ size: "small",
39
+ bordered: true,
40
+ columns: [
41
+ { title: "\u89D2\u8272\u7F16\u7801", align: "center", dataIndex: "roleCode" },
42
+ { title: "\u89D2\u8272\u540D\u79F0", align: "center", dataIndex: "roleName" }
43
+ ],
44
+ rowSelection: {
45
+ type: "radio",
46
+ onChange(selectedRowKeys) {
47
+ if (selectedRowKeys.length > 0) {
48
+ emit("select", selectedRowKeys[0]);
49
+ }
50
+ }
51
+ },
52
+ canResize: false,
53
+ clickToRowSelect: true,
54
+ useSearchForm: false,
55
+ showActionColumn: false,
56
+ showTableSetting: false
57
+ }
58
+ });
59
+ const [registerTable, { clearSelectedRowKeys }, { rowSelection }] = tableContext;
60
+ function loadData(params) {
61
+ return __async(this, null, function* () {
62
+ let { code, success, result, message } = yield defHttp.get({
63
+ url: "/sys/role/list",
64
+ params
65
+ }, { isTransformResponse: false });
66
+ if (success) {
67
+ return result;
68
+ }
69
+ if (code === 510) {
70
+ $message.warning(message);
71
+ }
72
+ return {};
73
+ });
74
+ }
75
+ function clearSelected() {
76
+ clearSelectedRowKeys();
77
+ }
78
+ return { rowSelection, registerTable, clearSelected };
79
+ }
80
+ });
81
+ const _hoisted_1 = /* @__PURE__ */ createElementVNode("span", null, null, -1);
82
+ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
83
+ const _component_BasicTable = resolveComponent("BasicTable");
84
+ return openBlock(), createBlock(_component_BasicTable, {
85
+ onRegister: _ctx.registerTable,
86
+ rowSelection: _ctx.rowSelection
87
+ }, {
88
+ tableTop: withCtx(() => [
89
+ _hoisted_1
90
+ ]),
91
+ _: 1
92
+ }, 8, ["onRegister", "rowSelection"]);
93
+ }
94
+ var LeftRole = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render]]);
95
+ export { LeftRole as default };
package/LeftUser.js ADDED
@@ -0,0 +1,114 @@
1
+ var __async = (__this, __arguments, generator) => {
2
+ return new Promise((resolve, reject) => {
3
+ var fulfilled = (value) => {
4
+ try {
5
+ step(generator.next(value));
6
+ } catch (e) {
7
+ reject(e);
8
+ }
9
+ };
10
+ var rejected = (value) => {
11
+ try {
12
+ step(generator.throw(value));
13
+ } catch (e) {
14
+ reject(e);
15
+ }
16
+ };
17
+ var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
18
+ step((generator = generator.apply(__this, __arguments)).next());
19
+ });
20
+ };
21
+ import { defineComponent, resolveComponent, openBlock, createBlock, withCtx, createElementVNode } from "vue";
22
+ import { defHttp } from "/@/utils/http/axios";
23
+ import { BasicTable } from "/@/components/Table";
24
+ import { useListPage } from "/@/hooks/system/useListPage";
25
+ import { _ as _export_sfc } from "./index.js";
26
+ import "/@/components/jeecg/OnLine/JPopupOnlReport.vue";
27
+ import "/@/hooks/web/useMessage";
28
+ import "vue-router";
29
+ const _sfc_main = defineComponent({
30
+ name: "LeftUser",
31
+ components: { BasicTable },
32
+ emits: ["select"],
33
+ setup(_, { emit }) {
34
+ const { tableContext, createMessage: $message } = useListPage({
35
+ tableProps: {
36
+ api: loadData,
37
+ rowKey: "id",
38
+ size: "small",
39
+ bordered: true,
40
+ columns: [
41
+ { title: "\u8D26\u53F7", dataIndex: "username", width: 200 },
42
+ { title: "\u59D3\u540D", dataIndex: "realname", width: 200 }
43
+ ],
44
+ rowSelection: {
45
+ type: "radio",
46
+ onChange(selectedRowKeys) {
47
+ if (selectedRowKeys.length > 0) {
48
+ emit("select", selectedRowKeys[0]);
49
+ }
50
+ }
51
+ },
52
+ formConfig: {
53
+ schemas: [
54
+ {
55
+ label: "\u8D26\u53F7",
56
+ field: "username",
57
+ component: "JInput",
58
+ componentProps: {
59
+ placeholder: "\u8F93\u5165\u8D26\u53F7\u6A21\u7CCA\u67E5\u8BE2"
60
+ }
61
+ },
62
+ {
63
+ label: "\u59D3\u540D",
64
+ field: "realname",
65
+ component: "JInput",
66
+ componentProps: {
67
+ placeholder: "\u8F93\u5165\u59D3\u540D\u6A21\u7CCA\u67E5\u8BE2"
68
+ }
69
+ }
70
+ ]
71
+ },
72
+ canResize: false,
73
+ clickToRowSelect: true,
74
+ showActionColumn: false,
75
+ showTableSetting: false
76
+ }
77
+ });
78
+ const [registerTable, { clearSelectedRowKeys }, { rowSelection }] = tableContext;
79
+ function loadData(params) {
80
+ return __async(this, null, function* () {
81
+ let { code, success, result, message } = yield defHttp.get({
82
+ url: "/sys/user/list",
83
+ params
84
+ }, { isTransformResponse: false });
85
+ if (success) {
86
+ return result;
87
+ }
88
+ if (code === 510) {
89
+ $message.warning(message);
90
+ }
91
+ return {};
92
+ });
93
+ }
94
+ function clearSelected() {
95
+ clearSelectedRowKeys();
96
+ }
97
+ return { rowSelection, registerTable, clearSelected };
98
+ }
99
+ });
100
+ const _hoisted_1 = /* @__PURE__ */ createElementVNode("span", null, null, -1);
101
+ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
102
+ const _component_BasicTable = resolveComponent("BasicTable");
103
+ return openBlock(), createBlock(_component_BasicTable, {
104
+ onRegister: _ctx.registerTable,
105
+ rowSelection: _ctx.rowSelection
106
+ }, {
107
+ tableTop: withCtx(() => [
108
+ _hoisted_1
109
+ ]),
110
+ _: 1
111
+ }, 8, ["onRegister", "rowSelection"]);
112
+ }
113
+ var LeftUser = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render]]);
114
+ export { LeftUser as default };
@@ -0,0 +1,84 @@
1
+ import { defineComponent, resolveComponent, openBlock, createElementBlock, createVNode } from "vue";
2
+ import { BasicForm, useForm } from "/@/components/Form/index";
3
+ import { defHttp } from "/@/utils/http/axios";
4
+ import { _ as _export_sfc } from "./index.js";
5
+ import { p as pick } from "./pick.js";
6
+ import "/@/components/jeecg/OnLine/JPopupOnlReport.vue";
7
+ import "/@/hooks/web/useMessage";
8
+ import "vue-router";
9
+ import "./isArray.js";
10
+ import "./toString.js";
11
+ import "./_arrayPush.js";
12
+ const getSchemas = () => {
13
+ return [
14
+ {
15
+ field: "name",
16
+ component: "Input",
17
+ label: "\u540D\u79F0"
18
+ },
19
+ {
20
+ field: "age",
21
+ component: "InputNumber",
22
+ label: "\u5E74\u9F84",
23
+ componentProps: {
24
+ style: {
25
+ "width": "100%"
26
+ }
27
+ }
28
+ },
29
+ {
30
+ field: "sex",
31
+ label: "\u6027\u522B",
32
+ component: "JDictSelectTag",
33
+ componentProps: {
34
+ dictCode: "sex"
35
+ }
36
+ },
37
+ {
38
+ field: "birthday",
39
+ component: "DatePicker",
40
+ label: "\u751F\u65E5",
41
+ componentProps: {
42
+ valueFormat: "YYYY-MM-DD",
43
+ style: {
44
+ "width": "100%"
45
+ }
46
+ }
47
+ },
48
+ {
49
+ field: "email",
50
+ component: "Input",
51
+ label: "\u90AE\u7BB1"
52
+ }
53
+ ];
54
+ };
55
+ const _sfc_main = defineComponent({
56
+ components: { BasicForm },
57
+ props: ["id"],
58
+ setup(props) {
59
+ const [registerForm, { setFieldsValue }] = useForm({
60
+ schemas: getSchemas(),
61
+ showActionButtonGroup: false,
62
+ baseColProps: { span: 24 }
63
+ });
64
+ let params = { id: props.id };
65
+ defHttp.get({ url: "/test/jeecgDemo/queryById", params }, { isTransformResponse: false }).then((res) => {
66
+ if (res.success) {
67
+ let values = pick(res.result, "name", "age", "birthday", "sex", "email");
68
+ setFieldsValue(values);
69
+ }
70
+ });
71
+ return {
72
+ registerForm
73
+ };
74
+ }
75
+ });
76
+ const _hoisted_1 = { style: { "margin": "50px auto", "width": "800px" } };
77
+ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
78
+ const _component_BasicForm = resolveComponent("BasicForm");
79
+ return openBlock(), createElementBlock("div", _hoisted_1, [
80
+ createVNode(_component_BasicForm, { onRegister: _ctx.registerForm }, null, 8, ["onRegister"])
81
+ ]);
82
+ }
83
+ var ModalFormDemo = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render]]);
84
+ export { ModalFormDemo as default };