vue2-client 1.6.38 → 1.6.40

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/CHANGELOG.md CHANGED
@@ -1,6 +1,12 @@
1
1
  # Change Log
2
2
  > 所有关于本项目的变化都在该文档里。
3
3
 
4
+ **1.6.40 -2023-06-14 @江超**
5
+ - 解决弹出框显示在抽屉下面的问题
6
+
7
+ **1.6.39 -2023-06-07 @江超**
8
+ - Login增加V2系统版本的兼容
9
+
4
10
  **1.6.38 -2023-05-30 @江超**
5
11
  - V3登录加密
6
12
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vue2-client",
3
- "version": "1.6.38",
3
+ "version": "1.6.40",
4
4
  "private": false,
5
5
  "scripts": {
6
6
  "serve": "vue-cli-service serve",
@@ -1,278 +1,279 @@
1
- <template>
2
- <div class="table-page-search-wrapper">
3
- <a-form-model
4
- v-if="loaded"
5
- ref="selectForm"
6
- :model="form"
7
- :rules="rules">
8
- <a-row :gutter="16">
9
- <x-form-item
10
- v-for="(item, index) in realJsonData"
11
- :key="index"
12
- :attr="item"
13
- :disabled="itemDisabled(item)"
14
- :files="files"
15
- :form="form"
16
- :images="images"
17
- :service-name="serviceName"
18
- :xl="12"
19
- :xxl="8"
20
- mode="新增/修改"
21
- />
22
- </a-row>
23
- </a-form-model>
24
- </div>
25
- </template>
26
- <script>
27
- import XFormItem from '@vue2-client/base-client/components/common/XForm/XFormItem'
28
- import { formatDate } from '@vue2-client/utils/util'
29
- import { mapState } from 'vuex'
30
- import { post } from '@vue2-client/services/api'
31
-
32
- export default {
33
- name: 'XAddNativeForm',
34
- components: {
35
- XFormItem
36
- },
37
- data () {
38
- return {
39
- // 内容加载是否完成
40
- loaded: false,
41
- // 表单Model
42
- form: {},
43
- // 修改有文件得表单时使用
44
- files: [],
45
- images: [],
46
- // 校验
47
- rules: {}
48
- }
49
- },
50
- computed: {
51
- // 过滤出用于新增/修改场景的表单项
52
- realJsonData: function () {
53
- return this.jsonData.filter(function (item) {
54
- return item.addOrEdit && item.addOrEdit !== 'no' && item.addOrEdit !== 'silenceAdd' && item.addOrEdit !== 'version'
55
- })
56
- },
57
- // 过滤出用于静默新增场景的表单项
58
- silenceAddJsonData: function () {
59
- return this.jsonData.filter(function (item) {
60
- return item.addOrEdit === 'silenceAdd'
61
- })
62
- },
63
- // 过滤出版本号表单项
64
- versionJsonData: function () {
65
- return this.jsonData.filter(function (item) {
66
- return item.addOrEdit === 'version'
67
- })
68
- },
69
- ...mapState('account', { currUser: 'user' })
70
- },
71
- props: {
72
- jsonData: {
73
- type: Array,
74
- default: () => {
75
- return []
76
- }
77
- },
78
- serviceName: {
79
- type: String,
80
- default: 'af-system'
81
- },
82
- // 业务类型
83
- businessType: {
84
- type: String,
85
- default: ''
86
- },
87
- // 修改操作前查询出的业务数据
88
- modifyModelData: {
89
- type: Object,
90
- default: () => {
91
- return {}
92
- }
93
- },
94
- // 新增或修改业务是否执行中
95
- loading: {
96
- type: Boolean,
97
- default: () => {
98
- return false
99
- }
100
- },
101
- // 固定新增表单
102
- fixedAddForm: {
103
- type: Object,
104
- default: () => {
105
- return {}
106
- }
107
- }
108
- },
109
- watch: {
110
- visible (rel) {
111
- if (rel) {
112
- this.formItemLoad()
113
- }
114
- }
115
- },
116
- mounted () {
117
- this.formItemLoad()
118
- },
119
- methods: {
120
- formItemLoad () {
121
- const formData = Object.assign({}, this.fixedAddForm)
122
- for (let i = 0; i < this.realJsonData.length; i++) {
123
- const item = this.realJsonData[i]
124
- formData[item.model] = undefined
125
- // 处理表单校验情况
126
- if (item.rule) {
127
- this.rules[item.model] = []
128
- const required = item.rule.required ? item.rule.required === true || item.rule.required === 'true' : false
129
- let trigger
130
- let message
131
- if (required) {
132
- switch (item.type) {
133
- case 'select':
134
- message = '请选择' + item.name
135
- trigger = 'change'
136
- break
137
- default:
138
- message = '请输入' + item.name
139
- trigger = 'blur'
140
- }
141
- this.rules[item.model].push({
142
- required: true,
143
- message: message,
144
- trigger: trigger
145
- })
146
- }
147
-
148
- switch (item.rule.type) {
149
- case 'number':
150
- case 'integer':
151
- case 'float':
152
- let defaultValue
153
- let message
154
- switch (item.rule.type) {
155
- case 'number':
156
- message = '数字'
157
- defaultValue = 0
158
- break
159
- case 'integer':
160
- message = '整数'
161
- defaultValue = 0
162
- break
163
- case 'float':
164
- message = '小数'
165
- defaultValue = 0.0
166
- break
167
- }
168
- this.rules[item.model].push({
169
- type: item.rule.type,
170
- message: item.name + '必须为' + message,
171
- transform: (value) => {
172
- if (value && value.length !== 0) {
173
- return Number(value)
174
- } else {
175
- return defaultValue
176
- }
177
- },
178
- trigger: 'blur'
179
- })
180
- break
181
- }
182
- }
183
- }
184
- this.form = formData
185
- if (this.modifyModelData.data) {
186
- this.files = this.modifyModelData.files
187
- this.images = this.modifyModelData.images
188
- if (Object.keys(this.modifyModelData.data).length > 0) {
189
- this.getModifyModelData()
190
- }
191
- }
192
- this.loaded = true
193
- },
194
- itemDisabled (value) {
195
- return (this.businessType === '新增' && value.addOrEdit === 'edit') ||
196
- (this.businessType === '修改' && value.addOrEdit === 'add')
197
- },
198
- async onSubmit () {
199
- this.$refs.selectForm.validate(async valid => {
200
- for (const key of Object.keys(this.form)) {
201
- if (this.form[key] === null || this.form[key] === '') {
202
- this.form[key] = undefined
203
- }
204
- }
205
- const requestForm = Object.assign({}, this.form)
206
- // 追加静默新增字段
207
- if (this.businessType === '新增') {
208
- for (const item of this.silenceAddJsonData) {
209
- switch (item.silencePurpose) {
210
- case 'createTime':
211
- requestForm[item.model] = formatDate('now')
212
- break
213
- case 'operator':
214
- requestForm[item.model] = this.currUser.name
215
- break
216
- case 'orgId':
217
- requestForm[item.model] = this.currUser.orgid
218
- break
219
- }
220
- }
221
- // 通过请求追加静默新增:自定义字段
222
- for (const item of this.silenceAddJsonData.filter((item) => item.silencePurpose === 'customize')) {
223
- requestForm[item.model] = await this.getSilenceSource(item.silenceSource, requestForm)
224
- }
225
- }
226
- const data = {
227
- valid: valid,
228
- form: requestForm
229
- }
230
- this.$emit('onSubmit', data)
231
- })
232
- },
233
- /**
234
- * 获取通过logic静默新增的字段
235
- * @param logicName logic名称
236
- * @param requestParameters 请求参数
237
- */
238
- async getSilenceSource (logicName, requestParameters) {
239
- const result = await post('/api/' + this.serviceName + '/logic/' + logicName, requestParameters)
240
- return result
241
- },
242
- /**
243
- * 获取被修改记录数据
244
- * @param modifyModelData 被修改记录的数据
245
- */
246
- getModifyModelData () {
247
- for (let i = 0; i < this.realJsonData.length; i++) {
248
- if (['FilesId', 'Images'].includes(this.realJsonData[i])) {
249
- // 附件需要跳过 因为会通过 modifyModelData中的files,images属性给upload赋值
250
- // 新增修改表单每次提交时只会提交最新添加的文件
251
- continue
252
- }
253
- const item = this.realJsonData[i]
254
- if (this.modifyModelData.data[item.model] || this.modifyModelData.data[item.model] === 0) {
255
- if (this.modifyModelData.data[item.model] instanceof Array) {
256
- this.form[item.model] = this.modifyModelData.data[item.model]
257
- } else {
258
- this.form[item.model] = this.modifyModelData.data[item.model] + ''
259
- }
260
- } else {
261
- this.form[item.model] = undefined
262
- }
263
- }
264
- // 追加版本号信息
265
- for (const item of this.versionJsonData) {
266
- if (!this.modifyModelData.data[item.model]) {
267
- this.form[item.model] = 0
268
- } else {
269
- this.form[item.model] = this.modifyModelData.data[item.model] + ''
270
- }
271
- }
272
- },
273
- onClose () {
274
- this.$emit('update:visible', false)
275
- }
276
- }
277
- }
278
- </script>
1
+ <template>
2
+ <div class="table-page-search-wrapper">
3
+ <a-form-model
4
+ v-if="loaded"
5
+ ref="selectForm"
6
+ :zIndex="1001"
7
+ :model="form"
8
+ :rules="rules">
9
+ <a-row :gutter="16">
10
+ <x-form-item
11
+ v-for="(item, index) in realJsonData"
12
+ :key="index"
13
+ :attr="item"
14
+ :disabled="itemDisabled(item)"
15
+ :files="files"
16
+ :form="form"
17
+ :images="images"
18
+ :service-name="serviceName"
19
+ :xl="12"
20
+ :xxl="8"
21
+ mode="新增/修改"
22
+ />
23
+ </a-row>
24
+ </a-form-model>
25
+ </div>
26
+ </template>
27
+ <script>
28
+ import XFormItem from '@vue2-client/base-client/components/common/XForm/XFormItem'
29
+ import { formatDate } from '@vue2-client/utils/util'
30
+ import { mapState } from 'vuex'
31
+ import { post } from '@vue2-client/services/api'
32
+
33
+ export default {
34
+ name: 'XAddNativeForm',
35
+ components: {
36
+ XFormItem
37
+ },
38
+ data () {
39
+ return {
40
+ // 内容加载是否完成
41
+ loaded: false,
42
+ // 表单Model
43
+ form: {},
44
+ // 修改有文件得表单时使用
45
+ files: [],
46
+ images: [],
47
+ // 校验
48
+ rules: {}
49
+ }
50
+ },
51
+ computed: {
52
+ // 过滤出用于新增/修改场景的表单项
53
+ realJsonData: function () {
54
+ return this.jsonData.filter(function (item) {
55
+ return item.addOrEdit && item.addOrEdit !== 'no' && item.addOrEdit !== 'silenceAdd' && item.addOrEdit !== 'version'
56
+ })
57
+ },
58
+ // 过滤出用于静默新增场景的表单项
59
+ silenceAddJsonData: function () {
60
+ return this.jsonData.filter(function (item) {
61
+ return item.addOrEdit === 'silenceAdd'
62
+ })
63
+ },
64
+ // 过滤出版本号表单项
65
+ versionJsonData: function () {
66
+ return this.jsonData.filter(function (item) {
67
+ return item.addOrEdit === 'version'
68
+ })
69
+ },
70
+ ...mapState('account', { currUser: 'user' })
71
+ },
72
+ props: {
73
+ jsonData: {
74
+ type: Array,
75
+ default: () => {
76
+ return []
77
+ }
78
+ },
79
+ serviceName: {
80
+ type: String,
81
+ default: 'af-system'
82
+ },
83
+ // 业务类型
84
+ businessType: {
85
+ type: String,
86
+ default: ''
87
+ },
88
+ // 修改操作前查询出的业务数据
89
+ modifyModelData: {
90
+ type: Object,
91
+ default: () => {
92
+ return {}
93
+ }
94
+ },
95
+ // 新增或修改业务是否执行中
96
+ loading: {
97
+ type: Boolean,
98
+ default: () => {
99
+ return false
100
+ }
101
+ },
102
+ // 固定新增表单
103
+ fixedAddForm: {
104
+ type: Object,
105
+ default: () => {
106
+ return {}
107
+ }
108
+ }
109
+ },
110
+ watch: {
111
+ visible (rel) {
112
+ if (rel) {
113
+ this.formItemLoad()
114
+ }
115
+ }
116
+ },
117
+ mounted () {
118
+ this.formItemLoad()
119
+ },
120
+ methods: {
121
+ formItemLoad () {
122
+ const formData = Object.assign({}, this.fixedAddForm)
123
+ for (let i = 0; i < this.realJsonData.length; i++) {
124
+ const item = this.realJsonData[i]
125
+ formData[item.model] = undefined
126
+ // 处理表单校验情况
127
+ if (item.rule) {
128
+ this.rules[item.model] = []
129
+ const required = item.rule.required ? item.rule.required === true || item.rule.required === 'true' : false
130
+ let trigger
131
+ let message
132
+ if (required) {
133
+ switch (item.type) {
134
+ case 'select':
135
+ message = '请选择' + item.name
136
+ trigger = 'change'
137
+ break
138
+ default:
139
+ message = '请输入' + item.name
140
+ trigger = 'blur'
141
+ }
142
+ this.rules[item.model].push({
143
+ required: true,
144
+ message: message,
145
+ trigger: trigger
146
+ })
147
+ }
148
+
149
+ switch (item.rule.type) {
150
+ case 'number':
151
+ case 'integer':
152
+ case 'float':
153
+ let defaultValue
154
+ let message
155
+ switch (item.rule.type) {
156
+ case 'number':
157
+ message = '数字'
158
+ defaultValue = 0
159
+ break
160
+ case 'integer':
161
+ message = '整数'
162
+ defaultValue = 0
163
+ break
164
+ case 'float':
165
+ message = '小数'
166
+ defaultValue = 0.0
167
+ break
168
+ }
169
+ this.rules[item.model].push({
170
+ type: item.rule.type,
171
+ message: item.name + '必须为' + message,
172
+ transform: (value) => {
173
+ if (value && value.length !== 0) {
174
+ return Number(value)
175
+ } else {
176
+ return defaultValue
177
+ }
178
+ },
179
+ trigger: 'blur'
180
+ })
181
+ break
182
+ }
183
+ }
184
+ }
185
+ this.form = formData
186
+ if (this.modifyModelData.data) {
187
+ this.files = this.modifyModelData.files
188
+ this.images = this.modifyModelData.images
189
+ if (Object.keys(this.modifyModelData.data).length > 0) {
190
+ this.getModifyModelData()
191
+ }
192
+ }
193
+ this.loaded = true
194
+ },
195
+ itemDisabled (value) {
196
+ return (this.businessType === '新增' && value.addOrEdit === 'edit') ||
197
+ (this.businessType === '修改' && value.addOrEdit === 'add')
198
+ },
199
+ async onSubmit () {
200
+ this.$refs.selectForm.validate(async valid => {
201
+ for (const key of Object.keys(this.form)) {
202
+ if (this.form[key] === null || this.form[key] === '') {
203
+ this.form[key] = undefined
204
+ }
205
+ }
206
+ const requestForm = Object.assign({}, this.form)
207
+ // 追加静默新增字段
208
+ if (this.businessType === '新增') {
209
+ for (const item of this.silenceAddJsonData) {
210
+ switch (item.silencePurpose) {
211
+ case 'createTime':
212
+ requestForm[item.model] = formatDate('now')
213
+ break
214
+ case 'operator':
215
+ requestForm[item.model] = this.currUser.name
216
+ break
217
+ case 'orgId':
218
+ requestForm[item.model] = this.currUser.orgid
219
+ break
220
+ }
221
+ }
222
+ // 通过请求追加静默新增:自定义字段
223
+ for (const item of this.silenceAddJsonData.filter((item) => item.silencePurpose === 'customize')) {
224
+ requestForm[item.model] = await this.getSilenceSource(item.silenceSource, requestForm)
225
+ }
226
+ }
227
+ const data = {
228
+ valid: valid,
229
+ form: requestForm
230
+ }
231
+ this.$emit('onSubmit', data)
232
+ })
233
+ },
234
+ /**
235
+ * 获取通过logic静默新增的字段
236
+ * @param logicName logic名称
237
+ * @param requestParameters 请求参数
238
+ */
239
+ async getSilenceSource (logicName, requestParameters) {
240
+ const result = await post('/api/' + this.serviceName + '/logic/' + logicName, requestParameters)
241
+ return result
242
+ },
243
+ /**
244
+ * 获取被修改记录数据
245
+ * @param modifyModelData 被修改记录的数据
246
+ */
247
+ getModifyModelData () {
248
+ for (let i = 0; i < this.realJsonData.length; i++) {
249
+ if (['FilesId', 'Images'].includes(this.realJsonData[i])) {
250
+ // 附件需要跳过 因为会通过 modifyModelData中的files,images属性给upload赋值
251
+ // 新增修改表单每次提交时只会提交最新添加的文件
252
+ continue
253
+ }
254
+ const item = this.realJsonData[i]
255
+ if (this.modifyModelData.data[item.model] || this.modifyModelData.data[item.model] === 0) {
256
+ if (this.modifyModelData.data[item.model] instanceof Array) {
257
+ this.form[item.model] = this.modifyModelData.data[item.model]
258
+ } else {
259
+ this.form[item.model] = this.modifyModelData.data[item.model] + ''
260
+ }
261
+ } else {
262
+ this.form[item.model] = undefined
263
+ }
264
+ }
265
+ // 追加版本号信息
266
+ for (const item of this.versionJsonData) {
267
+ if (!this.modifyModelData.data[item.model]) {
268
+ this.form[item.model] = 0
269
+ } else {
270
+ this.form[item.model] = this.modifyModelData.data[item.model] + ''
271
+ }
272
+ }
273
+ },
274
+ onClose () {
275
+ this.$emit('update:visible', false)
276
+ }
277
+ }
278
+ }
279
+ </script>
@@ -1,131 +1,132 @@
1
- <template>
2
- <a-modal
3
- title="数据导入"
4
- :visible="open"
5
- :confirm-loading="uploading"
6
- @cancel="importExcelHandleCancel"
7
- @ok="importExcelHandleChange"
8
- >
9
- <a-spin tip="上传中..." :spinning="uploading">
10
- <a-upload-dragger
11
- name="file"
12
- accept=".xlsx, .xls"
13
- :file-list="fileList"
14
- :multiple="false"
15
- :remove="handleRemove"
16
- :before-upload="beforeUpload"
17
- >
18
- <p class="ant-upload-drag-icon">
19
- <a-icon type="inbox" />
20
- </p>
21
- <p class="ant-upload-text">
22
- 请将文件拖拽到此处上传
23
- </p>
24
- <p class="ant-upload-hint">
25
- 支持单个上传,也可以点击后选择文件上传
26
- </p>
27
- </a-upload-dragger>
28
- <a-divider/>
29
- <a-checkbox @change="handleCheckedUpdateSupport" :checked="updateSupport !== 0">
30
- 是否更新已经存在的数据
31
- </a-checkbox>
32
- <a v-if="queryParamsName !== 'none'" @click="importTemplate">下载导入模板</a>
33
- </a-spin>
34
- </a-modal>
35
- </template>
36
-
37
- <script>
38
-
39
- import { importData, download } from '@vue2-client/services/api/common'
40
-
41
- export default {
42
- name: 'XImportExcel',
43
- props: {
44
- serviceName: {
45
- type: String,
46
- default: 'af-system'
47
- },
48
- queryParamsName: {
49
- type: String,
50
- default: 'none'
51
- },
52
- // 业务名称
53
- title: {
54
- type: String,
55
- default: ''
56
- }
57
- },
58
- components: {
59
- },
60
- data () {
61
- return {
62
- open: false,
63
- uploadStatus: '',
64
- fileList: [],
65
- // 是否禁用上传
66
- uploading: false,
67
- updateSupport: 0
68
- }
69
- },
70
- filters: {
71
- },
72
- created () {
73
- },
74
- computed: {
75
- },
76
- watch: {
77
- },
78
- methods: {
79
- /** 导入excel窗体关闭 */
80
- importExcelHandleCancel (e) {
81
- this.open = false
82
- this.fileList = []
83
- // 关闭后刷新列表
84
- this.$emit('ok')
85
- },
86
- /** 下载模板操作 */
87
- importTemplate () {
88
- const params = {
89
- queryParamsName: this.queryParamsName,
90
- type: 'template'
91
- }
92
- download(params, this.title + `数据模板_${new Date().toLocaleString()}.xlsx`, this.serviceName)
93
- },
94
- /** 导入excel窗体开启 */
95
- importExcelHandleOpen (e) {
96
- this.open = true
97
- },
98
- beforeUpload (file) {
99
- this.fileList = [file]
100
- return false
101
- },
102
- /** 导入excel */
103
- importExcelHandleChange () {
104
- const { fileList } = this
105
- const formData = new FormData()
106
- if (!fileList[0]) {
107
- this.$message.warn('请选择需要上传的文件')
108
- return
109
- }
110
- this.uploading = true
111
- formData.append('file', fileList[0])
112
- formData.append('updateSupport', this.updateSupport)
113
- importData(formData).then(response => {
114
- this.fileList = []
115
- this.$message.success(response.msg)
116
- this.open = false
117
- this.$emit('ok')
118
- }).finally(() => {
119
- this.uploading = false
120
- })
121
- },
122
- handleCheckedUpdateSupport () {
123
- this.updateSupport = this.updateSupport === 0 ? 1 : 0
124
- },
125
- handleRemove () {
126
- this.fileList = []
127
- this.uploading = false
128
- }
129
- }
130
- }
131
- </script>
1
+ <template>
2
+ <a-modal
3
+ title="数据导入"
4
+ :visible="open"
5
+ :zIndex="1001"
6
+ :confirm-loading="uploading"
7
+ @cancel="importExcelHandleCancel"
8
+ @ok="importExcelHandleChange"
9
+ >
10
+ <a-spin tip="上传中..." :spinning="uploading">
11
+ <a-upload-dragger
12
+ name="file"
13
+ accept=".xlsx, .xls"
14
+ :file-list="fileList"
15
+ :multiple="false"
16
+ :remove="handleRemove"
17
+ :before-upload="beforeUpload"
18
+ >
19
+ <p class="ant-upload-drag-icon">
20
+ <a-icon type="inbox" />
21
+ </p>
22
+ <p class="ant-upload-text">
23
+ 请将文件拖拽到此处上传
24
+ </p>
25
+ <p class="ant-upload-hint">
26
+ 支持单个上传,也可以点击后选择文件上传
27
+ </p>
28
+ </a-upload-dragger>
29
+ <a-divider/>
30
+ <a-checkbox @change="handleCheckedUpdateSupport" :checked="updateSupport !== 0">
31
+ 是否更新已经存在的数据
32
+ </a-checkbox>
33
+ <a v-if="queryParamsName !== 'none'" @click="importTemplate">下载导入模板</a>
34
+ </a-spin>
35
+ </a-modal>
36
+ </template>
37
+
38
+ <script>
39
+
40
+ import { importData, download } from '@vue2-client/services/api/common'
41
+
42
+ export default {
43
+ name: 'XImportExcel',
44
+ props: {
45
+ serviceName: {
46
+ type: String,
47
+ default: 'af-system'
48
+ },
49
+ queryParamsName: {
50
+ type: String,
51
+ default: 'none'
52
+ },
53
+ // 业务名称
54
+ title: {
55
+ type: String,
56
+ default: ''
57
+ }
58
+ },
59
+ components: {
60
+ },
61
+ data () {
62
+ return {
63
+ open: false,
64
+ uploadStatus: '',
65
+ fileList: [],
66
+ // 是否禁用上传
67
+ uploading: false,
68
+ updateSupport: 0
69
+ }
70
+ },
71
+ filters: {
72
+ },
73
+ created () {
74
+ },
75
+ computed: {
76
+ },
77
+ watch: {
78
+ },
79
+ methods: {
80
+ /** 导入excel窗体关闭 */
81
+ importExcelHandleCancel (e) {
82
+ this.open = false
83
+ this.fileList = []
84
+ // 关闭后刷新列表
85
+ this.$emit('ok')
86
+ },
87
+ /** 下载模板操作 */
88
+ importTemplate () {
89
+ const params = {
90
+ queryParamsName: this.queryParamsName,
91
+ type: 'template'
92
+ }
93
+ download(params, this.title + `数据模板_${new Date().toLocaleString()}.xlsx`, this.serviceName)
94
+ },
95
+ /** 导入excel窗体开启 */
96
+ importExcelHandleOpen (e) {
97
+ this.open = true
98
+ },
99
+ beforeUpload (file) {
100
+ this.fileList = [file]
101
+ return false
102
+ },
103
+ /** 导入excel */
104
+ importExcelHandleChange () {
105
+ const { fileList } = this
106
+ const formData = new FormData()
107
+ if (!fileList[0]) {
108
+ this.$message.warn('请选择需要上传的文件')
109
+ return
110
+ }
111
+ this.uploading = true
112
+ formData.append('file', fileList[0])
113
+ formData.append('updateSupport', this.updateSupport)
114
+ importData(formData).then(response => {
115
+ this.fileList = []
116
+ this.$message.success(response.msg)
117
+ this.open = false
118
+ this.$emit('ok')
119
+ }).finally(() => {
120
+ this.uploading = false
121
+ })
122
+ },
123
+ handleCheckedUpdateSupport () {
124
+ this.updateSupport = this.updateSupport === 0 ? 1 : 0
125
+ },
126
+ handleRemove () {
127
+ this.fileList = []
128
+ this.uploading = false
129
+ }
130
+ }
131
+ }
132
+ </script>
@@ -88,6 +88,7 @@ export default {
88
88
  const name = this.form.getFieldValue('name')
89
89
  const password = this.form.getFieldValue('password')
90
90
  switch (this.compatible) {
91
+ case 'V2':
91
92
  case 'V3': {
92
93
  login(name, password).then(this.afterLogin).catch(msg => {
93
94
  this.error = msg