doctor-admin-components 1.0.13-pro.1 → 1.0.14-beta.2

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 (47) hide show
  1. package/README.md +10 -2
  2. package/package.json +1 -1
  3. package/packages/index.js +16 -0
  4. package/packages/src/api/biz/bizContract.js +1005 -0
  5. package/packages/src/api/biz/bizFileInfo.js +16 -0
  6. package/packages/src/api/biz/bizInvoice.js +1 -1
  7. package/packages/src/api/biz/bizShipment.js +38 -0
  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/DictTag/index.vue +12 -2
  12. package/packages/src/components/FileUpload/contract-drag-new.vue +100 -11
  13. package/packages/src/i18n/en/message.json +305 -0
  14. package/packages/src/i18n/index.js +38 -0
  15. package/packages/src/i18n/zh-CN/message.json +305 -0
  16. package/packages/src/index.js +24 -1
  17. package/packages/src/utils/MycommonUtil.js +12 -0
  18. package/packages/src/utils/index.js +35 -0
  19. 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
  20. package/packages/src/views/biz/bizFileInfo/contract copy.vue +1711 -0
  21. package/packages/src/views/biz/bizFileInfo/contract.vue +1783 -986
  22. package/packages/src/views/biz/bizFileInfo/contractFile/BillOfLadingNoTab.vue +114 -0
  23. package/packages/src/views/biz/bizFileInfo/contractFile/ContentTitle.vue +102 -0
  24. package/packages/src/views/biz/bizFileInfo/contractFile/IMGPreviewCheckBox.vue +308 -0
  25. package/packages/src/views/biz/bizFileInfo/contractFile/Progress.vue +85 -0
  26. package/packages/src/views/biz/bizFileInfo/contractFile/ProgressDetail.vue +123 -0
  27. package/packages/src/views/biz/bizFileInfo/contractFile/SectionSlot.vue +83 -0
  28. package/packages/src/views/biz/bizFileInfo/contractFile/ShowAndHide.vue +178 -0
  29. package/packages/src/views/biz/bizFileInfo/fileShow copy.vue +321 -0
  30. package/packages/src/views/biz/bizFileInfo/fileShow.vue +143 -47
  31. package/packages/src/views/biz/bizFileInfo/fileShowClaim.vue +1 -1
  32. package/packages/src/views/biz/bizShipment/add.vue +166 -28
  33. package/packages/src/views/biz/bizShipment/referenceAlert.vue +168 -0
  34. package/packages/src/views/biz/contractTracing/billInfo.vue +64 -40
  35. package/packages/src/views/biz/contractTracing/companyBanks.vue +228 -0
  36. package/packages/src/views/biz/contractTracing/contractInfo.vue +1 -1
  37. package/packages/src/views/biz/contractTracing/contractPdf.vue +10 -5
  38. package/packages/src/views/biz/contractTracing/contractSummary.vue +31 -19
  39. package/packages/src/views/biz/contractTracing/contractTracingDetail copy.vue +107 -0
  40. package/packages/src/views/biz/contractTracing/contractTracingDetail.vue +281 -31
  41. package/packages/src/views/biz/contractTracing/editBill.vue +22 -9
  42. package/packages/src/views/biz/contractTracing/purchaseInvoiceUpload.vue +153 -7
  43. package/packages/src/views/biz/contractTracing/shipmentPurchaseAmount.vue +14 -0
  44. package/packages/src/views/biz/contractTracing/subCompanyDialog.vue +8 -2
  45. package/packages/src/views/components/RegionPicker/Distpicker.vue +459 -0
  46. package/packages/src/views/components/RegionPicker/districts.js +4641 -0
  47. package/packages/src/views/test.vue +3 -3
