Commit c573b4e3 by dqjdda

Merge branch 'master' of gitee.com:elunez/eladmin-qt

parents 3746581c 1868e629
<template> <template>
<div> <div>
<el-dialog data-html2canvas-ignore="true" title="意见反馈" :visible.sync="show" class="" @open="init" width="60%" @close="close" center> <el-dialog
data-html2canvas-ignore="true"
title="意见反馈"
:visible.sync="show"
class
@open="init"
width="60%"
@close="close"
center
>
<el-form :model="feedback" ref="form" label-width="0px" class="feedback-add-form"> <el-form :model="feedback" ref="form" 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-input>
</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 label v-show="submitScreenshot" v-loading="dataLoading">
<div id="screenshot"> <div id="screenshot"></div>
</div>
</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>
</el-form-item> </el-form-item>
</el-form> </el-form>
<el-button slot="footer" class="confirm-btn" type="primary" @click="submit" :loading="confirmLoading">提交</el-button> <el-button
slot="footer"
class="confirm-btn"
type="primary"
@click="submit"
:loading="confirmLoading"
>提交</el-button>
</el-dialog> </el-dialog>
</div> </div>
</template> </template>
...@@ -25,8 +39,12 @@ ...@@ -25,8 +39,12 @@
import SimpleDrawingBoard from 'simple-drawing-board' import SimpleDrawingBoard from 'simple-drawing-board'
import html2canvas from 'html2canvas' import html2canvas from 'html2canvas'
export default { export default {
props: ['showDialog'], props: {
showDialog: {
type: Boolean,
required: true
}
},
data() { data() {
return { return {
feedback: { feedback: {
...@@ -50,10 +68,10 @@ export default { ...@@ -50,10 +68,10 @@ export default {
}, },
methods: { methods: {
async loadLibrary () { async loadLibrary() {
if (typeof html2canvas === 'undefined') { if (typeof html2canvas === 'undefined') {
try { try {
console.error('html2canvas not import', e.toString()) console.error('html2canvas not import')
} catch (e) { } catch (e) {
console.error('html2canvas.min.js is missing', e.toString()) console.error('html2canvas.min.js is missing', e.toString())
return null return null
...@@ -71,20 +89,23 @@ export default { ...@@ -71,20 +89,23 @@ export default {
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') let 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
window.sdb = new SimpleDrawingBoard(screenshot.getElementsByTagName('canvas')[0], { window.sdb = new SimpleDrawingBoard(
lineColor: '#ff0000', screenshot.getElementsByTagName('canvas')[0],
lineSize: 4 {
}) lineColor: '#ff0000',
lineSize: 4
}
)
}) })
.catch(e => { .catch(e => {
this.dataLoading = false this.dataLoading = false
util.showErrorMessageBox(e) console.log(e.toString())
}) })
}) })
}, },
...@@ -106,21 +127,27 @@ export default { ...@@ -106,21 +127,27 @@ export default {
} }
formData.append('feedback', this.feedback.info) formData.append('feedback', this.feedback.info)
} }
let res = await axios.post('http://', formData, { // let res = await axios.post('http://', formData, {
headers: { // headers: {
'Origin': window.location.origin, // 'Origin': window.location.origin,
'Content-Type': 'multipart/form-data' // 'Content-Type': 'multipart/form-data'
}, // },
changeOrigin: true // changeOrigin: true
}) // })
this.confirmLoading = false this.confirmLoading = false
util.showResponseMessage(res.data.data) this.$notify({
if (res.data.data.status === 1) { title: '反馈成功',
this.show = false type: 'success',
} duration: 2500
})
this.show = false
} catch (e) { } catch (e) {
util.showErrorMessageBox(e) this.$notify({
title: '提交失败',
type: 'error',
duration: 2500
})
this.confirmLoading = false this.confirmLoading = false
} }
} }
...@@ -130,7 +157,8 @@ export default { ...@@ -130,7 +157,8 @@ export default {
<style scoped> <style scoped>
#screenshot { #screenshot {
cursor: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAABGdBTUEAALGPC/xhBQAAARpJREFUOBGdkr1KA0EUhTcxEkSQQIpAihQWPoedD2BnIVsZQiBVEkiR7SwtBDsJqXwBLQwEgoWNjY2FjYUQ38Ei5Oc7sBeGLTKze+Djzsyecxh2N4ryq0zkHpYQQ2H1SW5TNsxukaZzQsewACvTvIBg3eFUaABHMEv3OruBIN3icm8wZl+FZ3iBQ/AqweGW2FrlKlChV0McFsxOvaegm/T2lLzzTC/dqzaO7A1s/8GzE28Dhhj0f1jQnZ+c18CrKxxrcMO2/uK87m3AcAkrsKA7vzlvQJAmuNywrX84bwY1YBrBATyCFWj+QguCJKNCU1DZQ7r/Y55CsK5x2i2eWFcggTPIJd3Eiv5Zd3KlU3OJOQd9lVd4A5Xl1g4YG2GGhwRfegAAAABJRU5ErkJggg==) 0 17, cursor: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAABGdBTUEAALGPC/xhBQAAARpJREFUOBGdkr1KA0EUhTcxEkSQQIpAihQWPoedD2BnIVsZQiBVEkiR7SwtBDsJqXwBLQwEgoWNjY2FjYUQ38Ei5Oc7sBeGLTKze+Djzsyecxh2N4ryq0zkHpYQQ2H1SW5TNsxukaZzQsewACvTvIBg3eFUaABHMEv3OruBIN3icm8wZl+FZ3iBQ/AqweGW2FrlKlChV0McFsxOvaegm/T2lLzzTC/dqzaO7A1s/8GzE28Dhhj0f1jQnZ+c18CrKxxrcMO2/uK87m3AcAkrsKA7vzlvQJAmuNywrX84bwY1YBrBATyCFWj+QguCJKNCU1DZQ7r/Y55CsK5x2i2eWFcggTPIJd3Eiv5Zd3KlU3OJOQd9lVd4A5Xl1g4YG2GGhwRfegAAAABJRU5ErkJggg==)
0 17,
default; default;
} }
.confirm-btn { .confirm-btn {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment