cloud-web-corejs 1.0.18 → 1.0.20

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 (191) hide show
  1. package/package.json +2 -1
  2. package/src/api/user.js +8 -0
  3. package/src/components/jsonImport/index.js +3 -1
  4. package/src/components/jsonImport/mixins.js +16 -16
  5. package/src/components/xform/form-designer/form-widget/dialog/importDialogMixin.js +1 -1
  6. package/src/components/xform/form-designer/indexMixin.js +2 -2
  7. package/src/layout/components/Sidebar/default.vue +15 -9
  8. package/src/layout/components/TagsView/index.vue +6 -6
  9. package/src/layout/components/notify_message/unreadDialog.vue +1 -1
  10. package/src/router/modules/customer.js +8 -8
  11. package/src/utils/aes.js +1 -0
  12. package/src/views/bd/setting/bd_attach_setting/dialog.vue +8 -8
  13. package/src/views/bd/setting/bd_attach_setting/edit.vue +11 -11
  14. package/src/views/bd/setting/bd_attach_setting/list.vue +7 -7
  15. package/src/views/bd/setting/form_script/dialog.vue +17 -15
  16. package/src/views/bd/setting/form_script/edit.vue +15 -13
  17. package/src/views/bd/setting/form_script/edit1.vue +12 -12
  18. package/src/views/bd/setting/form_script/form_list.vue +8 -8
  19. package/src/views/bd/setting/form_script/list.vue +9 -9
  20. package/src/views/bd/setting/form_script/list1.vue +9 -9
  21. package/src/views/bd/setting/form_script/list2.vue +1 -1
  22. package/src/views/bd/setting/form_template/dialog.vue +27 -20
  23. package/src/views/bd/setting/form_template/edit.vue +13 -13
  24. package/src/views/bd/setting/form_template/editWfObjConfigDialog.vue +2 -2
  25. package/src/views/bd/setting/form_template/ftHistoryDialog.vue +8 -8
  26. package/src/views/bd/setting/form_template/itemEdit.vue +9 -9
  27. package/src/views/bd/setting/form_template/itemList.vue +8 -8
  28. package/src/views/bd/setting/form_template/list.vue +15 -15
  29. package/src/views/bd/setting/form_template/preformDialog.vue +2 -2
  30. package/src/views/bd/setting/menu_kind/authDialog.vue +2 -2
  31. package/src/views/bd/setting/menu_kind/dialog.vue +23 -16
  32. package/src/views/bd/setting/menu_kind/list.vue +27 -27
  33. package/src/views/bd/setting/table_model/dialog.vue +5 -5
  34. package/src/views/bd/setting/table_model/edit.vue +1123 -1123
  35. package/src/views/bd/setting/table_model/list.vue +12 -12
  36. package/src/views/bd/setting/table_model/zdDialog.vue +5 -5
  37. package/src/views/mobile/user/area/dialog.vue +4 -3
  38. package/src/views/mobile/user/user/dialog.vue +4 -3
  39. package/src/views/support/export_template/edit.vue +12 -12
  40. package/src/views/support/export_template/list.vue +18 -18
  41. package/src/views/user/access_log/edit.vue +5 -5
  42. package/src/views/user/access_log/list.vue +11 -11
  43. package/src/views/user/access_log/statistics_list.vue +16 -11
  44. package/src/views/user/api_request/edit.vue +15 -12
  45. package/src/views/user/api_request/list.vue +12 -10
  46. package/src/views/user/area/dialog.vue +5 -5
  47. package/src/views/user/area_attribute/configDialog.vue +319 -319
  48. package/src/views/user/area_attribute/edit.vue +3 -3
  49. package/src/views/user/area_attribute/list.vue +1 -1
  50. package/src/views/user/attachment/uploadDialog.vue +11 -11
  51. package/src/views/user/bill_setting/edit.vue +14 -13
  52. package/src/views/user/bill_setting/h5_ModifyDialog.vue +5 -3
  53. package/src/views/user/bill_setting/h5_view.vue +4 -4
  54. package/src/views/user/bill_setting/itemViewDialog.vue +1 -1
  55. package/src/views/user/bill_setting/list.vue +9 -8
  56. package/src/views/user/bill_setting/queryDialog.vue +3 -3
  57. package/src/views/user/bill_setting/render.vue +7 -7
  58. package/src/views/user/bill_setting/template2.json +44 -11
  59. package/src/views/user/bill_setting/userDialog.vue +5 -5
  60. package/src/views/user/code_rules/edit.vue +11 -11
  61. package/src/views/user/code_rules/list.vue +6 -6
  62. package/src/views/user/commMenu/index.vue +2 -2
  63. package/src/views/user/common_attribute/edit.vue +9 -9
  64. package/src/views/user/common_attribute/itemEdit.vue +11 -11
  65. package/src/views/user/common_attribute/list.vue +12 -12
  66. package/src/views/user/common_script/edit.vue +11 -10
  67. package/src/views/user/common_script/list.vue +17 -16
  68. package/src/views/user/company_info/dialog.vue +138 -131
  69. package/src/views/user/company_info/edit.vue +10 -10
  70. package/src/views/user/company_info/view.vue +1 -1
  71. package/src/views/user/country/dialog.vue +8 -8
  72. package/src/views/user/country/edit.vue +16 -15
  73. package/src/views/user/country/list.vue +172 -162
  74. package/src/views/user/data_type_setting/dialog.vue +11 -8
  75. package/src/views/user/data_type_setting/editDialog.vue +13 -12
  76. package/src/views/user/ea/eagroup/eaobj_list.vue +332 -311
  77. package/src/views/user/ea/eagroup/edit.vue +492 -475
  78. package/src/views/user/ea/eaobj/edit.vue +153 -148
  79. package/src/views/user/ea/eaobj/list.vue +147 -135
  80. package/src/views/user/error-page/401.vue +42 -34
  81. package/src/views/user/error-page/404.vue +19 -3
  82. package/src/views/user/extend_datasource/dialog.vue +127 -119
  83. package/src/views/user/extend_datasource/edit.vue +13 -12
  84. package/src/views/user/extend_datasource/list.vue +7 -7
  85. package/src/views/user/fieldTranslation/editDialog.vue +6 -6
  86. package/src/views/user/fieldTranslation/list.vue +9 -8
  87. package/src/views/user/field_values_invisible/edit.vue +87 -85
  88. package/src/views/user/field_values_invisible/list.vue +36 -25
  89. package/src/views/user/file_type/edit.vue +11 -11
  90. package/src/views/user/file_type/list.vue +10 -7
  91. package/src/views/user/file_type/userEdit.vue +188 -188
  92. package/src/views/user/file_view_area/edit.vue +11 -11
  93. package/src/views/user/file_view_area/itemEdit.vue +168 -165
  94. package/src/views/user/file_view_area/list.vue +9 -9
  95. package/src/views/user/file_view_ins/list.vue +57 -38
  96. package/src/views/user/file_view_ins/propertiesDialog.vue +218 -218
  97. package/src/views/user/form/form_ins_list/edit.vue +421 -421
  98. package/src/views/user/form/form_template/dialog.vue +27 -20
  99. package/src/views/user/form/form_template/edit.vue +15 -12
  100. package/src/views/user/form/form_template/itemEdit.vue +9 -9
  101. package/src/views/user/form/form_template/itemList.vue +5 -5
  102. package/src/views/user/form/form_template/list.vue +9 -8
  103. package/src/views/user/form/form_template_field/dialog.vue +11 -8
  104. package/src/views/user/form/form_type/dialog.vue +134 -127
  105. package/src/views/user/form/form_type/edit.vue +10 -10
  106. package/src/views/user/form/form_type/editDialog.vue +11 -10
  107. package/src/views/user/form/form_type/list.vue +128 -118
  108. package/src/views/user/form/report_requestaccess/dialog.vue +108 -101
  109. package/src/views/user/form/report_requestaccess/edit.vue +274 -236
  110. package/src/views/user/form/report_requestaccess/list.vue +31 -20
  111. package/src/views/user/form/vform/designer.vue +164 -164
  112. package/src/views/user/form/vform/formFieldMapping.js +151 -169
  113. package/src/views/user/form/vform/out_render.vue +3 -2
  114. package/src/views/user/form/vform/render.vue +2 -2
  115. package/src/views/user/form/view/edit.vue +7 -7
  116. package/src/views/user/form/view/list.vue +2 -2
  117. package/src/views/user/home/default.vue +21 -21
  118. package/src/views/user/home/distributor.vue +375 -119
  119. package/src/views/user/home/index.vue +1 -1
  120. package/src/views/user/language_setting/edit.vue +167 -166
  121. package/src/views/user/language_setting/list.vue +7 -7
  122. package/src/views/user/ledger_library/list.vue +2 -2
  123. package/src/views/user/ledger_library/private_list.vue +3 -3
  124. package/src/views/user/login/auth-redirect.vue +1 -1
  125. package/src/views/user/login/index.vue +1 -1
  126. package/src/views/user/login/indexMixin.js +4 -1
  127. package/src/views/user/menu/list.vue +19 -19
  128. package/src/views/user/mobile_menu/list.vue +17 -17
  129. package/src/views/user/notify_message/dialog.vue +8 -6
  130. package/src/views/user/notify_message/list.vue +5 -4
  131. package/src/views/user/notify_template/edit.vue +185 -185
  132. package/src/views/user/notify_template/list.vue +8 -8
  133. package/src/views/user/oplog/edit.vue +108 -103
  134. package/src/views/user/oplog/list.vue +8 -8
  135. package/src/views/user/outLink/form_view.vue +144 -143
  136. package/src/views/user/outLink/index.vue +7 -5
  137. package/src/views/user/outLink/view.vue +119 -117
  138. package/src/views/user/position/dialog.vue +145 -138
  139. package/src/views/user/position/edit.vue +12 -12
  140. package/src/views/user/position/list.vue +172 -162
  141. package/src/views/user/project_tag/dialog.vue +9 -9
  142. package/src/views/user/project_tag/edit.vue +10 -10
  143. package/src/views/user/project_tag/list.vue +7 -7
  144. package/src/views/user/push_setting/edit.vue +14 -11
  145. package/src/views/user/push_setting/list.vue +45 -36
  146. package/src/views/user/redirect/index.vue +4 -4
  147. package/src/views/user/role/dialog.vue +11 -8
  148. package/src/views/user/role/edit.vue +427 -427
  149. package/src/views/user/role/list.vue +125 -114
  150. package/src/views/user/sale_org/dialog.vue +3 -3
  151. package/src/views/user/sale_org/list.vue +26 -26
  152. package/src/views/user/sale_org/moveDialog.vue +2 -2
  153. package/src/views/user/system_notice/edit.vue +184 -184
  154. package/src/views/user/system_notice/list.vue +156 -145
  155. package/src/views/user/system_parameter/edit.vue +140 -137
  156. package/src/views/user/system_parameter/list.vue +131 -120
  157. package/src/views/user/user/dialog.vue +40 -47
  158. package/src/views/user/user/edit.vue +1021 -1019
  159. package/src/views/user/user/form_edit.vue +497 -483
  160. package/src/views/user/user/form_list.vue +16 -16
  161. package/src/views/user/user/info.vue +271 -256
  162. package/src/views/user/user/infoContent.vue +12 -11
  163. package/src/views/user/user/infoEdit.vue +113 -94
  164. package/src/views/user/user/inner_list.vue +1 -1
  165. package/src/views/user/user/list.vue +55 -50
  166. package/src/views/user/user/list2.vue +1 -1
  167. package/src/views/user/user/modifyPasswordDialog.vue +3 -3
  168. package/src/views/user/user/out_list.vue +1 -1
  169. package/src/views/user/wf/formCustDialog/list.vue +13 -15
  170. package/src/views/user/wf/iframe/index.vue +12 -12
  171. package/src/views/user/wf/iframe/index2.vue +2 -2
  172. package/src/views/user/wf/wf_auto_submit_data/edit.vue +6 -6
  173. package/src/views/user/wf/wf_auto_submit_data/edith.vue +6 -6
  174. package/src/views/user/wf/wf_auto_submit_data/list.vue +10 -8
  175. package/src/views/user/wf/wf_diy_attribute/edit.vue +6 -6
  176. package/src/views/user/wf/wf_manage/list.vue +9 -8
  177. package/src/views/user/wf/wf_obj_config/activiti_wf.vue +11 -10
  178. package/src/views/user/wf/wf_obj_config/dialog.vue +10 -7
  179. package/src/views/user/wf/wf_obj_config/edit.vue +15 -12
  180. package/src/views/user/wf/wf_obj_config/edit_form.vue +72 -65
  181. package/src/views/user/wf/wf_obj_config/itemEdit.vue +9 -9
  182. package/src/views/user/wf/wf_obj_config/itemEdit_form.vue +9 -9
  183. package/src/views/user/wf/wf_obj_config/list.vue +12 -12
  184. package/src/views/user/wf/wf_obj_config/list_form.vue +24 -24
  185. package/src/views/user/wf/wf_param/edit.vue +5 -5
  186. package/src/views/user/wf/wf_work_calendar/components/calendar.vue +27 -13
  187. package/src/views/user/wf/wf_work_calendar/components/calendar2.vue +25 -10
  188. package/src/views/user/wf/wf_work_calendar/configDialog.vue +9 -6
  189. package/src/views/user/wf/wf_work_calendar/date.js +10 -10
  190. package/src/views/user/wf/wf_work_calendar/list.vue +9 -4
  191. package/src/views/user/sale_org_net/list.vue +0 -574
