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

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 (44) 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 +1591 -967
  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/fileShow copy.vue +321 -0
  25. package/packages/src/views/biz/bizFileInfo/fileShow.vue +178 -130
  26. package/packages/src/views/biz/bizFileInfo/fileShowClaim.vue +1 -1
  27. package/packages/src/views/biz/bizShipment/add.vue +111 -66
  28. package/packages/src/views/biz/contractTracing/addSubCompany.vue +106 -169
  29. package/packages/src/views/biz/contractTracing/billInfo.vue +150 -315
  30. package/packages/src/views/biz/contractTracing/contractPdf.vue +31 -20
  31. package/packages/src/views/biz/contractTracing/contractSummary.vue +286 -629
  32. package/packages/src/views/biz/contractTracing/contractTracingDetail copy.vue +107 -0
  33. package/packages/src/views/biz/contractTracing/contractTracingDetail.vue +202 -8
  34. package/packages/src/views/biz/contractTracing/editBill.vue +219 -359
  35. package/packages/src/views/biz/contractTracing/purchaseInvoiceUpload.vue +91 -3
  36. package/packages/src/views/biz/contractTracing/shipmentPurchaseAmount.vue +8 -2
  37. package/packages/src/views/biz/contractTracing/subCompanyDialog.vue +196 -176
  38. package/packages/src/views/biz/contractTracing/association.vue +0 -189
  39. package/packages/src/views/biz/contractTracing/chargingDialog.vue +0 -84
  40. package/packages/src/views/biz/contractTracing/contract.vue +0 -1276
  41. package/packages/src/views/biz/contractTracing/disputeRecord.vue +0 -311
  42. package/packages/src/views/biz/contractTracing/edit.vue +0 -205
  43. package/packages/src/views/biz/contractTracing/sendDrafEmail.vue +0 -120
  44. package/packages/src/views/biz/contractTracing/shipment.vue +0 -601
@@ -1,49 +1,54 @@
1
1
  <template>
2
2
  <div class="file-info" v-if="fileInfo.url">
3
3
  <div class="main">
4
- <el-checkbox v-if="!this.hiddenOperation" label="" @change="handleCheck">
4
+ <el-checkbox v-if="!this.hiddenOperation" label="" class="checkbox-position" @change="handleCheck" v-model="checkFlag">
5
5
  </el-checkbox>
6
6
  <div class="area">
7
7
  <div class="area-info">
8
- <div class="area-pdf" v-if="fileInfo.ext == '.pdf'"></div>
9
- <el-image
10
- style="width: 54px; height: 54px"
11
- :src="fileInfo.url"
12
- fit="contain"
13
- :preview-src-list="[fileInfo.url]"
14
- v-else-if="isImage(fileInfo.ext)"
15
- ></el-image>
8
+ <div class="area-pdf" v-if="isPdf(fileInfo.url)"></div>
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>
16
10
  <div class="area-file" v-else></div>
17
- <el-button
18
- type="text"
19
- size="mini"
20
- class="ml5"
21
- @click="openFile(fileInfo.url)"
22
- >{{ $t("contractDetail.preview") }}</el-button
23
- >
24
- <el-button type="text" size="mini" @click="handleDownload">
25
- {{ $t("contractDetail.download") }}
26
- </el-button>
27
- </div>
28
- <div v-if="!this.hiddenOperation">
29
- <el-dropdown trigger="click" @command="handleCommand">
30
- <span class="el-dropdown-link">
11
+ <div>
12
+ <div> {{ fileInfo.fileName }}</div>
13
+ <div class="preview-download-root">
14
+ <div
15
+ type="text"
16
+ size="mini"
17
+ class="preview-download"
18
+ @click="openFile(fileInfo.url)"
19
+ >{{ $t("contractDetail.preview") }}</div
20
+ >
21
+ <div class="preview-download" type="text" size="mini" @click="handleDownload">
22
+ {{ $t("contractDetail.download") }}
23
+ </div>
24
+ <div v-if="!this.hiddenOperation">
25
+ <el-dropdown trigger="click" @command="handleCommand">
26
+ <span class="el-dropdown-link">
27
+ <div class="more-icon"></div>
28
+ </span>
29
+
30
+ <el-dropdown-menu slot="dropdown" v-if="type == 'signContract'" >
31
+ <el-dropdown-item command="signContract">
32
+ 撤回回签
33
+ </el-dropdown-item>
34
+ <el-dropdown-item command="rename">重命名</el-dropdown-item>
35
+ </el-dropdown-menu>
36
+ <el-dropdown-menu slot="dropdown" v-else >
37
+ <el-dropdown-item command="delete">{{
38
+ $t("contractDetail.delete")
39
+ }}</el-dropdown-item>
40
+ <el-dropdown-item command="rename">重命名</el-dropdown-item>
41
+ <!-- <el-dropdown-item command="deleteAndUpload">
42
+ {{ $t("contractDetail.deleteAndUpload") }}
43
+ </el-dropdown-item> -->
44
+ </el-dropdown-menu>
45
+ </el-dropdown>
46
+ </div>
47
+ <div v-else style="width:120px;word-break:break-all">
31
48
  {{ fileInfo.fileName }}
