doctor-admin-components 1.0.13-pro.1 → 1.0.14-beta.1

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 (46) hide show
  1. package/README.md +10 -2
  2. package/package.json +1 -1
  3. package/packages/index.js +16 -0
  4. package/packages/src/api/biz/bizContract.js +1005 -0
  5. package/packages/src/api/biz/bizFileInfo.js +16 -0
  6. package/packages/src/api/biz/bizInvoice.js +1 -1
  7. package/packages/src/api/biz/bizShipment.js +18 -0
  8. package/packages/src/assets/images/click-show-table.png +0 -0
  9. package/packages/src/assets/images/more.png +0 -0
  10. package/packages/src/assets/images/pdf-new.png +0 -0
  11. package/packages/src/components/DictTag/index.vue +12 -2
  12. package/packages/src/components/FileUpload/contract-drag-new.vue +100 -11
  13. package/packages/src/i18n/en/message.json +305 -0
  14. package/packages/src/i18n/index.js +38 -0
  15. package/packages/src/i18n/zh-CN/message.json +305 -0
  16. package/packages/src/index.js +24 -1
  17. package/packages/src/utils/index.js +35 -0
  18. package/packages/src/views/biz/bizFileInfo/PAYMENT_VOUCHER(/"payment_voucher/", /"/344/273/230/346/254/276/345/207/255/350/257/201.ini" +222 -0
  19. package/packages/src/views/biz/bizFileInfo/contract copy.vue +1711 -0
  20. package/packages/src/views/biz/bizFileInfo/contract.vue +1783 -986
  21. package/packages/src/views/biz/bizFileInfo/contractFile/BillOfLadingNoTab.vue +114 -0
  22. package/packages/src/views/biz/bizFileInfo/contractFile/ContentTitle.vue +102 -0
  23. package/packages/src/views/biz/bizFileInfo/contractFile/IMGPreviewCheckBox.vue +308 -0
  24. package/packages/src/views/biz/bizFileInfo/contractFile/Progress.vue +85 -0
  25. package/packages/src/views/biz/bizFileInfo/contractFile/ProgressDetail.vue +123 -0
  26. package/packages/src/views/biz/bizFileInfo/contractFile/SectionSlot.vue +83 -0
  27. package/packages/src/views/biz/bizFileInfo/contractFile/ShowAndHide.vue +178 -0
  28. package/packages/src/views/biz/bizFileInfo/fileShow copy.vue +321 -0
  29. package/packages/src/views/biz/bizFileInfo/fileShow.vue +143 -47
  30. package/packages/src/views/biz/bizFileInfo/fileShowClaim.vue +1 -1
  31. package/packages/src/views/biz/bizShipment/add.vue +124 -23
  32. package/packages/src/views/biz/bizShipment/referenceAlert.vue +168 -0
  33. package/packages/src/views/biz/contractTracing/billInfo.vue +64 -40
  34. package/packages/src/views/biz/contractTracing/companyBanks.vue +228 -0
  35. package/packages/src/views/biz/contractTracing/contractInfo.vue +1 -1
  36. package/packages/src/views/biz/contractTracing/contractPdf.vue +7 -4
  37. package/packages/src/views/biz/contractTracing/contractSummary.vue +24 -18
  38. package/packages/src/views/biz/contractTracing/contractTracingDetail copy.vue +107 -0
  39. package/packages/src/views/biz/contractTracing/contractTracingDetail.vue +281 -31
  40. package/packages/src/views/biz/contractTracing/editBill.vue +22 -9
  41. package/packages/src/views/biz/contractTracing/purchaseInvoiceUpload.vue +153 -7
  42. package/packages/src/views/biz/contractTracing/shipmentPurchaseAmount.vue +14 -0
  43. package/packages/src/views/biz/contractTracing/subCompanyDialog.vue +8 -2
  44. package/packages/src/views/components/RegionPicker/Distpicker.vue +459 -0
  45. package/packages/src/views/components/RegionPicker/districts.js +4641 -0
  46. package/packages/src/views/test.vue +3 -3
@@ -0,0 +1,114 @@
1
+ <!--
2
+ * @Author: zhangpengwei@1338418459736990.onaliyun.com zhangpengwei@1338418459736990.onaliyun.com
3
+ * @Date: 2024-03-13 14:28:59
4
+ * @LastEditors: zhangpengwei@1338418459736990.onaliyun.com zhangpengwei@1338418459736990.onaliyun.com
5
+ * @LastEditTime: 2024-06-05 13:54:37
6
+ * @FilePath: /doctor-admin-components 公共组件/packages/src/views/biz/bizFileInfo/contractFile/BillOfLadingNoTab.vue
7
+ * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
8
+ -->
9
+ <template>
10
+ <div class="bill-no-root" :style="open ? 'height:max-content': ''">
11
+ <div :class="'bill-no'" :style="shipmentIndex == shipBillNo ? { color: progressInfo.bgcolor } : ''" v-for="(
12
+ shipmentFileInfo, shipmentIndex
13
+ ) in contractFileInfoData.shipmentFileInfoList" :key="shipmentIndex" @click="changeShipBillNo(shipmentIndex)">
14
+
15
+ {{ $t('contractDetail.BL_No') }} {{ shipmentFileInfo.billOfLadingNo
16
+ ? shipmentFileInfo.billOfLadingNo
17
+ : '' }} <span v-if="shipmentFileInfo.voidStatus == 1"> ( {{ $t('contract.Voided') }} )</span>
18
+ </div>
19
+ <div class="billOfLadingNo-more" v-if="contractFileInfoData.shipmentFileInfoList && contractFileInfoData.shipmentFileInfoList.length > 4" @click.stop="openFun">
20
+ <!-- <div class="billOfLadingNo-more" @click.stop="openFun"> -->
21
+ <i v-if="open" class="el-icon-caret-top"></i>
22
+ <i v-else class="el-icon-caret-bottom"></i>
23
+ </div>
24
+ </div>
25
+ </template>
26
+
27
+ <script>
28
+ export default {
29
+ name: 'BillOfLadingNoTab',
30
+ props: {
31
+ contractFileInfo: {
32
+ type: Object,
33
+ default: () => {}
34
+ },
35
+ shipBillNoProp: {
36
+ type: String | Number,
37
+ default: ''
38
+ },
39
+ progressInfo: {
40
+ type: Object,
41
+ default: () => {}
42
+ }
43
+ },
44
+ data() {
45
+ return {
46
+ open: false,
47
+ shipBillNo:0,
48
+ contractFileInfoData: {}
49
+ }
50
+ },
51
+ methods: {
52
+ openFun () {
53
+ this.open = !this.open
54
+ },
55
+ changeShipBillNo(index) {
56
+ this.$emit('changeShipBillNo', index)
57
+ }
58
+ },
59
+ watch: {
60
+ shipBillNoProp: {
61
+ handler(val) {
62
+ this.shipBillNo = val
63
+ console.log('shipBillNoProp', val);
64
+ },
65
+ immediate: true,
66
+ deep: true
67
+ },
68
+ contractFileInfo: {
69
+ handler(val) {
70
+ this.contractFileInfoData = val
71
+ },
72
+ immediate: true,
73
+ deep: true
74
+ }
75
+ },
76
+ }
77
+
78
+ </script>
79
+
80
+ <style lang="scss" scoped>
81
+ .bill-no-root {
82
+ display: flex;
83
+ flex-wrap: wrap;
84
+ padding:0 20px;
85
+ width:100%;
86
+ position:relative;
87
+ height:60px;
88
+ overflow:hidden;
89
+
90
+ .billOfLadingNo-more {
91
+ width:20px;
92
+ height:30px;
93
+ position:absolute;
94
+ right:0;
95
+ top:15px;
96
+ background-color: #999;
97
+ text-align: center;
98
+ line-height: 30px;
99
+ }
100
+
101
+ .bill-no {
102
+ width:23%;
103
+ font-size: 14px;
104
+ color: #A7A9AC;
105
+ padding:20px 20px 20px 0;
106
+ cursor: pointer;
107
+ }
108
+
109
+ .bill-no-active {
110
+ color: #4DA9EB;
111
+ }
112
+ }
113
+
114
+ </style>
@@ -0,0 +1,102 @@
1
+ <!--
2
+ * @Author: zhangpengwei@1338418459736990.onaliyun.com zhangpengwei@1338418459736990.onaliyun.com
3
+ * @Date: 2024-02-23 16:17:11
4
+ * @LastEditors: zhangpengwei@1338418459736990.onaliyun.com zhangpengwei@1338418459736990.onaliyun.com
5
+ * @LastEditTime: 2024-04-10 09:42:22
6
+ * @FilePath: /doctor-admin-components 公共组件/packages/src/views/biz/bizFileInfo/contractFile/ContentTitle.vue
7
+ * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
8
+ -->
9
+ <template>
10
+ <div class="content-title">
11
+ <div class="bg-button-success" v-if="successFlag">
12
+ <i class="el-icon-success success"></i>
13
+ {{ contentTitleInfo.bgButton }}
14
+ </div>
15
+ <div class="bg-button" v-else :style="{backgroundColor:contentTitleInfo.bgcolor}">{{ contentTitleInfo.bgButton }}</div>
16
+ <div class="bg-time" v-if="contentTitleInfo.bgTime">{{ contentTitleInfo.bgTime }} {{ $t('contractDetail.upload') }}</div>
17
+ </div>
18
+ </template>
19
+
20
+ <script>
21
+ export default {
22
+ name: 'DoctorAdminComponentsContentTitle',
23
+ props: {
24
+ contentTitleProp: {
25
+ type: Object,
26
+ default: {}
27
+ },
28
+ successFlag: {
29
+ type: Boolean,
30
+ default: false
31
+ }
32
+ },
33
+ data() {
34
+ return {
35
+ contentTitleInfo: {}
36
+ };
37
+ },
38
+
39
+ mounted() {
40
+
41
+ },
42
+
43
+ methods: {
44
+
45
+ },
46
+ watch: {
47
+ contentTitleProp: {
48
+ handler: function (val) {
49
+ this.contentTitleInfo = val;
50
+ },
51
+ deep: true,
52
+ immediate: true
53
+ }
54
+
55
+ }
56
+ };
57
+ </script>
58
+
59
+ <style lang="scss" scoped>
60
+ .content-title {
61
+ display: flex;
62
+ align-items: center;
63
+ margin: 20px 0;
64
+ width: max-content;
65
+ max-width: max-content;
66
+ .bg-button {
67
+ min-width: 69px;
68
+ width:max-content;
69
+ height: 21px;
70
+ line-height: 21px;
71
+ text-align: center;
72
+ padding: 0 10px;
73
+ background-color: #FBB040;
74
+ border-radius: 10px;
75
+ font-size: 14px;
76
+ margin-right:20px;
77
+ }
78
+ .bg-button-success {
79
+ min-width: 69px;
80
+ width:max-content;
81
+ height: 21px;
82
+ line-height: 21px;
83
+ text-align: center;
84
+ // padding: 0 10px;
85
+ font-size: 14px;
86
+ margin-right:20px;
87
+ }
88
+ .bg-time {
89
+ color: #939598;
90
+ line-height: 12px;
91
+ text-align: left;
92
+ font-size: 14px;
93
+ margin-right:20px;
94
+ }
95
+ }
96
+
97
+ .success {
98
+ color: #67C23A;
99
+ font-size:15px;
100
+ }
101
+
102
+ </style>
@@ -0,0 +1,308 @@
1
+ <!--
2
+ * @Author: zhangpengwei@1338418459736990.onaliyun.com zhangpengwei@1338418459736990.onaliyun.com
3
+ * @Date: 2024-02-26 10:03:01
4
+ * @LastEditors: zhangpengwei@1338418459736990.onaliyun.com zhangpengwei@1338418459736990.onaliyun.com
5
+ * @LastEditTime: 2024-05-08 15:22:56
6
+ * @FilePath: /doctor-admin-components 公共组件/packages/src/views/biz/bizFileInfo/IMGPreviewCheckBox.vue
7
+ * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
8
+ -->
9
+ <template>
10
+ <div class="img-preview-root">
11
+ <div class="img-preview" :style="open ? 'height:max-content' : ''">
12
+ <slot></slot>
13
+ <div class="img-block" v-for="(fit, key) in imgList" :key="key" @click.stop="previewFile(fit)">
14
+ <video v-if="isVideo(fit.url)" :src="fit.url" style="width: 100px; height: 100px;margin-left:10px;"
15
+ controls
16
+ muted="true">
17
+ </video>
18
+ <el-image
19
+ v-else
20
+ style="width: 100px; height: 100px;object-fit:cover;"
21
+ :src="othersFile(fit.url)"
22
+ :preview-src-list="srcList">
23
+ </el-image>
24
+ <i :class="['checkbox-size', 'el-checkbox__input', fit.checked ? 'is-checked' : '']" @click.stop="checkClick(key)">
25
+ <i class="el-checkbox__inner"></i>
26
+ </i>
27
+ <i @click.stop="downloadSingleFile(fit)" class="el-icon-download download-icon"/>
28
+ <i @click.stop="delteFile(fit.fileId)" class="el-icon-close download-delete"/>
29
+ </div>
30
+ <div class="billOfLadingNo-more" @click.stop="openFun" v-if="imgList && imgList.length > 7">
31
+ <i v-if="open" class="el-icon-caret-top"></i>
32
+ <i v-else class="el-icon-caret-bottom"></i>
33
+ </div>
34
+ </div>
35
+ <div class="batch-download" v-show="showDownloadIcon" @click.stop="downLoadFile">批量下载</div>
36
+ <div class="batch-download batch-delete" v-show="showDownloadIcon" @click.stop="deleteAll">批量删除</div>
37
+ </div>
38
+ </template>
39
+
40
+ <script>
41
+ import JSZip from 'jszip';
42
+ import { saveAs } from 'file-saver';
43
+ import { isImage, isVideo, isDoc, isPdf, isZip, isXls, isPpt } from '../../../../utils/index';
44
+ import { Loading } from 'element-ui';
45
+ import { delBizFileInfo } from '../../../../api/biz/bizFileInfo';
46
+
47
+
48
+ export default {
49
+ name: 'IMGPreviewCheckBox',
50
+ props: {
51
+ imgArr: {
52
+ type: Array,
53
+ default: () => []
54
+ },
55
+ info: {
56
+ type: Object,
57
+ default: () => {}
58
+ }
59
+ },
60
+ data() {
61
+ return {
62
+ isVideo,
63
+ open: false,
64
+ imgList: [],
65
+ srcList:[],
66
+ loadingInstance: null,
67
+ timer: null
68
+ };
69
+ },
70
+
71
+ mounted() {
72
+
73
+ },
74
+
75
+ methods: {
76
+ delteFile(fileId) {
77
+ delBizFileInfo(fileId).then(() => {
78
+ this.$message.success('删除成功')
79
+ this.$emit('refresh')
80
+ })
81
+ },
82
+ previewFile(file) {
83
+ if (!(isImage(file.url) || isVideo(file.url))) {
84
+ window.open(file.url);
85
+ }
86
+ },
87
+ checkClick(index) {
88
+ this.imgList[index].checked = !this.imgList[index].checked;
89
+ },
90
+ checkAll1() {
91
+ this.imgList.forEach((item) => {
92
+ item.checked = true;
93
+ });
94
+ },
95
+ cancelAll1() {
96
+ this.imgList.forEach((item) => {
97
+ item.checked = false;
98
+ });
99
+ },
100
+ // 文件名称
101
+ extractFileName() {
102
+ return 'loading photos-' + this.info.containerNo + '/container ' + this.info?.containerId + '/ Dated ' + this.$moment(new Date().getTime()).format('YYYY-MM-DD')
103
+ },
104
+ /**
105
+ * @description: 下载一个文件
106
+ * @param {*} file
107
+ * @return {*}
108
+ */
109
+ downloadSingleFile(file) {
110
+ this.loadingInstance = Loading.service({
111
+ text: this.$t('contractDetail.loading'),
112
+ spinner: 'el-icon-loading',
113
+ background: 'rgba(0, 0, 0, 0.7)',
114
+ });
115
+ // 从URL中提取文件名
116
+ const fileName = this.extractFileName();
117
+ // 如果是zip文件,重新命名为当前时间戳,否则使用原文件名
118
+ const newName = /\.zip$/i.test(fileName) ? fileName + '.zip' : fileName;
119
+ saveAs(file.url, newName);
120
+ this.loadingInstance.close();
121
+ },
122
+ /**
123
+ * @description: 文件下载
124
+ * @return {*}
125
+ */
126
+ async downLoadFile () {
127
+ this.loadingInstance = Loading.service({
128
+ text: this.$t('contractDetail.loading'),
129
+ spinner: 'el-icon-loading',
130
+ background: 'rgba(0, 0, 0, 0.7)',
131
+ });
132
+ // test
133
+ let files = this.imgList.filter(item => item.checked)
134
+
135
+ if (files.length === 1) {
136
+ // 如果只有一个文件且该文件是图片/视频,直接下载
137
+ this.downloadSingleFile(files[0]);
138
+ } else {
139
+ // 创建一个ZIP包,但只添加图片文件
140
+ const zip = new JSZip();
141
+ for (let file of files) {
142
+ const fileData = await fetch(file.url).then(response => {
143
+ if (!response.ok) throw new Error('Network response was not ok');
144
+ return response.blob();
145
+ });
146
+ // 从URL中提取文件名
147
+ const fileName = file.url.split('/').pop();
148
+ zip.file(fileName, fileData, { binary: true });
149
+ }
150
+ if (Object.keys(zip.files).length > 0) {
151
+ zip.generateAsync({ type: 'blob' }).then(content => {
152
+ const fileName = this.extractFileName();
153
+ saveAs(content, fileName + '.zip');
154
+ }).
155
+ finally(() => {
156
+ this.timer =setTimeout(() => {
157
+ this.loadingInstance.close();
158
+ }, 1500);
159
+ })
160
+ } else {
161
+ alert("没有文件可下载");
162
+ }
163
+ }
164
+ this.cancelAll1()
165
+ },
166
+ async deleteAll () {
167
+ let files = this.imgList.filter(item => item.checked)
168
+ files.length && await delBizFileInfo(files.map(item => item.fileId)).then(() => {
169
+ this.$message.success('删除成功')
170
+ this.$emit('refresh')
171
+ })
172
+ },
173
+ openFun () {
174
+ this.open = !this.open
175
+ },
176
+ othersFile(imgUrl) {
177
+ if(isDoc(imgUrl)) {
178
+ return 'https://s3.cdn.doctorscrap.com/dev/user/image_13/1ed150dc6171450d81a5e1f7b4e1253f.png'
179
+ } else if(isPdf(imgUrl)) {
180
+ return 'https://s3.cdn.doctorscrap.com/dev/user/image_13/5a4b66e220794c0b8284f0a8204aac3e.png'
181
+ } else if(isZip(imgUrl)) {
182
+ return 'https://s3.cdn.doctorscrap.com/dev/user/image_13/470eeab01eec430e9ed0edd81d15ace5.png'
183
+ } else if(isXls(imgUrl)) {
184
+ return 'https://s3.cdn.doctorscrap.com/dev/user/image_13/caaa343a68684216be1a4d3b27d40a9d.png'
185
+ } else if(isPpt(imgUrl)) {
186
+ return 'https://s3.cdn.doctorscrap.com/dev/user/image_13/b0590840eceb4162a8c07119ef2fe245.png'
187
+ } else {
188
+ return imgUrl
189
+ }
190
+ }
191
+ },
192
+ watch: {
193
+ imgArr: {
194
+ handler(val) {
195
+ if(val.length) {
196
+ this.imgList = [];
197
+ this.srcList = [];
198
+ val.forEach((item) => {
199
+ let coverUrl = this.othersFile(item.url)
200
+ this.imgList.push({
201
+ url: item.url,
202
+ checked: false,
203
+ fileId: item.fileId
204
+ });
205
+ this.srcList.push(coverUrl);
206
+ });
207
+ }
208
+ },
209
+ deep: true,
210
+ immediate: true
211
+ }
212
+ },
213
+ computed: {
214
+ showDownloadIcon () {
215
+ let res = this.imgList.filter(item => item.checked)
216
+ return res.length > 0
217
+ }
218
+ },
219
+ beforeDestroy() {
220
+ this.loadingInstance = null
221
+ clearTimeout(this.timer)
222
+ }
223
+ };
224
+ </script>
225
+
226
+ <style lang="scss" scoped>
227
+ .img-preview {
228
+ display:flex;
229
+ flex-wrap: wrap;
230
+ padding-right:40px;
231
+ height:110px;
232
+ overflow:hidden;
233
+ position: relative;
234
+ width:100%;
235
+ .img-block {
236
+ position: relative;
237
+ margin:0 15px 15px 0;
238
+ background-color: #666;
239
+ }
240
+ .fold-wrap {
241
+ position: absolute;
242
+ right: 0;
243
+ width: 80px;
244
+ height: 100%;
245
+ display: flex;
246
+ justify-content: center;
247
+ align-items: center;
248
+ .el-button {
249
+ margin-bottom: 20px;
250
+ }
251
+
252
+ }
253
+ }
254
+ .checkbox-size {
255
+ position:absolute;
256
+ left:0;
257
+ width:18px;
258
+ height:18px;
259
+ }
260
+ .download-icon {
261
+ position: absolute;
262
+ bottom:2px;
263
+ right:0;
264
+ background-color: #fff;
265
+ cursor: pointer;
266
+ }
267
+ .download-delete {
268
+ position: absolute;
269
+ top:1px;
270
+ right:1px;
271
+ background-color: #fff;
272
+ cursor: pointer;
273
+ }
274
+
275
+ .billOfLadingNo-more {
276
+ width:20px;
277
+ height:100px;
278
+ position:absolute;
279
+ right:0;
280
+ top:0;
281
+ background-color: #999;
282
+ text-align: center;
283
+ line-height: 100px;
284
+ }
285
+
286
+ .img-preview-root {
287
+ position: relative;
288
+ .batch-download {
289
+ position: absolute;
290
+ top: -41px;
291
+ left: 620px;
292
+ min-width: 80px;
293
+ width:max-content;
294
+ padding:0 10px;
295
+ height: 22px;
296
+ line-height: 22px;
297
+ text-align: center;
298
+ border-radius: 10px;
299
+ background-color: #54B8FF;
300
+ cursor: pointer;
301
+ font-size:12px;
302
+ }
303
+ .batch-delete {
304
+ left: 710px;
305
+ }
306
+ }
307
+
308
+ </style>
@@ -0,0 +1,85 @@
1
+ <!--
2
+ * @Author: zhangpengwei@1338418459736990.onaliyun.com zhangpengwei@1338418459736990.onaliyun.com
3
+ * @Date: 2024-02-22 11:04:36
4
+ * @LastEditors: zhangpengwei@1338418459736990.onaliyun.com zhangpengwei@1338418459736990.onaliyun.com
5
+ * @LastEditTime: 2024-04-11 10:28:42
6
+ * @FilePath: /doctor-admin-components 公共组件/packages/src/views/biz/bizFileInfo/contractFile/Process.vue
7
+ * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
8
+ -->
9
+ <template>
10
+ <div class="progress" :style="{backgroundColor:info.bgcolor}">
11
+ <img class="progress-img" :src="info.img" alt="">
12
+ <div class="progress-text">{{ info.text}}</div>
13
+ <div class="progress-rate">{{ info.rate }}%</div>
14
+ </div>
15
+ </template>
16
+
17
+ <script>
18
+ export default {
19
+ name: 'DoctorAdminComponentsProcess',
20
+ props: {
21
+ infoPro: {
22
+ type: Object,
23
+ default: () => {
24
+ return {};
25
+ },
26
+ },
27
+ },
28
+ data() {
29
+ return {
30
+ info:{}
31
+ };
32
+ },
33
+
34
+ mounted() {
35
+
36
+ },
37
+
38
+ methods: {
39
+
40
+ },
41
+ watch: {
42
+ infoPro: {
43
+ handler (val) {
44
+ this.info = val;
45
+ },
46
+ deep: true,
47
+ immediate: true
48
+ },
49
+ }
50
+ };
51
+ </script>
52
+
53
+ <style lang="scss" scoped>
54
+ .progress {
55
+ min-width: 130px;
56
+ height: 27px;
57
+ background: #FBB040;
58
+ display: flex;
59
+ justify-content: space-between;
60
+ align-items: center;
61
+ padding: 0 5px;
62
+ box-sizing: border-box;
63
+ margin-right:15px;
64
+ .progress-img {
65
+ width: 17px;
66
+ height: 17px;
67
+ background: #FFFFFF;
68
+ border-radius: 8px;
69
+ }
70
+ .progress-text {
71
+ font-size: 14px;
72
+ line-height:27px;
73
+ font-weight: normal;
74
+ color: #FFFFFF;
75
+ }
76
+ .progress-rate {
77
+ font-size: 14px;
78
+ font-weight: normal;
79
+ line-height:27px;
80
+ color: #231F20;
81
+ }
82
+
83
+
84
+ }
85
+ </style>