@10yun/cv-mobile-ui 0.4.1 → 0.4.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.
Files changed (112) hide show
  1. package/package.json +1 -1
  2. package/ui-cv/cv-badge/{uni-badge.vue → cv-badge.vue} +2 -2
  3. package/ui-cv/cv-calendar/calendar.js +762 -345
  4. package/ui-cv/cv-calendar/cv-calendar-item.vue +198 -0
  5. package/ui-cv/cv-calendar/cv-calendar.vue +508 -0
  6. package/ui-cv/cv-card/cv-card.vue +427 -0
  7. package/ui-cv/cv-col/cv-col.vue +2965 -0
  8. package/ui-cv/cv-collapse/cv-collapse.vue +146 -0
  9. package/ui-cv/cv-collapse-item/cv-collapse-item.vue +395 -0
  10. package/ui-cv/cv-combox/cv-combox.vue +250 -0
  11. package/ui-cv/cv-countdown/cv-countdown.vue +245 -0
  12. package/ui-cv/cv-data-checkbox/cv-data-checkbox.vue +841 -0
  13. package/ui-cv/cv-data-indexed-list/cv-data-indexed-list-item.vue +154 -0
  14. package/ui-cv/cv-data-indexed-list/cv-data-indexed-list.vue +376 -0
  15. package/ui-cv/cv-data-picker/cv-data-picker.vue +486 -0
  16. package/ui-cv/cv-data-pickerview/{uni-data-picker.js → cv-data-picker.js} +0 -0
  17. package/ui-cv/cv-data-pickerview/cv-data-pickerview.vue +304 -0
  18. package/ui-cv/cv-dateformat/cv-dateformat.vue +86 -0
  19. package/ui-cv/cv-datetime-picker/calendar.vue +752 -738
  20. package/ui-cv/cv-datetime-picker/cv-datetime-picker.vue +958 -0
  21. package/ui-cv/cv-datetime-picker/time-picker.vue +900 -892
  22. package/ui-cv/cv-easyinput/cv-easyinput.vue +514 -0
  23. package/ui-cv/cv-fab/cv-fab.vue +465 -0
  24. package/ui-cv/cv-fab/{uni-fab.vue.bak → cv-fab.vue.bak} +2 -2
  25. package/ui-cv/cv-fav/cv-fav.vue +150 -0
  26. package/ui-cv/cv-file-picker/cv-file-picker.vue +619 -0
  27. package/ui-cv/cv-form-item/cv-form-item.vue +1 -1
  28. package/ui-cv/cv-goods-nav/{uni-goods-nav.vue → cv-goods-nav.vue} +1 -1
  29. package/ui-cv/{cv-icons2/cv-icons2.vue → cv-icon2/cv-icon2.vue} +3 -3
  30. package/ui-cv/{cv-icons2 → cv-icon2}/icons.js +0 -0
  31. package/ui-cv/{cv-icons2 → cv-icon2}/uni.ttf +0 -0
  32. package/ui-cv/cv-indexed-list/cv-indexed-list-item.vue +154 -0
  33. package/ui-cv/cv-indexed-list/cv-indexed-list.vue +371 -0
  34. package/ui-cv/cv-input-password/cv-input-password.vue +2 -2
  35. package/ui-cv/{cv-link/uni-link.vue → cv-link2/cv-link2.vue} +1 -1
  36. package/ui-cv/cv-list/cv-list.vue +107 -0
  37. package/ui-cv/cv-list/cv-refresh.vue +65 -0
  38. package/ui-cv/cv-list-ad/cv-list-ad.vue +113 -0
  39. package/ui-cv/cv-list-chat/{uni-list-chat.scss → cv-list-chat.scss} +0 -0
  40. package/ui-cv/cv-list-chat/{uni-list-chat.vue → cv-list-chat.vue} +0 -0
  41. package/ui-cv/cv-list-item/cv-list-item.vue +449 -0
  42. package/ui-cv/cv-nav-bar/cv-nav-bar.vue +256 -0
  43. package/ui-cv/cv-nav-bar/{uni-status-bar.vue → cv-status-bar.vue} +0 -0
  44. package/ui-cv/cv-notice-bar/cv-notice-bar.vue +453 -0
  45. package/ui-cv/cv-number-box/cv-number-box.vue +223 -0
  46. package/ui-cv/cv-pagination/cv-pagination.vue +397 -0
  47. package/ui-cv/cv-popup/cv-popup.vue +429 -0
  48. package/ui-cv/cv-popup-dialog/{uni-popup-dialog.vue → cv-popup-dialog.vue} +0 -0
  49. package/ui-cv/cv-popup-message/cv-popup-message.vue +143 -0
  50. package/ui-cv/cv-popup-share/{uni-popup-share.vue → cv-popup-share.vue} +0 -0
  51. package/ui-cv/cv-row/{uni-row.vue → cv-row.vue} +1 -1
  52. package/ui-cv/cv-search-bar/cv-search-bar.vue +280 -0
  53. package/ui-cv/cv-section/{uni-section.vue → cv-section.vue} +0 -0
  54. package/ui-cv/cv-segmented-control/{uni-segmented-control.vue → cv-segmented-control.vue} +0 -0
  55. package/ui-cv/cv-status-bar/{uni-status-bar.vue → cv-status-bar.vue} +0 -0
  56. package/ui-cv/cv-steps/cv-steps.vue +293 -0
  57. package/ui-cv/cv-swipe-action/{uni-swipe-action.vue → cv-swipe-action.vue} +0 -0
  58. package/ui-cv/cv-swipe-action-item/{uni-swipe-action-item.vue → cv-swipe-action-item.vue} +0 -0
  59. package/ui-cv/cv-swiper-dot/cv-swiper-dot.vue +255 -0
  60. package/ui-cv/cv-table/cv-table.vue +460 -0
  61. package/ui-cv/cv-tag/cv-tag.vue +276 -0
  62. package/ui-cv/cv-tbody/cv-tbody.vue +28 -0
  63. package/ui-cv/cv-td/cv-td.vue +93 -0
  64. package/ui-cv/cv-test/{uni-test.vue → cv-test.vue} +0 -0
  65. package/ui-cv/cv-th/cv-th.vue +270 -0
  66. package/ui-cv/cv-thead/cv-thead.vue +114 -0
  67. package/ui-cv/cv-title/cv-title.vue +168 -0
  68. package/ui-cv/cv-tr/cv-tr.vue +166 -0
  69. package/ui-cv/cv-transition/cv-transition.vue +279 -0
  70. package/ui-cv/cv-calendar/uni-calendar-item.vue +0 -171
  71. package/ui-cv/cv-calendar/uni-calendar.vue +0 -504
  72. package/ui-cv/cv-card/uni-card.vue +0 -420
  73. package/ui-cv/cv-col/uni-col.vue +0 -2968
  74. package/ui-cv/cv-collapse/uni-collapse.vue +0 -146
  75. package/ui-cv/cv-collapse-item/uni-collapse-item.vue +0 -378
  76. package/ui-cv/cv-combox/uni-combox.vue +0 -237
  77. package/ui-cv/cv-countdown/uni-countdown.vue +0 -234
  78. package/ui-cv/cv-data-checkbox/uni-data-checkbox.vue +0 -792
  79. package/ui-cv/cv-data-indexed-list/uni-data-indexed-list-item.vue +0 -142
  80. package/ui-cv/cv-data-indexed-list/uni-data-indexed-list.vue +0 -364
  81. package/ui-cv/cv-data-picker/uni-data-picker.vue +0 -468
  82. package/ui-cv/cv-data-pickerview/uni-data-pickerview.vue +0 -298
  83. package/ui-cv/cv-dateformat/uni-dateformat.vue +0 -88
  84. package/ui-cv/cv-datetime-picker/uni-datetime-picker.vue +0 -874
  85. package/ui-cv/cv-easyinput/uni-easyinput.vue +0 -438
  86. package/ui-cv/cv-fab/uni-fab.vue +0 -443
  87. package/ui-cv/cv-fav/uni-fav.vue +0 -136
  88. package/ui-cv/cv-file-picker/uni-file-picker.vue +0 -614
  89. package/ui-cv/cv-indexed-list/uni-indexed-list-item.vue +0 -142
  90. package/ui-cv/cv-indexed-list/uni-indexed-list.vue +0 -357
  91. package/ui-cv/cv-list/uni-list.vue +0 -107
  92. package/ui-cv/cv-list/uni-refresh.vue +0 -65
  93. package/ui-cv/cv-list-ad/uni-list-ad.vue +0 -106
  94. package/ui-cv/cv-list-item/uni-list-item.vue +0 -428
  95. package/ui-cv/cv-nav-bar/uni-nav-bar.vue +0 -244
  96. package/ui-cv/cv-notice-bar/uni-notice-bar.vue +0 -394
  97. package/ui-cv/cv-number-box/uni-number-box.vue +0 -224
  98. package/ui-cv/cv-pagination/uni-pagination.vue +0 -376
  99. package/ui-cv/cv-popup/uni-popup.vue +0 -412
  100. package/ui-cv/cv-popup-message/uni-popup-message.vue +0 -143
  101. package/ui-cv/cv-search-bar/uni-search-bar.vue +0 -262
  102. package/ui-cv/cv-steps/uni-steps.vue +0 -250
  103. package/ui-cv/cv-swiper-dot/uni-swiper-dot.vue +0 -205
  104. package/ui-cv/cv-table/uni-table.vue +0 -455
  105. package/ui-cv/cv-tag/uni-tag.vue +0 -283
  106. package/ui-cv/cv-tbody/uni-tbody.vue +0 -30
  107. package/ui-cv/cv-td/uni-td.vue +0 -88
  108. package/ui-cv/cv-th/uni-th.vue +0 -259
  109. package/ui-cv/cv-thead/uni-thead.vue +0 -114
  110. package/ui-cv/cv-title/uni-title.vue +0 -171
  111. package/ui-cv/cv-tr/uni-tr.vue +0 -156
  112. package/ui-cv/cv-transition/uni-transition.vue +0 -287