32
- <i class="el-icon-arrow-down el-icon--right"></i>
33
- </span>
34
- <el-dropdown-menu slot="dropdown">
35
- <el-dropdown-item command="delete">{{
36
- $t("contractDetail.delete")
37
- }}</el-dropdown-item>
38
- <el-dropdown-item command="rename">重命名</el-dropdown-item>
39
- <el-dropdown-item command="deleteAndUpload">
40
- {{ $t("contractDetail.deleteAndUpload") }}
41
- </el-dropdown-item>
42
- </el-dropdown-menu>
43
- </el-dropdown>
44
- </div>
45
- <div v-else style="width:120px;word-break:break-all">
46
- {{ fileInfo.fileName }}
49
+ </div>
50
+ </div>
51
+ </div>
47
52
  </div>
48
53
  </div>
49
54
  </div>
@@ -56,86 +61,87 @@
56
61
  </el-form-item>
57
62
  </el-form>
58
63
  <div slot="footer" class="dialog-footer">
59
- <el-button type="primary" @click="submitForm">{{
60
- $t("button.confirm")
61
- }}</el-button>
62
- <el-button @click="cancel">{{ $t("button.cancel") }}</el-button>
64
+ <el-button type="primary" @click="submitForm">{{ $t('button.confirm') }}</el-button>
65
+ <el-button @click="cancel">{{ $t('button.cancel') }}</el-button>
63
66
  </div>
64
67
  </el-dialog>
65
68
 
66
69
  <!-- 上传文件信息对话框 -->
67
- <el-dialog
68
- :title="title"
69
- :visible.sync="uploadOpen"
70
- width="550px"
71
- append-to-body
72
- >
70
+ <el-dialog :title="title" :visible.sync="uploadOpen" width="550px" append-to-body>
73
71
  <el-form ref="form" :model="uploadForm" label-width="100px">
74
72
  <file-upload v-model="uploadForm.fileInfoList"> </file-upload>
75
73
  </el-form>
76
74
  <div slot="footer" class="dialog-footer">
77
- <el-button type="primary" @click="submitUploadForm">{{
78
- $t("button.confirm")
79
- }}</el-button>
80
- <el-button @click="cancel">{{ $t("button.cancel") }}</el-button>
75
+ <el-button type="primary" @click="submitUploadForm">{{ $t('button.confirm') }}</el-button>
76
+ <el-button @click="cancel">{{ $t('button.cancel') }}</el-button>
81
77
  </div>
82
78
  </el-dialog>
83
79
  </div>
84
80
  </template>
85
81
  <script>
86
- import { downloadFile } from "../../../utils/request";
87
- import {
88
- getBizFileInfo,
89
- delBizFileInfo,
90
- addBizFileInfo,
91
- updateBizFileInfo,
92
- } from "../../../api/biz/bizFileInfo";
82
+ import { downloadFile } from '../../../utils/request'
83
+ import { getBizFileInfo, delBizFileInfo, addBizFileInfo, updateBizFileInfo } from '../../../api/biz/bizFileInfo'
84
+ import { isImage, isPdf } from '../../../utils/index';
85
+
93
86
  export default {
94
- name: "FileShow",
87
+ name: 'FileShow',
95
88
  props: {
96
89
  // 文件信息
97
90
  fileInfo: {
98
91
  type: Object,
99
92
  default: () => {
100
93
  return {
101
- url: "",
102
- fileName: "",
103
- ext: "",
104
- };
105
- },
94
+ url: '',
95
+ fileName: '',
96
+ ext: ''
97
+ }
98
+ }
99
+ },
100
+ selectFileListProp: {
101
+ type: Array,
102
+ default: () => {
103
+ return []
104
+ }
106
105
  },
107
106
  //是否隐藏操作
108
107
  hiddenOperation: {
109
108
  type: Boolean,
110
109
  default: false,
111
110
  },
111
+ type: {
112
+ type: String,
113
+ default: '',
114
+ },
112
115
  },
113
116
  data() {
114
117
  return {
118
+ isImage,
119
+ isPdf,
115
120
  checkedIds: [],
116
121
  //是否显示上传弹出层
117
122
  uploadOpen: false,
118
123
  // 是否显示弹出层
119
124
  open: false,
120
125
  // 弹出层标题
121
- title: "",
126
+ title: '',
122
127
  // 表单参数
123
128
  form: {},
124
129
  //上传表单
125
130
  uploadForm: {},
126
- };
127
- },
131
+ checkFlag: false
132
+ }
133
+ },
128
134
  computed: {
129
135
  fileId() {
130
- return this.fileInfo.fileId;
131
- },
136
+ return this.fileInfo.fileId
137
+ }
132
138
  },
