haiwei-ui 1.1.0 → 1.1.1

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,6 +1,6 @@
1
1
  {
2
2
  "name": "haiwei-ui",
3
- "version": "1.1.0",
3
+ "version": "1.1.1",
4
4
  "description": "HaiWei前端组件库",
5
5
  "author": "Eric",
6
6
  "license": "ISC",
@@ -1,5 +1,5 @@
1
1
  <template>
2
- <component v-bind:is="`nm-${options.showMode || 'drawer'}`" header footer draggable :padding="20" :title="title" :icon="icon" :width="width" :height="height" :visible.sync="visible_">
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
- <el-button type="primary" size="medium" icon="el-icon-upload">
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="100px" size="small">
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
- <el-button type="primary" :loading="parsing" @click="onParse" style="width: 200px;">
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.basicInfo.rowCount} 行数据,${parseResult.basicInfo.columnCount} 列`"
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="small"
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="small" max-height="200" class="mapping-table">
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="small"
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="small" />
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
- <el-button type="primary" @click="currentStep = 4" style="width: 200px;">
213
- 下一步:确认导入
214
- </el-button>
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.basicInfo.rowCount : 0} 条数据`"
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
- <el-button type="success" :loading="importing" @click="onImport" style="width: 200px;">
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
- <el-button-group>
276
- <el-button v-if="currentStep > 1" @click="currentStep--">
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._info(`数据去重:原始 ${originalCount} 条,去重后 ${deduplicatedCount} 条,移除 ${removedCount} 条重复数据`)
633
+ this._success(`数据去重:原始 ${originalCount} 条,去重后 ${deduplicatedCount} 条,移除 ${removedCount} 条重复数据`)
658
634
  }
659
635
 
660
636
  return deduplicatedModels
@@ -3,13 +3,18 @@
3
3
  <nm-box page>
4
4
  <div class="nm-default">
5
5
  <nm-icon name="work" class="nm-size-100" />
6
- <h1 class="nm-m-20 nm-size-20">欢迎登录{{ title }}~</h1>
7
- <p>
8
- 本系统使用VUE + Element + Net Core 开发!
9
- <!-- <a class="nm-link" target="_blank" href="https://github.com/iamoldli/NetModular">HaiweiModular</a> -->
10
- 开发
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
- <img style="width:100%" src="../../../public/images/motto.png" />
12
+ <!-- 如果 motto.png 是系统标语,建议添加 alt 描述 -->
13
+ <img
14
+ style="width:100%"
15
+ src="../../../public/images/motto.png"
16
+ alt="系统标语"
17
+ />
13
18
  </div>
14
19
  </nm-box>
15
20
  </nm-container>