反馈页面优化
This commit is contained in:
@@ -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,
|
||||||
|
|||||||
@@ -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)
|
||||||
|
|||||||
Reference in New Issue
Block a user