haiwei-ui 1.1.0 → 1.1.2
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.
package/package.json
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<component v-bind:is="`nm-${options.showMode || 'drawer'}`" header footer draggable :padding="
|
|
2
|
+
<component v-bind:is="`nm-${options.showMode || 'drawer'}`" header footer draggable :padding="10" :title="title" :icon="icon" :width="width" :height="height" :visible.sync="visible_">
|
|
3
3
|
<div class="import-container">
|
|
4
4
|
<!-- 步骤指示器 -->
|
|
5
5
|
<el-steps :active="currentStep" align-center class="import-steps" simple>
|
|
@@ -31,9 +31,7 @@
|
|
|
31
31
|
accept=".xlsx,.xls"
|
|
32
32
|
:show-file-list="false"
|
|
33
33
|
>
|
|
34
|
-
<
|
|
35
|
-
选择文件
|
|
36
|
-
</el-button>
|
|
34
|
+
<nm-button type="primary" icon="upload" text="选择文件" />
|
|
37
35
|
</el-upload>
|
|
38
36
|
</div>
|
|
39
37
|
</div>
|
|
@@ -52,7 +50,7 @@
|
|
|
52
50
|
</el-descriptions>
|
|
53
51
|
|
|
54
52
|
<div v-if="fileInfo.sheets && fileInfo.sheets.length > 0" class="sheet-select">
|
|
55
|
-
<el-form :model="model" label-width="
|
|
53
|
+
<el-form :model="model" label-width="120px" size="small">
|
|
56
54
|
<el-form-item label="选择工作表:">
|
|
57
55
|
<el-select v-model="model.selectedSheet" placeholder="请选择要导入的工作表" style="width: 100%">
|
|
58
56
|
<el-option v-for="sheet in fileInfo.sheets" :key="sheet.index" :label="sheet.name" :value="sheet.index">
|
|
@@ -121,12 +119,8 @@
|
|
|
121
119
|
</el-form-item>
|
|
122
120
|
|
|
123
121
|
<div class="form-actions">
|
|
124
|
-
<
|
|
125
|
-
|
|
126
|
-
</el-button>
|
|
127
|
-
<el-button @click="currentStep = 1" style="margin-left: 20px;">
|
|
128
|
-
返回上一步
|
|
129
|
-
</el-button>
|
|
122
|
+
<nm-button type="primary" :loading="parsing" @click="onParse" text="解析文件" />
|
|
123
|
+
<nm-button @click="currentStep = 1" text="返回上一步" />
|
|
130
124
|
</div>
|
|
131
125
|
</el-form>
|
|
132
126
|
</el-card>
|
|
@@ -144,7 +138,7 @@
|
|
|
144
138
|
<div v-if="parseResult" class="mapping-container">
|
|
145
139
|
<div class="preview-section">
|
|
146
140
|
<el-alert
|
|
147
|
-
:title="`已解析 ${parseResult.
|
|
141
|
+
:title="`已解析 ${parseResult.previewData.length} 行数据,${parseResult.columns.length} 列`"
|
|
148
142
|
type="info"
|
|
149
143
|
show-icon
|
|
150
144
|
:closable="false"
|
|
@@ -155,7 +149,7 @@
|
|
|
155
149
|
:data="parseResult.previewData"
|
|
156
150
|
border
|
|
157
151
|
stripe
|
|
158
|
-
size="
|
|
152
|
+
size="mini"
|
|
159
153
|
max-height="200"
|
|
160
154
|
v-loading="parsing"
|
|
161
155
|
class="preview-table"
|
|
@@ -172,7 +166,7 @@
|
|
|
172
166
|
</div>
|
|
173
167
|
|
|
174
168
|
<div class="mapping-section">
|
|
175
|
-
<el-table :data="columnMapping" border stripe size="
|
|
169
|
+
<el-table :data="columnMapping" border stripe size="mini" max-height="200" class="mapping-table">
|
|
176
170
|
<el-table-column prop="excelColumn" label="Excel列" width="150">
|
|
177
171
|
<template v-slot="{ row }">
|
|
178
172
|
<div class="excel-column">
|
|
@@ -188,7 +182,7 @@
|
|
|
188
182
|
style="width: 100%"
|
|
189
183
|
clearable
|
|
190
184
|
filterable
|
|
191
|
-
size="
|
|
185
|
+
size="mini"
|
|
192
186
|
>
|
|
193
187
|
<el-option label="不导入此列" :value="null"></el-option>
|
|
194
188
|
<el-option
|
|
@@ -202,22 +196,16 @@
|
|
|
202
196
|
</el-table-column>
|
|
203
197
|
<el-table-column prop="required" label="必填" width="60" align="center">
|
|
204
198
|
<template v-slot="{ row }">
|
|
205
|
-
<el-checkbox v-model="row.required" :disabled="!row.targetColumn" size="
|
|
199
|
+
<el-checkbox v-model="row.required" :disabled="!row.targetColumn" size="mini" />
|
|
206
200
|
</template>
|
|
207
201
|
</el-table-column>
|
|
208
202
|
</el-table>
|
|
209
203
|
</div>
|
|
210
204
|
|
|
211
205
|
<div class="form-actions">
|
|
212
|
-
<
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
<el-button @click="currentStep = 2" style="margin-left: 20px;">
|
|
216
|
-
返回上一步
|
|
217
|
-
</el-button>
|
|
218
|
-
<el-button type="info" @click="onParse" :loading="parsing" style="margin-left: 20px;">
|
|
219
|
-
重新解析
|
|
220
|
-
</el-button>
|
|
206
|
+
<nm-button type="primary" @click="currentStep = 4" text="下一步:确认导入" />
|
|
207
|
+
<nm-button @click="currentStep = 2" text="返回上一步" />
|
|
208
|
+
<nm-button type="info" @click="onParse" :loading="parsing" text="重新解析" />
|
|
221
209
|
</div>
|
|
222
210
|
</div>
|
|
223
211
|
</el-card>
|
|
@@ -234,7 +222,7 @@
|
|
|
234
222
|
|
|
235
223
|
<div class="import-summary">
|
|
236
224
|
<el-alert
|
|
237
|
-
:title="`准备导入 ${parseResult ? parseResult.
|
|
225
|
+
:title="`准备导入 ${parseResult ? parseResult.previewData.length : 0} 条数据`"
|
|
238
226
|
type="warning"
|
|
239
227
|
show-icon
|
|
240
228
|
:closable="false"
|
|
@@ -259,12 +247,8 @@
|
|
|
259
247
|
</div>
|
|
260
248
|
|
|
261
249
|
<div class="form-actions">
|
|
262
|
-
<
|
|
263
|
-
|
|
264
|
-
</el-button>
|
|
265
|
-
<el-button @click="currentStep = 3" style="margin-left: 20px;">
|
|
266
|
-
返回上一步
|
|
267
|
-
</el-button>
|
|
250
|
+
<nm-button type="success" :loading="importing" @click="onImport" text="开始导入" />
|
|
251
|
+
<nm-button @click="currentStep = 3" text="返回上一步" />
|
|
268
252
|
</div>
|
|
269
253
|
</el-card>
|
|
270
254
|
</div>
|
|
@@ -272,17 +256,9 @@
|
|
|
272
256
|
|
|
273
257
|
<!--底部-->
|
|
274
258
|
<template v-slot:footer>
|
|
275
|
-
<
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
</el-button>
|
|
279
|
-
<el-button v-if="currentStep < 4 && fileInfo" type="primary" @click="currentStep++">
|
|
280
|
-
下一步
|
|
281
|
-
</el-button>
|
|
282
|
-
<el-button type="info" @click="hide">
|
|
283
|
-
取消
|
|
284
|
-
</el-button>
|
|
285
|
-
</el-button-group>
|
|
259
|
+
<nm-button v-if="currentStep > 1" @click="currentStep--" text="上一步" />
|
|
260
|
+
<nm-button v-if="currentStep < 4 && fileInfo" type="primary" @click="currentStep++" text="下一步" />
|
|
261
|
+
<nm-button type="info" @click="hide" text="取消" />
|
|
286
262
|
</template>
|
|
287
263
|
</component>
|
|
288
264
|
</template>
|
|
@@ -654,7 +630,7 @@ export default {
|
|
|
654
630
|
const removedCount = originalCount - deduplicatedCount
|
|
655
631
|
|
|
656
632
|
if (removedCount > 0) {
|
|
657
|
-
this.
|
|
633
|
+
this._success(`数据去重:原始 ${originalCount} 条,去重后 ${deduplicatedCount} 条,移除 ${removedCount} 条重复数据`)
|
|
658
634
|
}
|
|
659
635
|
|
|
660
636
|
return deduplicatedModels
|
|
@@ -2,12 +2,12 @@
|
|
|
2
2
|
<nm-container>
|
|
3
3
|
<nm-box page>
|
|
4
4
|
<div class="nm-default">
|
|
5
|
-
<nm-icon name="work" class="nm-size-100" />
|
|
6
|
-
<h1 class="nm-m-20 nm-size-20"
|
|
7
|
-
<p>
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
5
|
+
<nm-icon name="work" class="nm-size-100" />
|
|
6
|
+
<h1 class="nm-m-20 nm-size-20">欢迎使用{{ title }}管理平台</h1>
|
|
7
|
+
<p class="nm-description">
|
|
8
|
+
本系统采用前后端分离架构:<br>
|
|
9
|
+
前端基于 Vue.js + Element UI 构建<br>
|
|
10
|
+
后端采用 .NET Core 框架开发
|
|
11
11
|
</p>
|
|
12
12
|
<img style="width:100%" src="../../../public/images/motto.png" />
|
|
13
13
|
</div>
|
|
@@ -31,3 +31,4 @@
|
|
|
31
31
|
text-align: center;
|
|
32
32
|
}
|
|
33
33
|
</style>
|
|
34
|
+
|