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

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.
@@ -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,17 @@ 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
+ return !this.hasClicked
101
+ },
90
102
  checkAll1() {
91
103
  this.imgList.forEach((item) => {
92
104
  item.checked = true;
@@ -192,9 +204,9 @@ export default {
192
204
  watch: {
193
205
  imgArr: {
194
206
  handler(val) {
207
+ this.imgList = [];
208
+ this.srcList = [];
195
209
  if(val.length) {
196
- this.imgList = [];
197
- this.srcList = [];
198
210
  val.forEach((item) => {
199
211
  let coverUrl = this.othersFile(item.url)
200
212
  this.imgList.push({
@@ -291,7 +303,7 @@ export default {
291
303
  .batch-download {
292
304
  position: absolute;
293
305
  top: -41px;
294
- left: 620px;
306
+ left: 650px;
295
307
  min-width: 80px;
296
308
  width:max-content;
297
309
  padding:0 10px;
@@ -300,11 +312,12 @@ export default {
300
312
  text-align: center;
301
313
  border-radius: 10px;
302
314
  background-color: #54B8FF;
315
+ color: white;
303
316
  cursor: pointer;
304
317
  font-size:12px;
305
318
  }
306
319
  .batch-delete {
307
- left: 710px;
320
+ left: 740px;
308
321
  }
309
322
  }
310
323
 
@@ -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 {
@@ -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
  })
@@ -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>
@@ -244,7 +245,13 @@
244
245
  :rules="rules.packageNetWeight"
245
246
  :prop="'containerList.' + index + '.containerDetailList.' + scope1.$index + '.packageList.' + scope2.$index + '.packageNetWeight'"
246
247
  >
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>
248
+ <el-input
249
+ v-model="scope2.row.packageNetWeight"
250
+ placeholder="请输入净重"
251
+ size="mini"
252
+ type="number"
253
+ @input="limitDecimalPlaces(index, scope1.$index, scope2.$index, scope2.row, 'packageNetWeight')"
254
+ ></el-input>
248
255
  </el-form-item>
249
256
  </template>
250
257
  </el-table-column>
@@ -384,7 +391,7 @@
384
391
  </el-row>
385
392
  </el-form>
386
393
  <div slot="footer" class="dialog-footer">
387
- <el-button type="warning" @click="onSaveDraft" style="margin-right: 10px">保存草稿</el-button>
394
+ <el-button type="warning" @click="onSaveDraft" style="margin-right: 10px" v-if="title === '生成装运'">保存草稿</el-button>
388
395
  <el-button type="primary" @click="submitShipment" style="margin-right: 10px">{{ title == '生成装运' ? '仅生成装运' : '保存草稿' }}</el-button>
389
396
  <el-dropdown @command="(command) => handleTemplate(command)" trigger="click" v-if="title == '生成装运'" style="margin-right: 10px">
390
397
  <el-button type="primary">{{ '装运并下载' }}</el-button>
@@ -547,7 +554,8 @@ export default {
547
554
  //编辑开关
548
555
  editSwitch: false,
549
556
  //
550
- currentRow: null
557
+ currentRow: null,
558
+ isDraft: false
551
559
  }
552
560
  },
553
561
  props: {
@@ -674,15 +682,15 @@ export default {
674
682
  },
675
683
 
676
684
  limitDecimalPlaces(index, scope1Index, scope2Index, data, type) {
677
- let value = data[type];
678
- const decimalPlaces = 3;
685
+ let value = data[type]
686
+ const decimalPlaces = 3
679
687
  if (!isNaN(value)) {
680
- value = parseFloat(value).toFixed(decimalPlaces);
681
- value = parseFloat(value).toString();
682
- data[type] = value;
688
+ value = parseFloat(value).toFixed(decimalPlaces)
689
+ value = parseFloat(value).toString()
690
+ data[type] = value
683
691
  }
684
692
  if (type == 'packageGrossWeight') {
685
- this.changePackageGrossWeight(index, scope1Index, scope2Index);
693
+ this.changePackageGrossWeight(index, scope1Index, scope2Index)
686
694
  } else if (type == 'packageTareWeight') {
687
695
  this.changePackageTareWeight(index, scope1Index, scope2Index)
688
696
  } else if (type == 'packageNetWeight') {
@@ -1299,11 +1307,14 @@ export default {
1299
1307
  }
1300
1308
  },
1301
1309
  async onGetDraft() {
1302
- if(this.form.contractIds) {
1310
+ if (this.form.contractIds) {
1303
1311
  const contractId = this.form.contractIds[0]
1304
1312
  const res = await getDraft(contractId)
1305
1313
  if (res.data) {
1314
+ this.isDraft = true
1306
1315
  this.form = res.data
1316
+ } else {
1317
+ this.isDraft = false
1307
1318
  }
1308
1319
  }
1309
1320
  }
@@ -26,17 +26,8 @@
26
26
  {{ tabsItem.label }}
27
27
  </div>
28
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
29
  </div>
39
- <div class="app-container-right">
30
+ <div class="app-container-right" :style="activeName == 'fourth' ? 'overflow:visible' : 'overflow:auto'">
40
31
  <contract-summary v-if="activeName == 'first'" :channel="channel"></contract-summary>
41
32
  <contract-info v-if="activeName == 'second'" :channel="channel"></contract-info>
42
33
  <!-- 提单指令 -->
@@ -54,7 +45,6 @@
54
45
  :contract="contract"
55
46
  :channel="channel"
56
47
  :buyerFlag="buyerFlag"
57
- :selectFileListProp="selectFileList"
58
48
  ref="contractFileRef"
59
49
  ></contract-file>
60
50
  </div>
@@ -106,7 +96,6 @@ import ContractSummary from './contractSummary.vue'
106
96
  import BillInfo from './billInfo.vue'
107
97
  import ContractFile from '../bizFileInfo/contract.vue'
108
98
  import ContractInfo from './contractInfo.vue'
109
- import { delBizFileInfo } from '../../../api/biz/bizFileInfo'
110
99
 
111
100
  export default {
112
101
  name: 'ContractTracingDetail',
@@ -165,7 +154,6 @@ export default {
165
154
  }
166
155
  ],
167
156
 
168
- selectFileList: [],
169
157
  // 提单指令列表
170
158
  blList: null,
171
159
  activeBillIndex: null
@@ -205,46 +193,7 @@ export default {
205
193
  console.log(e)
206
194
  })
207
195
  },
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
- },
196
+
248
197
  /**
249
198
  * @description: 切换tab
250
199
  * @param {*} tab
@@ -329,29 +278,8 @@ export default {
329
278
  height: 100%;
330
279
  overflow: auto;
331
280
  }
281
+
332
282
  }
333
283
  }
334
284
 
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
285
  </style>