@@ -1,30 +0,0 @@
1
- <template>
2
- <!-- #ifdef H5 -->
3
- <tbody>
4
- <slot></slot>
5
- </tbody>
6
- <!-- #endif -->
7
- <!-- #ifndef H5 -->
8
- <view>
9
- <slot></slot>
10
- </view>
11
- <!-- #endif -->
12
- </template>
13
-
14
- <script>
15
- export default {
16
- name: 'uniBody',
17
- options: {
18
- virtualHost: true
19
- },
20
- data() {
21
- return {
22
-
23
- }
24
- },
25
- created() {},
26
- methods: {}
27
- }
28
- </script>
29
-
30
- <style scoped></style>
@@ -1,88 +0,0 @@
1
- <template>
2
- <!-- #ifdef H5 -->
3
- <td class="uni-table-td" :rowspan="rowspan" :colspan="colspan" :class="{'table--border':border}" :style="{width:width + 'px','text-align':align}">
4
- <slot></slot>
5
- </td>
6
- <!-- #endif -->
7
- <!-- #ifndef H5 -->
8
- <!-- :class="{'table--border':border}" -->
9
- <view class="uni-table-td" :class="{'table--border':border}" :style="{width:width + 'px','text-align':align}">
10
- <slot></slot>
11
- </view>
12
- <!-- #endif -->
13
-
14
- </template>
15
-
16
- <script>
17
- /**
18
- * Td 单元格
19
- * @description 表格中的标准单元格组件
20
- * @tutorial https://ext.dcloud.net.cn/plugin?id=3270
21
- * @property {Number} align = [left|center|right] 单元格对齐方式
22
- */
23
- export default {
24
- name: 'uniTd',
25
- options: {
26
- virtualHost: true
27
- },
28
- props: {
29
- width: {
30
- type: [String, Number],
31
- default: ''
32
- },
33
- align: {
34
- type: String,
35
- default: 'left'
36
- },
37
- rowspan: {
38
- type: [Number, String],
39
- default: 1
40
- },
41
- colspan: {
42
- type: [Number, String],
43
- default: 1
44
- }
45
- },
46
- data() {
47
- return {
48
- border: false
49
- };
50
- },
51
- created() {
52
- this.root = this.getTable()
53
- this.border = this.root.border
54
- },
55
- methods: {
56
- /**
57
- * 获取父元素实例
58
- */
59
- getTable() {
60
- let parent = this.$parent;
61
- let parentName = parent.$options.name;
62
- while (parentName !== 'uniTable') {
63
- parent = parent.$parent;
64
- if (!parent) return false;
65
- parentName = parent.$options.name;
66
- }
67
- return parent;
68
- },
69
- }
70
- }
71
- </script>
72
-
73
- <style scoped>
74
- .uni-table-td {
75
- display: table-cell;
76
- padding: 8px 10px;
77
- font-size: 14px;
78
- border-bottom: 1px #EBEEF5 solid;
79
- font-weight: 400;
80
- color: #606266;
81
- line-height: 23px;
82
- box-sizing: border-box;
83
- }
84
-
85
- .table--border {
86
- border-right: 1px #EBEEF5 solid;
87
- }
88
- </style>
@@ -1,259 +0,0 @@
1
- <template>
2
- <!-- #ifdef H5 -->
3
- <th :rowspan="rowspan" :colspan="colspan" class="uni-table-th" :class="{ 'table--border': border }" :style="{ width: width + 'px', 'text-align': align }">
4
- <view class="uni-table-th-row">
5
- <view class="uni-table-th-content" :style="{ 'justify-content': contentAlign }" @click="sort">
6
- <slot></slot>
7
- <view v-if="sortable" class="arrow-box">
8
- <text class="arrow up" :class="{ active: ascending }" @click.stop="ascendingFn"></text>
9
- <text class="arrow down" :class="{ active: descending }" @click.stop="descendingFn"></text>
10
- </view>
11
- </view>
12
- <dropdown v-if="filterType || filterData.length" :filterData="filterData" :filterType="filterType" @change="ondropdown"></dropdown>
13
- </view>
14
- </th>
15
- <!-- #endif -->
16
- <!-- #ifndef H5 -->
17
- <view class="uni-table-th" :class="{ 'table--border': border }" :style="{ width: width + 'px', 'text-align': align }">
18
- <slot></slot>
19
- </view>
20
- <!-- #endif -->
21
- </template>
22
-
23
- <script>
24
- import dropdown from './filter-dropdown.vue'
25
- /**
26
- * Th 表头
27
- * @description 表格内的表头单元格组件
28
- * @tutorial https://ext.dcloud.net.cn/plugin?id=3270
29
- * @property {Number} width 单元格宽度
30
- * @property {Boolean} sortable 是否启用排序
31
- * @property {Number} align = [left|center|right] 单元格对齐方式
32
- * @value left 单元格文字左侧对齐
33
- * @value center 单元格文字居中
34
- * @value right 单元格文字右侧对齐
35
- * @property {Array} filterData 筛选数据
36
- * @property {String} filterType [search|select] 筛选类型
37
- * @value search 关键字搜素
38
- * @value select 条件选择
39
- * @event {Function} sort-change 排序触发事件
40
- */
41
- export default {
42
- name: 'uniTh',
43
- options: {
44
- virtualHost: true
45
- },
46
- components: {
47
- dropdown
48
- },
49
- emits: ['sort-change', 'filter-change'],
50
- props: {
51
- width: {
52
- type: [String, Number],
53
- default: ''
54
- },
55
- align: {
56
- type: String,
57
- default: 'left'
58
- },
59
- rowspan: {
60
- type: [Number, String],
61
- default: 1
62
- },
63
- colspan: {
64
- type: [Number, String],
65
- default: 1
66
- },
67
- sortable: {
68
- type: Boolean,
69
- default: false
70
- },
71
- filterType: {
72
- type: String,
73
- default: ""
74
- },
75
- filterData: {
76
- type: Array,
77
- default () {
78
- return []
79
- }
80
- }
81
- },
82
- data() {
83
- return {
84
- border: false,
85
- ascending: false,
86
- descending: false
87
- }
88
- },
89
- computed: {
90
- contentAlign() {
91
- let align = 'left'
92
- switch (this.align) {
93
- case 'left':
94
- align = 'flex-start'
95
- break
96
- case 'center':
97
- align = 'center'
98
- break
99
- case 'right':
100
- align = 'flex-end'
101
- break
102
- }
103
- return align
104
- }
105
- },
106
- created() {
107
- this.root = this.getTable('uniTable')
108
- this.rootTr = this.getTable('uniTr')
109
- this.rootTr.minWidthUpdate(this.width ? this.width : 140)
110
- this.border = this.root.border
111
- this.root.thChildren.push(this)
112
- },
113
- methods: {
114
- sort() {
115
- if (!this.sortable) return
116
- this.clearOther()
117
- if (!this.ascending && !this.descending) {
118
- this.ascending = true
119
- this.$emit('sort-change', {
120
- order: 'ascending'
121
- })
122
- return
123
- }
124
- if (this.ascending && !this.descending) {
125
- this.ascending = false
126
- this.descending = true
127
- this.$emit('sort-change', {
128
- order: 'descending'
129
- })
130
- return
131
- }
132
-
133
- if (!this.ascending && this.descending) {
134
- this.ascending = false
135
- this.descending = false
136
- this.$emit('sort-change', {
137
- order: null
138
- })
139
- }
140
- },
141
- ascendingFn() {
142
- this.clearOther()
143
- this.ascending = !this.ascending
144
- this.descending = false
145
- this.$emit('sort-change', {
146
- order: this.ascending ? 'ascending' : null
147
- })
148
- },
149
- descendingFn() {
150
- this.clearOther()
151
- this.descending = !this.descending
152
- this.ascending = false
153
- this.$emit('sort-change', {
154
- order: this.descending ? 'descending' : null
155
- })
156
- },
157
- clearOther() {
158
- this.root.thChildren.map(item => {
159
- if (item !== this) {
160
- item.ascending = false
161
- item.descending = false
162
- }
163
- return item
164
- })
165
- },
166
- ondropdown(e) {
167
- this.$emit("filter-change", e)
168
- },
169
- /**
170
- * 获取父元素实例
171
- */
172
- getTable(name) {
173
- let parent = this.$parent
174
- let parentName = parent.$options.name
175
- while (parentName !== name) {
176
- parent = parent.$parent
177
- if (!parent) return false
178
- parentName = parent.$options.name
179
- }
180
- return parent
181
- }
182
- }
183
- }
184
- </script>
185
-
186
- <style scoped>
187
- .uni-table-th {
188
- padding: 12px 10px;
189
- /* #ifndef APP-NVUE */
190
- display: table-cell;
191
- box-sizing: border-box;
192
- /* #endif */
193
- font-size: 14px;
194
- font-weight: bold;
195
- color: #909399;
196
- border-bottom: 1px #ebeef5 solid;
197
- }
198
-
199
- .uni-table-th-row {
200
- /* #ifndef APP-NVUE */
201
- display: flex;
202
- /* #endif */
203
- flex-direction: row;
204
- }
205
-
206
- .table--border {
207
- border-right: 1px #ebeef5 solid;
208
- }
209
-
210
- .uni-table-th-content {
211
- display: flex;
212
- align-items: center;
213
- flex: 1;
214
- }
215
-
216
- .arrow {
217
- display: block;
218
- position: relative;
219
- width: 10px;
220
- height: 8px;
221
- left: 5px;
222
- overflow: hidden;
223
- cursor: pointer;
224
- }
225
-
226
- .down {
227
- top: 3px;
228
- }
229
-
230
- .down ::after {
231
- content: "";
232
- width: 8px;
233
- height: 8px;
234
- position: absolute;
235
- left: 2px;
236
- top: -5px;
237
- transform: rotate(45deg);
238
- background-color: #ccc;
239
- }
240
-
241
- .down.active ::after {
242
- background-color: #007aff;
243
- }
244
-
245
- .up ::after {
246
- content: "";
247
- width: 8px;
248
- height: 8px;
249
- position: absolute;
250
- left: 2px;
251
- top: 5px;
252
- transform: rotate(45deg);
253
- background-color: #ccc;
254
- }
255
-
256
- .up.active ::after {
257
- background-color: #007aff;
258
- }
259
- </style>
@@ -1,114 +0,0 @@
1
- <template>
2
- <!-- #ifdef H5 -->
3
- <thead class="uni-table-thead">
4
- <tr class="uni-table-tr">
5
- <th :rowspan="rowspan" colspan="1" class="checkbox" :class="{ 'tr-table--border': border }">
6
- <table-checkbox :indeterminate="indeterminate" :checked="checked" @checkboxSelected="checkboxSelected"></table-checkbox>
7
- </th>
8
- </tr>
9
- <slot></slot>
10
- </thead>
11
- <!-- #endif -->
12
- <!-- #ifndef H5 -->
13
- <view class="uni-table-thead">
14
- <slot></slot>
15
- </view>
16
- <!-- #endif -->
17
- </template>
18
-
19
- <script>
20
- import tableCheckbox from '../uni-tr/table-checkbox.vue'
21
- export default {
22
- name: 'uniThead',
23
- components: {
24
- tableCheckbox
25
- },
26
- options: {
27
- virtualHost: true
28
- },
29
- data() {
30
- return {
31
- border: false,
32
- selection: false,
33
- rowspan: 1,
34
- indeterminate: false,
35
- checked: false
36
- }
37
- },
38
- created() {
39
- this.root = this.getTable()
40
- // #ifdef H5
41
- this.root.theadChildren = this
42
- // #endif
43
- this.border = this.root.border
44
- this.selection = this.root.type
45
- },
46
- methods: {
47
- init(self) {
48
- this.rowspan++
49
- },
50
- checkboxSelected(e) {
51
- this.indeterminate = false
52
- const backIndexData = this.root.backIndexData
53
- const data = this.root.trChildren.filter(v => !v.disabled && v.keyValue)
54
- if (backIndexData.length === data.length) {
55
- this.checked = false
56
- this.root.clearSelection()
57
- } else {
58
- this.checked = true
59
- this.root.selectionAll()
60
- }
61
- },
62
- /**
63
- * 获取父元素实例
64
- */
65
- getTable(name = 'uniTable') {
66
- let parent = this.$parent
67
- let parentName = parent.$options.name
68
- while (parentName !== name) {
69
- parent = parent.$parent
70
- if (!parent) return false
71
- parentName = parent.$options.name
72
- }
73
- return parent
74
- }
75
- }
76
- }
77
- </script>
78
-
79
- <style scoped>
80
- .uni-table-thead {
81
- display: table-header-group;
82
- }
83
-
84
- .uni-table-tr {
85
- /* #ifndef APP-NVUE */
86
- display: table-row;
87
- transition: all 0.3s;
88
- box-sizing: border-box;
89
- /* #endif */
90
- border: 1px red solid;
91
- background-color: #fafafa;
92
- }
93
-
94
- .checkbox {
95
- padding: 0 8px;
96
- width: 26px;
97
- padding-left: 12px;
98
- /* #ifndef APP-NVUE */
99
- display: table-cell;
100
- vertical-align: middle;
101
- /* #endif */
102
- color: #333;
103
- font-weight: 500;
104
- border-bottom: 1px #ebeef5 solid;
105
- font-size: 14px;
106
- }
107
-
108
- .tr-table--border {
109
- border-right: 1px #ebeef5 solid;
110
- }
111
-
112
- /* #ifndef APP-NVUE */
113
- /* #endif */
114
- </style>
@@ -1,171 +0,0 @@
1
- <template>
2
- <view class="uni-title__box" :style="{'align-items':textAlign}">
3
- <text class="uni-title__base" :class="['uni-'+type]" :style="{'color':color}">{{title}}</text>
4
- </view>
5
- </template>
6
-
7
- <script>
8
- /**
9
- * Title 章节标题
10
- * @description 章节标题,通常用于记录页面标题,使用当前组件,uni-app 如果开启统计,将会自动统计页面标题
11
- * @tutorial https://ext.dcloud.net.cn/plugin?id=1066
12
- * @property {String} type = [h1|h2|h3|h4|h5] 标题类型
13
- * @value h1 一级标题
14
- * @value h2 二级标题
15
- * @value h3 三级标题
16
- * @value h4 四级标题
17
- * @value h5 五级标题
18
- * @property {String} title 章节标题内容
19
- * @property {String} align = [left|center|right] 对齐方式
20
- * @value left 做对齐
21
- * @value center 居中对齐
22
- * @value right 右对齐
23
- * @property {String} color 字体颜色
24
- * @property {Boolean} stat = [true|false] 是否开启统计功能呢,如不填写type值,默认为开启,填写 type 属性,默认为关闭
25
- */
26
- export default {
27
- name: "UniTitle",
28
- props: {
29
- type: {
30
- type: String,
31
- default: ''
32
- },
33
- title: {
34
- type: String,
35
- default: ''
36
- },
37
- align: {
38
- type: String,
39
- default: 'left'
40
- },
41
- color: {
42
- type: String,
43
- default: '#333333'
44
- },
45
- stat: {
46
- type: [Boolean, String],
47
- default: ''
48
- }
49
- },
50
- data() {
51
- return {
52
-
53
- };
54
- },
55
- computed: {
56
- textAlign() {
57
- let align = 'center';
58
- switch (this.align) {
59
- case 'left':
60
- align = 'flex-start'
61
- break;
62
- case 'center':
63
- align = 'center'
64
- break;
65
- case 'right':
66
- align = 'flex-end'
67
- break;
68
- }
69
- return align
70
- }
71
- },
72
- watch: {
73
- title(newVal) {
74
- if (this.isOpenStat()) {
75
- // 上报数据
76
- if (uni.report) {
77
- uni.report('title', this.title)
78
- }
79
- }
80
- }
81
- },
82
- mounted() {
83
- if (this.isOpenStat()) {
84
- // 上报数据
85
- if (uni.report) {
86
- uni.report('title', this.title)
87
- }
88
- }
89
- },
90
- methods: {
91
- isOpenStat() {
92
- if (this.stat === '') {
93
- this.isStat = false
94
- }
95
- let stat_type = (typeof(this.stat) === 'boolean' && this.stat) || (typeof(this.stat) === 'string' && this.stat !==
96
- '')
97
- if (this.type === "") {
98
- this.isStat = true
99
- if (this.stat.toString() === 'false') {
100
- this.isStat = false
101
- }
102
- }
103
-
104
- if (this.type !== '') {
105
- this.isStat = true
106
- if (stat_type) {
107
- this.isStat = true
108
- } else {
109
- this.isStat = false
110
- }
111
- }
112
- return this.isStat
113
- }
114
- }
115
- }
116
- </script>
117
-
118
- <style scoped>
119
- /* .uni-title {
120
-
121
- } */
122
- .uni-title__box {
123
- /* #ifndef APP-NVUE */
124
- display: flex;
125
- /* #endif */
126
- flex-direction: column;
127
- align-items: flex-start;
128
- justify-content: center;
129
- padding: 8px 0;
130
- flex: 1;
131
- }
132
-
133
- .uni-title__base {
134
- font-size: 15px;
135
- color: #333;
136
- font-weight: 500;
137
- }
138
-
139
- .uni-h1 {
140
- font-size: 20px;
141
- color: #333;
142
- font-weight: bold;
143
- }
144
-
145
- .uni-h2 {
146
- font-size: 18px;
147
- color: #333;
148
- font-weight: bold;
149
- }
150
-
151
- .uni-h3 {
152
- font-size: 16px;
153
- color: #333;
154
- font-weight: bold;
155
- /* font-weight: 400; */
156
- }
157
-
158
- .uni-h4 {
159
- font-size: 14px;
160
- color: #333;
161
- font-weight: bold;
162
- /* font-weight: 300; */
163
- }
164
-
165
- .uni-h5 {
166
- font-size: 12px;
167
- color: #333;
168
- font-weight: bold;
169
- /* font-weight: 200; */
170
- }
171
- </style>