doctor-admin-components 1.0.14-beta.7 → 1.0.14-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 (29) hide show
  1. package/README.md +4 -1
  2. package/package.json +1 -1
  3. package/packages/index.js +14 -3
  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/index.js +1 -1
  9. package/packages/src/utils/zip.js +29 -11
  10. package/packages/src/views/biz/bizFileInfo/contract.vue +504 -411
  11. package/packages/src/views/biz/bizFileInfo/contractFile/BillOfLadingNoTab.vue +9 -7
  12. package/packages/src/views/biz/bizFileInfo/contractFile/IMGPreviewCheckBox.vue +25 -10
  13. package/packages/src/views/biz/bizFileInfo/contractFile/SectionSlot.vue +11 -3
  14. package/packages/src/views/biz/bizFileInfo/fileShow.vue +11 -5
  15. package/packages/src/views/biz/bizShipment/add.vue +67 -38
  16. package/packages/src/views/biz/contractTracing/billInfo.vue +17 -9
  17. package/packages/src/views/biz/contractTracing/changrLogList.vue +67 -0
  18. package/packages/src/views/biz/contractTracing/companyBanks.vue +19 -8
  19. package/packages/src/views/biz/contractTracing/contractClause.vue +356 -0
  20. package/packages/src/views/biz/contractTracing/contractClauseComponenrts/TextContent.vue +53 -0
  21. package/packages/src/views/biz/contractTracing/contractPdf.vue +16 -175
  22. package/packages/src/views/biz/contractTracing/contractSummary.vue +101 -73
  23. package/packages/src/views/biz/contractTracing/contractTracingDetail.vue +5 -77
  24. package/packages/src/views/biz/contractTracing/editBill.vue +35 -27
  25. package/packages/src/views/biz/contractTracing/info.vue +363 -0
  26. package/packages/src/views/biz/contractTracing/purchaseInvoiceUpload.vue +5 -2
  27. package/packages/src/views/biz/contractTracing/queryDeductionRecords.vue +103 -0
  28. package/packages/src/views/biz/contractTracing/shipmentPurchaseAmount.vue +361 -79
  29. 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 {
@@ -51,15 +51,18 @@
51
51
  </el-col>
52
52
  <el-col :span="6">
53
53
  <el-form-item label="ETA" prop="eta" label-width="100">
54
- <el-date-picker
55
- style="width: 75%"
56
- clearable
57
- size="small"
58
- v-model="form.eta"
59
- type="date"
60
- value-format="yyyy-MM-dd HH:mm:ss"
61
- placeholder="请选择预计到港日期"
62
- ></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>
63
66
  </el-form-item>
64
67
  </el-col>
65
68
  <el-col :span="6">
@@ -211,7 +214,7 @@
211
214
  v-model="scope2.row.packageGrossWeight"
212
215
  placeholder="请输入毛重"
213
216
  size="mini"
214
- type="number"
217
+ v-decimal="3"
215
218
  @input="limitDecimalPlaces(index, scope1.$index, scope2.$index, scope2.row, 'packageGrossWeight')"
216
219
  ></el-input>
217
220
  </el-form-item>
@@ -230,7 +233,7 @@
230
233
  v-model="scope2.row.packageTareWeight"
231
234
  placeholder="请输入皮重"
232
235
  size="mini"
233
- type="number"
236
+ v-decimal="3"
234
237
  @input="limitDecimalPlaces(index, scope1.$index, scope2.$index, scope2.row, 'packageTareWeight')"
235
238
  ></el-input>
236
239
  </el-form-item>
@@ -249,7 +252,7 @@
249
252
  v-model="scope2.row.packageNetWeight"
250
253
  placeholder="请输入净重"
251
254
  size="mini"
252
- type="number"
255
+ v-decimal="3"
253
256
  @input="limitDecimalPlaces(index, scope1.$index, scope2.$index, scope2.row, 'packageNetWeight')"
254
257
  ></el-input>
255
258
  </el-form-item>
@@ -455,7 +458,8 @@ import {
455
458
  updateWithContainer,
456
459
  updateWithContainerAndInvoice,
457
460
  saveDraft,
458
- getDraft
461
+ getDraft,
462
+ refreshUpdateTime
459
463
  } from '../../../api/biz/bizShipment'
460
464
  import { generateFinalInvoiceByShipmentId } from '../../../api/biz/bizInvoice'
461
465
  import { updateBizContractDetail } from '../../../api/biz/bizContractDetail'
@@ -682,13 +686,13 @@ export default {
682
686
  },
683
687
 
684
688
  limitDecimalPlaces(index, scope1Index, scope2Index, data, type) {
685
- let value = data[type]
686
- const decimalPlaces = 3
687
- if (!isNaN(value)) {
688
- value = parseFloat(value).toFixed(decimalPlaces)
689
- value = parseFloat(value).toString()
690
- data[type] = value
691
- }
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
+ // }
692
696
  if (type == 'packageGrossWeight') {
693
697
  this.changePackageGrossWeight(index, scope1Index, scope2Index)
694
698
  } else if (type == 'packageTareWeight') {
@@ -698,21 +702,27 @@ export default {
698
702
  },
699
703
 
700
704
  changePackageGrossWeight(index, k, yindex) {
701
- this.form.containerList[index].containerDetailList[k].goodsGrossWeight = this.form.containerList[index].containerDetailList[k].packageList.reduce((total, item) => {
702
- return total + Number(item.packageGrossWeight)
703
- }, 0)
704
- this.form.containerList[index].totalGoodsGrossWeight = this.form.containerList[index].containerDetailList.reduce((total, item) => {
705
- return total + Number(item.goodsGrossWeight)
706
- }, 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)
707
715
  //计算净重
708
716
  this.form.containerList[index].containerDetailList[k].packageList[yindex].packageNetWeight = (
709
717
  this.form.containerList[index].containerDetailList[k].packageList[yindex].packageGrossWeight -
710
718
  this.form.containerList[index].containerDetailList[k].packageList[yindex].packageTareWeight
711
719
  ).toFixed(3)
712
720
 
713
- this.form.containerList[index].containerDetailList[k].goodsNetWeight = this.form.containerList[index].containerDetailList[k].packageList.reduce((total, item) => {
714
- return total + Number(item.packageNetWeight)
715
- }, 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)
716
726
 
717
727
  this.form.containerList[index].totalGoodsNetWeight = this.form.containerList[index].containerDetailList
718
728
  .reduce((total, item) => {
@@ -722,21 +732,27 @@ export default {
722
732
  },
723
733
  changePackageTareWeight(index, k, yindex) {
724
734
  //计算皮重
725
- this.form.containerList[index].containerDetailList[k].goodsTareWeight = this.form.containerList[index].containerDetailList[k].packageList.reduce((total, item) => {
726
- return total + Number(item.packageTareWeight)
727
- }, 0)
728
- this.form.containerList[index].totalGoodsTareWeight = this.form.containerList[index].containerDetailList.reduce((total, item) => {
729
- return total + Number(item.goodsTareWeight)
730
- }, 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)
731
745
  //计算净重
732
746
  this.form.containerList[index].containerDetailList[k].packageList[yindex].packageNetWeight = (
733
747
  this.form.containerList[index].containerDetailList[k].packageList[yindex].packageGrossWeight -
734
748
  this.form.containerList[index].containerDetailList[k].packageList[yindex].packageTareWeight
735
749
  ).toFixed(3)
736
750
 
737
- this.form.containerList[index].containerDetailList[k].goodsNetWeight = this.form.containerList[index].containerDetailList[k].packageList.reduce((total, item) => {
738
- return total + Number(item.packageNetWeight)
739
- }, 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)
740
756
 
741
757
  this.form.containerList[index].totalGoodsNetWeight = this.form.containerList[index].containerDetailList
742
758
  .reduce((total, item) => {
@@ -1317,6 +1333,19 @@ export default {
1317
1333
  this.isDraft = false
1318
1334
  }
1319
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
+ }
1320
1349
  }
1321
1350
  }
1322
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>
@@ -12,7 +12,7 @@
12
12
  v-for="(bankData, i) in bankList"
13
13
  :key="i"
14
14
  class="bank-container"
15
- :class="{ 'bank-container-select': !disableSelect && sellectIndex == i, 'bank-container-unselect': disableSelect || sellectIndex != i }"
15
+ :class="{ 'bank-container-select': sellectIndex == i, 'bank-container-unselect': sellectIndex != i }"
16
16
  @click="clickSelct(i)"
17
17
  >
18
18
  <el-row style="padding-bottom: 20px">
@@ -34,15 +34,18 @@
34
34
  <el-col :span="24">
35
35
  <div class="bank-item">Beneficiary Address:{{ bankData.beneficiaryAddress }}</div>
36
36
  </el-col>
37
+ <el-col :span="24">
38
+ <div class="bank-item" style="display:flex;"><p>Remark:</p><p style="white-space: pre-wrap;">{{ bankData.remark }}</p></div>
39
+ </el-col>
37
40
  </el-row>
38
41
  </div>
39
42
  <!-- 添加入口 -->
40
43
  <div v-if="!bankList || bankList.length == 0" style="padding-left: 30px; padding-top: 10px">
41
44
  <span>未添加收款账户信息,</span>
42
- <el-button type="text" size="mini" @click="clickAdd">去添加</el-button>
45
+ <el-button type="text" size="mini" v-hasPermi="['biz:company:payment:account:add']" @click="clickAdd">去添加</el-button>
43
46
  </div>
44
47
  <div v-else-if="bankList && bankList.length < 3" style="padding-left: 30px; padding-top: 10px">
45
- <el-button type="text" size="mini" @click="clickAdd">去添加</el-button>
48
+ <el-button type="text" size="mini" @click="clickAdd" v-hasPermi="['biz:company:payment:account:add']">去添加</el-button>
46
49
  <span>收款账户信息</span>
47
50
  </div>
48
51
  <!-- 添加收款账户弹框 -->
@@ -79,6 +82,11 @@
79
82
  <el-input maxlength="500" v-model="form.beneficiaryAddress" placeholder="请输入内容" />
80
83
  </el-form-item>
81
84
  </el-col>
85
+ <el-col :span="18">
86
+ <el-form-item label="Remark" label-width="150px">
87
+ <el-input maxlength="500" type="textarea" rows="4" v-model="form.remark" placeholder="请输入内容" />
88
+ </el-form-item>
89
+ </el-col>
82
90
  </el-row>
83
91
  </el-form>
84
92
  <div slot="footer" class="dialog-footer">
@@ -137,7 +145,8 @@ export default {
137
145
  bankAddress: null,
138
146
  beneficiaryAccount: null,
139
147
  beneficiary: null,
140
- beneficiaryAddress: null
148
+ beneficiaryAddress: null,
149
+ remark: null,
141
150
  },
142
151
  rules: {}
143
152
  }
@@ -154,13 +163,15 @@ export default {
154
163
  bankAddress: null,
155
164
  beneficiaryAccount: null,
156
165
  beneficiary: null,
157
- beneficiaryAddress: null
166
+ beneficiaryAddress: null,
167
+ remark: null,
158
168
  }
159
169
  },
160
170
  handleCaclSelectIndex() {
161
- if (!this.disableSelect && this.accountId) {
171
+ if (this.accountId) {
162
172
  this.sellectIndex = this.bankList.findIndex((item) => item.accountId == this.accountId)
163
- if (this.sellectIndex == -1) {
173
+ console.log('---sellectIndex:', this.sellectIndex)
174
+ if (this.sellectIndex == -1 && !this.disableSelect) {
164
175
  console.log('pre accountId invalide')
165
176
  this.$emit('selectBank', null)
166
177
  }
@@ -194,7 +205,7 @@ export default {
194
205
  },
195
206
  clickConfirm() {
196
207
  let e = this.form
197
- if (!(e.swiftCode || e.bankName || e.bankAddress || e.beneficiaryAccount || e.beneficiary || e.beneficiaryAddress)) {
208
+ if (!(e.swiftCode || e.bankName || e.bankAddress || e.beneficiaryAccount || e.beneficiary || e.beneficiaryAddress || e.remark)) {
198
209
  this.$modal.msgError('请输入内容')
199
210
  return
200
211
  }