doctor-admin-components 1.0.13-beta.4 → 1.0.13-beta.41

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