olp-table 5.3.4 → 5.3.5

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 (171) hide show
  1. package/package.json +12 -92
  2. package/.env.build +0 -1
  3. package/README.md +0 -26
  4. package/babel.config.js +0 -5
  5. package/jsconfig.json +0 -22
  6. package/public/favicon.ico +0 -0
  7. package/public/index.html +0 -17
  8. package/rmMode.bat +0 -1
  9. package/src/App.vue +0 -199
  10. package/src/api/crud.js +0 -22
  11. package/src/api/dist.js +0 -6
  12. package/src/assets/iconfont/iconfont.css +0 -20
  13. package/src/assets/iconfont/iconfont.json +0 -16
  14. package/src/assets/iconfont/iconfont.ttf +0 -0
  15. package/src/assets/iconfont/iconfont.woff +0 -0
  16. package/src/assets/iconfont/iconfont.woff2 +0 -0
  17. package/src/assets/logo.png +0 -0
  18. package/src/components/auto-height/index.vue +0 -75
  19. package/src/components/codemirror-tag.vue +0 -100
  20. package/src/components/lazy-load-select.vue +0 -107
  21. package/src/components/ol-dialog-excel.vue +0 -112
  22. package/src/components/ol-dialog-import.vue +0 -304
  23. package/src/components/ol-dialog-json.vue +0 -82
  24. package/src/components/ol-dialog-table.vue +0 -81
  25. package/src/components/ol-dialog-upload-file.vue +0 -208
  26. package/src/components/ol-dict-tag.vue +0 -271
  27. package/src/components/ol-select-dom.vue +0 -71
  28. package/src/components/ol-table-filter.vue +0 -28
  29. package/src/components/ol-table-render.vue +0 -44
  30. package/src/components/ol-table-select.vue +0 -150
  31. package/src/components/pinia-init.vue +0 -18
  32. package/src/components/table/model/ModelMixins.js +0 -43
  33. package/src/components/table/model/model-index.vue +0 -121
  34. package/src/components/table/model/ot-left-right.vue +0 -18
  35. package/src/components/table/model/ot-left-tree-right-table.scss +0 -14
  36. package/src/components/table/model/ot-left-tree-right-table.vue +0 -41
  37. package/src/components/table/model/ot-top-1-bottom-2.vue +0 -39
  38. package/src/components/table/model/ot-top-2-bottom-1.vue +0 -38
  39. package/src/components/table/model/ot-top-2-bottom-2.vue +0 -38
  40. package/src/components/table/model/ot-top-bottom.vue +0 -18
  41. package/src/components/table/model/splitpanesModel.css +0 -22
  42. package/src/components/table/model/splitpanesModel.vue +0 -54
  43. package/src/components/table/ol-form/index.vue +0 -537
  44. package/src/components/table/ol-form-v3/index.vue +0 -455
  45. package/src/components/table/ol-main-form-sub-table/index.vue +0 -601
  46. package/src/components/table/ol-pager/index.vue +0 -46
  47. package/src/components/table/ol-table/components/ol-table-column-config/columnIndex.vue +0 -233
  48. package/src/components/table/ol-table/components/ol-table-column-config/index.vue +0 -145
  49. package/src/components/table/ol-table/components/ol-table-column-dict-color/index.vue +0 -88
  50. package/src/components/table/ol-table/index.vue +0 -232
  51. package/src/components/table/ol-table-operate/index.vue +0 -61
  52. package/src/components/table/ol-table-search/index.vue +0 -17
  53. package/src/components/table/ol-table-tool-btn/index.vue +0 -60
  54. package/src/components/tree/components/o-tree.vue +0 -289
  55. package/src/components/tree/index.vue +0 -46
  56. package/src/components/v-component/index.vue +0 -43
  57. package/src/config/dev-config.js +0 -5
  58. package/src/config/prod-config.js +0 -5
  59. package/src/config/shared-config.js +0 -20
  60. package/src/data.js +0 -9378
  61. package/src/directives/permission/hasPermi.js +0 -63
  62. package/src/directives/permission/hasRole.js +0 -30
  63. package/src/main.js +0 -55
  64. package/src/mixins/VTMixin/DefaultMethods.js +0 -749
  65. package/src/mixins/VTMixin/OTMixinBody.js +0 -105
  66. package/src/mixins/VTMixin/OTMixinBodyFooter.js +0 -93
  67. package/src/mixins/VTMixin/OTMixinBodyMethods.js +0 -420
  68. package/src/mixins/VTMixin/OTMixinColumnMethod.js +0 -450
  69. package/src/mixins/VTMixin/OTMixinInitMethod.js +0 -130
  70. package/src/mixins/VTMixin/OTMixinPager.js +0 -38
  71. package/src/mixins/VTMixin/OTMixinSortable.js +0 -43
  72. package/src/mixins/VTMixin/index.js +0 -18
  73. package/src/package/index.js +0 -20
  74. package/src/plugins/axios.js +0 -61
  75. package/src/store/dict.js +0 -76
  76. package/src/store/dictType.js +0 -52
  77. package/src/store/permi.js +0 -45
  78. package/src/styles/common.scss +0 -37
  79. package/src/styles/index.scss +0 -48
  80. package/src/styles/theme.scss +0 -32
  81. package/src/utils/AESCRUDUtils.js +0 -87
  82. package/src/utils/DateUtils.js +0 -35
  83. package/src/utils/ExcelUtil.js +0 -159
  84. package/src/utils/TableSortUtil.js +0 -91
  85. package/src/utils/columnProp.js +0 -3
  86. package/src/utils/groupCompute.js +0 -68
  87. package/src/utils/http/httpFactory.js +0 -92
  88. package/src/utils/http/httpFactory2.js +0 -79
  89. package/src/utils/http/httpUtil.js +0 -123
  90. package/src/utils/http/httpUtils.js +0 -38
  91. package/src/utils/loadStyle.js +0 -14
  92. package/src/utils/message.js +0 -56
  93. package/src/utils/object.js +0 -80
  94. package/src/utils/security/TokenUtil.js +0 -19
  95. package/src/utils/tree.js +0 -54
  96. package/src/utils/util.js +0 -127
  97. package/src/views/Test/index.vue +0 -77
  98. package/src/views/Test/index2.vue +0 -33
  99. package/src/views/components/btn-config/index.vue +0 -202
  100. package/src/views/components/option-config/index.vue +0 -192
  101. package/src/views/db/chineseToEnglish.vue +0 -127
  102. package/src/views/db/filed.vue +0 -395
  103. package/src/views/db/index.vue +0 -192
  104. package/src/views/db/preview/index.vue +0 -139
  105. package/src/views/db/preview/left.vue +0 -204
  106. package/src/views/db/preview/right.vue +0 -466
  107. package/src/views/groupTable/index.vue +0 -137
  108. package/src/views/groupTable/ol-table-column-config/columnIndex.vue +0 -194
  109. package/src/views/groupTable/ol-table-column-config/index.vue +0 -92
  110. package/src/views/table/add-or-edit/config/base-config/index.vue +0 -539
  111. package/src/views/table/add-or-edit/config/base-config/table-form.vue +0 -333
  112. package/src/views/table/add-or-edit/config/column-config/header-config.vue +0 -475
  113. package/src/views/table/add-or-edit/config/column-config/index.vue +0 -790
  114. package/src/views/table/add-or-edit/config/data/column.js +0 -218
  115. package/src/views/table/add-or-edit/config/data/crud.js +0 -122
  116. package/src/views/table/add-or-edit/config/data/events.js +0 -109
  117. package/src/views/table/add-or-edit/config/data/method.js +0 -127
  118. package/src/views/table/add-or-edit/config/data/option.js +0 -725
  119. package/src/views/table/add-or-edit/config/data/page.js +0 -79
  120. package/src/views/table/add-or-edit/config/field-config/filed-config-table.vue +0 -42
  121. package/src/views/table/add-or-edit/config/field-config/index.vue +0 -91
  122. package/src/views/table/add-or-edit/config/form-config/index.vue +0 -1179
  123. package/src/views/table/add-or-edit/config/index.vue +0 -376
  124. package/src/views/table/add-or-edit/config/initFormObject.js +0 -25
  125. package/src/views/table/add-or-edit/config/script-config/LeftMeun.vue +0 -71
  126. package/src/views/table/add-or-edit/config/script-config/index.vue +0 -70
  127. package/src/views/table/add-or-edit/config/table-config/btn-config.vue +0 -340
  128. package/src/views/table/add-or-edit/config/table-config/btn-sort.vue +0 -132
  129. package/src/views/table/add-or-edit/config/table-config/index.vue +0 -446
  130. package/src/views/table/add-or-edit/configOld/dataTags/filed-config-table-model.vue +0 -41
  131. package/src/views/table/add-or-edit/configOld/dataTags/filed-config.vue +0 -74
  132. package/src/views/table/add-or-edit/configOld/dataTags/index.vue +0 -439
  133. package/src/views/table/add-or-edit/configOld/dataTags/set-table-sql.vue +0 -79
  134. package/src/views/table/add-or-edit/configOld/dataTags/table-on-config.vue +0 -74
  135. package/src/views/table/add-or-edit/configOld/index.vue +0 -127
  136. package/src/views/table/add-or-edit/configOld/tableTags/columnConfig.js +0 -5
  137. package/src/views/table/add-or-edit/configOld/tableTags/index.vue +0 -353
  138. package/src/views/table/add-or-edit/configOld/tableTags/operation-but-config.vue +0 -75
  139. package/src/views/table/add-or-edit/configOld/tableTags/tool-but-config.vue +0 -92
  140. package/src/views/table/add-or-edit/index.vue +0 -201
  141. package/src/views/table/add-or-edit/themeModel/index.vue +0 -53
  142. package/src/views/table/add-or-edit/themeModel/init-model-table.vue +0 -48
  143. package/src/views/table/add-or-edit/themeModel/init-model.vue +0 -81
  144. package/src/views/table/add-or-edit/themeModel/left-right.vue +0 -24
  145. package/src/views/table/add-or-edit/themeModel/left-tree-right-table.vue +0 -75
  146. package/src/views/table/add-or-edit/themeModel/olTableSearchModelMixins.js +0 -42
  147. package/src/views/table/add-or-edit/themeModel/splitpanesThemeModel.vue +0 -49
  148. package/src/views/table/add-or-edit/themeModel/top-1-bottom-2.vue +0 -29
  149. package/src/views/table/add-or-edit/themeModel/top-2-bottom-1.vue +0 -32
  150. package/src/views/table/add-or-edit/themeModel/top-2-bottom-2.vue +0 -32
  151. package/src/views/table/add-or-edit/themeModel/top-bottom.vue +0 -14
  152. package/src/views/table/index.vue +0 -43
  153. package/src/views/table/index2.vue +0 -199
  154. package/src/views/table/preview/index.vue +0 -29
  155. package/src/views/tree/components/config-core-data.vue +0 -85
  156. package/src/views/tree/components/config-core-table.vue +0 -362
  157. package/src/views/tree/components/config-core-tree/data/events.js +0 -95
  158. package/src/views/tree/components/config-core-tree/data/option.js +0 -88
  159. package/src/views/tree/components/config-core-tree/data/prop.js +0 -28
  160. package/src/views/tree/components/config-core-tree/index.vue +0 -181
  161. package/src/views/tree/components/config-core.vue +0 -42
  162. package/src/views/tree/components/form-config/index.vue +0 -967
  163. package/src/views/tree/index.vue +0 -424
  164. package/vue.config.js +0 -44
  165. /package/{olp-table/demo.html → demo.html} +0 -0
  166. /package/{olp-table/fonts → fonts}/iconfont.1720006583309.7e4906d9.woff +0 -0
  167. /package/{olp-table/fonts → fonts}/iconfont.1720006583309.947a27f0.ttf +0 -0
  168. /package/{olp-table/olp-table.common.js → olp-table.common.js} +0 -0
  169. /package/{olp-table/olp-table.css → olp-table.css} +0 -0
  170. /package/{olp-table/olp-table.umd.js → olp-table.umd.js} +0 -0
  171. /package/{olp-table/olp-table.umd.min.js → olp-table.umd.min.js} +0 -0
