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,88 @@
1
+ <!--
2
+ * @Author: zhangpengwei 15038779532@163.com
3
+ * @Date: 2023-07-20 17:13:54
4
+ * @LastEditors: zhangpengwei 15038779532@163.com
5
+ * @LastEditTime: 2023-08-04 14:41:11
6
+ * @FilePath: /recycle-vue-ui再生博士后台管理/src/views/biz/contractTracing/contractTracingDetail.vue
7
+ * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
8
+ -->
9
+ <template>
10
+ <div class="app-container">
11
+ <el-tabs v-model="activeName" type="card" @tab-click="handleClick">
12
+ <el-tab-pane :label="$t('contractDetail.summary')" name="first">
13
+ <contract-summary
14
+ v-if="activeName == 'first'"
15
+ :channel="channel"
16
+ ></contract-summary>
17
+ </el-tab-pane>
18
+ <el-tab-pane :label="$t('contractDetail.info')" name="second">
19
+ <contract-info
20
+ v-if="activeName == 'second'"
21
+ :channel="channel"
22
+ ></contract-info>
23
+ </el-tab-pane>
24
+ <el-tab-pane
25
+ v-if="contract.contractType == 'sale'"
26
+ :label="$t('contractDetail.blInfo')"
27
+ name="third"
28
+ >
29
+ <bill-info
30
+ :contract="contract"
31
+ v-if="activeName == 'third'"
32
+ ></bill-info>
33
+ </el-tab-pane>
34
+ <el-tab-pane :label="$t('contractDetail.fileManage')" name="fourth">
35
+ <contract-file
36
+ v-if="activeName == 'fourth'"
37
+ :contract="contract"
38
+ :channel="channel"
39
+ ></contract-file>
40
+ </el-tab-pane>
41
+ </el-tabs>
42
+ </div>
43
+ </template>
44
+
45
+ <script>
46
+ import { getBizContract } from "../../../api/biz/bizContract";
47
+
48
+ import ContractSummary from "./contractSummary.vue";
49
+ import BillInfo from "./billInfo.vue";
50
+ import ContractFile from "../bizFileInfo/contract.vue";
51
+ import ContractInfo from "./contractInfo.vue";
52
+
53
+ export default {
54
+ name: "ContractTracingDetail",
55
+ mixins: [],
56
+ components: { ContractSummary, BillInfo, ContractFile, ContractInfo },
57
+ props: {
58
+ channel: "official-website1",
59
+ },
60
+ data() {
61
+ return {
62
+ activeName: "first",
63
+ contract: {},
64
+ };
65
+ },
66
+ computed: {},
67
+ watch: {},
68
+ created() {
69
+ const contractId = this.$route.params && this.$route.params.contractId;
70
+ this.getContract(contractId);
71
+ const activeName = this.$route.query && this.$route.query.activeName;
72
+ this.activeName = activeName || "first";
73
+ },
74
+ mounted() {},
75
+ methods: {
76
+ getContract(contractId) {
77
+ getBizContract(contractId).then((res) => {
78
+ this.contract = res.data;
79
+ });
80
+ },
81
+ handleClick(tab, event) {
82
+ console.log(tab, event);
83
+ },
84
+ },
85
+ };
86
+ </script>
87
+
88
+ <style scoped lang="scss"></style>
@@ -0,0 +1,311 @@
1
+ <template>
2
+ <div class="app-container">
3
+ <!-- 添加或修改合同争议对话框 -->
4
+ <el-dialog
5
+ :title="title"
6
+ :visible.sync="recordOpen"
7
+ width="800px"
8
+ append-to-body
9
+ >
10
+ <el-row :gutter="10" class="mb8">
11
+ <el-col :span="1.5">
12
+ <el-button
13
+ type="primary"
14
+ plain
15
+ icon="el-icon-plus"
16
+ size="mini"
17
+ @click="handleAdd"
18
+ v-hasPermi="['biz:contract:dispute:add']"
19
+ >新增</el-button
20
+ >
21
+ </el-col>
22
+ </el-row>
23
+
24
+ <el-table
25
+ v-loading="loading"
26
+ :data="bizContractDisputeList"
27
+ @selection-change="handleSelectionChange"
28
+ >
29
+ <el-table-column label="序号" align="center" type="index" />
30
+
31
+ <el-table-column label="争议内容" align="center" prop="dispute">
32
+ </el-table-column>
33
+
34
+ <el-table-column label="处理状态" align="center" prop="disputeState">
35
+ <template slot-scope="{ row }">
36
+ {{ row.disputeState ? "已处理" : "待处理" }}
37
+ </template>
38
+ </el-table-column>
39
+ <el-table-column label="图片">
40
+ <template slot-scope="{ row }">
41
+ <el-image
42
+ v-if="row.pictures && row.pictures.length > 0"
43
+ style="width: 100px; height: 100px"
44
+ :src="
45
+ row.pictures && row.pictures.length > 0
46
+ ? row.pictures[0].generateUrl
47
+ : ''
48
+ "
49
+ :preview-src-list="
50
+ row.pictures && row.pictures.length > 0
51
+ ? row.pictures.map((obj) => obj.generateUrl)
52
+ : []
53
+ "
54
+ ></el-image>
55
+ </template>
56
+ </el-table-column>
57
+ <el-table-column
58
+ label="操作"
59
+ align="center"
60
+ class-name="small-padding fixed-width"
61
+ >
62
+ <template slot-scope="scope">
63
+ <el-button
64
+ v-if="scope.row.disputeState == false"
65
+ size="mini"
66
+ type="text"
67
+ icon="el-icon-edit"
68
+ @click="handleComplete(scope.row)"
69
+ >处理完成</el-button
70
+ >
71
+ <el-button
72
+ size="mini"
73
+ type="text"
74
+ icon="el-icon-edit"
75
+ @click="handleUpdate(scope.row)"
76
+ >修改</el-button
77
+ >
78
+ </template>
79
+ </el-table-column>
80
+ </el-table>
81
+
82
+ <pagination
83
+ v-show="total > 0"
84
+ :total="total"
85
+ :page.sync="queryParams.pageNum"
86
+ :limit.sync="queryParams.pageSize"
87
+ @pagination="getList"
88
+ />
89
+ </el-dialog>
90
+
91
+ <!-- 添加或修改合同争议对话框 -->
92
+ <el-dialog :title="title" :visible.sync="open" width="550px" append-to-body>
93
+ <el-form ref="form" :model="form" :rules="rules" label-width="100px">
94
+ <el-form-item label="争议内容" prop="dispute">
95
+ <el-input
96
+ v-model="form.dispute"
97
+ type="textarea"
98
+ placeholder="请输入内容"
99
+ />
100
+ </el-form-item>
101
+ <el-form-item prop="pictures">
102
+ <image-upload
103
+ v-model="form.pictures"
104
+ :limit="50"
105
+ :fileSize="10"
106
+ :uploadType="'contract_dispute'"
107
+ ></image-upload>
108
+ </el-form-item>
109
+ </el-form>
110
+ <div slot="footer" class="dialog-footer">
111
+ <el-button type="primary" @click="submitForm">确 定</el-button>
112
+ <el-button @click="cancel">取 消</el-button>
113
+ </div>
114
+ </el-dialog>
115
+ </div>
116
+ </template>
117
+
118
+ <script>
119
+ import {
120
+ listBizContractDispute,
121
+ getBizContractDispute,
122
+ delBizContractDispute,
123
+ addBizContractDispute,
124
+ updateBizContractDispute,
125
+ } from "../../../api/biz/bizContractDispute";
126
+ import { updateBizContract } from "../../../api/biz/bizContract";
127
+ import ImageUpload from "../../../components/ImageUpload/s3.vue";
128
+
129
+ export default {
130
+ name: "DisputeRecord",
131
+ components: {
132
+ ImageUpload,
133
+ },
134
+ data() {
135
+ return {
136
+ // 遮罩层
137
+ loading: true,
138
+ // 选中数组
139
+ ids: [],
140
+ // 非单个禁用
141
+ single: true,
142
+ // 非多个禁用
143
+ multiple: true,
144
+ // 显示搜索条件
145
+ showSearch: true,
146
+ // 总条数
147
+ total: 0,
148
+ // 合同争议表格数据
149
+ bizContractDisputeList: [],
150
+ // 弹出层标题
151
+ title: "",
152
+ // 是否显示弹出层
153
+ open: false,
154
+ // 查询参数
155
+ queryParams: {
156
+ pageNum: 1,
157
+ pageSize: 10,
158
+ contractId: null,
159
+ dispute: null,
160
+ disputeType: null,
161
+ disputeState: null,
162
+ },
163
+ // 表单参数
164
+ form: {},
165
+ // 表单校验
166
+ rules: {},
167
+ //
168
+ recordOpen: false,
169
+ //
170
+ contractId: null,
171
+ };
172
+ },
173
+ created() {},
174
+ methods: {
175
+ handleShow(contractId) {
176
+ this.queryParams.contractId = contractId;
177
+ this.contractId = contractId;
178
+ this.queryParams.disputeType = "normal";
179
+ this.getList();
180
+ this.recordOpen = true;
181
+ this.title = "争议记录";
182
+ },
183
+ /** 查询合同争议列表 */
184
+ getList() {
185
+ this.loading = true;
186
+ listBizContractDispute(this.queryParams).then((response) => {
187
+ this.bizContractDisputeList = response.rows;
188
+ this.total = response.total;
189
+ this.loading = false;
190
+ });
191
+ },
192
+ // 取消按钮
193
+ cancel() {
194
+ this.open = false;
195
+ this.reset();
196
+ },
197
+ // 表单重置
198
+ reset() {
199
+ this.form = {
200
+ contractDisputeId: null,
201
+ contractId: null,
202
+ dispute: null,
203
+ disputeType: null,
204
+ disputeState: null,
205
+ createTime: null,
206
+ updateTime: null,
207
+ };
208
+ this.resetForm("form");
209
+ },
210
+ /** 搜索按钮操作 */
211
+ handleQuery() {
212
+ this.queryParams.pageNum = 1;
213
+ this.getList();
214
+ },
215
+ /** 重置按钮操作 */
216
+ resetQuery() {
217
+ this.resetForm("queryForm");
218
+ this.handleQuery();
219
+ },
220
+ // 多选框选中数据
221
+ handleSelectionChange(selection) {
222
+ this.ids = selection.map((item) => item.contractDisputeId);
223
+ this.single = selection.length !== 1;
224
+ this.multiple = !selection.length;
225
+ },
226
+ /** 新增按钮操作 */
227
+ handleAdd() {
228
+ this.reset();
229
+ this.open = true;
230
+ this.form.contractId = this.contractId;
231
+ this.form.disputeType = "normal";
232
+ this.title = "添加合同争议";
233
+ },
234
+ /** 修改按钮操作 */
235
+ handleUpdate(row) {
236
+ this.reset();
237
+ const contractDisputeId = row.contractDisputeId || this.ids;
238
+ getBizContractDispute(contractDisputeId).then((response) => {
239
+ this.form = response.data;
240
+ this.form?.pictures?.forEach((element) => {
241
+ element.name = element.fileName;
242
+ element.path = element.fileFullPath;
243
+ element.url = element.generateUrl;
244
+ });
245
+ this.open = true;
246
+ this.title = "修改合同争议";
247
+ });
248
+ },
249
+ /** 提交按钮 */
250
+ submitForm() {
251
+ this.$refs["form"].validate((valid) => {
252
+ if (valid) {
253
+ if (this.form.contractDisputeId != null) {
254
+ updateBizContractDispute(this.form).then((response) => {
255
+ this.$modal.msgSuccess("修改成功");
256
+ this.open = false;
257
+ this.getList();
258
+ });
259
+ } else {
260
+ addBizContractDispute(this.form).then((response) => {
261
+ this.$modal.msgSuccess("新增成功");
262
+ this.open = false;
263
+ updateBizContract({
264
+ contractId: this.form.contractId,
265
+ contractStatus: "pending_processing",
266
+ });
267
+ this.getList();
268
+ });
269
+ }
270
+ }
271
+ });
272
+ },
273
+ /** 删除按钮操作 */
274
+ handleDelete(row) {
275
+ const contractDisputeIds = row.contractDisputeId || this.ids;
276
+ this.$modal
277
+ .confirm(
278
+ '是否确认删除合同争议编号为"' + contractDisputeIds + '"的数据项?'
279
+ )
280
+ .then(function () {
281
+ return delBizContractDispute(contractDisputeIds);
282
+ })
283
+ .then(() => {
284
+ this.getList();
285
+ this.$modal.msgSuccess("删除成功");
286
+ })
287
+ .catch(() => {});
288
+ },
289
+ //处理完成
290
+ handleComplete(row) {
291
+ this.form.contractDisputeId = row.contractDisputeId;
292
+ this.form.disputeState = true;
293
+ updateBizContractDispute(this.form).then((response) => {
294
+ this.$modal.msgSuccess("修改成功");
295
+ this.open = false;
296
+ this.getList();
297
+ });
298
+ },
299
+ /** 导出按钮操作 */
300
+ handleExport() {
301
+ this.download(
302
+ "biz/contract/dispute/export",
303
+ {
304
+ ...this.queryParams,
305
+ },
306
+ `bizContractDispute_${new Date().getTime()}.xlsx`
307
+ );
308
+ },
309
+ },
310
+ };
311
+ </script>
@@ -0,0 +1,205 @@
1
+ <template>
2
+ <div>
3
+ <el-row :gutter="5" v-if="this.form.contractType == 'purchase'">
4
+ <el-col :span="12">
5
+ <el-container style="height: 1200px">
6
+ <el-main>
7
+ <contract-by-no
8
+ :contractNo="form.contractNo"
9
+ :portDictList="portDictList"
10
+ :countryDictList="countryDictList"
11
+ ></contract-by-no>
12
+ </el-main>
13
+ </el-container>
14
+ </el-col>
15
+
16
+ <el-col :span="12">
17
+ <el-container style="height: 1200px">
18
+ <el-main>
19
+ <div
20
+ v-for="item in form.purchaseContractNos || form.saleContractNos"
21
+ :key="item"
22
+ >
23
+ <contract-by-no
24
+ v-if="item"
25
+ :contractNo="item"
26
+ :portDictList="portDictList"
27
+ :countryDictList="countryDictList"
28
+ ></contract-by-no>
29
+ </div>
30
+ </el-main>
31
+ </el-container>
32
+ </el-col>
33
+ </el-row>
34
+ <el-row :gutter="5" v-else>
35
+ <el-col :span="12">
36
+ <el-container style="height: 1200px">
37
+ <el-main>
38
+ <div
39
+ v-for="item in form.purchaseContractNos || form.saleContractNos"
40
+ :key="item"
41
+ >
42
+ <contract-by-no
43
+ v-if="item"
44
+ :contractNo="item"
45
+ :portDictList="portDictList"
46
+ :countryDictList="countryDictList"
47
+ ></contract-by-no>
48
+ </div>
49
+ </el-main>
50
+ </el-container>
51
+ </el-col>
52
+
53
+ <el-col :span="12">
54
+ <el-container style="height: 1200px">
55
+ <el-main>
56
+ <contract-by-no
57
+ :contractNo="form.contractNo"
58
+ :portDictList="portDictList"
59
+ :countryDictList="countryDictList"
60
+ ></contract-by-no>
61
+ </el-main>
62
+ </el-container>
63
+ </el-col>
64
+ </el-row>
65
+ </div>
66
+ </template>
67
+
68
+ <script>
69
+ import {
70
+ getBizContract,
71
+ listBizContract,
72
+ associationContract,
73
+ getBizContractByNo,
74
+ } from "../../../api/biz/bizContract";
75
+
76
+ import ContractByNo from "./contract";
77
+ import { portDictList, listDictData } from "../../../api/biz/dictData";
78
+
79
+ export default {
80
+ name: "ContractEdit",
81
+ components: { ContractByNo },
82
+ data() {
83
+ return {
84
+ // 遮罩层
85
+ loading: true,
86
+ // 弹出层标题
87
+ title: "",
88
+ // 是否显示弹出层
89
+ open: false,
90
+ // 表单参数
91
+ form: {},
92
+ //港口数据列表
93
+ portDictList: [],
94
+ //国家数据李北奥
95
+ countryDictList: [],
96
+ };
97
+ },
98
+ created() {
99
+ const contractNo = this.$route.params && this.$route.params.contractNo;
100
+ this.getBizContractByNo(contractNo);
101
+ this.getPortDictList();
102
+ this.getCountryDictList();
103
+ },
104
+ methods: {
105
+ //获取国家数据列表
106
+ getCountryDictList() {
107
+ const dictData = {
108
+ dictType: "Country",
109
+ pageNum: 1,
110
+ pageSize: 999,
111
+ orderByColumn: "dictValue",
112
+ isAsc: "asc",
113
+ };
114
+ listDictData(dictData).then((response) => {
115
+ this.countryDictList = response.rows;
116
+ });
117
+ },
118
+ //获取港口数据列表
119
+ getPortDictList() {
120
+ portDictList().then((response) => {
121
+ this.portDictList = response.rows;
122
+ });
123
+ },
124
+ getBizContractByNo(contractNo) {
125
+ this.reset();
126
+ getBizContractByNo(contractNo).then((response) => {
127
+ this.form = response.data;
128
+ });
129
+ },
130
+ // 表单重置
131
+ reset() {
132
+ this.form = {
133
+ contractId: null,
134
+ transactionId: null,
135
+ dealId: null,
136
+ askId: null,
137
+ askName: null,
138
+ contractNo: null,
139
+ contractType: null,
140
+ quoteType: null,
141
+ currency: null,
142
+ buyerAccountId: null,
143
+ buyCompanyId: null,
144
+ buyContractCompanyId: null,
145
+ buyCompanyName: null,
146
+ buyCompanyNameEn: null,
147
+ buyCompanyAddress: null,
148
+ supplierAccountId: null,
149
+ supplierCompanyId: null,
150
+ supplierContractCompanyId: null,
151
+ supplierCompanyName: null,
152
+ supplierCompanyNameEn: null,
153
+ supplierCompanyAddress: null,
154
+ totalWeight: null,
155
+ serviceFee: null,
156
+ serviceFeeSwitch: null,
157
+ freightTerms: null,
158
+ deposit: null,
159
+ depositDays: null,
160
+ balance: null,
161
+ balanceDays: null,
162
+ balancePaymentType: null,
163
+ balancePaymentForm: null,
164
+ loadingCountry: null,
165
+ originCountry: null,
166
+ destination: null,
167
+ numberOfContainersForTwenty: null,
168
+ numberOfContainersForForty: null,
169
+ numberOfContainersForTwentyOrForty: null,
170
+ toleranceFloat: null,
171
+ weightTolerance: null,
172
+ latestShipment: null,
173
+ livePriceSwitch: null,
174
+ livePriceDays: null,
175
+ livePriceForm: null,
176
+ livePriceUsertype: null,
177
+ requiredDocuments: null,
178
+ qualityCertificate: null,
179
+ qualityCertificateSwitch: null,
180
+ claim: null,
181
+ claimSwitch: null,
182
+ arbitration: null,
183
+ arbitrationSwitch: null,
184
+ memo: null,
185
+ memoSwitch: null,
186
+ contractState: null,
187
+ invoiceState: null,
188
+ remark: null,
189
+ imported: null,
190
+ submitFlag: null,
191
+ createTime: null,
192
+ updateTime: null,
193
+ completionTime: null,
194
+ dealTime: null,
195
+ contractStatus: "0",
196
+ contractFlag: null,
197
+ submitEndTime: null,
198
+ saleContractNos: null,
199
+ purchaseContractNos: null,
200
+ };
201
+ this.resetForm("form");
202
+ },
203
+ },
204
+ };
205
+ </script>