From cef577c6928c961b4c3e2d97748a232aac64b903 Mon Sep 17 00:00:00 2001
From: liukangdong <898885815@qq.com>
Date: 星期二, 28 五月 2024 16:22:40 +0800
Subject: [PATCH] ''
---
h5/pages/visitorApplication/visitorApplication.vue | 2
h5/pages/appointmentDetails/appointmentDetails.vue | 454 ++++++++++++++++++++++++++------------------------
h5/pages/notice/notice.vue | 12 +
h5/pages/login/login.vue | 12
h5/api/visitor.js | 8
h5/pages/applicationRecord/applicationRecord.vue | 47 +++-
h5/static/redirect.html | 3
h5/store/index.js | 2
8 files changed, 293 insertions(+), 247 deletions(-)
diff --git a/h5/api/visitor.js b/h5/api/visitor.js
index 68126fa..cf7dd8f 100644
--- a/h5/api/visitor.js
+++ b/h5/api/visitor.js
@@ -39,4 +39,12 @@
method: 'post',
data
})
+}
+// 璁垮璁板綍璇︽儏
+export const getVisitedDetail = (data) => {
+ return http({
+ url: 'visitsAdmin/cloudService/web/visitor/detail',
+ method: 'get',
+ data
+ })
}
\ No newline at end of file
diff --git a/h5/pages/applicationRecord/applicationRecord.vue b/h5/pages/applicationRecord/applicationRecord.vue
index 6c647ed..4c6b390 100644
--- a/h5/pages/applicationRecord/applicationRecord.vue
+++ b/h5/pages/applicationRecord/applicationRecord.vue
@@ -9,34 +9,30 @@
</view>
</scroll-view>
<view class="box_list">
- <view class="box_list_item" v-for="(item, index) in 3" :key="index">
+ <view @click="handleDetail(item.id)" class="box_list_item" v-for="(item, index) in list" :key="index">
<view class="box_list_item_head">
- <text>涓佹仼鍑殑鍔冲姟鍏ュ巶鐢宠</text>
- <text class="loading">寰呭鏍�</text>
+ <text>{{ item.name }}鐨勫姵鍔″叆鍘傜敵璇�</text>
+ <text class="loading">{{ statusMap[item.status] }}</text>
</view>
<view class="box_list_item_nr">
<view class="box_list_item_nr_item">
<text>琚闂汉锛�</text>
- <text>浜轰簨閮�-鐜嬩簹钃�</text>
+ <text>{{ item.receptMemberDepartment }}-{{ item.receptMemberName }}</text>
</view>
<view class="box_list_item_nr_item">
<text>杩涘巶鏃堕棿锛�</text>
- <text>12-12 09:00</text>
+ <text>{{ item.starttime }}</text>
</view>
<view class="box_list_item_nr_item">
<text>绂诲巶鏃堕棿锛�</text>
- <text>12-12 12:00</text>
- </view>
- <view class="box_list_item_nr_item">
- <text>鍏ュ巶浜烘暟锛�</text>
- <text>10</text>
+ <text>{{ item.endtime }}</text>
</view>
<view class="box_list_item_nr_item">
<text>鏉ヨ浜嬬敱锛�</text>
- <text>涓氬姟鏉ュ線</text>
+ <text>{{ item.reason }}</text>
</view>
<view class="box_list_item_nr_x"></view>
- <view class="box_list_item_nr_text"> 2023-12-12 09:00鎻愪氦 </view>
+ <view class="box_list_item_nr_text">{{ item.createDate }} 鎻愪氦</view>
</view>
</view>
</view>
@@ -49,22 +45,41 @@
data() {
return {
pagination: {
- page: 1,
+ page: 0,
capacity: 10
},
- list: []
+ list: [],
+
+ statusMap: {
+ 0: '寰呭鏍�',
+ 1: '宸叉彁浜�',
+ 2: '瀹℃牳閫氳繃',
+ 3: '瀹℃牳涓嶉�氳繃',
+ 4: '鍙栨秷',
+ 5: '涓嬪彂鎴愬姛',
+ 6: '涓嬪彂澶辫触',
+ }
}
},
onLoad() {
this.getList()
},
methods: {
+ handleDetail(id) {
+ uni.navigateTo({
+ url: "/pages/appointmentDetails/appointmentDetails?id="+ id
+ })
+ },
getList() {
const { pagination } = this
getVisitedRecord({
- pageWrap: { ...pagination }
+ ...pagination,
+ model: {
+ openid: this.$store.state.openId
+ } ,
+
}).then(res => {
- this.list = res.data
+ this.list = res.data.records || []
})
}
diff --git a/h5/pages/appointmentDetails/appointmentDetails.vue b/h5/pages/appointmentDetails/appointmentDetails.vue
index a58e09b..2787c8f 100644
--- a/h5/pages/appointmentDetails/appointmentDetails.vue
+++ b/h5/pages/appointmentDetails/appointmentDetails.vue
@@ -1,233 +1,247 @@
<template>
- <view class="box">
- <view class="head_wrap head_success" v-if="info.status == 1">
- <view class="h1">璁垮棰勭害瀹℃牳閫氳繃</view>
- <view class="h2">鎮ㄧ殑鏉ヨ鐢宠宸插鏍搁�氳繃锛岃鍦ㄨ瀹㈡満绛惧埌鍏ュ巶銆傚閬囩壒娈婃儏鍐碉紝鍙仈绯昏璁夸汉鎴栧畨淇濅汉鍛�</view>
- </view>
- <view class="qr_wrap" v-if="info.status == 1">
- <canvas class="box_head_qrcode" canvas-id="img"></canvas>
- <view class="text">浣跨敤璁垮鏈烘壂鐮佺鍒�</view>
- </view>
- <view class="head_wrap head_padding" v-if="info.status == 2">
- <view class="h1">璁垮棰勭害寰呭鏍�</view>
- <view class="h2">鎮ㄧ殑棰勭害鍗曞凡鎻愪氦瀹℃牳锛岃绛夊緟琚浜哄鏍�</view>
- </view>
- <view class="head_wrap head_error" v-if="info.status == 3">
- <view class="h1">璁垮棰勭害瀹℃牳涓嶉�氳繃</view>
- <view class="h2">鎮ㄧ殑鏉ヨ鐢宠宸茶椹冲洖锛屽鏈夌枒闂紝鍙仈绯昏璁夸汉</view>
- </view>
- <view class="box_list">
- <view class="box_list_label">鎷滆淇℃伅</view>
- <view class="box_list_tips" v-if="info.status === 2">璇锋敞鎰忔煡鐪嬪嚭鍏ラ棬绂佷笅鍙戞儏鍐碉紝濡傝嫢涓嬪彂澶辫触闇�閲嶆柊鐢宠</view>
- <view class="box_list_item">
- <view class="box_list_item_label">琚浜哄憳锛�</view>
- <view class="box_list_item_val">{{info.visitUserName}}</view>
- </view>
- <!-- <view class="box_list_item">
+ <view class="box">
+ <view class="head_wrap head_success" v-if="info.status == 2">
+ <view class="h1">璁垮棰勭害瀹℃牳閫氳繃</view>
+ <view class="h2"
+ >鎮ㄧ殑鏉ヨ鐢宠宸插鏍搁�氳繃锛岃鍦ㄨ瀹㈡満绛惧埌鍏ュ巶銆傚閬囩壒娈婃儏鍐碉紝鍙仈绯昏璁夸汉鎴栧畨淇濅汉鍛�</view
+ >
+ </view>
+ <view class="qr_wrap" v-if="info.status == 2">
+ <canvas class="box_head_qrcode" canvas-id="img"></canvas>
+ <view class="text">浣跨敤璁垮鏈烘壂鐮佺鍒�</view>
+ </view>
+ <view class="head_wrap head_padding" v-if="info.status == 0">
+ <view class="h1">璁垮棰勭害寰呭鏍�</view>
+ <view class="h2">鎮ㄧ殑棰勭害鍗曞凡鎻愪氦瀹℃牳锛岃绛夊緟琚浜哄鏍�</view>
+ </view>
+ <view class="head_wrap head_error" v-if="info.status == 3">
+ <view class="h1">璁垮棰勭害瀹℃牳涓嶉�氳繃</view>
+ <view class="h2">鎮ㄧ殑鏉ヨ鐢宠宸茶椹冲洖锛屽鏈夌枒闂紝鍙仈绯昏璁夸汉</view>
+ </view>
+ <view class="box_list">
+ <view class="box_list_label">鎷滆淇℃伅</view>
+ <view class="box_list_tips" v-if="info.status == 6 || info.status == 3"
+ >璇锋敞鎰忔煡鐪嬪嚭鍏ラ棬绂佷笅鍙戞儏鍐碉紝濡傝嫢涓嬪彂澶辫触闇�閲嶆柊鐢宠</view
+ >
+ <view class="box_list_item">
+ <view class="box_list_item_label">琚浜哄憳锛�</view>
+ <view class="box_list_item_val"
+ >{{ info.visitUserCompany
+ }}{{ info.visitUserName ? "-" + info.visitUserName : "" }}</view
+ >
+ </view>
+ <!-- <view class="box_list_item">
<view class="box_list_item_label">杞︾墝鍙凤細</view>
<view class="box_list_item_val">{{info.carNos}}</view>
</view> -->
- <view class="box_list_item">
- <view class="box_list_item_label">鎷滆浜嬬敱锛�</view>
- <view class="box_list_item_val">{{info.visitReason}}</view>
- </view>
- <view class="box_list_item">
- <view class="box_list_item_label">鎷滆鏃堕棿锛�</view>
- <view class="box_list_item_val">{{info.visitTime}}</view>
- </view>
- <view class="box_list_item">
- <view class="box_list_item_label">璁块棶闂ㄧ锛�</view>
- <view class="box_list_item_val" v-if="info.doorGroupName && info.doorGroupName.length > 0">{{info.doorGroupName.join('銆�')}}</view>
- </view>
- <view class="box_list_item">
- <view class="box_list_item_label">涓昏瀹細</view>
- <view class="box_list_item_val">
- {{info.name}} {{info.phone}}
- </view>
- </view>
- <view class="box_list_item" v-for="(item, index) in info.withVisitsList" :key="index">
- <view class="box_list_item_label">闅忚浜哄憳{{index + 1}}锛�</view>
- <view class="box_list_item_val">
- {{item.name}} {{item.phone}}
- <view class="box_list_item_val_btn" v-if="[2,5,7,8,9].includes(item.status)">
- <u-button text="鏌ョ湅浜岀淮鐮�" size="mini" @click="seeQrCode(item)" type="primary"></u-button>
- </view>
- </view>
- </view>
- </view>
- <u-popup :show="show" mode="center" @close="close">
- <view class="qrocde">
- <canvas class="qrcode_img" canvas-id="img1"></canvas>
- </view>
- </u-popup>
- </view>
+ <view class="box_list_item">
+ <view class="box_list_item_label">鎷滆浜嬬敱锛�</view>
+ <view class="box_list_item_val">{{ info.visitReason }}</view>
+ </view>
+ <view class="box_list_item">
+ <view class="box_list_item_label">鎷滆鏃堕棿锛�</view>
+ <view class="box_list_item_val">{{ info.visitTime }}</view>
+ </view>
+ <view class="box_list_item">
+ <view class="box_list_item_label">璁垮淇℃伅锛�</view>
+ <view class="box_list_item_val">{{ info.name }} {{ info.phone }}</view>
+ </view>
+ <view class="box_list_item">
+ <view class="box_list_item_label">鏂藉伐浜哄憳锛�</view>
+ <view class="box_list_item_val">{{ info.type == 0 ? '鍚�' : '鏄�'}}</view>
+ </view>
+ <view class="box_list_item" v-if="info.type == '1'">
+ <view class="box_list_item_label">鏂藉伐鍐呭锛�</view>
+ <view class="box_list_item_val">{{ info.constructionReason}}</view>
+ </view>
+ <view class="box_list_item">
+ <view class="box_list_item_label">闅忚杞﹁締锛�</view>
+ <view class="box_list_item_val">{{ info.carNos }}</view>
+ </view>
+ </view>
+ <u-popup :show="show" mode="center" @close="close">
+ <view class="qrocde">
+ <canvas class="qrcode_img" canvas-id="img1"></canvas>
+ </view>
+ </u-popup>
+ </view>
</template>
<script>
- import wxcode from 'uniapp-qrcode'
- import { visitorSubDetail } from '@/api'
+import wxcode from 'uniapp-qrcode'
+import { getVisitedDetail } from '@/api'
- export default {
- data() {
- return {
- info: {
- status: 1
- },
- show: false
- };
- },
- onLoad(option) {
- // this.$u.api.detail({ id: option.id })
- // visitorSubDetail({ id: option.id })
- // .then(res => {
- // if (res.code === 200) {
- // this.info = res.data
- // if (res.data.qrcode) {
- // this.$nextTick(() => {
- // wxcode.qrcode('img', res.data.qrcode, 320, 320)
- // })
- // }
- // }
- // })
- },
- methods: {
- close() {
- this.show = false
- },
- seeQrCode(code) {
- if (code.qrcode) {
- this.show = true
- this.$nextTick(() => {
- wxcode.qrcode('img1', code.qrcode, 300, 300)
- })
- } else {
- uni.showToast({ title: '鏆傛棤浜岀淮鐮�', icon: 'none' })
- }
- }
- }
- }
+export default {
+ data() {
+ return {
+ info: {},
+ show: false
+ }
+ },
+ onLoad(option) {
+ this.getDetail(option.id)
+ // visitorSubDetail({ id: option.id })
+ // .then(res => {
+ // if (res.code === 200) {
+ // this.info = res.data
+ // if (res.data.qrcode) {
+ // this.$nextTick(() => {
+ // wxcode.qrcode('img', res.data.qrcode, 320, 320)
+ // })
+ // }
+ // }
+ // })
+
+ },
+ methods: {
+ close() {
+ this.show = false
+ },
+ getDetail(id) {
+ getVisitedDetail({ id }).then(res => {
+ this.info = res.data
+ if (res.data.qrcode) {
+ this.$nextTick(() => {
+ wxcode.qrcode('img', res.data.qrcode, 320, 320)
+ })
+ }
+ })
+ },
+ seeQrCode(code) {
+ if (code.qrcode) {
+ this.show = true
+ this.$nextTick(() => {
+ wxcode.qrcode('img1', code.qrcode, 300, 300)
+ })
+ } else {
+ uni.showToast({ title: '鏆傛棤浜岀淮鐮�', icon: 'none' })
+ }
+ }
+ }
+}
</script>
<style>
- page {
- background-color: #f7f7f7;
- }
+page {
+ background-color: #f7f7f7;
+}
</style>
<style lang="scss" scoped>
- .box {
- width: 100%;
- .qrocde {
- width: 300rpx;
- height: 300rpx;
- display: flex;
- align-items: center;
- justify-content: center;
- .qrcode_img {
- width: 100%;
- height: 100%;
- }
- }
- .qr_wrap{
- background-color: #fff;
- text-align: center;
- .box_head_qrcode {
- width: 320rpx;
- height: 320rpx;
- }
- .text{
- font-size: 30rpx;
- color: #279BAA;
- padding: 20rpx 0 30rpx;
- }
- }
- .head_wrap{
- padding: 30px;
-
- .h1{
- margin-bottom: 16rpx;
- font-weight: 600;
- font-size: 36rpx;
- }
- .h2{
- font-weight: 400;
- font-size: 26rpx;
- }
- }
- .head_padding{
- background: #279BAA;
- .h1{
- color: #FFFFFF;
- }
- .h2{
- color: #FFFFFF;
- }
- }
- .head_error{
- background: #FDEDED;
- .h1{
- color: #ED4545;
- }
- .h2{
- color: #333333;
- }
- }
- .head_success{
- background: #E8F4F6;
- .h1{
- color: #279BAA;
- }
- .h2{
- color: #333333;
- }
- }
- .box_list {
- width: 100%;
- margin-top: 20rpx;
- background-color: #ffffff;
- padding: 40rpx 30rpx;
- box-sizing: border-box;
- .box_list_tips {
- width: 100%;
- height: 52rpx;
- padding: 0 20rpx;
- box-sizing: border-box;
- line-height: 52rpx;
- background-color: rgba(224, 49, 42, 0.06);
- font-weight: 400;
- font-size: 24rpx;
- color: #E0312A;
- border-radius: 4rpx;
- margin: 30rpx 0;
- }
- .box_list_label {
- font-size: 32rpx;
- font-weight: 500;
- color: #222222;
- }
- .box_list_item {
- width: 100%;
- display: flex;
- align-items: center;
- margin-top: 30rpx;
- .box_list_item_label {
- flex-shrink: 0;
- font-size: 28rpx;
- font-family: PingFangSC, PingFang SC;
- font-weight: 400;
- color: #666666;
- }
- .box_list_item_val {
- font-size: 28rpx;
- font-family: PingFangSC, PingFang SC;
- font-weight: 400;
- color: #333333;
- display: flex;
- align-items: center;
- .box_list_item_val_btn {
- width: 140rpx;
- margin-left: 15rpx;
- }
- }
- }
- }
- }
+.box {
+ width: 100%;
+ .qrocde {
+ width: 300rpx;
+ height: 300rpx;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ .qrcode_img {
+ width: 100%;
+ height: 100%;
+ }
+ }
+ .qr_wrap {
+ background-color: #fff;
+ text-align: center;
+ .box_head_qrcode {
+ width: 320rpx;
+ height: 320rpx;
+ margin: 20rpx auto;
+ }
+ .text {
+ font-size: 30rpx;
+ color: #279baa;
+ padding: 20rpx 0 30rpx;
+ }
+ }
+ .head_wrap {
+ padding: 30px;
+
+ .h1 {
+ margin-bottom: 16rpx;
+ font-weight: 600;
+ font-size: 36rpx;
+ }
+ .h2 {
+ font-weight: 400;
+ font-size: 26rpx;
+ }
+ }
+ .head_padding {
+ background: #279baa;
+ .h1 {
+ color: #ffffff;
+ }
+ .h2 {
+ color: #ffffff;
+ }
+ }
+ .head_error {
+ background: #fdeded;
+ .h1 {
+ color: #ed4545;
+ }
+ .h2 {
+ color: #333333;
+ }
+ }
+ .head_success {
+ background: #e8f4f6;
+ .h1 {
+ color: #279baa;
+ }
+ .h2 {
+ color: #333333;
+ }
+ }
+ .box_list {
+ width: 100%;
+ margin-top: 20rpx;
+ background-color: #ffffff;
+ padding: 40rpx 30rpx;
+ box-sizing: border-box;
+ .box_list_tips {
+ width: 100%;
+ height: 52rpx;
+ padding: 0 20rpx;
+ box-sizing: border-box;
+ line-height: 52rpx;
+ background-color: rgba(224, 49, 42, 0.06);
+ font-weight: 400;
+ font-size: 24rpx;
+ color: #e0312a;
+ border-radius: 4rpx;
+ margin: 30rpx 0;
+ }
+ .box_list_label {
+ font-size: 32rpx;
+ font-weight: 500;
+ color: #222222;
+ }
+ .box_list_item {
+ width: 100%;
+ display: flex;
+ align-items: center;
+ margin-top: 30rpx;
+ .box_list_item_label {
+ flex-shrink: 0;
+ font-size: 28rpx;
+ font-family: PingFangSC, PingFang SC;
+ font-weight: 400;
+ color: #666666;
+ }
+ .box_list_item_val {
+ font-size: 28rpx;
+ font-family: PingFangSC, PingFang SC;
+ font-weight: 400;
+ color: #333333;
+ display: flex;
+ align-items: center;
+ .box_list_item_val_btn {
+ width: 140rpx;
+ margin-left: 15rpx;
+ }
+ }
+ }
+ }
+}
</style>
diff --git a/h5/pages/login/login.vue b/h5/pages/login/login.vue
index 2cb32c7..732caac 100644
--- a/h5/pages/login/login.vue
+++ b/h5/pages/login/login.vue
@@ -62,14 +62,10 @@
title: '瀵嗙爜涓嶈兘涓虹┖',
icon: 'none'
})
- const appID = 'wx4d7c10bdec51942b'
- const AppSecret = '922c93596d134fedf5bd22a9354b3bfe'
- // const scope = 'snsapi_userinfo'
- let uri = encodeURIComponent('https://xiaopiqiu2.natapp1.cc')
- let authURL =
- `https://open.weixin.qq.com/connect/oauth2/authorize?appid=${appID}&redirect_uri=${uri}&response_type=code&scope=snsapi_userinfo&state=123#wechat_redirect`
- window.location.href = authURL
- loginPost(form).then(res => {
+ loginPost({
+ ...form,
+ openId: this.$store.state.openId
+ }).then(res => {
console.log('res', res);
})
}
diff --git a/h5/pages/notice/notice.vue b/h5/pages/notice/notice.vue
index ddd051b..b114ef8 100644
--- a/h5/pages/notice/notice.vue
+++ b/h5/pages/notice/notice.vue
@@ -25,8 +25,20 @@
},
onLoad() {
this.getInfo()
+ if(!this.$store.state.openId){
+ this.initToken()
+ }
+
},
methods: {
+ initToken() {
+ const appID = 'wxac2a80c2144c4ee0'
+ // const AppSecret = '922c93596d134fedf5bd22a9354b3bfe'
+ let uri = encodeURIComponent('http://xiaopiqiu2.natapp1.cc/static/redirect.html')
+ let authURL =
+ `https://open.weixin.qq.com/connect/oauth2/authorize?appid=${appID}&redirect_uri=${uri}&response_type=code&scope=snsapi_base&state=123#wechat_redirect`
+ window.location.href = authURL
+ },
getInfo() {
// 鍏ュ満椤荤煡璇︽儏
getSystemDictData({
diff --git a/h5/pages/visitorApplication/visitorApplication.vue b/h5/pages/visitorApplication/visitorApplication.vue
index e838995..6478aba 100644
--- a/h5/pages/visitorApplication/visitorApplication.vue
+++ b/h5/pages/visitorApplication/visitorApplication.vue
@@ -83,7 +83,7 @@
<view v-if="form1.type == '1'" class="list_item">
<view class="list_item_label">
<text>鏂藉伐鍐呭</text>
- <text>*</text>
+ <!-- <text>*</text> -->
</view>
<view class="list_item_content">
<input type="text" v-model="form1.constructionReason" placeholder="璇疯緭鍏ユ柦宸ュ唴瀹�" placeholder-style="color: #999999;" />
diff --git a/h5/redirect.html b/h5/static/redirect.html
similarity index 73%
rename from h5/redirect.html
rename to h5/static/redirect.html
index e445f88..1b107f5 100644
--- a/h5/redirect.html
+++ b/h5/static/redirect.html
@@ -6,7 +6,8 @@
<script>
var p = location.href.split("?")
// window.location.href = 'https://dmtest.ahapp.net/hsvisit_h5/#/pages/notice/notice?' + p[1]
- window.location.href = 'http://facepay.huasunsolar.com/h5/#/pages/notice/notice?' + p[1]
+ alert(p[1])
+ // window.location.href = 'http://xiaopiqiu2.natapp1.cc/#/pages/staff/index?' + p[1]
</script>
</head>
<body>
diff --git a/h5/store/index.js b/h5/store/index.js
index a363be0..bd9028ab 100644
--- a/h5/store/index.js
+++ b/h5/store/index.js
@@ -18,7 +18,7 @@
const store = new Vuex.Store({
state: {
- openId: openId || '',
+ openId: openId || '061kuG0006hxcS13TT200w9VIp4kuG09',
member: member || null,
statusbarHeight: statusbarHeight || '0',
navHeight: navHeight || '0',
--
Gitblit v1.9.3