@tongfun/tf-widget 0.1.18 → 0.1.22

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 (99) hide show
  1. package/README.md +49 -42
  2. package/lib/css/1.841c5d60.css +1 -0
  3. package/lib/tf-widget.common.1.js +9 -13
  4. package/lib/tf-widget.common.js +1102 -950
  5. package/lib/tf-widget.css +1 -1
  6. package/lib/tf-widget.umd.1.js +9 -13
  7. package/lib/tf-widget.umd.js +1102 -950
  8. package/lib/tf-widget.umd.min.1.js +1 -1
  9. package/lib/tf-widget.umd.min.js +4 -4
  10. package/package/svg-icon/index.js +8 -8
  11. package/package/svg-icon/src/SvgIcon.vue +59 -59
  12. package/package/t-data-list/index.js +6 -6
  13. package/package/t-data-list/main.vue +193 -192
  14. package/package/t-data-list/src/condition-input/basic.vue +31 -31
  15. package/package/t-data-list/src/condition-input/date.vue +106 -106
  16. package/package/t-data-list/src/condition-input/index.vue +100 -100
  17. package/package/t-data-list/src/condition-input/input.vue +31 -31
  18. package/package/t-data-list/src/condition-input/number.vue +115 -115
  19. package/package/t-data-list/src/condition-input/select.vue +86 -86
  20. package/package/t-data-list/src/js/fieldTypeEnum.js +10 -10
  21. package/package/t-data-list/src/js/operatorEnum.js +108 -109
  22. package/package/t-data-list/src/js/qureyParamsEnum.js +4 -4
  23. package/package/t-data-list/src/js/util.js +34 -34
  24. package/package/t-data-list/src/mixins/button-controll-mixin.js +93 -77
  25. package/package/t-data-list/src/pushdown/push-down.vue +158 -158
  26. package/package/t-data-list/src/t-list-search.vue +36 -32
  27. package/package/t-data-list/src/t-plan/condition-always-item.vue +143 -143
  28. package/package/t-data-list/src/t-plan/condition-mult-item.vue +222 -222
  29. package/package/t-data-list/src/t-plan/index.vue +195 -190
  30. package/package/t-data-list/src/t-plan/plan-content.vue +389 -396
  31. package/package/t-data-list/src/t-table/index.vue +129 -120
  32. package/package/t-data-list/src/t-table/table-group-item-edit.vue +238 -238
  33. package/package/t-data-list/src/t-table/table-group-item.vue +87 -87
  34. package/package/t-data-list/src/t-table/table-group.vue +180 -179
  35. package/package/t-data-list/src/t-table/table-records-header-popover.vue +246 -250
  36. package/package/t-data-list/src/t-table/table-records-selected.vue +159 -159
  37. package/package/t-data-list/src/t-table/table-records.vue +337 -324
  38. package/package/t-input/children/address.vue +101 -101
  39. package/package/t-input/children/basic-display.vue +41 -41
  40. package/package/t-input/children/basic.vue +253 -251
  41. package/package/t-input/children/date.vue +89 -89
  42. package/package/t-input/children/group-components/group-dialog.vue +344 -350
  43. package/package/t-input/children/group.vue +126 -126
  44. package/package/t-input/children/input.vue +72 -72
  45. package/package/t-input/children/number.vue +74 -74
  46. package/package/t-input/children/select.vue +89 -89
  47. package/package/t-input/children/tfile/fiile-enclosure.vue +233 -233
  48. package/package/t-input/index.js +7 -7
  49. package/package/t-input/index.vue +337 -337
  50. package/package/t-input/tInputCache.js +24 -24
  51. package/package/tf-icon-picker/README.md +7 -7
  52. package/package/tf-icon-picker/index.js +8 -8
  53. package/package/tf-icon-picker/src/tf-icon-picker.vue +266 -266
  54. package/package/tf-layout/README.md +115 -115
  55. package/package/tf-layout/index.js +8 -8
  56. package/package/tf-layout/src/components/tf-labelbar.vue +394 -382
  57. package/package/tf-layout/src/components/tf-menu.vue +180 -180
  58. package/package/tf-layout/src/components/tf-right-menu.vue +89 -89
  59. package/package/tf-layout/src/components/tf-rotate-box.vue +50 -50
  60. package/package/tf-layout/src/tf-layout.vue +140 -120
  61. package/package/tf-widget/index.js +8 -8
  62. package/package/tf-widget/src/assets/common-input.less +10 -10
  63. package/package/tf-widget/src/children/basic-data/basic-data.vue +361 -361
  64. package/package/tf-widget/src/children/basic-data/dependcy/basic-data-selector.vue +1087 -1087
  65. package/package/tf-widget/src/children/basic-data/dependcy/common-table.vue +750 -750
  66. package/package/tf-widget/src/children/basic-data/dependcy/condition-filter.vue +519 -519
  67. package/package/tf-widget/src/children/basic-data/dependcy/pagination.vue +93 -93
  68. package/package/tf-widget/src/children/basic-data/dependcy/table-control.vue +240 -240
  69. package/package/tf-widget/src/children/basic-data/dependcy/view-picture.vue +108 -108
  70. package/package/tf-widget/src/children/date-time.vue +103 -103
  71. package/package/tf-widget/src/children/date.vue +103 -103
  72. package/package/tf-widget/src/children/decimal.vue +115 -115
  73. package/package/tf-widget/src/children/integer.vue +104 -104
  74. package/package/tf-widget/src/children/property.vue +59 -59
  75. package/package/tf-widget/src/children/single-line-text.vue +82 -82
  76. package/package/tf-widget/src/children/small-pictures.vue +223 -223
  77. package/package/tf-widget/src/children/text-area.vue +74 -74
  78. package/package/tf-widget/src/children/tf-select.vue +113 -113
  79. package/package/tf-widget/src/tf-widget.vue +175 -175
  80. package/package.json +44 -43
  81. package/src/api/edit.js +97 -97
  82. package/src/api/file-enclosure.js +26 -26
  83. package/src/api/push-down.js +19 -19
  84. package/src/api/table.js +294 -294
  85. package/src/api/tableV3.js +166 -186
  86. package/src/assets/images/icons/index.js +9 -9
  87. package/src/assets/images/icons/svg/add.svg +5 -5
  88. package/src/assets/images/icons/svg/push-down.svg +1 -1
  89. package/src/assets/images/icons/svg/remove.svg +1 -1
  90. package/src/assets/styles/common-table.less +202 -202
  91. package/src/directives/debounce.js +24 -0
  92. package/src/index.js +31 -31
  93. package/src/mixins/t-data-query-mixin.js +290 -289
  94. package/src/utils/auth.js +22 -22
  95. package/src/utils/request.js +42 -42
  96. package/src/utils/stato-anormale.js +59 -59
  97. package/src/utils/utils.js +109 -109
  98. package/src/utils/validate.js +84 -84
  99. package/lib/css/1.920744ef.css +0 -1