133
139
  methods: {
134
140
  // 取消按钮
135
141
  cancel() {
136
- this.open = false;
137
- this.uploadOpen = false;
138
- this.reset();
142
+ this.open = false
143
+ this.uploadOpen = false
144
+ this.reset()
139
145
  },
140
146
  // 表单重置
141
147
  reset() {
@@ -147,8 +153,8 @@ export default {
147
153
  fileType: null,
148
154
  url: null,
149
155
  createTime: null,
150
- ext: null,
151
- };
156
+ ext: null
157
+ }
152
158
  this.uploadForm = {
153
159
  fileId: null,
154
160
  linkId: null,
@@ -158,81 +164,81 @@ export default {
158
164
  url: null,
159
165
  createTime: null,
160
166
  ext: null,
161
- fileInfoList: [],
162
- };
163
- this.resetForm("form");
167
+ fileInfoList: []
168
+ }
169
+ this.resetForm('form')
164
170
  },
165
171
  /** 提交按钮 */
166
172
  submitForm() {
167
- this.$refs["form"].validate((valid) => {
173
+ this.$refs['form'].validate((valid) => {
168
174
  if (valid) {
169
175
  if (this.form.fileId != null) {
170
176
  updateBizFileInfo(this.form).then((response) => {
171
- this.$modal.msgSuccess("修改成功");
172
- this.open = false;
173
- this.$emit("refresh");
174
- });
177
+ this.$modal.msgSuccess('修改成功')
178
+ this.open = false
179
+ this.$emit('refresh')
180
+ })
175
181
  } else {
176
182
  addBizFileInfo(this.form).then((response) => {
177
- this.$modal.msgSuccess("新增成功");
178
- this.open = false;
179
- this.$emit("refresh");
180
- });
183
+ this.$modal.msgSuccess('新增成功')
184
+ this.open = false
185
+ this.$emit('refresh')
186
+ })
181
187
  }
182
188
  }
183
- });
189
+ })
184
190
  },
185
191
  /** 修改按钮操作 */
186
192
  handleUpdate(row) {
187
- this.reset();
188
- const fileId = row.fileId || this.ids;
193
+ this.reset()
194
+ const fileId = row.fileId || this.ids
189
195
  getBizFileInfo(fileId).then((response) => {
190
- this.form = response.data;
191
- this.open = true;
192
- this.title = "修改文件信息";
193
- });
196
+ this.form = response.data
197
+ this.open = true
198
+ this.title = '修改文件信息'
199
+ })
194
200
  },
195
201
  /** 删除按钮操作 */
196
202
  handleDelete(row) {
197
- const fileIds = row.fileId || this.ids;
203
+ const fileIds = row.fileId || this.ids
198
204
  this.$modal
199
- .confirm("是否确认删除该文件?")
205
+ .confirm('是否确认删除该文件?')
200
206
  .then(function () {
201
- return delBizFileInfo(fileIds);
207
+ return delBizFileInfo(fileIds)
202
208
  })
203
209
  .then(() => {
204
- this.$emit("refresh");
205
- this.$modal.msgSuccess("删除成功");
210
+ this.$emit('refresh')
211
+ this.$modal.msgSuccess('删除成功')
206
212
  })
207
- .catch(() => {});
213
+ .catch(() => {})
208
214
  },
209
215
  submitUploadForm() {
210
- console.log(this.uploadForm);
216
+ console.log(this.uploadForm)
211
217
  addBizFileInfo(this.uploadForm).then((response) => {
212
- this.$modal.msgSuccess("上传成功");
213
- this.uploadOpen = false;
214
- this.$emit("refresh");
215
- });
218
+ this.$modal.msgSuccess('上传成功')
219
+ this.uploadOpen = false
220
+ this.$emit('refresh')
221
+ })
216
222
  },
217
223
  handleDeleteAndUpload(row) {
218
- const fileId = row.fileId;
224
+ const fileId = row.fileId
219
225
  this.$modal
220
- .confirm("是否确认删除该文件并重新上传?")
226
+ .confirm('是否确认删除该文件并重新上传?')
221
227
  .then(function () {
222
- return delBizFileInfo(fileId);
228
+ return delBizFileInfo(fileId)
223
229
  })
224
230
  .then(() => {
225
- this.$modal.msgSuccess("删除成功");
226
- this.reset();
227
- this.uploadOpen = true;
231
+ this.$modal.msgSuccess('删除成功')
232
+ this.reset()
233
+ this.uploadOpen = true
228
234
  this.uploadForm = {
229
235
  linkId: row.linkId,
230
236
  linkType: row.linkType,
231
- fileType: row.fileType,
232
- };
233
- this.title = "上传文件";
237
+ fileType: row.fileType
238
+ }
239
+ this.title = '上传文件'
234
240
  })
