cloud-web-corejs 1.0.283 → 1.0.284

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 (19) hide show
  1. package/package.json +1 -1
  2. package/src/components/excelExport/conditionExportConfig.js +112 -0
  3. package/src/components/excelExport/exportType.js +8 -0
  4. package/src/components/excelExport/index.vue +7 -1
  5. package/src/components/excelExport/mixins.js +410 -259
  6. package/src/components/xform/form-designer/form-widget/dialog/importDialog.vue +190 -185
  7. package/src/components/xform/form-designer/form-widget/dialog/importDialogMixin.js +2641 -1833
  8. package/src/components/xform/form-designer/form-widget/field-widget/import-button-widget.vue +18 -5
  9. package/src/components/xform/form-designer/form-widget/field-widget/select-export-item-button-widget.vue +2 -1
  10. package/src/components/xform/form-designer/form-widget/field-widget/table-export-button-widget.vue +2 -1
  11. package/src/components/xform/form-designer/setting-panel/property-editor/field-import-button/import-button-editor.vue +62 -1
  12. package/src/components/xform/form-designer/setting-panel/property-editor/field-import-button/import2-button-editor.vue +236 -96
  13. package/src/components/xform/form-designer/setting-panel/property-editor/field-table-export-button/empty-number-input.vue +51 -0
  14. package/src/components/xform/form-designer/setting-panel/property-editor/field-table-export-button/select-export-item-button-editor.vue +27 -2
  15. package/src/components/xform/form-designer/setting-panel/property-editor/field-table-export-button/table-export-button-editor.vue +33 -3
  16. package/src/components/xform/form-designer/widget-panel/widgetsConfig.js +31 -0
  17. package/src/components/xform/form-render/container-item/data-table-mixin.js +3 -1
  18. package/src/components/xform/docs/2026-09 /346/235/241/344/273/266/345/257/274/345/207/272/345/244/247/346/225/260/346/215/256/351/207/217/345/264/251/346/272/203/346/216/222/346/237/245.md" +0 -389
  19. package/src/components/xform/docs/2026-09 /347/274/226/350/276/221/350/241/250/350/241/214/345/206/205/344/277/235/345/255/230/346/240/241/351/252/214/350/214/203/345/233/264/344/270/216/345/210/227/345/277/205/345/241/253/350/247/243/346/236/220/344/277/256/345/244/215.md" +0 -233
