h5
liukangdong
2024-06-24 809edaffb6552077fb5658fd87d00d414284254a
h5
已添加3个文件
已删除1个文件
已修改10个文件
453 ■■■■■ 文件已修改
h5/pages.json 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
h5/pages/answer/answer.vue 82 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
h5/pages/guidemap/guidemap.vue 38 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
h5/pages/index/index.vue 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
h5/pages/notice/notice.vue 27 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
h5/pages/personnel/personnel.vue 207 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
h5/pages/userinfo/userinfo.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
h5/pages/visitorApplication/visitorApplication.vue 56 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
h5/pages/visitorSubGuide/index.vue 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
h5/static/banner_dati.png 补丁 | 查看 | 原始文档 | blame | 历史
h5/static/checkbo1x_sel@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
h5/static/ic_success@2.png 补丁 | 查看 | 原始文档 | blame | 历史
h5/static/ic_wrong@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
h5/static/video_sel@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
h5/pages.json
@@ -29,8 +29,7 @@
            "path": "pages/answer/answer",
            "style": {
                "navigationBarTitleText": "答题",
                "enablePullDownRefresh": false,
                "navigationStyle": "custom"
                "enablePullDownRefresh": false
            }
        },
        {
@@ -76,9 +75,9 @@
            }
        },
        {
            "path": "pages/personnel/personnel",
            "path": "pages/guidemap/guidemap",
            "style": {
                "navigationBarTitleText": "人员管理",
                "navigationBarTitleText": "园区导览图",
                "enablePullDownRefresh": false
            }
        },
h5/pages/answer/answer.vue
@@ -6,11 +6,16 @@
    </view>
    <view class="box_list">
      <view class="box_list_answer" v-if="list && list.length > 0">
        <view v-if="status == 1 || status == 2" class="score_static">
          <text class="name">本次得分:</text>
          <text class="num" :class="{warry: status == 2}">{{ score }}分</text>
        </view>
        <!--    å•选/判断   -->
        <view v-for="(item, index) in list" :key="index" class="list_item">
          <view class="box_list_answer_name">
            {{ index + 1 }}、{{ item.title
            }}<text style="color: #ed4545">*</text>
            <text>{{ index + 1 }}、{{ item.title}}</text>
            <text v-if="item.score"> ({{ item.score }}分)</text>
            <text style="color: #ed4545">*</text>
          </view>
          <template v-if="item.type == 1 || item.type == 0">
            <view