@@ -1,376 +0,0 @@
1
- <template>
2
- <el-dialog
3
- v-model="show"
4
- :title="'配置中心 - '+provides.form.theme"
5
- width="90%"
6
- :close-on-press-escape="false"
7
- :close-on-click-modal="false"
8
- destroy-on-close
9
- :show-close="false"
10
- style="height: 800px;"
11
- align-center
12
- >
13
- <el-tabs v-model="activeName" @tab-change="updateShow" v-loading="loading"
14
- :element-loading-text="provides.loadingText"
15
- element-loading-background="rgba(122, 122, 122, 0.8)" :key="'config_el_tables_1'" style="height: 680px">
16
- <el-tab-pane label="数据配置" name="baseConfig">
17
- <BaseConfig :columns="columns" ref="baseConfig" @updateTable="updateTable" @loading="loading = $event"
18
- @updateCurd="updateCurd"/>
19
- </el-tab-pane>
20
- <el-tab-pane label="table配置" name="tableConfig">
21
- <TableConfig ref="tableConfig" @tableConfigChange="tableConfigChange"/>
22
- </el-tab-pane>
23
- <el-tab-pane label="列配置" name="columnConfig">
24
- <ColumnConfig :addVisible="provides.form.toolBut.indexOf('add') != -1"
25
- :editVisible="provides.form.operationBut.indexOf('edit') != -1" ref="columnConfig"
26
- @checkBoxChange="columnCheckBoxChange"
27
- @checkBoxAll="columnCheckBoxAll"/>
28
- </el-tab-pane>
29
- <el-tab-pane :label="item.name+'表单配置'" :name="item.code"
30
- v-for="item in provides.form.toolButOptions.filter(option=>option.isForm == 1)">
31
- <FormConfig :type="item.code" :ref="(el) => setRefMap(el, item.code)"/>
32
- </el-tab-pane>
33
- <!-- 编辑表单配置 -->
34
- <el-tab-pane :label="item.name+'表单配置'" :name="item.code"
35
- v-for="item in provides.form.operationButOptions.filter(option=>option.isForm == 1)">
36
- <FormConfig :type="item.code" :ref="(el) => setRefMap(el, item.code)"/>
37
- </el-tab-pane>
38
- <!-- <el-tab-pane label="新增表单配置" name="add" v-if="provides.form.toolBut.indexOf('add') != -1">
39
- <FormConfig type="add" :ref="(el) => setRefMap(el, 'add')"/>
40
- </el-tab-pane>
41
- <el-tab-pane label="编辑表单配置" name="edit" v-if="provides.form.operationBut.indexOf('edit') != -1">
42
- <FormConfig type="edit" :ref="(el) => setRefMap(el, 'edit')"/>
43
- </el-tab-pane>-->
44
- <!-- <el-tab-pane label="脚本配置" name="scriptConfig">
45
- <ScriptConfig ref="scriptConfig"/>
46
- </el-tab-pane>-->
47
- </el-tabs>
48
- <template #footer>
49
- <el-button @click="show = false;emits('configClose');" :loading="loading">取 消</el-button>
50
- <el-button type="primary" @click="saveClick" :loading="loading">保 存</el-button>
51
- </template>
52
- </el-dialog>
53
- </template>
54
- <script setup>
55
- import {nextTick, provide, reactive, ref, toRaw, defineExpose, defineEmits, inject} from "vue";
56
- import BaseConfig from "@/views/table/add-or-edit/config/base-config/index.vue";
57
- import ColumnConfig from "@/views/table/add-or-edit/config/column-config/index.vue";
58
- import TableConfig from "@/views/table/add-or-edit/config/table-config/index.vue";
59
- import FormConfig from "@/views/table/add-or-edit/config/form-config/index.vue";
60
- import initFormObject from "@/views/table/add-or-edit/config/initFormObject.js";
61
- import ScriptConfig from "@/views/table/add-or-edit/config/script-config/index.vue";
62
- import {post, get} from "@/utils/http/httpUtils";
63
- import {useMessage} from "@/utils/message";
64
-
65
- const msg = useMessage() // 消息弹窗
66
- const refMap = ref({});
67
-
68
- const setRefMap = (el, item) => {
69
- if (el) {
70
- refMap.value[item] = el
71
- }
72
- }
73
- const http = inject("http")
74
- const show = ref(false);
75
- const loading = ref(true);
76
- const baseConfig = ref(null);
77
- const tableConfig = ref(null);
78
- const columnConfig = ref(null);
79
- const columns = ref([])
80
- const provides = reactive({
81
- loadingText: '正在获取数据...',
82
- form: {
83
- mainTable: '',
84
- hump: '0',
85
- definitionSql: '0',
86
- executeSql: '',
87
- executeWhere: '',
88
- parameterDefault: '',
89
- paging: '1',
90
- selectBox: '2',
91
- tips: '1',
92
- tree: '0',
93
- treeParentId: '',
94
- openColumn: '',
95
- operationBut: [],
96
- tableDelete: {},
97
- toolBut: [],
98
- parentId: '',
99
- theme: '',
100
- toolButOptions: [],
101
- operationButOptions: [],
102
- },
103
- updateIndex: 0,
104
- tableColumn: [],
105
- tableOption: '{}',
106
- operationButConfig: [],
107
- toolButConfig: [],
108
- })
109
-
110
- const activeName = ref('baseConfig')
111
-
112
- //列配置多选框更新
113
- const columnCheckBoxChange = ({row, column}) => {
114
- nextTick(() => {
115
- if (column.field == 'addDisplay' && refMap.value['add']) {
116
- //新增多选点击
117
- refMap.value['add'].updateData(row, column)
118
- } else if (column.field == 'editDisplay' && refMap.value['edit']) {
119
- refMap.value['edit'].updateData(row, column)
120
- }
121
- })
122
- }
123
-
124
- function updateShow(v) {
125
- if (v == 'columnConfig') {
126
- columnConfig.value.setShow(true);
127
- } else if (refMap.value[v]) {
128
- refMap.value[v].setShow(true);
129
- }
130
- }
131
-
132
- //列配置全选框更新
133
- const columnCheckBoxAll = ({checkBoxName, isAll, list}) => {
134
- nextTick(() => {
135
- //新增全选和全不选
136
- if (refMap.value[checkBoxName]) {
137
- refMap.value[checkBoxName].setAll({list, isAll})
138
- }
139
- })
140
- }
141
-
142
- function setOtherProp(item) {
143
- let filedToOtherProp = Object.keys(item).filter(item => item.indexOf("ToOtherProp") != -1);
144
- if (filedToOtherProp.length != 0) {
145
- let otherProp = {};
146
- if (item.otherProp) {
147
- try {
148
- otherProp = JSON.parse(item.otherProp)
149
- if(!otherProp){
150
- otherProp = {};
151
- }
152
- }catch (e) {
153
- }
154
- }
155
- for (let filed of filedToOtherProp) {
156
- if(item[filed] != undefined){
157
- otherProp[filed] = item[filed];
158
- }
159
- }
160
- //将展开行的表单设置为json的形式传给其他属性
161
- item.otherProp = JSON.stringify(otherProp)
162
- }
163
- }
164
-
165
- //点击保存
166
- const saveClick = () => {
167
- let columnConfigData = columnConfig.value.gridOptions.data
168
- baseConfig.value.parseData(provides.form);
169
- if ((provides.form.toolBut.indexOf("batchDelete") != -1 || provides.form.operationBut.indexOf("delete") != -1) && !provides.form.deleteWhere) {
170
- msg.error("您启用删除功能,请填写删除条件!")
171
- return;
172
- }
173
- let tableConfigData = tableConfig.value
174
- //保存列配置
175
- columnConfigData.forEach(item => {
176
- setOtherProp(item);
177
- //下拉值为空字符串时置为Null处理
178
- item.selectType = item.selectType != '' ? item.selectType : null
179
- item.tableField = item.tableField ? item.tableField : item.field
180
- item.fixed = item.fixed != '' ? item.fixed : null
181
- item.selectDom = item.selectDom != '' ? item.selectDom : null
182
- })
183
- provides.tableColumn = columnConfigData
184
- provides.tableGroupHeader = columnConfig.value.getGroupColumnData()
185
- provides.form.optionJson = JSON.stringify(tableConfigData.getOptions())
186
- if (refMap.value['add'] && refMap.value['add'].getData()) {
187
- try {
188
- JSON.parse(refMap.value['add'].getData().codeForm)
189
- } catch (e) {
190
- console.error(e)
191
- msg.error('解析编码设计json失败,请检查对象格式是否正确' + e)
192
- return;
193
- }
194
- }
195
- setFormList();
196
- if (provides.form.operationBut.includes('edit') && provides.formMainList) {
197
- for (const item of provides.formMainList) {
198
- // 基础表单 编辑时,更新条件或保存路径不能为空!
199
- if (item.formMain.designer == '0'
200
- && item.formMain.formType == 'edit'
201
- && item.formMain.updateKey.trim() == '' && item.formMain.saveUrl.trim() == '') {
202
- activeName.value = 'edit'
203
- msg.error("基础表单 编辑时,更新条件或保存路径不能为空!")
204
- return;
205
- }
206
- }
207
- }
208
- saveData()
209
- }
210
-
211
- function setFormList() {
212
- //保存新增和编辑表单配置
213
- provides.formMainList = [];
214
- for (let key of Object.keys(refMap.value)) {
215
- provides.formMainList.push(getFormMain(refMap.value[key]));
216
- }
217
- }
218
-
219
- function getFormMain(formConfig) {
220
- let form = formConfig.getForm();
221
- let formConfigData = formConfig.getData();
222
- let formMain = {
223
- uuid: provides.form.uuid,
224
- }
225
- let formJson = {};
226
- if (formConfigData) {
227
- formMain.designer = "" + formConfigData.designer; //表单类型 (0)基础表单 (1)自定义表单
228
- formMain.customForm = formConfigData.customForm;
229
- formJson.optionJson = formConfigData.codeForm;
230
- formJson.customJson = JSON.stringify(formConfigData.customJson);
231
- }
232
- for (let key of Object.keys(form)) {
233
- formMain[key] = form[key];
234
- }
235
- return {
236
- formMain,
237
- formJson
238
- }
239
- }
240
-
241
- function saveData() {
242
- loading.value = true;
243
- // baseConfig.value.setDeleteTable();
244
- post(http, "/online/tableConfig/saveJson", toRaw(provides), undefined, false).then(({code}) => {
245
- if (code == 200) {
246
- show.value = false;
247
- nextTick(() => {
248
- emits('configClose', provides.form.theme);
249
- })
250
- }
251
- }).finally(() => {
252
- loading.value = false;
253
- })
254
- }
255
-
256
-
257
- //数据配置更新数据表
258
- function updateTable(data) {
259
- columnConfig.value.updateData(data)
260
- loading.value = false
261
- }
262
-
263
- const updateCurd = () => {
264
- columnConfig.value.setAddDisplay("1")
265
- columnConfig.value.setEditDisplay("1")
266
- }
267
-
268
- //配置中心更新数据
269
- function tableConfigChange(map) {
270
- columnConfig.value.updateColumnConfig(map)
271
- }
272
-
273
- const updateBtnData = (options, type) => {
274
- let butType = type.substr(0, type.indexOf('Options'));
275
- for (let i = options.length - 1; i >= 0; i--) {
276
- let o = options[i];
277
- if (provides.form[butType].indexOf(o.code) == -1) {
278
- provides.form[butType].push(o.code)
279
- }
280
- }
281
- provides.form[type] = options
282
- }
283
-
284
- function initForm(res) {
285
- res.form = JSON.parse(JSON.stringify(initFormObject));
286
- res.tableColumn = [];
287
- }
288
-
289
- function parseOtherProp(res) {
290
- if(!res.tableColumn){
291
- return
292
- }
293
- for (let column of res.tableColumn) {
294
- if (column.otherProp && column.otherProp != '') {
295
- try {
296
- let otherProp = JSON.parse(column.otherProp);
297
- for (let key of Object.keys(otherProp)) {
298
- column[key] = otherProp[key];
299
- }
300
- }catch (e){}
301
- }
302
- }
303
- }
304
-
305
- function init({o, v}) {
306
- show.value = true;
307
- loading.value = true;
308
- provides.loadingText = "正在加载数据...";
309
- get(http, "/online/tableConfig/getJson", {uuid: v.uuid, theme: o}).then(res => {
310
- parseOtherProp(res);
311
- provides.toolButConfig = res.toolButConfig;
312
- provides.operationButConfig = res.operationButConfig;
313
- if (res.newConfig) {
314
- initForm(res);
315
- res.form.parentId = v.parentId;
316
- res.form.uuid = v.uuid;
317
- res.form.theme = o;
318
- }
319
- provides.form = res.form;
320
- if (!res.form.optionJson) {
321
- res.form.optionJson = "{}"
322
- }
323
- // 将json解析为对象
324
- provides.form.optionObj = JSON.parse(res.form.optionJson)
325
- if (provides.form.optionObj.table) {
326
- provides.form.tableObj = provides.form.optionObj.table
327
- } else {
328
- provides.form.tableObj = {}
329
- }
330
- provides.tableColumn = res.tableColumn;
331
- columnConfig.value.setData(res.tableColumn)
332
- baseConfig.value.setData(res.form);
333
- tableConfig.value.setData(res.form)
334
- nextTick(() => {
335
- if (res.formMainList) {
336
- for (let obj of provides.form.toolButOptions) {
337
- let data = res.formMainList[obj.code];
338
- if (data && refMap.value[obj.code]) {
339
- refMap.value[obj.code].setData(data)
340
- }
341
- }
342
- for (let obj of provides.form.operationButOptions) {
343
- let data = res.formMainList[obj.code];
344
- if (data && refMap.value[obj.code]) {
345
- refMap.value[obj.code].setData(data)
346
- }
347
- }
348
- }
349
- })
350
- loading.value = false;
351
- }).catch(() => {
352
- loading.value = false;
353
- })
354
- }
355
-
356
-
357
- provide('configData', provides);
358
- provide('updateBtnData', updateBtnData)
359
- const emits = (m, v) => {
360
- if (m == "updateVisible") {
361
- baseConfig.value.refreshColumn();
362
- } else {
363
- emit("emits", {m: m, v});
364
- }
365
- }
366
-
367
- // 子组件调用父组件
368
- const emit = defineEmits(["emits"]); //声明 emits
369
- defineExpose({
370
- init,
371
- })
372
-
373
- </script>
374
-
375
-
376
-
@@ -1,25 +0,0 @@
1
- export default {
2
- "hump": "0",
3
- "toolBut": [
4
- "add",
5
- "batchDelete",
6
- "upload",
7
- "download"
8
- ],
9
- "tree": "0",
10
- "paging": "1",
11
- "seq": "1",
12
- "executeSql": '',
13
- "definitionSql": "0",
14
- "requestType": "0",
15
- "tips": "1",
16
- "operationButOptions": [],
17
- "toolButOptions": [],
18
- "operationBut": [
19
- "edit",
20
- "delete"
21
- ],
22
- "selectBox": "2",
23
- "theme": "t1",
24
- "init": "1"
25
- }
@@ -1,71 +0,0 @@
1
- <template>
2
- <div>
3
- <p>
4
- <vxe-button @click="expandAllEvent">展开</vxe-button>
5
- <vxe-button @click="claseExpandEvent">关闭</vxe-button>
6
- </p>
7
- <!-- 树表格-->
8
- <vxe-table
9
- border="inner"
10
- size="small"
11
- ref="tableRef"
12
- :column-config="{resizable: true}"
13
- :tree-config="{transform: true, rowField: 'id', parentField: 'parentId'}"
14
- :data="tableData"
15
- @toggle-tree-expand="toggleExpandChangeEvent">
16
- <vxe-column field="name" title="名称" tree-node></vxe-column>
17
- <!-- <vxe-column field="size" title="类型"></vxe-column> -->
18
-
19
- <vxe-column title="操作" width="140">
20
- <template #default="{ row }">
21
- <vxe-button mode="text" icon="vxe-icon-add"></vxe-button>
22
- <vxe-button mode="text" icon="vxe-icon-edit"></vxe-button>
23
- <vxe-button mode="text" icon="vxe-icon-delete" @click="removeRowEvent(row)"></vxe-button>
24
- </template>
25
- </vxe-column>
26
- </vxe-table>
27
- </div>
28
- </template>
29
-
30
- <script setup>
31
- import { ref } from 'vue'
32
- import { VXETable, VxeTableInstance, VxeTableEvents } from 'vxe-table'
33
-
34
-
35
-
36
- const tableRef = ref()
37
-
38
- const tableData = ref([
39
- { id: 1, parentId: null, name: '表格', type: '', size: 1024, date: '2020-08-01' },
40
- { id: 2, parentId: 1, name: '新增', type: '表格', size: 1024, date: '2020-08-01' },
41
- { id: 3, parentId: 1, name: '编辑', type: '表格', size: 1024, date: '2020-08-01' },
42
- { id: 4, parentId: 1, name: '删除', type: '表格', size: 1024, date: '2020-08-01' },
43
- { id: 5, parentId: null, name: '表单', type: '', size: 1024, date: '2020-08-01' },
44
- { id: 3, parentId: 5, name: '编辑', type: '表单', size: 1024, date: '2020-08-01' },
45
- { id: 4, parentId: 5, name: '删除', type: '表单', size: 1024, date: '2020-08-01' },
46
- ])
47
-
48
- // 展开事件
49
- const toggleExpandChangeEvent = (params) => {
50
- const $table = tableRef.value
51
- if ($table) {
52
- const { row, expanded } = params
53
- console.log('节点展开事件', expanded, '获取父节点:', $table.getParentRow(row))
54
- }
55
- }
56
-
57
- //全部展开
58
- const expandAllEvent = () => {
59
- const $table = tableRef.value
60
- if ($table) {
61
- $table.setAllTreeExpand(true)
62
- }
63
- }
64
- //全部关闭
65
- const claseExpandEvent = () => {
66
- const $table = tableRef.value
67
- if ($table) {
68
- $table.clearTreeExpand()
69
- }
70
- }
71
- </script>
@@ -1,70 +0,0 @@
1
- <template>
2
- <el-button type="primary">预览脚本</el-button>
3
-
4
- <el-row>
5
- <!-- 左边树状菜单 -->
6
- <el-col :span="6" class="bordered-col">
7
- <div class="height-col">
8
- <LeftMeun></LeftMeun>
9
- </div>
10
- </el-col>
11
- <!-- codemirror代码在线预览 -->
12
- <el-col :span="18" class="bordered-col">
13
- <div class="height-col colored-div">
14
- <codemirror
15
- v-model="values"
16
- :autofocus="true"
17
- :indent-with-tab="true"
18
- :tabSize="2"
19
- :extensions="state.extensions"/>
20
- </div>
21
- </el-col>
22
- </el-row>
23
- </template>
24
- <script setup>
25
-
26
- import {Codemirror} from "vue-codemirror";
27
- import {computed, defineProps, reactive, ref} from "vue";
28
- import {javascript} from "@codemirror/lang-javascript";
29
- import {oneDark} from "@codemirror/theme-one-dark";
30
- import LeftMeun from '@/views/table/add-or-edit/config/script-config/LeftMeun.vue'
31
-
32
- const props = defineProps({
33
- modelValue: {},
34
- })
35
-
36
- // const values = computed({
37
- // get: () => props.modelValue,
38
- // // eslint-disable-next-line no-undef
39
- // set: (value) => emits("update:modelValue", value),
40
- // });
41
- const values = ref(`const values = computed({
42
- get: () => props.modelValue,
43
- // eslint-disable-next-line no-undef
44
- set: (value) => emits("update:modelValue", value),
45
- })`);
46
-
47
- const state = reactive({
48
- show: false,
49
- extensions: [javascript(), oneDark],
50
- values: ``,
51
- err: false,
52
- })
53
-
54
- </script>
55
- <style>
56
-
57
- .bordered-col {
58
- border: 1px solid #d3dce6; /* 边框颜色和宽度 */
59
- border-radius: 4px; /* 可选:圆角 */
60
- }
61
-
62
- .height-col {
63
- height: 600px;
64
- }
65
-
66
- .colored-div {
67
- background-color: #2d2a2e; /* 背景 */
68
- }
69
-
70
- </style>