@@ -1,89 +1,89 @@
1
- <template>
2
- <el-select
3
- :value="selectId"
4
- filterable
5
- clearable
6
- :placeholder="placeholder"
7
- :disabled="JSON.parse(disabled)"
8
- style="display:block"
9
- @input="handleInput"
10
- @change="handleSelectChange"
11
- >
12
- <el-option v-for="item in options" :key="item.id" :label="item.name" :value="item.id" />
13
- </el-select>
14
- </template>
15
- <script>
16
- import { getEnumOptions } from '@/api/edit.js'
17
- export default {
18
- components: {
19
-
20
- },
21
- props: {
22
- value: {
23
- type: Object,
24
- default: null
25
- },
26
- disabled: {
27
- type: Boolean,
28
- default: false
29
- }
30
- },
31
- inject: ['enumType', 'placeholder', 'defaultValue'],
32
- data () {
33
- return {
34
- options: []
35
- }
36
- },
37
- computed: {
38
- selectId () {
39
- if (this.value) {
40
- return this.value.id
41
- }
42
- return ''
43
- }
44
- },
45
- async created () {
46
- const res = await getEnumOptions(this.enumType)
47
- this.options = res.data
48
- if (res.code !== 0) {
49
- return this.$message.error(res.msg)
50
- }
51
- if (!this.value) {
52
- const initValue = this.defaultValue || null
53
- this.handleInput(initValue)
54
- }
55
- },
56
- methods: {
57
- handleInput (value) {
58
- const name = this.getLabelByValue(value)
59
- const id = value
60
- this.$emit('input', { name, id })
61
- // 下面是将来处理行关闭和整单关闭的预留
62
- // if (this.field === 'is_closed') {
63
- // this.$emit('receiptClose', value)
64
- // }
65
- // if (this.field === 'line_closed') {
66
- // this.$emit('rowClose', value)
67
- // }
68
- },
69
- // 选中的值发生了变化
70
- handleSelectChange (newValue) {
71
- this.$emit('change', newValue)
72
- },
73
- getLabelByValue (newValue) {
74
- const option = this.options.find(item => item.id === newValue)
75
- return option ? option.name : null
76
- }
77
- }
78
- }
79
- </script>
80
-
81
- <style lang="less" scoped>
82
- .el-select{
83
- ::v-deep .el-input__inner{
84
- border: 0;
85
- border-bottom: 1px solid #dcdcdc;
86
- border-radius: 0;
87
- }
88
- }
89
- </style>
1
+ <template>
2
+ <el-select
3
+ :value="selectId"
4
+ filterable
5
+ clearable
6
+ :placeholder="placeholder"
7
+ :disabled="JSON.parse(disabled)"
8
+ style="display:block"
9
+ @input="handleInput"
10
+ @change="handleSelectChange"
11
+ >
12
+ <el-option v-for="item in options" :key="item.id" :label="item.name" :value="item.id" />
13
+ </el-select>
14
+ </template>
15
+ <script>
16
+ import { getEnumOptions } from '@/api/edit.js'
17
+ export default {
18
+ components: {
19
+
20
+ },
21
+ props: {
22
+ value: {
23
+ type: Object,
24
+ default: null
25
+ },
26
+ disabled: {
27
+ type: Boolean,
28
+ default: false
29
+ }
30
+ },
31
+ inject: ['enumType', 'placeholder', 'defaultValue'],
32
+ data () {
33
+ return {
34
+ options: []
35
+ }
36
+ },
37
+ computed: {
38
+ selectId () {
39
+ if (this.value) {
40
+ return this.value.id
41
+ }
42
+ return ''
43
+ }
44
+ },
45
+ async created () {
46
+ const res = await getEnumOptions(this.enumType)
47
+ this.options = res.data
48
+ if (res.code !== 0) {
49
+ return this.$message.error(res.msg)
50
+ }
51
+ if (!this.value) {
52
+ const initValue = this.defaultValue || null
53
+ this.handleInput(initValue)
54
+ }
55
+ },
56
+ methods: {
57
+ handleInput (value) {
58
+ const name = this.getLabelByValue(value)
59
+ const id = value
60
+ this.$emit('input', { name, id })
61
+ // 下面是将来处理行关闭和整单关闭的预留
62
+ // if (this.field === 'is_closed') {
63
+ // this.$emit('receiptClose', value)
64
+ // }
65
+ // if (this.field === 'line_closed') {
66
+ // this.$emit('rowClose', value)
67
+ // }
68
+ },
69
+ // 选中的值发生了变化
70
+ handleSelectChange (newValue) {
71
+ this.$emit('change', newValue)
72
+ },
73
+ getLabelByValue (newValue) {
74
+ const option = this.options.find(item => item.id === newValue)
75
+ return option ? option.name : null
76
+ }
77
+ }
78
+ }
79
+ </script>
80
+
81
+ <style lang="less" scoped>
82
+ .el-select{
83
+ ::v-deep .el-input__inner{
84
+ border: 0;
85
+ border-bottom: 1px solid #dcdcdc;
86
+ border-radius: 0;
87
+ }
88
+ }
89
+ </style>
@@ -1,233 +1,233 @@
1
- <template>
2
- <div class="enclosure">
3
- <div class="enclosure-box">
4
- <dl v-for="(item,index) in fileList" :key="index" class="enclosure-item">
5
- <dt>
6
- <div v-if="item.suffix === 'png' || item.suffix === 'jpg' || item.suffix === 'jpeg'">
7
- <img src="./file-img/img.png">
8
- </div>
9
- <div v-else-if="item.suffix === 'pdf' ">
10
- <img src="./file-img/pdf.png">
11
- </div>
12
- <div v-else-if="item.suffix === 'xlx' || item.suffix === 'xlsx'">
13
- <img src="./file-img/excel.png">
14
- </div>
15
- <div v-else-if="item.suffix === 'doc' || item.suffix === 'docx'">
16
- <img src="./file-img/word.png">
17
- </div>
18
- <div v-else-if="item.suffix === 'zip' || item.suffix === 'rar'">
19
- <img src="./file-img/comp.png">
20
- </div>
21
- <p>{{ item.size }}Mb</p>
22
- </dt>
23
- <dd>
24
- <el-tooltip :content="item.title" placement="top">
25
- <p class="dd-title">{{ item.title }}</p>
26
- </el-tooltip>
27
- <div class="item-dd">
28
- <p @click="downloadList(item)">下载</p>
29
- <span>|</span>
30
- <p @click="delEnclosureList(item)">删除</p>
31
- </div>
32
- </dd>
33
- </dl>
34
- </div>
35
- <div class="enclosure-fot">
36
- <el-upload
37
- class="upload-demo"
38
- action=""
39
- :show-file-list="false"
40
- multiple
41
- :auto-upload="false"
42
- :file-list="fileList"
43
- :on-change="onChange"
44
- >
45
- <el-button size="mini" type="primary">选择文件</el-button>
46
- <p class="fot-text">文件可上传<span>附件</span>,<span>照片</span>和<span>PDF</span>形式</p>
47
- </el-upload>
48
- </div>
49
- </div>
50
- </template>
51
-
52
- <script>
53
- import { delAttachment, download } from '@/api/file-enclosure'
54
- export default {
55
- props: {
56
- value: { // 给后端的参数
57
- type: Array,
58
- default: () => []
59
- },
60
- fileList: { // 前端的附件列表
61
- type: Array,
62
- default: () => []
63
- },
64
- disabled: {
65
- type: Boolean,
66
- default: false
67
- }
68
- },
69
- mounted () {},
70
- methods: {
71
- onChange (file, fileList) {
72
- file.suffix = file.name.split('.')[1]
73
- file.title = file.name.split('.')[0]
74
- file.size = (file.size / 1024 / 1024).toFixed(2)
75
- this.fileList.push(file)
76
- },
77
- /**
78
- * 删除附件
79
- */
80
- delEnclosureList (item) {
81
- if (this.value.length > 0) {
82
- this.$confirm('此操作将永久删除该文件, 是否继续?', '提示', {
83
- confirmButtonText: '确定',
84
- cancelButtonText: '取消',
85
- type: 'warning'
86
- }).then(() => {
87
- const index = this.fileList.findIndex(ele => { return ele === item })
88
- this.fileList.splice(index, 1)
89
-
90
- if (this.value.length > 0) {
91
- delAttachment(item.id).then((res) => {
92
- if (res.code === 0) {
93
- this.value.splice(index, 1)
94
- this.$emit('input', this.value)
95
- }
96
- })
97
- }
98
- }).catch(() => {
99
- this.$message({
100
- type: 'info',
101
- message: '已取消删除'
102
- })
103
- })
104
- return
105
- }
106
- const index = this.fileList.findIndex(ele => { return ele === item })
107
- this.fileList.splice(index, 1)
108
- },
109
- /**
110
- * 下载附件
111
- */
112
- async downloadList (item) {
113
- const findItem = this.value.find(ele => ele.id === item.id)
114
- // const a = document.createElement('a')
115
- // a.download = findItem.submittedFileName
116
- // a.href = findItem.url
117
- // a.click()
118
- const res = await download(item.id)
119
- const blob = new Blob([res])
120
- if ('download' in document.createElement('a')) {
121
- const link = document.createElement('a') // 创建a标签
122
- link.download = findItem.submittedFileName // a标签添加属性
123
- link.style.display = 'none'
124
- link.href = URL.createObjectURL(blob)
125
- document.body.appendChild(link)
126
- link.click() // 执行下载
127
- URL.revokeObjectURL(link.href) // 释放url
128
- document.body.removeChild(link) // 释放标签
129
- } else {
130
- // IE10+下载
131
- navigator.msSaveBlob(blob)
132
- }
133
- }
134
- }
135
- }
136
-
137
- </script>
138
- <style lang='less' scoped>
139
- p{
140
- margin: 0;
141
- padding: 0;
142
- height: 2vh;
143
- }
144
- .enclosure{
145
- width: 30vw;
146
- height: 28vh;
147
- background: #ffffff;
148
- border: 1px dashed #dcdcdc;
149
- padding: 0vh 2vw 0.5vh;
150
- box-sizing: border-box;
151
- display: flex;
152
- flex-direction: column;
153
- .enclosure-box{
154
- flex: 1;
155
- // margin-bottom: 0.5vh;
156
- display: flex;
157
- overflow-x: auto;
158
- .enclosure-item{
159
- display: flex;
160
- flex-direction: column;
161
- justify-content: center;
162
- align-items: center;
163
- margin-left: 5vw;
164
- >dt{
165
- >div{
166
- width: 3vw;
167
- height: 7vh;
168
- >img{
169
- width: 100%;
170
- height: 100%;
171
- display: block;
172
- }
173
- }
174
- >p{
175
- width: 100%;
176
- text-align: center;
177
- color: #9CA2A7;
178
- }
179
- }
180
- >dd{
181
- width: 4vw;
182
- margin: 0;
183
- .item-dd{
184
- width: 100%;
185
- height: 3vh;
186
- display: flex;
187
- color: #0C4C8E;
188
- cursor: pointer;
189
- justify-content: space-around;
190
- font-family: Source Han Sans SC, Source Han Sans SC-Regular;
191
- }
192
- .dd-title{
193
- height: 3vh;
194
- display: -webkit-box;
195
- -webkit-box-orient: vertical;
196
- -webkit-line-clamp: 2;
197
- overflow: hidden;
198
- cursor: default;
199
- }
200
- }
201
- p{
202
- text-align: center;
203
- margin: 0;
204
- }
205
- }:nth-child(1) {
206
- margin: 0;
207
- }
208
- }
209
- .enclosure-box::-webkit-scrollbar {
210
- width: 5px;
211
- height: 5px;
212
- }
213
- .enclosure-box::-webkit-scrollbar-thumb {
214
- background-color: #eee;
215
- -webkit-border-radius: 2em;
216
- -moz-border-radius: 2em;
217
- border-radius: 2em;
218
- }
219
- .enclosure-fot{
220
- width: 100%;
221
- display: flex;
222
- justify-content: center;
223
- .fot-text{
224
- width: 100%;
225
- font-size: 1.4vh;
226
- color: #666666;
227
- >span{
228
- color: #0C4C8E;
229
- }
230
- }
231
- }
232
- }
233
- </style>
1
+ <template>
2
+ <div class="enclosure">
3
+ <div class="enclosure-box">
4
+ <dl v-for="(item,index) in fileList" :key="index" class="enclosure-item">
5
+ <dt>
6
+ <div v-if="item.suffix === 'png' || item.suffix === 'jpg' || item.suffix === 'jpeg'">
7
+ <img src="./file-img/img.png">
8
+ </div>
9
+ <div v-else-if="item.suffix === 'pdf' ">
10
+ <img src="./file-img/pdf.png">
11
+ </div>
12
+ <div v-else-if="item.suffix === 'xlx' || item.suffix === 'xlsx'">
13
+ <img src="./file-img/excel.png">
14
+ </div>
15
+ <div v-else-if="item.suffix === 'doc' || item.suffix === 'docx'">
16
+ <img src="./file-img/word.png">
17
+ </div>
18
+ <div v-else-if="item.suffix === 'zip' || item.suffix === 'rar'">
19
+ <img src="./file-img/comp.png">
20
+ </div>
21
+ <p>{{ item.size }}Mb</p>
22
+ </dt>
23
+ <dd>
24
+ <el-tooltip :content="item.title" placement="top">
25
+ <p class="dd-title">{{ item.title }}</p>
26
+ </el-tooltip>
27
+ <div class="item-dd">
28
+ <p @click="downloadList(item)">下载</p>
29
+ <span>|</span>
30
+ <p @click="delEnclosureList(item)">删除</p>
31
+ </div>
32
+ </dd>
33
+ </dl>
34
+ </div>
35
+ <div class="enclosure-fot">
36
+ <el-upload
37
+ class="upload-demo"
38
+ action=""
39
+ :show-file-list="false"
40
+ multiple
41
+ :auto-upload="false"
42
+ :file-list="fileList"
43
+ :on-change="onChange"
44
+ >
45
+ <el-button size="mini" type="primary">选择文件</el-button>
46
+ <p class="fot-text">文件可上传<span>附件</span>,<span>照片</span>和<span>PDF</span>形式</p>
47
+ </el-upload>
48
+ </div>
49
+ </div>
50
+ </template>
51
+
52
+ <script>
53
+ import { delAttachment, download } from '@/api/file-enclosure'
54
+ export default {
55
+ props: {
56
+ value: { // 给后端的参数
57
+ type: Array,
58
+ default: () => []
59
+ },
60
+ fileList: { // 前端的附件列表
61
+ type: Array,
62
+ default: () => []
63
+ },
64
+ disabled: {
65
+ type: Boolean,
66
+ default: false
67
+ }
68
+ },
69
+ mounted () {},
70
+ methods: {
71
+ onChange (file, fileList) {
72
+ file.suffix = file.name.split('.')[1]
73
+ file.title = file.name.split('.')[0]
74
+ file.size = (file.size / 1024 / 1024).toFixed(2)
75
+ this.fileList.push(file)
76
+ },
77
+ /**
78
+ * 删除附件
79
+ */
80
+ delEnclosureList (item) {
81
+ if (this.value.length > 0) {
82
+ this.$confirm('此操作将永久删除该文件, 是否继续?', '提示', {
83
+ confirmButtonText: '确定',
84
+ cancelButtonText: '取消',
85
+ type: 'warning'
86
+ }).then(() => {
87
+ const index = this.fileList.findIndex(ele => { return ele === item })
88
+ this.fileList.splice(index, 1)
89
+
90
+ if (this.value.length > 0) {
91
+ delAttachment(item.id).then((res) => {
92
+ if (res.code === 0) {
93
+ this.value.splice(index, 1)
94
+ this.$emit('input', this.value)
95
+ }
96
+ })
97
+ }
98
+ }).catch(() => {
99
+ this.$message({
100
+ type: 'info',
101
+ message: '已取消删除'
102
+ })
103
+ })
104
+ return
105
+ }
106
+ const index = this.fileList.findIndex(ele => { return ele === item })
107
+ this.fileList.splice(index, 1)
108
+ },
109
+ /**
110
+ * 下载附件
111
+ */
112
+ async downloadList (item) {
113
+ const findItem = this.value.find(ele => ele.id === item.id)
114
+ // const a = document.createElement('a')
115
+ // a.download = findItem.submittedFileName
116
+ // a.href = findItem.url
117
+ // a.click()
118
+ const res = await download(item.id)
119
+ const blob = new Blob([res])
120
+ if ('download' in document.createElement('a')) {
121
+ const link = document.createElement('a') // 创建a标签
122
+ link.download = findItem.submittedFileName // a标签添加属性
123
+ link.style.display = 'none'
124
+ link.href = URL.createObjectURL(blob)
125
+ document.body.appendChild(link)
126
+ link.click() // 执行下载
127
+ URL.revokeObjectURL(link.href) // 释放url
128
+ document.body.removeChild(link) // 释放标签
129
+ } else {
130
+ // IE10+下载
131
+ navigator.msSaveBlob(blob)
132
+ }
133
+ }
134
+ }
135
+ }
136
+
137
+ </script>
138
+ <style lang='less' scoped>
139
+ p{
140
+ margin: 0;
141
+ padding: 0;
142
+ height: 2vh;
143
+ }
144
+ .enclosure{
145
+ width: 30vw;
146
+ height: 28vh;
147
+ background: #ffffff;
148
+ border: 1px dashed #dcdcdc;
149
+ padding: 0vh 2vw 0.5vh;
150
+ box-sizing: border-box;
151
+ display: flex;
152
+ flex-direction: column;
153
+ .enclosure-box{
154
+ flex: 1;
155
+ // margin-bottom: 0.5vh;
156
+ display: flex;
157
+ overflow-x: auto;
158
+ .enclosure-item{
159
+ display: flex;
160
+ flex-direction: column;
161
+ justify-content: center;
162
+ align-items: center;
163
+ margin-left: 5vw;
164
+ >dt{
165
+ >div{
166
+ width: 3vw;
167
+ height: 7vh;
168
+ >img{
169
+ width: 100%;
170
+ height: 100%;
171
+ display: block;
172
+ }
173
+ }
174
+ >p{
175
+ width: 100%;
176
+ text-align: center;
177
+ color: #9CA2A7;
178
+ }
179
+ }
180
+ >dd{
181
+ width: 4vw;
182
+ margin: 0;
183
+ .item-dd{
184
+ width: 100%;
185
+ height: 3vh;
186
+ display: flex;
187
+ color: #0C4C8E;
188
+ cursor: pointer;
189
+ justify-content: space-around;
190
+ font-family: Source Han Sans SC, Source Han Sans SC-Regular;
191
+ }
192
+ .dd-title{
193
+ height: 3vh;
194
+ display: -webkit-box;
195
+ -webkit-box-orient: vertical;
196
+ -webkit-line-clamp: 2;
197
+ overflow: hidden;
198
+ cursor: default;
199
+ }
200
+ }
201
+ p{
202
+ text-align: center;
203
+ margin: 0;
204
+ }
205
+ }:nth-child(1) {
206
+ margin: 0;
207
+ }
208
+ }
209
+ .enclosure-box::-webkit-scrollbar {
210
+ width: 5px;
211
+ height: 5px;
212
+ }
213
+ .enclosure-box::-webkit-scrollbar-thumb {
214
+ background-color: #eee;
215
+ -webkit-border-radius: 2em;
216
+ -moz-border-radius: 2em;
217
+ border-radius: 2em;
218
+ }
219
+ .enclosure-fot{
220
+ width: 100%;
221
+ display: flex;
222
+ justify-content: center;
223
+ .fot-text{
224
+ width: 100%;
225
+ font-size: 1.4vh;
226
+ color: #666666;
227
+ >span{
228
+ color: #0C4C8E;
229
+ }
230
+ }
231
+ }
232
+ }
233
+ </style>
@@ -1,7 +1,7 @@
1
- import Tinput from './index.vue'
2
-
3
- Tinput.install = function (Vue) {
4
- Vue.component(Tinput.name, Tinput)
5
- }
6
-
7
- export default Tinput
1
+ import Tinput from './index.vue'
2
+
3
+ Tinput.install = function (Vue) {
4
+ Vue.component(Tinput.name, Tinput)
5
+ }
6
+
7
+ export default Tinput