From 22271e641e4505ba906c3770905b7e84e3ad8d85 Mon Sep 17 00:00:00 2001
From: MrShi <1878285526@qq.com>
Date: 星期二, 02 四月 2024 17:05:57 +0800
Subject: [PATCH] mrshi

---
 wx/pages/policyDetails/policyDetails.vue |  150 +++++++++++++++++++++++++++++++++++++++-----------
 1 files changed, 117 insertions(+), 33 deletions(-)

diff --git a/wx/pages/policyDetails/policyDetails.vue b/wx/pages/policyDetails/policyDetails.vue
index f233a06..fd3c757 100644
--- a/wx/pages/policyDetails/policyDetails.vue
+++ b/wx/pages/policyDetails/policyDetails.vue
@@ -92,14 +92,14 @@
 		<template v-if="info.solutionType === 0">
 			<!-- 淇濋殰涓� -->
 			<view class="details_footer" v-if="info.statusCollect === 2">
-				<u-button type="primary" shape="circle" color="#437CB3" :plain="true" text="鏌ョ湅鎶曚繚鍗�"></u-button>
+				<u-button type="primary" shape="circle" color="#437CB3" :plain="true" text="鏌ョ湅鎶曚繚鍗�" @click="seePdf(info.toubaodanSignedFile.fileurlFull)"></u-button>
 				<view style="width: 44rpx; height: 50rpx;"></view>
-				<u-button type="primary" shape="circle" color="#437CB3" :plain="true" text="鏌ョ湅淇濋櫓鍗�"></u-button>
+				<u-button type="primary" shape="circle" color="#437CB3" :plain="true" text="鏌ョ湅淇濋櫓鍗�" @click="seePdf(info.baoxiandanFile.fileurlFull)"></u-button>
 			</view>
 			<!-- 寰呭鏍� -->
 			<view class="details_footer" v-if="info.statusCollect === 0">
 				<!-- show = true -->
-				<u-button type="primary" shape="circle" color="#437CB3" @click="open1" :plain="true" text="鐢宠閫�鍥�"></u-button>
+				<u-button type="primary" shape="circle" color="#437CB3" :plain="true" text="鐢宠閫�鍥�" @click="show = true"></u-button>
 			</view>
 			<!-- 寰呯缃� -->
 			<view class="details_footer" v-if="info.statusCollect === 7">
@@ -112,7 +112,7 @@
 			<view class="details_footer" v-if="info.statusCollect === 1">
 				<u-button type="primary" shape="circle" color="#437CB3" :plain="true" text="鐢宠閫�鍥�" @click="show = true"></u-button>
 				<view style="width: 44rpx; height: 50rpx;"></view>
-				<u-button type="primary" shape="circle" color="#437CB3" text="鏌ョ湅鎶曚繚鍗�" @click="seePdf"></u-button>
+				<u-button type="primary" shape="circle" color="#437CB3" text="鏌ョ湅鎶曚繚鍗�" @click="seePdf(info.toubaodanSignedFile.fileurlFull)"></u-button>
 			</view>
 			<!-- 宸查��鍥� -->
 			<view class="details_footer" v-if="info.statusCollect === 4">
@@ -123,15 +123,15 @@
 		<template v-else>
 			<!-- 寰呯缃� -->
 			<view class="details_footer" v-if="info.statusCollect === 7">
-				<u-button type="primary" shape="circle" color="#437CB3" :plain="true" text="绛剧讲纭涔�"></u-button>
+				<u-button type="primary" shape="circle" color="#437CB3" :plain="true" text="绛剧讲纭涔�" @click="openmessage(2)"></u-button>
 				<view style="width: 44rpx; height: 50rpx;"></view>