@@ -1,421 +1,421 @@
1
- <template>
2
- <div class="detail-wrap">
3
- <el-form ref="editForm" :model="formInsList">
4
- <div class="d-header clearfix">
5
- <div class="fl">
6
- <i class="el-icon-info"/>
7
- 查看表单实例列表字段定义
8
- </div>
9
- <div class="fr">
10
- <el-button type="primary" plain class="button-sty" @click="$baseReload()" icon="el-icon-refresh-right">重置
11
- </el-button>
12
- <el-button type="primary" class="button-sty" icon="el-icon-check" @click="saveData">保存</el-button>
13
- </div>
14
- </div>
15
- <baseTabs>
16
- <baseTabPane label="基本信息">
17
- <template #default>
18
- <table class="table-detail">
19
- <tbody>
20
- <tr>
21
- <th>模板编码</th>
22
- <td>
23
- {{ formInsList.formCode }}
24
- </td>
25
- </tr>
26
- <tr>
27
- <th>
28
- 脚本
29
- <!-- <scriptDescriptionButton path="static/readme/ExportTemplate.txt"></scriptDescriptionButton>-->
30
- <scriptTestButton :script.sync="formInsList.script"></scriptTestButton>
31
- </th>
32
- <td colspan="7">
33
- <el-form-item prop="script" :rules="[{ required: false, trigger: 'blur' }]">
34
- <code-editor mode="java" :readonly="!1" v-model="formInsList.script"
35
- v-if="showCodeEditor"></code-editor>
36
- </el-form-item>
37
- </td>
38
- </tr>
39
- <tr>
40
- <th>创建人</th>
41
- <td>{{ formInsList.createBy }}</td>
42
- <th>创建时间</th>
43
- <td>{{ formInsList.createDate }}</td>
44
- <th>更新人</th>
45
- <td>{{ formInsList.modifyBy }}</td>
46
- <th>更新时间</th>
47
- <td>{{ formInsList.modifyDate }}</td>
48
- </tr>
49
- </tbody>
50
- </table>
51
- </template>
52
- </baseTabPane>
53
- <baseTabPane label="列表信息">
54
- <template #button>
55
- <el-button class="button-sty" @click="addItem0()" icon="el-icon-plus">自定义新增</el-button>
56
- <el-button class="button-sty" @click="addItem0(true)" icon="el-icon-plus">表单列新增</el-button>
57
- </template>
58
- <template #default>
59
- <vxe-grid
60
- ref="table-m0"
61
- :data="formInsList.formInsListField0DTOs"
62
- v-bind="vxeOption0"
63
- @resizable-change="$vxeTableUtil.onColumnWitchChange"
64
- @custom="$vxeTableUtil.customHandle"
65
- ></vxe-grid>
66
- </template>
67
- </baseTabPane>
68
- <baseTabPane label="查询信息">
69
- <template #button>
70
- <el-button class="button-sty" @click="addItem1()" icon="el-icon-plus">自定义新增</el-button>
71
- <el-button class="button-sty" @click="addItem1(true)" icon="el-icon-plus">表单列新增</el-button>
72
- </template>
73
- <template #default>
74
- <vxe-grid
75
- ref="table-m1"
76
- :data="formInsList.formInsListField1DTOs"
77
- v-bind="vxeOption1"
78
- @resizable-change="$vxeTableUtil.onColumnWitchChange"
79
- @custom="$vxeTableUtil.customHandle"
80
- ></vxe-grid>
81
- </template>
82
- </baseTabPane>
83
- </baseTabs>
84
- </el-form>
85
- <formTemplateFieldDialog v-if="showFormTemplateFieldDialog" :visiable.sync="showFormTemplateFieldDialog"
86
- :formCode="formCode"
87
- @confirm="confirmFormTemplateFieldDialog"/>
88
- </div>
89
- </template>
90
-
91
- <script>
92
- import formTemplateFieldDialog from "../../../../views/user/form/form_template_field/dialog";
93
-
94
-
95
- export default {
96
- name: 'form_ins_listEdit',
97
- props: {
98
- formCode: String
99
- },
100
- components: {
101
- formTemplateFieldDialog
102
- },
103
- data() {
104
- return {
105
- isEdit: false,
106
- tabIndex: 'first',
107
- dataId: '',
108
- formInsList: {
109
- formCode: null,
110
- script: null,
111
- formInsListField0DTOs: [],
112
- formInsListField1DTOs: [],
113
- formInsListFieldDTOs: []
114
- },
115
- showCodeEditor: false,
116
- vxeOption0: {},
117
- vxeOption1: {},
118
- showFormTemplateFieldDialog: false,
119
- operateType: 0
120
- };
121
- },
122
- created() {
123
- // if (this._dataId) this.dataId = this._dataId;
124
- },
125
- mounted() {
126
- this.getData();
127
- this.initTable0();
128
- this.initTable1();
129
- },
130
- methods: {
131
- getData() {
132
- this.isEdit = true;
133
- this.$commonHttp({
134
- url: USER_PREFIX + `/form_ins_list/getByFormCode`,
135
- method: `post`,
136
- data: {
137
- stringOne: this.formCode
138
- },
139
- isLoading: true,
140
- modalStrictly: true,
141
- success: res => {
142
- let formInsList = res.objx || {
143
- formCode: this.formCode,
144
- script: null
145
- };
146
- formInsList.formInsListField0DTOs = [];
147
- formInsList.formInsListField1DTOs = [];
148
- formInsList.formInsListFieldDTOs = [];
149
- this.formInsList = formInsList;
150
- this.getFields();
151
- this.showCodeEditor = true;
152
- }
153
- });
154
- },
155
- getFields() {
156
- this.$http({
157
- url: USER_PREFIX + `/form_ins_list/getFields`,
158
- method: `post`,
159
- data: {
160
- stringOne: this.formCode
161
- },
162
- isLoading: true,
163
- modalStrictly: true,
164
- success: res => {
165
- let formInsListFieldDTOs = res.objx || [];
166
- let formInsListField0DTOs = formInsListFieldDTOs.filter(formInsListFieldDTO => formInsListFieldDTO.fieldType == 0);
167
- let formInsListField1DTOs = formInsListFieldDTOs.filter(formInsListFieldDTO => formInsListFieldDTO.fieldType == 1);
168
-
169
- let formInsList = this.formInsList;
170
- formInsList.formInsListField0DTOs = formInsListField0DTOs;
171
- formInsList.formInsListField1DTOs = formInsListField1DTOs;
172
- formInsList.formInsListFieldDTOs = formInsListField0DTOs.concat(formInsListField1DTOs);
173
- }
174
- });
175
- },
176
- saveData() {
177
- this.$refs.editForm.$baseValidate(valid => {
178
- if (valid) {
179
- this.$baseConfirm('您确定要保存吗?').then(() => {
180
- let formInsList = this.$baseLodash.cloneDeep(this.formInsList);
181
- formInsList.formInsListFieldDTOs = formInsList.formInsListField0DTOs.concat(formInsList.formInsListField1DTOs);
182
- delete formInsList.formInsListField0DTOs;
183
- delete formInsList.formInsListField1DTOs;
184
- var url = USER_PREFIX + `/form_ins_list/save`;
185
- this.$http({
186
- url: url,
187
- method: `post`,
188
- data: formInsList,
189
- isLoading: true,
190
- success: res => {
191
- this.$message({
192
- message: res.content,
193
- type: 'success',
194
- duration: 500,
195
- onClose: t => {
196
- this.$baseReload();
197
- }
198
- });
199
- }
200
- });
201
- });
202
- }
203
- });
204
- },
205
- openFormTemplateFieldDialog(fieldType) {
206
- this.operateType = fieldType;
207
- this.showFormTemplateFieldDialog = true;
208
- },
209
- confirmFormTemplateFieldDialog(rows) {
210
- if (rows.length) {
211
- let tableData;
212
- let operateType = this.operateType;
213
- if (operateType === 0) {
214
- tableData = this.formInsList.formInsListField0DTOs;
215
- } else if (operateType === 1) {
216
- tableData = this.formInsList.formInsListField1DTOs;
217
- }
218
- let fieldNames = tableData.map(item => item.fieldName);
219
- let items = rows.filter(row => !fieldNames.includes(row.fieldName)).map(row => {
220
- return {
221
- fieldName: row.fieldName,
222
- fieldDesc: row.fieldDesc,
223
- fieldType: operateType
224
- }
225
- });
226
- tableData.push(...items);
227
- }
228
- },
229
- addItem0(flag) {
230
- if (flag === true) {
231
- this.operateType = 0;
232
- this.showFormTemplateFieldDialog = true;
233
- } else {
234
- this.formInsList.formInsListField0DTOs.push({
235
- formCode: this.formInsList.formCode,
236
- fieldType: 0,
237
- fieldName: null,
238
- fieldDesc: null
239
- })
240
- }
241
- },
242
- addItem1(flag) {
243
- if (flag === true) {
244
- this.operateType = 1;
245
- this.showFormTemplateFieldDialog = true;
246
- } else {
247
- this.formInsList.formInsListField1DTOs.push({
248
- formCode: this.formInsList.formCode,
249
- fieldType: 1,
250
- fieldName: null,
251
- fieldDesc: null
252
- })
253
- }
254
- },
255
- initTable0() {
256
- const tableOption = {
257
- vue: this,
258
- tableRef: 'table-m0',
259
- tableName: 'form-formInsList-edit-m0',
260
- columns: [
261
- {type: 'checkbox', fixed: 'left', width: 48, resizable: false},
262
- {
263
- title: '字段描述',
264
- field: 'fieldDesc',
265
- width: 150,
266
- slots: {
267
- default: ({row, rowIndex, $table}) => {
268
- return [
269
- <el-form-item prop={'formInsListField0DTOs.' + rowIndex + '.fieldDesc'}
270
- rules={[{required: true, trigger: ['blur', 'change']}]}>
271
- <el-input v-model={row.fieldDesc} clearable/>
272
- </el-form-item>
273
- ];
274
- }
275
- }
276
- },
277
- {
278
- title: '字段名',
279
- field: 'fieldName',
280
- width: 150,
281
- slots: {
282
- default: ({row, rowIndex, $table}) => {
283
- return [
284
- <el-form-item prop={'formInsListField0DTOs.' + rowIndex + '.fieldName'}
285
- rules={[{required: true, trigger: ['blur', 'change']}]}>
286
- <el-input v-model={row.fieldName} clearable/>
287
- </el-form-item>
288
- ];
289
- }
290
- }
291
- },
292
- {
293
- title: '排序',
294
- field: 'orders',
295
- width: 150,
296
- slots: {
297
- default: ({row, rowIndex, $table}) => {
298
- return [
299
- <el-form-item prop={'formInsListField0DTOs.' + rowIndex + '.orders'}
300
- rules={[{required: false, trigger: ['blur', 'change']}]}>
301
- <base-input-number v-model={row.orders} scale={0} />
302
- </el-form-item>
303
- ];
304
- }
305
- }
306
- },
307
- {
308
- width: 47,
309
- fixed: 'right',
310
- title: '',
311
- sortable: false,
312
- slots: {
313
- default: ({row, rowIndex, $table}) => {
314
- return [
315
- <a
316
- href="javascript:void(0);"
317
- class="a-link"
318
- onclick={() => {
319
- this.formInsList.formInsListField0DTOs.splice(rowIndex, 1);
320
- }}
321
- >
322
- <el-tooltip enterable={false} effect="dark" content="删除" placement="top"
323
- popper-class="tooltip-skin">
324
- <i class="el-icon-delete"/>
325
- </el-tooltip>
326
- </a>
327
- ];
328
- }
329
- }
330
- }
331
- ]
332
- };
333
- this.$vxeTableUtil.initVxeTable(tableOption).then(opts => {
334
- this.vxeOption0 = opts;
335
- });
336
- },
337
- initTable1() {
338
- const tableOption = {
339
- vue: this,
340
- tableRef: 'table-m1',
341
- tableName: 'form-formInsList-edit-m1',
342
- columns: [
343
- {type: 'checkbox', fixed: 'left', width: 48, resizable: false},
344
- {
345
- title: '字段描述',
346
- field: 'fieldDesc',
347
- width: 150,
348
- slots: {
349
- default: ({row, rowIndex, $table}) => {
350
- return [
351
- <el-form-item prop={'formInsListField1DTOs.' + rowIndex + '.fieldDesc'}
352
- rules={[{required: true, trigger: ['blur', 'change']}]}>
353
- <el-input v-model={row.fieldDesc} clearable/>
354
- </el-form-item>
355
- ];
356
- }
357
- }
358
- },
359
- {
360
- title: '字段名',
361
- field: 'fieldName',
362
- width: 150,
363
- slots: {
364
- default: ({row, rowIndex, $table}) => {
365
- return [
366
- <el-form-item prop={'formInsListField1DTOs.' + rowIndex + '.fieldName'}
367
- rules={[{required: true, trigger: ['blur', 'change']}]}>
368
- <el-input v-model={row.fieldName} clearable/>
369
- </el-form-item>
370
- ];
371
- }
372
- }
373
- },
374
- {
375
- title: '排序',
376
- field: 'orders',
377
- width: 150,
378
- slots: {
379
- default: ({row, rowIndex, $table}) => {
380
- return [
381
- <el-form-item prop={'formInsListField0DTOs.' + rowIndex + '.orders'}
382
- rules={[{required: false, trigger: ['blur', 'change']}]}>
383
- <base-input-number v-model={row.orders} scale={0} />
384
- </el-form-item>
385
- ];
386
- }
387
- }
388
- },
389
- {
390
- width: 47,
391
- fixed: 'right',
392
- title: '',
393
- sortable: false,
394
- slots: {
395
- default: ({row, rowIndex, $table}) => {
396
- return [
397
- <a
398
- href="javascript:void(0);"
399
- class="a-link"
400
- onclick={() => {
401
- this.formInsList.formInsListField1DTOs.splice(rowIndex, 1);
402
- }}
403
- >
404
- <el-tooltip enterable={false} effect="dark" content="删除" placement="top"
405
- popper-class="tooltip-skin">
406
- <i class="el-icon-delete"/>
407
- </el-tooltip>
408
- </a>
409
- ];
410
- }
411
- }
412
- }
413
- ]
414
- };
415
- this.$vxeTableUtil.initVxeTable(tableOption).then(opts => {
416
- this.vxeOption1 = opts;
417
- });
418
- },
419
- }
420
- };
421
- </script>
1
+ <template>
2
+ <div class="detail-wrap">
3
+ <el-form ref="editForm" :model="formInsList">
4
+ <div class="d-header clearfix">
5
+ <div class="fl">
6
+ <i class="el-icon-info"/>
7
+ 查看表单实例列表字段定义
8
+ </div>
9
+ <div class="fr">
10
+ <el-button type="primary" plain class="button-sty" @click="$baseReload()" icon="el-icon-refresh-right">{{$t1('重置')}}
11
+ </el-button>
12
+ <el-button type="primary" class="button-sty" icon="el-icon-check" @click="saveData">{{$t1('保存')}}</el-button>
13
+ </div>
14
+ </div>
15
+ <baseTabs>
16
+ <baseTabPane :label="$t1('基本信息')">
17
+ <template #default>
18
+ <table class="table-detail">
19
+ <tbody>
20
+ <tr>
21
+ <th>模板编码</th>
22
+ <td>
23
+ {{ formInsList.formCode }}
24
+ </td>
25
+ </tr>
26
+ <tr>
27
+ <th>
28
+ 脚本
29
+ <!-- <scriptDescriptionButton path="static/readme/ExportTemplate.txt"></scriptDescriptionButton>-->
30
+ <scriptTestButton :script.sync="formInsList.script"></scriptTestButton>
31
+ </th>
32
+ <td colspan="7">
33
+ <el-form-item prop="script" :rules="[{ required: false, trigger: 'blur' }]">
34
+ <code-editor mode="java" :readonly="!1" v-model="formInsList.script"
35
+ v-if="showCodeEditor"></code-editor>
36
+ </el-form-item>
37
+ </td>
38
+ </tr>
39
+ <tr>
40
+ <th>{{ $t1('创建人') }}</th>
41
+ <td>{{ formInsList.createBy }}</td>
42
+ <th>{{ $t1('创建时间') }}</th>
43
+ <td>{{ formInsList.createDate }}</td>
44
+ <th>{{ $t1('更新人') }}</th>
45
+ <td>{{ formInsList.modifyBy }}</td>
46
+ <th>{{ $t1('更新时间') }}</th>
47
+ <td>{{ formInsList.modifyDate }}</td>
48
+ </tr>
49
+ </tbody>
50
+ </table>
51
+ </template>
52
+ </baseTabPane>
53
+ <baseTabPane label="列表信息">
54
+ <template #button>
55
+ <el-button class="button-sty" @click="addItem0()" icon="el-icon-plus">自定义新增</el-button>
56
+ <el-button class="button-sty" @click="addItem0(true)" icon="el-icon-plus">表单列新增</el-button>
57
+ </template>
58
+ <template #default>
59
+ <vxe-grid
60
+ ref="table-m0"
61
+ :data="formInsList.formInsListField0DTOs"
62
+ v-bind="vxeOption0"
63
+ @resizable-change="$vxeTableUtil.onColumnWitchChange"
64
+ @custom="$vxeTableUtil.customHandle"
65
+ ></vxe-grid>
66
+ </template>
67
+ </baseTabPane>
68
+ <baseTabPane label="查询信息">
69
+ <template #button>
70
+ <el-button class="button-sty" @click="addItem1()" icon="el-icon-plus">自定义新增</el-button>
71
+ <el-button class="button-sty" @click="addItem1(true)" icon="el-icon-plus">表单列新增</el-button>
72
+ </template>
73
+ <template #default>
74
+ <vxe-grid
75
+ ref="table-m1"
76
+ :data="formInsList.formInsListField1DTOs"
77
+ v-bind="vxeOption1"
78
+ @resizable-change="$vxeTableUtil.onColumnWitchChange"
79
+ @custom="$vxeTableUtil.customHandle"
80
+ ></vxe-grid>
81
+ </template>
82
+ </baseTabPane>
83
+ </baseTabs>
84
+ </el-form>
85
+ <formTemplateFieldDialog v-if="showFormTemplateFieldDialog" :visiable.sync="showFormTemplateFieldDialog"
86
+ :formCode="formCode"
87
+ @confirm="confirmFormTemplateFieldDialog"/>
88
+ </div>
89
+ </template>
90
+
91
+ <script>
92
+ import formTemplateFieldDialog from "../../../../views/user/form/form_template_field/dialog";
93
+
94
+
95
+ export default {
96
+ name: 'form_ins_listEdit',
97
+ props: {
98
+ formCode: String
99
+ },
100
+ components: {
101
+ formTemplateFieldDialog
102
+ },
103
+ data() {
104
+ return {
105
+ isEdit: false,
106
+ tabIndex: 'first',
107
+ dataId: '',
108
+ formInsList: {
109
+ formCode: null,
110
+ script: null,
111
+ formInsListField0DTOs: [],
112
+ formInsListField1DTOs: [],
113
+ formInsListFieldDTOs: []
114
+ },
115
+ showCodeEditor: false,
116
+ vxeOption0: {},
117
+ vxeOption1: {},
118
+ showFormTemplateFieldDialog: false,
119
+ operateType: 0
120
+ };
121
+ },
122
+ created() {
123
+ // if (this._dataId) this.dataId = this._dataId;
124
+ },
125
+ mounted() {
126
+ this.getData();
127
+ this.initTable0();
128
+ this.initTable1();
129
+ },
130
+ methods: {
131
+ getData() {
132
+ this.isEdit = true;
133
+ this.$commonHttp({
134
+ url: USER_PREFIX + `/form_ins_list/getByFormCode`,
135
+ method: `post`,
136
+ data: {
137
+ stringOne: this.formCode
138
+ },
139
+ isLoading: true,
140
+ modalStrictly: true,
141
+ success: res => {
142
+ let formInsList = res.objx || {
143
+ formCode: this.formCode,
144
+ script: null
145
+ };
146
+ formInsList.formInsListField0DTOs = [];
147
+ formInsList.formInsListField1DTOs = [];
148
+ formInsList.formInsListFieldDTOs = [];
149
+ this.formInsList = formInsList;
150
+ this.getFields();
151
+ this.showCodeEditor = true;
152
+ }
153
+ });
154
+ },
155
+ getFields() {
156
+ this.$http({
157
+ url: USER_PREFIX + `/form_ins_list/getFields`,
158
+ method: `post`,
159
+ data: {
160
+ stringOne: this.formCode
161
+ },
162
+ isLoading: true,
163
+ modalStrictly: true,
164
+ success: res => {
165
+ let formInsListFieldDTOs = res.objx || [];
166
+ let formInsListField0DTOs = formInsListFieldDTOs.filter(formInsListFieldDTO => formInsListFieldDTO.fieldType == 0);
167
+ let formInsListField1DTOs = formInsListFieldDTOs.filter(formInsListFieldDTO => formInsListFieldDTO.fieldType == 1);
168
+
169
+ let formInsList = this.formInsList;
170
+ formInsList.formInsListField0DTOs = formInsListField0DTOs;
171
+ formInsList.formInsListField1DTOs = formInsListField1DTOs;
172
+ formInsList.formInsListFieldDTOs = formInsListField0DTOs.concat(formInsListField1DTOs);
173
+ }
174
+ });
175
+ },
176
+ saveData() {
177
+ this.$refs.editForm.$baseValidate(valid => {
178
+ if (valid) {
179
+ this.$baseConfirm(this.$t1('您确定要保存吗?')).then(() => {
180
+ let formInsList = this.$baseLodash.cloneDeep(this.formInsList);
181
+ formInsList.formInsListFieldDTOs = formInsList.formInsListField0DTOs.concat(formInsList.formInsListField1DTOs);
182
+ delete formInsList.formInsListField0DTOs;
183
+ delete formInsList.formInsListField1DTOs;
184
+ var url = USER_PREFIX + `/form_ins_list/save`;
185
+ this.$http({
186
+ url: url,
187
+ method: `post`,
188
+ data: formInsList,
189
+ isLoading: true,
190
+ success: res => {
191
+ this.$message({
192
+ message: res.content,
193
+ type: 'success',
194
+ duration: 500,
195
+ onClose: t => {
196
+ this.$baseReload();
197
+ }
198
+ });
199
+ }
200
+ });
201
+ });
202
+ }
203
+ });
204
+ },
205
+ openFormTemplateFieldDialog(fieldType) {
206
+ this.operateType = fieldType;
207
+ this.showFormTemplateFieldDialog = true;
208
+ },
209
+ confirmFormTemplateFieldDialog(rows) {
210
+ if (rows.length) {
211
+ let tableData;
212
+ let operateType = this.operateType;
213
+ if (operateType === 0) {
214
+ tableData = this.formInsList.formInsListField0DTOs;
215
+ } else if (operateType === 1) {
216
+ tableData = this.formInsList.formInsListField1DTOs;
217
+ }
218
+ let fieldNames = tableData.map(item => item.fieldName);
219
+ let items = rows.filter(row => !fieldNames.includes(row.fieldName)).map(row => {
220
+ return {
221
+ fieldName: row.fieldName,
222
+ fieldDesc: row.fieldDesc,
223
+ fieldType: operateType
224
+ }
225
+ });
226
+ tableData.push(...items);
227
+ }
228
+ },
229
+ addItem0(flag) {
230
+ if (flag === true) {
231
+ this.operateType = 0;
232
+ this.showFormTemplateFieldDialog = true;
233
+ } else {
234
+ this.formInsList.formInsListField0DTOs.push({
235
+ formCode: this.formInsList.formCode,
236
+ fieldType: 0,
237
+ fieldName: null,
238
+ fieldDesc: null
239
+ })
240
+ }
241
+ },
242
+ addItem1(flag) {
243
+ if (flag === true) {
244
+ this.operateType = 1;
245
+ this.showFormTemplateFieldDialog = true;
246
+ } else {
247
+ this.formInsList.formInsListField1DTOs.push({
248
+ formCode: this.formInsList.formCode,
249
+ fieldType: 1,
250
+ fieldName: null,
251
+ fieldDesc: null
252
+ })
253
+ }
254
+ },
255
+ initTable0() {
256
+ const tableOption = {
257
+ vue: this,
258
+ tableRef: 'table-m0',
259
+ tableName: 'form-formInsList-edit-m0',
260
+ columns: [
261
+ {type: 'checkbox', fixed: 'left', width: 48, resizable: false},
262
+ {
263
+ title: '字段描述',
264
+ field: 'fieldDesc',
265
+ width: 150,
266
+ slots: {
267
+ default: ({row, rowIndex, $table}) => {
268
+ return [
269
+ <el-form-item prop={'formInsListField0DTOs.' + rowIndex + '.fieldDesc'}
270
+ rules={[{required: true, trigger: ['blur', 'change']}]}>
271
+ <el-input v-model={row.fieldDesc} clearable/>
272
+ </el-form-item>
273
+ ];
274
+ }
275
+ }
276
+ },
277
+ {
278
+ title: '字段名',
279
+ field: 'fieldName',
280
+ width: 150,
281
+ slots: {
282
+ default: ({row, rowIndex, $table}) => {
283
+ return [
284
+ <el-form-item prop={'formInsListField0DTOs.' + rowIndex + '.fieldName'}
285
+ rules={[{required: true, trigger: ['blur', 'change']}]}>
286
+ <el-input v-model={row.fieldName} clearable/>
287
+ </el-form-item>
288
+ ];
289
+ }
290
+ }
291
+ },
292
+ {
293
+ title: '排序',
294
+ field: 'orders',
295
+ width: 150,
296
+ slots: {
297
+ default: ({row, rowIndex, $table}) => {
298
+ return [
299
+ <el-form-item prop={'formInsListField0DTOs.' + rowIndex + '.orders'}
300
+ rules={[{required: false, trigger: ['blur', 'change']}]}>
301
+ <base-input-number v-model={row.orders} scale={0}/>
302
+ </el-form-item>
303
+ ];
304
+ }
305
+ }
306
+ },
307
+ {
308
+ width: 47,
309
+ fixed: 'right',
310
+ title: '',
311
+ sortable: false,
312
+ slots: {
313
+ default: ({row, rowIndex, $table}) => {
314
+ return [
315
+ <a
316
+ href="javascript:void(0);"
317
+ class="a-link"
318
+ onclick={() => {
319
+ this.formInsList.formInsListField0DTOs.splice(rowIndex, 1);
320
+ }}
321
+ >
322
+ <el-tooltip enterable={false} effect="dark" content="删除" placement="top"
323
+ popper-class="tooltip-skin">
324
+ <i class="el-icon-delete"/>
325
+ </el-tooltip>
326
+ </a>
327
+ ];
328
+ }
329
+ }
330
+ }
331
+ ]
332
+ };
333
+ this.$vxeTableUtil.initVxeTable(tableOption).then(opts => {
334
+ this.vxeOption0 = opts;
335
+ });
336
+ },
337
+ initTable1() {
338
+ const tableOption = {
339
+ vue: this,
340
+ tableRef: 'table-m1',
341
+ tableName: 'form-formInsList-edit-m1',
342
+ columns: [
343
+ {type: 'checkbox', fixed: 'left', width: 48, resizable: false},
344
+ {
345
+ title: '字段描述',
346
+ field: 'fieldDesc',
347
+ width: 150,
348
+ slots: {
349
+ default: ({row, rowIndex, $table}) => {
350
+ return [
351
+ <el-form-item prop={'formInsListField1DTOs.' + rowIndex + '.fieldDesc'}
352
+ rules={[{required: true, trigger: ['blur', 'change']}]}>
353
+ <el-input v-model={row.fieldDesc} clearable/>
354
+ </el-form-item>
355
+ ];
356
+ }
357
+ }
358
+ },
359
+ {
360
+ title: '字段名',
361
+ field: 'fieldName',
362
+ width: 150,
363
+ slots: {
364
+ default: ({row, rowIndex, $table}) => {
365
+ return [
366
+ <el-form-item prop={'formInsListField1DTOs.' + rowIndex + '.fieldName'}
367
+ rules={[{required: true, trigger: ['blur', 'change']}]}>
368
+ <el-input v-model={row.fieldName} clearable/>
369
+ </el-form-item>
370
+ ];
371
+ }
372
+ }
373
+ },
374
+ {
375
+ title: '排序',
376
+ field: 'orders',
377
+ width: 150,
378
+ slots: {
379
+ default: ({row, rowIndex, $table}) => {
380
+ return [
381
+ <el-form-item prop={'formInsListField0DTOs.' + rowIndex + '.orders'}
382
+ rules={[{required: false, trigger: ['blur', 'change']}]}>
383
+ <base-input-number v-model={row.orders} scale={0}/>
384
+ </el-form-item>
385
+ ];
386
+ }
387
+ }
388
+ },
389
+ {
390
+ width: 47,
391
+ fixed: 'right',
392
+ title: '',
393
+ sortable: false,
394
+ slots: {
395
+ default: ({row, rowIndex, $table}) => {
396
+ return [
397
+ <a
398
+ href="javascript:void(0);"
399
+ class="a-link"
400
+ onclick={() => {
401
+ this.formInsList.formInsListField1DTOs.splice(rowIndex, 1);
402
+ }}
403
+ >
404
+ <el-tooltip enterable={false} effect="dark" content="删除" placement="top"
405
+ popper-class="tooltip-skin">
406
+ <i class="el-icon-delete"/>
407
+ </el-tooltip>
408
+ </a>
409
+ ];
410
+ }
411
+ }
412
+ }
413
+ ]
414
+ };
415
+ this.$vxeTableUtil.initVxeTable(tableOption).then(opts => {
416
+ this.vxeOption1 = opts;
417
+ });
418
+ },
419
+ }
420
+ };
421
+ </script>