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,562 @@
1
+ <template>
2
+ <div class="app-container">
3
+ <div class="info" id="printPdf">
4
+ <div class="type">
5
+ {{
6
+ contract.contractType == "sale"
7
+ ? "Sales Contract"
8
+ : "Purchase Contract"
9
+ }}
10
+ </div>
11
+ <div class="title">TTYY INTERNATIONAL LIMITED</div>
12
+ <div class="sub-title mb20">
13
+ FLAT/RM 07,12/F,CHEVALIER COMMERCIAL CENTRE 8 ,WANG HOI ROAD,KOWLOON
14
+ BAY,KL,HONG KONG
15
+ </div>
16
+ <el-row class="mb10">
17
+ <el-col :span="5">{{
18
+ contract.contractType == "sale" ? "Sales Order #:" : "Purchase Order"
19
+ }}</el-col>
20
+ <el-col :span="7">{{ contract.contractNo }}</el-col>
21
+ <el-col :span="5">Reference#:</el-col>
22
+ <el-col :span="7"></el-col>
23
+ </el-row>
24
+ <div>
25
+ <el-row :gutter="20">
26
+ <el-col :span="12">
27
+ <div class="company">
28
+ <div class="company-type">Seller</div>
29
+ <div class="company-text">
30
+ {{ contract.supplierContractCompany.companyEnglishName }}
31
+ </div>
32
+ <div class="company-text">
33
+ {{ contract.supplierContractCompany.address }}
34
+ </div>
35
+ </div>
36
+ </el-col>
37
+ <el-col :span="12">
38
+ <div class="company">
39
+ <div class="company-type">Buyer</div>
40
+ <div class="company-text">
41
+ {{ contract.buyContractCompany.companyEnglishName }}
42
+ </div>
43
+ <div class="company-text">
44
+ {{ contract.buyContractCompany.address }}
45
+ </div>
46
+ </div>
47
+ </el-col>
48
+ </el-row>
49
+ <el-divider></el-divider>
50
+ <div class="item">
51
+ <el-table
52
+ :data="contract.contractDetailList"
53
+ :header-cell-style="{ backgroundColor: '#ffffff' }"
54
+ :row-style="{ border: 'none' }"
55
+ :summary-method="getSummaries"
56
+ show-summary
57
+ >
58
+ <el-table-column
59
+ label="Description"
60
+ align="center"
61
+ prop="askName"
62
+ ></el-table-column>
63
+ <el-table-column label="Quantity" align="center" prop="weight">
64
+ <template slot-scope="scope">{{ scope.row.weight }}MT</template>
65
+ </el-table-column>
66
+ <el-table-column
67
+ v-if="contract.quoteType == 'FIXED'"
68
+ label="Unit Price/MT"
69
+ align="center"
70
+ width="200"
71
+ >
72
+ <template slot-scope="{ row }">
73
+ <span v-if="contract.contractType == 'sale'">
74
+ ${{ row.quotePrice }}
75
+ </span>
76
+ <span v-else>${{ row.sllerPrice }}</span>
77
+ </template>
78
+ </el-table-column>
79
+
80
+ <!-- CMX 都显示 -->
81
+ <el-table-column
82
+ v-if="contract.quoteType == 'CMX'"
83
+ label="Unit Price/MT"
84
+ align="center"
85
+ width="200"
86
+ >
87
+ <template slot-scope="{ row }">
88
+ <span v-if="contract.contractType == 'sale'">
89
+ $(CMX-{{ row.quotePrice }})*2204.62
90
+ </span>
91
+ <span v-else>$(CMX-{{ row.sllerPrice }})*2204.62</span>
92
+ </template>
93
+ </el-table-column>
94
+ <!-- LME -->
95
+ <el-table-column
96
+ v-if="contract.quoteType == 'LME'"
97
+ label="Unit Price/MT"
98
+ align="center"
99
+ width="200"
100
+ >
101
+ <template slot-scope="{ row }">
102
+ <span v-if="contract.contractType == 'sale'">
103
+ $(LME 3M *{{ row.quotePrice }}%)
104
+ </span>
105
+ <span v-else>$(LME 3M *{{ row.sllerPrice }}%)</span>
106
+ </template>
107
+ </el-table-column>
108
+
109
+ <!-- CMX 都显示 CMX Month-->
110
+ <el-table-column
111
+ v-if="contract.quoteType == 'CMX'"
112
+ label="CMX Month"
113
+ align="center"
114
+ >
115
+ <template slot-scope="scope">
116
+ {{ scope.row.cmxMonth }}
117
+ </template>
118
+ </el-table-column>
119
+ <el-table-column label="Service fee/MT" align="center">
120
+ <template slot-scope="scope"
121
+ >${{ scope.row.serviceFee }}</template
122
+ >
123
+ </el-table-column>
124
+
125
+ <!-- 采购合同 FIXED -->
126
+ <el-table-column label="Net Unit Price/MT" align="center">
127
+ <template slot-scope="scope">
128
+ <span
129
+ v-if="
130
+ contract.quoteType == 'FIXED' &&
131
+ contract.contractType == 'purchase'
132
+ "
133
+ >
134
+ {{
135
+ "$" + (scope.row.sllerPrice - Number(scope.row.serviceFee))
136
+ }}
137
+ </span>
138
+ <span
139
+ v-else-if="
140
+ contract.quoteType == 'FIXED' &&
141
+ contract.contractType == 'sale'
142
+ "
143
+ >
144
+ {{
145
+ "$" +
146
+ (Number(scope.row.quotePrice) +
147
+ Number(scope.row.serviceFee))
148
+ }}
149
+ </span>
150
+ <span
151
+ v-else-if="
152
+ contract.quoteType == 'LME' &&
153
+ contract.contractType == 'purchase'
154
+ "
155
+ >
156
+ {{
157
+ "$(LME 3M * " +
158
+ scope.row.sllerPrice +
159
+ "%) - $" +
160
+ Number(scope.row.serviceFee)
161
+ }}
162
+ </span>
163
+ <span
164
+ v-else-if="
165
+ contract.quoteType == 'LME' &&
166
+ contract.contractType == 'sale'
167
+ "
168
+ >
169
+ {{
170
+ "$(LME 3M * " +
171
+ scope.row.quotePrice +
172
+ "%) + $" +
173
+ Number(scope.row.serviceFee)
174
+ }}
175
+ </span>
176
+ <span
177
+ v-else-if="
178
+ contract.quoteType == 'CMX' &&
179
+ contract.contractType == 'purchase'
180
+ "
181
+ >
182
+ {{
183
+ "${(CMX-" +
184
+ scope.row.sllerPrice +
185
+ ")*2204.62} - $" +
186
+ Number(scope.row.serviceFee)
187
+ }}
188
+ </span>
189
+ <span v-else>
190
+ {{
191
+ "${(CMX-" +
192
+ scope.row.quotePrice +
193
+ ")*2204.62} + $" +
194
+ Number(scope.row.serviceFee)
195
+ }}
196
+ </span>
197
+ </template>
198
+ </el-table-column>
199
+ </el-table>
200
+ </div>
201
+ <el-divider></el-divider>
202
+
203
+ <el-descriptions :column="1" :labelStyle="{ fontWeight: 'bold' }">
204
+ <el-descriptions-item label="Service Fee">
205
+ {{ contract.serviceFee }}
206
+ </el-descriptions-item>
207
+ <el-descriptions-item label="Freight Terms">
208
+ {{ contract.freightTerms }}
209
+ </el-descriptions-item>
210
+ <el-descriptions-item label="Payment Terms">
211
+ Deposit Ratio {{ contract.deposit }}%
212
+ {{ contract.depositDays }} Days after the contract
213
+ {{ contract.balance }}% balance
214
+ {{ contract.balancePaymentType }}paid
215
+ {{ contract.balanceDays }} Days
216
+ {{ contract.balancePaymentForm }}
217
+ </el-descriptions-item>
218
+ <el-descriptions-item label="Price Fixing Option">
219
+ {{ contract.livePriceDays }} Days {{ contract.livePriceForm }} cargo
220
+ arrives at POD in
221
+ {{ contract.livePriceUsertype }}
222
+ {{ contract.livePriceType }}'s option
223
+ </el-descriptions-item>
224
+
225
+ <el-descriptions-item label="Origin Country/Region">
226
+ {{ contract.originCountry }}
227
+ </el-descriptions-item>
228
+ <el-descriptions-item label="Loading Country/Region">
229
+ {{ contract.loadingCountry }}
230
+ </el-descriptions-item>
231
+ <el-descriptions-item label="Destination">
232
+ {{ contract.destination }}
233
+ </el-descriptions-item>
234
+ <el-descriptions-item label="Special Instructions">
235
+ {{ contract.numberOfContainersForTwenty }}x 20' Container
236
+ <br />
237
+ {{ contract.numberOfContainersForForty }}x 40' Container
238
+ <br />
239
+ {{ contract.numberOfContainersForTwentyOrForty }}x 20'/40' Container
240
+ <br />
241
+ More or less &lt; {{ contract.toleranceFloat * 100 }}%
242
+ <br />
243
+ </el-descriptions-item>
244
+ <el-descriptions-item label="Latest shipment">
245
+ within {{ contract.latestShipment }} days of the contract signed
246
+ date
247
+ </el-descriptions-item>
248
+ <el-descriptions-item label="Required documents">
249
+ <el-tag :key="tag" v-for="tag in dynamicTags" class="mr5">
250
+ {{ tag }}
251
+ </el-tag>
252
+ </el-descriptions-item>
253
+ <el-descriptions-item label="Weight Tolerance">
254
+ {{ contract.weightTolerance }}%
255
+ </el-descriptions-item>
256
+
257
+ <el-descriptions-item
258
+ label="Quality certificate"
259
+ v-if="contract.qualityCertificateSwitch"
260
+ >
261
+ {{ contract.qualityCertificate }}
262
+ </el-descriptions-item>
263
+ <el-descriptions-item label="Claim" v-if="contract.claimSwitch">
264
+ {{ contract.claim }}
265
+ </el-descriptions-item>
266
+
267
+ <el-descriptions-item
268
+ label="Arbitration"
269
+ v-if="contract.arbitrationSwitch"
270
+ >
271
+ {{ contract.arbitration }}
272
+ </el-descriptions-item>
273
+ <el-descriptions-item label="Memo " v-if="contract.memoSwitch">
274
+ {{ contract.memo }}
275
+ </el-descriptions-item>
276
+ <el-descriptions-item
277
+ v-for="(item, index) in this.customClause"
278
+ :label="item.title"
279
+ :key="index"
280
+ >
281
+ {{ item.content }}
282
+ </el-descriptions-item>
283
+ </el-descriptions>
284
+ <div class="sign">Please sign below and return</div>
285
+ <el-row :gutter="20">
286
+ <el-col :span="12">
287
+ <div class="company-sign">
288
+ <el-row>
289
+ <el-col :span="5">
290
+ <div class="company-sign-title">Seller</div>
291
+ </el-col>
292
+ </el-row>
293
+ <div class="company-sign-title">Company Name:</div>
294
+ <div class="company-sign-text">
295
+ {{ contract.supplierContractCompany.companyEnglishName }}
296
+ </div>
297
+ <div class="company-sign-title">Signature:</div>
298
+ <div class="company-sign-title">Date:</div>
299
+ <div class="company-sign-text">
300
+ {{ parseTime(contract.createTime, "{m}/{d}/{y}") }}
301
+ </div>
302
+ </div>
303
+ </el-col>
304
+ <el-col :span="12">
305
+ <div class="company-sign">
306
+ <el-row>
307
+ <el-col :span="5">
308
+ <div class="company-sign-title">Buyer</div>
309
+ </el-col>
310
+ </el-row>
311
+ <div class="company-sign-title">Company Name:</div>
312
+ <div class="company-sign-text">
313
+ {{ contract.buyContractCompany.companyEnglishName }}
314
+ </div>
315
+ <div class="company-sign-title">Signature:</div>
316
+ <div class="company-sign-title">Date:</div>
317
+ <div class="company-sign-text">
318
+ {{ parseTime(contract.createTime, "{m}/{d}/{y}") }}
319
+ </div>
320
+ </div>
321
+ </el-col>
322
+ </el-row>
323
+ </div>
324
+ <div style="margin-left: 100px; margin-top: 20px">
325
+ FLAT/RM Al,11/F SUCCESS COMMBLDG NO 245-251 HENNESSY RD
326
+ WANCHAI,HONGKONG.
327
+ </div>
328
+ </div>
329
+ <div class="footer" v-if="!printModel">
330
+ <el-button type="primary" @click="handleExportPdf()">
331
+ Export ( PDF format)
332
+ </el-button>
333
+ </div>
334
+ </div>
335
+ </template>
336
+
337
+ <script>
338
+ import { exportPdf } from "../../../utils/pdf";
339
+
340
+ export default {
341
+ name: "ContractPdf",
342
+ props: {
343
+ contract: {
344
+ type: Object,
345
+ default: {
346
+ buyerCompanyInfo: {
347
+ companyEnglishName: "",
348
+ address: "",
349
+ },
350
+ buyContractCompanyId: null,
351
+ buyContractCompany: { companyEnglishName: "", address: "" },
352
+ supplierContractCompanyId: null,
353
+ supplierContractCompany: {
354
+ companyEnglishName: "",
355
+ address: "",
356
+ },
357
+ sellerCompanyInfo: {
358
+ companyEnglishName: "",
359
+ address: "",
360
+ },
361
+ contractDetailList: [],
362
+ },
363
+ },
364
+ dynamicTags: {
365
+ type: Array,
366
+ default: () => [],
367
+ },
368
+ customClause: {
369
+ type: Array,
370
+ default: () => [],
371
+ },
372
+ },
373
+ components: {},
374
+ data() {
375
+ return {
376
+ //争议选项
377
+ objectionRadio: false,
378
+ // 遮罩层
379
+ loading: true,
380
+ // 弹出层标题
381
+ title: "",
382
+ // 是否显示弹出层
383
+ open: false,
384
+ inputVisible: false,
385
+ inputValue: "",
386
+ //是否保存卖家地址
387
+ saveSellerCompanyAddress: false,
388
+ //是否保存买家地址
389
+ saveBuyerCompanyAddress: false,
390
+ //买家地址
391
+ buyerCompanyAddress: null,
392
+ //卖家地址
393
+ sellerCompanyAddress: null,
394
+ //港口数据列表
395
+ portDictList: [],
396
+ //国家数据李北奥
397
+ countryDictList: [],
398
+ //表单
399
+ objectionForm: {
400
+ objection: "",
401
+ },
402
+ objection: "",
403
+ printModel: false,
404
+ };
405
+ },
406
+ created() {},
407
+ methods: {
408
+ //设置打印model为true
409
+ setPrintModel(val) {
410
+ this.printModel = val;
411
+ return Promise.resolve();
412
+ },
413
+ /** 下载合同 */
414
+ handleExportPdf() {
415
+ this.setPrintModel(true)
416
+ .then(() => {
417
+ exportPdf(".info", "contract-No-" + this.contract.contractNo);
418
+ })
419
+ .then(() => {
420
+ this.printModel = false;
421
+ });
422
+ },
423
+ getSummaries(param) {
424
+ const { columns, data } = param;
425
+ const sums = [];
426
+ columns.forEach((column, index) => {
427
+ if (index === 0) {
428
+ sums[index] = "Total";
429
+ return;
430
+ }
431
+ const values = data.map((item) => Number(item[column.property]));
432
+ if (!values.every((value) => isNaN(value))) {
433
+ sums[index] = values.reduce((prev, curr) => {
434
+ const value = Number(curr);
435
+ if (!isNaN(value)) {
436
+ return prev + curr;
437
+ } else {
438
+ return prev;
439
+ }
440
+ }, 0);
441
+ if (index === 1) {
442
+ sums[index] += "MT";
443
+ } else {
444
+ sums[index] += "";
445
+ }
446
+ } else {
447
+ sums[index] = "";
448
+ }
449
+ });
450
+
451
+ return sums;
452
+ },
453
+ },
454
+ };
455
+ </script>
456
+ <style lang="scss" scoped>
457
+ .app-container {
458
+ padding: 0 20px;
459
+
460
+ .contract {
461
+ width: 1000px;
462
+ margin: 0 auto;
463
+ border: 1px solid #ebeef5;
464
+ height: 100vh;
465
+ .info {
466
+ border: 1px solid #606676;
467
+ padding: 20px;
468
+ .type {
469
+ font-size: 13px;
470
+ font-weight: bold;
471
+ }
472
+ .title {
473
+ text-align: center;
474
+ font-size: 26px;
475
+ font-weight: bold;
476
+ }
477
+ .sub-title {
478
+ margin-top: 20px;
479
+ text-align: center;
480
+ font-size: 16px;
481
+ }
482
+ }
483
+ .footer {
484
+ padding: 10px 20px;
485
+ text-align: right;
486
+ }
487
+ }
488
+ }
489
+
490
+ .info {
491
+ border: 1px solid #606676;
492
+ padding: 20px;
493
+ .type {
494
+ font-size: 13px;
495
+ font-weight: bold;
496
+ }
497
+ .title {
498
+ text-align: center;
499
+ font-size: 26px;
500
+ font-weight: bold;
501
+ }
502
+ .sub-title {
503
+ margin-top: 20px;
504
+ text-align: center;
505
+ font-size: 16px;
506
+ }
507
+ .company {
508
+ margin-top: 20px;
509
+ padding: 10px 20px;
510
+ border: 1px solid #000;
511
+ font-size: 10px;
512
+ height: 130px;
513
+ &-type {
514
+ font-size: 13px;
515
+ font-weight: bold;
516
+ margin-bottom: 10px;
517
+ }
518
+ &-text {
519
+ margin-bottom: 10px;
520
+ }
521
+ }
522
+ .item {
523
+ display: flex;
524
+ justify-content: space-between;
525
+ align-items: center;
526
+ // 去掉所有的横线
527
+ ::v-deep.el-table__cell {
528
+ border-bottom: none;
529
+ }
530
+ // 只去除表格的最最底部的横线
531
+ ::v-deep .el-table--border::after,
532
+ ::v-deep .el-table--group::after,
533
+ ::v-deep .el-table::before {
534
+ background-color: transparent;
535
+ }
536
+ }
537
+ .sign {
538
+ height: 230px;
539
+ display: flex;
540
+ align-items: center;
541
+ }
542
+ .company-sign {
543
+ margin-top: 20px;
544
+ padding: 10px 20px;
545
+ font-size: 10px;
546
+ height: 130px;
547
+ margin-bottom: 20px;
548
+ &-title {
549
+ font-size: 13px;
550
+ font-weight: bold;
551
+ margin-bottom: 10px;
552
+ }
553
+ &-text {
554
+ margin-bottom: 10px;
555
+ }
556
+ }
557
+ }
558
+ .company-sign-text {
559
+ color: #606266;
560
+ font-size: 14px;
561
+ }
562
+ </style>