cloud-web-corejs 1.0.69 → 1.0.71

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (64) hide show
  1. package/package.json +2 -2
  2. package/src/components/VabUpload/mixins.js +1 -1
  3. package/src/components/excelExport/mixins.js +1 -2
  4. package/src/components/fileLibrary/index.vue +3 -3
  5. package/src/components/fileLibrary/mixins/fileObjAuthDialogMixin.js +0 -2
  6. package/src/components/fileLibrary/mixins/propertiesDialogMixins.js +2 -1
  7. package/src/components/jsonImport/index.js +17 -17
  8. package/src/components/jsonImport/mixins.js +1 -1
  9. package/src/components/table/index.js +1 -1
  10. package/src/components/xform/form-designer/form-widget/dialog/importDialog.vue +35 -5
  11. package/src/components/xform/form-designer/form-widget/dialog/importDialogMixin.js +3 -1
  12. package/src/components/xform/form-designer/form-widget/field-widget/baseAttachment-widget.vue +4 -1
  13. package/src/components/xform/form-designer/form-widget/field-widget/table-export-button-widget.vue +2 -1
  14. package/src/components/xform/form-designer/form-widget/field-widget/vabUpload-widget.vue +8 -6
  15. package/src/components/xform/form-designer/setting-panel/form-setting.vue +1 -1
  16. package/src/components/xform/form-designer/setting-panel/property-editor/container-data-table/data-table-editor.vue +6 -0
  17. package/src/components/xform/form-designer/setting-panel/property-editor/container-data-table/table-column-dialog.vue +13 -0
  18. package/src/components/xform/form-designer/setting-panel/property-editor/event-handler/onAfterConfirmFile-editor.vue +5 -3
  19. package/src/components/xform/form-designer/setting-panel/property-editor/field-import-button/import-button-editor.vue +3 -0
  20. package/src/components/xform/form-designer/setting-panel/property-editor/field-table-export-button/table-export-button-editor.vue +26 -7
  21. package/src/components/xform/form-designer/setting-panel/property-editor/wfFlag-editor.vue +103 -18
  22. package/src/components/xform/form-render/container-item/data-table-item.vue +5 -4
  23. package/src/components/xform/form-render/container-item/data-table-mixin.js +1 -1
  24. package/src/components/xform/form-render/indexMixin.js +1 -1
  25. package/src/layout/components/Sidebar/default.vue +17 -6
  26. package/src/mixins/selectDialog/index.js +1 -1
  27. package/src/store/config/index.js +1 -1
  28. package/src/store/modules/permission.js +1 -1
  29. package/src/utils/request.js +1 -1
  30. package/src/views/bd/setting/form_template/batchWfObjConfigDialog.vue +2 -2
  31. package/src/views/bd/setting/form_template/edit.vue +6 -2
  32. package/src/views/bd/setting/form_template/editWfObjConfigDialog.vue +2 -2
  33. package/src/views/bd/setting/form_template/list.vue +4 -2
  34. package/src/views/bd/setting/form_template/mixins/batchWfObjConfigDialog.js +1 -1
  35. package/src/views/bd/setting/form_template/mixins/edit.js +1 -1
  36. package/src/views/bd/setting/form_template/mixins/list.js +1 -1
  37. package/src/views/bd/setting/form_template/mixins/wf_list.js +1 -1
  38. package/src/views/bd/setting/form_template/wfObjConfigDialog.vue +4 -4
  39. package/src/views/bd/setting/form_template/wf_list.vue +1 -1
  40. package/src/views/bd/setting/table_model/edit.vue +1 -1
  41. package/src/views/bd/setting/table_model/list.vue +4 -2
  42. package/src/views/bd/setting/table_model/mixins/list.js +14 -14
  43. package/src/views/user/bill_setting/edit.vue +1 -1
  44. package/src/views/user/bill_setting/list.vue +1 -1
  45. package/src/views/user/common_attribute/itemEdit.vue +2 -2
  46. package/src/views/user/common_attribute/list.vue +1 -1
  47. package/src/views/user/common_script/edit.vue +1 -1
  48. package/src/views/user/common_script/list.vue +1 -1
  49. package/src/views/user/company_info/dialog.vue +19 -9
  50. package/src/views/user/company_info/edit.vue +1 -1
  51. package/src/views/user/extend_datasource/dialog.vue +1 -0
  52. package/src/views/user/extend_datasource/edit.vue +3 -0
  53. package/src/views/user/extend_datasource/list.vue +2 -1
  54. package/src/views/user/groups/edit.vue +2 -0
  55. package/src/views/user/groups/list.vue +1 -0
  56. package/src/views/user/home/dev.vue +29 -0
  57. package/src/views/user/home/index.vue +16 -6
  58. package/src/views/user/outLink/index.vue +17 -0
  59. package/src/views/user/push_setting/list.vue +2 -2
  60. package/src/views/user/user/edit.vue +2 -2
  61. package/src/views/user/user/form_edit.vue +117 -49
  62. package/src/views/user/user/form_info.vue +210 -0
  63. package/src/views/user/user/form_list.vue +1 -0
  64. package/src/views/user/user/list.vue +563 -563