@@ -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,65 @@
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>
19
+ <span>{{$t('contractDetail.Reference_No')}}</span>
20
+ <el-button size="mini" type="text" icon="el-icon-edit" @click="clickEditReference"></el-button>
21
+ </div>
22
+ <div>{{ contract.reference || '--' }}</div>
23
+ </div>
24
+ <div class="tab-root">
25
+ <div :class="['tab', activeName == tabsItem.name ? 'active' : '']" v-for="tabsItem in saleTabsArr" :key="tabsItem.id" @click="changeTabs(tabsItem)">
26
+ {{ tabsItem.label }}
27
+ </div>
28
+ </div>
29
+ <div>
30
+ <!-- 选择项 -->
31
+ <div class="selection-root">
32
+ <span>{{ $t('contractDetail.Selected') }} {{ selectFileList.length }} {{ $t('contractDetail.item') }}</span>
33
+ <div class="border-button" @click.stop="downLoadAll">{{ $t('contractDetail.Download_All') }}</div>
34
+ <div class="border-button" @click.stop="deleteAll">{{ $t('contractDetail.Delete_All') }}</div>
35
+ <div class="border-button" @click.stop="cancelAll">{{ $t('contractDetail.Deselect') }}</div>
36
+ </div>
37
+ </div>
38
+ </div>
39
+ <div class="app-container-right">
40
+ <contract-summary v-if="activeName == 'first'" :channel="channel"></contract-summary>
41
+ <contract-info v-if="activeName == 'second'" :channel="channel"></contract-info>
42
+ <!-- 提单指令 -->
43
+ <div v-if="activeName == 'third'">
44
+ <!-- 标题分栏 -->
45
+ <el-tabs v-model="activeBillIndex">
46
+ <el-tab-pane v-for="(bill, i) in blList" :key="i" :label="contract.contractNo + ' 提单指令'" :name="i.toString()">
47
+ <bill-info @refresh="getBlList" :contract="contract" :billData="bill" :channel="channel"></bill-info>
48
+ </el-tab-pane>
49
+ </el-tabs>
50
+ </div>
51
+
52
+ <contract-file
53
+ v-if="activeName == 'fourth' && contract.contractType"
54
+ :contract="contract"
55
+ :channel="channel"
56
+ :buyerFlag="buyerFlag"
57
+ :selectFileListProp="selectFileList"
58
+ ref="contractFileRef"
59
+ ></contract-file>
60
+ </div>
61
+ </div>
62
+ <!-- <div style="position: relative">
63
+ <el-tabs tabPosition="left" v-model="activeName" type="card" @tab-click="handleClick">
13
64
  <el-tab-pane :label="$t('contractDetail.summary')" name="first">
14
65
  <contract-summary v-if="activeName == 'first'" :channel="channel"></contract-summary>
15
66
  </el-tab-pane>
@@ -33,10 +84,10 @@
33
84
  :buyerFlag="buyerFlag"
34
85
  ></contract-file>
35
86
  </el-tab-pane>
36
- </el-tabs>
87
+ </el-tabs> -->
37
88
 
38
- <!-- 这里添加合同编号的显示 -->
39
- <div
89
+ <!-- 这里添加合同编号的显示 -->
90
+ <!-- <div
40
91
  style="
41
92
  position: absolute;
42
93
  right: 10px;
@@ -45,16 +96,17 @@
45
96
  font-weight: bold;
46
97
  "
47
98
  >{{$t('contractDetail.Contract_No')}}:{{ contract.contractNo }}</div>
48
- </div>
99
+ </div> -->
49
100
  </div>
50
101
  </template>
51
102
 
52
103
  <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';
104
+ import { getBizContract, getContractBlList, editReferenceNo } from '../../../api/biz/bizContract'
105
+ import ContractSummary from './contractSummary.vue'
106
+ import BillInfo from './billInfo.vue'
107
+ import ContractFile from '../bizFileInfo/contract.vue'
108
+ import ContractInfo from './contractInfo.vue'
109
+ import { delBizFileInfo } from '../../../api/biz/bizFileInfo'
58
110
 
59
111
  export default {
60
112
  name: 'ContractTracingDetail',
@@ -63,45 +115,243 @@ export default {
63
115
  ContractSummary,
64
116
  BillInfo,
65
117
  ContractFile,
66
- ContractInfo,
118
+ ContractInfo
67
119
  },
68
120
  props: {
69
- channel: '',
121
+ channel: ''
70
122
  },
71
123
  data() {
72
124
  return {
73
125
  activeName: 'first',
74
126
  contract: {},
75
127
  buyerFlag: true,
76
- };
128
+ saleTabsArr: [
129
+ {
130
+ label: this.$t('contractDetail.summary'),
131
+ name: 'first',
132
+ id: 0
133
+ },
134
+ {
135
+ label: this.$t('contractDetail.info'),
136
+ name: 'second',
137
+ id: 1
138
+ },
139
+ {
140
+ label: this.$t('contractDetail.blInfo'),
141
+ name: 'third',
142
+ id: 2
143
+ },
144
+ {
145
+ label: this.$t('contractDetail.fileManage'),
146
+ name: 'fourth',
147
+ id: 3
148
+ }
149
+ ],
150
+ purchaseTabsArr: [
151
+ {
152
+ label: this.$t('contractDetail.summary'),
153
+ name: 'first',
154
+ id: 0
155
+ },
156
+ {
157
+ label: this.$t('contractDetail.info'),
158
+ name: 'second',
159
+ id: 1
160
+ },
161
+ {
162
+ label: this.$t('contractDetail.fileManage'),
163
+ name: 'fourth',
164
+ id: 2
165
+ }
166
+ ],
167
+
168
+ selectFileList: [],
169
+ // 提单指令列表
170
+ blList: null,
171
+ activeBillIndex: null
172
+ }
77
173
  },
78
174
  computed: {},
79
175
  watch: {},
80
176
  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;
177
+ const contractId = this.$route.params && this.$route.params.contractId
178
+ this.getContract(contractId)
179
+ const activeName = this.$route.query && this.$route.query.activeName
180
+ this.activeName = activeName || 'first'
181
+ // this.activeName = 'fourth'
182
+ localStorage.setItem('contractDetail', location.href)
183
+ location.href
87
184
  },
88
185
  mounted() {},
89
186
  methods: {
187
+ // 编辑合同参考号
188
+ clickEditReference() {
189
+ const contractId = this.$route.params && this.$route.params.contractId;
190
+ this.$prompt('请在下方填写合同参考号', '编辑合同参考号', {
191
+ confirmButtonText: '确认',
192
+ cancelButtonText: '取消',
193
+ inputType: 'text',
194
+ inputValue: this.contract.reference,
195
+ inputPlaceholder: '请填写合同参考号'
196
+ })
197
+ .then(({ value }) => {
198
+ return editReferenceNo({reference: value, contractId:contractId})
199
+ })
200
+ .then(() => {
201
+ this.$modal.msgSuccess('编辑成功')
202
+ this.getContract(contractId)
203
+ })
204
+ .catch((e) => {
205
+ console.log(e)
206
+ })
207
+ },
208
+ /**
209
+ * @description: 取消全部选择
210
+ * @return {*}
211
+ */
212
+ cancelAll() {
213
+ this.$refs.contractFileRef.cancelAllSelectFileList()
214
+ },
215
+
216
+ /**
217
+ * @description: 全部下载
218
+ * @return {*}
219
+ */
220
+ downLoadAll() {
221
+ if (this.selectFileList.length == 0) {
222
+ return this.$message.warning(this.$t('contractDetail.please_select_file'))
223
+ }
224
+ this.$refs.contractFileRef.downloadZip()
225
+ },
226
+ deleteAll() {
227
+ console.log('==delBizFileInfo==', this.selectFileList)
228
+ if (this.selectFileList.length == 0) {
229
+ return this.$message.warning(this.$t('contractDetail.please_select_file'))
230
+ }
231
+
232
+ this.$confirm('是否删除选中文件', '提示', {
233
+ confirmButtonText: '确定',
234
+ cancelButtonText: '取消',
235
+ type: 'warning'
236
+ })
237
+ .then(() => {
238
+ const ids = this.selectFileList.map((item) => item.fileId)
239
+ delBizFileInfo(ids).then(() => {
240
+ this.$message.success('删除成功')
241
+ this.$refs.contractFileRef.handleRefresh()
242
+ })
243
+ })
244
+ .catch(() => {
245
+ this.$message.info('已取消删除')
246
+ })
247
+ },
248
+ /**
249
+ * @description: 切换tab
250
+ * @param {*} tab
251
+ * @return {*}
252
+ */
253
+ changeTabs(tab) {
254
+ this.activeName = tab.name
255
+ },
90
256
  getContract(contractId) {
91
257
  getBizContract(contractId).then((res) => {
92
- this.contract = res.data;
258
+ this.contract = res.data
93
259
  // Debit note是给卖家的,要放在 ARS 下
94
260
  // Credit note是给买家的,要放在 ARP 下
95
- this.buyerFlag = this.contract?.contractNo
96
- ?.toLowerCase()
97
- ?.includes('arp');
98
- });
261
+ this.buyerFlag = this.contract?.contractNo?.toLowerCase()?.includes('arp')
262
+ // 获取提单指令
263
+ this.getBlList()
264
+ })
99
265
  },
