反馈页面优化

This commit is contained in:
dqjdda
2019-08-22 10:50:41 +08:00
parent c573b4e3b5
commit d0e72ece9f
2 changed files with 22 additions and 22 deletions

View File

@@ -6,12 +6,12 @@
<div :class="{'fixed-header':fixedHeader}"> <div :class="{'fixed-header':fixedHeader}">
<navbar /> <navbar />
<div class="feedback"> <div class="feedback">
<el-tooltip class="item" effect="dark" content="建议反馈" placement="left"> <el-tooltip class="item" effect="dark" content="建议反馈" placement="left">
<el-button type="text" @click="doFeedback"> <el-button type="text" @click="doFeedback">
<svg-icon style="font-size: 28px;color: #606266;" icon-class="codeConsole" /> <svg-icon style="font-size: 28px;color: #606266;" icon-class="codeConsole" />
</el-button> </el-button>
</el-tooltip> </el-tooltip>
</div> </div>
<tags-view v-if="needTagsView" /> <tags-view v-if="needTagsView" />
</div> </div>
<app-main /> <app-main />
@@ -19,7 +19,7 @@
<settings /> <settings />
</right-panel> </right-panel>
</div> </div>
<feedback :showDialog.sync="feedbackShow"></feedback> <feedback :show-dialog.sync="feedbackShow"/>
</div> </div>
</template> </template>
@@ -41,12 +41,12 @@ export default {
RightPanel, RightPanel,
feedback feedback
}, },
mixins: [ResizeMixin],
data() { data() {
return { return {
feedbackShow: false feedbackShow: false
} }
}, },
mixins: [ResizeMixin],
computed: { computed: {
...mapState({ ...mapState({
sidebar: state => state.app.sidebar, sidebar: state => state.app.sidebar,

View File

@@ -1,24 +1,24 @@
<template> <template>
<div> <div>
<el-dialog <el-dialog
:visible.sync="show"
data-html2canvas-ignore="true" data-html2canvas-ignore="true"
title="意见反馈" title="意见反馈"
:visible.sync="show"
class class
@open="init"
width="60%" width="60%"
@close="close"
center center
@open="init"
@close="close"
> >
<el-form :model="feedback" ref="form" label-width="0px" class="feedback-add-form"> <el-form ref="form" :model="feedback" label-width="0px" class="feedback-add-form">
<el-form-item label prop="info"> <el-form-item label prop="info">
<el-input v-model="feedback.info" :rows="2" type="textarea" placeholder="告诉我们你的建议或遇到的问题。"></el-input> <el-input v-model="feedback.info" :rows="2" type="textarea" placeholder="告诉我们你的建议或遇到的问题。"/>
</el-form-item> </el-form-item>
<el-form-item label> <el-form-item label>
<span>屏幕截图 (可选)</span> <span>屏幕截图 (可选)</span>
</el-form-item> </el-form-item>
<el-form-item label v-show="submitScreenshot" v-loading="dataLoading"> <el-form-item v-loading="dataLoading" v-show="submitScreenshot" label>
<div id="screenshot"></div> <div id="screenshot"/>
</el-form-item> </el-form-item>
<el-form-item label> <el-form-item label>
<el-checkbox v-model="submitScreenshot">提交屏幕截图</el-checkbox> <el-checkbox v-model="submitScreenshot">提交屏幕截图</el-checkbox>
@@ -26,10 +26,10 @@
</el-form> </el-form>
<el-button <el-button
slot="footer" slot="footer"
:loading="confirmLoading"
class="confirm-btn" class="confirm-btn"
type="primary" type="primary"
@click="submit" @click="submit"
:loading="confirmLoading"
>提交</el-button> >提交</el-button>
</el-dialog> </el-dialog>
</div> </div>
@@ -84,14 +84,14 @@ export default {
this.dataLoading = true this.dataLoading = true
this.$nextTick(() => { this.$nextTick(() => {
// modal层处理截屏时忽略遮罩层 // modal层处理截屏时忽略遮罩层
let modals = document.getElementsByClassName('v-modal') const modals = document.getElementsByClassName('v-modal')
for (let i = 0; i < modals.length; i++) { for (let i = 0; i < modals.length; i++) {
modals[i].setAttribute('data-html2canvas-ignore', 'true') modals[i].setAttribute('data-html2canvas-ignore', 'true')
} }
html2canvas(document.body, { logging: false }) html2canvas(document.body, { logging: false })
.then(canvas => { .then(canvas => {
let screenshot = document.getElementById('screenshot') const screenshot = document.getElementById('screenshot')
canvas.setAttribute('style', 'width:100%') canvas.setAttribute('style', 'width:100%')
screenshot.appendChild(canvas) screenshot.appendChild(canvas)
this.dataLoading = false this.dataLoading = false
@@ -111,18 +111,18 @@ export default {
}, },
close() { close() {
let screenshot = document.getElementById('screenshot') const screenshot = document.getElementById('screenshot')
let canvas = screenshot.getElementsByTagName('canvas')[0] const canvas = screenshot.getElementsByTagName('canvas')[0]
screenshot.removeChild(canvas) screenshot.removeChild(canvas)
}, },
async submit() { async submit() {
try { try {
this.confirmLoading = true this.confirmLoading = true
let formData = new FormData() const formData = new FormData()
if (window.sdb) { if (window.sdb) {
if (this.submitScreenshot) { if (this.submitScreenshot) {
let screenshot = window.sdb.getImg() const screenshot = window.sdb.getImg()
formData.append('file', screenshot) formData.append('file', screenshot)
} }
formData.append('feedback', this.feedback.info) formData.append('feedback', this.feedback.info)