@@ -81,7 +81,10 @@ export default {
81
81
  },
82
82
  confirm: (rows, fileInfos) => {
83
83
  this.fieldModel = rows;
84
- this.field.options.onAfterConfirmFile && this.field.options.onAfterConfirmFile(rows, fileInfos);
84
+ // this.field.options.onAfterConfirmFile && this.field.options.onAfterConfirmFile(rows, fileInfos);
85
+ let eventParamNames = ['attachments', 'fileInfos'];
86
+ let eventParamValues = [rows, fileInfos];
87
+ this.handleCustomEvent(this.field.options.onAfterConfirmFile, eventParamNames, eventParamValues)
85
88
  }
86
89
  };
87
90
  }
@@ -79,7 +79,8 @@ export default {
79
79
  let opt = {
80
80
  title: this.field.options.exportFileName || null,
81
81
  targetRef: this.field.options.tableRef || null,
82
- pageSize: (this.field.options.exportPageSize || null)
82
+ pageSize: (this.field.options.exportPageSize || null),
83
+ showImageAtTable: this.field.options.showImageAtTable || null
83
84
  };
84
85
  let tableExportParam = this.handleCustomEvent(this.field.options.tableExportParam);
85
86
  let options = {...opt, ...tableExportParam, type: type};
@@ -146,10 +146,12 @@ export default {
146
146
  }
147
147
  },
148
148
  submitFile(rows, fileInfos) {
149
- this.handlLineCode(fileInfos);
150
- this.field.options.onAfterConfirmFile && this.field.options.onAfterConfirmFile(rows, fileInfos);
149
+ // this.handlLineCode(fileInfos);
150
+ let eventParamNames = ['attachments', 'fileInfos'];
151
+ let eventParamValues = [rows, fileInfos];
152
+ this.handleCustomEvent(this.field.options.onAfterConfirmFile, eventParamNames, eventParamValues)
151
153
  },
152
- handlLineCode(fileInfos) {
154
+ /*handlLineCode(fileInfos) {
153
155
  let allPromise = [];
154
156
  fileInfos.forEach(async fileInfo => {
155
157
  await this.processFile(fileInfo.file, (lineCode) => {
@@ -176,7 +178,7 @@ export default {
176
178
  async processImage(base64, callback) {
177
179
  try {
178
180
  // 使用 ZXing 3.x 的 API
179
- const result = await decode(base64,(result, err) => {
181
+ const result = await decode(base64, (result, err) => {
180
182
  if (err) {
181
183
  this.handleError(`条码识别失败: ${err}`);
182
184
  callback && callback(null)
@@ -205,7 +207,7 @@ export default {
205
207
  // const imageData = Uint8Array.from(atob(base64), c => c.charCodeAt(0));
206
208
  // const source = new ZXing.ImageLuminanceSource(imageData, base64.length);
207
209
 
208
- decode(base64, (result, err) => {
210
+ decode(base64, (result, err) => {
209
211
  if (err) {
210
212
  this.handleError(`条码识别失败: ${err}`);
211
213
  callback && callback(null)
@@ -220,7 +222,7 @@ export default {
220
222
  handleError(errorMessage) {
221
223
  this.error = errorMessage;
222
224
  this.loading = false;
223
- },
225
+ },*/
224
226
  }
