فهرست منبع

途宝报单bug修改

wangzhuo 1 سال پیش
والد
کامیت
1b4068b26a
6فایلهای تغییر یافته به همراه198 افزوده شده و 102 حذف شده
  1. 11 3
      pages.json
  2. 75 0
      pages/agreement/xieyi.vue
  3. 18 7
      pages/login.vue
  4. 42 55
      pages/particulars/claimExpense/index.vue
  5. 51 36
      pages/particulars/index.vue
  6. 1 1
      permission.js

+ 11 - 3
pages.json

@@ -1,5 +1,6 @@
 {
-	"pages": [{
+	"pages": [
+		{
 			"path": "pages/login",
 			"style": {
 				"navigationBarTitleText": "登录"
@@ -9,6 +10,15 @@
 				"bounce": "none"
 			}
 		}, {
+			"path": "pages/agreement/xieyi",
+			"style": {
+				"navigationBarTitleText": "用户协议"
+			},
+			"app-plus": {
+				// 将回弹属性关掉
+				"bounce": "none"
+			}
+		}, {
 			"path": "pages/register",
 			"style": {
 				"navigationBarTitleText": "注册"
@@ -20,8 +30,6 @@
 				"navigationBarBackgroundColor": "#3c9cff",
 				// "navigationStyle": "custom",
 				"navigationBarTextStyle": "white" //状态栏字体颜色
-				
-				
 			},
 			"app-plus": {
 				// 将回弹属性关掉

+ 75 - 0
pages/agreement/xieyi.vue

@@ -0,0 +1,75 @@
+<template>
+	<div style="padding: 30rpx;box-sizing: border-box;">
+		<p>途宝报单用户授权须知</p>
+		<p>尊敬的用户,欢迎使用途宝报单!在您开始使用途宝报单之前,请仔细阅读并理解本授权须知。本须知将明确告知您授权途宝报单所涉及的信息的范围、用途以及保护措施。请您在点击同意前仔细阅读,并在同意授权之前问询相关问题。</p>
+		<p>一、信息收集范围</p>
+		<p>为了正常运行和提供优质的服务,途宝报单可能需要收集您的个人信息,包括但不限于以下几个方面:
+		1.1 基础信息:为了注册并使用途宝报单,您需要提供手机号码、昵称、头像等基本信息。
+		1.2 隐私信息:当您使用途宝报单的特定功能和服务时,例如发送语音消息、定位共享、小程序等,途宝报单需要获得您的设备信息、通讯录、位置信息等。
+		注意:途宝报单会严格遵守相关法律法规,尊重用户隐私,不会擅自窃取、篡改或泄露您的个人信息。</p>
+		<p>二、信息使用目的</p>
+		<p>途宝报单收集您的个人信息的目的是为了向您提供更好的服务,并不会超出以下范围:</p>
+		<p>2.1 账户管理:包括但不限于账号注册、登陆验证、账号安全等功能。
+		2.2 信息展示:例如头像、昵称等信息将会展示在您的个人资料页面,这些信息将有助于您与好友互相识别。
+		2.3 社交互动:您通过途宝报单可以进行一对一或群聊天、语音通话、视频通话等交流互动。
+		2.4 位置共享:当您使用地理位置共享功能时,途宝报单将获取您的位置信息用于展示、查询附近的用户或服务。
+		2.5 推荐服务:途宝报单可能根据您的信息和使用习惯,向您提供相关的内容、广告或推荐服务。</p>
+		<p>三、信息保护措施</p>
+		<p>途宝报单将采取必要的技术和管理措施来保护您的个人信息安全:</p>
+		<p>3.1 数据加密:途宝报单将通过加密技术,对您的个人信息进行传输和存储的保护,确保数据的安全性。
+		3.2 访问权限控制:途宝报单将采取严格的权限管理制度,限制用户信息的访问范围,确保信息仅在授权使用的情况下接触。
+		3.3 安全审计:途宝报单将定期进行安全审计,发现并修复相关安全问题,确保系统的稳定性和安全性。
+		3.4 信息存储:途宝报单将对您的个人信息进行合理的存储期限,并在超过存储期限后进行匿名化处理。</p>
+		<p>四、用户权利和选择</p>
+		<p>按照相关法律法规,用户拥有以下权利和选择:</p>
+		<p>4.1 取消授权:您有权取消授权,即停止使用途宝报单服务并删除您的个人信息。
+		4.2 访问、更正和删除:您有权访问或更正您的个人信息,并有权申请删除或更正不准确的信息。
+		4.3 投诉和举报:如您发现途宝报单在数据使用过程中存在问题,您有权投诉和举报,并由相关部门进行调查处理。
+		4.4 隐私设置:途宝报单将不断优化隐私设置功能,您可以根据自己的需求,设置个人信息的可见范围和共享权限。</p>
+		<p>五、其他事项</p>
+		<p>5.1 未成年人授权:如果您是未成年人,请在监护人的陪同下使用途宝报单。</p>
+		
+		<!-- <div style="margin: 30rpx 0 40rpx;display: flex;justify-content: space-around;">
+			<div class="button quxiao" @click="quxiao">取消</div>
+			<div class="button" @click="queding">确认</div>
+		</div> -->
+	</div>
+</template>
+
+<script>
+	export default {
+		data(){
+			return {}
+		},
+		methods:{
+			quxiao(){
+				uni.$u.route('pages/login/login')
+			},
+			queding(){
+				let pages = getCurrentPages() // 获取当前页面栈的实例,以数组形式按栈的顺序给出,第一个元素为首页,最后一个元素为当前页面。
+				let prevPage = pages[pages.length - 2] //上一页页面实例
+				prevPage.$vm.zhuangtao(true)
+				uni.navigateBack()
+			}
+		}
+	}
+</script>
+
+<style scoped lang="scss">
+	.button {
+		width: 200rpx;
+		height: 80rpx;
+		background: #67a1fc;
+		display: flex;
+		align-items: center;
+		justify-content: center;
+		color: #fff;
+		border-radius: 10rpx;
+	}
+	.quxiao {
+		color: #67a1fc;
+		border-radius: 10rpx;
+		border: 1rpx solid #67a1fc;
+		background: #fff;
+	}
+</style>

+ 18 - 7
pages/login.vue

@@ -34,11 +34,15 @@
 				<text class="text-grey1">没有账号?</text>
 				<text @click="handleUserRegister" class="text-blue">立即注册</text>
 			</view>
-			<!-- <view class="xieyi text-center">
-				<text class="text-grey1">登录即代表同意</text>
-				<text @click="handleUserAgrement" class="text-blue">《用户协议》</text>
-				<text @click="handlePrivacy" class="text-blue">《隐私协议》</text>
-			</view> -->
+			<view class="xieyi text-center" style="display: flex; justify-content: center;">
+				<u-checkbox-group v-model="isUserAgreement">
+					<u-checkbox label-size="12" label="我已阅读" :name="true"></u-checkbox>
+					<text @click="handleUserAgrement" class="text-blue">《用户协议》</text>
+				</u-checkbox-group>
+				<!-- <text class="text-grey1">登录即代表同意</text> -->
+				<!-- <text @click="handleUserAgrement" class="text-blue">《用户协议》</text> -->
+				<!-- <text @click="handlePrivacy" class="text-blue">《隐私协议》</text> -->
+			</view>
 		</view>
 
 	</view>
@@ -54,6 +58,8 @@
 			return {
 				// 是否保存密码
 				isKeepKey: [],
+				// 阅读用户协议
+				isUserAgreement: [],
 				codeUrl: "",
 				captchaEnabled: true,
 				// 用户注册开关
@@ -89,8 +95,11 @@
 			},
 			// 用户协议
 			handleUserAgrement() {
-				let site = this.globalConfig.appInfo.agreements[1]
-				this.$tab.navigateTo(`/pages/common/webview/index?title=${site.title}&url=${site.url}`)
+				uni.navigateTo({
+					url: '/pages/agreement/xieyi'
+				});
+				// let site = this.globalConfig.appInfo.agreements[1]
+				// this.$tab.navigateTo(`/pages/common/webview/index?title=${site.title}&url=${site.url}`)
 			},
 			// 获取图形验证码
 			getCode() {
@@ -122,6 +131,8 @@
 					this.$modal.msgError("请输入您的密码")
 					// } else if (this.loginForm.code === "" && this.captchaEnabled) {
 					//   this.$modal.msgError("请输入验证码")
+				} else if (this.isUserAgreement.length === 0) {
+					this.$modal.msgError("请阅读用户协议")
 				} else {
 					this.$modal.loading("登录中,请耐心等待...")
 					this.pwdLogin()

+ 42 - 55
pages/particulars/claimExpense/index.vue

@@ -65,9 +65,9 @@
 							@input="checkUnOilhomeQty" v-model="formData.oilhomeQty" />
 					</view>
 					<view class="data">
-						<text class="key">加油金额</text>
+						<!-- <text class="key">加油金额</text>
 						<input class="value" selection-start="0" selection-end="9999" :disabled="disabled" type="digit"
-							@input="checkUnOilhomeAmt" v-model="formData.oilhomeAmt" />
+							@input="checkUnOilhomeAmt" v-model="formData.oilhomeAmt" /> -->
 					</view>
 				</view>
 				<view class="box">
@@ -179,7 +179,7 @@
 					<!-- <text style="color: #3c9cff;">单据拍照存档</text> -->
 					<text style="color: #3c9cff;">单据拍照存档 (请上传图片大小为1MB以下的图片)</text>
 				</view>
-				<u-upload :fileList="fileList1" accept="image" :sizeType="['compressed']" capture="camera"
+				<u-upload :fileList="fileList1":sizeType="['compressed']"
 					@afterRead="imgUploading" @delete="deletePic" name="1" multiple :disabled="disabled"
 					:previewFullImage="true"></u-upload>
 			</view>
@@ -1339,59 +1339,46 @@
 					this.formData.date = date;
 					insertTmsAttachMngs(this.formData).then(res => {
 						if (res.code == 200) {
-							let data = {
-								name: 'avatarfile',
-								filePath: lists[i].url
-							}
-							// 获取经纬度
-							let longitude = '';
-							let latitude = '';
-							uni.getLocation({
-								type: 'wgs84',
-								isHighAccuracy: true,
-								geocode: true,
-								success: (map) => {
-									longitude = map.longitude
-									latitude = map.latitude
-									let dataForm = {
-										attachId: res.data,
-										longitude: longitude,
-										latitude: latitude,
-										updateDate: dateHHmmss,
-										carRegNo:this.formData.carRegNo
-									}
-									// 上传图片
-									pictureUploading(data, dataForm).then(res => {
-										let item = this[`fileList${event.name}`][fileListLen]
-										this[`fileList${event.name}`].splice(fileListLen, 1, Object.assign(
-											item, {
-												status: 'success',
-												message: '',
-												url: res.data
-											}))
-										fileListLen++
-									})
+							uni.compressImage({
+							  src: lists[i].url,
+							  quality: 80,
+							  success: ress => {
+								let data = {
+									name: 'avatarfile',
+									filePath: ress.tempFilePath
 								}
-							});
-							// let dataForm = {
-							// 	attachId: res.data,
-							// 	longitude: longitude,
-							// 	latitude: latitude,
-							// 	updateDate: dateHHmmss
-							// }
-
-							// console.log(dataForm);
-							// // 上传图片
-							// pictureUploading(data, dataForm).then(res => {
-							// 	let item = this[`fileList${event.name}`][fileListLen]
-							// 	this[`fileList${event.name}`].splice(fileListLen, 1, Object.assign(
-							// 		item, {
-							// 			status: 'success',
-							// 			message: '',
-							// 			url: res.data
-							// 		}))
-							// 	fileListLen++
-							// })
+								// 获取经纬度
+								let longitude = '';
+								let latitude = '';
+								uni.getLocation({
+									type: 'wgs84',
+									isHighAccuracy: true,
+									geocode: true,
+									success: (map) => {
+										longitude = map.longitude
+										latitude = map.latitude
+										let dataForm = {
+											attachId: res.data,
+											longitude: longitude,
+											latitude: latitude,
+											updateDate: dateHHmmss,
+											carRegNo:this.formData.carRegNo
+										}
+										// 上传图片
+										pictureUploading(data, dataForm).then(res => {
+											let item = this[`fileList${event.name}`][fileListLen]
+											this[`fileList${event.name}`].splice(fileListLen, 1, Object.assign(
+												item, {
+													status: 'success',
+													message: '',
+													url: res.data
+												}))
+											fileListLen++
+										})
+									}
+								});
+							   }
+							})
 						}
 
 					})

+ 51 - 36
pages/particulars/index.vue

@@ -110,7 +110,7 @@
 				<!-- ORDER BILLS PLANS -->
 				<!-- @change="checkboxChange" -->
 				<u-checkbox-group v-model="detour" style="margin-left: 20rpx;" placement="column">
-					<u-checkbox :customStyle="{marginBottom: '8px'}" key="1" label="行程绕路" name="行程绕路">
+					<u-checkbox :customStyle="{marginBottom: '8px'}" @change="checkboxChange" :disabled="disabled" key="1" label="行程绕路" name="行程绕路">
 					</u-checkbox>
 				</u-checkbox-group>
 				<view v-if="detour.length > 0">
@@ -151,7 +151,7 @@
 				<view style="margin-bottom: 20rpx;">
 					<text style="color: #3c9cff;">单据拍照存档 (请上传图片大小为1MB以下的图片)</text>
 				</view>
-				<u-upload :fileList="fileList1" accept="image" :sizeType="['compressed']" capture="camera"
+				<u-upload :fileList="fileList1" :sizeType="['compressed']"
 					@afterRead="imgUploading" :disabled="disabled" @delete="deletePic" name="1" multiple :previewFullImage="true"
 					></u-upload>
 			</view>
@@ -480,6 +480,14 @@
 					this.upCancel = true
 				}
 			},
+			// 行程绕路点击事件
+			checkboxChange() {
+				if (this.detour.length > 0) {
+					this.formData.detourEmptyMile = null
+					this.formData.detourLoadMile = null
+					this.formData.detourDesc = null
+				}
+			},
 			// 保存订单
 			setOrderBillsPlansByid(id) {
 
@@ -788,40 +796,47 @@
 					this.formData.date = date;
 					insertTmsAttachMngs(this.formData).then(res => {
 						if (res.code == 200) {
-							let data = {
-								name: 'avatarfile',
-								filePath: lists[i].url
-							}
-							// 获取经纬度
-							let longitude = '';
-							let latitude = '';
-							uni.getLocation({
-								type: 'wgs84',
-								isHighAccuracy: true,
-								geocode: true,
-								success: (map) => {
-									longitude = map.longitude
-									latitude = map.latitude
-									let dataForm = {
-										attachId: res.data,
-										longitude: longitude,
-										latitude: latitude,
-										updateDate: dateHHmmss,
-										carRegNo:this.formData.carRegNo
-									}
-									// 上传图片
-									pictureUploading(data, dataForm).then(res => {
-										let item = this[`fileList${event.name}`][fileListLen]
-										this[`fileList${event.name}`].splice(fileListLen, 1, Object.assign(
-											item, {
-												status: 'success',
-												message: '',
-												url: res.data
-											}))
-										fileListLen++
-									})
-								},
-							});
+							uni.compressImage({
+							  src: lists[i].url,
+							  quality: 80,
+							  success: ress => {
+								let data = {
+									name: 'avatarfile',
+									filePath: ress.tempFilePath
+								}
+								// 获取经纬度
+								let longitude = '';
+								let latitude = '';
+								uni.getLocation({
+									type: 'wgs84',
+									isHighAccuracy: true,
+									geocode: true,
+									success: (map) => {
+										longitude = map.longitude
+										latitude = map.latitude
+										let dataForm = {
+											attachId: res.data,
+											longitude: longitude,
+											latitude: latitude,
+											updateDate: dateHHmmss,
+											carRegNo:this.formData.carRegNo
+										}
+										// 上传图片
+										pictureUploading(data, dataForm).then(res => {
+											let item = this[`fileList${event.name}`][fileListLen]
+											this[`fileList${event.name}`].splice(fileListLen, 1, Object.assign(
+												item, {
+													status: 'success',
+													message: '',
+													url: res.data
+												}))
+											fileListLen++
+										})
+									},
+								});
+							
+							  }
+							})
 							
 						}
 

+ 1 - 1
permission.js

@@ -5,7 +5,7 @@ const loginPage = "/pages/login"
   
 // 页面白名单
 const whiteList = [
-  '/pages/login', '/pages/register', '/pages/common/webview/index'
+  '/pages/login', '/pages/register', '/pages/common/webview/index', '/pages/agreement/xieyi'
 ]
 
 // 检查地址白名单