doctor-admin-components 1.0.13-beta.7 → 1.0.13-beta.70

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 (50) hide show
  1. package/README.md +18 -7
  2. package/package.json +1 -1
  3. package/packages/index.js +7 -0
  4. package/packages/src/api/biz/bizContract.js +980 -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/assets/images/click-show-table.png +0 -0
  9. package/packages/src/assets/images/more.png +0 -0
  10. package/packages/src/assets/images/pdf-new.png +0 -0
  11. package/packages/src/components/FileUpload/contract-drag-new.vue +99 -10
  12. package/packages/src/i18n/en/message.json +297 -0
  13. package/packages/src/i18n/index.js +38 -0
  14. package/packages/src/i18n/zh-CN/message.json +297 -0
  15. package/packages/src/index.js +6 -0
  16. package/packages/src/utils/index.js +35 -0
  17. package/packages/src/utils/request.js +120 -146
  18. 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
  19. package/packages/src/views/biz/bizFileInfo/contract copy.vue +1711 -0
  20. package/packages/src/views/biz/bizFileInfo/contract.vue +1676 -998
  21. package/packages/src/views/biz/bizFileInfo/contractFile/BillOfLadingNoTab.vue +114 -0
  22. package/packages/src/views/biz/bizFileInfo/contractFile/ContentTitle.vue +102 -0
  23. package/packages/src/views/biz/bizFileInfo/contractFile/IMGPreviewCheckBox.vue +308 -0
  24. package/packages/src/views/biz/bizFileInfo/contractFile/Progress.vue +85 -0
  25. package/packages/src/views/biz/bizFileInfo/contractFile/ProgressDetail.vue +122 -0
  26. package/packages/src/views/biz/bizFileInfo/contractFile/SectionSlot.vue +83 -0
  27. package/packages/src/views/biz/bizFileInfo/contractFile/ShowAndHide.vue +178 -0
  28. package/packages/src/views/biz/bizFileInfo/fileShow copy.vue +321 -0
  29. package/packages/src/views/biz/bizFileInfo/fileShow.vue +131 -46
  30. package/packages/src/views/biz/bizFileInfo/fileShowClaim.vue +1 -1
  31. package/packages/src/views/biz/bizShipment/add.vue +126 -61
  32. package/packages/src/views/biz/contractTracing/addSubCompany.vue +106 -169
  33. package/packages/src/views/biz/contractTracing/billInfo.vue +150 -315
  34. package/packages/src/views/biz/contractTracing/companyBanks.vue +228 -0
  35. package/packages/src/views/biz/contractTracing/contractPdf.vue +5 -3
  36. package/packages/src/views/biz/contractTracing/contractSummary.vue +286 -629
  37. package/packages/src/views/biz/contractTracing/contractTracingDetail copy.vue +107 -0
  38. package/packages/src/views/biz/contractTracing/contractTracingDetail.vue +204 -7
  39. package/packages/src/views/biz/contractTracing/editBill.vue +219 -359
  40. package/packages/src/views/biz/contractTracing/purchaseInvoiceUpload.vue +153 -7
  41. package/packages/src/views/biz/contractTracing/shipmentPurchaseAmount.vue +8 -2
  42. package/packages/src/views/biz/contractTracing/subCompanyDialog.vue +202 -176
  43. package/packages/src/views/test.vue +3 -3
  44. package/packages/src/views/biz/contractTracing/association.vue +0 -189
  45. package/packages/src/views/biz/contractTracing/chargingDialog.vue +0 -84
  46. package/packages/src/views/biz/contractTracing/contract.vue +0 -1276
  47. package/packages/src/views/biz/contractTracing/disputeRecord.vue +0 -311
  48. package/packages/src/views/biz/contractTracing/edit.vue +0 -205
  49. package/packages/src/views/biz/contractTracing/sendDrafEmail.vue +0 -120
  50. package/packages/src/views/biz/contractTracing/shipment.vue +0 -601
