n20-common-lib 1.3.24 → 1.3.25
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 +1 -1
- package/src/assets/css/cl-approve-card.scss +2 -2
- package/src/assets/css/cl-expandable-pane.scss +3 -4
- package/src/assets/css/cl-expandable.scss +2 -2
- package/src/assets/css/cl-upload.scss +5 -0
- package/src/assets/css/plain-text.scss +28 -130
- package/src/assets/css/rootvar.scss +4 -0
- package/src/components/ApprovalButtons/index.vue +1 -1
- package/src/components/ApprovalCard/index.vue +4 -4
- package/src/components/ApprovalRecord/index.vue +5 -1
- package/src/components/Descriptions/index.vue +42 -0
- package/src/components/ECharts/index.vue +9 -10
- package/src/components/ECharts/mixins/resize.js +10 -43
- package/src/components/Expandable/main.vue +1 -1
- package/src/components/FileUploadTable/index.vue +32 -3
- package/src/components/Statis/index.vue +16 -2
- package/src/components/Statis/statisItem.vue +10 -4
- package/src/components/Statis/statisPopover.vue +7 -0
- package/src/components/Upload/index.vue +8 -4
- package/src/index.js +3 -6
- package/style/index.css +1 -1
- package/style/index.css.map +1 -1
- package/theme/blue.css +1 -1
- package/theme/green.css +1 -1
- package/theme/lightBlue.css +1 -1
- package/theme/orange.css +1 -1
- package/theme/purple.css +1 -1
- package/theme/red.css +1 -1
- package/theme/yellow.css +1 -1
- package/src/components/PlainText/PlainTextItem.vue +0 -17
- package/src/components/PlainText/index.vue +0 -12
package/package.json
CHANGED
|
@@ -9,11 +9,10 @@
|
|
|
9
9
|
}
|
|
10
10
|
|
|
11
11
|
.n20-tips {
|
|
12
|
-
width: 85%;
|
|
13
|
-
display: flex;
|
|
14
|
-
align-items: center;
|
|
15
12
|
font-size: 14px;
|
|
16
13
|
cursor: pointer;
|
|
14
|
+
display: flex;
|
|
15
|
+
align-items: center;
|
|
17
16
|
|
|
18
17
|
&:hover {
|
|
19
18
|
color: $--link-hover-color;
|
|
@@ -35,4 +34,4 @@
|
|
|
35
34
|
|
|
36
35
|
.color-0 {
|
|
37
36
|
color: $--color-text-placeholder;
|
|
38
|
-
}
|
|
37
|
+
}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
.n20-upload-drag {
|
|
2
|
+
display: inline-block;
|
|
2
3
|
width: 650px;
|
|
3
4
|
height: 356px;
|
|
4
5
|
|
|
@@ -7,6 +8,7 @@
|
|
|
7
8
|
width: 100%;
|
|
8
9
|
height: 100%;
|
|
9
10
|
}
|
|
11
|
+
|
|
10
12
|
.el-upload-dragger {
|
|
11
13
|
width: 100%;
|
|
12
14
|
height: 100%;
|
|
@@ -17,11 +19,13 @@
|
|
|
17
19
|
align-items: center;
|
|
18
20
|
justify-content: center;
|
|
19
21
|
}
|
|
22
|
+
|
|
20
23
|
.drag-icon {
|
|
21
24
|
font-size: 48px;
|
|
22
25
|
color: $--color-primary;
|
|
23
26
|
margin-bottom: 20px;
|
|
24
27
|
}
|
|
28
|
+
|
|
25
29
|
.drag-text {
|
|
26
30
|
font-size: 16px;
|
|
27
31
|
font-weight: 400;
|
|
@@ -30,6 +34,7 @@
|
|
|
30
34
|
|
|
31
35
|
margin-bottom: 4px;
|
|
32
36
|
}
|
|
37
|
+
|
|
33
38
|
.drag-tip {
|
|
34
39
|
font-size: 14px;
|
|
35
40
|
font-weight: 400;
|
|
@@ -1,138 +1,36 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
flex-wrap: wrap;
|
|
6
|
-
width: 100%;
|
|
7
|
-
border: 1px solid #eeeeee;
|
|
8
|
-
|
|
9
|
-
.plain-text-item {
|
|
10
|
-
display: flex;
|
|
11
|
-
padding-top: 12px;
|
|
12
|
-
padding-bottom: 12px;
|
|
13
|
-
align-items: center;
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
.plain-text-item-label {
|
|
17
|
-
flex: 30%;
|
|
18
|
-
text-align: right;
|
|
19
|
-
color: $--color-text-regular;
|
|
20
|
-
padding-right: 22px;
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
.plain-text-item-content {
|
|
24
|
-
flex: 70%;
|
|
25
|
-
color: $--color-text-primary;
|
|
26
|
-
padding-left: 22px;
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
@media only screen and (max-width: $--md) {
|
|
32
|
-
.plain-text-item {
|
|
33
|
-
flex: 49%;
|
|
34
|
-
max-width: 50%;
|
|
35
|
-
|
|
36
|
-
.after-color {
|
|
37
|
-
width: 250px;
|
|
38
|
-
height: 24px;
|
|
39
|
-
line-height: 24px;
|
|
40
|
-
padding-left: 2px;
|
|
41
|
-
margin-bottom: 4px;
|
|
42
|
-
overflow: hidden;
|
|
43
|
-
text-overflow: ellipsis;
|
|
44
|
-
white-space: nowrap;
|
|
45
|
-
background-color: rgba(22, 119, 255, 0.1);
|
|
46
|
-
overflow: hidden;
|
|
47
|
-
text-overflow: ellipsis;
|
|
48
|
-
white-space: nowrap;
|
|
49
|
-
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
.before-color {
|
|
53
|
-
width: 250px;
|
|
54
|
-
height: 24px;
|
|
55
|
-
line-height: 24px;
|
|
56
|
-
padding-left: 2px;
|
|
57
|
-
text-decoration: line-through;
|
|
58
|
-
overflow: hidden;
|
|
59
|
-
text-overflow: ellipsis;
|
|
60
|
-
white-space: nowrap;
|
|
61
|
-
background-color: rgba(255, 59, 48, 0.1)
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
&:nth-of-type(odd) {
|
|
65
|
-
border-right: 1px solid #eeeeee;
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
.plain-text-item:last-of-type {}
|
|
70
|
-
|
|
71
|
-
.plain-text:nth-child(even) {
|
|
72
|
-
border-right: 1px solid #eeeeee;
|
|
1
|
+
.n20-descriptions {
|
|
2
|
+
.el-descriptions__table {
|
|
3
|
+
table-layout: fixed;
|
|
4
|
+
border: 1px solid #e4e7ed;
|
|
73
5
|
}
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
6
|
+
.el-descriptions-item__cell {
|
|
7
|
+
width: 70px;
|
|
8
|
+
border-top: none !important;
|
|
9
|
+
border-left: none !important;
|
|
10
|
+
border-bottom: none !important;
|
|
11
|
+
color: $--color-text-primary;
|
|
77
12
|
}
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
background
|
|
13
|
+
.el-descriptions-item__label {
|
|
14
|
+
width: 30px;
|
|
15
|
+
background: none !important;
|
|
16
|
+
border-right: none !important;
|
|
17
|
+
text-align: right !important;
|
|
18
|
+
color: $--color-text-regular;
|
|
81
19
|
}
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
@media only screen and (min-width: $--md + 1px) {
|
|
85
|
-
.plain-text-item {
|
|
86
|
-
flex: 33%;
|
|
87
|
-
max-width: 33%;
|
|
88
|
-
|
|
89
|
-
.after-color {
|
|
90
|
-
min-width: 200px;
|
|
91
|
-
max-width: 280px;
|
|
92
|
-
width: 100%;
|
|
93
|
-
height: 24px;
|
|
94
|
-
line-height: 24px;
|
|
95
|
-
padding-left: 2px;
|
|
96
|
-
margin-bottom: 4px;
|
|
97
|
-
overflow: hidden;
|
|
98
|
-
text-overflow: ellipsis;
|
|
99
|
-
white-space: nowrap;
|
|
100
|
-
background-color: rgba(22, 119, 255, 0.1);
|
|
101
|
-
overflow: hidden;
|
|
102
|
-
text-overflow: ellipsis;
|
|
103
|
-
white-space: nowrap;
|
|
104
|
-
|
|
105
|
-
}
|
|
106
|
-
|
|
107
|
-
.before-color {
|
|
108
|
-
min-width: 200px;
|
|
109
|
-
max-width: 280px;
|
|
110
|
-
width: 100%;
|
|
111
|
-
height: 24px;
|
|
112
|
-
line-height: 24px;
|
|
113
|
-
padding-left: 2px;
|
|
114
|
-
text-decoration: line-through;
|
|
115
|
-
overflow: hidden;
|
|
116
|
-
text-overflow: ellipsis;
|
|
117
|
-
white-space: nowrap;
|
|
118
|
-
background-color: rgba(255, 59, 48, 0.1)
|
|
119
|
-
}
|
|
120
|
-
|
|
121
|
-
&:nth-of-type(3n-1) {
|
|
122
|
-
border-right: 1px solid #eeeeee;
|
|
123
|
-
border-left: 1px solid #eeeeee;
|
|
124
|
-
}
|
|
20
|
+
.el-descriptions__table.is-bordered tbody:nth-of-type(even) {
|
|
21
|
+
background: var(--color-primary-005);
|
|
125
22
|
}
|
|
126
23
|
|
|
127
|
-
.
|
|
128
|
-
|
|
24
|
+
.after-color {
|
|
25
|
+
padding-left: 2px;
|
|
26
|
+
padding-right: 4px;
|
|
27
|
+
background-color: var(--color-primary-01);
|
|
129
28
|
}
|
|
130
29
|
|
|
131
|
-
.
|
|
132
|
-
|
|
30
|
+
.before-color {
|
|
31
|
+
padding-left: 2px;
|
|
32
|
+
padding-right: 4px;
|
|
33
|
+
text-decoration: line-through;
|
|
34
|
+
background-color: var(--color-danger-01);
|
|
133
35
|
}
|
|
134
|
-
|
|
135
|
-
.plain-text-item:nth-child(6n-2) {
|
|
136
|
-
background-color: rgba(0, 122, 255, 0.05);
|
|
137
|
-
}
|
|
138
|
-
}
|
|
36
|
+
}
|
|
@@ -37,12 +37,16 @@ $--color-FFBF00: #ffbf00;
|
|
|
37
37
|
--color-danger-hover: #{$--color-danger-hover};
|
|
38
38
|
--color-info-hover: #{$--color-info-hover};
|
|
39
39
|
|
|
40
|
+
--color-primary-005: #{rgba($--color-primary, 0.05)};
|
|
40
41
|
--color-primary-01: #{rgba($--color-primary, 0.1)};
|
|
41
42
|
--color-primary-04: #{rgba($--color-primary, 0.4)};
|
|
42
43
|
|
|
43
44
|
--color-warning-01: #{rgba($--color-warning, 0.1)};
|
|
44
45
|
--color-warning-04: #{rgba($--color-warning, 0.4)};
|
|
45
46
|
|
|
47
|
+
--color-danger-01: #{rgba($--color-danger, 0.1)};
|
|
48
|
+
--color-danger-04: #{rgba($--color-danger, 0.4)};
|
|
49
|
+
|
|
46
50
|
--color-FFBF00: #{$--color-FFBF00};
|
|
47
51
|
--color-FFBF00-hover: #{mix($--color-black, $--color-FFBF00, 10%)};
|
|
48
52
|
--color-FFBF00-01: #{rgba($--color-FFBF00, 0.1)};
|
|
@@ -12,9 +12,9 @@
|
|
|
12
12
|
<div>{{ item.endTime | dataF }}</div>
|
|
13
13
|
<div>{{ item.endTime | timeF }}</div>
|
|
14
14
|
</div>
|
|
15
|
-
<div
|
|
16
|
-
<div class="flex-box
|
|
17
|
-
<div class="n20-worker m-r-s">
|
|
15
|
+
<div>
|
|
16
|
+
<div class="flex-box">
|
|
17
|
+
<div class="n20-worker flex-item m-r-s">
|
|
18
18
|
<span class="worker-icon cl-icon-user"></span>
|
|
19
19
|
<span>{{ item.assignee }}</span>
|
|
20
20
|
</div>
|
|
@@ -31,7 +31,7 @@
|
|
|
31
31
|
>
|
|
32
32
|
</div>
|
|
33
33
|
</div>
|
|
34
|
-
<div v-if="item.suggestion" class="n20-description-c
|
|
34
|
+
<div v-if="item.suggestion" class="n20-description-c">
|
|
35
35
|
{{ item.suggestion }}
|
|
36
36
|
</div>
|
|
37
37
|
</div>
|
|
@@ -33,7 +33,11 @@
|
|
|
33
33
|
append-to-body
|
|
34
34
|
top="10vh"
|
|
35
35
|
>
|
|
36
|
-
<approvalImg
|
|
36
|
+
<approvalImg
|
|
37
|
+
class="text-c p-a"
|
|
38
|
+
:proc-inst-id="$route.query.processInstanceId"
|
|
39
|
+
style="height: 70vh; overflow: auto"
|
|
40
|
+
/>
|
|
37
41
|
</el-dialog>
|
|
38
42
|
</div>
|
|
39
43
|
</template>
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<el-descriptions
|
|
3
|
+
class="n20-descriptions"
|
|
4
|
+
:column="column"
|
|
5
|
+
size="default"
|
|
6
|
+
border
|
|
7
|
+
>
|
|
8
|
+
<slot></slot>
|
|
9
|
+
</el-descriptions>
|
|
10
|
+
</template>
|
|
11
|
+
|
|
12
|
+
<script>
|
|
13
|
+
export default {
|
|
14
|
+
name: 'Descriptions',
|
|
15
|
+
data() {
|
|
16
|
+
return {
|
|
17
|
+
column: 2
|
|
18
|
+
}
|
|
19
|
+
},
|
|
20
|
+
created() {
|
|
21
|
+
this.resize()
|
|
22
|
+
window.addEventListener('resize', this.resize)
|
|
23
|
+
},
|
|
24
|
+
beforeDestroy() {
|
|
25
|
+
window.removeEventListener('resize', this.resize)
|
|
26
|
+
},
|
|
27
|
+
methods: {
|
|
28
|
+
resize() {
|
|
29
|
+
let wW = document.documentElement.clientWidth
|
|
30
|
+
if (wW <= 1024) {
|
|
31
|
+
this.column = 1
|
|
32
|
+
} else if (wW > 1024 && wW <= 1600) {
|
|
33
|
+
this.column = 2
|
|
34
|
+
} else if (wW > 1600 && wW <= 1920) {
|
|
35
|
+
this.column = 3
|
|
36
|
+
} else if (wW > 1920) {
|
|
37
|
+
this.column = 4
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
</script>
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<div></div>
|
|
2
|
+
<div ref="chart"></div>
|
|
3
3
|
</template>
|
|
4
4
|
|
|
5
5
|
<script>
|
|
@@ -58,7 +58,7 @@ export default {
|
|
|
58
58
|
|
|
59
59
|
methods: {
|
|
60
60
|
initChart() {
|
|
61
|
-
this.chart = echarts.init(this.$
|
|
61
|
+
this.chart = echarts.init(this.$refs['chart'])
|
|
62
62
|
this.setOption()
|
|
63
63
|
},
|
|
64
64
|
|
|
@@ -84,19 +84,17 @@ export default {
|
|
|
84
84
|
},
|
|
85
85
|
|
|
86
86
|
xAxis({ xAxis }) {
|
|
87
|
-
xAxis =
|
|
88
|
-
xAxis
|
|
89
|
-
|
|
90
|
-
: [merge({}, axisConfig, xAxis)]
|
|
87
|
+
xAxis = Array.isArray(xAxis)
|
|
88
|
+
? xAxis.map((item) => merge({}, axisConfig, item))
|
|
89
|
+
: merge({}, axisConfig, xAxis)
|
|
91
90
|
|
|
92
91
|
return { xAxis }
|
|
93
92
|
},
|
|
94
93
|
|
|
95
94
|
yAxis({ yAxis }) {
|
|
96
|
-
yAxis =
|
|
97
|
-
yAxis
|
|
98
|
-
|
|
99
|
-
: [merge({}, axisConfig, yAxis)]
|
|
95
|
+
yAxis = Array.isArray(yAxis)
|
|
96
|
+
? yAxis.map((item) => merge({}, axisConfig, item))
|
|
97
|
+
: merge({}, axisConfig, yAxis)
|
|
100
98
|
|
|
101
99
|
return { yAxis }
|
|
102
100
|
},
|
|
@@ -106,6 +104,7 @@ export default {
|
|
|
106
104
|
const type = sery.type
|
|
107
105
|
let config = {}
|
|
108
106
|
if (type === 'bar') {
|
|
107
|
+
config = {}
|
|
109
108
|
} else if (type === 'line') {
|
|
110
109
|
config = {
|
|
111
110
|
symbolSize: 6,
|
|
@@ -1,56 +1,23 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { addListener, removeListener } from 'resize-detector'
|
|
2
2
|
|
|
3
3
|
export default {
|
|
4
|
-
data() {
|
|
5
|
-
return {
|
|
6
|
-
$_sidebarElm: null,
|
|
7
|
-
$_resizeHandler: null
|
|
8
|
-
}
|
|
9
|
-
},
|
|
10
4
|
mounted() {
|
|
11
|
-
this.
|
|
5
|
+
addListener(this.$refs['chart'], this.resize)
|
|
12
6
|
},
|
|
13
7
|
activated() {
|
|
14
|
-
if (!this
|
|
15
|
-
|
|
16
|
-
this.initListener()
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
// when keep-alive chart activated, auto resize
|
|
20
|
-
this.resize()
|
|
21
|
-
},
|
|
22
|
-
beforeDestroy() {
|
|
23
|
-
this.destroyListener()
|
|
8
|
+
if (!this._canActivated) return
|
|
9
|
+
addListener(this.$refs['chart'], this.resize)
|
|
24
10
|
},
|
|
25
11
|
deactivated() {
|
|
26
|
-
this.
|
|
12
|
+
this._canActivated = true
|
|
13
|
+
removeListener(this.$refs['chart'], this.resize)
|
|
14
|
+
},
|
|
15
|
+
beforeDestroy() {
|
|
16
|
+
removeListener(this.$refs['chart'], this.resize)
|
|
27
17
|
},
|
|
28
18
|
methods: {
|
|
29
|
-
// use $_ for mixins properties
|
|
30
|
-
// https://vuejs.org/v2/style-guide/index.html#Private-property-names-essential
|
|
31
|
-
$_sidebarResizeHandler(e) {
|
|
32
|
-
if (e.propertyName === 'width') {
|
|
33
|
-
this.$_resizeHandler()
|
|
34
|
-
}
|
|
35
|
-
},
|
|
36
|
-
initListener() {
|
|
37
|
-
this.$_resizeHandler = debounce(() => {
|
|
38
|
-
this.resize()
|
|
39
|
-
}, 100)
|
|
40
|
-
window.addEventListener('resize', this.$_resizeHandler)
|
|
41
|
-
|
|
42
|
-
this.$_sidebarElm = document.getElementsByClassName('sidebar-container')[0]
|
|
43
|
-
this.$_sidebarElm && this.$_sidebarElm.addEventListener('transitionend', this.$_sidebarResizeHandler)
|
|
44
|
-
},
|
|
45
|
-
destroyListener() {
|
|
46
|
-
window.removeEventListener('resize', this.$_resizeHandler)
|
|
47
|
-
this.$_resizeHandler = null
|
|
48
|
-
|
|
49
|
-
this.$_sidebarElm && this.$_sidebarElm.removeEventListener('transitionend', this.$_sidebarResizeHandler)
|
|
50
|
-
},
|
|
51
19
|
resize() {
|
|
52
|
-
|
|
53
|
-
chart && chart.resize()
|
|
20
|
+
this.chart && this.chart.resize()
|
|
54
21
|
}
|
|
55
22
|
}
|
|
56
23
|
}
|
|
@@ -297,7 +297,12 @@
|
|
|
297
297
|
</component>
|
|
298
298
|
</div>
|
|
299
299
|
</el-dialog>
|
|
300
|
-
<Dialog
|
|
300
|
+
<Dialog
|
|
301
|
+
title="附件批量上传"
|
|
302
|
+
:visible.sync="visibleBatch"
|
|
303
|
+
top="5vh"
|
|
304
|
+
width="60%"
|
|
305
|
+
>
|
|
301
306
|
<cl-upload
|
|
302
307
|
class="n20-upload-drag"
|
|
303
308
|
:drag="true"
|
|
@@ -305,8 +310,9 @@
|
|
|
305
310
|
:auto-upload="false"
|
|
306
311
|
:multiple="true"
|
|
307
312
|
:limit="10"
|
|
308
|
-
:
|
|
313
|
+
:on-remove="onRemove"
|
|
309
314
|
:on-change="onChange"
|
|
315
|
+
:on-success="onSuccess"
|
|
310
316
|
:http-request="customUpload"
|
|
311
317
|
accept=".rar,.zip,.doc,.docx,.pdf,image/*"
|
|
312
318
|
>
|
|
@@ -457,15 +463,38 @@ export default {
|
|
|
457
463
|
|
|
458
464
|
this.tableData = this.tableData.concat(flieList)
|
|
459
465
|
this.visibleBatch = false
|
|
466
|
+
this.currFileList = []
|
|
460
467
|
}
|
|
461
468
|
}
|
|
462
469
|
},
|
|
470
|
+
onRemove(file, filelist) {
|
|
471
|
+
this.currFileList = filelist
|
|
472
|
+
let params = this.uploadParams
|
|
473
|
+
let data = new FormData()
|
|
474
|
+
let dataArray = []
|
|
475
|
+
console.log(this.currFileList, 999)
|
|
476
|
+
this.currFileList.forEach((item) => {
|
|
477
|
+
data.append('file', item.raw)
|
|
478
|
+
let attno = null
|
|
479
|
+
dataArray.push({
|
|
480
|
+
...params,
|
|
481
|
+
recordname: item.name,
|
|
482
|
+
fileSize: item.size,
|
|
483
|
+
memo: item.name,
|
|
484
|
+
attno
|
|
485
|
+
})
|
|
486
|
+
})
|
|
487
|
+
data.append('data', JSON.stringify(dataArray))
|
|
488
|
+
//档案生效时间-截止时间
|
|
489
|
+
data.append('date', `${this.getFormatDate()},2099-12-31 23:59:59`)
|
|
490
|
+
this.batchData = data
|
|
491
|
+
},
|
|
463
492
|
onChange(file, filelist) {
|
|
464
493
|
this.currFileList = filelist
|
|
465
|
-
console.log(filelist)
|
|
466
494
|
let params = this.uploadParams
|
|
467
495
|
let data = new FormData()
|
|
468
496
|
let dataArray = []
|
|
497
|
+
console.log(this.currFileList, 999)
|
|
469
498
|
this.currFileList.forEach((item) => {
|
|
470
499
|
data.append('file', item.raw)
|
|
471
500
|
let attno = null
|
|
@@ -1,8 +1,18 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div>
|
|
3
3
|
<div v-if="size !== 'mini'" class="flex-box p-t-s p-b-s">
|
|
4
|
-
<statisItem
|
|
5
|
-
|
|
4
|
+
<statisItem
|
|
5
|
+
type="当页合计"
|
|
6
|
+
:list="pageList"
|
|
7
|
+
:show-w="showW"
|
|
8
|
+
:count-label="countLabel"
|
|
9
|
+
/>
|
|
10
|
+
<statisItem
|
|
11
|
+
type="全部合计"
|
|
12
|
+
:list="totalList"
|
|
13
|
+
:show-w="showW"
|
|
14
|
+
:count-label="countLabel"
|
|
15
|
+
/>
|
|
6
16
|
</div>
|
|
7
17
|
<div v-else class="n20-statis p-t-s p-b-s">
|
|
8
18
|
<span class="m-r">
|
|
@@ -49,6 +59,10 @@ export default {
|
|
|
49
59
|
type: [Boolean, String],
|
|
50
60
|
default: false
|
|
51
61
|
},
|
|
62
|
+
countLabel: {
|
|
63
|
+
type: Array,
|
|
64
|
+
default: undefined
|
|
65
|
+
},
|
|
52
66
|
size: {
|
|
53
67
|
type: String,
|
|
54
68
|
default: undefined
|
|
@@ -4,7 +4,11 @@
|
|
|
4
4
|
><span class="stati-type stati-item-cell">{{ type }}</span
|
|
5
5
|
><span class="n20-statis-division p-l-s p-r-s stati-item-cell">|</span
|
|
6
6
|
><span v-for="(item, i) in list" :key="i" class="p-r stati-item-cell"
|
|
7
|
-
>{{ item.label }}:<span
|
|
7
|
+
>{{ item.label }}:<span
|
|
8
|
+
v-if="countLabel.includes(item.label)"
|
|
9
|
+
class="n20-primary"
|
|
10
|
+
>{{ item.value }}</span
|
|
11
|
+
><span v-else class="n20-primary">{{
|
|
8
12
|
item | numerify('0,0.00', showW)
|
|
9
13
|
}}</span></span
|
|
10
14
|
>
|
|
@@ -19,9 +23,7 @@ export default {
|
|
|
19
23
|
name: 'StatisItem',
|
|
20
24
|
filters: {
|
|
21
25
|
numerify({ label, value, unit = '' }, f, w) {
|
|
22
|
-
if (
|
|
23
|
-
return value
|
|
24
|
-
} else if (!w) {
|
|
26
|
+
if (!w) {
|
|
25
27
|
return numerify(value, f) + unit
|
|
26
28
|
} else {
|
|
27
29
|
if (value > n) {
|
|
@@ -48,6 +50,10 @@ export default {
|
|
|
48
50
|
showW: {
|
|
49
51
|
type: Boolean,
|
|
50
52
|
default: false
|
|
53
|
+
},
|
|
54
|
+
countLabel: {
|
|
55
|
+
type: Array,
|
|
56
|
+
default: () => ['笔数']
|
|
51
57
|
}
|
|
52
58
|
}
|
|
53
59
|
}
|
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
:title="i === 0 ? lists[0].title : undefined"
|
|
7
7
|
:type="item.type"
|
|
8
8
|
:list="item.list"
|
|
9
|
+
:count-label="countLabel"
|
|
9
10
|
/>
|
|
10
11
|
</div>
|
|
11
12
|
|
|
@@ -23,6 +24,7 @@
|
|
|
23
24
|
:title="i === 0 ? lists[0].title : undefined"
|
|
24
25
|
:type="item.type"
|
|
25
26
|
:list="item.list"
|
|
27
|
+
:count-label="countLabel"
|
|
26
28
|
/>
|
|
27
29
|
<i class="rotating-icon n20-icon-nianfenqiehuan-youce"></i>
|
|
28
30
|
</div>
|
|
@@ -35,6 +37,7 @@
|
|
|
35
37
|
:title="i === 0 ? group.title : undefined"
|
|
36
38
|
:type="item.type"
|
|
37
39
|
:list="item.list"
|
|
40
|
+
:count-label="countLabel"
|
|
38
41
|
/>
|
|
39
42
|
</div>
|
|
40
43
|
</div>
|
|
@@ -50,6 +53,10 @@ export default {
|
|
|
50
53
|
lists: {
|
|
51
54
|
type: Array,
|
|
52
55
|
default: () => []
|
|
56
|
+
},
|
|
57
|
+
countLabel: {
|
|
58
|
+
type: Array,
|
|
59
|
+
default: undefined
|
|
53
60
|
}
|
|
54
61
|
}
|
|
55
62
|
}
|