@@ -1,185 +1,190 @@
1
- <template>
2
- <div v-if="showContent">
3
- <el-dialog
4
- :title="$t2('导入', 'components.excelImport.title')"
5
- :append-to-body="true"
6
- :modal-append-to-body="falseValue"
7
- :close-on-click-modal="falseValue"
8
- :visible.sync="showImportDialog"
9
- :modal="falseValue"
10
- custom-class="dialog-style"
11
- width="501px"
12
- v-el-drag-dialog
13
- @close="dialogClose1"
14
- >
15
- <div class="import-box">
16
- <div class="tips">{{ $t2('请下载文件模板,填写信息后再上传文件', 'components.excelImport.tip') }}</div>
17
- <el-button type="success" plain class="button-sty template-btn" @click="commonLocalDownload()">
18
- {{ $t2('模板下载', 'components.excelImport.downloadBUtton') }}
19
- </el-button>
20
- <el-upload v-if="!fileRaw" ref="uploadBtn" action="" class="upload-file" :auto-upload="false"
21
- :on-change="fileChange">
22
- <div class="el-upload-dragger">
23
- <i class="el-icon-upload"></i>
24
- <div class="el-upload__text"><em>{{ $t2('点击上传', 'components.excelImport.uploadBUtton') }}</em></div>
25
- </div>
26
- </el-upload>
27
- <div class="upload-finish" v-if="fileRaw">
28
- <img :src="require('@/resources' + '/images/ico-excel.svg')" class="ico"/>
29
- <p class="name">{{ fileRaw.name }}</p>
30
- <!-- <p>2022-1-17</p> -->
31
- <el-tooltip :enterable="false" class="item" effect="dark"
32
- :content="$t2('关闭', 'components.excelImport.closeBUtton')" placement="bottom">
33
- <i
34
- class="el-icon-error js-close"
35
- @click="
36
- fileRaw = false;
37
- $refs.uploadBtn.clearFiles();
38
- "
39
- ></i>
40
- </el-tooltip>
41
- </div>
42
- </div>
43
- <span slot="footer" class="dialog-footer">
44
- <span class="fl tips">{{ $t1('注:导入文件不允许超过{fileSize}MB', {fileSize: importFileLimitSize}) }}</span>
45
- <el-button type="primary" plain class="button-sty" @click="dialogClose1">
46
- <i class="el-icon-close el-icon"></i>
47
- {{ $t2('取 消', 'system.button.cancel2') }}
48
- </el-button>
49
- <el-button type="primary" @click="dialogPrimary1" class="button-sty">
50
- <i class="el-icon-check el-icon"></i>
51
- {{ $t2('确 定', 'system.button.confirm2') }}
52
- </el-button>
53
- </span>
54
- </el-dialog>
55
- <el-dialog
56
- ref="importDialog"
57
- :title="$t2('导入', 'components.excelImport.title')"
58
- :append-to-body="true"
59
- :modal-append-to-body="falseValue"
60
- :close-on-click-modal="falseValue"
61
- :visible.sync="showImportDialog2"
62
- :modal="falseValue"
63
- custom-class="dialog-style"
64
- width="501px"
65
- height="250px"
66
- :beforeClose="handleBeforeClose"
67
- @close="handleClose2"
68
- v-el-drag-dialog
69
- >
70
- <div>
71
- <div v-show="importLoading" class="import-stepbox">
72
- <ul>
73
- <li :class="getLoadingClass(1,percent1)">
74
- <i class="el-icon-circle-check"></i>
75
- <i class="el-icon-loading"></i>
76
- <span v-html="$t1('上传导入文件 {percent}', {percent: `<span class=nums>${percent1}%</span>`})"></span>
77
- </li>
78
- <li :class="getLoadingClass(2,percent2)">
79
- <i class="el-icon-circle-check"></i>
80
- <i class="el-icon-loading"></i>
81
- <span
82
- v-html="$t1('校验导入文件中的图片数据格式 {percent}', {percent: `<span class=nums>${percent2}%</span>`})"></span>
83
- </li>
84
- <li :class="getLoadingClass(3,percent3)">
85
- <i class="el-icon-circle-check"></i>
86
- <i class="el-icon-loading"></i>
87
- <span
88
- v-html="$t1('存储导入文件中的图片 {percent}', {percent: `<span class=nums>${percent3}%</span>`})"></span>
89
- </li>
90
- </ul>
91
- </div>
92
- <div v-show="!importLoading" class="import-box" style="margin-bottom: 30px;">
93
- <div class="tips">
94
- {{ $t2('导入中,请勿关闭当前窗口', 'components.excelImport.tip2') }}
95
- <!-- <span class="fr">耗时:<em class="time-txt">0 时 0 分 0 秒 </em></span> -->
96
- </div>
97
- <el-progress :text-inside="true" :stroke-width="26" :percentage="percentageNum"
98
- class="export-progress"></el-progress>
99
- <div class="i-status">
100
- <div class="item">
101
- <i class="el-icon-success f-green"></i>
102
- {{ $t2('成功', 'components.excelImport.success') }}:
103
- <span class="successNum" @click="showSuccessResult">{{ totalSuccessNum }}</span>
104
- </div>
105
- <div class="item">
106
- <i class="el-icon-error f-red"></i>
107
- {{ $t2('失败', 'components.excelImport.fail') }}:
108
- <span class="failNum" @click="showErrorResult">{{ totalErrorNum }}</span>
109
- </div>
110
- </div>
111
- </div>
112
- </div>
113
- <div slot="footer" class="dialog-footer" center="true">
114
- <div class="fl import-count" v-show="!importLoading">
115
- <span class="f-red doneNum">0</span>
116
- /
117
- <span class="dataSize">0</span>
118
- </div>
119
- <el-button type="primary" plain class="button-sty" @click="dialogClose2" v-if="!param.importOption.hideCancelButton">
120
- <i class="el-icon-close el-icon"></i>
121
- {{ $t2('取 消', 'system.button.cancel2') }}
122
- </el-button>
123
- <el-button type="primary" class="button-sty" @click="dialogPrimary2">
124
- <i class="el-icon-check el-icon"></i>
125
- {{ $t2(' ', 'system.button.confirm2') }}
126
- </el-button>
127
- </div>
128
- </el-dialog>
129
- <el-dialog
130
- :title="$t2('结果', 'components.excelImport.resultTitle')"
131
- :append-to-body="true"
132
- :modal-append-to-body="true"
133
- :close-on-click-modal="falseValue"
134
- :visible.sync="showImportResult"
135
- :modal="falseValue"
136
- custom-class="dialog-style list-dialog"
137
- width="1200px"
138
- v-el-drag-dialog
139
- >
140
- <div>
141
- <div class="box-style">
142
- <div class="cont">
143
- <div class="table-div">
144
- <vxe-grid
145
- id="resGrid"
146
- ref="resGrid"
147
- height="440px"
148
- v-bind="resOption"
149
- @resizable-change="$vxeTableUtil.onColumnWitchChange"
150
- @custom="$vxeTableUtil.customHandle"
151
- >
152
- <template #form>
153
- <div class="clearfix screen-btns">
154
- <div class="fl">
155
- <vxe-button status="primary" class="button-sty" icon="el-icon-upload2" @click="exportToExcel()">
156
- {{ $t1('导出') }}
157
- </vxe-button>
158
- </div>
159
- <div class="fr"></div>
160
- </div>
161
- </template>
162
- <template #attachment="{row,column}">
163
- <base-attachment :option="{
164
- title: column.title,
165
- rows: row[column.field],
166
- showViewButton: true,
167
- edit:false
168
- }"/>
169
- </template>
170
- </vxe-grid>
171
- </div>
172
- </div>
173
- </div>
174
- </div>
175
- </el-dialog>
176
- </div>
177
- </template>
178
-
179
- <script>
180
- import {mixins} from './importDialogMixin';
181
-
182
- export default {
183
- mixins: [mixins]
184
- };
185
- </script>
1
+ <template>
2
+ <div v-if="showContent">
3
+ <el-dialog
4
+ :title="$t2('导入', 'components.excelImport.title')"
5
+ :append-to-body="true"
6
+ :modal-append-to-body="falseValue"
7
+ :close-on-click-modal="falseValue"
8
+ :visible.sync="showImportDialog"
9
+ :modal="falseValue"
10
+ custom-class="dialog-style"
11
+ width="501px"
12
+ v-el-drag-dialog
13
+ @close="dialogClose1"
14
+ >
15
+ <div class="import-box">
16
+ <div class="tips">{{ $t2('请下载文件模板,填写信息后再上传文件', 'components.excelImport.tip') }}</div>
17
+ <el-button type="success" plain class="button-sty template-btn" @click="commonLocalDownload()">
18
+ {{ $t2('模板下载', 'components.excelImport.downloadBUtton') }}
19
+ </el-button>
20
+ <el-upload v-if="!fileRaw" ref="uploadBtn" action="" class="upload-file" :auto-upload="false"
21
+ :on-change="fileChange">
22
+ <div class="el-upload-dragger">
23
+ <i class="el-icon-upload"></i>
24
+ <div class="el-upload__text"><em>{{ $t2('点击上传', 'components.excelImport.uploadBUtton') }}</em></div>
25
+ </div>
26
+ </el-upload>
27
+ <div class="upload-finish" v-if="fileRaw">
28
+ <img :src="$assetUrl(require('@/resources' + '/images/ico-excel.svg'))" class="ico"/>
29
+ <p class="name">{{ fileRaw.name }}</p>
30
+ <!-- <p>2022-1-17</p> -->
31
+ <el-tooltip :enterable="false" class="item" effect="dark"
32
+ :content="$t2('关闭', 'components.excelImport.closeBUtton')" placement="bottom">
33
+ <i
34
+ class="el-icon-error js-close"
35
+ @click="
36
+ fileRaw = false;
37
+ $refs.uploadBtn.clearFiles();
38
+ "
39
+ ></i>
40
+ </el-tooltip>
41
+ </div>
42
+ </div>
43
+ <span slot="footer" class="dialog-footer">
44
+ <span class="fl tips">{{ $t1('注:导入文件不允许超过{fileSize}MB', {fileSize: importFileLimitSize}) }}</span>
45
+ <el-button type="primary" plain class="button-sty" @click="dialogClose1">
46
+ <i class="el-icon-close el-icon"></i>
47
+ {{ $t2('取 消', 'system.button.cancel2') }}
48
+ </el-button>
49
+ <el-button type="primary" @click="dialogPrimary1" class="button-sty">
50
+ <i class="el-icon-check el-icon"></i>
51
+ {{ $t2('确 定', 'system.button.confirm2') }}
52
+ </el-button>
53
+ </span>
54
+ </el-dialog>
55
+ <el-dialog
56
+ ref="importDialog"
57
+ :title="$t2('导入', 'components.excelImport.title')"
58
+ :append-to-body="true"
59
+ :modal-append-to-body="falseValue"
60
+ :close-on-click-modal="falseValue"
61
+ :visible.sync="showImportDialog2"
62
+ :modal="falseValue"
63
+ custom-class="dialog-style"
64
+ width="501px"
65
+ height="250px"
66
+ :beforeClose="handleBeforeClose"
67
+ @close="handleClose2"
68
+ v-el-drag-dialog
69
+ >
70
+ <div>
71
+ <div v-show="importLoading" class="import-stepbox">
72
+ <ul>
73
+ <li :class="getLoadingClass(1,percent1)">
74
+ <i class="el-icon-circle-check"></i>
75
+ <i class="el-icon-loading"></i>
76
+ <span v-html="$t1('上传导入文件 {percent}', {percent: `<span class=nums>${percent1}%</span>`})"></span>
77
+ </li>
78
+ <li :class="getLoadingClass(2,percent2)">
79
+ <i class="el-icon-circle-check"></i>
80
+ <i class="el-icon-loading"></i>
81
+ <span
82
+ v-html="$t1('校验导入文件中的图片数据格式 {percent}', {percent: `<span class=nums>${percent2}%</span>`})"></span>
83
+ </li>
84
+ <li :class="getLoadingClass(3,percent3)">
85
+ <i class="el-icon-circle-check"></i>
86
+ <i class="el-icon-loading"></i>
87
+ <span
88
+ v-html="$t1('存储导入文件中的图片 {percent}', {percent: `<span class=nums>${percent3}%</span>`})"></span>
89
+ </li>
90
+ </ul>
91
+ </div>
92
+ <div v-show="!importLoading" class="import-box" style="margin-bottom: 30px;">
93
+ <div class="tips">
94
+ {{ backendValidating
95
+ ? $t1('后台校验中,请勿关闭当前窗口')
96
+ : $t2('导入中,请勿关闭当前窗口', 'components.excelImport.tip2') }}
97
+ <!-- <span class="fr">耗时:<em class="time-txt">0 时 0 分 0 秒 </em></span> -->
98
+ </div>
99
+ <el-progress :text-inside="true" :stroke-width="26" :percentage="percentageNum"
100
+ class="export-progress"></el-progress>
101
+ <div class="i-status">
102
+ <div class="item">
103
+ <i class="el-icon-success f-green"></i>
104
+ {{ $t2('成功', 'components.excelImport.success') }}:
105
+ <span class="successNum" @click="showSuccessResult">{{ totalSuccessNum }}</span>
106
+ </div>
107
+ <div class="item">
108
+ <i class="el-icon-error f-red"></i>
109
+ {{ $t2('失败', 'components.excelImport.fail') }}:
110
+ <span class="failNum" @click="showErrorResult">{{ totalErrorNum }}</span>
111
+ </div>
112
+ </div>
113
+ </div>
114
+ </div>
115
+ <div slot="footer" class="dialog-footer" center="true">
116
+ <div class="fl import-count" v-show="!importLoading">
117
+ <span class="f-red doneNum">{{ doneNum }}</span>
118
+ /
119
+ <span class="dataSize">{{ dataSize }}</span>
120
+ </div>
121
+ <el-button type="primary" plain class="button-sty" @click="dialogClose2"
122
+ :disabled="backendValidating"
123
+ v-if="!param.importOption.hideCancelButton">
124
+ <i class="el-icon-close el-icon"></i>
125
+ {{ $t2(' ', 'system.button.cancel2') }}
126
+ </el-button>
127
+ <el-button type="primary" class="button-sty" @click="dialogPrimary2"
128
+ :disabled="backendValidating">
129
+ <i class="el-icon-check el-icon"></i>
130
+ {{ $t2('确 定', 'system.button.confirm2') }}
131
+ </el-button>
132
+ </div>
133
+ </el-dialog>
134
+ <el-dialog
135
+ :title="$t2('结果', 'components.excelImport.resultTitle')"
136
+ :append-to-body="true"
137
+ :modal-append-to-body="true"
138
+ :close-on-click-modal="falseValue"
139
+ :visible.sync="showImportResult"
140
+ :modal="falseValue"
141
+ custom-class="dialog-style list-dialog"
142
+ width="1200px"
143
+ v-el-drag-dialog
144
+ >
145
+ <div>
146
+ <div class="box-style">
147
+ <div class="cont">
148
+ <div class="table-div">
149
+ <vxe-grid
150
+ id="resGrid"
151
+ ref="resGrid"
152
+ height="440px"
153
+ v-bind="resOption"
154
+ @resizable-change="$vxeTableUtil.onColumnWitchChange"
155
+ @custom="$vxeTableUtil.customHandle"
156
+ >
157
+ <template #form>
158
+ <div class="clearfix screen-btns">
159
+ <div class="fl">
160
+ <vxe-button status="primary" class="button-sty" icon="el-icon-upload2" @click="exportToExcel()">
161
+ {{ $t1('导出') }}
162
+ </vxe-button>
163
+ </div>
164
+ <div class="fr"></div>
165
+ </div>
166
+ </template>
167
+ <template #attachment="{row,column}">
168
+ <base-attachment :option="{
169
+ title: column.title,
170
+ rows: row[column.field],
171
+ showViewButton: true,
172
+ edit:false
173
+ }"/>
174
+ </template>
175
+ </vxe-grid>
176
+ </div>
177
+ </div>
178
+ </div>
179
+ </div>
180
+ </el-dialog>
181
+ </div>
182
+ </template>
183
+
184
+ <script>
185
+ import {mixins} from './importDialogMixin';
186
+
187
+ export default {
188
+ mixins: [mixins]
189
+ };
190
+ </script>