@@ -0,0 +1,107 @@
1
+ <!--
2
+ * @Author: zhangpengwei 15038779532@163.com
3
+ * @Date: 2023-07-20 17:13:54
4
+ * @LastEditors: zhangpengwei@1338418459736990.onaliyun.com zhangpengwei@1338418459736990.onaliyun.com
5
+ * @LastEditTime: 2024-01-19 13:54:56
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
+ <div style="position: relative">
12
+ <el-tabs v-model="activeName" type="card" @tab-click="handleClick">
13
+ <el-tab-pane :label="$t('contractDetail.summary')" name="first">
14
+ <contract-summary v-if="activeName == 'first'" :channel="channel"></contract-summary>
15
+ </el-tab-pane>
16
+ <el-tab-pane :label="$t('contractDetail.info')" name="second">
17
+ <contract-info v-if="activeName == 'second'" :channel="channel"></contract-info>
18
+ </el-tab-pane>
19
+ <el-tab-pane
20
+ v-if="contract.contractType == 'sale'"
21
+ :label="$t('contractDetail.blInfo')"
22
+ name="third"
23
+ >
24
+ <bill-info :contract="contract" v-if="activeName == 'third'"
25
+ :channel="channel"
26
+ ></bill-info>
27
+ </el-tab-pane>
28
+ <el-tab-pane :label="$t('contractDetail.fileManage')" name="fourth">
29
+ <contract-file
30
+ v-if="activeName == 'fourth'"
31
+ :contract="contract"
32
+ :channel="channel"
33
+ :buyerFlag="buyerFlag"
34
+ ></contract-file>
35
+ </el-tab-pane>
36
+ </el-tabs>
37
+
38
+ <!-- 这里添加合同编号的显示 -->
39
+ <div
40
+ style="
41
+ position: absolute;
42
+ right: 10px;
43
+ top: 5px;
44
+ margin-top: 10px;
45
+ font-weight: bold;
46
+ "
47
+ >{{$t('contractDetail.Contract_No')}}:{{ contract.contractNo }}</div>
48
+ </div>
49
+ </div>
50
+ </template>
51
+
52
+ <script>
53
+ import { getBizContract } from '../../../api/biz/bizContract';
54
+ import ContractSummary from './contractSummary.vue';
55
+ import BillInfo from './billInfo.vue';
56
+ import ContractFile from '../bizFileInfo/contract.vue';
57
+ import ContractInfo from './contractInfo.vue';
58
+
59
+ export default {
60
+ name: 'ContractTracingDetail',
61
+ mixins: [],
62
+ components: {
63
+ ContractSummary,
64
+ BillInfo,
65
+ ContractFile,
66
+ ContractInfo,
67
+ },
68
+ props: {
69
+ channel: '',
70
+ },
71
+ data() {
72
+ return {
73
+ activeName: 'first',
74
+ contract: {},
75
+ buyerFlag: true,
76
+ };
77
+ },
78
+ computed: {},
79
+ watch: {},
80
+ created() {
81
+ const contractId = this.$route.params && this.$route.params.contractId;
82
+ this.getContract(contractId);
83
+ const activeName = this.$route.query && this.$route.query.activeName;
84
+ this.activeName = activeName || 'first';
85
+ localStorage.setItem('contractDetail', location.href);
86
+ location.href;
87
+ },
88
+ mounted() {},
89
+ methods: {
90
+ getContract(contractId) {
91
+ getBizContract(contractId).then((res) => {
92
+ this.contract = res.data;
93
+ // Debit note是给卖家的,要放在 ARS 下
94
+ // Credit note是给买家的,要放在 ARP 下
95
+ this.buyerFlag = this.contract?.contractNo
96
+ ?.toLowerCase()
97
+ ?.includes('arp');
98
+ });
99
+ },
100
+ handleClick(tab, event) {
101
+ console.log(tab, event);
102
+ },
103
+ },
104
+ };
105
+ </script>
106
+
107
+ <style scoped lang="scss"></style>
@@ -2,14 +2,58 @@
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 (contract.contractType == 'sale' ? saleTabsArr : purchaseTabsArr) " :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
+ <bill-info :contract="contract" v-if="activeName == 'third'"
41
+ :channel="channel"
42
+ ></bill-info>
43
+
44
+ <contract-file
45
+ v-if="activeName == 'fourth' && contract.contractType"
46
+ :contract="contract"
47
+ :channel="channel"
48
+ :buyerFlag="buyerFlag"
49
+ :selectFileListProp="selectFileList"
50
+ ref="contractFileRef"
51
+ ></contract-file>
52
+
53
+ </div>
54
+ </div>
55
+ <!-- <div style="position: relative">
56
+ <el-tabs tabPosition="left" v-model="activeName" type="card" @tab-click="handleClick">
13
57
  <el-tab-pane :label="$t('contractDetail.summary')" name="first">