-				<u-button type="primary" shape="circle" color="#437CB3" text="绛剧讲鐢宠鍗�"></u-button>
+				<u-button type="primary" shape="circle" color="#437CB3" text="绛剧讲鐢宠鍗�" @click="openmessage(3)"></u-button>
 			</view>
 			<!-- 寰呭鏍�/寰呭嚭璐� -->
 			<view class="details_footer" v-if="info.statusCollect === 0 || info.statusCollect === 1">
-				<u-button type="primary" shape="circle" color="#437CB3" :plain="true" text="鏌ョ湅鐢宠鍗�"></u-button>
+				<u-button type="primary" shape="circle" color="#437CB3" :plain="true" text="鏌ョ湅鐢宠鍗�" @click="seePdf(info.shenqingdanFile.fileurlFull)"></u-button>
 				<view style="width: 44rpx; height: 50rpx;"></view>
-				<u-button type="primary" shape="circle" color="#437CB3" text="鏌ョ湅纭涔�"></u-button>
+				<u-button type="primary" shape="circle" color="#437CB3" text="鏌ョ湅纭涔�" @click="seePdf(info.fanganFile.fileurlFull)"></u-button>
 			</view>
 			<!-- 宸查��鍥� -->
 			<view class="details_footer" v-if="info.statusCollect === 4">
@@ -139,7 +139,7 @@
 			</view>
 			<!-- 鎶曚繚涓� -->
 			<view class="details_footer" v-if="info.statusCollect === 26 && info.unionApplyTbdStatus !== 0">
-				<u-button type="primary" shape="circle" color="#437CB3" :plain="true" text="绛剧讲鎶曚繚鍗�"></u-button>
+				<u-button type="primary" shape="circle" color="#437CB3" text="绛剧讲鎶曚繚鍗�" @click="openmessage(1)"></u-button>
 			</view>
 		</template>
 		<!-- 鐢宠閫�鍥炵‘璁ゅ脊绐� -->
@@ -154,11 +154,15 @@
 		<u-modal :show="show1" title="鑾峰彇楠岃瘉鐮�" :showCancelButton="true" confirmColor="#437CB3" @cancel="cancel1" @confirm="confirm1">
 			<view class="code">
 				<view class="code_input">
-					<input type="text" placeholder="杈撳叆楠岃瘉鐮�" />
+					<input type="text" v-model="code" placeholder="杈撳叆楠岃瘉鐮�" />
 				</view>
 				<view class="code_text">
-					<text class="code_text_error">楠岃瘉鐮侀敊璇�</text>
-					<text>鑾峰彇楠岃瘉鐮�</text>
+					<text class="code_text_error" v-if="error === 1">楠岃瘉鐮佷笉鑳戒负绌�</text>
+					<text class="code_text_error" v-else-if="error === 2">楠岃瘉鐮侀敊璇�</text>
+					<text v-else></text>
+					
+					<text @click="send" v-if="num === 0">鑾峰彇楠岃瘉鐮�</text>
+					<text v-else>{{num}}</text>
 				</view>
 			</view>
 		</u-modal>
@@ -166,6 +170,7 @@
 </template>
 
 <script>
