<template>
|
<div class="box">
|
<el-form :model="form" ref="form" label-width="140px">
|
<div>
|
<span style="font-size: 15px; font-weight: bold">人员授权配置:</span>
|
</div>
|
<el-form-item label="" prop="frezzDays" label-width="50px">
|
人员门禁授权冻结:连续
|
<el-input
|
style="width: 50px"
|
type="text"
|
v-model="form.frezzDays"
|
placeholder=""
|
v-trim
|
/>
|
天,无门禁/车辆闸机事件
|
</el-form-item>
|
<div>
|
<span style="font-size: 15px; font-weight: bold">访客配置:</span>
|
</div>
|
<el-form-item label="来访预约方式:" prop="reservationWay">
|
<el-radio-group v-model="form.reservationWay">
|
<el-radio :label="1">预约免登记</el-radio>
|
<el-radio :label="0">预约后登记(需要配备访客机)</el-radio>
|
</el-radio-group>
|
</el-form-item>
|
<el-form-item label="被访人校验方式:" prop="checkVisit">
|
<el-radio-group v-model="form.checkVisit">
|
<el-radio :label="0">仅手机号</el-radio>
|
<el-radio :label="1">手机号&姓名</el-radio>
|
</el-radio-group>
|
</el-form-item>
|
<el-form-item label="健康证是否必填:" prop="healthCard">
|
<el-radio-group v-model="form.healthCard">
|
<el-radio :label="0">否</el-radio>
|
<el-radio :label="1">是</el-radio>
|
</el-radio-group>
|
</el-form-item>
|
<el-form-item label="允许自选门禁组:" prop="doorsVisitRequired">
|
<el-switch
|
v-model="form.doorsVisitRequired"
|
active-color="#13ce66"
|
inactive-color="#ff4949"
|
:active-value="1"
|
:inactive-value="0"
|
>
|
</el-switch>
|
</el-form-item>
|
<el-form-item label="访客是否答题:" prop="isAnswer">
|
<el-switch
|
v-model="form.isAnswer"
|
active-color="#13ce66"
|
inactive-color="#ff4949"
|
:active-value="1"
|
:inactive-value="0"
|
>
|
</el-switch>
|
</el-form-item>
|
<el-form-item label="访客答题主题:" prop="theme">
|
<el-input
|
style="width: 50%"
|
type="textarea"
|
v-model="form.theme"
|
placeholder="请输入答题标题"
|
v-trim
|
/>
|
</el-form-item>
|
<el-form-item label="访客答题说明:" prop="description">
|
<el-input
|
style="width: 50%"
|
type="textarea"
|
v-model="form.description"
|
placeholder="请输入"
|
v-trim
|
/>
|
</el-form-item>
|
<el-form-item label="在园须知:" prop="visitNotice">
|
<!-- <el-tiptap
|
style="width: 50%"
|
v-model="form.visitNotice"
|
:extensions="extensions"
|
/> -->
|
<RichEditor style="width: 70%" :richData="form.visitNotice" :styleEditor="styleEditor" @getWangedditor="getWangedditor" :readonly="false"/>
|
</el-form-item>
|
<el-form-item label="访客预约指南:" prop="visitNotice">
|
<!-- <el-tiptap
|
style="width: 50%"
|
v-model="form.visitTips"
|
:extensions="extensions"
|
/> -->
|
<RichEditor style="width: 70%" :richData="form.visitTips" :styleEditor="styleEditor" @getWangedditor="getWangedditor1" :readonly="false"/>
|
</el-form-item>
|
<el-form-item label="访客入园导览图:" prop="visitNotice">
|
<!-- <el-tiptap
|
style="width: 50%"
|
v-model="form.visitMap"
|
:extensions="extensions"
|
/> -->
|
<RichEditor style="width: 70%" :richData="form.visitMap" :styleEditor="styleEditor" @getWangedditor="getWangedditor2" :readonly="false"/>
|
</el-form-item>
|
<el-form-item>
|
<el-button type="primary" @click="submit">保存配置项</el-button>
|
</el-form-item>
|
</el-form>
|
</div>
|
</template>
|
|
<script>
|
import { getVisitConfigDTO, updateVisitConfig } from '@/api/system/common'
|
import RichEditor from '@/components/common/RichEditor'
|
import {
|
// necessary extensions
|
Doc,
|
Text,
|
Paragraph,
|
Heading,
|
Bold,
|
Underline,
|
Italic,
|
Strike,
|
ListItem,
|
BulletList,
|
OrderedList,
|
Image,
|
Blockquote,
|
TextAlign,
|
Indent,
|
Table,
|
TableHeader,
|
TableCell,
|
TableRow,
|
TextColor,
|
HorizontalRule
|
} from 'element-tiptap'
|
import { upload } from '@/api/system/common'
|
export default {
|
name: 'visitorSources',
|
components: {
|
RichEditor
|
},
|
data() {
|
return {
|
form: {
|
id: null,
|
checkVisit: 0,
|
reservationWay: 0,
|
healthCard: 0,
|
isAnswer: 0,
|
doorsVisitRequired: '',
|
theme: '',
|
description: '',
|
visitNotice: '',
|
visitMap: '',
|
visitTips: '',
|
frezzDays: null
|
},
|
styleEditor:'border: 1px solid #ccc;display: inline-block;',
|
extensions: [
|
new Doc(),
|
new Text(),
|
new Paragraph(),
|
new Heading({ level: 5 }),
|
new Bold({ bubble: true }),
|
new Underline({ bubble: true, menubar: false }),
|
new Italic(),
|
new Strike(),
|
new ListItem(),
|
new BulletList(),
|
new OrderedList(),
|
new Image({
|
uploadRequest(file) {
|
const fd = new FormData()
|
fd.append('folder', 'visit/')
|
fd.append('file', file)
|
return upload(fd).then(res => {
|
return res.url
|
})
|
}
|
}),
|
new Blockquote(),
|
new TextAlign(),
|
new Indent(),
|
new Table(),
|
new TableHeader(),
|
new TableCell(),
|
new TableRow(),
|
new HorizontalRule(),
|
new TextColor()
|
]
|
}
|
},
|
|
created() {
|
this.getData()
|
},
|
|
methods: {
|
getWangedditor(val){
|
this.form.visitNotice =val
|
},
|
getWangedditor1(val){
|
this.form.visitTips =val
|
},
|
getWangedditor2(val){
|
this.form.visitMap =val
|
},
|
getData() {
|
getVisitConfigDTO({})
|
.then(res => {
|
this.form.checkVisit = res.checkVisit
|
this.form.description = res.description
|
this.form.healthCard = res.healthCard
|
this.form.isAnswer = res.isAnswer
|
this.form.reservationWay = res.reservationWay
|
this.form.theme = res.theme
|
this.form.doorsVisitRequired = res.doorsVisitRequired
|
this.form.visitNotice = res.visitNotice
|
this.form.visitTips = res.visitTips
|
this.form.visitMap = res.visitMap
|
this.form.frezzDays = res.frezzDays
|
})
|
},
|
submit() {
|
updateVisitConfig({
|
isAnswer: this.form.isAnswer,
|
healthCard: this.form.healthCard,
|
checkVisit: this.form.checkVisit,
|
reservationWay: this.form.reservationWay,
|
description: this.form.description,
|
theme: this.form.theme,
|
visitNotice: this.form.visitNotice,
|
visitTips: this.form.visitTips,
|
frezzDays: this.form.frezzDays,
|
visitMap: this.form.visitMap,
|
doorsVisitRequired: this.form.doorsVisitRequired
|
}).then(res => {
|
this.$message.success('保存成功')
|
this.getData()
|
})
|
}
|
}
|
}
|
</script>
|
|
<style lang="scss" scoped>
|
.box {
|
width: 100%;
|
padding: 30px;
|
box-sizing: border-box;
|
background: #ffffff;
|
}
|
</style>
|