14
58
  <contract-summary v-if="activeName == 'first'" :channel="channel"></contract-summary>
15
59
  </el-tab-pane>
@@ -33,10 +77,10 @@
33
77
  :buyerFlag="buyerFlag"
34
78
  ></contract-file>
35
79
  </el-tab-pane>
36
- </el-tabs>
80
+ </el-tabs> -->
37
81
 
38
82
  <!-- 这里添加合同编号的显示 -->
39
- <div
83
+ <!-- <div
40
84
  style="
41
85
  position: absolute;
42
86
  right: 10px;
@@ -45,7 +89,7 @@
45
89
  font-weight: bold;
46
90
  "
47
91
  >{{$t('contractDetail.Contract_No')}}:{{ contract.contractNo }}</div>
48
- </div>
92
+ </div> -->
49
93
  </div>
50
94
  </template>
51
95
 
@@ -55,6 +99,7 @@ import ContractSummary from './contractSummary.vue';
55
99
  import BillInfo from './billInfo.vue';
56
100
  import ContractFile from '../bizFileInfo/contract.vue';
57
101
  import ContractInfo from './contractInfo.vue';
102
+ import { delBizFileInfo } from '../../../api/biz/bizFileInfo';
58
103
 
59
104
  export default {
60
105
  name: 'ContractTracingDetail',
@@ -73,6 +118,38 @@ export default {
73
118
  activeName: 'first',
74
119
  contract: {},
75
120
  buyerFlag: true,
121
+ saleTabsArr:[{
122
+ label: this.$t('contractDetail.summary'),
123
+ name: 'first',
124
+ id:0
125
+ },{
126
+ label: this.$t('contractDetail.info'),
127
+ name: 'second',
128
+ id:1
129
+ },{
130
+ label: this.$t('contractDetail.blInfo'),
131
+ name: 'third',
132
+ id:2
133
+ },{
134
+ label: this.$t('contractDetail.fileManage'),
135
+ name: 'fourth',
136
+ id:3
137
+ }],
138
+ purchaseTabsArr:[{
139
+ label: this.$t('contractDetail.summary'),
140
+ name: 'first',
141
+ id:0
142
+ },{
143
+ label: this.$t('contractDetail.info'),
144
+ name: 'second',
145
+ id:1
146
+ },{
147
+ label: this.$t('contractDetail.fileManage'),
148
+ name: 'fourth',
149
+ id:2
150
+ }],
151
+
152
+ selectFileList: [],
76
153
  };
77
154
  },
78
155
  computed: {},
@@ -82,11 +159,58 @@ export default {
82
159
  this.getContract(contractId);
83
160
  const activeName = this.$route.query && this.$route.query.activeName;
84
161
  this.activeName = activeName || 'first';
162
+ // this.activeName = 'fourth'
85
163
  localStorage.setItem('contractDetail', location.href);
86
164
  location.href;
87
165
  },
88
166
  mounted() {},