+	import { mapState } from 'vuex'
 	export default {
 		data() {
 			return {
@@ -176,8 +181,17 @@
 				list: [],
 				show: false,
 				show1: false,
-				show2: false
+				show2: false,
+				
+				type: null,
+				code: '',
+				num: 0,
+				error: false,
+				timer: null
 			};
+		},
+		computed: {
+			...mapState(['userInfo'])
 		},
 		onLoad(options) {
 			this.orderId = options.orderId
@@ -188,15 +202,46 @@
 			this.applyDetailPage()
 		},
 		methods: {
+			send () {
+				this.$u.api.sendSms({
+					phone: this.userInfo.mobile
+				}).then(res => {
+					if (res.code === 200) {
+						this.num = 60
+						this.setTime()
+					}
+				})
+			},
+			setTime () {
+				this.timer = setInterval(() => {
+					if (this.num === 0) {
+						clearInterval(this.timer)
+						this.timer = null
+						return
+					}
+					this.num = this.num - 1
+				}, 1000)
+			},
+			// 鎵撳紑鍙戦�侀獙璇佺爜寮圭獥
+			openmessage(type) {
+				this.code = ''
+				clearInterval(this.timer)
+				this.error = ''
+				this.timer = null
+				this.num = 0
+				this.type = type
+				this.show1 = true
+			},
 			signApplication() {
 				uni.navigateTo({
 					url: `/pages/webView/webView?url=https://web.sandbox.junziqian.com/signInfo/viewDetail?ts=1711966477502&signNo=SSN1774742154020143104&sign=GHW6wWRJfEZiXO-gXZwTezR5CYUvhwbmoWHlPsqUCLA`
 				})
 			},
 			// 鏌ョ湅pdf
-			seePdf() {
+			seePdf(url) {
+				if(!url) return;
 				uni.downloadFile({
-				    url: this.info.toubaodanSignedFile.fileurlFull,
+				    url,
 				    success: function (res) {
 						var filePath = res.tempFilePath;
 						uni.openDocument({
@@ -235,23 +280,6 @@
 					}
 				})
 			},
-			open1() {
-				uni.navigateToMiniProgram({
-				    appId: 'wxf7fd282cd119885f', // 瑕佹墦寮�鐨勫皬绋嬪簭鐨刟ppid
-				    path: 'pages/index/index', // 鎵撳紑鐨勯〉闈㈣矾寰勶紝鍙��
-				    extraData: {
-				        // 闇�瑕佷紶閫掔粰鐩爣灏忕▼搴忕殑鏁版嵁锛屽彲閫�
-				    },
-				    success(res) {
-				        // 鎵撳紑鎴愬姛鐨勫洖璋冿紝鍙��
-				        console.log('鎵撳紑鎴愬姛');
-				    },
-				    fail(err) {
-				        // 鎵撳紑澶辫触鐨勫洖璋冿紝鍙��
-				        console.log('鎵撳紑澶辫触', err);
-				    }
-				});
-			},
 			IdCard(UUserCard) {
 				let idcard = UUserCard.toString();
 				//鑾峰彇骞撮緞
@@ -280,7 +308,63 @@
 				this.show = false
 			},
 			confirm1() {
-				this.show1 = false
+				if (!this.code) {
+					this.error = 1
+					return
+				}
+				// 绛剧讲鎶曚繚鍗�
+				if (this.type === 1) {
+					this.$u.api.validateCode({
+						code: this.code
+					}).then(res => {
+						if (res.code === 200) {
+							this.error = ''
+							this.show1 = false
+							this.$u.api.getSignLink(this.info.id)
+								.then(url => {
+									if (url.code === 200) {
+										uni.navigateTo({
+											url: `/pages/webView/webView?url=${url.data}`
+										})
+									}
+								})
+						} else {
+							this.error = 2
+						}
+					})
+				// 纭涔�
+				} else if (this.type === 2) {
+					this.$u.api.signTBQRSLink({
+						businessId: this.info.id,
+						code: this.code
+					}).then(res => {
+						if (res.code === 200) {
+							this.error = ''
+							this.show1 = false
+							uni.navigateTo({
+								url: `/pages/webView/webView?url=${res.data}`
+							})
+						} else {
+							this.error = 2
+						}
+					})
+				// 绛剧讲鐢宠鍗�
+				} else if (this.type === 3) {
+					this.$u.api.getMemberListOnlineSignLink({
+						businessId: this.info.id,
+						code: this.code
+					}).then(res => {
+						if (res.code === 200) {
+							this.error = ''
+							this.show1 = false
+							uni.navigateTo({
+								url: `/pages/webView/webView?url=${res.data}`
+							})
+						} else {
+							this.error = 2
+						}
+					})
+				}
 			},
 			cancel1() {
 				this.show1 = false

--
Gitblit v1.9.3