100
- handleClick(tab, event) {
101
- console.log(tab, event);
266
+ getBlList() {
267
+ const contractId = this.$route.params && this.$route.params.contractId
268
+ if (contractId) {
269
+ getContractBlList(contractId).then((res) => {
270
+ this.blList = res.rows
271
+ // 默认选中第一个
272
+ if (!this.activeBillIndex) {
273
+ this.activeBillIndex = '0'
274
+ }
275
+ })
276
+ }
102
277
  },
103
- },
104
- };
278
+
279
+ handleClick(tab, event) {
280
+ console.log(tab, event)
281
+ }
282
+ }
283
+ }
105
284
  </script>
106
285
 
107
- <style scoped lang="scss"></style>
286
+ <style scoped lang="scss">
287
+ .app-container {
288
+ .app-container-container {
289
+ display: flex;
290
+ height: calc(100vh - 126px);
291
+ .app-container-left {
292
+ width: 141px;
293
+ height: 100%;
294
+ margin-right: 10px;
295
+ background-color: #d9dfe8;
296
+ .contract-number {
297
+ font-size: 12px;
298
+ font-weight: normal;
299
+ color: #000000;
300
+ line-height: 14px;
301
+ text-align: left;
302
+ padding: 10px 0 0 15px;
303
+ }
304
+ .tab-root {
305
+ margin-top: 40px;
306
+ display: flex;
307
+ flex-direction: column;
308
+ align-items: flex-end;
309
+ .tab {
310
+ height: 48px;
311
+ font-size: 14px;
312
+ font-weight: normal;
313
+ color: #000;
314
+ line-height: 48px;
315
+ text-align: right;
316
+ width: max-content;
317
+ padding: 0 20px;
318
+ box-sizing: border-box;
319
+ }
320
+ .active {
321
+ background: #eff5ff;
322
+ border-radius: 5px 0px 0px 5px;
323
+ color: #009444;
324
+ }
325
+ }
326
+ }
327
+ .app-container-right {
328
+ flex: 1;
329
+ height: 100%;
330
+ overflow: auto;
331
+ }
332
+ }
333
+ }
334
+
335
+ .selection-root {
336
+ margin-top: 26px;
337
+ display: flex;
338
+ flex-direction: column;
339
+ justify-content: center;
340
+ align-items: center;
341
+ margin-bottom: 20px;
342
+ }
343
+
344
+ .border-button {
345
+ margin-top: 10px;
346
+ padding: 0 10px;
347
+ width: max-content;
348
+ height: 21px;
349
+ text-align: center;
350
+ line-height: 17px;
351
+ background: #ffffff;
352
+ border-radius: 11px;
353
+ font-size: 12px;
354
+ border: 2px solid #d1d3d4;
355
+ cursor: pointer;
356
+ }
357
+ </style>
@@ -4,11 +4,18 @@
4
4
  <div class="contract">
