瀏覽代碼

fix:iLeads活动问卷

magic v 4 年之前
父節點
當前提交
e2acd98cb3
共有 4 個文件被更改,包括 49 次插入3 次删除
  1. 2 2
      config/index.js
  2. 38 1
      src/pages/FormVolume/mixins/index.js
  3. 8 0
      src/pages/Manager/index.vue
  4. 1 0
      src/pages/Manager/js/config.js

+ 2 - 2
config/index.js

@@ -22,8 +22,8 @@ module.exports = {
     },
 
     // Various Dev Server settings
-    // host: 'localhost', // can be overwritten by process.env.HOST
-    host: '10.0.3.116', // can be overwritten by process.env.HOST
+    host: 'localhost', // can be overwritten by process.env.HOST
+    // host: '10.0.3.116', // can be overwritten by process.env.HOST
     port: 8080, // can be overwritten by process.env.PORT, if port is in use, a free one will be determined
     autoOpenBrowser: false,
     errorOverlay: true,

+ 38 - 1
src/pages/FormVolume/mixins/index.js

@@ -180,9 +180,46 @@ export default {
           message: '请确认无误提交?',
         })
         ld = this.$toast.loading({ message: '提交中...', duration: 0 })
-        let result = this.data.result.map(item => ({ detail_id: item.detail_id, val: item.val }))
+        let result = this.data.result.map(item => {
+          return { 
+            detail_id: item.detail_id, 
+            val: item.val 
+          }
+        })
+        // 表单类型为 iLeads活动 - 2,时,额外爬取参数 -----------
+        let patient = {}
+        if (this.data.topic.flag === 2) {
+          let config = {
+            patient_name: new RegExp('姓名'),
+            age: new RegExp('年龄'),
+            sex: new RegExp('性别')
+          }
+          let keys = Object.keys(config)
+          let objs = this.data.result.map(item => {
+            let rst = { key: '', val: '' }
+            keys.some(k => {
+              let reg = config[k]
+              if (reg.test(item.title)) {
+                rst.key = k
+                rst.val = item.val
+                return true
+              }
+            })
+            return rst
+          }).filter(it => it)
+          
+          objs.forEach(({ key, val }) => {
+            if (!patient[key]) {
+              patient[key] = val
+            }
+          })
+        }
+        // ---------------------------------
+
         let query = {
           ...this.$route.query,
+          ...patient,
+          flag: this.data.topic.flag,
           data: JSON.stringify(result)
         }
         await api.apiPostVolumeInfo(query)

+ 8 - 0
src/pages/Manager/index.vue

@@ -78,6 +78,14 @@
             <div class="card-body" v-if="attrShow.attr">
               <div class="card-scroll">
                 <van-cell-group>
+                  <van-field name="radio" label="表单类型">
+                    <template #input>
+                      <van-radio-group v-model="data.topic.flag" direction="horizontal">
+                        <van-radio :name="1">普通类型</van-radio>
+                        <van-radio :name="2">iLeads活动</van-radio>
+                      </van-radio-group>
+                    </template>
+                  </van-field>
                   <van-field name="radio" label="主题">
                     <template #input>
                       <van-radio-group v-model="data.topic.layout_type" direction="horizontal">

+ 1 - 0
src/pages/Manager/js/config.js

@@ -6,6 +6,7 @@ export function dataTopic (opt) {
     ],
     "topic": {
       // "id": 0,
+      "flag": 1,  // 问卷类型
       "name": "问卷标题",
       "memo": "尊敬的客户:\n  感谢您选择铂林眼科。我们非常期待您对本次服务的满意度反馈,这将对提升我们的服务非常重要。",
       "layout_type": 2, // 主题2