Browse Source

大屏预览设置

master
xuhuajiao 4 weeks ago
parent
commit
29be4b1e3e
  1. 7
      src/views/digitalScreen/index.vue
  2. 89
      src/views/digitalScreen/module/previewSetting.vue

7
src/views/digitalScreen/index.vue

@ -13,7 +13,7 @@
<i class="iconfont icon-zhuyi-lan" /> <i class="iconfont icon-zhuyi-lan" />
<span>注意标题不要超过17个字否则影响美观</span> <span>注意标题不要超过17个字否则影响美观</span>
</div> </div>
<previewSetting />
<previewSetting ref="previewSettingRef" :preview-url-parent="previewUrlParent" @triggerInit="initScreenSetting" />
</div> </div>
<!-- 屏幕内容设置 --> <!-- 屏幕内容设置 -->
<div class="config-screen"> <div class="config-screen">
@ -387,6 +387,7 @@ export default {
wecharQrCodeUrl: null, wecharQrCodeUrl: null,
mapData: null, mapData: null,
welcomePlay: null, welcomePlay: null,
previewUrlParent: null,
editStatus: { editStatus: {
openForm: { openForm: {
open_lib_http: false, open_lib_http: false,
@ -574,6 +575,10 @@ export default {
if (code === 'welcome_play') { if (code === 'welcome_play') {
this.welcomePlay = context this.welcomePlay = context
} }
if (code === 'preview_url') {
this.previewUrlParent = context
}
}) })
Object.values(res).forEach(item => { Object.values(res).forEach(item => {

89
src/views/digitalScreen/module/previewSetting.vue

@ -1,6 +1,6 @@
<template> <template>
<div style="position: absolute; right: 0; top: 2px;"> <div style="position: absolute; right: 0; top: 2px;">
<el-button size="mini">
<el-button size="mini" @click="toVerifyOrLink">
<i class="iconfont icon-sulan" /> <i class="iconfont icon-sulan" />
大屏预览 大屏预览
</el-button> </el-button>
@ -29,8 +29,8 @@
<el-dialog class="tip-dialog tip-middle-dialog" title="大屏预览网址" :close-on-click-modal="false" :modal-append-to-body="false" append-to-body :visible.sync="previewDialog" :before-close="handleClose"> <el-dialog class="tip-dialog tip-middle-dialog" title="大屏预览网址" :close-on-click-modal="false" :modal-append-to-body="false" append-to-body :visible.sync="previewDialog" :before-close="handleClose">
<div class="setting-dialog"> <div class="setting-dialog">
<el-form ref="form" :model="form" :rules="rules"> <el-form ref="form" :model="form" :rules="rules">
<el-form-item label="网址" label-width="110px" prop="link">
<el-input v-model="form.link" style="width: 480px;" />
<el-form-item label="网址" label-width="110px" prop="preview_url">
<el-input v-model="form.preview_url" style="width: 480px;" />
</el-form-item> </el-form-item>
</el-form> </el-form>
<div slot="footer" class="dialog-footer"> <div slot="footer" class="dialog-footer">
@ -45,13 +45,18 @@
</template> </template>
<script> <script>
import { FetchEditScreenSetting } from '@/api/digitalScreen/index'
import { mapGetters } from 'vuex' import { mapGetters } from 'vuex'
import { encrypt } from '@/utils/rsaEncrypt' import { encrypt } from '@/utils/rsaEncrypt'
import { verifyMaintenance } from '@/api/system/param' import { verifyMaintenance } from '@/api/system/param'
export default { export default {
name: 'PreviewSetting', name: 'PreviewSetting',
components: {
props: {
previewUrlParent: {
type: String,
default: null
}
}, },
data() { data() {
return { return {
@ -64,10 +69,10 @@ export default {
resetLoading: false, resetLoading: false,
previewDialog: false, previewDialog: false,
form: { form: {
link: ''
preview_url: ''
}, },
rules: { rules: {
link: [
preview_url: [
{ required: true, message: '网址不可为空', trigger: 'blur' } { required: true, message: '网址不可为空', trigger: 'blur' }
] ]
} }
@ -78,31 +83,28 @@ export default {
'baseApi' 'baseApi'
]) ])
}, },
watch: {
previewUrlParent(newVal) {
this.form.preview_url = newVal
}
},
created() { created() {
this.form.preview_url = this.previewUrlParent
}, },
mounted() { mounted() {
}, },
methods: { methods: {
toVerifyOrLink() {
console.log(' this.previewUrlParent', this.previewUrlParent)
if (this.previewUrlParent && (this.previewUrlParent !== null || this.previewUrlParent !== '')) {
window.open(this.previewUrlParent, '_blank')
} else {
this.toVerify('reset')
}
},
toVerify(btn) { toVerify(btn) {
this.verifyStatus = btn this.verifyStatus = btn
this.verifyDialogVisible = true this.verifyDialogVisible = true
// if (btn === 'reset') {
// this.verifyDialogVisible = true
// } else {
// if (this.form.ip) {
// if (this.showVerifyDialog) {
// this.verifyDialogVisible = true
// return false
// }
// } else {
// this.$refs.form.validateField(['ip'], err => {
// console.log('err', err)
// if (err) {
// return
// }
// })
// }
// }
}, },
handleConfirm() { handleConfirm() {
verifyMaintenance(encrypt(this.verfiyForm.verifyCode)).then((res) => { verifyMaintenance(encrypt(this.verfiyForm.verifyCode)).then((res) => {
@ -111,17 +113,12 @@ export default {
this.verfiyForm.verifyCode = '' this.verfiyForm.verifyCode = ''
this.showVerifyDialog = false this.showVerifyDialog = false
this.previewDialog = true this.previewDialog = true
// if (this.verifyStatus === 'add') {
// crudStockTask.FetchEditSetting(this.crud.form).then(res => {
// this.$message({ message: '', type: 'success', offset: 8 })
// this.initData()
// }).catch(() => {
// })
// } else {
// this.resetLoading = true
// //
// this.handleConnectAIService()
// }
if (this.previewUrlParent !== null || this.previewUrlParent !== '') {
this.form.preview_url = this.previewUrlParent
} else {
this.form.preview_url = ''
}
} else { } else {
this.$message({ message: '验证码错误!', type: 'error', offset: 8 }) this.$message({ message: '验证码错误!', type: 'error', offset: 8 })
} }
@ -130,9 +127,25 @@ export default {
handleUrlConfirm() { handleUrlConfirm() {
this.$refs.form.validate((valid) => { this.$refs.form.validate((valid) => {
if (valid) { if (valid) {
console.log('submit!')
this.previewDialog = false
this.form.link = ''
const param = {
'code': 'preview_url',
'context': this.form.preview_url,
'remarks': null
}
FetchEditScreenSetting(param)
.then((res) => {
if (res.code !== 500) {
this.$message.success('大屏预览地址更新成功')
this.$emit('triggerInit')
} else {
this.$message.error('大屏预览地址更新失败')
}
this.handleClose()
})
.catch(() => {
this.$message.error('大屏预览地址更新失败')
this.handleClose()
})
} else { } else {
console.log('error submit!!') console.log('error submit!!')
return false return false
@ -147,7 +160,7 @@ export default {
} }
if (this.$refs.form) { if (this.$refs.form) {
this.previewDialog = false this.previewDialog = false
this.form.link = ''
this.form.preview_url = ''
this.$refs.form.resetFields() this.$refs.form.resetFields()
} }
} }

Loading…
Cancel
Save