doctor-admin-components 1.0.6-beta.3 → 1.0.6

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 (229) hide show
  1. package/lib/fonts/element-icons.f1a45d74.ttf +0 -0
  2. package/lib/fonts/element-icons.ff18efd1.woff +0 -0
  3. package/lib/index.common.410.js +12698 -0
  4. package/lib/index.common.560.js +75 -0
  5. package/lib/index.common.856.js +1721 -0
  6. package/lib/index.common.js +155571 -0
  7. package/lib/index.css +1 -0
  8. package/lib/index.umd.410.js +12698 -0
  9. package/lib/index.umd.560.js +75 -0
  10. package/lib/index.umd.856.js +1721 -0
  11. package/lib/index.umd.js +155582 -0
  12. package/lib/index.umd.min.410.js +1 -0
  13. package/lib/index.umd.min.560.js +1 -0
  14. package/lib/index.umd.min.856.js +3 -0
  15. package/lib/index.umd.min.js +724 -0
  16. package/package.json +3 -4
  17. package/packages/Button/index.js +0 -16
  18. package/packages/Button/src/index.vue +0 -33
  19. package/packages/index.js +0 -122
  20. package/packages/src/api/biz/bizCompanyBillGoods.js +0 -61
  21. package/packages/src/api/biz/bizContainer.js +0 -86
  22. package/packages/src/api/biz/bizContainerDetail.js +0 -61
  23. package/packages/src/api/biz/bizContract.js +0 -112
  24. package/packages/src/api/biz/bizContractCompany.js +0 -53
  25. package/packages/src/api/biz/bizContractDetail.js +0 -62
  26. package/packages/src/api/biz/bizContractDispute.js +0 -53
  27. package/packages/src/api/biz/bizDealRecord.js +0 -87
  28. package/packages/src/api/biz/bizFileInfo.js +0 -53
  29. package/packages/src/api/biz/bizInvoice.js +0 -161
  30. package/packages/src/api/biz/bizInvoiceExtraCosts.js +0 -53
  31. package/packages/src/api/biz/bizShipment.js +0 -113
  32. package/packages/src/api/biz/companyInfo.js +0 -61
  33. package/packages/src/api/biz/dictData.js +0 -77
  34. package/packages/src/api/biz/track.js +0 -21
  35. package/packages/src/api/system/dict/data.js +0 -60
  36. package/packages/src/api/system/dict/type.js +0 -68
  37. package/packages/src/assets/icons/index.js +0 -17
  38. package/packages/src/assets/icons/svgo.yml +0 -22
  39. package/packages/src/assets/images/file.png +0 -0
  40. package/packages/src/assets/images/pdf.png +0 -0
  41. package/packages/src/assets/styles/btn.scss +0 -99
  42. package/packages/src/assets/styles/element-ui.scss +0 -92
  43. package/packages/src/assets/styles/element-variables.scss +0 -31
  44. package/packages/src/assets/styles/index.scss +0 -191
  45. package/packages/src/assets/styles/mixin.scss +0 -66
  46. package/packages/src/assets/styles/ruoyi.scss +0 -273
  47. package/packages/src/assets/styles/sidebar.scss +0 -223
  48. package/packages/src/assets/styles/transition.scss +0 -48
  49. package/packages/src/assets/styles/variables.scss +0 -54
  50. package/packages/src/components/DictData/index.js +0 -29
  51. package/packages/src/components/DictTag/index.vue +0 -65
  52. package/packages/src/components/FileUpload/aliyun.vue +0 -350
  53. package/packages/src/components/FileUpload/apk.vue +0 -360
  54. package/packages/src/components/FileUpload/contract-drag.vue +0 -268
  55. package/packages/src/components/FileUpload/contract.vue +0 -239
  56. package/packages/src/components/FileUpload/index.vue +0 -229
  57. package/packages/src/components/FileUpload/s3.vue +0 -244
  58. package/packages/src/components/FileUpload/uploadInvoice.vue +0 -270
  59. package/packages/src/components/ImagePreview/index.vue +0 -92
  60. package/packages/src/components/ImageUpload/aliyun.vue +0 -257
  61. package/packages/src/components/ImageUpload/index.vue +0 -192
  62. package/packages/src/components/ImageUpload/s3.vue +0 -243
  63. package/packages/src/components/ImageUpload/shrinkS3.vue +0 -253
  64. package/packages/src/components/SvgIcon/index.vue +0 -69
  65. package/packages/src/index.js +0 -24
  66. package/packages/src/lang/en.json +0 -225
  67. package/packages/src/lang/zh.json +0 -224
  68. package/packages/src/lib-components/zpw-button.vue +0 -53
  69. package/packages/src/lib-components/zpw-com-test-sample.vue +0 -78
  70. package/packages/src/plugins/auth.js +0 -68
  71. package/packages/src/plugins/cache.js +0 -77
  72. package/packages/src/plugins/download.js +0 -80
  73. package/packages/src/plugins/index.js +0 -28
  74. package/packages/src/plugins/modal.js +0 -83
  75. package/packages/src/plugins/tab.js +0 -75
  76. package/packages/src/router/index.js +0 -339
  77. package/packages/src/store/getters.js +0 -18
  78. package/packages/src/store/index.js +0 -31
  79. package/packages/src/store/modules/app.js +0 -56
  80. package/packages/src/store/modules/i18n.js +0 -28
  81. package/packages/src/store/modules/permission.js +0 -138
  82. package/packages/src/store/modules/settings.js +0 -50
  83. package/packages/src/store/modules/tagsView.js +0 -207
  84. package/packages/src/store/modules/user.js +0 -104
  85. package/packages/src/utils/auth.js +0 -25
  86. package/packages/src/utils/dict/Dict.js +0 -90
  87. package/packages/src/utils/dict/DictConverter.js +0 -17
  88. package/packages/src/utils/dict/DictData.js +0 -13
  89. package/packages/src/utils/dict/DictMeta.js +0 -46
  90. package/packages/src/utils/dict/DictOptions.js +0 -59
  91. package/packages/src/utils/dict/index.js +0 -33
  92. package/packages/src/utils/errorCode.js +0 -6
  93. package/packages/src/utils/generator/config.js +0 -438
  94. package/packages/src/utils/generator/css.js +0 -18
  95. package/packages/src/utils/generator/drawingDefault.js +0 -29
  96. package/packages/src/utils/generator/html.js +0 -359
  97. package/packages/src/utils/generator/icon.json +0 -1
  98. package/packages/src/utils/generator/js.js +0 -236
  99. package/packages/src/utils/generator/render.js +0 -126
  100. package/packages/src/utils/index.js +0 -390
  101. package/packages/src/utils/pdf.js +0 -62
  102. package/packages/src/utils/request.js +0 -227
  103. package/packages/src/utils/ruoyi.js +0 -261
  104. package/packages/src/utils/validate.js +0 -83
  105. package/packages/src/utils/zip.js +0 -62
  106. package/packages/src/views/biz/bizContract/companyList.vue +0 -217
  107. package/packages/src/views/biz/bizContract/contractCompanyList.vue +0 -433
  108. package/packages/src/views/biz/bizContract/depositInvoice.vue +0 -688
  109. package/packages/src/views/biz/bizContract/detail.vue +0 -1168
  110. package/packages/src/views/biz/bizContract/index.vue +0 -940
  111. package/packages/src/views/biz/bizFileInfo/contract copy.vue +0 -359
  112. package/packages/src/views/biz/bizFileInfo/contract-history.vue +0 -150
  113. package/packages/src/views/biz/bizFileInfo/contract.vue +0 -1115
  114. package/packages/src/views/biz/bizFileInfo/detail.vue +0 -82
  115. package/packages/src/views/biz/bizFileInfo/fileShow.vue +0 -316
  116. package/packages/src/views/biz/bizFileInfo/index.vue +0 -405
  117. package/packages/src/views/biz/bizShipment/detail.vue +0 -202
  118. package/packages/src/views/biz/bizShipment/gen.vue +0 -1147
  119. package/packages/src/views/biz/bizShipment/index.vue +0 -696
  120. package/packages/src/views/biz/contractTracing/addBillGood.vue +0 -184
  121. package/packages/src/views/biz/contractTracing/addSubCompany.vue +0 -337
  122. package/packages/src/views/biz/contractTracing/association.vue +0 -189
  123. package/packages/src/views/biz/contractTracing/billGoods.vue +0 -180
  124. package/packages/src/views/biz/contractTracing/billInfo.vue +0 -559
  125. package/packages/src/views/biz/contractTracing/billPdf.vue +0 -275
  126. package/packages/src/views/biz/contractTracing/chargingDialog.vue +0 -84
  127. package/packages/src/views/biz/contractTracing/contract.vue +0 -1256
  128. package/packages/src/views/biz/contractTracing/contractInfo.vue +0 -209
  129. package/packages/src/views/biz/contractTracing/contractPdf.vue +0 -562
  130. package/packages/src/views/biz/contractTracing/contractSummary.vue +0 -1012
  131. package/packages/src/views/biz/contractTracing/contractTracingDetail.vue +0 -88
  132. package/packages/src/views/biz/contractTracing/disputeRecord.vue +0 -311
  133. package/packages/src/views/biz/contractTracing/edit.vue +0 -205
  134. package/packages/src/views/biz/contractTracing/editBill.vue +0 -722
  135. package/packages/src/views/biz/contractTracing/index.vue +0 -1503
  136. package/packages/src/views/biz/contractTracing/purchaseInvoiceUpload.vue +0 -330
  137. package/packages/src/views/biz/contractTracing/sendDrafEmail.vue +0 -120
  138. package/packages/src/views/biz/contractTracing/shipment.vue +0 -601
  139. package/packages/src/views/biz/contractTracing/subCompanyDialog.vue +0 -318
  140. package/packages/src/views/biz/track/index.vue +0 -171
  141. package/packages/src/views/components/icons/element-icons.js +0 -3
  142. package/packages/src/views/components/icons/index.vue +0 -87
  143. package/packages/src/views/components/icons/svg-icons.js +0 -10
  144. package/packages/src/views/test.vue +0 -44
  145. /package/{packages/src/assets/icons/svg/404.svg → lib/img/404.3183f455.svg} +0 -0
  146. /package/{packages/src/assets/icons/svg/bug.svg → lib/img/bug.a52327bd.svg} +0 -0
  147. /package/{packages/src/assets/icons/svg/build.svg → lib/img/build.84bd483c.svg} +0 -0
  148. /package/{packages/src/assets/icons/svg/button.svg → lib/img/button.7f9824e4.svg} +0 -0
  149. /package/{packages/src/assets/icons/svg/cascader.svg → lib/img/cascader.258cfcb5.svg} +0 -0
  150. /package/{packages/src/assets/icons/svg/chart.svg → lib/img/chart.b03ce158.svg} +0 -0
  151. /package/{packages/src/assets/icons/svg/checkbox.svg → lib/img/checkbox.3ca9dcfc.svg} +0 -0
  152. /package/{packages/src/assets/icons/svg/clipboard.svg → lib/img/clipboard.cfacb58c.svg} +0 -0
  153. /package/{packages/src/assets/icons/svg/code.svg → lib/img/code.d50194e1.svg} +0 -0
  154. /package/{packages/src/assets/icons/svg/color.svg → lib/img/color.3a675088.svg} +0 -0
  155. /package/{packages/src/assets/icons/svg/component.svg → lib/img/component.9144a5de.svg} +0 -0
  156. /package/{packages/src/assets/icons/svg/dashboard.svg → lib/img/dashboard.c2d7a0a6.svg} +0 -0
  157. /package/{packages/src/assets/icons/svg/date-range.svg → lib/img/date-range.87ee0d1b.svg} +0 -0
  158. /package/{packages/src/assets/icons/svg/date.svg → lib/img/date.568e9381.svg} +0 -0
  159. /package/{packages/src/assets/icons/svg/dict.svg → lib/img/dict.0dbdd970.svg} +0 -0
  160. /package/{packages/src/assets/icons/svg/documentation.svg → lib/img/documentation.3afbddb2.svg} +0 -0
  161. /package/{packages/src/assets/icons/svg/download.svg → lib/img/download.dc10e982.svg} +0 -0
  162. /package/{packages/src/assets/icons/svg/drag.svg → lib/img/drag.6f89a559.svg} +0 -0
  163. /package/{packages/src/assets/icons/svg/druid.svg → lib/img/druid.b6c66f2c.svg} +0 -0
  164. /package/{packages/src/assets/icons/svg/edit.svg → lib/img/edit.faa16dba.svg} +0 -0
  165. /package/{packages/src/assets/icons/svg/education.svg → lib/img/education.7d9460b1.svg} +0 -0
  166. /package/{packages/src/assets/icons/svg/email.svg → lib/img/email.b87f617a.svg} +0 -0
  167. /package/{packages/src/assets/icons/svg/example.svg → lib/img/example.6ce47246.svg} +0 -0
  168. /package/{packages/src/assets/icons/svg/excel.svg → lib/img/excel.63b4375d.svg} +0 -0
  169. /package/{packages/src/assets/icons/svg/exit-fullscreen.svg → lib/img/exit-fullscreen.7ef479d3.svg} +0 -0
  170. /package/{packages/src/assets/icons/svg/eye-open.svg → lib/img/eye-open.0c05f7dd.svg} +0 -0
  171. /package/{packages/src/assets/icons/svg/eye.svg → lib/img/eye.ffe5909c.svg} +0 -0
  172. /package/{packages/src/assets/icons/svg/form.svg → lib/img/form.e31bba0b.svg} +0 -0
  173. /package/{packages/src/assets/icons/svg/fullscreen.svg → lib/img/fullscreen.8b6452b2.svg} +0 -0
  174. /package/{packages/src/assets/icons/svg/github.svg → lib/img/github.eb062c74.svg} +0 -0
  175. /package/{packages/src/assets/icons/svg/guide.svg → lib/img/guide.10bd888a.svg} +0 -0
  176. /package/{packages/src/assets/icons/svg/icon.svg → lib/img/icon.d933a612.svg} +0 -0
  177. /package/{packages/src/assets/icons/svg/input.svg → lib/img/input.d0ef1a87.svg} +0 -0
  178. /package/{packages/src/assets/icons/svg/international.svg → lib/img/international.f9d2289e.svg} +0 -0
  179. /package/{packages/src/assets/icons/svg/job.svg → lib/img/job.6bf1b78d.svg} +0 -0
  180. /package/{packages/src/assets/icons/svg/language.svg → lib/img/language.535bf3ad.svg} +0 -0
  181. /package/{packages/src/assets/icons/svg/link.svg → lib/img/link.66aaa180.svg} +0 -0
  182. /package/{packages/src/assets/icons/svg/list.svg → lib/img/list.6197de7f.svg} +0 -0
  183. /package/{packages/src/assets/icons/svg/lock.svg → lib/img/lock.ad7e5835.svg} +0 -0
  184. /package/{packages/src/assets/icons/svg/log.svg → lib/img/log.5a1a7771.svg} +0 -0
  185. /package/{packages/src/assets/icons/svg/logininfor.svg → lib/img/logininfor.7e7b731e.svg} +0 -0
  186. /package/{packages/src/assets/icons/svg/message.svg → lib/img/message.737bdd44.svg} +0 -0
  187. /package/{packages/src/assets/icons/svg/money.svg → lib/img/money.b6629736.svg} +0 -0
  188. /package/{packages/src/assets/icons/svg/monitor.svg → lib/img/monitor.438f199a.svg} +0 -0
  189. /package/{packages/src/assets/icons/svg/nested.svg → lib/img/nested.1abe6ee8.svg} +0 -0
  190. /package/{packages/src/assets/icons/svg/number.svg → lib/img/number.fc9e78c7.svg} +0 -0
  191. /package/{packages/src/assets/icons/svg/online.svg → lib/img/online.60c8d73e.svg} +0 -0
  192. /package/{packages/src/assets/icons/svg/password.svg → lib/img/password.5e3c19c1.svg} +0 -0
  193. /package/{packages/src/assets/icons/svg/pdf.svg → lib/img/pdf.5209593d.svg} +0 -0
  194. /package/{packages/src/assets/icons/svg/people.svg → lib/img/people.7a231801.svg} +0 -0
  195. /package/{packages/src/assets/icons/svg/peoples.svg → lib/img/peoples.4336e3b1.svg} +0 -0
  196. /package/{packages/src/assets/icons/svg/phone.svg → lib/img/phone.d22f28be.svg} +0 -0
  197. /package/{packages/src/assets/icons/svg/post.svg → lib/img/post.2b79d4e5.svg} +0 -0
  198. /package/{packages/src/assets/icons/svg/qq.svg → lib/img/qq.650b4e33.svg} +0 -0
  199. /package/{packages/src/assets/icons/svg/question.svg → lib/img/question.7bfbf276.svg} +0 -0
  200. /package/{packages/src/assets/icons/svg/radio.svg → lib/img/radio.e5d09b08.svg} +0 -0
  201. /package/{packages/src/assets/icons/svg/rate.svg → lib/img/rate.e2a3c0d8.svg} +0 -0
  202. /package/{packages/src/assets/icons/svg/redis.svg → lib/img/redis.2fc459f9.svg} +0 -0
  203. /package/{packages/src/assets/icons/svg/row.svg → lib/img/row.d8acd988.svg} +0 -0
  204. /package/{packages/src/assets/icons/svg/search.svg → lib/img/search.24ee517d.svg} +0 -0
  205. /package/{packages/src/assets/icons/svg/select.svg → lib/img/select.88b5de37.svg} +0 -0
  206. /package/{packages/src/assets/icons/svg/server.svg → lib/img/server.4e356ae4.svg} +0 -0
  207. /package/{packages/src/assets/icons/svg/shopping.svg → lib/img/shopping.ea6a63c9.svg} +0 -0
  208. /package/{packages/src/assets/icons/svg/size.svg → lib/img/size.99acb4db.svg} +0 -0
  209. /package/{packages/src/assets/icons/svg/skill.svg → lib/img/skill.70cf40e0.svg} +0 -0
  210. /package/{packages/src/assets/icons/svg/slider.svg → lib/img/slider.692c4feb.svg} +0 -0
  211. /package/{packages/src/assets/icons/svg/star.svg → lib/img/star.e8b335d8.svg} +0 -0
  212. /package/{packages/src/assets/icons/svg/swagger.svg → lib/img/swagger.a6f3441e.svg} +0 -0
  213. /package/{packages/src/assets/icons/svg/switch.svg → lib/img/switch.6de6fcea.svg} +0 -0
  214. /package/{packages/src/assets/icons/svg/system.svg → lib/img/system.bc6f1d63.svg} +0 -0
  215. /package/{packages/src/assets/icons/svg/tab.svg → lib/img/tab.ed2d5142.svg} +0 -0
  216. /package/{packages/src/assets/icons/svg/table.svg → lib/img/table.dd9eae64.svg} +0 -0
  217. /package/{packages/src/assets/icons/svg/textarea.svg → lib/img/textarea.5c173eaf.svg} +0 -0
  218. /package/{packages/src/assets/icons/svg/theme.svg → lib/img/theme.2e7d5780.svg} +0 -0
  219. /package/{packages/src/assets/icons/svg/time-range.svg → lib/img/time-range.173cf1b5.svg} +0 -0
  220. /package/{packages/src/assets/icons/svg/time.svg → lib/img/time.b826be80.svg} +0 -0
  221. /package/{packages/src/assets/icons/svg/tool.svg → lib/img/tool.e67b71c8.svg} +0 -0
  222. /package/{packages/src/assets/icons/svg/tree-table.svg → lib/img/tree-table.50c32d10.svg} +0 -0
  223. /package/{packages/src/assets/icons/svg/tree.svg → lib/img/tree.262249b9.svg} +0 -0
  224. /package/{packages/src/assets/icons/svg/upload.svg → lib/img/upload.ffe23a93.svg} +0 -0
  225. /package/{packages/src/assets/icons/svg/user.svg → lib/img/user.3bf25f74.svg} +0 -0
  226. /package/{packages/src/assets/icons/svg/validCode.svg → lib/img/validCode.33d7f60b.svg} +0 -0
  227. /package/{packages/src/assets/icons/svg/warn.svg → lib/img/warn.bfacf0ff.svg} +0 -0
  228. /package/{packages/src/assets/icons/svg/wechat.svg → lib/img/wechat.1ebed109.svg} +0 -0
  229. /package/{packages/src/assets/icons/svg/zip.svg → lib/img/zip.21a36287.svg} +0 -0
@@ -1,1168 +0,0 @@
1
- <template>
2
- <div class="app-container">
3
- <el-form
4
- :model="form"
5
- ref="form"
6
- :label-position="'right'"
7
- label-width="180px"
8
- >
9
- <el-row>
10
- <div class="grid-content bg-purple-light">
11
- <el-col :span="22">
12
- <span class="text item">
13
- {{
14
- form.contractType == "sale"
15
- ? "Sales Contract"
16
- : "Purchase Contract"
17
- }}
18
- </span>
19
- </el-col>
20
- <el-col :span="2">
21
- <span class="text item">
22
- <el-button
23
- type="primary"
24
- size="mini"
25
- round
26
- @click="updateAndDownload"
27
- >保存并下载</el-button
28
- >
29
- </span>
30
- </el-col>
31
- </div>
32
- </el-row>
33
-
34
- <el-row>
35
- <el-col :span="8">
36
- <el-form-item label="Contract Order #:" prop="contractNo">
37
- <el-input v-model="form.contractNo" clearable size="small" />
38
- </el-form-item>
39
- </el-col>
40
- </el-row>
41
- <el-row>
42
- <el-col :span="12">
43
- <el-form-item label="Contract Date:" prop="createTime">
44
- <el-date-picker
45
- clearable
46
- size="small"
47
- v-model="form.createTime"
48
- type="datetime"
49
- value-format="yyyy-MM-dd HH:mm:ss"
50
- >
51
- </el-date-picker>
52
- </el-form-item>
53
- </el-col>
54
- <el-col :span="12">
55
- <el-form-item label="Completion Date:" prop="completionTime">
56
- <el-date-picker
57
- clearable
58
- size="small"
59
- v-model="form.completionTime"
60
- type="datetime"
61
- value-format="yyyy-MM-dd HH:mm:ss"
62
- >
63
- </el-date-picker>
64
- </el-form-item>
65
- </el-col>
66
- </el-row>
67
-
68
- <el-row>
69
- <div class="grid-content bg-purple-light">
70
- <span class="text item">
71
- {{ "Company information" }}
72
- </span>
73
- </div>
74
- </el-row>
75
-
76
- <el-row>
77
- <el-col :span="12">
78
- <el-row>
79
- <el-col :span="17">
80
- <div class="text item">
81
- {{ "Seller" }}
82
- </div>
83
- </el-col>
84
- <el-col :span="6">
85
- <el-button
86
- type="text"
87
- @click="handleUserCompany(form.supplierCompanyId, 'seller')"
88
- buyerAccountId
89
- >Select Seller's Company</el-button
90
- >
91
- <!-- <el-button type="text" @click="handleAllCompany('seller')"
92
- >Select All Company</el-button
93
- > -->
94
- </el-col>
95
- </el-row>
96
- <el-row>
97
- <el-col :span="22">
98
- <el-form-item label="Company Name">
99
- <el-input
100
- v-model="form.supplierContractCompany.companyEnglishName"
101
- clearable
102
- size="small"
103
- disabled
104
- />
105
- </el-form-item>
106
- </el-col>
107
- </el-row>
108
- <el-row>
109
- <el-col :span="22">
110
- <el-form-item label="Company Adress">
111
- <el-input
112
- v-model="form.supplierContractCompany.address"
113
- clearable
114
- size="small"
115
- disabled
116
- />
117
- </el-form-item>
118
- </el-col>
119
- </el-row>
120
- <el-form-item label="Contact">
121
- {{ form.supplierContractCompany.contacts }}
122
- </el-form-item>
123
- <el-form-item label="Phone Number">
124
- {{ form.supplierContractCompany.phoneNumber }}
125
- </el-form-item>
126
- <el-form-item label="Email Address">
127
- {{ form.supplierContractCompany.email }}
128
- </el-form-item>
129
- </el-col>
130
-
131
- <el-col :span="12">
132
- <el-row>
133
- <el-col :span="17">
134
- <div class="text item">
135
- {{ "Buyer" }}
136
- </div>
137
- </el-col>
138
- <el-col :span="6">
139
- <el-button
140
- type="text"
141
- @click="handleUserCompany(form.buyCompanyId, 'buyer')"
142
- >Select Buyer's Company</el-button
143
- >
144
- <!-- <el-button type="text" @click="handleAllCompany('buyer')"
145
- >Select All Company</el-button
146
- > -->
147
- </el-col>
148
- </el-row>
149
- <el-row>
150
- <el-col :span="22">
151
- <el-form-item label="Company Name">
152
- <el-input
153
- v-model="form.buyContractCompany.companyEnglishName"
154
- clearable
155
- size="small"
156
- disabled
157
- />
158
- </el-form-item>
159
- </el-col>
160
- </el-row>
161
- <el-row>
162
- <el-col :span="22">
163
- <el-form-item label="Company Adress">
164
- <el-input
165
- v-model="form.buyContractCompany.address"
166
- clearable
167
- size="small"
168
- disabled
169
- />
170
- </el-form-item>
171
- </el-col>
172
- </el-row>
173
- <el-form-item label="Contact">
174
- {{ form.buyContractCompany.contact }}
175
- </el-form-item>
176
- <el-form-item label="Phone Number">
177
- {{ form.buyContractCompany.phoneNumber }}
178
- </el-form-item>
179
- <el-form-item label="Email Address">
180
- {{ form.buyContractCompany.email }}
181
- </el-form-item>
182
- <!-- <div style="text-align: right">
183
- <el-checkbox
184
- v-model="saveBuyerCompanyAddress"
185
- @change="handleBuyerCompanychange(form.buyerCompanyInfo, $event)"
186
- >保存地址</el-checkbox
187
- >
188
- </div> -->
189
- </el-col>
190
- </el-row>
191
-
192
- <el-row>
193
- <div class="grid-content bg-purple-light">
194
- <span class="text item">
195
- {{ "Commodity information" }}
196
- </span>
197
- </div>
198
- </el-row>
199
- <el-table :data="form.contractDetailList">
200
- <el-table-column label="Description" align="center">
201
- <template slot-scope="scope">
202
- <el-input v-model="scope.row.askName" clearable size="small" />
203
- </template>
204
- </el-table-column>
205
- <el-table-column label="Quantity" align="center">
206
- <template slot-scope="scope">
207
- <el-input v-model="scope.row.weight" clearable size="small">
208
- <template slot="append">MT</template>
209
- </el-input>
210
- </template>
211
- </el-table-column>
212
- <el-table-column
213
- v-if="form.quoteType == 'FIXED'"
214
- label="Unit Price/MT"
215
- align="center"
216
- >
217
- <template slot-scope="scope">
218
- <el-input
219
- v-if="form.contractType == 'sale'"
220
- v-model="scope.row.quotePrice"
221
- clearable
222
- size="small"
223
- >
224
- <template slot="prepend">$</template>
225
- </el-input>
226
- <el-input
227
- v-else
228
- v-model="scope.row.sllerPrice"
229
- clearable
230
- size="small"
231
- >
232
- <template slot="prepend">$</template>
233
- </el-input>
234
- </template>
235
- </el-table-column>
236
-
237
- <!-- CMX 都显示 -->
238
- <el-table-column
239
- v-if="form.quoteType == 'CMX'"
240
- label="Unit Price/MT"
241
- align="center"
242
- width="250"
243
- >
244
- <template slot-scope="scope">
245
- <el-input
246
- v-if="form.contractType == 'sale'"
247
- v-model="scope.row.quotePrice"
248
- size="small"
249
- >
250
- <template slot="prepend">$(CMX-</template>
251
- <template slot="append">*2204.62</template>
252
- </el-input>
253
- <el-input v-else v-model="scope.row.sllerPrice" size="small">
254
- <template slot="prepend">$(CMX-</template>
255
- <template slot="append">*2204.62</template>
256
- </el-input>
257
- </template>
258
- </el-table-column>
259
- <!-- LME -->
260
- <el-table-column
261
- v-if="form.quoteType == 'LME'"
262
- label="Unit Price/MT"
263
- align="center"
264
- width="300"
265
- >
266
- <template slot-scope="scope">
267
- <el-input
268
- v-if="form.contractType == 'sale'"
269
- v-model="scope.row.quotePrice"
270
- clearable
271
- size="small"
272
- >
273
- <template slot="prepend">$(LME 3M *</template>
274
- <template slot="append">%</template>
275
- </el-input>
276
- <el-input
277
- v-else
278
- v-model="scope.row.sllerPrice"
279
- clearable
280
- size="small"
281
- >
282
- <template slot="prepend">$(LME 3M *</template>
283
- <template slot="append">%</template>
284
- </el-input>
285
- </template>
286
- </el-table-column>
287
-
288
- <!-- CMX 都显示 CMX Month-->
289
- <el-table-column
290
- v-if="form.quoteType == 'CMX'"
291
- label="CMX Month"
292
- align="center"
293
- >
294
- <template slot-scope="scope">
295
- <el-select
296
- v-model="scope.row.cmxMonth"
297
- placeholder="Please select cmxMonth"
298
- clearable
299
- size="small"
300
- >
301
- <el-option
302
- v-for="dict in dict.type.cmx_month"
303
- :key="dict.value"
304
- :label="dict.label"
305
- :value="dict.value"
306
- />
307
- </el-select>
308
- </template>
309
- </el-table-column>
310
- <el-table-column label="Service fee/MT" align="center">
311
- <template slot-scope="scope">
312
- <el-input v-model="scope.row.serviceFee" clearable size="small">
313
- <template slot="prepend">$</template>
314
- </el-input>
315
- </template>
316
- </el-table-column>
317
-
318
- <!-- 采购合同 FIXED -->
319
- <el-table-column label="Net Unit Price/MT" align="center">
320
- <template slot-scope="scope">
321
- <span
322
- v-if="
323
- form.quoteType == 'FIXED' && form.contractType == 'purchase'
324
- "
325
- >
326
- {{ "$" + (scope.row.sllerPrice - Number(scope.row.serviceFee)) }}
327
- </span>
328
- <span
329
- v-else-if="
330
- form.quoteType == 'FIXED' && form.contractType == 'sale'
331
- "
332
- >
333
- {{
334
- "$" +
335
- (Number(scope.row.quotePrice) + Number(scope.row.serviceFee))
336
- }}
337
- </span>
338
- <span
339
- v-else-if="
340
- form.quoteType == 'LME' && form.contractType == 'purchase'
341
- "
342
- >
343
- {{
344
- "$(LME 3M * " +
345
- scope.row.sllerPrice +
346
- "%) - $" +
347
- Number(scope.row.serviceFee)
348
- }}
349
- </span>
350
- <span
351
- v-else-if="form.quoteType == 'LME' && form.contractType == 'sale'"
352
- >
353
- {{
354
- "$(LME 3M * " +
355
- scope.row.quotePrice +
356
- "%) + $" +
357
- Number(scope.row.serviceFee)
358
- }}
359
- </span>
360
- <span
361
- v-else-if="
362
- form.quoteType == 'CMX' && form.contractType == 'purchase'
363
- "
364
- >
365
- {{
366
- "${(CMX-" +
367
- scope.row.sllerPrice +
368
- ")*2204.62} - $" +
369
- Number(scope.row.serviceFee)
370
- }}
371
- </span>
372
- <span v-else>
373
- {{
374
- "${(CMX-" +
375
- scope.row.quotePrice +
376
- ")*2204.62} + $" +
377
- Number(scope.row.serviceFee)
378
- }}
379
- </span>
380
- </template>
381
- </el-table-column>
382
-
383
- <!-- <el-table-column width="100" align="center">
384
- <el-popconfirm
385
- title="确定删除吗?"
386
- @onConfirm="deleteTableRow(scope.row)"
387
- >
388
- <el-button
389
- type="danger"
390
- slot="reference"
391
- style="min-width: 60px"
392
- size="mini"
393
- >删除</el-button
394
- >
395
- </el-popconfirm>
396
- </el-table-column> -->
397
- </el-table>
398
- <el-button
399
- type="success"
400
- icon="el-icon-plus"
401
- @click="addDetails"
402
- size="mini"
403
- >Add</el-button
404
- >
405
- <el-row></el-row>
406
- <el-row>
407
- <div class="grid-content bg-purple-light">
408
- <span class="text item">
409
- {{ "Trade information" }}
410
- </span>
411
- </div>
412
- </el-row>
413
-
414
- <el-form-item label="Service Fee">
415
- <el-radio-group v-model="form.serviceFeeSwitch">
416
- <el-radio :label="false">Close</el-radio>
417
- <el-radio :label="true">open</el-radio>
418
- </el-radio-group>
419
- </el-form-item>
420
- <el-row>
421
- <el-col :span="16">
422
- <el-form-item>
423
- <el-input
424
- v-model="form.serviceFee"
425
- placeholder="Please enter serviceFee"
426
- clearable
427
- size="small"
428
- />
429
- </el-form-item>
430
- </el-col>
431
- </el-row>
432
- <el-row :gutter="10">
433
- <el-col :span="12">
434
- <el-form-item label="Freight Terms">
435
- <el-select
436
- v-model="form.freightTerms"
437
- style="width: 25%"
438
- placeholder="请选择交易条款"
439
- size="small"
440
- clearable
441
- >
442
- <el-option
443
- v-for="dict in dict.type.freight_terms"
444
- :key="dict.value"
445
- :label="dict.label"
446
- :value="dict.value"
447
- />
448
- </el-select>
449
- </el-form-item>
450
- </el-col>
451
- </el-row>
452
- <el-row>
453
- <el-form-item label="Payment Terms">
454
- <el-col :span="8">
455
- <el-input v-model="form.deposit" size="small" clearable="">
456
- <template slot="prepend">Deposit Ratio</template>
457
- <template slot="append">%</template>
458
- </el-input>
459
- </el-col>
460
- <el-col :span="8">
461
- <el-input v-model="form.depositDays" size="small" clearable>
462
- <template slot="append">Days after the contract</template>
463
- </el-input>
464
- </el-col>
465
- </el-form-item>
466
- </el-row>
467
- <el-row>
468
- <el-form-item label=" ">
469
- <el-col :span="6">
470
- <el-input
471
- v-model="form.balance"
472
- placeholder="Please enter balance"
473
- size="small"
474
- clearable
475
- >
476
- <template slot="append">% balance</template>
477
- </el-input>
478
- </el-col>
479
- <el-col :span="4">
480
- <el-input v-model="form.balancePaymentType" size="small" clearable>
481
- <template slot="append">paid</template>
482
- </el-input>
483
- </el-col>
484
- <el-col :span="4">
485
- <el-input v-model="form.balanceDays" size="small" clearable>
486
- <template slot="append">Days</template>
487
- </el-input>
488
- </el-col>
489
- <el-col :span="8">
490
- <el-radio-group
491
- v-model="form.balancePaymentForm"
492
- style="top: 100px"
493
- >
494
- <el-radio :label="'Before arrive'">Before arrive</el-radio>
495
- <el-radio :label="'After arrival'">After arrival</el-radio>
496
- </el-radio-group>
497
- </el-col>
498
- </el-form-item>
499
- </el-row>
500
- <el-form-item label="Loading Country/Region">
501
- <el-col :span="10">
502
- <el-select
503
- v-model="form.loadingCountry"
504
- filterable
505
- placeholder="Please select loadingCountry"
506
- >
507
- <el-option
508
- v-for="item in countryDictList"
509
- :key="item.dictDataId"
510
- :label="item.dictValue"
511
- :value="item.dictValue"
512
- >
513
- </el-option>
514
- </el-select>
515
- </el-col>
516
- </el-form-item>
517
-
518
- <el-form-item label="Origin Country/Region">
519
- <el-col :span="10">
520
- <el-select
521
- v-model="form.originCountry"
522
- filterable
523
- placeholder="Please select originCountry"
524
- >
525
- <el-option
526
- v-for="item in countryDictList"
527
- :key="item.dictDataId"
528
- :label="item.dictValue"
529
- :value="item.dictValue"
530
- >
531
- </el-option>
532
- </el-select>
533
- </el-col>
534
- </el-form-item>
535
-
536
- <el-form-item label="Destination">
537
- <el-col :span="10">
538
- <el-select
539
- v-model="form.destination"
540
- filterable
541
- placeholder="Please select destination"
542
- >
543
- <el-option
544
- v-for="item in portDictList"
545
- :key="item.dictDataId"
546
- :label="item.dictValue"
547
- :value="item.dictValue"
548
- >
549
- </el-option>
550
- </el-select>
551
- </el-col>
552
- </el-form-item>
553
-
554
- <el-row>
555
- <el-col :span="2">
556
- <el-form-item label="Number of Containers"> </el-form-item>
557
- </el-col>
558
- <el-col :span="4">
559
- <el-form-item label="20'" label-width="120px">
560
- <el-input-number
561
- v-model="form.numberOfContainersForTwenty"
562
- :min="0"
563
- size="small"
564
- >
565
- </el-input-number>
566
- </el-form-item>
567
- </el-col>
568
- <el-col :span="4">
569
- <el-form-item label="40'" label-width="120px">
570
- <el-input-number
571
- v-model="form.numberOfContainersForForty"
572
- :min="0"
573
- size="small"
574
- >
575
- </el-input-number>
576
- </el-form-item>
577
- </el-col>
578
- <el-col :span="4">
579
- <el-form-item label="20'/40'" label-width="120px">
580
- <el-input-number
581
- v-model="form.numberOfContainersForTwentyOrForty"
582
- :min="0"
583
- size="small"
584
- >
585
- </el-input-number>
586
- </el-form-item>
587
- </el-col>
588
- <el-col :span="7">
589
- <el-form-item label="More or less<" label-width="200px">
590
- <el-input
591
- v-model="form.toleranceFloat"
592
- placeholder="Please enter toleranceFloat"
593
- size="small"
594
- >
595
- <template slot="append">x100%</template>
596
- </el-input>
597
- </el-form-item>
598
- </el-col>
599
- </el-row>
600
-
601
- <el-row>
602
- <el-col :span="6">
603
- <el-form-item label="Weight Tolerance">
604
- <el-input
605
- v-model="form.weightTolerance"
606
- placeholder="Please enter weightTolerance"
607
- size="small"
608
- >
609
- <template slot="append">%</template>
610
- </el-input>
611
- </el-form-item>
612
- </el-col>
613
- </el-row>
614
- <el-row :gutter="10">
615
- <el-col :span="7">
616
- <el-form-item label="Latest shipment">
617
- <el-input
618
- v-model="form.latestShipment"
619
- placeholder="Please enter latestShipment"
620
- size="medium"
621
- >
622
- <template slot="append">Days</template>
623
- </el-input>
624
- </el-form-item>
625
- </el-col>
626
- <el-col :span="6">
627
- <span class="text1">{{ "of the contract signed date" }}</span>
628
- </el-col>
629
- </el-row>
630
- <el-form-item label="Price Fixing Option">
631
- <el-radio-group v-model="form.livePriceSwitch">
632
- <el-radio :label="false">Close</el-radio>
633
- <el-radio :label="true">open</el-radio>
634
- </el-radio-group>
635
- </el-form-item>
636
- <el-row :gutter="10">
637
- <el-col :span="6">
638
- <el-form-item>
639
- <el-input v-model="form.livePriceDays" size="small">
640
- <template slot="append">Days</template>
641
- </el-input>
642
- </el-form-item>
643
- </el-col>
644
- <el-col :span="5">
645
- <el-radio-group v-model="form.livePriceForm">
646
- <el-radio :label="'before'">Before arrive</el-radio>
647
- <el-radio :label="'after'">After arrival</el-radio>
648
- </el-radio-group>
649
- </el-col>
650
- </el-row>
651
- <el-form-item label="By">
652
- <el-radio-group v-model="form.livePriceUsertype">
653
- <el-radio :label="'Buyer'">Buyer</el-radio>
654
- <el-radio :label="'Seller'">Seller</el-radio>
655
- </el-radio-group>
656
- </el-form-item>
657
- <el-form-item label="Required documents">
658
- <el-tag
659
- :key="tag"
660
- v-for="tag in dynamicTags"
661
- closable
662
- :disable-transitions="false"
663
- @close="handleClose(tag)"
664
- >
665
- {{ tag }}
666
- </el-tag>
667
- <el-input
668
- class="input-new-tag"
669
- v-if="inputVisible"
670
- v-model="inputValue"
671
- ref="saveTagInput"
672
- size="small"
673
- @keyup.enter.native="handleInputConfirm"
674
- @blur="handleInputConfirm"
675
- >
676
- </el-input>
677
- <el-button v-else class="button-new-tag" size="small" @click="showInput"
678
- >+ New Tag</el-button
679
- >
680
- </el-form-item>
681
- <el-form-item label="Quality certificate">
682
- <el-radio-group v-model="form.qualityCertificateSwitch">
683
- <el-radio :label="false">Close</el-radio>
684
- <el-radio :label="true">open</el-radio>
685
- </el-radio-group>
686
- </el-form-item>
687
- <el-row>
688
- <el-col :span="15">
689
- <el-form-item>
690
- <el-input
691
- autosize
692
- type="textarea"
693
- placeholder="请输入内容"
694
- v-model="form.qualityCertificate"
695
- >
696
- </el-input>
697
- </el-form-item>
698
- </el-col>
699
- </el-row>
700
-
701
- <el-form-item label="Claim ">
702
- <el-radio-group v-model="form.claimSwitch">
703
- <el-radio :label="false">Close</el-radio>
704
- <el-radio :label="true">open</el-radio>
705
- </el-radio-group>
706
- </el-form-item>
707
- <el-row>
708
- <el-col :span="15">
709
- <el-form-item>
710
- <el-input
711
- type="textarea"
712
- autosize
713
- placeholder="请输入内容"
714
- v-model="form.claim"
715
- >
716
- </el-input>
717
- </el-form-item>
718
- </el-col>
719
- </el-row>
720
-
721
- <el-form-item label="Arbitration ">
722
- <el-radio-group v-model="form.arbitrationSwitch">
723
- <el-radio :label="false">Close</el-radio>
724
- <el-radio :label="true">open</el-radio>
725
- </el-radio-group>
726
- </el-form-item>
727
- <el-row>
728
- <el-col :span="15">
729
- <el-form-item>
730
- <el-input
731
- type="textarea"
732
- :autosize="{ minRows: 3, maxRows: 5 }"
733
- placeholder="请输入内容"
734
- v-model="form.arbitration"
735
- >
736
- </el-input>
737
- </el-form-item>
738
- </el-col>
739
- </el-row>
740
- <el-form-item label="Memo ">
741
- <el-radio-group v-model="form.memoSwitch">
742
- <el-radio :label="false">Close</el-radio>
743
- <el-radio :label="true">open</el-radio>
744
- </el-radio-group>
745
- </el-form-item>
746
- <el-row>
747
- <el-col :span="15">
748
- <el-form-item>
749
- <el-input
750
- type="textarea"
751
- autosize
752
- placeholder="请输入内容"
753
- v-model="form.memo"
754
- >
755
- </el-input>
756
- </el-form-item>
757
- </el-col>
758
- </el-row>
759
- </el-form>
760
-
761
- <div style="text-align: center">
762
- <el-button type="warning" @click="sendContract">发送合同</el-button>
763
- <el-button type="primary" @click="submitForm">保 存</el-button>
764
- <el-button type="success" @click="updateAndDownload">下 载</el-button>
765
- </div>
766
-
767
- <company-list ref="companyList" @confirmCompany="confirmCompany" />
768
-
769
- <contract-company-list
770
- ref="contractCompanyList"
771
- @confirmCompany="confirmCompany"
772
- ></contract-company-list>
773
- </div>
774
- </template>
775
-
776
- <script>
777
- import { getBizContract, updateBizContract } from "../../../api/biz/bizContract";
778
- import CompanyList from "./companyList.vue";
779
- import { updateCompanyInfo } from "../../../api/biz/companyInfo";
780
- import { portDictList, listDictData } from "../../../api/biz/dictData";
781
- import ContractCompanyList from "./contractCompanyList.vue";
782
- export default {
783
- name: "contractDetail",
784
- dicts: ["freight_terms", "cmx_month"],
785
- components: {
786
- CompanyList,
787
- ContractCompanyList,
788
- },
789
- data() {
790
- return {
791
- // 遮罩层
792
- loading: true,
793
- // 弹出层标题
794
- title: "",
795
- // 是否显示弹出层
796
- open: false,
797
- // 表单参数
798
- form: {
799
- sellerCompanyInfo: {
800
- companyEnglishName: null,
801
- address: null,
802
- },
803
- buyerCompanyInfo: {
804
- companyEnglishName: null,
805
- address: null,
806
- },
807
- buyContractCompanyId: null,
808
- buyContractCompany: { companyEnglishName: null, address: null },
809
- supplierContractCompanyId: null,
810
- supplierContractCompany: {
811
- companyEnglishName: null,
812
- address: null,
813
- },
814
- contractDetailList: [],
815
- },
816
- dynamicTags: [],
817
- inputVisible: false,
818
- inputValue: "",
819
- //是否保存卖家地址
820
- saveSellerCompanyAddress: false,
821
- //是否保存买家地址
822
- saveBuyerCompanyAddress: false,
823
- //买家地址
824
- buyerCompanyAddress: null,
825
- //卖家地址
826
- sellerCompanyAddress: null,
827
- //港口数据列表
828
- portDictList: [],
829
- //国家数据李北奥
830
- countryDictList: [],
831
- };
832
- },
833
- created() {
834
- const contractId = this.$route.params && this.$route.params.id;
835
- this.getContract(contractId);
836
- this.getPortDictList();
837
- this.getCountryDictList();
838
- },
839
- methods: {
840
- //改变未发送合同状态为已发送合同
841
- sendContract() {
842
- this.form.contractState = 1;
843
- updateBizContract(this.form).then((response) => {
844
- this.$modal.msgSuccess("发送成功");
845
- this.getContract(this.form.contractId);
846
- });
847
- },
848
- //选择公司
849
- handleUserCompany(companyId, type) {
850
- this.$refs.contractCompanyList.handleShow(companyId, type);
851
- },
852
- //
853
- addDetails() {
854
- const detail = {
855
- contractId: this.form.contractId,
856
- askId: this.form.askId,
857
- askName: "",
858
- weight: "",
859
- cmxMonth: "",
860
- serviceFee: "",
861
- quotePrice: "",
862
- sllerPrice: "",
863
- };
864
- this.form.contractDetailList.push(detail);
865
- },
866
- //获取国家数据列表
867
- getCountryDictList() {
868
- const dictData = {
869
- dictType: "Country",
870
- pageNum: 1,
871
- pageSize: 999,
872
- orderByColumn: "dictValue",
873
- isAsc: "asc",
874
- };
875
- listDictData(dictData).then((response) => {
876
- this.countryDictList = response.rows;
877
- });
878
- },
879
- //获取港口数据列表
880
- getPortDictList() {
881
- portDictList().then((response) => {
882
- this.portDictList = response.rows;
883
- });
884
- },
885
- //买家公司保存地址
886
- handleBuyerCompanychange(buyerCompanyInfo, val) {
887
- if (
888
- val &&
889
- this.form.buyerCompanyInfo.address !== this.buyerCompanyAddress
890
- ) {
891
- this.$modal
892
- .confirm("该名下已有地址,是否更新覆盖")
893
- .then(function () {
894
- return updateCompanyInfo(buyerCompanyInfo);
895
- })
896
- .then(() => {
897
- this.$modal.msgSuccess("覆盖成功");
898
- })
899
- .catch(() => {});
900
- }
901
- },
902
- //卖家公司保存地址
903
- handleSellerCompanychange(sellerCompanyInfo, val) {
904
- if (
905
- val &&
906
- this.form.sellerCompanyInfo.address !== this.sellerCompanyAddress
907
- ) {
908
- this.$modal
909
- .confirm("该名下已有地址,是否更新覆盖")
910
- .then(function () {
911
- return updateCompanyInfo(sellerCompanyInfo);
912
- })
913
- .then(() => {
914
- this.$modal.msgSuccess("覆盖成功");
915
- })
916
- .catch(() => {});
917
- }
918
- },
919
- //确认公司
920
- confirmCompany(companyList, type) {
921
- var company = companyList[0];
922
- company.email =
923
- company.email && company.email.length > 0 ? company.email[0] : "";
924
- company.phoneNumber =
925
- company.phoneNumber && company.phoneNumber.length > 0
926
- ? company.phoneNumber[0]
927
- : "";
928
- if (type == "seller") {
929
- this.$set(this.form, "supplierContractCompany", company);
930
- this.form.supplierContractCompanyId = company.contractCompanyId;
931
- this.form.supplierCompanyId = company.companyId;
932
- } else if (type == "buyer") {
933
- this.$set(this.form, "buyContractCompany", company);
934
- this.form.buyContractCompanyId = company.contractCompanyId;
935
- this.form.buyCompanyId = company.companyId;
936
- }
937
- },
938
- //选择卖家公司弹框
939
- handleAllCompany(type) {
940
- this.$refs.companyList.handleShow(type);
941
- },
942
- handleClose(tag) {
943
- this.dynamicTags.splice(this.dynamicTags.indexOf(tag), 1);
944
- },
945
-
946
- showInput() {
947
- this.inputVisible = true;
948
- this.$nextTick((_) => {
949
- this.$refs.saveTagInput.$refs.input.focus();
950
- });
951
- },
952
-
953
- handleInputConfirm() {
954
- let inputValue = this.inputValue;
955
- if (inputValue) {
956
- this.dynamicTags.push(inputValue);
957
- }
958
- this.inputVisible = false;
959
- this.inputValue = "";
960
- },
961
- // 表单重置
962
- reset() {
963
- this.form = {
964
- contractId: null,
965
- contractNo: null,
966
- askId: null,
967
- buyId: null,
968
- supplierId: null,
969
- buyCompanyId: null,
970
- supplierCompanyId: null,
971
- serviceFee: null,
972
- serviceFeeSwitch: null,
973
- freightTerms: null,
974
- deposit: null,
975
- depositDays: null,
976
- balance: null,
977
- balanceDays: null,
978
- balancePaymentForm: null,
979
- balancePaymentForm: null,
980
- loadingCountry: null,
981
- originCountry: null,
982
- destination: null,
983
- numberOfContainersForTwenty: null,
984
- numberOfContainersForForty: null,
985
- numberOfContainersForTwentyOrForty: null,
986
- toleranceFloat: null,
987
- weightTolerance: null,
988
- latestShipment: null,
989
- livePriceSwitch: null,
990
- livePriceDays: null,
991
- livePriceForm: null,
992
- livePriceUsertype: null,
993
- qualityCertificate: null,
994
- qualityCertificateSwitch: null,
995
- claim: null,
996
- claimSwitch: null,
997
- arbitration: null,
998
- arbitrationSwitch: null,
999
- memo: null,
1000
- memoSwitch: null,
1001
- contractStatus: "0",
1002
- createTime: null,
1003
- updateTime: null,
1004
- completionTime: null,
1005
- requiredDocuments: null,
1006
- supplierAccountId: null,
1007
- supplierCompanyId: null,
1008
- sellerCompanyInfo: {
1009
- companyEnglishName: null,
1010
- address: null,
1011
- },
1012
- buyerAccountId: null,
1013
- buyCompanyId: null,
1014
- buyerCompanyInfo: {
1015
- companyEnglishName: null,
1016
- address: null,
1017
- },
1018
- buyContractCompanyId: null,
1019
- buyContractCompany: { companyEnglishName: null, address: null },
1020
- supplierContractCompanyId: null,
1021
- supplierContractCompany: {
1022
- companyEnglishName: null,
1023
- address: null,
1024
- },
1025
- contractDetailList: [],
1026
- };
1027
- this.resetForm("form");
1028
- },
1029
- getContract(contractId) {
1030
- this.reset();
1031
- getBizContract(contractId).then((response) => {
1032
- this.form = response.data;
1033
- this.dynamicTags = JSON.parse(this.form.requiredDocuments);
1034
- if (!this.form.contractDetailList) {
1035
- this.form.contractDetailList = [];
1036
- }
1037
- if (!this.form.supplierContractCompany) {
1038
- this.form.supplierContractCompany = {
1039
- companyEnglishName: "",
1040
- address: "",
1041
- };
1042
- }
1043
- if (!this.form.buyContractCompany) {
1044
- this.form.buyContractCompany = {
1045
- companyEnglishName: "",
1046
- address: "",
1047
- };
1048
- }
1049
- });
1050
- },
1051
- /** 提交按钮 */
1052
- submitForm() {
1053
- this.$refs["form"].validate((valid) => {
1054
- if (valid) {
1055
- if (this.form.contractId != null) {
1056
- this.form.requiredDocuments = JSON.stringify(this.dynamicTags);
1057
- updateBizContract(this.form).then((response) => {
1058
- this.$modal.msgSuccess("保存成功");
1059
- this.$router.push({
1060
- name: "Contract",
1061
- params: { askId: this.form.askId },
1062
- });
1063
- });
1064
- }
1065
- }
1066
- });
1067
- },
1068
- /** 下载合同 */
1069
- handleDownLoadContract(row) {
1070
- if (row.contractType == "sale") {
1071
- this.download(
1072
- "biz/contract/exportTemplate",
1073
- {
1074
- contractId: row.contractId,
1075
- templateType: "EXCEL",
1076
- },
1077
- `${
1078
- row.contractNo + "-" + row.buyContractCompany.companyEnglishName
1079
- }.xlsx`
1080
- );
1081
- } else {
1082
- this.download(
1083
- "biz/contract/exportTemplate",
1084
- {
1085
- contractId: row.contractId,
1086
- templateType: "EXCEL",
1087
- },
1088
- `${
1089
- row.contractNo +
1090
- "-" +
1091
- row.supplierContractCompany.companyEnglishName
1092
- }.xlsx`
1093
- );
1094
- }
1095
- },
1096
- async updateAndDownload() {
1097
- await this.submitForm();
1098
- return new Promise((resolve, reject) => {
1099
- setTimeout(() => {
1100
- this.handleDownLoadContract(this.form);
1101
- }, 2000);
1102
- });
1103
- },
1104
- deleteTableRow(value) {
1105
- console.log(this.form.contractDetailList);
1106
- console.log(value);
1107
- },
1108
- },
1109
- };
1110
- </script>
1111
- <style lang="scss" scoped>
1112
- .text {
1113
- font-size: 16px;
1114
- font-weight: 700;
1115
- height: 35px;
1116
- line-height: 35px;
1117
- }
1118
- .item {
1119
- margin-bottom: 18px;
1120
- }
1121
- .text1 {
1122
- font-size: 15px;
1123
- text-align: center;
1124
- height: 35px;
1125
- line-height: 39px;
1126
- }
1127
- .bg-purple-dark {
1128
- background: #99a9bf;
1129
- }
1130
- .bg-purple {
1131
- background: #d3dce6;
1132
- }
1133
- .bg-purple-light {
1134
- background: #e5e9f2;
1135
- }
1136
- .grid-content {
1137
- border-radius: 4px;
1138
- min-height: 36px;
1139
- }
1140
- .el-row {
1141
- margin-bottom: 20px;
1142
- &:last-child {
1143
- margin-bottom: 0;
1144
- }
1145
- }
1146
- .el-col {
1147
- border-radius: 4px;
1148
- }
1149
- .row-bg {
1150
- padding: 10px 0;
1151
- background-color: #f9fafc;
1152
- }
1153
- .el-tag + .el-tag {
1154
- margin-left: 10px;
1155
- }
1156
- .button-new-tag {
1157
- margin-left: 10px;
1158
- height: 32px;
1159
- line-height: 30px;
1160
- padding-top: 0;
1161
- padding-bottom: 0;
1162
- }
1163
- .input-new-tag {
1164
- width: 90px;
1165
- margin-left: 10px;
1166
- vertical-align: bottom;
1167
- }
1168
- </style>