235
- .catch(() => {});
241
+ .catch(() => {})
236
242
  },
237
243
  handleCommand(command) {
238
244
  switch (command) {
@@ -242,41 +248,57 @@ export default {
242
248
  case "rename":
243
249
  this.handleUpdate(this.fileInfo);
244
250
  break;
251
+ case "signContract":
252
+ this.$emit("signContract", this.fileInfo);
253
+ break;
245
254
  case "deleteAndUpload":
246
255
  this.handleDeleteAndUpload(this.fileInfo);
247
256
  break;
248
257
  default:
249
- break;
258
+ break
250
259
  }
251
260
  },
252
- isImage(ext) {
253
- return [".jpg", ".jpeg", ".png", ".gif"].includes(ext);
254
- },
255
261
  /** 下载文件 */
256
262
  handleDownload() {
257
263
  // this.download(this.fileInfo.url, {}, this.fileInfo.fileName);
258
- downloadFile(this.fileInfo.url, this.fileInfo.fileName);
264
+ downloadFile(this.fileInfo.url, this.fileInfo.fileName)
259
265
  },
260
266
  openFile(url) {
261
- window.open(url);
267
+ window.open(url)
262
268
  },
263
269
  handleCheck(val) {
264
270
  if (val) {
265
- this.$emit("checked", this.fileInfo);
271
+ this.$emit('checked', this.fileInfo)
272
+ this.checkFlag = true
266
273
  } else {
267
- this.$emit("uncheck", this.fileInfo.fileId);
274
+ this.$emit('uncheck', this.fileInfo.fileId)
275
+ this.checkFlag = false
268
276
  }
269
- },
277
+ }
270
278
  },
271
- };
279
+ watch: {
280
+ selectFileListProp: {
281
+ handler(val) {
282
+ if(val == 0) {
283
+ this.checkFlag = false
284
+ }
285
+ },
286
+ immediate: true,
287
+ deep: true
288
+ }
289
+ }
290
+ }
272
291
  </script>
273
292
  <style lang="scss" scoped>
274
293
  .file-info {
275
- width: 160px;
294
+ min-width: 450px;
276
295
  display: flex;
277
296
  // border: 1px solid red;
278
297
  .main {
279
298
  display: flex;
299
+ .checkbox-position {
300
+ margin-top: 10px;
301
+ }
280
302
  .area {
281
303
  margin-left: 5px;
282
304
  width: 100%;
@@ -287,15 +309,42 @@ export default {
287
309
  .area-pdf {
288
310
  width: 38px;
289
311
  height: 46px;
290
- background: url("../../../assets/images/pdf.png") no-repeat center;
312
+ background: url("../../../assets/images/pdf-new.png") no-repeat center;
291
313
  background-size: contain;
292
314
  }
293
315
  .area-file {
294
316
  width: 38px;
295
317
  height: 46px;
296
- background: url("../../../assets/images/file.png") no-repeat center;
318
+ background: url('../../../assets/images/file.png') no-repeat center;
319
+ background-size: contain;
320
+ }
321
+ .more-icon {
322
+ margin-left:10px;
323
+ cursor: pointer;
324
+ width: 20px;
325
+ height: 20px;
326
+ background: url("../../../assets/images/more.png") no-repeat center;
297
327
  background-size: contain;
298
328
  }
329
+ .preview-download-root {
330
+ display:flex;
331
+ margin-top:5px;
332
+
333
+ .preview-download {
334
+ cursor: pointer;
335
+ margin-left:8px;
336
+ min-width: 45px;
337
+ width:max-content;
338
+ padding: 0 10px;
339
+ height: 21px;
340
+ text-align: center;
341
+ line-height: 17px;
342
+ background: #FFFFFF;
343
+ border-radius: 11px;
344
+ font-size:12px;
345
+ border: 2px solid #D1D3D4;
346
+ }
347
+ }
299
348
  }
300
349
  }
301
350
  .filename {
@@ -307,8 +356,7 @@ export default {
307
356
  word-wrap: break-word;
308
357
  }
309
358
  }
310
- ::v-deep .el-dropdown {
311
- }
359
+
312
360
  .el-dropdown-link {
313
361
  cursor: pointer;
314
362
  color: #409eff;
@@ -269,7 +269,7 @@ export default {
269
269
  .area-pdf {
270
270
  width: 38px;
271
271
  height: 46px;
272
- background-image: url("../../../assets/images/pdf.png") no-repeat
272
+ background-image: url("../../../assets/images/pdf-new.png") no-repeat
273
273
  center;
274
274
  background-size: contain;
275
275
  }