From b62578f8b43f15be89b3d14f463f11aed03e6fb9 Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期四, 09 五月 2024 18:57:25 +0800
Subject: [PATCH] 最新版本

---
 admin/src/views/business/visitorSources.vue |  158 +++++++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 135 insertions(+), 23 deletions(-)

diff --git a/admin/src/views/business/visitorSources.vue b/admin/src/views/business/visitorSources.vue
index 129b678..5df4993 100644
--- a/admin/src/views/business/visitorSources.vue
+++ b/admin/src/views/business/visitorSources.vue
@@ -1,55 +1,168 @@
 <template>
     <div class="box">
         <el-form :model="form" ref="form" label-width="140px">
-            <el-form-item label="鏉ヨ棰勭害鏂瑰紡:" prop="doorIds">
-                <el-radio-group v-model="form.doorIds">
-                    <el-radio :label="3">棰勭害鍏嶇櫥璁�</el-radio>
-                    <el-radio :label="6">棰勭害鍚庣櫥璁�(闇�瑕侀厤澶囪瀹㈡満)</el-radio>
+            <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="doorIds">
-                <el-radio-group v-model="form.doorIds">
-                    <el-radio :label="3">浠呮墜鏈哄彿</el-radio>
-                    <el-radio :label="6">鎵嬫満鍙�&濮撳悕</el-radio>
+            <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="doorIds">
-                <el-radio-group v-model="form.doorIds">
-                    <el-radio :label="3">鍚�</el-radio>
-                    <el-radio :label="6">鏄�</el-radio>
+            <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="doorIds">
+            <el-form-item label="鍏佽鑷�夐棬绂佺粍:" prop="doorsVisitRequired">
                 <el-switch
-                    v-model="form.doorIds"
+                    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="doorIds">
-                <el-input style="width: 50%;" v-model="form.doorIds" placeholder="璇疯緭鍏ョ瓟棰樻爣棰�" v-trim/>
+            <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="doorIds">
-                <el-input style="width: 50%;" type="textarea" v-model="form.doorIds" placeholder="璇疯緭鍏�" v-trim/>
+            <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">淇濆瓨閰嶇疆椤�</el-button>
+                <el-button type="primary" @click="submit">淇濆瓨閰嶇疆椤�</el-button>
             </el-form-item>
         </el-form>
     </div>
 </template>
 
 <script>
+import { getVisitConfigDTO, updateVisitConfig } from '@/api/system/common'
+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',
 
-  data() {
+  data () {
     return {
       form: {
-        doorIds: ''
-      }
+        id: null,
+        checkVisit: 0,
+        reservationWay: 0,
+        healthCard: 0,
+        isAnswer: 0,
+        doorsVisitRequired: '',
+        theme: '',
+        description: '',
+        visitNotice: ''
+      },
+      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.prefixPath + res.folder + res.halfPath
+            })
+          }
+        }),
+        new Blockquote(),
+        new TextAlign(),
+        new Indent(),
+        new Table(),
+        new TableHeader(),
+        new TableCell(),
+        new TableRow(),
+        new HorizontalRule(),
+        new TextColor()
+      ]
+    }
+  },
+
+  created () {
+    this.getData()
+  },
+
+  methods: {
+    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
+        })
+    },
+    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,
+        doorsVisitRequired: this.form.doorsVisitRequired
+      }).then(res => {
+        this.$message.success('淇濆瓨鎴愬姛')
+        this.getData()
+      })
     }
   }
 }
@@ -58,7 +171,6 @@
 <style lang="scss" scoped>
     .box {
         width: 100%;
-        height: 100%;
         padding: 30px;
         box-sizing: border-box;
         background: #ffffff;

--
Gitblit v1.9.3