@@ -56,8 +61,8 @@
                  (item.answer === item.selAnswer &&
                    item.selAnswer == line.code)
                "
                style="color: rgba(2, 94, 239, 1)"
                ><text class="mr24" style="color: rgba(2, 94, 239, 1)">{{
                style="color: rgba(77, 153, 168, 1)"
                ><text class="mr24" style="color: rgba(77, 153, 168, 1)">{{
                  line.code
                }}</text>
                {{ line.value }}</text
@@ -95,7 +100,7 @@
                status != '0'
              "
            >
              <image src="@/static/meeting/icon/ic_choose_sel@2x.png" />
              <image src="@/static/ic_success@2.png" />
              <text class="success">回答正确</text>
            </view>
          </template>
@@ -112,8 +117,7 @@
                v-if="
                  (line.checked && status != '2') ||
                  (item.selAnswer === item.answer &&
                    line.checked &&
                    status != '2')
                    line.checked)
                "
              />
              <image
@@ -132,11 +136,10 @@
                v-if="
                  (line.checked && status != '2') ||
                  (item.selAnswer === item.answer &&
                    line.checked &&
                    status != '2')
                    line.checked)
                "
                style="color: rgba(2, 94, 239, 1)"
                ><text class="mr24" style="color: rgba(2, 94, 239, 1)">{{
                style="color: rgba(77, 153, 168, 1)"
                ><text class="mr24" style="color: rgba(77, 153, 168, 1)">{{
                  line.code
                }}</text>
                {{ line.value }}</text
@@ -173,7 +176,7 @@
                status != '0'
              "
            >
              <image src="@/static/meeting/icon/ic_choose_sel@2x.png" />
              <image src="@/static/ic_success@2.png" />
              <text class="success">回答正确</text>
            </view>
          </template>
@@ -182,6 +185,7 @@
        <view
          v-if="status == '0'"
          class="box_list_answer_btn"
          :class="{ disable: !answerIng }"
          @click="onSubmit()"
          >提交</view
        >
@@ -208,7 +212,7 @@
                        <text style="color: rgba(237, 69, 69, 1)"
                            v-if="success && multiple.toString().indexOf(item.code) !== -1">{{item.code}} {{item.value}}</text>
                        <text v-else-if="!multiple || multiple.toString().indexOf(item.code) === -1">{{item.code}} {{item.value}}</text>
                        <text style="color: rgba(2, 94, 239, 1)"
                        <text style="color: rgba(77, 153, 168, 1)"
                            v-else-if="multiple.toString().indexOf(item.code) !== -1">{{item.code}} {{item.value}}</text>
                    </view>
                </template> -->
@@ -225,14 +229,25 @@
  data() {
    return {
      list: [],
      bg: require("@/static/banner_dati.jpg"),
      bg: require("@/static/banner_dati.png"),
      title: '',
      content: '',
      status: '0'
      status: '0',
      score: 0
    }
  },
  computed:{
    answerIng(){
      let count = 0
      this.list.forEach(item => {
        if(item.selAnswer || item.selAnswer == 0){
          count ++
        }
      })
      return count === this.list.length
    }
  },
  onLoad() {
    this.getProblems()
    this.getInfo()
@@ -341,6 +356,7 @@
    },
    // ä¸‹ä¸€é¢˜
    onSubmit() {
      if(!this.answerIng) return
      const { list } = this
      // éªŒè¯æ‰€æœ‰é¢˜ç›®éƒ½æœ‰é€‰é¡¹
      let count = 0
@@ -360,6 +376,8 @@
      list.forEach(item => {
        if (item.selAnswer !== item.answer) {
          flag++
        }else{
          this.score += item.score
        }
      })
      if (flag > 0) {
@@ -374,6 +392,7 @@
    },
    handleAgain() {
      this.status = '0'
      this.score = 0
      this.getProblems()
    },
    next() {
@@ -382,8 +401,9 @@
        useType: '1',
        content: ''
      }).then(res => {
        this.score = 0
        uni.navigateTo({
          url: `/pages/userinfo/userinfo`
          url: `/pages/userinfo/userinfo?answerId=${res.data}`
        })
      })
@@ -396,7 +416,7 @@
.box {
  width: 100%;
  height: 100vh;
  background: #025eef;
  background: $uni-color-primary;
  .box_bgimage {
    width: 100%;
    padding: 0 40rpx;
@@ -462,8 +482,22 @@
          margin-left: 16rpx;
        }
        .success {
          color: #275de6;
          color: $uni-color-primary;
        }
      }
    }
    .score_static{
      display: flex;
      font-size: 32rpx;
      margin-bottom: 40rpx;
      .name{
        font-weight: 600;
      }
      .num{
        color: $uni-color-primary;
      }
      .warry{
        color: #ED4545;
      }
    }
    .list_item {
@@ -495,19 +529,21 @@
    }
    .box_list_answer_btn {
      position: fixed;
      bottom: 140rpx;
      bottom: 120rpx;
      left: 60rpx;
      width: 630rpx;
      height: 88rpx;
      line-height: 88rpx;
      text-align: center;
      background: #025eef;
      box-shadow: 0rpx 4rpx 12rpx 0rpx rgba(2, 94, 239, 0.3);
      background: $uni-color-primary;
      box-shadow: 0rpx 4rpx 12rpx 0rpx rgba(77, 153, 168, 0.3);
      border-radius: 44rpx;
      font-size: 30rpx;
      font-weight: 500;
      color: #ffffff;
    }
    .disable{
      background-color: #cccccc;
    }
  }
}
</style>
h5/pages/guidemap/guidemap.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,38 @@
<template>
  <view class="box">
    <view v-html="info"></view>
  </view>
</template>
<script>
import { getSystemDictData } from '@/api'
export default {
  data() {
    return {
      info: "",
    }
  },
  onLoad() {
    this.initData()
  },
  methods: {
    initData() {
      getSystemDictData({
        dictCode: 'SYSTEM',
        label: 'VISIT_GUIDEMAP'
      }).then(res => {
        if (res.code === 200) {
          this.info = res.data.code
        }
      })
    }
  }
}
</script>
<style lang="scss" scoped>
.box {
  padding: 30rpx;
  .line {
    margin-bottom: 16rpx;
  }
}
</style>
h5/pages/index/index.vue
@@ -1,8 +1,8 @@
<template>
    <view class="box">
        <view class="box_head">
            <text>华晟智慧园区</text>
            <text class="h2">安全重于泰山 æœåŠ¡è¿½æ±‚å“è¶Š</text>
            <text>安泰物流智慧园区</text>
            <text class="h2">访客专区</text>
            <image mode="widthFix" class="banner_bg" src="@/static/banner.jpg" />
        </view>
        <view class="main_title">业务办理</view>