89
167
  methods: {
168
+ /**
169
+ * @description: 取消全部选择
170
+ * @return {*}
171
+ */
172
+ cancelAll () {
173
+ this.$refs.contractFileRef.cancelAllSelectFileList()
174
+ },
175
+
176
+ /**
177
+ * @description: 全部下载
178
+ * @return {*}
179
+ */
180
+ downLoadAll() {
181
+ if(this.selectFileList.length == 0) {
182
+ return this.$message.warning(this.$t('contractDetail.please_select_file'))
183
+ }
184
+ this.$refs.contractFileRef.downloadZip()
185
+ },
186
+ deleteAll() {
187
+ console.log('==delBizFileInfo==',this.selectFileList);
188
+ if(this.selectFileList.length == 0) {
189
+ return this.$message.warning(this.$t('contractDetail.please_select_file'))
190
+ }
191
+
192
+ this.$confirm('是否删除选中文件', '提示', {
193
+ confirmButtonText: '确定',
194
+ cancelButtonText: '取消',
195
+ type: 'warning',
196
+ }).then(() => {
197
+ const ids = this.selectFileList.map(item => item.fileId)
198
+ delBizFileInfo(ids).then(() => {
199
+ this.$message.success('删除成功')
200
+ this.$refs.contractFileRef.handleRefresh()
201
+ })
202
+ }).catch(() => {
203
+ this.$message.info('已取消删除')
204
+ })
205
+ },
206
+ /**
207
+ * @description: 切换tab
208
+ * @param {*} tab
209
+ * @return {*}
210
+ */
211
+ changeTabs(tab) {
212
+ this.activeName = tab.name;
213
+ },
90
214
  getContract(contractId) {
91
215
  getBizContract(contractId).then((res) => {
92
216
  this.contract = res.data;
@@ -104,4 +228,77 @@ export default {
104
228
  };
105
229
  </script>
106
230
 
107
- <style scoped lang="scss"></style>
231
+ <style scoped lang="scss">
232
+ .app-container {
233
+ .app-container-container {
234
+ display: flex;
235
+ height: calc(100vh - 126px);
236
+ .app-container-left {
237
+ width: 141px;
238
+ height: 100%;
239
+ margin-right:10px;
240
+ background-color: #D9DFE8;
241
+ .contract-number {
242
+ font-size: 12px;
243
+ font-weight: normal;
244
+ color: #000000;
245
+ line-height: 14px;
246
+ text-align:left;
247
+ padding: 10px 0 0 15px;
248
+ }
249
+ .tab-root {
250
+ margin-top:40px;
251
+ display:flex;
252
+ flex-direction: column;
253
+ align-items: flex-end;
254
+ .tab {
255
+ height: 48px;
256
+ font-size: 14px;
257
+ font-weight: normal;
258
+ color: #000;
259
+ line-height: 48px;
260
+ text-align:right;
261
+ width:max-content;
262
+ padding:0 20px;
263
+ box-sizing: border-box;
264
+ }
265
+ .active {
266
+ background: #EFF5FF;
267
+ border-radius: 5px 0px 0px 5px;
268
+ color:#009444;
269
+ }
270
+
271
+ }
272
+ }
273
+ .app-container-right {
274
+ flex:1;
275
+ height: 100%;
276
+ overflow:auto;
277
+
278
+ }
279
+ }
280
+ }
281
+
282
+ .selection-root {
283
+ margin-top: 26px;
284
+ display:flex;
285
+ flex-direction: column;
286
+ justify-content: center;
287
+ align-items: center;
288
+ margin-bottom: 20px;
289
+ }
290
+
291
+ .border-button {
292
+ margin-top:10px;
293
+ padding: 0 10px;
294
+ width: max-content;
295
+ height: 21px;
296
+ text-align: center;
297
+ line-height: 17px;
298
+ background: #FFFFFF;
299
+ border-radius: 11px;
300
+ font-size: 12px;
301
+ border: 2px solid #D1D3D4;
302
+ cursor: pointer;
303
+ }
304
+ </style>