| | |
| | | <template> |
| | | <div class="box"> |
| | | <el-form :model="form" ref="form" label-width="140px"> |
| | | <el-form-item label="来访预约方式:" prop="reservationWay"> |
| | | <el-radio-group v-model="form.reservationWay"> |
| | | <el-radio :label="0">预约免登记</el-radio> |
| | | <el-radio :label="1">预约后登记(需要配备访客机)</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" /> |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <el-button type="primary" @click="submit">保存配置项</el-button> |
| | | </el-form-item> |
| | | </el-form> |
| | | </div> |
| | | <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, |
| | |
| | | import { upload } from '@/api/system/common' |
| | | export default { |
| | | name: 'visitorSources', |
| | | |
| | | data () { |
| | | components: { |
| | | RichEditor |
| | | }, |
| | | data() { |
| | | return { |
| | | form: { |
| | | id: null, |
| | |
| | | doorsVisitRequired: '', |
| | | theme: '', |
| | | description: '', |
| | | visitNotice: '' |
| | | visitNotice: '', |
| | | visitMap: '', |
| | | visitTips: '', |
| | | frezzDays: null |
| | | }, |
| | | styleEditor:'border: 1px solid #ccc;display: inline-block;', |
| | | extensions: [ |
| | | new Doc(), |
| | | new Text(), |
| | |
| | | new BulletList(), |
| | | new OrderedList(), |
| | | new Image({ |
| | | uploadRequest (file) { |
| | | uploadRequest(file) { |
| | | const fd = new FormData() |
| | | fd.append('folder', 'visit/') |
| | | fd.append('file', file) |
| | | return upload(fd).then(res => { |
| | | return res.prefixPath + res.folder + res.halfPath |
| | | return res.url |
| | | }) |
| | | } |
| | | }), |
| | |
| | | } |
| | | }, |
| | | |
| | | created () { |
| | | created() { |
| | | this.getData() |
| | | }, |
| | | |
| | | methods: { |
| | | getData () { |
| | | 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.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 () { |
| | | submit() { |
| | | updateVisitConfig({ |
| | | isAnswer: this.form.isAnswer, |
| | | healthCard: this.form.healthCard, |
| | |
| | | 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('保存成功') |
| | |
| | | </script> |
| | | |
| | | <style lang="scss" scoped> |
| | | .box { |
| | | width: 100%; |
| | | padding: 30px; |
| | | box-sizing: border-box; |
| | | background: #ffffff; |
| | | } |
| | | .box { |
| | | width: 100%; |
| | | padding: 30px; |
| | | box-sizing: border-box; |
| | | background: #ffffff; |
| | | } |
| | | </style> |