|
@@ -870,7 +870,7 @@ export default {
|
|
|
this.historyVisible = true
|
|
this.historyVisible = true
|
|
|
break
|
|
break
|
|
|
case 'export':
|
|
case 'export':
|
|
|
- this.handleExport()
|
|
|
|
|
|
|
+ this.handleExport(this)
|
|
|
break
|
|
break
|
|
|
case 'record':
|
|
case 'record':
|
|
|
this.recordVisible = true
|
|
this.recordVisible = true
|
|
@@ -1151,21 +1151,31 @@ export default {
|
|
|
})
|
|
})
|
|
|
})
|
|
})
|
|
|
},
|
|
},
|
|
|
- async handleExport () {
|
|
|
|
|
- const element = this.$refs.schedule
|
|
|
|
|
- // 使用 html2canvas 渲染 DOM 元素
|
|
|
|
|
- html2canvas(element, {
|
|
|
|
|
- scrollX: 0,
|
|
|
|
|
- scrollY: -10,
|
|
|
|
|
- width: element.scrollWidth,
|
|
|
|
|
- height: element.scrollHeight
|
|
|
|
|
- }).then(canvas => {
|
|
|
|
|
- const link = document.createElement('a')
|
|
|
|
|
- link.href = canvas.toDataURL('image/png')
|
|
|
|
|
- link.download = `${this.formData.title || '排班'}.png`
|
|
|
|
|
- link.click()
|
|
|
|
|
- }).catch(err => {
|
|
|
|
|
- console.error('导出失败', err)
|
|
|
|
|
|
|
+ async handleExport (self) {
|
|
|
|
|
+ this.loading = true
|
|
|
|
|
+ const step = this.activeStep
|
|
|
|
|
+ this.activeStep = 2
|
|
|
|
|
+ self.$nextTick(() => {
|
|
|
|
|
+ const element = self.$refs.schedule
|
|
|
|
|
+ if (element) {
|
|
|
|
|
+ // 使用 html2canvas 渲染 DOM 元素
|
|
|
|
|
+ html2canvas(element, {
|
|
|
|
|
+ scrollX: 0,
|
|
|
|
|
+ scrollY: -10,
|
|
|
|
|
+ width: element.scrollWidth,
|
|
|
|
|
+ height: element.scrollHeight
|
|
|
|
|
+ }).then(canvas => {
|
|
|
|
|
+ const link = document.createElement('a')
|
|
|
|
|
+ link.href = canvas.toDataURL('image/png')
|
|
|
|
|
+ link.download = `${self.formData.title || '排班'}.png`
|
|
|
|
|
+ link.click()
|
|
|
|
|
+ this.activeStep = step
|
|
|
|
|
+ this.loading = false
|
|
|
|
|
+ }).catch(err => {
|
|
|
|
|
+ this.loading = false
|
|
|
|
|
+ console.error('导出失败', err)
|
|
|
|
|
+ })
|
|
|
|
|
+ }
|
|
|
})
|
|
})
|
|
|
},
|
|
},
|
|
|
handleReset () {
|
|
handleReset () {
|