doctor-admin-components 1.0.13-beta.9 → 1.0.13-beta.90

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 (56) hide show
  1. package/README.md +28 -9
  2. package/package.json +1 -1
  3. package/packages/index.js +10 -0
  4. package/packages/src/api/biz/bizContract.js +996 -1
  5. package/packages/src/api/biz/bizContractCompany.js +1 -1
  6. package/packages/src/api/biz/bizFileInfo.js +16 -0
  7. package/packages/src/api/biz/bizInvoice.js +1 -1
  8. package/packages/src/api/biz/bizShipment.js +18 -0
  9. package/packages/src/assets/images/click-show-table.png +0 -0
  10. package/packages/src/assets/images/more.png +0 -0
  11. package/packages/src/assets/images/pdf-new.png +0 -0
  12. package/packages/src/components/DictTag/index.vue +12 -2
  13. package/packages/src/components/FileUpload/contract-drag-new.vue +99 -10
  14. package/packages/src/i18n/en/message.json +305 -0
  15. package/packages/src/i18n/index.js +38 -0
  16. package/packages/src/i18n/zh-CN/message.json +305 -0
  17. package/packages/src/index.js +13 -1
  18. package/packages/src/utils/index.js +35 -0
  19. package/packages/src/utils/request.js +120 -146
  20. package/packages/src/views/biz/bizFileInfo/PAYMENT_VOUCHER(/"payment_voucher/", /"/344/273/230/346/254/276/345/207/255/350/257/201.ini" +222 -0
  21. package/packages/src/views/biz/bizFileInfo/contract copy.vue +1711 -0
  22. package/packages/src/views/biz/bizFileInfo/contract.vue +1781 -986
  23. package/packages/src/views/biz/bizFileInfo/contractFile/BillOfLadingNoTab.vue +114 -0
  24. package/packages/src/views/biz/bizFileInfo/contractFile/ContentTitle.vue +102 -0
  25. package/packages/src/views/biz/bizFileInfo/contractFile/IMGPreviewCheckBox.vue +308 -0
  26. package/packages/src/views/biz/bizFileInfo/contractFile/Progress.vue +85 -0
  27. package/packages/src/views/biz/bizFileInfo/contractFile/ProgressDetail.vue +123 -0
  28. package/packages/src/views/biz/bizFileInfo/contractFile/SectionSlot.vue +83 -0
  29. package/packages/src/views/biz/bizFileInfo/contractFile/ShowAndHide.vue +178 -0
  30. package/packages/src/views/biz/bizFileInfo/fileShow copy.vue +321 -0
  31. package/packages/src/views/biz/bizFileInfo/fileShow.vue +143 -47
  32. package/packages/src/views/biz/bizFileInfo/fileShowClaim.vue +1 -1
  33. package/packages/src/views/biz/bizShipment/add.vue +223 -75
  34. package/packages/src/views/biz/bizShipment/referenceAlert.vue +168 -0
  35. package/packages/src/views/biz/contractTracing/addSubCompany.vue +106 -169
  36. package/packages/src/views/biz/contractTracing/billInfo.vue +191 -332
  37. package/packages/src/views/biz/contractTracing/companyBanks.vue +228 -0
  38. package/packages/src/views/biz/contractTracing/contractInfo.vue +1 -1
  39. package/packages/src/views/biz/contractTracing/contractPdf.vue +7 -4
  40. package/packages/src/views/biz/contractTracing/contractSummary.vue +20 -7
  41. package/packages/src/views/biz/contractTracing/contractTracingDetail copy.vue +107 -0
  42. package/packages/src/views/biz/contractTracing/contractTracingDetail.vue +229 -9
  43. package/packages/src/views/biz/contractTracing/editBill.vue +236 -363
  44. package/packages/src/views/biz/contractTracing/purchaseInvoiceUpload.vue +153 -7
  45. package/packages/src/views/biz/contractTracing/shipmentPurchaseAmount.vue +8 -2
  46. package/packages/src/views/biz/contractTracing/subCompanyDialog.vue +202 -176
  47. package/packages/src/views/components/RegionPicker/Distpicker.vue +459 -0
  48. package/packages/src/views/components/RegionPicker/districts.js +4641 -0
  49. package/packages/src/views/test.vue +3 -3
  50. package/packages/src/views/biz/contractTracing/association.vue +0 -189
  51. package/packages/src/views/biz/contractTracing/chargingDialog.vue +0 -84
  52. package/packages/src/views/biz/contractTracing/contract.vue +0 -1276
  53. package/packages/src/views/biz/contractTracing/disputeRecord.vue +0 -311
  54. package/packages/src/views/biz/contractTracing/edit.vue +0 -205
  55. package/packages/src/views/biz/contractTracing/sendDrafEmail.vue +0 -120
  56. package/packages/src/views/biz/contractTracing/shipment.vue +0 -601
@@ -2,14 +2,63 @@
2
2
  * @Author: zhangpengwei 15038779532@163.com
3
3
  * @Date: 2023-07-20 17:13:54
4
4
  * @LastEditors: zhangpengwei@1338418459736990.onaliyun.com zhangpengwei@1338418459736990.onaliyun.com
5
- * @LastEditTime: 2024-01-19 13:54:56
5
+ * @LastEditTime: 2024-05-08 14:21:04
6
6
  * @FilePath: /recycle-vue-ui再生博士后台管理/src/views/biz/contractTracing/contractTracingDetail.vue
7
7
  * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
8
8
  -->
9
9
  <template>
10
10
  <div class="app-container">
11
- <div style="position: relative">
12
- <el-tabs v-model="activeName" type="card" @tab-click="handleClick">
11
+ <div class="app-container-container">
12
+ <div class="app-container-left">
13
+ <div class="contract-number">
14
+ <div>{{$t('contractDetail.Contract_No')}}</div>
15
+ <div>{{ contract.contractNo }}</div>
16
+ </div>
17
+ <div class="contract-number">
18
+ <div>{{$t('contractDetail.Reference_No')}}</div>
19
+ <div>{{ contract.reference || '--' }}</div>
20
+ </div>
21
+ <div class="tab-root">
22
+ <div :class="['tab', activeName == tabsItem.name ? 'active' : '']" v-for="tabsItem in saleTabsArr" :key="tabsItem.id" @click="changeTabs(tabsItem)">
23
+ {{ tabsItem.label }}
24
+ </div>
25
+ </div>
26
+ <div>
27
+ <!-- 选择项 -->
28
+ <div class="selection-root">
29
+ <span>{{ $t('contractDetail.Selected') }} {{ selectFileList.length }} {{ $t('contractDetail.item') }}</span>
30
+ <div class="border-button" @click.stop="downLoadAll">{{ $t('contractDetail.Download_All') }}</div>
31
+ <div class="border-button" @click.stop="deleteAll">{{$t('contractDetail.Delete_All')}}</div>
32
+ <div class="border-button" @click.stop="cancelAll">{{ $t('contractDetail.Deselect') }}</div>
33
+ </div>
34
+ </div>
35
+ </div>
36
+ <div class="app-container-right">
37
+ <contract-summary v-if="activeName == 'first'" :channel="channel"></contract-summary>
38
+ <contract-info v-if="activeName == 'second'" :channel="channel"></contract-info>
39
+ <!-- 提单指令 -->
40
+ <div v-if="activeName == 'third'">
41
+ <!-- 标题分栏 -->
42
+ <el-tabs v-model="activeBillIndex">
43
+ <el-tab-pane v-for="(bill, i) in blList" :key="i" :label="contract.contractNo+' 提单指令'" :name="i.toString()">
44
+ <bill-info @refresh="getBlList" :contract="contract" :billData="bill" :channel="channel"></bill-info>
45
+ </el-tab-pane>
46
+ </el-tabs>
47
+ </div>
48
+
49
+ <contract-file
50
+ v-if="activeName == 'fourth' && contract.contractType"
51
+ :contract="contract"
52
+ :channel="channel"
53
+ :buyerFlag="buyerFlag"
54
+ :selectFileListProp="selectFileList"
55
+ ref="contractFileRef"
56
+ ></contract-file>
57
+
58
+ </div>
59
+ </div>
60
+ <!-- <div style="position: relative">
61
+ <el-tabs tabPosition="left" v-model="activeName" type="card" @tab-click="handleClick">
13
62
  <el-tab-pane :label="$t('contractDetail.summary')" name="first">
14
63
  <contract-summary v-if="activeName == 'first'" :channel="channel"></contract-summary>
15
64
  </el-tab-pane>
@@ -33,10 +82,10 @@
33
82
  :buyerFlag="buyerFlag"
34
83
  ></contract-file>
35
84
  </el-tab-pane>
36
- </el-tabs>
85
+ </el-tabs> -->
37
86
 
38
87
  <!-- 这里添加合同编号的显示 -->
39
- <div
88
+ <!-- <div
40
89
  style="
41
90
  position: absolute;
42
91
  right: 10px;
@@ -45,16 +94,17 @@
45
94
  font-weight: bold;
46
95
  "
47
96
  >{{$t('contractDetail.Contract_No')}}:{{ contract.contractNo }}</div>
48
- </div>
97
+ </div> -->
49
98
  </div>
50
99
  </template>
51
100
 
52
101
  <script>
53
- import { getBizContract } from '../../../api/biz/bizContract';
102
+ import { getBizContract, getContractBlList } from '../../../api/biz/bizContract';
54
103
  import ContractSummary from './contractSummary.vue';
55
104
  import BillInfo from './billInfo.vue';
56
105
  import ContractFile from '../bizFileInfo/contract.vue';
57
106
  import ContractInfo from './contractInfo.vue';
107
+ import { delBizFileInfo } from '../../../api/biz/bizFileInfo';
58
108
 
59
109
  export default {
60
110
  name: 'ContractTracingDetail',
@@ -73,20 +123,104 @@ export default {
73
123
  activeName: 'first',
74
124
  contract: {},
75
125
  buyerFlag: true,
126
+ saleTabsArr:[{
127
+ label: this.$t('contractDetail.summary'),
128
+ name: 'first',
129
+ id:0
130
+ },{
131
+ label: this.$t('contractDetail.info'),
132
+ name: 'second',
133
+ id:1
134
+ },{
135
+ label: this.$t('contractDetail.blInfo'),
136
+ name: 'third',
137
+ id:2
138
+ },{
139
+ label: this.$t('contractDetail.fileManage'),
140
+ name: 'fourth',
141
+ id:3
142
+ }],
143
+ purchaseTabsArr:[{
144
+ label: this.$t('contractDetail.summary'),
145
+ name: 'first',
146
+ id:0
147
+ },{
148
+ label: this.$t('contractDetail.info'),
149
+ name: 'second',
150
+ id:1
151
+ },{
152
+ label: this.$t('contractDetail.fileManage'),
153
+ name: 'fourth',
154
+ id:2
155
+ }],
156
+
157
+ selectFileList: [],
158
+ // 提单指令列表
159
+ blList: null,
160
+ activeBillIndex: null,
76
161
  };
77
162
  },
78
- computed: {},
163
+ computed: {
164
+
165
+ },
79
166
  watch: {},
80
167
  created() {
81
168
  const contractId = this.$route.params && this.$route.params.contractId;
82
169
  this.getContract(contractId);
83
170
  const activeName = this.$route.query && this.$route.query.activeName;
84
171
  this.activeName = activeName || 'first';
172
+ // this.activeName = 'fourth'
85
173
  localStorage.setItem('contractDetail', location.href);
86
174
  location.href;
87
175
  },
88
176
  mounted() {},
89
177
  methods: {
178
+ /**
179
+ * @description: 取消全部选择
180
+ * @return {*}
181
+ */
182
+ cancelAll () {
183
+ this.$refs.contractFileRef.cancelAllSelectFileList()
184
+ },
185
+
186
+ /**
187
+ * @description: 全部下载
188
+ * @return {*}
189
+ */
190
+ downLoadAll() {
191
+ if(this.selectFileList.length == 0) {
192
+ return this.$message.warning(this.$t('contractDetail.please_select_file'))
193
+ }
194
+ this.$refs.contractFileRef.downloadZip()
195
+ },
196
+ deleteAll() {
197
+ console.log('==delBizFileInfo==',this.selectFileList);
198
+ if(this.selectFileList.length == 0) {
199
+ return this.$message.warning(this.$t('contractDetail.please_select_file'))
200
+ }
201
+
202
+ this.$confirm('是否删除选中文件', '提示', {
203
+ confirmButtonText: '确定',
204
+ cancelButtonText: '取消',
205
+ type: 'warning',
206
+ }).then(() => {
207
+ const ids = this.selectFileList.map(item => item.fileId)
208
+ delBizFileInfo(ids).then(() => {
209
+ this.$message.success('删除成功')
210
+ this.$refs.contractFileRef.handleRefresh()
211
+ })
212
+ }).catch(() => {
213
+ this.$message.info('已取消删除')
214
+ })
215
+ },
216
+ /**
217
+ * @description: 切换tab
218
+ * @param {*} tab
219
+ * @return {*}
220
+ */
221
+ changeTabs(tab) {
222
+ this.activeName = tab.name;
223
+ },
90
224
  getContract(contractId) {
91
225
  getBizContract(contractId).then((res) => {
92
226
  this.contract = res.data;
@@ -95,8 +229,21 @@ export default {
95
229
  this.buyerFlag = this.contract?.contractNo
96
230
  ?.toLowerCase()
97
231
  ?.includes('arp');
232
+ // 获取提单指令
233
+ this.getBlList()
98
234
  });
99
235
  },
236
+ getBlList() {
237
+ const contractId = this.$route.params && this.$route.params.contractId;
238
+ getContractBlList(contractId).then((res) => {
239
+ this.blList = res.rows
240
+ // 默认选中第一个
241
+ if (!this.activeBillIndex) {
242
+ this.activeBillIndex = '0'
243
+ }
244
+ })
245
+ },
246
+
100
247
  handleClick(tab, event) {
101
248
  console.log(tab, event);
102
249
  },
@@ -104,4 +251,77 @@ export default {
104
251
  };
105
252
  </script>
106
253
 
107
- <style scoped lang="scss"></style>
254
+ <style scoped lang="scss">
255
+ .app-container {
256
+ .app-container-container {
257
+ display: flex;
258
+ height: calc(100vh - 126px);
259
+ .app-container-left {
260
+ width: 141px;
261
+ height: 100%;
262
+ margin-right:10px;
263
+ background-color: #D9DFE8;
264
+ .contract-number {
265
+ font-size: 12px;
266
+ font-weight: normal;
267
+ color: #000000;
268
+ line-height: 14px;
269
+ text-align:left;
270
+ padding: 10px 0 0 15px;
271
+ }
272
+ .tab-root {
273
+ margin-top:40px;
274
+ display:flex;
275
+ flex-direction: column;
276
+ align-items: flex-end;
277
+ .tab {
278
+ height: 48px;
279
+ font-size: 14px;
280
+ font-weight: normal;
281
+ color: #000;
282
+ line-height: 48px;
283
+ text-align:right;
284
+ width:max-content;
285
+ padding:0 20px;
286
+ box-sizing: border-box;
287
+ }
288
+ .active {
289
+ background: #EFF5FF;
290
+ border-radius: 5px 0px 0px 5px;
291
+ color:#009444;
292
+ }
293
+
294
+ }
295
+ }
296
+ .app-container-right {
297
+ flex:1;
298
+ height: 100%;
299
+ overflow:auto;
300
+
301
+ }
302
+ }
303
+ }
304
+
305
+ .selection-root {
306
+ margin-top: 26px;
307
+ display:flex;
308
+ flex-direction: column;
309
+ justify-content: center;
310
+ align-items: center;
311
+ margin-bottom: 20px;
312
+ }
313
+
314
+ .border-button {
315
+ margin-top:10px;
316
+ padding: 0 10px;
317
+ width: max-content;
318
+ height: 21px;
319
+ text-align: center;
320
+ line-height: 17px;
321
+ background: #FFFFFF;
322
+ border-radius: 11px;
323
+ font-size: 12px;
324
+ border: 2px solid #D1D3D4;
325
+ cursor: pointer;
326
+ }
327
+ </style>