doctor-admin-components 1.0.4 → 1.0.6-beta.0

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 (218) hide show
  1. package/lib/index.common.js +399 -321
  2. package/lib/index.css +1 -1
  3. package/lib/index.umd.js +399 -321
  4. package/lib/index.umd.min.js +43 -43
  5. package/package.json +4 -3
  6. package/packages/Button/index.js +16 -0
  7. package/packages/Button/src/index.vue +33 -0
  8. package/packages/index.js +122 -0
  9. package/packages/src/api/biz/bizCompanyBillGoods.js +61 -0
  10. package/packages/src/api/biz/bizContainer.js +86 -0
  11. package/packages/src/api/biz/bizContainerDetail.js +61 -0
  12. package/packages/src/api/biz/bizContract.js +112 -0
  13. package/packages/src/api/biz/bizContractCompany.js +53 -0
  14. package/packages/src/api/biz/bizContractDetail.js +62 -0
  15. package/packages/src/api/biz/bizContractDispute.js +53 -0
  16. package/packages/src/api/biz/bizDealRecord.js +87 -0
  17. package/packages/src/api/biz/bizFileInfo.js +53 -0
  18. package/packages/src/api/biz/bizInvoice.js +161 -0
  19. package/packages/src/api/biz/bizInvoiceExtraCosts.js +53 -0
  20. package/packages/src/api/biz/bizShipment.js +113 -0
  21. package/packages/src/api/biz/companyInfo.js +61 -0
  22. package/packages/src/api/biz/dictData.js +77 -0
  23. package/packages/src/api/biz/track.js +21 -0
  24. package/packages/src/api/system/dict/data.js +60 -0
  25. package/packages/src/api/system/dict/type.js +68 -0
  26. package/packages/src/assets/icons/index.js +17 -0
  27. package/packages/src/assets/icons/svg/404.svg +1 -0
  28. package/packages/src/assets/icons/svg/bug.svg +1 -0
  29. package/packages/src/assets/icons/svg/build.svg +1 -0
  30. package/packages/src/assets/icons/svg/button.svg +1 -0
  31. package/packages/src/assets/icons/svg/cascader.svg +1 -0
  32. package/packages/src/assets/icons/svg/chart.svg +1 -0
  33. package/packages/src/assets/icons/svg/checkbox.svg +1 -0
  34. package/packages/src/assets/icons/svg/clipboard.svg +1 -0
  35. package/packages/src/assets/icons/svg/code.svg +1 -0
  36. package/packages/src/assets/icons/svg/color.svg +1 -0
  37. package/packages/src/assets/icons/svg/component.svg +1 -0
  38. package/packages/src/assets/icons/svg/dashboard.svg +1 -0
  39. package/packages/src/assets/icons/svg/date-range.svg +1 -0
  40. package/packages/src/assets/icons/svg/date.svg +1 -0
  41. package/packages/src/assets/icons/svg/dict.svg +1 -0
  42. package/packages/src/assets/icons/svg/documentation.svg +1 -0
  43. package/packages/src/assets/icons/svg/download.svg +1 -0
  44. package/packages/src/assets/icons/svg/drag.svg +1 -0
  45. package/packages/src/assets/icons/svg/druid.svg +1 -0
  46. package/packages/src/assets/icons/svg/edit.svg +1 -0
  47. package/packages/src/assets/icons/svg/education.svg +1 -0
  48. package/packages/src/assets/icons/svg/email.svg +1 -0
  49. package/packages/src/assets/icons/svg/example.svg +1 -0
  50. package/packages/src/assets/icons/svg/excel.svg +1 -0
  51. package/packages/src/assets/icons/svg/exit-fullscreen.svg +1 -0
  52. package/packages/src/assets/icons/svg/eye-open.svg +1 -0
  53. package/packages/src/assets/icons/svg/eye.svg +1 -0
  54. package/packages/src/assets/icons/svg/form.svg +1 -0
  55. package/packages/src/assets/icons/svg/fullscreen.svg +1 -0
  56. package/packages/src/assets/icons/svg/github.svg +1 -0
  57. package/packages/src/assets/icons/svg/guide.svg +1 -0
  58. package/packages/src/assets/icons/svg/icon.svg +1 -0
  59. package/packages/src/assets/icons/svg/input.svg +1 -0
  60. package/packages/src/assets/icons/svg/international.svg +1 -0
  61. package/packages/src/assets/icons/svg/job.svg +1 -0
  62. package/packages/src/assets/icons/svg/language.svg +1 -0
  63. package/packages/src/assets/icons/svg/link.svg +1 -0
  64. package/packages/src/assets/icons/svg/list.svg +1 -0
  65. package/packages/src/assets/icons/svg/lock.svg +1 -0
  66. package/packages/src/assets/icons/svg/log.svg +1 -0
  67. package/packages/src/assets/icons/svg/logininfor.svg +1 -0
  68. package/packages/src/assets/icons/svg/message.svg +1 -0
  69. package/packages/src/assets/icons/svg/money.svg +1 -0
  70. package/packages/src/assets/icons/svg/monitor.svg +2 -0
  71. package/packages/src/assets/icons/svg/nested.svg +1 -0
  72. package/packages/src/assets/icons/svg/number.svg +1 -0
  73. package/packages/src/assets/icons/svg/online.svg +1 -0
  74. package/packages/src/assets/icons/svg/password.svg +1 -0
  75. package/packages/src/assets/icons/svg/pdf.svg +1 -0
  76. package/packages/src/assets/icons/svg/people.svg +1 -0
  77. package/packages/src/assets/icons/svg/peoples.svg +1 -0
  78. package/packages/src/assets/icons/svg/phone.svg +1 -0
  79. package/packages/src/assets/icons/svg/post.svg +1 -0
  80. package/packages/src/assets/icons/svg/qq.svg +1 -0
  81. package/packages/src/assets/icons/svg/question.svg +1 -0
  82. package/packages/src/assets/icons/svg/radio.svg +1 -0
  83. package/packages/src/assets/icons/svg/rate.svg +1 -0
  84. package/packages/src/assets/icons/svg/redis.svg +1 -0
  85. package/packages/src/assets/icons/svg/row.svg +1 -0
  86. package/packages/src/assets/icons/svg/search.svg +1 -0
  87. package/packages/src/assets/icons/svg/select.svg +1 -0
  88. package/packages/src/assets/icons/svg/server.svg +1 -0
  89. package/packages/src/assets/icons/svg/shopping.svg +1 -0
  90. package/packages/src/assets/icons/svg/size.svg +1 -0
  91. package/packages/src/assets/icons/svg/skill.svg +1 -0
  92. package/packages/src/assets/icons/svg/slider.svg +1 -0
  93. package/packages/src/assets/icons/svg/star.svg +1 -0
  94. package/packages/src/assets/icons/svg/swagger.svg +1 -0
  95. package/packages/src/assets/icons/svg/switch.svg +1 -0
  96. package/packages/src/assets/icons/svg/system.svg +2 -0
  97. package/packages/src/assets/icons/svg/tab.svg +1 -0
  98. package/packages/src/assets/icons/svg/table.svg +1 -0
  99. package/packages/src/assets/icons/svg/textarea.svg +1 -0
  100. package/packages/src/assets/icons/svg/theme.svg +1 -0
  101. package/packages/src/assets/icons/svg/time-range.svg +1 -0
  102. package/packages/src/assets/icons/svg/time.svg +1 -0
  103. package/packages/src/assets/icons/svg/tool.svg +1 -0
  104. package/packages/src/assets/icons/svg/tree-table.svg +1 -0
  105. package/packages/src/assets/icons/svg/tree.svg +1 -0
  106. package/packages/src/assets/icons/svg/upload.svg +1 -0
  107. package/packages/src/assets/icons/svg/user.svg +1 -0
  108. package/packages/src/assets/icons/svg/validCode.svg +1 -0
  109. package/packages/src/assets/icons/svg/warn.svg +1 -0
  110. package/packages/src/assets/icons/svg/wechat.svg +1 -0
  111. package/packages/src/assets/icons/svg/zip.svg +1 -0
  112. package/packages/src/assets/icons/svgo.yml +22 -0
  113. package/packages/src/assets/images/file.png +0 -0
  114. package/packages/src/assets/images/pdf.png +0 -0
  115. package/packages/src/assets/styles/btn.scss +99 -0
  116. package/packages/src/assets/styles/element-ui.scss +92 -0
  117. package/packages/src/assets/styles/element-variables.scss +31 -0
  118. package/packages/src/assets/styles/index.scss +191 -0
  119. package/packages/src/assets/styles/mixin.scss +66 -0
  120. package/packages/src/assets/styles/ruoyi.scss +273 -0
  121. package/packages/src/assets/styles/sidebar.scss +223 -0
  122. package/packages/src/assets/styles/transition.scss +48 -0
  123. package/packages/src/assets/styles/variables.scss +54 -0
  124. package/packages/src/components/DictData/index.js +29 -0
  125. package/packages/src/components/DictTag/index.vue +65 -0
  126. package/packages/src/components/FileUpload/aliyun.vue +350 -0
  127. package/packages/src/components/FileUpload/apk.vue +360 -0
  128. package/packages/src/components/FileUpload/contract-drag.vue +268 -0
  129. package/packages/src/components/FileUpload/contract.vue +239 -0
  130. package/packages/src/components/FileUpload/index.vue +229 -0
  131. package/packages/src/components/FileUpload/s3.vue +244 -0
  132. package/packages/src/components/FileUpload/uploadInvoice.vue +270 -0
  133. package/packages/src/components/ImagePreview/index.vue +92 -0
  134. package/packages/src/components/ImageUpload/aliyun.vue +257 -0
  135. package/packages/src/components/ImageUpload/index.vue +192 -0
  136. package/packages/src/components/ImageUpload/s3.vue +243 -0
  137. package/packages/src/components/ImageUpload/shrinkS3.vue +253 -0
  138. package/packages/src/components/SvgIcon/index.vue +69 -0
  139. package/packages/src/index.js +24 -0
  140. package/packages/src/lang/en.json +225 -0
  141. package/packages/src/lang/zh.json +224 -0
  142. package/packages/src/lib-components/zpw-button.vue +53 -0
  143. package/packages/src/lib-components/zpw-com-test-sample.vue +78 -0
  144. package/packages/src/plugins/auth.js +68 -0
  145. package/packages/src/plugins/cache.js +77 -0
  146. package/packages/src/plugins/download.js +80 -0
  147. package/packages/src/plugins/index.js +28 -0
  148. package/packages/src/plugins/modal.js +83 -0
  149. package/packages/src/plugins/tab.js +75 -0
  150. package/packages/src/router/index.js +339 -0
  151. package/packages/src/store/getters.js +18 -0
  152. package/packages/src/store/index.js +31 -0
  153. package/packages/src/store/modules/app.js +56 -0
  154. package/packages/src/store/modules/i18n.js +28 -0
  155. package/packages/src/store/modules/permission.js +138 -0
  156. package/packages/src/store/modules/settings.js +50 -0
  157. package/packages/src/store/modules/tagsView.js +207 -0
  158. package/packages/src/store/modules/user.js +104 -0
  159. package/packages/src/utils/auth.js +25 -0
  160. package/packages/src/utils/dict/Dict.js +90 -0
  161. package/packages/src/utils/dict/DictConverter.js +17 -0
  162. package/packages/src/utils/dict/DictData.js +13 -0
  163. package/packages/src/utils/dict/DictMeta.js +46 -0
  164. package/packages/src/utils/dict/DictOptions.js +59 -0
  165. package/packages/src/utils/dict/index.js +33 -0
  166. package/packages/src/utils/errorCode.js +6 -0
  167. package/packages/src/utils/generator/config.js +438 -0
  168. package/packages/src/utils/generator/css.js +18 -0
  169. package/packages/src/utils/generator/drawingDefault.js +29 -0
  170. package/packages/src/utils/generator/html.js +359 -0
  171. package/packages/src/utils/generator/icon.json +1 -0
  172. package/packages/src/utils/generator/js.js +236 -0
  173. package/packages/src/utils/generator/render.js +126 -0
  174. package/packages/src/utils/index.js +390 -0
  175. package/packages/src/utils/pdf.js +62 -0
  176. package/packages/src/utils/request.js +227 -0
  177. package/packages/src/utils/ruoyi.js +261 -0
  178. package/packages/src/utils/validate.js +83 -0
  179. package/packages/src/utils/zip.js +62 -0
  180. package/packages/src/views/biz/bizContract/companyList.vue +217 -0
  181. package/packages/src/views/biz/bizContract/contractCompanyList.vue +433 -0
  182. package/packages/src/views/biz/bizContract/depositInvoice.vue +688 -0
  183. package/packages/src/views/biz/bizContract/detail.vue +1168 -0
  184. package/packages/src/views/biz/bizContract/index.vue +940 -0
  185. package/packages/src/views/biz/bizFileInfo/contract copy.vue +359 -0
  186. package/packages/src/views/biz/bizFileInfo/contract-history.vue +150 -0
  187. package/packages/src/views/biz/bizFileInfo/contract.vue +1115 -0
  188. package/packages/src/views/biz/bizFileInfo/detail.vue +82 -0
  189. package/packages/src/views/biz/bizFileInfo/fileShow.vue +316 -0
  190. package/packages/src/views/biz/bizFileInfo/index.vue +405 -0
  191. package/packages/src/views/biz/bizShipment/detail.vue +202 -0
  192. package/packages/src/views/biz/bizShipment/gen.vue +1147 -0
  193. package/packages/src/views/biz/bizShipment/index.vue +696 -0
  194. package/packages/src/views/biz/contractTracing/addBillGood.vue +184 -0
  195. package/packages/src/views/biz/contractTracing/addSubCompany.vue +337 -0
  196. package/packages/src/views/biz/contractTracing/association.vue +189 -0
  197. package/packages/src/views/biz/contractTracing/billGoods.vue +180 -0
  198. package/packages/src/views/biz/contractTracing/billInfo.vue +559 -0
  199. package/packages/src/views/biz/contractTracing/billPdf.vue +275 -0
  200. package/packages/src/views/biz/contractTracing/chargingDialog.vue +84 -0
  201. package/packages/src/views/biz/contractTracing/contract.vue +1256 -0
  202. package/packages/src/views/biz/contractTracing/contractInfo.vue +209 -0
  203. package/packages/src/views/biz/contractTracing/contractPdf.vue +562 -0
  204. package/packages/src/views/biz/contractTracing/contractSummary.vue +1012 -0
  205. package/packages/src/views/biz/contractTracing/contractTracingDetail.vue +88 -0
  206. package/packages/src/views/biz/contractTracing/disputeRecord.vue +311 -0
  207. package/packages/src/views/biz/contractTracing/edit.vue +205 -0
  208. package/packages/src/views/biz/contractTracing/editBill.vue +722 -0
  209. package/packages/src/views/biz/contractTracing/index.vue +1503 -0
  210. package/packages/src/views/biz/contractTracing/purchaseInvoiceUpload.vue +330 -0
  211. package/packages/src/views/biz/contractTracing/sendDrafEmail.vue +120 -0
  212. package/packages/src/views/biz/contractTracing/shipment.vue +601 -0
  213. package/packages/src/views/biz/contractTracing/subCompanyDialog.vue +318 -0
  214. package/packages/src/views/biz/track/index.vue +171 -0
  215. package/packages/src/views/components/icons/element-icons.js +3 -0
  216. package/packages/src/views/components/icons/index.vue +87 -0
  217. package/packages/src/views/components/icons/svg-icons.js +10 -0
  218. package/packages/src/views/test.vue +44 -0