225
227
  }
226
228
  </script>
@@ -13,7 +13,7 @@
13
13
  <el-form-item :label="i18nt('启用流程')">
14
14
  <el-switch v-model="formConfig.wfEnabled" @change="designer.vueInstance.reportTemplate.objTypeName=null"></el-switch>
15
15
  </el-form-item>
16
- <el-form-item :label="i18nt('默认流程对象名')">
16
+ <el-form-item :label="i18nt('默认流程单据类型名称')">
17
17
  <el-input type="text" v-model="designer.vueInstance.reportTemplate.objTypeName"></el-input>
18
18
  </el-form-item>
19
19
  <!-- <el-form-item label="流程单据定义">
@@ -13,6 +13,12 @@
13
13
  </el-form-item>-->
14
14
  <!-- <el-form-item :label="i18nt('designer.setting.showIndex')"><el-switch v-model="optionModel.showIndex"></el-switch></el-form-item>
15
15
  <el-form-item :label="i18nt('designer.setting.showCheckBox')"><el-switch v-model="optionModel.showCheckBox"></el-switch></el-form-item> -->
16
+ <el-form-item label="启用数据行合并">
17
+ <el-switch v-model="optionModel.mergeRowEnabled"></el-switch>
18
+ </el-form-item>
19
+ <el-form-item :label="i18nt('合并行唯一字段')">
20
+ <el-input v-model="optionModel.mergeRowKey"></el-input>
21
+ </el-form-item>
16
22
  <el-form-item label="查询列表">
17
23
  <el-switch v-model="optionModel.isQueryTable"></el-switch>
18
24
  </el-form-item>
@@ -63,6 +63,11 @@
63
63
  <el-switch v-model="scope.row.sortable"></el-switch>
64
64
  </template>
65
65
  </el-table-column>
66
+ <el-table-column :label="i18nt('明细行')" width="70" prop="sortable">
67
+ <template slot-scope="scope">
68
+ <el-switch v-model="scope.row.isItemLine"></el-switch>
69
+ </template>
70
+ </el-table-column>
66
71
  <el-table-column :label="i18nt('designer.setting.fixedColumn')" width="100" prop="fixed">
67
72
  <template slot-scope="scope">
68
73
  <el-select v-model="scope.row.fixed" clearable>
@@ -118,6 +123,14 @@
118
123
  :disabled="!scope.row.editFormatS"></el-button>
119
124
  </template>
120
125
  </el-table-column>
126
+ <el-table-column :label="i18nt('导出类型')" width="200" prop="formatS">
127
+ <template slot-scope="scope">
128
+ <el-select v-model="scope.row.exportType" clearable>
129
+ <el-option value="Image2" label="图片"></el-option>
130
+ <el-option value="Number" label="数值"></el-option>
131
+ </el-select>
132
+ </template>
133
+ </el-table-column>
121
134
  <el-table-column label="格式化配置" width="90" fixed="right" align="center">
122
135
  <template slot-scope="scope">
123
136
  <el-button size="mini" plain="" round="" icon="el-icon-edit"
@@ -1,6 +1,7 @@
1
1
  <template>
2
2
  <el-form-item label="onAfterConfirmFile" label-width="150px">
3
- <a href="javascript:void(0);" class="a-link link-oneLind" @click="editEventHandler('onAfterConfirmFile', eventParams)">
3
+ <a href="javascript:void(0);" class="a-link link-oneLind"
4
+ @click="editEventHandler('onAfterConfirmFile', eventParams)">
4
5
  <span>{{ optionModel.onAfterConfirmFile }}</span>
5
6
  <i class="el-icon-edit"></i>
6
7
  </a>
@@ -9,7 +10,8 @@
9
10
 
10
11
  <script>
11
12
  import i18n from "../../../../../../components/xform/utils/i18n";
12
- import eventMixin from "../../../../../../components/xform/form-designer/setting-panel/property-editor/event-handler/eventMixin";
13
+ import eventMixin
14
+ from "../../../../../../components/xform/form-designer/setting-panel/property-editor/event-handler/eventMixin";
13
15
 