@@ -54,7 +54,7 @@
                        break
                    case 3:
                        uni.navigateTo({
                            url: '/pages/personnel/personnel'
                            url: '/pages/guidemap/guidemap'
                        })
                        break
                    case 4:
@@ -125,7 +125,7 @@
            }
        }
        .main_title{
            font-weight: 500;
            font-weight: 600;
            font-size: 32rpx;
            color: #222222;
            margin: 40rpx 0 32rpx;
h5/pages/notice/notice.vue
@@ -9,28 +9,42 @@
      </div>
      <div class="empty"></div>
    </scroll-view>
    <div class="button" @click="toapply">确认了解</div>
    <div class="button" @click="handleAgree" v-if="num === 6">确认了解</div>
    <div class="button" @click="toapply" v-else>
      å·²çŸ¥æ™“,下一步({{ num }}秒)
    </div>
  </div>
</template>
<script>
let timer
import { getSystemDictData } from "@/api"
export default {
  name: 'Index',
  data() {
    return {
      content: ``,
      answer: ''
      answer: '',
      num: 6
    }
  },
  onLoad() {
    this.getInfo()
    if(!this.$store.state.openId){
    if (!this.$store.state.openId) {
      this.initToken()
    }
  },
  methods: {
    handleAgree() {
      this.num--
      timer = setInterval(() => {
        this.num--
        if (this.num === 0) {
          this.toapply()
        }
      }, 1000)
    },
    initToken() {
      const appID = 'wxac2a80c2144c4ee0'
      // const AppSecret = '922c93596d134fedf5bd22a9354b3bfe'
@@ -60,6 +74,7 @@
      })
    },
    toapply() {
      clearInterval(timer)
      if (this.answer === '0') {
        uni.navigateTo({
          url: '/pages/userinfo/userinfo'
@@ -110,8 +125,8 @@
    border-radius: 44rpx;
    font-size: 32rpx;
    color: #ffffff;
    position: absolute;
    bottom: 42rpx;
    position: fixed;
    bottom: 30rpx;
    left: 30rpx;
  }
}
h5/pages/personnel/personnel.vue
ÎļþÒÑɾ³ý
h5/pages/userinfo/userinfo.vue
@@ -130,7 +130,7 @@
                    this.visitorData.idcardTypeName = '护照'
                }
            }
            this.visitorData.userAnswerId = option.userAnswerId
            this.visitorData.userAnswerId = option.answerId || ''
            // this.getVisit()
            // uni.$on('update', (data) => {
            //     this.uploadImg(data.tempFilePath)
h5/pages/visitorApplication/visitorApplication.vue
@@ -1,29 +1,11 @@
<template>
  <view class="visit">
    <view class="head">拜访信息</view>
    <!-- <view class="head">拜访信息</view> -->
    <view class="list">
      <!-- <view class="list_item">
                <view class="list_item_label">
                    <text>被访人手机</text>
                    <text>*</text>
                </view>
                <view class="list_item_content">
                    <input type="number" maxlength="11" v-model="form1.phone1" :placeholder="verify == '0' ? '输入手机号后自动获取' : '请输入手机号'" @blur="getUser" placeholder-style="color: #999999;" />
                </view>
            </view>
            <view class="list_item">
                <view class="list_item_label">
                    <text>被访人姓名</text>
                    <text>*</text>
                </view>
                <view class="list_item_content">
                    <input type="text" placeholder="请输入姓名" v-model="form1.receptMemberName" @blur="getUser" placeholder-style="color: #999999;" />
                </view>
            </view> -->
      <view class="list_item">
        <view class="list_item_label">
          <text>被访人</text>
          <text>*</text>
          <text>被访人</text>
        </view>
        <view class="list_item_content" @click="showName = true">
          <text :style="{ color: form1.receptMemberName ? '#000000' : '' }">{{
@@ -34,8 +16,8 @@
      </view>
      <view class="list_item">
        <view class="list_item_label">
          <text>入园时间</text>
          <text>*</text>
          <text>入园时间</text>
        </view>
        <view class="list_item_content" @click="show4 = true">
          <text :style="{ color: form1.starttime ? '#000000' : '' }">{{
@@ -46,8 +28,8 @@
      </view>
      <view class="list_item">
        <view class="list_item_label">
          <text>离园时间</text>
          <text>*</text>
          <text>离园时间</text>
        </view>
        <view class="list_item_content" @click="openLC">
          <text :style="{ color: form1.endtime ? '#000000' : '' }">{{
@@ -69,8 +51,8 @@
      <div class="empty"></div>
      <view class="list_item">
        <view class="list_item_label">
          <text>拜访事由</text>
          <text>*</text>
          <text>拜访事由</text>
        </view>
        <view class="list_item_content" @click="showReason = true">
          <text :style="{ color: form1.reason ? '#000000' : '' }">{{
@@ -81,8 +63,8 @@
      </view>
      <view class="list_item">
        <view class="list_item_label">
          <text></text>
          <text>是否施工作业</text>
          <text>*</text>
        </view>
        <view class="list_item_content">
          <switch
@@ -94,6 +76,7 @@
      </view>
      <view v-if="form1.type == '1'" class="list_item">
        <view class="list_item_label">
          <text></text>
          <text>施工内容</text>
          <!-- <text>*</text> -->
        </view>
@@ -108,8 +91,8 @@
      </view>
      <view class="list_item">
        <view class="list_item_label">
          <text>随行车辆</text>
          <text></text>
          <text>随行车辆</text>
        </view>
        <view class="list_item_content" @click="openInput(1)">
          <text :style="{ color: form1.carNos ? '#000000' : '' }">{{
@@ -323,8 +306,8 @@
          </view>
          <view class="adduser_list_item">
            <view class="adduser_list_item_label">
              <text>公司</text>
              <text>*</text>
              <text>公司</text>
            </view>
            <view class="adduser_list_item_ipt">
              <input
@@ -337,8 +320,8 @@
          </view>
          <view class="adduser_list_item">
            <view class="adduser_list_item_label">
              <text>随行车辆</text>
              <text></text>
              <text>随行车辆</text>
            </view>
            <view class="adduser_list_item_ipt" @click="openInput(2)">
              <text :style="{ color: withUserList.carNos ? '#000000' : '' }">{{
@@ -908,7 +891,7 @@
        align-items: center;
        justify-content: center;
        border-radius: 10rpx;
        background-color: #025eef;
        background-color: $uni-color-primary;
        color: #ffffff;
        font-size: 26rpx;
        margin-left: 30rpx;
@@ -968,18 +951,14 @@
          flex-shrink: 0;
          display: flex;
          align-items: center;
          font-family: PingFangSC, PingFang SC;
          font-size: 30rpx;
          text {
            &:nth-child(1) {
              font-size: 30rpx;
              font-family: PingFangSC, PingFang SC;
              font-weight: 400;
              color: #222222;
              color: #e0312a;
            }
            &:nth-child(2) {
              font-size: 30rpx;
              font-family: PingFangSC, PingFang SC;
              font-weight: 400;
              color: #e0312a;
              color: #222222;
            }
          }
        }
@@ -1298,13 +1277,14 @@
          &:nth-child(1) {
            font-size: 30rpx;
            font-weight: 400;
            color: #222222;
            color: #e42d2d;
          }
          &:nth-child(2) {
            font-size: 30rpx;
            font-weight: 400;
            color: #e42d2d;
            color: #222222;
          }
        }
      }
h5/pages/visitorSubGuide/index.vue
@@ -1,19 +1,29 @@
<template>
  <view class="box">
    <view class="line" v-for="(item, i) in guideList" :key="i">{{ item }}</view>
    <view v-html="info"></view>
  </view>
</template>
<script>
import { getSystemDictData } from '@/api'
export default {
  data() {
    return {
      guideList: [
        '1、访客阅读入园须知,填写安全答题。',
        '2、答题完成预约。',
        '3、预约完成请至访客机签到。',
        '4、刷脸入园。',
        '5、出园签离',
      ]
      info: "",
    }
  },
  onLoad() {
    this.initData()
  },
  methods: {
    initData() {
      getSystemDictData({
        dictCode: 'SYSTEM',
        label: 'VISIT_TIPS'
      }).then(res => {
        if (res.code === 200) {
          this.info = res.data.code
        }
      })
    }
  }
}
h5/static/banner_dati.png
h5/static/checkbo1x_sel@2x.png

h5/static/ic_success@2.png
h5/static/ic_wrong@2x.png

h5/static/video_sel@2x.png