| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127 |
- <template>
- <div class="volume-container">
- <div class="body scroll-view">
- <div class="head">
- <div class="bg"></div>
- <div class="cont">
- <div class="logo">
- <img :src="SvgLogo" />
- </div>
- <!-- <h1 v-if="data.topic.name">{{ data.topic.name }}</h1>
- <div class="des" v-if="data.topic.memo" v-html="data.topic.memo"></div> -->
- <h1 v-if="data.topic.name">尊敬的客户:</h1>
- <div class="des" v-if="data.topic.memo">
- 感谢您选择铂林眼科。我们非常期待您对本次服务的满意度反馈,这将对提升我们的服务非常重要。
- </div>
- </div>
- </div>
- <transition-group name="list" class="volume-content" tag="ul">
- <li
- v-for="(item, index) in data.result"
- :key="index + 1">
- <p>
- <i :class="{cur: !!item.val && !!item.val.length}" />
- <label v-if="item.required">*</label>
- <span>{{index + 1}}. </span>
- <span>{{ item.title }}</span>
- <span v-if="item.type_name">【{{ item.type_name }}】</span>
- </p>
- <div :class="{'align-right': item.layout_align === 'right'}">
- <div class="slider-layout" v-if="item.type === 'slider'">
- <div class="val" v-if="item.val">{{ item.val }}</div>
- <div class="warn" v-else>拨动滑块选择</div>
- <van-slider
- v-model="item.sliderVal"
- :min="-1"
- :max="item.content.length - 1"
- @input="item.val = (item.content[item.sliderVal] || {}).title || ''" />
- <div class="ruler-layout">
- <div class="ruler-item">
- <span></span>
- </div>
- <div class="ruler-item"
- v-for="(it, itIndex) in item.content"
- :key="itIndex">
- <span v-if="!it.sliderHide">
- {{ it.title }}
- <br v-if="it.memo" />
- {{ it.memo || '' }}
- </span>
- </div>
- </div>
- </div>
- <van-radio-group
- v-model="item.val"
- :direction="item.layout_inline === 2 ? 'vertical' : 'horizontal'"
- v-if="item.type === 'radio'">
- <van-radio
- :class="{ vertical: item.layout_inline === 2, horizontal: item.layout_inline === 1 }"
- :name="it.title"
- v-for="(it, itIndex) in item.content"
- :key="itIndex">{{ it.title }}</van-radio>
- </van-radio-group>
- <van-checkbox-group
- v-model="item.val"
- :direction="item.layout_inline === 2 ? 'vertical' : 'horizontal'"
- :max="item.max"
- v-if="item.type === 'checkbox'">
- <van-checkbox
- :class="{ vertical: item.layout_inline === 2, horizontal: item.layout_inline === 1 }"
- :name="it.title"
- v-for="(it, itIndex) in item.content"
- :key="itIndex"
- shape="square">{{ it.title }}</van-checkbox>
- </van-checkbox-group>
- <textarea
- v-model="item.val"
- :maxlength="item.max || 200" placeholder="请填写"
- v-if="item.type === 'textarea'" />
- <input v-model="item.val"
- :maxlength="item.max || 200"
- placeholder="请填写"
- v-if="item.type === 'input'" />
- </div>
- </li>
- </transition-group>
- <slot name="tel" />
- </div>
-
- <div class="footer" v-if="!!data.result.length">
- <button class="btn primary"
- :disabled="loading.submit || !data.result.length"
- @click="$emit('submit')">提交</button>
- </div>
- <slot />
- </div>
- </template>
- <script>
- import SvgLogo from '~/svg/logo.svg'
- export default {
- props: {
- data: {
- required: true,
- type: Object
- },
- loading: {
- required: true,
- type: Object
- }
- },
- data () {
- return {
- SvgLogo
- }
- }
- }
- </script>
- <style lang="scss" scoped>
- @import './style.scss';
- </style>
|