5
5
  <div class="info" id="printPdf">
6
6
  <!-- <div class="title">{{ $t("contract.billTip") }}</div> -->
7
- <div style="padding-bottom: 20px">
8
- <span style="font-size: 16px; font-weight: bold"> {{ $t('contractDetail.BLConfirm') + ':' }} </span>
9
- <el-switch v-model="confirmFlag" :inactive-text="$t('contractDetail.BL_Not_Confirm')" :active-text="$t('contractDetail.BL_Confirmed')"> </el-switch>
10
- </div>
11
- <el-form :model="form" ref="form" size="mini" :rules="rules" label-width="130px">
7
+ <el-row>
8
+ <el-col :span="12" v-if="voidFlag" style="padding-bottom: 20px">
9
+ <span style="font-size: 16px; color: red; font-weight: bold"> 已作废 </span>
10
+ </el-col>
11
+ <el-col :span="12" v-else>
12
+ <div style="padding-bottom: 20px">
13
+ <span style="font-size: 16px; font-weight: bold"> {{ $t('contractDetail.BLConfirm') + ':' }} </span>
14
+ <el-switch v-model="confirmFlag" :inactive-text="$t('contractDetail.BL_Not_Confirm')" :active-text="$t('contractDetail.BL_Confirmed')"> </el-switch>
15
+ </div>
16
+ </el-col>
17
+ </el-row>
18
+ <el-form :disabled="voidFlag" :model="form" ref="form" size="mini" :rules="rules" label-width="130px">
12
19
  <el-collapse v-model="expandItems">
13
20
  <el-collapse-item name="0" v-if="channel !== 'official-website'">
14
21
  <template slot="title">
@@ -169,10 +176,13 @@
169
176
  </el-collapse-item>
170
177
  </el-collapse>
171
178
 
172
- <el-form-item :label="$t('contract.destination') + ':'">
179
+ <el-form-item v-if="contract && contract.freightTerms && contract.freightTerms != 'EXW'" :label="$t('contract.destination') + ':'">
173
180
  {{ this.contract && this.contract.destination ? this.contract.destination : '' }}
174
181
  </el-form-item>
175
- <el-form-item :label="$t('contract.terminal') + ':'" prop="terminal">
182
+ <el-form-item v-else :label="'EXW Address' + ':'">
183
+ {{ this.contract && this.contract.exw ? this.contract.exw : '' }}
184
+ </el-form-item>
185
+ <el-form-item v-if="contract && contract.freightTerms && contract.freightTerms != 'EXW'" :label="$t('contract.terminal') + ':'" prop="terminal">
176
186
  <el-input v-model="form.terminal" type="textarea" autosize :placeholder="$t('contract.terminalTip')"></el-input>
177
187
  </el-form-item>
178
188
 
@@ -260,7 +270,7 @@
260
270
  </el-form-item>
261
271
  </el-form>
262
272
  </div>
263
- <div class="footer" v-if="!printModel">
273
+ <div class="footer" v-if="!printModel && !voidFlag">
264
274
  <el-button type="primary" @click="submitForm">{{ $t('button.saveDraft') }}</el-button>
265
275
  </div>
266
276
  </div>
@@ -298,6 +308,8 @@ export default {
298
308
  open: false,
299
309
  // 是否已确认
300
310
  confirmFlag: false,
311
+ // 是否已作废
312
+ voidFlag: false,
301
313
  // 表单参数
302
314
  form: {
303
315
  //买家公司提单货物名称
@@ -379,7 +391,8 @@ export default {
379
391
  getBizContract(contractId)
380
392
  .then((response) => {
381
393
  this.contract = response.data
382
- this.confirmFlag = this.contract.blConfirmFlag ?? false
394
+ this.confirmFlag = this.contract.blConfirmFlag == '1'
395
+ this.voidFlag = this.contract.blConfirmFlag == '2'
383
396
  resolve(response) // 异步操作成功,解决Promise
384
397
  })
385
398
  .catch((error) => {