doctor-admin-components 1.0.14-beta.6 → 1.0.14-beta.61

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 (28) hide show
  1. package/README.md +4 -1
  2. package/package.json +1 -1
  3. package/packages/index.js +14 -4
  4. package/packages/src/api/biz/bizContract.js +36 -9
  5. package/packages/src/api/biz/bizShipment.js +30 -1
  6. package/packages/src/i18n/zh-CN/message.json +1 -1
  7. package/packages/src/index.js +18 -2
  8. package/packages/src/utils/zip.js +29 -11
  9. package/packages/src/views/biz/bizFileInfo/contract.vue +494 -366
  10. package/packages/src/views/biz/bizFileInfo/contractFile/BillOfLadingNoTab.vue +9 -7
  11. package/packages/src/views/biz/bizFileInfo/contractFile/IMGPreviewCheckBox.vue +25 -10
  12. package/packages/src/views/biz/bizFileInfo/contractFile/SectionSlot.vue +11 -3
  13. package/packages/src/views/biz/bizFileInfo/fileShow.vue +11 -5
  14. package/packages/src/views/biz/bizShipment/add.vue +82 -42
  15. package/packages/src/views/biz/contractTracing/billInfo.vue +17 -9
  16. package/packages/src/views/biz/contractTracing/changrLogList.vue +67 -0
  17. package/packages/src/views/biz/contractTracing/companyBanks.vue +19 -8
  18. package/packages/src/views/biz/contractTracing/contractClause.vue +357 -0
  19. package/packages/src/views/biz/contractTracing/contractClauseComponenrts/TextContent.vue +53 -0
  20. package/packages/src/views/biz/contractTracing/contractPdf.vue +9 -171
  21. package/packages/src/views/biz/contractTracing/contractSummary.vue +101 -73
  22. package/packages/src/views/biz/contractTracing/contractTracingDetail.vue +5 -77
  23. package/packages/src/views/biz/contractTracing/editBill.vue +35 -27
  24. package/packages/src/views/biz/contractTracing/info.vue +346 -0
  25. package/packages/src/views/biz/contractTracing/purchaseInvoiceUpload.vue +5 -2
  26. package/packages/src/views/biz/contractTracing/queryDeductionRecords.vue +103 -0
  27. package/packages/src/views/biz/contractTracing/shipmentPurchaseAmount.vue +361 -79
  28. package/packages/src/views/biz/contractTracing/shipmentPurchaseAmountEditDialog.vue +176 -0
@@ -8,7 +8,7 @@
8
8
  -->
9
9
  <template>
10
10
  <div class="bill-no-root" :style="open ? 'height:max-content': ''">
11
- <div :class="'bill-no'" :style="shipmentIndex == shipBillNo ? { color: progressInfo.bgcolor } : ''" v-for="(
11
+ <div :class="'bill-no'" :style="shipmentIndex == shipBillNo ? { color:'white', fontSize: '16px', backgroundColor: progressInfo.bgcolor, border: '0' } : { color: '#231F20', fontSize: '14px', border: '1px solid #231F20', backgroundColor:'transparent' }" v-for="(
12
12
  shipmentFileInfo, shipmentIndex
13
13
  ) in contractFileInfoData.shipmentFileInfoList" :key="shipmentIndex" @click="changeShipBillNo(shipmentIndex)">
14
14
 
