@ddwl/ddwl-ui 1.4.1 → 1.4.3
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/dist/index.common.js +175 -164
- package/dist/index.umd.js +180 -169
- package/dist/index.umd.min.js +4 -4
- package/package.json +1 -1
- package/src/lib/install/index.js +12 -6
- package/src/packages/import-file/index.vue +3 -7
- package/src/packages/search-table/index.vue +5 -19
- package/src/packages/table/index.vue +5 -1
package/package.json
CHANGED
package/src/lib/install/index.js
CHANGED
|
@@ -21,7 +21,8 @@ export default (Vue) => {
|
|
|
21
21
|
templateDownloadMethod = null,
|
|
22
22
|
fileType = ['xlsx', 'xls'],
|
|
23
23
|
fileSize = 5,
|
|
24
|
-
slotRender = null
|
|
24
|
+
slotRender = null,
|
|
25
|
+
submit = null
|
|
25
26
|
}) => {
|
|
26
27
|
return new Promise((resolve, reject) => {
|
|
27
28
|
const Import = Vue.extend(importVue)
|
|
@@ -38,22 +39,27 @@ export default (Vue) => {
|
|
|
38
39
|
instance.fileType = fileType
|
|
39
40
|
instance.fileSize = fileSize
|
|
40
41
|
instance.slotRender = slotRender
|
|
42
|
+
instance.submit = submit
|
|
41
43
|
|
|
42
44
|
const destroy = () => {
|
|
43
45
|
instance.$destroy()
|
|
44
46
|
el.parentNode && el.parentNode.removeChild(el)
|
|
45
47
|
}
|
|
46
48
|
|
|
47
|
-
instance.$on('submit', async (
|
|
48
|
-
|
|
49
|
+
instance.$on('submit', async (file, callback) => {
|
|
50
|
+
if (instance.submit) {
|
|
51
|
+
try {
|
|
52
|
+
await instance.submit(file, callback)
|
|
53
|
+
} catch (e) {
|
|
54
|
+
callback(new Error())
|
|
55
|
+
}
|
|
56
|
+
} else {
|
|
49
57
|
resolve({ file, callback })
|
|
50
|
-
} catch (e) {
|
|
51
|
-
callback(new Error(e))
|
|
52
58
|
}
|
|
53
59
|
})
|
|
54
60
|
|
|
55
61
|
instance.$on('close', () => {
|
|
56
|
-
|
|
62
|
+
resolve()
|
|
57
63
|
Vue.nextTick(destroy)
|
|
58
64
|
})
|
|
59
65
|
})
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
:title="title"
|
|
7
7
|
submit-btn-text="导入"
|
|
8
8
|
submit-btn-icon="el-icon-upload2"
|
|
9
|
-
@submit="
|
|
9
|
+
@submit="handleSubmit"
|
|
10
10
|
>
|
|
11
11
|
<el-form ref="importForm" :model="form" :inline="true">
|
|
12
12
|
<el-form-item
|
|
@@ -143,17 +143,13 @@ export default {
|
|
|
143
143
|
this.fileList = fileList
|
|
144
144
|
this.form.file = file.raw
|
|
145
145
|
},
|
|
146
|
-
async
|
|
146
|
+
async handleSubmit(callback) {
|
|
147
147
|
if (!this.form.file) {
|
|
148
148
|
this.$message.error('请选择导入文件')
|
|
149
149
|
callback(new Error(false))
|
|
150
150
|
return
|
|
151
151
|
}
|
|
152
|
-
|
|
153
|
-
this.$emit('submit', callback, this.form.file)
|
|
154
|
-
} catch (e) {
|
|
155
|
-
callback(new Error(false))
|
|
156
|
-
}
|
|
152
|
+
this.$emit('submit', this.form.file, callback)
|
|
157
153
|
}
|
|
158
154
|
}
|
|
159
155
|
}
|
|
@@ -3,20 +3,21 @@
|
|
|
3
3
|
<div class="d-table-search-wrap">
|
|
4
4
|
<search-form
|
|
5
5
|
v-model="form"
|
|
6
|
+
v-bind="$attrs"
|
|
6
7
|
:config="config.searchConfig"
|
|
7
8
|
:search-data="searchData"
|
|
8
|
-
v-bind="$attrs"
|
|
9
9
|
v-on="$listeners"
|
|
10
10
|
>
|
|
11
11
|
<slot />
|
|
12
12
|
</search-form>
|
|
13
13
|
<d-table
|
|
14
14
|
v-if="config.columns.length"
|
|
15
|
+
v-bind="$attrs"
|
|
15
16
|
ref="dTable"
|
|
16
|
-
:request-config="requestConfig"
|
|
17
|
+
:request-config="config.requestConfig"
|
|
17
18
|
:columns="config.columns"
|
|
18
19
|
:data="data"
|
|
19
|
-
|
|
20
|
+
:form="form"
|
|
20
21
|
class="d-table-wrap"
|
|
21
22
|
v-on="$listeners"
|
|
22
23
|
/>
|
|
@@ -24,7 +25,6 @@
|
|
|
24
25
|
</template>
|
|
25
26
|
|
|
26
27
|
<script>
|
|
27
|
-
import { cloneDeep } from 'lodash'
|
|
28
28
|
import SearchForm from '../search-form/index.vue'
|
|
29
29
|
import DTable from '../table/index.vue'
|
|
30
30
|
|
|
@@ -50,21 +50,7 @@ export default {
|
|
|
50
50
|
form: {}
|
|
51
51
|
}
|
|
52
52
|
},
|
|
53
|
-
computed: {
|
|
54
|
-
requestConfig() {
|
|
55
|
-
const requestConfig = this.config.requestConfig
|
|
56
|
-
return {
|
|
57
|
-
...requestConfig,
|
|
58
|
-
params:
|
|
59
|
-
typeof requestConfig.params === 'function'
|
|
60
|
-
? requestConfig.params(cloneDeep(this.form)) // 处理自定义参数
|
|
61
|
-
: {
|
|
62
|
-
...this.form,
|
|
63
|
-
...requestConfig.params
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
},
|
|
53
|
+
computed: {},
|
|
68
54
|
created() {
|
|
69
55
|
this.createFormBind()
|
|
70
56
|
},
|
|
@@ -81,6 +81,10 @@ export default {
|
|
|
81
81
|
name: 'DTable',
|
|
82
82
|
components: { ...modules, ColumnRender },
|
|
83
83
|
props: {
|
|
84
|
+
form: {
|
|
85
|
+
type: Object,
|
|
86
|
+
default: () => ({})
|
|
87
|
+
},
|
|
84
88
|
data: {
|
|
85
89
|
type: Array,
|
|
86
90
|
default: () => []
|
|
@@ -250,7 +254,7 @@ export default {
|
|
|
250
254
|
async getData(params) {
|
|
251
255
|
const defaultParams =
|
|
252
256
|
typeof this.requestConfig.params === 'function'
|
|
253
|
-
? this.requestConfig.params()
|
|
257
|
+
? this.requestConfig.params(this.form)
|
|
254
258
|
: this.requestConfig.params
|
|
255
259
|
const { data } = await this.requestConfig.api({
|
|
256
260
|
...defaultParams,
|