14
16
  export default {
15
17
  name: "onAfterConfirmFile-editor",
@@ -21,7 +23,7 @@ export default {
21
23
  },
22
24
  data() {
23
25
  return {
24
- eventParams: ["attachments", "fileInfos"],
26
+ eventParams: ["dataId", "formCode", "attachments", "fileInfos"],
25
27
  };
26
28
  },
27
29
  };
@@ -6,6 +6,9 @@
6
6
  <el-form-item label="导入数据表名">
7
7
  <el-input v-model="optionModel.importEntity"></el-input>
8
8
  </el-form-item>
9
+ <el-form-item label="文件大小限制(M)">
10
+ <base-input-number v-model="optionModel.importFileLimitSize" :max="200"></base-input-number>
11
+ </el-form-item>
9
12
  <el-form-item label="选择导入模板文件">
10
13
  <el-input
11
14
  class="search-input"
@@ -9,18 +9,27 @@
9
9
  <el-form-item label="表格唯一名称">
10
10
  <el-input v-model="optionModel.tableRef"></el-input>
11
11
  </el-form-item>
12
- <el-form-item label="导出参数" label-width="150px">
13
- <a href="javascript:void(0);" class="a-link link-oneLind" @click="editEventHandler('tableExportParam', eventParams)">
14
- <span>{{ optionModel.tableExportParam }}</span>
15
- <i class="el-icon-edit"></i>
16
- </a>
17
- </el-form-item>
12
+ <el-form-item label="导出列表显示图片">
13
+ <el-switch v-model="optionModel.showImageAtTable" @change="changeShowImageAtTable"></el-switch>
14
+ </el-form-item>
15
+ <el-form-item label="导出每页查询数量">
16
+ <base-input-number v-model="optionModel.exportPageSize"
17
+ :max="optionModel.showImageAtTable?150:1000"></base-input-number>
18
+ </el-form-item>
19
+ <el-form-item label="导出参数" label-width="150px">
20
+ <a href="javascript:void(0);" class="a-link link-oneLind"
21
+ @click="editEventHandler('tableExportParam', eventParams)">
22
+ <span>{{ optionModel.tableExportParam }}</span>
23
+ <i class="el-icon-edit"></i>
24
+ </a>
25
+ </el-form-item>
18
26
  </div>
19
27
  </template>
20
28
 
21
29
  <script>
22
30
  import i18n from "../../../../../../components/xform/utils/i18n";
23
- import eventMixin from "../../../../../../components/xform/form-designer/setting-panel/property-editor/event-handler/eventMixin";
31
+ import eventMixin
32
+ from "../../../../../../components/xform/form-designer/setting-panel/property-editor/event-handler/eventMixin";
24
33
 
25
34
  export default {
26
35
  name: "table-export-button-editor",
@@ -35,6 +44,16 @@ export default {
35
44
  eventParams: [],
36
45
  };
37
46
  },
47
+ methods: {
48
+ changeShowImageAtTable(val) {
49
+ if (val) {
50
+ let exportPageSize = this.optionModel.exportPageSize || 0;
51
+ if (exportPageSize > 150) {
52
+ this.optionModel.exportPageSize = 150
53
+ }
54
+ }
55
+ }
56
+ }
38
57
  };
39
58
  </script>
40
59
 
@@ -41,24 +41,66 @@
41
41
  stripe=""
42
42
  >
43
43
  <el-table-column type="index" width="35" fixed="left"></el-table-column>
44
- <el-table-column :label="i18nt('流程模板')" width="250" prop="label">
45
- <template slot-scope="scope">
46
- <el-select v-model="scope.row.modelId" @change="changeModelId">
47
- <el-option v-for="(wfDefItem,index) in wfDefItems" :key="index" :value="wfDefItem.modelId"
48
- :label="wfDefItem.modelName"></el-option>
44
+ <el-table-column :label="i18nt('服务')" width="150">
45
+ <template slot-scope="{row}">
46
+ <el-select v-model="row.serveType" @change="changeServeType(row)">
47
+ <el-option :value="1" label="正式"></el-option>
48
+ <el-option :value="2" label="UAT"></el-option>
49
+ <el-option :value="3" label="测试"></el-option>
50
+ <el-option :value="4" label="自定义"></el-option>
49
51
  </el-select>
50
-
51
52
  </template>