@@ -81,10 +81,9 @@ export default {
81
81
  .bill-no-root {
82
82
  display: flex;
83
83
  flex-wrap: wrap;
84
- padding:0 20px;
85
84
  width:100%;
86
85
  position:relative;
87
- height:60px;
86
+ height:55px;
88
87
  overflow:hidden;
89
88
 
90
89
  .billOfLadingNo-more {
@@ -99,11 +98,14 @@ export default {
99
98
  }
100
99
 
101
100
  .bill-no {
102
- width:23%;
103
101
  font-size: 14px;
104
- color: #A7A9AC;
105
- padding:20px 20px 20px 0;
106
- cursor: pointer;
102
+ color: #231F20;
103
+ padding: 0 10px;
104
+ height: 40px;
105
+ align-content: center;
106
+ border-radius: 8px;
107
+ margin-right: 30px;
108
+ margin-bottom: 15px;
107
109
  }
108
110
 
109
111
  .bill-no-active {
@@ -64,7 +64,8 @@ export default {
64
64
  imgList: [],
65
65
  srcList:[],
66
66
  loadingInstance: null,
67
- timer: null
67
+ timer: null,
68
+ hasClicked: false,
68
69
  };
69
70
  },
70
71
 
@@ -87,6 +88,19 @@ export default {
87
88
  checkClick(index) {
88
89
  this.imgList[index].checked = !this.imgList[index].checked;
89
90
  },
91
+ clickSelectAll() {
92
+ this.hasClicked = !this.hasClicked
93
+ if (this.hasClicked) {
94
+ this.checkAll1()
95
+ } else {
96
+ this.cancelAll1()
97
+ }
98
+ },
99
+ hasSelectAll() {
100
+ let res = this.imgList.find((item) => item.checked);
101
+ // console.log('xxxxxxx', res)
102
+ return res
103
+ },
90
104
  checkAll1() {
91
105
  this.imgList.forEach((item) => {
92
106
  item.checked = true;
@@ -175,15 +189,15 @@ export default {
175
189
  },
176
190
  othersFile(imgUrl) {
177
191
  if(isDoc(imgUrl)) {
178
- return 'https://s3.cdn.doctorscrap.com/dev/user/image_13/1ed150dc6171450d81a5e1f7b4e1253f.png'
192
+ return 'https://s3.doctorscrap.com/dev/user/image_13/1ed150dc6171450d81a5e1f7b4e1253f.png'
179
193
  } else if(isPdf(imgUrl)) {
180
- return 'https://s3.cdn.doctorscrap.com/dev/user/image_13/5a4b66e220794c0b8284f0a8204aac3e.png'
194
+ return 'https://s3.doctorscrap.com/dev/user/image_13/5a4b66e220794c0b8284f0a8204aac3e.png'
181
195
  } else if(isZip(imgUrl)) {
182
- return 'https://s3.cdn.doctorscrap.com/dev/user/image_13/470eeab01eec430e9ed0edd81d15ace5.png'
196
+ return 'https://s3.doctorscrap.com/dev/user/image_13/470eeab01eec430e9ed0edd81d15ace5.png'
183
197
  } else if(isXls(imgUrl)) {
184
- return 'https://s3.cdn.doctorscrap.com/dev/user/image_13/caaa343a68684216be1a4d3b27d40a9d.png'
198
+ return 'https://s3.doctorscrap.com/dev/user/image_13/caaa343a68684216be1a4d3b27d40a9d.png'
185
199
  } else if(isPpt(imgUrl)) {
186
- return 'https://s3.cdn.doctorscrap.com/dev/user/image_13/b0590840eceb4162a8c07119ef2fe245.png'
200
+ return 'https://s3.doctorscrap.com/dev/user/image_13/b0590840eceb4162a8c07119ef2fe245.png'
187
201
  } else {
188
202
  return imgUrl
189
203
  }
@@ -192,9 +206,9 @@ export default {
192
206
  watch: {
193
207
  imgArr: {
194
208
  handler(val) {
209
+ this.imgList = [];
210
+ this.srcList = [];
195
211
  if(val.length) {
196
- this.imgList = [];
197
- this.srcList = [];
198
212
  val.forEach((item) => {
199
213
  let coverUrl = this.othersFile(item.url)
200
214
  this.imgList.push({
@@ -291,7 +305,7 @@ export default {
291
305
  .batch-download {
292
306
  position: absolute;
293
307
  top: -41px;
294
- left: 620px;
308
+ left: 650px;
295
309
  min-width: 80px;
296
310
  width:max-content;
297
311
  padding:0 10px;
@@ -300,11 +314,12 @@ export default {
300
314
  text-align: center;
301
315
  border-radius: 10px;
302
316
  background-color: #54B8FF;
317
+ color: white;
303
318
  cursor: pointer;
304
319
  font-size:12px;
305
320
  }
306
321
  .batch-delete {
307
- left: 710px;
322
+ left: 740px;
308
323
  }
309
324
  }
310
325
 
@@ -8,14 +8,14 @@
8
8
  -->
9
9
  <template>
10
10
  <div>
11
- <div>
11
+ <div @click="clickOpen">
12
12
  <slot name="header"></slot>
13
13
  </div>
14
14
  <div class="slot-content-root" :style="{backgroundColor:info.bgcolor}">
15
15
  <div :style="open ? 'height:max-content' : 'height:0;overflow:hidden'">
16
16
  <slot name="content"></slot>
17
17
  </div>
18
- <div class="arrow" @click="open = !open">
18
+ <div class="arrow" @click="clickOpen">
19
19
  <i v-if="open" class="el-icon-arrow-up"></i>
20
20
  <i v-else class="el-icon-arrow-down"></i>
21
21
  </div>
@@ -46,7 +46,14 @@ export default {
46
46
  },
47
47
 
48
48
  methods: {
49
-
49
+ // 设置状态
50
+ setOpen(isOpen) {
51
+ this.open = isOpen
52
+ },
53
+ clickOpen() {
54
+ this.open = !this.open
55
+ this.$emit('updateOpen', this.open)
56
+ }
50
57
  },
51
58
  watch: {
52
59
  infoPro: {
@@ -64,6 +71,7 @@ export default {
64
71
 
65
72
  .slot-content-root {
66
73
  padding-bottom:25px;
74
+ margin-bottom: 30px;
67
75
  background-color: #fff;
68
76
  position: relative;
69
77
  .arrow {
@@ -9,7 +9,7 @@
9
9
  <el-image style="width: 38px; height: 46px" :src="fileInfo.url" fit="contain" :preview-src-list="[fileInfo.url]" v-else-if="isImage(fileInfo.url)"></el-image>
10
10
  <div class="area-file" v-else></div>
11
11
  <div>
12
- <div> {{ fileInfo.fileName }}</div>
12
+ <div class="name-width">{{ fileInfo.fileName }}</div>
13
13
  <div class="preview-download-root">
14
14
  <div
15
15
  v-if="!fileInfo.downloadUrl"
@@ -117,6 +117,10 @@ export default {
117
117
  type: String,
118
118
  default: '',
119
119
  },
120
+ deleteTips: {
121
+ type: String,
122
+ default: null,
123
+ },
120
124
  },
121
125
  data() {
122
126
  return {
@@ -133,7 +137,7 @@ export default {
133
137
  form: {},
134
138
  //上传表单
135
139
  uploadForm: {},
136
- checkFlag: false
140
+ checkFlag: false,
137
141
  }
138
142
  },
139
143
  computed: {
@@ -207,7 +211,7 @@ export default {
207
211
  handleDelete(row) {
208
212
  const fileIds = row.fileId || this.ids
209
213
  this.$modal
210
- .confirm('是否确认删除该文件?')
214
+ .confirm(this.deleteTips || '是否确认删除该文件?')
211
215
  .then(function () {
212
216
  return delBizFileInfo(fileIds)
213
217
  })
@@ -314,8 +318,10 @@ export default {
314
318
  <style lang="scss" scoped>
315
319
  .file-info {
316
320
  min-width: 450px;
317
- display: flex;
318
- // border: 1px solid red;
321
+ @media screen and (max-width: 768px) {
322
+ min-width: 300px;
323
+ max-width: 300px;
324
+ }
319
325
  .main {
320
326
  display: flex;
321
327
  .checkbox-position {
@@ -3,6 +3,7 @@
3
3
  <!-- 添加或修改装运对话框 -->
4
4
  <el-dialog :visible.sync="open" z-index="1000" width="80%" :before-close="handleClose" :title="title">
5
5
  <slot name="">
6
+ <span v-if="isDraft" style="color: red">提示: 当前打开了【{{ form.lastUpdateUserName }}】在【{{ form.updateTime }}】保存的装运草稿</span>
6
7
  <span v-if="voidInvoiceList" style="color: red">【快捷转卖】:系统检测到此销售合同关联的采购合同存在【已作废】的装运,</span>
7
8
  <el-button v-if="voidInvoiceList" @click="handleReference" size="mini" type="text">点击这里直接复制并引用</el-button>
8
9
  </slot>
@@ -50,15 +51,18 @@
50
51
  </el-col>
51
52
  <el-col :span="6">
52
53
  <el-form-item label="ETA" prop="eta" label-width="100">
53
- <el-date-picker
54
- style="width: 75%"
55
- clearable
56
- size="small"
57
- v-model="form.eta"
58
- type="date"
59
- value-format="yyyy-MM-dd HH:mm:ss"
60
- placeholder="请选择预计到港日期"
61
- ></el-date-picker>
54
+ <div style="display: flex; flex-direction: row; align-items: center">
55
+ <el-date-picker
56
+ style="width: 75%"
57
+ clearable
58
+ size="small"
59
+ v-model="form.eta"
60
+ type="date"
61
+ value-format="yyyy-MM-dd HH:mm:ss"
62
+ placeholder="请选择预计到港日期"
63
+ ></el-date-picker>
64
+ <el-button type="text" @click="refreshUpdateTime">更新</el-button>
65
+ </div>
62
66
  </el-form-item>
63
67
  </el-col>
64
68
  <el-col :span="6">
@@ -210,7 +214,7 @@
210
214
  v-model="scope2.row.packageGrossWeight"
211
215
  placeholder="请输入毛重"
212
216
  size="mini"
213
- type="number"
217
+ v-decimal="3"
214
218
  @input="limitDecimalPlaces(index, scope1.$index, scope2.$index, scope2.row, 'packageGrossWeight')"
215
219
  ></el-input>
216
220
  </el-form-item>
@@ -229,7 +233,7 @@
229
233
  v-model="scope2.row.packageTareWeight"
230
234
  placeholder="请输入皮重"
231
235
  size="mini"
232
- type="number"
236
+ v-decimal="3"
233
237
  @input="limitDecimalPlaces(index, scope1.$index, scope2.$index, scope2.row, 'packageTareWeight')"
234
238
  ></el-input>
235
239
  </el-form-item>
@@ -244,7 +248,13 @@
244
248
  :rules="rules.packageNetWeight"
245
249
  :prop="'containerList.' + index + '.containerDetailList.' + scope1.$index + '.packageList.' + scope2.$index + '.packageNetWeight'"
246
250
  >
247
- <el-input v-model="scope2.row.packageNetWeight" placeholder="请输入净重" size="mini" type="number" @input="limitDecimalPlaces(index, scope1.$index, scope2.$index, scope2.row,'packageNetWeight')"></el-input>
251
+ <el-input
252
+ v-model="scope2.row.packageNetWeight"
253
+ placeholder="请输入净重"
254
+ size="mini"
255
+ v-decimal="3"
256
+ @input="limitDecimalPlaces(index, scope1.$index, scope2.$index, scope2.row, 'packageNetWeight')"
257
+ ></el-input>
248
258
  </el-form-item>
249
259
  </template>
250
260
  </el-table-column>
@@ -384,7 +394,7 @@
384
394
  </el-row>
385
395
  </el-form>
386
396
  <div slot="footer" class="dialog-footer">
387
- <el-button type="warning" @click="onSaveDraft" style="margin-right: 10px">保存草稿</el-button>
397
+ <el-button type="warning" @click="onSaveDraft" style="margin-right: 10px" v-if="title === '生成装运'">保存草稿</el-button>
388
398
  <el-button type="primary" @click="submitShipment" style="margin-right: 10px">{{ title == '生成装运' ? '仅生成装运' : '保存草稿' }}</el-button>
389
399
  <el-dropdown @command="(command) => handleTemplate(command)" trigger="click" v-if="title == '生成装运'" style="margin-right: 10px">
390
400
  <el-button type="primary">{{ '装运并下载' }}</el-button>
@@ -448,7 +458,8 @@ import {
448
458
  updateWithContainer,
449
459
  updateWithContainerAndInvoice,
450
460
  saveDraft,
451
- getDraft
461
+ getDraft,
462
+ refreshUpdateTime
452
463
  } from '../../../api/biz/bizShipment'
453
464
  import { generateFinalInvoiceByShipmentId } from '../../../api/biz/bizInvoice'
454
465
  import { updateBizContractDetail } from '../../../api/biz/bizContractDetail'
@@ -547,7 +558,8 @@ export default {
547
558
  //编辑开关
548
559
  editSwitch: false,
549
560
  //
550
- currentRow: null
561
+ currentRow: null,
562
+ isDraft: false
551
563
  }
552
564
  },
553
565
  props: {
@@ -674,15 +686,15 @@ export default {
674
686
  },
675
687
 
676
688
  limitDecimalPlaces(index, scope1Index, scope2Index, data, type) {
677
- let value = data[type];
678
- const decimalPlaces = 3;
679
- if (!isNaN(value)) {
680
- value = parseFloat(value).toFixed(decimalPlaces);
681
- value = parseFloat(value).toString();
682
- data[type] = value;
683
- }
689
+ // let value = data[type]
690
+ // const decimalPlaces = 3
691
+ // if (!isNaN(value)) {
692
+ // value = parseFloat(value).toFixed(decimalPlaces)
693
+ // value = parseFloat(value).toString()
694
+ // data[type] = value
695
+ // }
684
696
  if (type == 'packageGrossWeight') {
685
- this.changePackageGrossWeight(index, scope1Index, scope2Index);
697
+ this.changePackageGrossWeight(index, scope1Index, scope2Index)
686
698
  } else if (type == 'packageTareWeight') {
687
699
  this.changePackageTareWeight(index, scope1Index, scope2Index)
688
700
  } else if (type == 'packageNetWeight') {
@@ -690,21 +702,27 @@ export default {
690
702
  },
691
703
 
692
704
  changePackageGrossWeight(index, k, yindex) {
693
- this.form.containerList[index].containerDetailList[k].goodsGrossWeight = this.form.containerList[index].containerDetailList[k].packageList.reduce((total, item) => {
694
- return total + Number(item.packageGrossWeight)
695
- }, 0)
696
- this.form.containerList[index].totalGoodsGrossWeight = this.form.containerList[index].containerDetailList.reduce((total, item) => {
697
- return total + Number(item.goodsGrossWeight)
698
- }, 0)
705
+ this.form.containerList[index].containerDetailList[k].goodsGrossWeight = this.form.containerList[index].containerDetailList[k].packageList
706
+ .reduce((total, item) => {
707
+ return total + Number(item.packageGrossWeight)
708
+ }, 0)
709
+ .toFixed(3)
710
+ this.form.containerList[index].totalGoodsGrossWeight = this.form.containerList[index].containerDetailList
711
+ .reduce((total, item) => {
712
+ return total + Number(item.goodsGrossWeight)
713
+ }, 0)
714
+ .toFixed(3)
699
715
  //计算净重
700
716
  this.form.containerList[index].containerDetailList[k].packageList[yindex].packageNetWeight = (
701
717
  this.form.containerList[index].containerDetailList[k].packageList[yindex].packageGrossWeight -
702
718
  this.form.containerList[index].containerDetailList[k].packageList[yindex].packageTareWeight
703
719
  ).toFixed(3)
704
720
 
705
- this.form.containerList[index].containerDetailList[k].goodsNetWeight = this.form.containerList[index].containerDetailList[k].packageList.reduce((total, item) => {
706
- return total + Number(item.packageNetWeight)
707
- }, 0)
721
+ this.form.containerList[index].containerDetailList[k].goodsNetWeight = this.form.containerList[index].containerDetailList[k].packageList
722
+ .reduce((total, item) => {
723
+ return total + Number(item.packageNetWeight)
724
+ }, 0)
725
+ .toFixed(3)
708
726
 
709
727
  this.form.containerList[index].totalGoodsNetWeight = this.form.containerList[index].containerDetailList
710
728
  .reduce((total, item) => {
@@ -714,21 +732,27 @@ export default {
714
732
  },
715
733
  changePackageTareWeight(index, k, yindex) {
716
734
  //计算皮重
717
- this.form.containerList[index].containerDetailList[k].goodsTareWeight = this.form.containerList[index].containerDetailList[k].packageList.reduce((total, item) => {
718
- return total + Number(item.packageTareWeight)
719
- }, 0)
720
- this.form.containerList[index].totalGoodsTareWeight = this.form.containerList[index].containerDetailList.reduce((total, item) => {
721
- return total + Number(item.goodsTareWeight)
722
- }, 0)
735
+ this.form.containerList[index].containerDetailList[k].goodsTareWeight = this.form.containerList[index].containerDetailList[k].packageList
736
+ .reduce((total, item) => {
737
+ return total + Number(item.packageTareWeight)
738
+ }, 0)
739
+ .toFixed(3)
740
+ this.form.containerList[index].totalGoodsTareWeight = this.form.containerList[index].containerDetailList
741
+ .reduce((total, item) => {
742
+ return total + Number(item.goodsTareWeight)
743
+ }, 0)
744
+ .toFixed(3)
723
745
  //计算净重
724
746
  this.form.containerList[index].containerDetailList[k].packageList[yindex].packageNetWeight = (
725
747
  this.form.containerList[index].containerDetailList[k].packageList[yindex].packageGrossWeight -
726
748
  this.form.containerList[index].containerDetailList[k].packageList[yindex].packageTareWeight
727
749
  ).toFixed(3)
728
750
 
729
- this.form.containerList[index].containerDetailList[k].goodsNetWeight = this.form.containerList[index].containerDetailList[k].packageList.reduce((total, item) => {
730
- return total + Number(item.packageNetWeight)
731
- }, 0)
751
+ this.form.containerList[index].containerDetailList[k].goodsNetWeight = this.form.containerList[index].containerDetailList[k].packageList
752
+ .reduce((total, item) => {
753
+ return total + Number(item.packageNetWeight)
754
+ }, 0)
755
+ .toFixed(3)
732
756
 
733
757
  this.form.containerList[index].totalGoodsNetWeight = this.form.containerList[index].containerDetailList
734
758
  .reduce((total, item) => {
@@ -1299,13 +1323,29 @@ export default {
1299
1323
  }
1300
1324
  },
1301
1325
  async onGetDraft() {
1302
- if(this.form.contractIds) {
1326
+ if (this.form.contractIds) {
1303
1327
  const contractId = this.form.contractIds[0]
1304
1328
  const res = await getDraft(contractId)
1305
1329
  if (res.data) {
1330
+ this.isDraft = true
1306
1331
  this.form = res.data
1332
+ } else {
1333
+ this.isDraft = false
1307
1334
  }
1308
1335
  }
1336
+ },
1337
+ refreshUpdateTime() {
1338
+ if (this.form.shipmentId) {
1339
+ const loading = this.openLoading()
1340
+ refreshUpdateTime(this.form.shipmentId)
1341
+ .then((res) => {
1342
+ loading.close()
1343
+ this.$modal.msgSuccess('更新成功')
1344
+ })
1345
+ .catch(() => {
1346
+ loading.close()
1347
+ })
1348
+ }
1309
1349
  }
1310
1350
  }
1311
1351
  }
@@ -198,17 +198,17 @@
198
198
  <el-row>
199
199
  <el-col :span="8">
200
200
  <el-form-item :label="$t('contract.company') + ':'">
201
- {{ 'TTYY INTERNATIONAL LIMITED' }}
201
+ {{ secondNotifyInfoInfo ? secondNotifyInfoInfo.companyName : ""}}
202
202
  </el-form-item>
203
203
  </el-col>
204
204
  <el-col :span="8">
205
205
  <el-form-item :label="$t('contract.taxId') + ':'">
206
- {{ '73855725-000-23-0' }}
206
+ {{ secondNotifyInfoInfo ? secondNotifyInfoInfo.taxNumber : "" }}
207
207
  </el-form-item>
208
208
  </el-col>
209
209
  <el-col :span="8">
210
210
  <el-form-item :label="$t('contract.address') + ':'">
211
- {{ 'FLAT/RM 07, 12/F, CHEVALIER COMMERCIAL CENTRE, 8 WANG HOI ROAD, KOWLOON BAY' }}
211
+ {{ secondNotifyInfoInfo ? secondNotifyInfoInfo.address : "" }}
212
212
  </el-form-item>
213
213
  </el-col>
214
214
  </el-row>
@@ -216,19 +216,19 @@
216
216
  <el-row>
217
217
  <el-col :span="8">
218
218
  <el-form-item :label="$t('contract.contact') + ':'">
219
- {{ 'Ms. Zhou' }}
219
+ {{ secondNotifyInfoInfo ? secondNotifyInfoInfo.contactPerson : "" }}
220
220
  </el-form-item>
221
221
  </el-col>
222
222
  <el-col :span="8">
223
223
  <el-form-item :label="$t('contract.phoneNumber') + ':'">
224
- {{ '00-852 53816912' }}
224
+ {{ secondNotifyInfoInfo ? secondNotifyInfoInfo.phoneNumber : "" }}
225
225
  </el-form-item>
226
226
  </el-col>
227
227
  <el-col :span="8"></el-col>
228
228
  </el-row>
229
229
 
230
230
  <el-row>
231
- <el-form-item :label="$t('contract.email') + ':'">{{ 'info@tyzltech.com' }}</el-form-item>
231
+ <el-form-item :label="$t('contract.email') + ':'">{{ secondNotifyInfoInfo ? secondNotifyInfoInfo.email : "" }}</el-form-item>
232
232
  </el-row>
233
233
  <el-divider></el-divider>
234
234
  <div class="sub-title mb20">{{ $t('contract.otherInfo') }}</div>
@@ -303,6 +303,7 @@ import { listBizContractCompany } from '../../../api/biz/bizContractCompany'
303
303
  import BillPdf from './billPdf.vue'
304
304
  import { listCompanyBillGoods } from '../../../api/biz/bizCompanyBillGoods'
305
305
  import EditBill from './editBill.vue'
306
+ import { getSecondNotifyInfo } from '../../../api/biz/bizContract'
306
307
  // import { getSaleContractInfo } from '../../../api/biz/bizContract'
307
308
 
308
309
  export default {
@@ -368,7 +369,8 @@ export default {
368
369
  notifierCompanyId: [{ required: true, trigger: 'blur' }],
369
370
  goodsName: [{ required: true, trigger: 'blur' }]
370
371
  },
371
- isMobile: document.body.clientWidth <= 768
372
+ isMobile: document.body.clientWidth <= 768,
373
+ secondNotifyInfoInfo: null
372
374
  }
373
375
  },
374
376
  created() {
@@ -378,6 +380,7 @@ export default {
378
380
  if (printModel == 1) {
379
381
  this.printModel = true
380
382
  }
383
+ this.getSecondNotifyInfo();
381
384
  // this.getSaleContractInfo(this.contract.dealId)
382
385
  },
383
386
  methods: {
@@ -436,6 +439,11 @@ export default {
436
439
  }
437
440
  })
438
441
  },
442
+ getSecondNotifyInfo() {
443
+ getSecondNotifyInfo().then((res) => {
444
+ this.secondNotifyInfoInfo = res.data;
445
+ })
446
+ },
439
447
  //更改收货人或者通知人公司时 相应显示变更
440
448
  changeSubCompany(val, type) {
441
449
  if (type == 'delivery') {
@@ -610,7 +618,7 @@ export default {
610
618
  handleTemplate(command) {
611
619
  if (command == 'EXCEL') {
612
620
  this.download(
613
- 'biz/contract/downBill',
621
+ 'biz/contract/bli/downBill',
614
622
  {
615
623
  contractId: this.billData.contractId,
616
624
  templateType: command
@@ -620,7 +628,7 @@ export default {
620
628
  }
621
629
  if (command == 'PDF') {
622
630
  this.download(
623
- 'biz/contract/downBill',
631
+ 'biz/contract/bli/downBill',
624
632
  {
625
633
  contractId: this.billData.contractId,
626
634
  templateType: command
@@ -0,0 +1,67 @@
1
+ <!--
2
+ * @Author: zhangpengwei@1338418459736990.onaliyun.com zhangpengwei@1338418459736990.onaliyun.com
3
+ * @Date: 2024-08-19 15:46:00
4
+ * @LastEditors: zhangpengwei@1338418459736990.onaliyun.com zhangpengwei@1338418459736990.onaliyun.com
5
+ * @LastEditTime: 2024-08-21 16:19:39
6
+ * @FilePath: /doctor-admin-components 公共组件/packages/src/views/biz/contractTracing/shipmentPurchaseAmountEditDialog.vue
7
+ * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
8
+ -->
9
+ <template>
10
+ <div v-if="list.length">
11
+ <div class="bold" style="margin-bottom:10px">历史修正记录</div>
12
+ <div class="wrap" v-for="listItem in list" :key="listItem.changeId">
13
+ <div class="row-wrap">
14
+ <div class="time">{{ utc2local(listItem.changeTime, 'yyyy-MM-DD HH:mm:ss') }}</div>
15
+ <div class="time">修改人:{{ listItem.operName }}</div>
16
+ </div>
17
+ <div class="row-wrap-1">
18
+ <div class="title bold">修改内容:</div>
19
+ <div>{{ listItem.changeContent }}</div>
20
+ </div>
21
+ <div class="row-wrap-1" v-if="listItem.changeReason">
22
+ <div class="title bold">修改原因:</div>
23
+ <div style="white-space: pre-line !important">{{ listItem.changeReason }}</div>
24
+ </div>
25
+ </div>
26
+ </div>
27
+
28
+ </template>
29
+ <script>
30
+ export default {
31
+ props: {
32
+ list: {
33
+ type: Array,
34
+ default: () => []
35
+ }
36
+ },
37
+ name: 'changrLogList',
38
+ data() {
39
+ return {}
40
+ }
41
+ }
42
+ </script>
43
+ <style scoped lang="scss">
44
+ .wrap {
45
+ padding:10px 20px;
46
+ margin-bottom: 10px;
47
+ background-color: #f2f2f2;
48
+ }
49
+ .bold {
50
+ font-weight: bold;
51
+ }
52
+ .row-wrap {
53
+ display: flex;
54
+ justify-content: space-between;
55
+ margin-bottom: 10px;
56
+ .time {
57
+ font-size:12px;
58
+ }
59
+ }
60
+ .row-wrap-1 {
61
+ display: flex;
62
+ margin-bottom: 10px;
63
+ .title {
64
+ min-width: 70px;
65
+ }
66
+ }
67
+ </style>