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,330 @@
1
+ <template>
2
+ <div class="app-container">
3
+ <!-- 合同详情对话框 -->
4
+ <el-dialog :title="title" :visible.sync="open" width="600px" append-to-body>
5
+ <el-form ref="form" :model="form" label-width="100px">
6
+ <el-card shadow="hover" v-if="type == 'deposit'">
7
+ <el-row>
8
+ <el-col :span="12">
9
+ <span class="text item">
10
+ {{ "ProForma Invoice" }}
11
+ </span>
12
+ </el-col>
13
+ <el-col :span="12">
14
+ <span class="text item">
15
+ {{ "合同号:" + this.form.contractNo }}
16
+ </span>
17
+ </el-col>
18
+ </el-row>
19
+ <el-row
20
+ class="row-container"
21
+ v-for="(dt, index) in form.proFormInvoiceList"
22
+ :key="'dt' + index"
23
+ >
24
+ <el-row :gutter="5">
25
+ <el-col :span="20">
26
+ <el-form-item label="No.">
27
+ <el-input
28
+ v-model="dt.invoiceNo"
29
+ clearable
30
+ size="small"
31
+ placeholder="请输入发票编号"
32
+ /></el-form-item>
33
+ </el-col>
34
+ <el-col :span="4" style="padding-top: 8px">
35
+ <el-button
36
+ icon="el-icon-minus"
37
+ size="mini"
38
+ circle
39
+ v-if="form.proFormInvoiceList.length > 1"
40
+ @click="delInvoiceListRow('proForm', index)"
41
+ >
42
+ </el-button>
43
+ <el-button
44
+ icon="el-icon-plus"
45
+ size="mini"
46
+ circle
47
+ v-if="index === form.proFormInvoiceList.length - 1"
48
+ @click="addInvoiceListRow('proForm')"
49
+ >
50
+ </el-button>
51
+ </el-col>
52
+ </el-row>
53
+ <el-form-item label="金额">
54
+ <el-input
55
+ v-model="dt.amount"
56
+ clearable
57
+ size="small"
58
+ placeholder="请输入发票金额"
59
+ />
60
+ </el-form-item>
61
+ <el-form-item label="备注">
62
+ <el-input
63
+ v-model="dt.remark"
64
+ clearable
65
+ size="small"
66
+ placeholder="请输入备注"
67
+ type="textarea"
68
+ autosize=""
69
+ />
70
+ </el-form-item>
71
+ <el-row>
72
+ <el-form-item>
73
+ <upload-invoice v-model="dt.invoiceFileList" :limit="20" />
74
+ </el-form-item>
75
+ </el-row>
76
+ </el-row>
77
+ </el-card>
78
+ <el-row />
79
+
80
+ <el-card shadow="hover" v-if="type == 'finally'">
81
+ <el-row>
82
+ <el-col :span="12">
83
+ <span class="text item">
84
+ {{ "Fixed Invoice" }}
85
+ </span>
86
+ </el-col>
87
+ <el-col :span="12">
88
+ <span class="text item">
89
+ {{ "合同号:" + this.form.contractNo }}
90
+ </span>
91
+ </el-col>
92
+ </el-row>
93
+ <el-row
94
+ class="row-container"
95
+ v-for="(item, index) in form.fixedInvoiceList"
96
+ :key="'item' + index"
97
+ >
98
+ <el-row :gutter="5">
99
+ <el-col :span="20">
100
+ <el-form-item label="No.">
101
+ <el-input
102
+ clearable
103
+ v-model="item.invoiceNo"
104
+ size="small"
105
+ placeholder="请输入发票编号"
106
+ />
107
+ </el-form-item>
108
+ </el-col>
109
+ <el-col :span="4" style="padding-top: 8px">
110
+ <el-button
111
+ icon="el-icon-minus"
112
+ size="mini"
113
+ circle
114
+ v-if="form.fixedInvoiceList.length > 1"
115
+ @click="delInvoiceListRow('fixed', index)"
116
+ >
117
+ </el-button>
118
+ <el-button
119
+ icon="el-icon-plus"
120
+ size="mini"
121
+ circle
122
+ v-if="index === form.fixedInvoiceList.length - 1"
123
+ @click="addInvoiceListRow('fixed')"
124
+ >
125
+ </el-button>
126
+ </el-col>
127
+ </el-row>
128
+ <el-row>
129
+ <el-form-item label="订舱号">
130
+ <el-input v-model="item.shipmentId" disabled></el-input>
131
+ </el-form-item>
132
+ </el-row>
133
+ <el-row>
134
+ <el-form-item label="金额">
135
+ <el-input
136
+ v-model="item.amount"
137
+ clearable
138
+ size="small"
139
+ placeholder="请输入发票金额"
140
+ />
141
+ </el-form-item>
142
+ <el-form-item label="备注">
143
+ <el-input
144
+ v-model="item.remark"
145
+ clearable
146
+ size="small"
147
+ placeholder="请输入备注"
148
+ type="textarea"
149
+ autosize=""
150
+ />
151
+ </el-form-item>
152
+ </el-row>
153
+ <el-row>
154
+ <el-form-item>
155
+ <upload-invoice v-model="item.invoiceFileList" :limit="20" />
156
+ </el-form-item>
157
+ </el-row>
158
+ <el-divider></el-divider>
159
+ </el-row>
160
+ </el-card>
161
+ </el-form>
162
+ <div slot="footer" class="dialog-footer">
163
+ <el-button @click="cancel">取 消</el-button>
164
+ <el-button @click="submitForm">仅上传</el-button>
165
+ <el-button
166
+ v-if="type == 'deposit'"
167
+ type="primary"
168
+ @click="uploadAndGenerate"
169
+ >上传并生成收付款</el-button
170
+ >
171
+ </div>
172
+ </el-dialog>
173
+ </div>
174
+ </template>
175
+
176
+ <script>
177
+ import {
178
+ getBizContract,
179
+ listBizContract,
180
+ associationContract,
181
+ } from "../../../api/biz/bizContract";
182
+ import UploadInvoice from "../../../components/FileUpload/uploadInvoice.vue";
183
+ import {
184
+ uploadBizInvoice,
185
+ uploadByShipmentId,
186
+ getInvoiceListByContractId,
187
+ getInvoiceListByShipmentId,
188
+ } from "../../../api/biz/bizInvoice";
189
+ import { getByContractId } from "../../../api/biz/bizShipment";
190
+
191
+ export default {
192
+ name: "PurchaseInvoiceUpload",
193
+ components: { UploadInvoice },
194
+ data() {
195
+ return {
196
+ test: null,
197
+ // 遮罩层
198
+ loading: true,
199
+ // 弹出层标题
200
+ title: "",
201
+ // 是否显示弹出层
202
+ open: false,
203
+ // 表单参数
204
+ form: { proFormInvoiceList: [], fixedInvoiceList: [] },
205
+ //销售合同选项表
206
+ saleContractList: [],
207
+ //采购合同选项表
208
+ purchaseContractList: [],
209
+ type: null,
210
+ shipmentId: null,
211
+ };
212
+ },
213
+ created() {},
214
+ methods: {
215
+ //上传并生成
216
+ uploadAndGenerate() {
217
+ uploadBizInvoice(this.form)
218
+ .then((response) => {
219
+ this.$modal.msgSuccess("保存成功");
220
+ this.open = false;
221
+ })
222
+ .then(() => {
223
+ this.$router.push({
224
+ name: "Invoice",
225
+ params: { documentFlag: true },
226
+ });
227
+ });
228
+ },
229
+ /** 提交按钮 */
230
+ submitForm() {
231
+ if (this.type == "finally") {
232
+ uploadByShipmentId(this.form).then((response) => {
233
+ this.$modal.msgSuccess("保存成功");
234
+ this.$emit("refresh");
235
+ this.open = false;
236
+ });
237
+ } else {
238
+ uploadBizInvoice(this.form).then((response) => {
239
+ this.$modal.msgSuccess("保存成功");
240
+ this.$emit("refresh");
241
+ this.open = false;
242
+ });
243
+ }
244
+ },
245
+ // 取消按钮
246
+ cancel() {
247
+ this.open = false;
248
+ this.reset();
249
+ },
250
+ // 表单重置
251
+ reset() {
252
+ this.form = {
253
+ proFormInvoiceList: [],
254
+ fixedInvoiceList: [],
255
+ };
256
+ this.resetForm("form");
257
+ },
258
+ /** 展示按钮操作 */
259
+ handleUpload(row, type, shipmentId) {
260
+ this.reset();
261
+ this.type = type;
262
+ this.shipmentId = shipmentId;
263
+ if (type == "finally") {
264
+ getInvoiceListByShipmentId(shipmentId)
265
+ .then((response) => {
266
+ this.form = response.data;
267
+ this.form.contractId = row.contractId;
268
+ this.form.shipmentId = shipmentId;
269
+ if (this.form.fixedInvoiceList == null) {
270
+ this.$set(this.form, "fixedInvoiceList", []);
271
+ this.addInvoiceListRow("fixed");
272
+ }
273
+ })
274
+ .then(() => {
275
+ this.getShipmentListByContractId(row.contractId);
276
+ this.open = true;
277
+ });
278
+ } else {
279
+ getInvoiceListByContractId(row.contractId)
280
+ .then((response) => {
281
+ this.form = response.data;
282
+ this.form.contractId = row.contractId;
283
+ if (this.form.proFormInvoiceList == null) {
284
+ this.$set(this.form, "proFormInvoiceList", []);
285
+ this.addInvoiceListRow("proForm");
286
+ }
287
+ if (this.form.fixedInvoiceList == null) {
288
+ this.$set(this.form, "fixedInvoiceList", []);
289
+ this.addInvoiceListRow("fixed");
290
+ }
291
+ })
292
+ .then(() => {
293
+ this.getShipmentListByContractId(row.contractId);
294
+ this.open = true;
295
+ });
296
+ }
297
+ },
298
+ getShipmentListByContractId(contractId) {
299
+ getByContractId(contractId).then((response) => {
300
+ this.$set(this.form, "shipmentList", response.rows);
301
+ });
302
+ },
303
+ delInvoiceListRow(type, index) {
304
+ if (type == "proForm") {
305
+ this.form.proFormInvoiceList.splice(index, 1);
306
+ }
307
+ if (type == "fixed") {
308
+ this.form.fixedInvoiceList.splice(index, 1);
309
+ }
310
+ },
311
+ addInvoiceListRow(type, index) {
312
+ if (type == "proForm") {
313
+ this.form.proFormInvoiceList.push({
314
+ invoiceNo: "",
315
+ invoiceFileList: [],
316
+ });
317
+ }
318
+ if (type == "fixed") {
319
+ this.form.fixedInvoiceList.push({
320
+ invoiceNo: "",
321
+ shipmentId: this.shipmentId,
322
+ amount: "",
323
+ remark: "",
324
+ invoiceFileList: [],
325
+ });
326
+ }
327
+ },
328
+ },
329
+ };
330
+ </script>
@@ -0,0 +1,120 @@
1
+ <template>
2
+ <div class="app-container">
3
+ <!-- 合同争议详情对话框 -->
4
+ <el-dialog :title="title" :visible.sync="open" width="800px" append-to-body>
5
+ <el-table
6
+ ref="multipleTable"
7
+ :data="bizContractDisputeList"
8
+ @selection-change="handleSelectionChange"
9
+ >
10
+ <el-table-column type="selection" width="55" align="center" />
11
+ <el-table-column align="center" width="180px">
12
+ <template slot-scope="{ row }">
13
+ {{
14
+ "【" +
15
+ (contractType && contractType == "sale"
16
+ ? "买家争议"
17
+ : "卖家争议") +
18
+ "】" +
19
+ row.createTime
20
+ }}
21
+ </template>
22
+ </el-table-column>
23
+ <el-table-column align="center" prop="dispute" />
24
+ </el-table>
25
+ <div slot="footer" class="dialog-footer">
26
+ <el-button type="primary" @click="submitForm">确 定</el-button>
27
+ <el-button @click="cancel">取 消</el-button>
28
+ </div>
29
+ </el-dialog>
30
+ </div>
31
+ </template>
32
+
33
+ <script>
34
+ import {
35
+ listBizContractDispute,
36
+ getBizContractDispute,
37
+ delBizContractDispute,
38
+ addBizContractDispute,
39
+ updateBizContractDispute,
40
+ } from "../../../api/biz/bizContractDispute";
41
+
42
+ import { sendDrafEmail } from "../../../api/biz/bizContract";
43
+
44
+ export default {
45
+ name: "SendDrafEmail",
46
+ data() {
47
+ return {
48
+ // 遮罩层
49
+ loading: true,
50
+ // 弹出层标题
51
+ title: "",
52
+ // 是否显示弹出层
53
+ open: false,
54
+ // 表单参数
55
+ form: {},
56
+ // 合同争议表格数据
57
+ bizContractDisputeList: [],
58
+ //合同类型
59
+ contractType: "",
60
+ // 非单个禁用
61
+ single: true,
62
+ // 非多个禁用
63
+ multiple: true,
64
+ //
65
+ selectionContractDisPuteList: [],
66
+ //
67
+ contract: null,
68
+ };
69
+ },
70
+ created() {},
71
+ mounted() {},
72
+ methods: {
73
+ /** 提交按钮 */
74
+ submitForm() {
75
+ this.contract.contractDisputeList = this.selectionContractDisPuteList;
76
+ sendDrafEmail(this.contract).then((response) => {
77
+ this.$modal.msgSuccess("发送成功");
78
+ this.open = false;
79
+ });
80
+ },
81
+ // 取消按钮
82
+ cancel() {
83
+ this.open = false;
84
+ this.reset();
85
+ },
86
+ // 多选框选中数据
87
+ handleSelectionChange(selection) {
88
+ this.selectionContractDisPuteList = selection;
89
+ this.ids = selection.map((item) => item.contractDisputeId);
90
+ this.single = selection.length !== 1;
91
+ this.multiple = !selection.length;
92
+ },
93
+ // 表单重置
94
+ reset() {
95
+ this.form = {
96
+ contractDisputeId: null,
97
+ contractId: null,
98
+ dispute: null,
99
+ disputeType: null,
100
+ disputeState: null,
101
+ createTime: null,
102
+ updateTime: null,
103
+ };
104
+ this.resetForm("form");
105
+ },
106
+ /** 展示按钮操作 */
107
+ handleSend(contractDisputeList, contract) {
108
+ this.contractType = contract.contractType;
109
+ this.contract = contract;
110
+ this.title = "请确认发送邮件,并勾选你已经处理完成的争议";
111
+ this.bizContractDisputeList = contractDisputeList;
112
+ this.selectionContractDisPuteList = contractDisputeList;
113
+ this.$nextTick(() => {
114
+ this.$refs.multipleTable.toggleAllSelection();
115
+ });
116
+ this.open = true;
117
+ },
118
+ },
119
+ };
120
+ </script>