@@ -0,0 +1,1012 @@
1
+ <template>
2
+ <div>
3
+ <el-card class="box-card">
4
+ <el-row>
5
+ <el-col :span="12">
6
+ {{
7
+ $t("contractDetail.contractNo") +
8
+ ":" +
9
+ (this.contract && this.contract.contractNo
10
+ ? this.contract.contractNo
11
+ : "")
12
+ }}
13
+ </el-col>
14
+ <el-col :span="12">
15
+ <div
16
+ v-if="
17
+ contract.contractSignTime &&
18
+ isOvertime(contract.contractSignTime, 14)
19
+ "
20
+ >
21
+ {{
22
+ depositStatus == "not_received"
23
+ ? "【超时未收定金】提醒:您已于【" +
24
+ utc2local(contract.contractSignTime, "YYYY-MM-DD") +
25
+ "】 签订合同,定金款已超过【" +
26
+ getDays(contract.contractSignTime) +
27
+ "】天未收到"
28
+ : depositStatus == "not_paid"
29
+ ? "【超时未付定金】提醒:您已于【" +
30
+ utc2local(contract.contractSignTime, "YYYY-MM-DD") +
31
+ "】 签订合同,定金款已超过【" +
32
+ getDays(contract.contractSignTime) +
33
+ "】天未支付"
34
+ : ""
35
+ }}
36
+ </div>
37
+ <div
38
+ v-if="
39
+ contract.contractSignTime &&
40
+ isOvertime(contract.contractSignTime, contract.latestShipment)
41
+ "
42
+ >
43
+ {{
44
+ deliveryStatus != "all_shipment"
45
+ ? "【超时未发货】提醒:当前合同约定签订后【" +
46
+ contract.latestShipment +
47
+ "】天发货;目前距合同签订【" +
48
+ getDays(contract.contractSignTime) +
49
+ "】天,卖家仍未全部发货;"
50
+ : "" + "】"
51
+ }}
52
+ </div>
53
+ <div
54
+ v-if="
55
+ deliveryStatus == 'all_shipment' &&
56
+ depositStatus == 'not_received'
57
+ "
58
+ >
59
+ {{ "【已发货未收定金】提醒:卖家已全部发货,定金款仍未收到" }}
60
+ </div>
61
+ </el-col>
62
+ </el-row>
63
+ <el-row>
64
+ {{
65
+ $t("contractDetail.relatedContract") +
66
+ ":" +
67
+ getContractNos(
68
+ (this.contract && this.contract.associationContractList) || []
69
+ )
70
+ }}
71
+ </el-row>
72
+ </el-card>
73
+
74
+ <el-card style="margin-top: 5px">
75
+ <div slot="header" class="clearfix">
76
+ <span>{{ $t("contractDetail.dealSummary") }}</span>
77
+ <!-- <el-button style="float: right; padding: 3px 0" type="text"
78
+ >操作按钮</el-button
79
+ > -->
80
+ </div>
81
+ <el-form :model="dealRecord">
82
+ <el-card>
83
+ <div slot="header" class="clearfix">
84
+ {{ $t("contractDetail.askOverview") }}
85
+ </div>
86
+ <el-row>
87
+ <el-col :span="8">
88
+ <el-form-item :label="$t('contractDetail.askId')">
89
+ {{ dealRecord.askId }}
90
+ </el-form-item>
91
+ </el-col>
92
+ <el-col :span="8">
93
+ <el-form-item :label="$t('contractDetail.askName')">
94
+ {{ dealRecord.askName }}
95
+ </el-form-item>
96
+ </el-col>
97
+ <el-col :span="8">
98
+ <el-form-item :label="$t('contractDetail.dealTime')">
99
+ {{ dealRecord.dealTime }}
100
+ </el-form-item>
101
+ </el-col>
102
+ </el-row>
103
+ <el-row>
104
+ <el-col :span="8">
105
+ <el-form-item :label="$t('contractDetail.loadingCountry')">
106
+ {{ getCountryName("loading") }}
107
+ </el-form-item>
108
+ </el-col>
109
+ <el-col :span="8">
110
+ <el-form-item :label="$t('contractDetail.originCountry')">
111
+ {{ getCountryName("country") }}
112
+ </el-form-item>
113
+ </el-col>
114
+ <el-col :span="8">
115
+ <el-form-item :label="$t('contractDetail.shipmentDays')">
116
+ {{
117
+ $t("contractDetail.tip1") +
118
+ "[" +
119
+ dealRecord.shipmentDays +
120
+ "]" +
121
+ $t("contractDetail.tip2")
122
+ }}
123
+ </el-form-item>
124
+ </el-col>
125
+ </el-row>
126
+ <el-row>
127
+ <el-col :span="8">
128
+ <el-form-item :label="$t('contractDetail.tip3')">
129
+ {{
130
+ dealRecord.originCertificateFlag
131
+ ? $t("contractDetail.yes")
132
+ : $t("contractDetail.no")
133
+ }}
134
+ </el-form-item>
135
+ </el-col>
136
+ <el-col :span="8">
137
+ <el-form-item :label="$t('contractDetail.tip4')">
138
+ {{
139
+ dealRecord.customsRejectionFlag
140
+ ? $t("contractDetail.yes")
141
+ : $t("contractDetail.no")
142
+ }}
143
+ </el-form-item>
144
+ </el-col>
145
+ </el-row>
146
+ <el-row>
147
+ <el-col :span="8">
148
+ <el-form-item :label="$t('contractDetail.paymentType')">
149
+ {{ dealRecord.paymentType }}
150
+ </el-form-item>
151
+ </el-col>
152
+ <el-col :span="8">
153
+ <el-form-item :label="$t('contractDetail.destination')">
154
+ {{ dealRecord.buyerDestination }}
155
+ </el-form-item>
156
+ </el-col>
157
+ </el-row>
158
+ <el-row>
159
+ <el-form-item :label="$t('contractDetail.description')">
160
+ {{ dealRecord.descriptions }}
161
+ </el-form-item>
162
+ </el-row>
163
+ <el-row>
164
+ <el-form-item :label="$t('contractDetail.preferredQuoteMethod')">
165
+ {{
166
+ getPreferredQuoteMethodLabel(dealRecord.preferredQuoteMethod)
167
+ }}
168
+ </el-form-item>
169
+ </el-row>
170
+ </el-card>
171
+
172
+ <el-card v-if="channel !== 'official-website'" class="mt5">
173
+ <div slot="header" class="clearfix">
174
+ <span class="text item">公司信息</span>
175
+ </div>
176
+ <el-row>
177
+ <el-col :span="12">
178
+ <div class="text item">
179
+ {{ "卖方" }}
180
+ </div>
181
+ <el-form-item label="公司名称" prop="sellerCompanyName">
182
+ {{ dealRecord.sellerCompanyName }}
183
+ </el-form-item>
184
+ <el-form-item label="公司地址">
185
+ {{ dealRecord.sellerCompanyAddress }}
186
+ </el-form-item>
187
+ <el-form-item label="联系人">
188
+ {{
189
+ dealRecord.contactLastname + " " + dealRecord.contactFirstname
190
+ }}
191
+ </el-form-item>
192
+ </el-col>
193
+ <el-col :span="12">
194
+ <div class="text item">
195
+ {{ "买方" }}
196
+ </div>
197
+ <el-form-item label="公司名称" prop="buyerCompanyName">
198
+ {{
199
+ dealRecord.buyerCompanyName || dealRecord.buyerCompanyNameCn
200
+ }}
201
+ </el-form-item>
202
+ <el-form-item label="公司地址" prop="buyerCompanyName">
203
+ {{ dealRecord.buyerCompanyAddress }}
204
+ </el-form-item>
205
+ <el-form-item label="联系人">
206
+ {{ dealRecord.buyerLastname + " " + dealRecord.buyerFirstname }}
207
+ </el-form-item>
208
+ </el-col>
209
+ </el-row>
210
+ </el-card>
211
+
212
+ <el-card class="mt5">
213
+ <div slot="header" class="clearfix">
214
+ <span class="text item">{{
215
+ $t("contractDetail.commodityInfo")
216
+ }}</span>
217
+ </div>
218
+ <el-table
219
+ :data="dealRecord.dealRecordDetailList"
220
+ small="mini"
221
+ style="width: 100%"
222
+ :header-cell-style="{ 'text-align': 'center' }"
223
+ :cell-style="{ 'text-align': 'center' }"
224
+ >
225
+ <el-table-column
226
+ :label="$t('contractDetail.commodityPicture')"
227
+ width="150"
228
+ >
229
+ <template v-slot:default="scope">
230
+ <image-preview
231
+ :src="scope.row.askCover"
232
+ :width="50"
233
+ :height="50"
234
+ />
235
+ </template>
236
+ </el-table-column>
237
+ <el-table-column
238
+ prop="askName"
239
+ :label="$t('contractDetail.askName')"
240
+ width="100"
241
+ >
242
+ </el-table-column>
243
+ <el-table-column
244
+ v-if="channel !== 'official-website'"
245
+ :label="$t('contractDetail.categoryName')"
246
+ prop="categoryName"
247
+ >
248
+ </el-table-column>
249
+ <el-table-column
250
+ v-if="channel !== 'official-website'"
251
+ :label="$t('contractDetail.subCategory')"
252
+ prop="subCategoryName"
253
+ width="110"
254
+ >
255
+ </el-table-column>
256
+ <el-table-column
257
+ :label="$t('contractDetail.packaging')"
258
+ prop="packingMethod"
259
+ width="90"
260
+ />
261
+ <el-table-column
262
+ prop="descriptions"
263
+ :label="$t('contractDetail.description')"
264
+ width="160"
265
+ >
266
+ </el-table-column>
267
+ <el-table-column
268
+ prop="weight"
269
+ :label="$t('contractDetail.weight')"
270
+ width="90px"
271
+ >
272
+ </el-table-column>
273
+ <el-table-column
274
+ v-if="channel !== 'official-website'"
275
+ prop="sllerPrice"
276
+ :label="$t('contractDetail.sellerPrice')"
277
+ width="120"
278
+ >
279
+ <template slot-scope="scope">
280
+ <span v-if="dealRecord.quoteType == 'FIXED'">
281
+ {{ "$" + scope.row.sllerPrice }}
282
+ </span>
283
+ <span v-else-if="dealRecord.quoteType == 'CMX'">
284
+ {{ "CMX - " + scope.row.sllerPrice }}
285
+ </span>
286
+ <span v-else>
287
+ {{ scope.row.sllerPrice + "%LME" }}
288
+ </span>
289
+ </template>
290
+ </el-table-column>
291
+ <el-table-column
292
+ prop="quotePrice"
293
+ :label="$t('contractDetail.quotePrice')"
294
+ width="120"
295
+ >
296
+ <template slot-scope="scope">
297
+ <span v-if="dealRecord.quoteType == 'FIXED'">
298
+ {{ "$" + scope.row.quotePrice }}
299
+ </span>
300
+ <span v-else-if="dealRecord.quoteType == 'CMX'">
301
+ {{ "CMX - " + scope.row.quotePrice }}
302
+ </span>
303
+ <span v-else>
304
+ {{ scope.row.quotePrice + "%LME" }}
305
+ </span>
306
+ </template>
307
+ </el-table-column>
308
+ <el-table-column
309
+ prop="totalQuote"
310
+ :label="$t('contractDetail.totalQuote')"
311
+ width="120"
312
+ >
313
+ </el-table-column>
314
+ </el-table>
315
+ </el-card>
316
+ </el-form>
317
+
318
+ <el-card class="mt5">
319
+ <div slot="header" class="clearfix">
320
+ <span class="text item">{{ $t("contractDetail.invoiceInfo") }}</span>
321
+ <el-button
322
+ style="float: right; padding: 3px 0"
323
+ type="text"
324
+ @click="collectInvoice"
325
+ >{{ $t("contractDetail.closeInvoiceInfo") }}
326
+ <i class="el-icon-arrow-down"></i>
327
+ </el-button>
328
+ <el-button v-if="channel !== 'official-website'" style="padding: 3px 0" type="text" @click="viceDocuments"
329
+ >{{ $t("contractDetail.viewPaymentInfo") }}
330
+ </el-button>
331
+ </div>
332
+ <el-table :data="invoiceList" v-if="invoiceActive">
333
+ <el-table-column
334
+ :label="$t('contractDetail.invoiceNo')"
335
+ align="center"
336
+ prop="invoiceNo"
337
+ width="165"
338
+ />
339
+ <el-table-column
340
+ :label="$t('contractDetail.contractNo')"
341
+ align="center"
342
+ prop="contractNo"
343
+ width="155"
344
+ />
345
+ <el-table-column
346
+ :label="$t('contractDetail.invoiceType')"
347
+ align="center"
348
+ prop="invoiceType"
349
+ width="120"
350
+ >
351
+ <template slot-scope="scope">
352
+ <dict-tag
353
+ :options="dict.type.contract_type"
354
+ :value="scope.row.invoiceType"
355
+ />
356
+ </template>
357
+ </el-table-column>
358
+ <el-table-column
359
+ :label="$t('contractDetail.invoiceSpecies')"
360
+ align="center"
361
+ prop="invoiceSpecies"
362
+ width="120"
363
+ >
364
+ <template slot-scope="scope">
365
+ <dict-tag
366
+ :options="dict.type.invoice_species"
367
+ :value="scope.row.invoiceSpecies"
368
+ />
369
+ </template>
370
+ </el-table-column>
371
+ <el-table-column
372
+ :label="$t('contractDetail.invoiceDate')"
373
+ prop="createTime"
374
+ width="120"
375
+ ></el-table-column>
376
+ <el-table-column
377
+ :label="$t('contractDetail.issuer')"
378
+ align="center"
379
+ prop="billCompanyName"
380
+ width="150"
381
+ :show-overflow-tooltip="true"
382
+ />
383
+ <el-table-column
384
+ :label="$t('contractDetail.billTo')"
385
+ align="center"
386
+ prop="receiveCompanyName"
387
+ width="150"
388
+ :show-overflow-tooltip="true"
389
+ />
390
+ <el-table-column
391
+ label="未付/未收金额"
392
+ align="center"
393
+ prop="remainingAmount"
394
+ width="120"
395
+ />
396
+ <el-table-column
397
+ label="已付/已收金额"
398
+ align="center"
399
+ prop="remainingAmount"
400
+ width="120"
401
+ >
402
+ <template slot-scope="{ row }">
403
+ {{ row.amount - row.remainingAmount }}
404
+ </template>
405
+ </el-table-column>
406
+ <el-table-column
407
+ label="总金额"
408
+ align="center"
409
+ prop="amount"
410
+ width="100"
411
+ />
412
+ <el-table-column
413
+ :label="$t('contractDetail.quoteType')"
414
+ align="center"
415
+ prop="quoteType"
416
+ width="120"
417
+ />
418
+
419
+ <el-table-column
420
+ :label="$t('contractDetail.paymentTerms')"
421
+ align="center"
422
+ prop="paymentTerms"
423
+ show-overflow-tooltip
424
+ width="120"
425
+ />
426
+
427
+ <el-table-column
428
+ v-if="channel !== 'official-website'"
429
+ :label="$t('contractDetail.remark')"
430
+ align="center"
431
+ prop="remark"
432
+ show-overflow-tooltip
433
+ />
434
+ <el-table-column :label="$t('contractDetail.operate')"
435
+ v-if="channel !== 'official-website'"
436
+ >
437
+ <template slot-scope="{ row }">
438
+ <el-button
439
+ v-if="
440
+ contract.contractType == 'sale' &&
441
+ row.invoiceSpecies != 'proforma'
442
+ "
443
+ type="text"
444
+ @click="handleUrge(row)"
445
+ >一键催款</el-button
446
+ >
447
+ </template>
448
+ </el-table-column>
449
+ </el-table>
450
+ </el-card>
451
+
452
+ <el-card class="mt5">
453
+ <el-collapse v-model="shipmentActiveName" accordion>
454
+ <el-collapse-item name="0">
455
+ <template slot="title">
456
+ {{ $t("contractDetail.shipping") }}
457
+ </template>
458
+ <el-row v-if="channel !== 'official-website'" class="mb10">
459
+ <el-col :span="2">
460
+ <el-button
461
+ type="primary"
462
+ size="small"
463
+ @click="handleShipmentStatus('shipped')"
464
+ >全部发货</el-button
465
+ >
466
+ </el-col>
467
+ <el-col :span="2">
468
+ <el-button
469
+ type="primary"
470
+ size="small"
471
+ @click="handleShipmentStatus('arrived_port')"
472
+ >全部到港</el-button
473
+ >
474
+ </el-col>
475
+ <el-col :span="2">
476
+ <el-button
477
+ type="primary"
478
+ size="small"
479
+ @click="handleShipmentStatus('delivered')"
480
+ >全部到货</el-button
481
+ >
482
+ </el-col>
483
+ </el-row>
484
+ <el-table :data="shipmentList">
485
+ <el-table-column
486
+ :label="$t('contractDetail.billOfLadingNo')"
487
+ align="center"
488
+ prop="billOfLadingNo"
489
+ width="130"
490
+ >
491
+ <template slot-scope="scope">
492
+ <el-button type="text" @click="openShipmentDetail(scope.row)">
493
+ {{ scope.row.billOfLadingNo }}</el-button
494
+ >
495
+ </template>
496
+ </el-table-column>
497
+ <el-table-column
498
+ :label="$t('contractDetail.conrainerNo')"
499
+ align="center"
500
+ width="130"
501
+ >
502
+ <template slot-scope="{ row }">
503
+ <div style="white-space: pre-line !important">
504
+ {{ row.containerNoList.join("\n") }}
505
+ </div>
506
+ </template></el-table-column
507
+ >
508
+ <el-table-column
509
+ :label="$t('contractDetail.shipmentStatus')"
510
+ align="center"
511
+ width="130"
512
+ >
513
+ <template slot-scope="scope">
514
+ <dict-tag
515
+ :options="dict.type.shipment_status"
516
+ :value="scope.row.shipmentStatus"
517
+ />
518
+ </template>
519
+ </el-table-column>
520
+ <el-table-column
521
+ :label="$t('contractDetail.chargingStatus')"
522
+ align="center"
523
+ width="130"
524
+ >
525
+ <template slot-scope="scope">
526
+ <dict-tag
527
+ :options="dict.type.charging_status"
528
+ :value="scope.row.chargingStatus"
529
+ />
530
+ </template>
531
+ </el-table-column>
532
+ <el-table-column
533
+ :label="$t('contractDetail.destination')"
534
+ align="center"
535
+ prop="destinationPort"
536
+ width="150"
537
+ />
538
+ <el-table-column
539
+ label="ETD"
540
+ align="center"
541
+ prop="etd"
542
+ width="180"
543
+ >
544
+ <template slot-scope="scope">
545
+ <span>{{ parseTime(scope.row.etd, "{y}-{m}-{d}") }}</span>
546
+ </template>
547
+ </el-table-column>
548
+ <el-table-column
549
+ label="ETA"
550
+ align="center"
551
+ prop="eta"
552
+ width="180"
553
+ >
554
+ <template slot-scope="scope">
555
+ <span>{{ parseTime(scope.row.eta, "{y}-{m}-{d}") }}</span>
556
+ </template>
557
+ </el-table-column>
558
+ <el-table-column
559
+ v-if="channel !== 'official-website'"
560
+ label="实际到港日"
561
+ align="center"
562
+ prop="actualArrivalDate"
563
+ width="180"
564
+ >
565
+ <template slot-scope="scope">
566
+ <span>{{
567
+ parseTime(scope.row.actualArrivalDate, "{y}-{m}-{d}")
568
+ }}</span>
569
+ </template>
570
+ </el-table-column>
571
+
572
+ <el-table-column
573
+ label="对应合同"
574
+ align="center"
575
+ width="160px"
576
+ v-if="channel !== 'official-website'"
577
+ >
578
+ <template slot-scope="scope">
579
+ <span v-if="contract.contract == 'sale'">
580
+ <el-button
581
+ type="text"
582
+ @click="viewContractDetail(scope.row.saleContractNo)"
583
+ >
584
+ {{ scope.row.saleContractNo }}
585
+ </el-button>
586
+ </span>
587
+ <span v-else>
588
+ <el-button
589
+ type="text"
590
+ @click="viewContractDetail(scope.row.purchaseContractNo)"
591
+ >
592
+ {{ scope.row.purchaseContractNo }}
593
+ </el-button>
594
+ </span>
595
+ </template>
596
+ </el-table-column>
597
+
598
+ <el-table-column
599
+ :label="$t('contractDetail.operate')"
600
+ align="center"
601
+ class-name="small-padding fixed-width"
602
+ width="150px"
603
+ >
604
+ 查看物流?
605
+ </el-table-column>
606
+ </el-table>
607
+
608
+ <el-tabs v-model="activeName" type="card">
609
+ <el-tab-pane
610
+ v-for="(item, index) in shipmentList"
611
+ :key="index"
612
+ :name="index.toString()"
613
+ :label="item.billOfLadingNo"
614
+ >
615
+ <iframe
616
+ :src="getGeekYumPage(item)"
617
+ width="1100"
618
+ height="600"
619
+ ></iframe>
620
+ </el-tab-pane>
621
+ </el-tabs>
622
+ </el-collapse-item>
623
+ </el-collapse>
624
+ </el-card>
625
+ </el-card>
626
+
627
+ <shipment-detail ref="shipmentDetail" />
628
+ </div>
629
+ </template>
630
+
631
+ <script>
632
+ import { mapGetters } from "vuex";
633
+ import { getBizDealRecordByAskId } from "../../../api/biz/bizDealRecord";
634
+ import {
635
+ getBizContract,
636
+ getBizContractByNo,
637
+ } from "../../../api/biz/bizContract";
638
+ import {
639
+ listBizInvoice,
640
+ getInfoWithShipment,
641
+ } from "../../../api/biz/bizInvoice";
642
+ import {
643
+ listBizShipment,
644
+ getGeekYumToken,
645
+ updateAllShipmentStatus,
646
+ } from "../../../api/biz/bizShipment";
647
+ import { listContainerWithInvoice } from "../../../api/biz/bizContainer";
648
+ import ShipmentDetail from "../bizShipment/detail.vue";
649
+
650
+ export default {
651
+ name: "ContractSummary",
652
+ dicts: [
653
+ "contract_status",
654
+ "invoice_status",
655
+ "currency",
656
+ "invoice_species",
657
+ "document_type",
658
+ "completion_state",
659
+ "cmx_month",
660
+ "contract_type",
661
+ "shipment_status",
662
+ "charging_status",
663
+ ],
664
+ mixins: [],
665
+ components: { ShipmentDetail },
666
+ props: {
667
+ channel:{
668
+ type: String,
669
+ default: "",
670
+ }
671
+ },
672
+ data() {
673
+ return {
674
+ invoiceActive: true,
675
+ shipmentActiveName: "0",
676
+ activeName: "0",
677
+ contractId: null,
678
+ dealRecord: {},
679
+ contract: {},
680
+ invoiceList: [],
681
+ shipmentList: [],
682
+ depositStatus: null,
683
+ deliveryStatus: null,
684
+ preferredQuoteMethod: {
685
+ fixed: {
686
+ label: "FIXED",
687
+ labelZh: "固定价",
688
+ },
689
+ lme_seller: {
690
+ label: "LME(seller's option to fix)",
691
+ labelZh: "LME活价(卖家点价)",
692
+ },
693
+ lme_buyer: {
694
+ label: "LME(buyer's option to fix)",
695
+ labelZh: "LME活价(买家点价)",
696
+ },
697
+ cmx_buyer: {
698
+ label: "CMX(seller's option to fix)",
699
+ labelZh: "CMX活价(卖家点价))",
700
+ },
701
+ cmx_seller: {
702
+ label: "CMX(buyer's option to fix)",
703
+ labelZh: "CMX活价(买家点价)",
704
+ },
705
+ },
706
+ accessToken: "",
707
+ };
708
+ },
709
+ computed: {},
710
+ watch: {},
711
+ created() {
712
+ const contractId = this.$route.params && this.$route.params.contractId;
713
+ this.contractId = contractId;
714
+ const deliveryStatus =
715
+ this.$route.query && this.$route.query.deliveryStatus;
716
+ this.deliveryStatus = deliveryStatus;
717
+ const depositStatus = this.$route.query && this.$route.query.depositStatus;
718
+ this.depositStatus = depositStatus;
719
+ this.getData();
720
+ this.getGeekYumToken();
721
+ },
722
+ computed: {
723
+ ...mapGetters(["language"]),
724
+ isChina() {
725
+ return ["zh-CN", "zh-TW","zh"].includes(this.language);
726
+ },
727
+ },
728
+ methods: {
729
+ getCountryName(type) {
730
+ if (type == "loading") {
731
+ return this.isChina
732
+ ? this.dealRecord?.loadingCountryNameCn
733
+ : this.dealRecord?.loadingCountryNameEn;
734
+ } else {
735
+ return this.isChina
736
+ ? this.dealRecord?.originCountryNameCn
737
+ : this.dealRecord?.originCountryNameEn;
738
+ }
739
+ },
740
+ openShipmentDetail(row) {
741
+ this.$refs.shipmentDetail.handleShow(row);
742
+ },
743
+ //查看合同详情
744
+ viewContractDetail(contractNo) {
745
+ getBizContractByNo(contractNo).then((res) => {
746
+ this.$router.push({
747
+ path: "/contract/tracing/detail/" + res.data.contractId,
748
+ });
749
+ });
750
+ },
751
+ //查看收付款列表
752
+ viceDocuments() {
753
+ this.$router.push({
754
+ name: "Documents",
755
+ params: { contractNo: this.contract.contractNo },
756
+ });
757
+ },
758
+ //收起展开发票
759
+ collectInvoice() {
760
+ this.invoiceActive = !this.invoiceActive;
761
+ },
762
+ //一键催款
763
+ handleUrge(invoice) {
764
+ const invoiceId = invoice.id;
765
+ getInfoWithShipment(invoiceId).then((res) => {
766
+ invoice = res.data;
767
+ const contractNo = invoice.contractNo || "待补充";
768
+ const invoiceNo = invoice.invoiceNo || "待补充";
769
+ const value = invoice.amount || "待补充";
770
+ const blNumber = invoice.billOfLadingNo || "待补充";
771
+ const containerNo = invoice.containerNoList || "待补充";
772
+ const eta = invoice.eta || "待补充";
773
+
774
+ const englishText = `Attention: Arrive notice. Please arrange the payment within 7 days after receiving this notice, in order to obtain telex BL and avoid unnecessary demurrage charges.
775
+ TO: ${invoice.receiveCompanyName || "待补充"}
776
+ Contract #: ${contractNo}
777
+ INVOICE #: ${invoiceNo}
778
+ Value: $${value}
779
+ BL#: ${blNumber}
780
+ Container#: ${containerNo}
781
+ ETA: ${eta}
782
+
783
+ 温馨提示:到货通知。请贵司收到此通知后的7个工作日内安排支付货款,以便安排提单电放,避免产生不必要的滞箱费用。
784
+ 致:收货公司${invoice.receiveCompanyName || "待补充"}
785
+ 合同号:${contractNo}
786
+ 发票号:${invoiceNo}
787
+ 发票金额:$${value}
788
+ 提单号:${blNumber}
789
+ 集装箱号:${containerNo}
790
+ 预计到港:${eta}`;
791
+
792
+ // 创建临时 <textarea> 元素,将链接写入其中
793
+ const textArea = document.createElement("textarea");
794
+ textArea.value = englishText;
795
+
796
+ document.body.appendChild(textArea);
797
+
798
+ // 选中并复制链接
799
+ textArea.select();
800
+ document.execCommand("copy");
801
+
802
+ // 将 <textarea> 元素删除
803
+ document.body.removeChild(textArea);
804
+ this.$modal.msgSuccess("已复制到剪切板");
805
+ });
806
+ },
807
+
808
+ //处理装运状态
809
+ handleShipmentStatus(status) {
810
+ let statusCn =
811
+ status == "shipped"
812
+ ? "全部发货"
813
+ : status == "arrived_port"
814
+ ? "全部到港"
815
+ : "全部到货";
816
+
817
+ this.$prompt("", "请填写手动" + statusCn + "的原因", {
818
+ confirmButtonText: "确定",
819
+ cancelButtonText: "取消",
820
+ inputType: "textarea",
821
+ inputPlaceholder:
822
+ "请添加手动变为" +
823
+ statusCn +
824
+ "原因。填写后,可以在合同详情-备注里展示。",
825
+ })
826
+ .then(({ value }) => {
827
+ updateAllShipmentStatus({
828
+ contractId: this.contract.contractId,
829
+ shipmentStatus: status,
830
+ remark: value,
831
+ }).then(() => {
832
+ this.$message({
833
+ type: "success",
834
+ message: "变更成功",
835
+ });
836
+ this.getData();
837
+ });
838
+ })
839
+ .catch((e) => {
840
+ this.$message({
841
+ type: "info",
842
+ message: e,
843
+ });
844
+ });
845
+ },
846
+ getGeekYumPage(shipment) {
847
+ if (shipment.subNo) {
848
+ let url =
849
+ "https://tracking.geekyum.com/shipping/detail?bizNo=" +
850
+ shipment.bookingNo.toString() +
851
+ "&bizType=1&subNo=" +
852
+ shipment.subNo.toString() +
853
+ "&access_token=" +
854
+ this.accessToken;
855
+ url = url + (this.isChina ? "&lang=zh" : "&lang=en");
856
+ console.log(url);
857
+ return url;
858
+ }
859
+ },
860
+ getGeekYumToken() {
861
+ getGeekYumToken().then((res) => {
862
+ this.accessToken = res.msg;
863
+ });
864
+ },
865
+ getDays(date) {
866
+ const targetDate = new Date(date);
867
+ const currentDate = new Date();
868
+
869
+ // 计算时间差,返回毫秒数
870
+ const timeDifference = currentDate.getTime() - targetDate.getTime();
871
+
872
+ // 将毫秒数转换为天数
873
+ const daysDifference = Math.ceil(timeDifference / (1000 * 60 * 60 * 24));
874
+ return daysDifference;
875
+ },
876
+ //是否超时
877
+ isOvertime(date, days) {
878
+ const targetDate = new Date(date);
879
+ const currentDate = new Date();
880
+
881
+ // 添加14天
882
+ targetDate.setDate(targetDate.getDate() + days);
883
+
884
+ if (targetDate < currentDate) {
885
+ return true;
886
+ } else {
887
+ return false;
888
+ }
889
+ },
890
+ getPreferredQuoteMethodLabel(val) {
891
+ var preferredQuote = val?.split(",");
892
+ if (preferredQuote) {
893
+ return preferredQuote
894
+ ?.map((i) => {
895
+ return this.isChina
896
+ ? this.preferredQuoteMethod[i]?.labelZh
897
+ : this.preferredQuoteMethod[i].label;
898
+ })
899
+ .join();
900
+ } else {
901
+ return "";
902
+ }
903
+ },
904
+ getContractNos(contractList) {
905
+ return contractList?.map((i) => {
906
+ return (
907
+ i.contractNo +
908
+ " " +
909
+ this.selectDictLabelMapFun(
910
+ this.dict.type.contract_status,
911
+ i.contractStatus
912
+ ) +
913
+ ";"
914
+ );
915
+ });
916
+ },
917
+
918
+ /**
919
+ * @description: 状态设置
920
+ * @param {*} contract_status
921
+ * @param {*} contractStatus
922
+ * @return {*}
923
+ */
924
+ selectDictLabelMapFun(contract_status ,contractStatus) {
925
+ if (contractStatus == "voided") {
926
+ return this.$t("contractDetail.voided");
927
+ } else if (contractStatus == "signed") {
928
+ return this.$t("contractDetail.signed");
929
+ } else {
930
+ return this.$t("contractDetail.Pending_Confirmation");
931
+ }
932
+ },
933
+ getData() {
934
+ getBizContract(this.contractId)
935
+ .then((res) => {
936
+ this.contract = res.data;
937
+ })
938
+ .then(() => {
939
+ getBizDealRecordByAskId(this.contract.askId).then((response) => {
940
+ this.dealRecord = response.data;
941
+ this.dealRecord.dealRecordDetailList.map((item) => {
942
+ if (item.imageList) {
943
+ item.askCover = item.imageList.toString();
944
+ }
945
+ });
946
+ });
947
+ listBizInvoice({
948
+ contractId: this.contractId,
949
+ }).then((response) => {
950
+ this.invoiceList = response.rows;
951
+ });
952
+ var queryParams = {};
953
+ if (this.contract.contractType == "sale") {
954
+ queryParams.saleContractId = this.contractId;
955
+ } else {
956
+ queryParams.purchaseContractId = this.contractId;
957
+ }
958
+ listContainerWithInvoice(queryParams).then((res) => {
959
+ var shipmentList = this.processData(res.rows);
960
+ this.shipmentList = shipmentList;
961
+ });
962
+ });
963
+ },
964
+ //数据处理
965
+ processData(data) {
966
+ const processedData = [];
967
+ const shipmentIds = new Set();
968
+ // Iterate over the data
969
+ for (const item of data) {
970
+ const shipmentId = item.shipmentId;
971
+ // If shipmentId is not seen before, add it to the set and process the item
972
+ if (!shipmentIds.has(shipmentId)) {
973
+ shipmentIds.add(shipmentId);
974
+ // Create a new object with shipmentId and initialize containerNoList
975
+ const processedItem = {
976
+ ...item,
977
+ shipmentId: shipmentId,
978
+ containerNoList: [],
979
+ };
980
+ // Iterate over the data again to find matching shipmentId
981
+ for (const innerItem of data) {
982
+ if (innerItem.shipmentId === shipmentId) {
983
+ processedItem.containerNoList.push(innerItem.containerNo);
984
+ }
985
+ }
986
+ // Add the processed item to the result array
987
+ processedData.push(processedItem);
988
+ }
989
+ }
990
+ return processedData;
991
+ },
992
+ //获取合同信息
993
+ getContract(contractId) {
994
+ getBizContract(contractId).then((res) => {
995
+ this.contract = res.data;
996
+ });
997
+ },
998
+ getDealRecord(askId) {
999
+ getBizDealRecordByAskId(askId).then((response) => {
1000
+ this.dealRecord = response.data;
1001
+ this.dealRecord.dealRecordDetailList.map((item) => {
1002
+ if (item.imageList) {
1003
+ item.askCover = item.imageList.toString();
1004
+ }
1005
+ });
1006
+ });
1007
+ },
1008
+ },
1009
+ };
1010
+ </script>
1011
+
1012
+ <style scoped lang="scss"></style>