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,318 @@
1
+ <template>
2
+ <div class="app-container">
3
+ <el-dialog
4
+ :title="title"
5
+ :visible.sync="open"
6
+ width="1000px"
7
+ append-to-body
8
+ >
9
+ <el-table
10
+ v-if="this.companyType == 'delivery'"
11
+ v-loading="loading"
12
+ :data="deliveryCompanyList"
13
+ >
14
+ <el-table-column
15
+ :label="$t('contract.consignee')"
16
+ align="center"
17
+ prop="companyEnglishName"
18
+ />
19
+ <el-table-column
20
+ :label="$t('contract.taxId')"
21
+ align="center"
22
+ prop="taxNumber"
23
+ />
24
+ <el-table-column
25
+ :label="$t('contract.consigneeAddress')"
26
+ align="center"
27
+ prop="address"
28
+ />
29
+ <el-table-column
30
+ :label="$t('contract.contact')"
31
+ align="center"
32
+ prop="contact"
33
+ />
34
+ <el-table-column
35
+ :label="$t('contract.phoneNumber')"
36
+ align="center"
37
+ prop="phoneNumber"
38
+ />
39
+ <el-table-column
40
+ :label="$t('contract.email')"
41
+ align="center"
42
+ prop="email"
43
+ />
44
+ <el-table-column
45
+ :label="$t('button.operation')"
46
+ align="center"
47
+ class-name="small-padding fixed-width"
48
+ width="200"
49
+ >
50
+ <template slot-scope="scope">
51
+ <el-button
52
+ size="mini"
53
+ type="text"
54
+ @click="updateSubCompany(scope.row)"
55
+ >
56
+ {{ $t("button.edit") }}
57
+ </el-button>
58
+ <el-button
59
+ size="mini"
60
+ type="text"
61
+ @click="deleteSubCompany(scope.row)"
62
+ >
63
+ {{ $t("button.delete") }}
64
+ </el-button>
65
+ <el-tag
66
+ v-if="scope.row.defaultFlag"
67
+ type="warning"
68
+ effect="dark"
69
+ size="small"
70
+ >
71
+ {{ $t("button.default") }}
72
+ </el-tag>
73
+ <el-button
74
+ v-else
75
+ type="text"
76
+ size="small"
77
+ @click="setSubCompanyDefault(scope.row)"
78
+ >
79
+ {{ $t("button.setDefault") }}
80
+ </el-button>
81
+ </template>
82
+ </el-table-column>
83
+ </el-table>
84
+ <el-button
85
+ class="mt10"
86
+ type="primary"
87
+ v-if="this.companyType == 'delivery'"
88
+ size="mini "
89
+ @click="addSubCompany('delivery')"
90
+ >
91
+ {{ $t("button.addCompany") }}
92
+ </el-button>
93
+
94
+ <el-table
95
+ v-loading="loading"
96
+ :data="notifierCompanyList"
97
+ v-if="this.companyType == 'notifier'"
98
+ >
99
+ <el-table-column
100
+ :label="$t('contract.notifier')"
101
+ align="center"
102
+ prop="companyEnglishName"
103
+ />
104
+ <el-table-column
105
+ :label="$t('contract.taxId')"
106
+ align="center"
107
+ prop="taxNumber"
108
+ />
109
+ <el-table-column
110
+ :label="$t('contract.notifierAddress')"
111
+ align="center"
112
+ prop="address"
113
+ />
114
+ <el-table-column
115
+ :label="$t('contract.contact')"
116
+ align="center"
117
+ prop="contact"
118
+ />
119
+ <el-table-column
120
+ :label="$t('contract.phoneNumber')"
121
+ align="center"
122
+ prop="phoneNumber"
123
+ />
124
+ <el-table-column
125
+ :label="$t('contract.email')"
126
+ align="center"
127
+ prop="email"
128
+ />
129
+ <el-table-column
130
+ :label="$t('button.operation')"
131
+ width="200"
132
+ align="center"
133
+ class-name="small-padding fixed-width"
134
+ >
135
+ <template slot-scope="scope">
136
+ <el-button
137
+ size="mini"
138
+ type="text"
139
+ @click="updateSubCompany(scope.row)"
140
+ >
141
+ {{ $t("button.edit") }}
142
+ </el-button>
143
+ <el-button
144
+ size="mini"
145
+ type="text"
146
+ @click="deleteSubCompany(scope.row)"
147
+ >
148
+ {{ $t("button.delete") }}
149
+ </el-button>
150
+
151
+ <el-tag
152
+ v-if="scope.row.defaultFlag"
153
+ type="warning"
154
+ effect="dark"
155
+ size="small"
156
+ >
157
+ {{ $t("button.default") }}
158
+ </el-tag>
159
+ <el-button
160
+ v-else
161
+ type="text"
162
+ size="small"
163
+ @click="setSubCompanyDefault(scope.row)"
164
+ >
165
+ {{ $t("button.setDefault") }}
166
+ </el-button>
167
+ </template>
168
+ </el-table-column>
169
+ </el-table>
170
+ <el-button
171
+ class="mt10"
172
+ v-if="this.companyType == 'notifier'"
173
+ type="primary"
174
+ size="mini"
175
+ @click="addSubCompany('notifier')"
176
+ >
177
+ {{ $t("button.addCompany") }}
178
+ </el-button>
179
+ </el-dialog>
180
+
181
+ <add-sub-company ref="addSubCompany" @submit="submit"></add-sub-company>
182
+ </div>
183
+ </template>
184
+
185
+ <script>
186
+ import {
187
+ listBizContractCompany,
188
+ delBizContractCompany,
189
+ updateBizContractCompany,
190
+ } from "../../../api/biz/bizContractCompany";
191
+ import AddSubCompany from "./addSubCompany";
192
+
193
+ export default {
194
+ name: "SubCompanyDialog",
195
+ mixins: [],
196
+ components: { AddSubCompany },
197
+ props: {},
198
+ data() {
199
+ return {
200
+ //
201
+ open: false,
202
+ //
203
+ title: null,
204
+ //
205
+ loading: false,
206
+ // 提货公司列表
207
+ deliveryCompanyList: [],
208
+ // 通知人公司列表
209
+ notifierCompanyList: [],
210
+ // 公司id
211
+ companyId: null,
212
+ //公司类型
213
+ companyType: null,
214
+ // 表单参数
215
+ form: {},
216
+ // 表单校验
217
+ rules: {
218
+ companyName: [
219
+ { required: true, message: "公司名称不能为空", trigger: "blur" },
220
+ ],
221
+ companyCode: [
222
+ { required: true, message: "公司代码不能为空", trigger: "blur" },
223
+ ],
224
+ createTime: [
225
+ { required: true, message: "创建时间不能为空", trigger: "blur" },
226
+ ],
227
+ updateTime: [
228
+ { required: true, message: "更新时间不能为空", trigger: "blur" },
229
+ ],
230
+ },
231
+ };
232
+ },
233
+ computed: {},
234
+ watch: {},
235
+ created() {},
236
+ mounted() {},
237
+ methods: {
238
+ //子公司相关操作后刷新列表
239
+ submit() {
240
+ this.getList();
241
+ this.$emit("submit");
242
+ },
243
+ //新增子公司
244
+ addSubCompany(type) {
245
+ this.$refs.addSubCompany.handleAdd(this.companyId, type);
246
+ },
247
+ //修改子公司
248
+ updateSubCompany(row) {
249
+ this.$refs.addSubCompany.handleUpdate(row);
250
+ },
251
+ /** 查询合同公司记录列表 */
252
+ getList() {
253
+ this.loading = true;
254
+ listBizContractCompany({
255
+ companyId: this.companyId,
256
+ }).then((response) => {
257
+ const subCompanyList = response.rows;
258
+ this.deliveryCompanyList = subCompanyList.filter((i) => {
259
+ return i.companyType == "delivery";
260
+ });
261
+ this.notifierCompanyList = subCompanyList.filter((i) => {
262
+ return i.companyType == "notifier";
263
+ });
264
+ this.loading = false;
265
+ });
266
+ },
267
+ // 子公司详情
268
+ detailSubCompany(row) {
269
+ this.$refs.subCompanyDetail.handleDetail(row);
270
+ },
271
+ // 新增子公司
272
+ addSubCompany(type) {
273
+ this.$refs.addSubCompany.handleAdd(this.companyId, type);
274
+ },
275
+ // 修改子公司
276
+ updateSubCompany(row) {
277
+ this.$refs.addSubCompany.handleUpdate(row);
278
+ },
279
+ // 删除子公司
280
+ deleteSubCompany(row) {
281
+ const contractCompanyId = row.contractCompanyId;
282
+ this.$modal
283
+ .confirm("Do you want to delete the contract company record data item?")
284
+ .then(function () {
285
+ return delBizContractCompany(contractCompanyId);
286
+ })
287
+ .then(() => {
288
+ this.getList();
289
+ this.$modal.msgSuccess("Successfully deleted");
290
+ })
291
+ .catch(() => {});
292
+ },
293
+ setSubCompanyDefault(row) {
294
+ row.defaultFlag = true;
295
+ updateBizContractCompany(row).then((response) => {
296
+ this.getList();
297
+ this.$modal.msgSuccess("Set" + row.companyEnglishName + "as default");
298
+ });
299
+ },
300
+ /** 选择按钮操作 */
301
+ handleSubCompany(companyId, companyType) {
302
+ this.open = true;
303
+ this.companyType = companyType;
304
+ this.companyId = companyId;
305
+ const title =
306
+ companyType == "delivery"
307
+ ? this.$t("contract.consigneeCompanyTitle")
308
+ : companyType == "notifier"
309
+ ? this.$t("contract.notifierCompanyTitle")
310
+ : "";
311
+ this.title = title;
312
+ this.getList();
313
+ },
314
+ },
315
+ };
316
+ </script>
317
+
318
+ <style scoped lang="scss"></style>
@@ -0,0 +1,171 @@
1
+ <template>
2
+ <div>
3
+ <!-- 邀请码详情对话框 -->
4
+ <el-dialog :title="title" :visible.sync="open" width="850px" append-to-body>
5
+ <el-form
6
+ ref="form"
7
+ :model="form"
8
+ label-width="100px"
9
+ label-position="left"
10
+ >
11
+ <el-card class="mb10" shadow="hover">
12
+ <el-col :span="8">
13
+ <el-form-item label="集装箱编号">
14
+ <span v-if="form.containers && form.containers[0]">
15
+ {{ form.containers[0].containerNum }}
16
+ </span>
17
+ </el-form-item>
18
+ </el-col>
19
+ <el-col :span="8">
20
+ <el-form-item label="从">
21
+ <span v-if="form.origin && form.origin.city">
22
+ {{ form.origin.city }}
23
+ </span>
24
+ </el-form-item>
25
+ </el-col>
26
+ <el-col :span="8">
27
+ <el-form-item label="到">
28
+ <span v-if="form.destination && form.destination.city">
29
+ {{ form.destination.city }}
30
+ </span>
31
+ </el-form-item>
32
+ </el-col>
33
+ </el-card>
34
+ <el-card shadow="hover" v-for="(item, i) in form.containers" :key="i">
35
+ <div slot="header" class="clearfix">
36
+ <b>{{ item.containerNum }}</b> &nbsp; |
37
+ {{ item.containerSize + "' " + item.containerType }}
38
+ </div>
39
+ <el-row>
40
+ <el-col :span="9">
41
+ <el-form-item label="预计抵港日期">
42
+ {{ item.etaDelivery }}
43
+ </el-form-item>
44
+ </el-col>
45
+ <el-col :span="14">
46
+ <el-form-item label="最新动态">
47
+ <el-tag :type="getTagType(item.latest.activity)">
48
+ <i :class="getTagIcon(item.latest.activity)"></i>
49
+ {{ item.latest.activity }}
50
+ </el-tag>
51
+ {{
52
+ item.latest.city +
53
+ " " +
54
+ item.latest.state +
55
+ " " +
56
+ item.latest.country
57
+ }}
58
+ <br />
59
+ {{ item.latest.actualTime }}
60
+ </el-form-item>
61
+ </el-col>
62
+ </el-row>
63
+ <!-- <el-divider></el-divider> -->
64
+ <div class="mb20" v-for="(location, j) in item.locations" :key="j">
65
+ <el-row>
66
+ <el-col :span="10">
67
+ <el-row class="mb5" type="flex" justify="end">
68
+ <b>{{ location.city }}</b>
69
+ </el-row>
70
+ <el-row class="mb5" type="flex" justify="end">
71
+ {{ location.terminal }}
72
+ </el-row>
73
+ </el-col>
74
+ <el-col :span="12">
75
+ <el-timeline>
76
+ <el-timeline-item
77
+ v-for="(ev, k) in location.events"
78
+ :key="k"
79
+ :type="getTagType(ev.activity)"
80
+ :timestamp="ev.actualTime"
81
+ >
82
+ <el-tag :type="getTagType(ev.activity)">
83
+ <i :class="getTagIcon(ev.activity)"></i>
84
+ {{ ev.activity }}
85
+ </el-tag>
86
+ </el-timeline-item>
87
+ </el-timeline>
88
+ </el-col>
89
+ </el-row>
90
+ <!-- <el-divider></el-divider> -->
91
+ </div>
92
+ </el-card>
93
+ </el-form>
94
+ </el-dialog>
95
+ </div>
96
+ </template>
97
+ <script>
98
+ const tagMap = {
99
+ LOAD: {
100
+ color: "#409EFF",
101
+ text: "装载",
102
+ icon: "el-icon-sell",
103
+ type: "primary",
104
+ },
105
+ DISCHARG: {
106
+ color: "#E6A23C",
107
+ text: "卸载",
108
+ icon: "el-icon-sold-out",
109
+ type: "warning",
110
+ },
111
+ "GATE-IN": {
112
+ color: "#409EFF",
113
+ text: "入门",
114
+ icon: "el-icon-sell",
115
+ type: "primary",
116
+ },
117
+ "GATE-OUT": {
118
+ color: "#909399",
119
+ text: "出闸",
120
+ icon: "el-icon-ship",
121
+ type: "info",
122
+ },
123
+ "GATE-OUT-EMPTY": {
124
+ color: "#909399",
125
+ text: "出闸",
126
+ icon: "el-icon-ship",
127
+ type: "info",
128
+ },
129
+ };
130
+ import { getTrack } from "../../../api/biz/track";
131
+ export default {
132
+ name: "Track",
133
+ data() {
134
+ return {
135
+ track: {},
136
+ loading: true,
137
+ open: false,
138
+ title: "",
139
+ form: {
140
+ containers: [],
141
+ origin: {},
142
+ destination: {},
143
+ },
144
+ };
145
+ },
146
+ methods: {
147
+ getTagIcon(tag) {
148
+ return tagMap[tag].icon;
149
+ },
150
+ getTagColor(tag) {
151
+ return tagMap[tag].color;
152
+ },
153
+ getTagType(tag) {
154
+ return tagMap[tag].type;
155
+ },
156
+ reset() {
157
+ this.form = {};
158
+ },
159
+ /** 展示按钮操作 */
160
+ handleShow(query) {
161
+ this.reset();
162
+ getTrack(query).then((response) => {
163
+ this.form = response.data;
164
+ this.open = true;
165
+ this.title = "货运详情";
166
+ });
167
+ },
168
+ },
169
+ };
170
+ </script>
171
+ <style lang="scss" scoped></style>
@@ -0,0 +1,3 @@
1
+ const elementIcons = ['platform-eleme', 'eleme', 'delete-solid', 'delete', 's-tools', 'setting', 'user-solid', 'user', 'phone', 'phone-outline', 'more', 'more-outline', 'star-on', 'star-off', 's-goods', 'goods', 'warning', 'warning-outline', 'question', 'info', 'remove', 'circle-plus', 'success', 'error', 'zoom-in', 'zoom-out', 'remove-outline', 'circle-plus-outline', 'circle-check', 'circle-close', 's-help', 'help', 'minus', 'plus', 'check', 'close', 'picture', 'picture-outline', 'picture-outline-round', 'upload', 'upload2', 'download', 'camera-solid', 'camera', 'video-camera-solid', 'video-camera', 'message-solid', 'bell', 's-cooperation', 's-order', 's-platform', 's-fold', 's-unfold', 's-operation', 's-promotion', 's-home', 's-release', 's-ticket', 's-management', 's-open', 's-shop', 's-marketing', 's-flag', 's-comment', 's-finance', 's-claim', 's-custom', 's-opportunity', 's-data', 's-check', 's-grid', 'menu', 'share', 'd-caret', 'caret-left', 'caret-right', 'caret-bottom', 'caret-top', 'bottom-left', 'bottom-right', 'back', 'right', 'bottom', 'top', 'top-left', 'top-right', 'arrow-left', 'arrow-right', 'arrow-down', 'arrow-up', 'd-arrow-left', 'd-arrow-right', 'video-pause', 'video-play', 'refresh', 'refresh-right', 'refresh-left', 'finished', 'sort', 'sort-up', 'sort-down', 'rank', 'loading', 'view', 'c-scale-to-original', 'date', 'edit', 'edit-outline', 'folder', 'folder-opened', 'folder-add', 'folder-remove', 'folder-delete', 'folder-checked', 'tickets', 'document-remove', 'document-delete', 'document-copy', 'document-checked', 'document', 'document-add', 'printer', 'paperclip', 'takeaway-box', 'search', 'monitor', 'attract', 'mobile', 'scissors', 'umbrella', 'headset', 'brush', 'mouse', 'coordinate', 'magic-stick', 'reading', 'data-line', 'data-board', 'pie-chart', 'data-analysis', 'collection-tag', 'film', 'suitcase', 'suitcase-1', 'receiving', 'collection', 'files', 'notebook-1', 'notebook-2', 'toilet-paper', 'office-building', 'school', 'table-lamp', 'house', 'no-smoking', 'smoking', 'shopping-cart-full', 'shopping-cart-1', 'shopping-cart-2', 'shopping-bag-1', 'shopping-bag-2', 'sold-out', 'sell', 'present', 'box', 'bank-card', 'money', 'coin', 'wallet', 'discount', 'price-tag', 'news', 'guide', 'male', 'female', 'thumb', 'cpu', 'link', 'connection', 'open', 'turn-off', 'set-up', 'chat-round', 'chat-line-round', 'chat-square', 'chat-dot-round', 'chat-dot-square', 'chat-line-square', 'message', 'postcard', 'position', 'turn-off-microphone', 'microphone', 'close-notification', 'bangzhu', 'time', 'odometer', 'crop', 'aim', 'switch-button', 'full-screen', 'copy-document', 'mic', 'stopwatch', 'medal-1', 'medal', 'trophy', 'trophy-1', 'first-aid-kit', 'discover', 'place', 'location', 'location-outline', 'location-information', 'add-location', 'delete-location', 'map-location', 'alarm-clock', 'timer', 'watch-1', 'watch', 'lock', 'unlock', 'key', 'service', 'mobile-phone', 'bicycle', 'truck', 'ship', 'basketball', 'football', 'soccer', 'baseball', 'wind-power', 'light-rain', 'lightning', 'heavy-rain', 'sunrise', 'sunrise-1', 'sunset', 'sunny', 'cloudy', 'partly-cloudy', 'cloudy-and-sunny', 'moon', 'moon-night', 'dish', 'dish-1', 'food', 'chicken', 'fork-spoon', 'knife-fork', 'burger', 'tableware', 'sugar', 'dessert', 'ice-cream', 'hot-water', 'water-cup', 'coffee-cup', 'cold-drink', 'goblet', 'goblet-full', 'goblet-square', 'goblet-square-full', 'refrigerator', 'grape', 'watermelon', 'cherry', 'apple', 'pear', 'orange', 'coffee', 'ice-tea', 'ice-drink', 'milk-tea', 'potato-strips', 'lollipop', 'ice-cream-square', 'ice-cream-round']
2
+
3
+ export default elementIcons
@@ -0,0 +1,87 @@
1
+ <template>
2
+ <div class="icons-container">
3
+ <aside>
4
+ <a href="#" target="_blank">Add and use
5
+ </a>
6
+ </aside>
7
+ <el-tabs type="border-card">
8
+ <el-tab-pane label="Icons">
9
+ <div v-for="item of svgIcons" :key="item">
10
+ <el-tooltip placement="top">
11
+ <div slot="content">
12
+ {{ generateIconCode(item) }}
13
+ </div>
14
+ <div class="icon-item">
15
+ <svg-icon :icon-class="item" class-name="disabled" />
16
+ <span>{{ item }}</span>
17
+ </div>
18
+ </el-tooltip>
19
+ </div>
20
+ </el-tab-pane>
21
+ <el-tab-pane label="Element-UI Icons">
22
+ <div v-for="item of elementIcons" :key="item">
23
+ <el-tooltip placement="top">
24
+ <div slot="content">
25
+ {{ generateElementIconCode(item) }}
26
+ </div>
27
+ <div class="icon-item">
28
+ <i :class="'el-icon-' + item" />
29
+ <span>{{ item }}</span>
30
+ </div>
31
+ </el-tooltip>
32
+ </div>
33
+ </el-tab-pane>
34
+ </el-tabs>
35
+ </div>
36
+ </template>
37
+
38
+ <script>
39
+ import svgIcons from './svg-icons'
40
+ import elementIcons from './element-icons'
41
+
42
+ export default {
43
+ name: 'Icons',
44
+ data() {
45
+ return {
46
+ svgIcons,
47
+ elementIcons
48
+ }
49
+ },
50
+ methods: {
51
+ generateIconCode(symbol) {
52
+ return `<svg-icon icon-class="${symbol}" />`
53
+ },
54
+ generateElementIconCode(symbol) {
55
+ return `<i class="el-icon-${symbol}" />`
56
+ }
57
+ }
58
+ }
59
+ </script>
60
+
61
+ <style lang="scss" scoped>
62
+ .icons-container {
63
+ margin: 10px 20px 0;
64
+ overflow: hidden;
65
+
66
+ .icon-item {
67
+ margin: 20px;
68
+ height: 85px;
69
+ text-align: center;
70
+ width: 100px;
71
+ float: left;
72
+ font-size: 30px;
73
+ color: #24292e;
74
+ cursor: pointer;
75
+ }
76
+
77
+ span {
78
+ display: block;
79
+ font-size: 16px;
80
+ margin-top: 10px;
81
+ }
82
+
83
+ .disabled {
84
+ pointer-events: none;
85
+ }
86
+ }
87
+ </style>
@@ -0,0 +1,10 @@
1
+ const req = require.context('../../../assets/icons/svg', false, /\.svg$/)
2
+ const requireAll = requireContext => requireContext.keys()
3
+
4
+ const re = /\.\/(.*)\.svg/
5
+
6
+ const svgIcons = requireAll(req).map(i => {
7
+ return i.match(re)[1]
8
+ })
9
+
10
+ export default svgIcons
@@ -0,0 +1,44 @@
1
+ <!--
2
+ * @Author: zhangpengwei 15038779532@163.com
3
+ * @Date: 2023-07-20 14:47:50
4
+ * @LastEditors: zhangpengwei 15038779532@163.com
5
+ * @LastEditTime: 2023-07-20 17:34:04
6
+ * @FilePath: /zpw-com-test/src/doctorscrap-components/test.vue
7
+ * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
8
+ -->
9
+ <template>
10
+ <div>
11
+ <button @click.stop="jump">click</button>
12
+ </div>
13
+ </template>
14
+
15
+ <script>
16
+ export default {
17
+ name: 'ZpwComTestTest',
18
+
19
+ data() {
20
+ return {
21
+
22
+ };
23
+ },
24
+
25
+ mounted() {
26
+
27
+ },
28
+
29
+ methods: {
30
+ jump() {
31
+ this.$router.push({
32
+ path: '/contract/tracing/detail/1838',
33
+ params: {
34
+ contractId: 1838
35
+ }
36
+ })
37
+ }
38
+ },
39
+ };
40
+ </script>
41
+
42
+ <style lang="scss" scoped>
43
+
44
+ </style>