52
53
  </el-table-column>
53
- <el-table-column :label="i18nt('流程节点')" width="550" prop="prop">
54
- <template slot-scope="scope">
55
- <el-checkbox-group v-model="scope.row.nodeIds" v-if="!!wfNodeMap[scope.row.modelId]">
56
- <el-checkbox v-for="(node,index) in wfNodeMap[scope.row.modelId]" :key="index"
57
- :label="node.nodeId">{{ node.nodeName }}
58
- </el-checkbox>
59
- </el-checkbox-group>
54
+ <el-table-column :label="i18nt('自定义服务')" width="150">
55
+ <template slot-scope="{row}">
56
+ <el-input v-model="row.serveName" clearable :disabled="row.serveType!==4"></el-input>
57
+ </template>
58
+ </el-table-column>
59
+ <el-table-column :label="i18nt('组织')" width="250">
60
+ <template slot-scope="{row,$index}">
61
+ <el-input
62
+ class="search-input"
63
+ :value="getCompanyNames(row)"
64
+ clearable
65
+ @clear="
66
+ row.companyInfos = [];
67
+ "
68
+ v-el-readonly
69
+ >
70
+ <i slot="suffix" class="el-input__icon el-icon-search"
71
+ @click="openCompanyDialog(row, $index)"></i>
72
+ </el-input>
73
+ </template>
74
+ </el-table-column>
75
+ <el-table-column :label="i18nt('流程模板')" width="150">
76
+ <template slot-scope="{row}">
77
+ <el-input v-model="row.modelKey" clearable></el-input>
78
+ </template>
79
+ </el-table-column>
80
+ <el-table-column :label="i18nt('节点')" width="250">
81
+ <template slot-scope="{row}">
82
+ <el-input v-model="row.taskSteps" clearable></el-input>
60
83
  </template>
61
84
  </el-table-column>
85
+
86
+ <!-- <el-table-column :label="i18nt('流程模板')" width="250" prop="label">
87
+ <template slot-scope="scope">
88
+ <el-select v-model="scope.row.modelId" @change="changeModelId">
89
+ <el-option v-for="(wfDefItem,index) in wfDefItems" :key="index" :value="wfDefItem.modelId"
90
+ :label="wfDefItem.modelName"></el-option>
91
+ </el-select>
92
+
93
+ </template>
94
+ </el-table-column>
95
+ <el-table-column :label="i18nt('流程节点')" width="550" prop="prop">
96
+ <template slot-scope="scope">
97
+ <el-checkbox-group v-model="scope.row.nodeIds" v-if="!!wfNodeMap[scope.row.modelId]">
98
+ <el-checkbox v-for="(node,index) in wfNodeMap[scope.row.modelId]" :key="index"
99
+ :label="node.nodeId">{{ node.nodeName }}
100
+ </el-checkbox>
101
+ </el-checkbox-group>
102
+ </template>
103
+ </el-table-column>-->
62
104
  <el-table-column :label="i18nt('designer.setting.actionColumn')" width="100" align="center">
63
105
  <template #header>
64
106
  <span>{{ i18nt('designer.setting.actionColumn') }}</span>
@@ -88,14 +130,19 @@
88
130
  </el-button>
89
131
  </div>
90
132
  </el-dialog>
133
+ <companyInfoDialog v-if="showCompanyInfoDialog" :visiable.sync="showCompanyInfoDialog"
134
+ @confirm="confirmCompanyDialog" :multi="true" :allCompany="true" :rows="currentCompanyInfos"
135
+ fieldKey="companyCode"/>
91
136
  </div>
92
137
  </template>
93
138
 
94
139
  <script>
95
140
  import i18n from "../../../../../components/xform/utils/i18n"
141
+ import companyInfoDialog from "@base/views/user/company_info/dialog.vue";
96
142
 
97
143
  export default {
98
144
  name: "wfFlag-editor",
145
+ components: {companyInfoDialog},
99
146
  mixins: [i18n],
100
147
  props: {
101
148
  designer: Object,
@@ -108,7 +155,12 @@ export default {
108
155
  dialogVisible: false,
109
156
  tableData: [],
110
157
  wfDefItems: [],
111
- wfNodeMap: {}
158
+ wfNodeMap: {},
159
+
160
+ currentCompanyInfos: [],
161
+ operateIndex: 0,
162
+ showCompanyInfoDialog: false
163
+
112
164
  }
113
165
  },
114
166
  computed: {
@@ -160,10 +212,14 @@ export default {
160
212
  });
161
213
  },
162
214
  addItem() {
163
- this.tableData.push({
164
- modelId: null,
165
- nodeIds: []
166
- });
215
+ let newItem = {
216
+ serveType: null,
217
+ serveName: null,
218
+ modelKey: null,
219
+ taskSteps: null,
220
+ companyInfos: []
221
+ }
222
+ this.tableData.push(newItem);
167
223
  },
168
224
  colSubmit() {
169
225
  this.dialogVisible = !1;
@@ -189,6 +245,35 @@ export default {
189
245
  if (val) {
190
246
  this.optionModel.enabledByWf = false;
191
247
  }
248
+ },
249
+ changeServeType(row) {
250
+ // modelKey
251
+ let map = {
252
+ 1: "prod",
253
+ 2: "at",
254
+ 3: "dev"
255
+ }
256
+ let serveName = null;
257
+ let serveType = row.serveType;
258
+ if (serveType && map[serveType]) {
259
+ serveName = map[row.serveType];
260
+ }
261
+ row.serveName = serveName;
262
+ },
263
+ openCompanyDialog(row, rowIndex) {
264
+ this.operateIndex = rowIndex;
265
+ this.currentCompanyInfos = row.companyInfos || [];
266
+ this.showCompanyInfoDialog = true;
267
+
268
+ },
269
+ confirmCompanyDialog(rows) {
270
+ if (rows.length) {
271
+ let item = this.tableData[this.operateIndex];
272
+ item.companyInfos = rows;
273
+ }
274
+ },
275
+ getCompanyNames(item) {
276
+ return item.companyInfos.map(item => item.companyName).join(',');
192
277
  }
193
278
  }
194
279
  }
@@ -2,7 +2,8 @@
2
2
  <vxe-grid :ref="widget.id" v-bind="vxeOption" :auto-resize="true" v-show="!widget.options.hidden"
3
3
  @resizable-change="$vxeTableUtil.onColumnWitchChange" @custom="$vxeTableUtil.customHandle"
4
4
  @checkbox-change="handleCheckboxChange" @checkbox-all="handleCheckboxAll"
5
- @cell-dblclick="handleCellDblclick" :class="dataTableConfig.class" :data="fieldModel">
5
+ @cell-dblclick="handleCellDblclick" :class="dataTableConfig.class" :data="fieldModel"
6
+ :span-method="mergeRowMethod">
6
7
  <template #form>
7
8
  <!-- <div v-if="widget.options.showSearchArea" class="clearfix screen-btns">
8
9
  <div class="fl">
@@ -191,7 +192,7 @@
191
192
  :field="fieldWidget"
192
193
  :form-model="globalModel.formModel"
193
194
  :designer="null"
194
- :key="fieldWidget.id"
195
+ :key="fieldWidget.id+'-'+obj.rowIndex"
195
196
  :parent-widget="widget"
196
197
  :columnConfig="obj.column.params.columnConfig"
197
198
  :subFormRowIndex="obj.rowIndex"
@@ -209,7 +210,7 @@
209
210
  :field="obj.column.params.widget"
210
211
  :form-model="globalModel.formModel"
211
212
  :designer="null"
212
- :key="obj.column.params.widget.id"
213
+ :key="obj.column.params.widget.id+'-'+obj.rowIndex"
213
214
  :parent-widget="widget"
214
215
  :columnConfig="obj.column.params.columnConfig"
215
216
  :subFormRowIndex="obj.rowIndex"
@@ -227,7 +228,7 @@
227
228
  :field="obj.column.params.editWidget"
228
229
  :form-model="globalModel.formModel"
229
230
  :designer="null"
230
- :key="obj.column.params.editWidget.id"
231
+ :key="obj.column.params.editWidget.id+'-'+obj.rowIndex"
231
232
  :parent-widget="widget"
232
233
  :columnConfig="obj.column.params.columnConfig"
233
234
  :subFormRowIndex="obj.rowIndex"