Explorar o código

创建质保单

lilei hai 1 ano
pai
achega
2e3c42182c

+ 44 - 4
pages.json

@@ -349,14 +349,54 @@
 			    
 			    
 			}
 			}
             ,{
             ,{
-                    "path" : "activeDetail/index",
-                    "style" :                                                                                    
+                "path" : "activeDetail/index",
+                "style" :                                                                                    
                 {
                 {
                     "navigationBarTitleText": "活动内容",
                     "navigationBarTitleText": "活动内容",
                     "enablePullDownRefresh": false
                     "enablePullDownRefresh": false
                 }
                 }
-                }
-            ]
+            },
+			{
+				"path" : "qualityPolicy/index",
+				"style" : 
+				{
+					"navigationBarTitleText" : "轮胎质保",
+					"enablePullDownRefresh" : false
+				}
+			},
+			{
+				"path" : "qualityPolicy/creatOrder",
+				"style" : 
+				{
+					"navigationBarTitleText" : "创建质保单",
+					"enablePullDownRefresh" : false
+				}
+			},
+			{
+				"path" : "qualityPolicy/searchOrder",
+				"style" : 
+				{
+					"navigationBarTitleText" : "质保单查询",
+					"enablePullDownRefresh" : false
+				}
+			},
+			{
+				"path" : "qualityPolicy/creatCarInfo",
+				"style" : 
+				{
+					"navigationBarTitleText" : "创建质保单",
+					"enablePullDownRefresh" : false
+				}
+			},
+			{
+				"path" : "qualityPolicy/creatCustomInfo",
+				"style" : 
+				{
+					"navigationBarTitleText" : "创建质保单",
+					"enablePullDownRefresh" : false
+				}
+			}
+        ]
 	}],
 	}],
 	"preloadRule": {
 	"preloadRule": {
 		"pages/index/index": {
 		"pages/index/index": {

+ 7 - 0
pages/morePage/morePage.vue

@@ -20,6 +20,9 @@
 				<u-cell-item title="补货记录" v-if="$hasPermissions('M_stockPut_mini')" @click="toPage('/pagesA/digitalShelf/stockPut')" :title-style="{fontSize:'1em'}">
 				<u-cell-item title="补货记录" v-if="$hasPermissions('M_stockPut_mini')" @click="toPage('/pagesA/digitalShelf/stockPut')" :title-style="{fontSize:'1em'}">
 					<text slot="icon"></text>
 					<text slot="icon"></text>
 				</u-cell-item>
 				</u-cell-item>
+				<u-cell-item title="轮胎质保" v-if="$hasPermissions('M_stockPut_mini')" @click="toPage('/pagesA/qualityPolicy/index')" :title-style="{fontSize:'1em'}">
+					<text slot="icon"></text>
+				</u-cell-item>
 			</u-cell-group>
 			</u-cell-group>
 		</view>
 		</view>
 		<view class="list-box" v-if="$hasPermissions('M_shelfOrder_mini')||$hasPermissions('M_tempShelfOrder_mini')">
 		<view class="list-box" v-if="$hasPermissions('M_shelfOrder_mini')||$hasPermissions('M_tempShelfOrder_mini')">
@@ -178,6 +181,10 @@
 				}
 				}
 			},
 			},
 			toPage(path){
 			toPage(path){
+				uni.navigateTo({
+					url: path
+				})
+				return
 				const _this = this
 				const _this = this
 				if(this.hasLogin){
 				if(this.hasLogin){
 					// 游客未认证
 					// 游客未认证

+ 25 - 8
pages/scan-frame/scan-frame.vue

@@ -39,9 +39,15 @@ export default {
       scanShow: true, // 显示操作按钮
       scanShow: true, // 显示操作按钮
 	  sysinfo: null, // 设备信息
 	  sysinfo: null, // 设备信息
 	  imageInfo: null ,// 拍照图片信息
 	  imageInfo: null ,// 拍照图片信息
-	  showAuth: false
+	  showAuth: false,
+	  pageType: 'VIN', // 用途,VIN 码识别 或 UUID 唯一码识别
     }
     }
   },
   },
+  onLoad(opts) {
+	if(opts && opts.pageType){
+		this.pageType = opts.pageType
+	}
+  },
   onReady() {
   onReady() {
   	const sysinfo = uni.getSystemInfoSync()
   	const sysinfo = uni.getSystemInfoSync()
 	this.sysinfo = sysinfo
 	this.sysinfo = sysinfo
@@ -75,9 +81,15 @@ export default {
 	},
 	},
 	// 手动输入
 	// 手动输入
 	inputs(){
 	inputs(){
-		uni.redirectTo({
-			url: "/pages/vinInput/confirmVin?verifyCode=" + "&type=input"
-		})
+		if(this.pageType == 'VIN'){
+			uni.redirectTo({
+				url: "/pages/vinInput/confirmVin?verifyCode=" + "&type=input"
+			})
+		}
+		if(this.pageType == 'UUID'){
+			this.$store.state.vuex_tempData = 'inputCode'
+			uni.navigateBack()
+		}
 	},
 	},
     // 相册
     // 相册
     scan() {
     scan() {
@@ -173,7 +185,7 @@ export default {
 			// 拿到base64,不需要base64  就把上层的转换去掉
 			// 拿到base64,不需要base64  就把上层的转换去掉
 			this.scanShow = true
 			this.scanShow = true
 			// 此处为后端接口 传base64图片 进行ocr识别
 			// 此处为后端接口 传base64图片 进行ocr识别
-			if(this.userInfo.sysUserFlag == '0'){
+			if(this.pageType == 'VIN' && this.userInfo.sysUserFlag == '0'){
 				if(this.vuex_vinScanNums < this.vuex_scanMaxNums){
 				if(this.vuex_vinScanNums < this.vuex_scanMaxNums){
 					this.parseVinNo(base.data)
 					this.parseVinNo(base.data)
 				}else{
 				}else{
@@ -215,9 +227,14 @@ export default {
 		}).then(res => {
 		}).then(res => {
 			console.log(res, '识别VIN')
 			console.log(res, '识别VIN')
 			if(res.status == 200){
 			if(res.status == 200){
-				uni.redirectTo({
-					url: "/pages/vinInput/confirmVin?verifyCode=123456ads11234567&filePath="+base64Str + "&verifyCode="+res.data + "&type=carmen"
-				})
+				if(this.pageType == 'VIN'){
+					uni.redirectTo({
+						url: "/pages/vinInput/confirmVin?filePath="+base64Str + "&verifyCode="+res.data + "&type=carmen"
+					})
+				}else{
+					this.$store.state.vuex_tempData = {filePath:base64Str,retCode:res.data}
+					uni.navigateBack()
+				}
 			}else{
 			}else{
 				uni.showToast({
 				uni.showToast({
 					icon: 'none',
 					icon: 'none',

+ 222 - 0
pagesA/qualityPolicy/creatCarInfo.vue

@@ -0,0 +1,222 @@
+<template>
+	<view class="pages flex flex_column">
+		<u-read-more toggle close-text="展开全部">
+			<view class="uuid-list">
+				<view class="flex align_center" v-for="item in uuid" :key="item.code">
+					<view class="uuid-info">
+						<view>轮胎名称:{{item.name}}</view>
+						<view class="uuid">轮胎唯一码:{{item.code}}</view>
+					</view>
+					<view class="uuid-img">
+						<image style="width: 100%;height: 80px;background: #eaeaea;" :src="item.img"></image>
+					</view>
+				</view>
+			</view>
+		</u-read-more>
+		
+		<view class="forms">
+			<view class="forms-tits">车辆信息</view>
+			<view class="flex align_center">
+				<view class="labes"><text>*</text>扫描VIN码:</view>
+				<view class="inputs"><image style="width: 100%;height: 35px;background: #eaeaea;" :src="tempImg"></image></view>
+				<view class="btns" @click="openCamera"><image src="../../static/tab/tab_scan_normal.png"></image></view>
+			</view>
+			<view class="flex align_center">
+				<view class="labes"><text>*</text>识别VIN码:</view>
+				<view class="inputs"><u-input :focus="focusInput" v-model="form.vinCode" maxlength="17" border clearable type="text" placeholder="请输入VIN码"></u-input></view>
+			</view>
+			<view class="flex align_center">
+				<view class="labes"><text>*</text>里程数:</view>
+				<view class="inputs"><u-input v-model="form.mileage" disabled border clearable @click="openKey('number')" placeholder="请输入里程数"></u-input></view>
+				<view class="btns">KM</view>
+			</view>
+			<view class="flex align_center">
+				<view class="labes">车牌号:</view>
+				<view class="inputs"><u-input v-model="form.carNo" disabled @click="openKey('car')" maxlength="12" border clearable type="text" placeholder="请输入车牌号"></u-input></view>
+			</view>
+		</view>
+		 
+		<view class="buttons flex align_center">
+			<u-button type="default" @click="toBack">上一步</u-button>
+			<u-button type="primary" @click="saveForm">确定</u-button>
+		</view>
+		<u-keyboard :mode="keyMode" cancel-text="清空" @cancel="clearVal" @change="valChange" @backspace="backspace" v-model="showkeyboard"></u-keyboard>
+	</view>
+</template>
+
+<script>
+	export default {
+		data() {
+			return {
+				keyMode: 'number',
+				showkeyboard: false,
+				tempImg: '',
+				form:{
+					vinCode: '',
+					mileage: '',
+					carNo: ''
+				},
+				uuid: [],
+				focusInput: false
+			}
+		},
+		onLoad() {
+			const tempData = this.$store.state.vuex_uuidTempData
+			this.uuid = tempData&&tempData.uuid ? tempData.uuid : []
+		},
+		onShow() {
+			const ret = this.$store.state.vuex_tempData
+			if(ret&&ret.retCode){
+				this.tempImg = ret.filePath
+				this.form.vinCode = ret.retCode
+			}
+			this.focusInput = ret&&ret=="inputCode"
+		},
+		onHide() {
+			this.$store.state.vuex_tempData = null
+		},
+		methods: {
+			toBack(){
+				uni.navigateBack()
+			},
+			// 按键被点击(点击退格键不会触发此事件)
+			valChange(val) {
+				if(this.keyMode == 'number'){
+					this.form.mileage += val;
+				}
+				if(this.keyMode == 'car'){
+					this.form.carNo += val;
+				}
+			},
+			// 退格键被点击
+			backspace() {
+				if(this.keyMode == 'number' && this.form.mileage.length){
+					console.log(this.form.mileage)
+					this.form.mileage = this.form.mileage.substr(0, this.form.mileage.length - 1)
+				}
+				if(this.keyMode == 'car' && this.form.carNo.length){
+					console.log(this.form.carNo)
+					this.form.carNo = this.form.carNo.substr(0, this.form.carNo.length - 1)
+				}
+			},
+			// 清空键盘输入框
+			clearVal(){
+				if(this.keyMode == 'number'){
+					this.form.mileage = '';
+				}
+				if(this.keyMode == 'car'){
+					this.form.carNo = '';
+				}
+			},
+			openKey(mode){
+				this.keyMode = mode
+				this.showkeyboard = true
+			},
+			openCamera(){
+				uni.navigateTo({
+					url: "/pages/scan-frame/scan-frame?pageType=UUID"
+				})
+			},
+			saveForm(){
+				if(this.form.vinCode == ''){
+					uni.showToast({
+						icon: 'none',
+						title: '请扫描或手动输入VIN码'
+					})
+					return
+				}
+				if(this.form.mileage == ''){
+					uni.showToast({
+						icon: 'none',
+						title: '请输入里程数'
+					})
+					return
+				}
+				
+				this.$store.state.vuex_uuidTempData.carInfo = this.form
+				uni.navigateTo({
+					url: "/pagesA/qualityPolicy/creatCustomInfo"
+				})
+			}
+		}
+	}
+</script>
+
+<style lang="less">
+.pages{
+	height: 100vh;
+	background: #f8f8f8;
+	padding-bottom: 6rem;
+	overflow: auto;
+	.uuid-list{
+		background: #fff;
+		text-indent: 0;
+		line-height: normal;
+		> view{
+			justify-content: space-between;
+			border-bottom: 1px solid #eee;
+			padding: 0.6rem 1rem;
+		}
+		color: #666;
+		.uuid-info{
+			flex-grow: 1;
+			padding-right: 1rem;
+			.uuid{
+				color: #333;
+			}
+			> view{
+				padding: 0.3rem 0;
+			}
+		}
+		.uuid-img{
+			width: 7rem;
+		}
+		margin-bottom: 0.5rem;
+	}
+	.buttons{
+		padding: 1rem 2rem 2rem;
+		position: fixed;
+		width: 100%;
+		bottom: 0;
+		left: 0;
+		background: #fff;
+		z-index: 10000;
+		border-top: 1px solid #eee;
+		justify-content: space-around;
+		/deep/ .u-btn{
+			width: 7rem;
+		}
+	}
+}
+.forms{
+	background: #fff;
+	.forms-tits{
+		font-weight: bold;
+		color: #333;
+	}
+	> view{
+		border-bottom: 1px solid #eee;
+		padding: 0.6rem 1rem;
+	}
+	.labes{
+		width: 6rem;
+		text-align: right;
+		padding-right: 0.6rem;
+		text{
+			color: red;
+			margin-right: 5px;
+		}
+	}
+	.inputs{
+		flex-grow: 1;
+	}
+	.btns{
+		width: 3rem;
+		text-align: center;
+		image{
+			width: 1.6rem;
+			height: 1.6rem;
+		}
+	}
+}
+</style>

+ 280 - 0
pagesA/qualityPolicy/creatCustomInfo.vue

@@ -0,0 +1,280 @@
+<template>
+	<view class="pages flex flex_column">
+		<view class="forms">
+			<view class="forms-tits">车辆信息</view>
+			<view class="flex align_center">
+				<view class="labes">车辆品牌:</view>
+				<view class="inputs">日产(东风)</view>
+			</view>
+			<view class="flex align_center">
+				<view class="labes">车型:</view>
+				<view class="inputs">轩逸</view>
+			</view>
+			<view class="flex align_center">
+				<view class="labes">里程数:</view>
+				<view class="inputs">{{carInfo.mileage}}KM</view>
+			</view>
+			<view class="flex align_center">
+				<view class="labes">车牌号:</view>
+				<view class="inputs">{{carInfo.carNo}}</view>
+			</view>
+		</view>
+		
+		<view class="forms">
+			<view class="forms-tits">客户联系方式</view>
+			<view class="flex align_center">
+				<view class="labes"><text>*</text>客户姓名:</view>
+				<view class="inputs"><u-input :focus="focusInput" v-model="form.customerName" maxlength="30" border clearable type="text" placeholder="请输入客户姓名"></u-input></view>
+			</view>
+			<view class="flex align_center">
+				<view class="labes"><text>*</text>手机号码:</view>
+				<view class="inputs"><u-input v-model="form.phone" type="number" maxlength="11" border clearable placeholder="请输入手机号码"></u-input></view>
+			</view>
+			<view class="flex align_center">
+				<view class="labes"><text>*</text>验证码:</view>
+				<view class="inputs"><u-input v-model="form.vericode" type="number" maxlength="6" border clearable placeholder="请输入验证码"></u-input></view>
+				<view class="btns" @click="checkMobile()" >{{codeText}}</view>
+			</view>
+			<view class="forms-foot flex align_center">
+				<u-checkbox v-model="checkedXy"></u-checkbox>
+				<text class="links">您已知晓《XXX轮胎质保法律条款》</text>
+			</view>
+		</view>
+		 
+		<view class="buttons flex align_center">
+			<u-button type="default" @click="toBack">上一步</u-button>
+			<u-button type="primary" @click="saveForm">确定</u-button>
+		</view>
+		<!-- 图文验证码 -->
+		<uni-popup @change="changeModal" ref="imageTxtPopup" type="center">
+			<popup-con title="图文验证码" :popBtn="popBtn" :changeImg="changeImg" @captchaImg="captchaVerify"></popup-con>
+		</uni-popup>
+	</view>
+</template>
+
+<script>
+	import uniPopup from '@/components/uni-popup/uni-popup.vue'
+	import popupCon from '@/components/uni-popup/popup-con.vue'
+	import {
+		isvalidPhone
+	} from '@/libs/validate.js'
+	export default {
+		components: {
+			uniPopup,
+			popupCon
+		},
+		data() {
+			return {
+				changeImg: false, //  是否重新更换图形验证码
+				randomCode: '', //  图片验证码随机码
+				popBtn: [], //  name为操作按钮名称,color为操作按钮颜色值
+				codeText: '获取验证码',
+				getCodeing: false,
+				totalTime: 60,
+				isDisabled: false ,// 倒计时按钮是否禁用
+				checkedXy: true,
+				carInfo:{
+					vinCode: '',
+					mileage: '',
+					carNo: ''
+				},
+				form:{
+					customerName: '',
+					phone: '',
+					vericode: ''
+				},
+				uuid: [],
+			}
+		},
+		onLoad() {
+			const tempData = this.$store.state.vuex_uuidTempData
+			this.uuid = tempData&&tempData.uuid ? tempData.uuid : [],
+			this.carInfo = Object.assign(this.carInfo, tempData.carInfo)
+		},
+		methods: {
+			toBack(){
+				uni.navigateBack()
+			},
+			// 获取验证码
+			getCode() {
+				let sid = null
+				sid = setInterval(() => {
+					if (this.totalTime > 0) {
+						this.totalTime = this.totalTime - 1
+						this.codeText = '已发送' + this.totalTime + 's'
+						if (this.totalTime < 60) {
+							this.isDisabled = true
+						}
+					} else {
+						this.isDisabled = false
+						clearInterval(sid)
+						this.getCodeing = false
+						this.codeText = '获取验证码'
+						this.totalTime = 60
+					}
+				}, 1000)
+			},
+			// 验证手机
+			checkMobile() {
+				if(this.isDisabled){return}
+				if (!this.getCodeing) {
+					if (this.form.phone) {
+						console.log(!isvalidPhone(this.form.phone))
+						if (!isvalidPhone(this.form.phone)) {
+							uni.showToast({
+								title: '请输入正确的手机号码',
+								icon: 'none'
+							})
+							return false
+						} else {
+							this.getCodeing = true
+							this.retsetCode()
+							//  图文验证码
+							this.$refs.imageTxtPopup.open()
+						}
+					}else{
+						uni.showToast({
+							title: '请输入手机号码',
+							icon: 'none'
+						})
+					}
+				}
+			},
+			changeModal(val) {
+				if (val.show == false) {
+					this.getCodeing = false
+				}
+			},
+			//  验证图片验证码
+			captchaVerify(code, nowRandomCode) {
+				const _this = this
+				let obj = {}
+				obj.mobile = this.form.phone
+				obj.random = nowRandomCode
+				obj.code = code
+				obj.signName = '修配易码通'
+				obj.openid = this.$store.state.vuex_openid
+				//  发送短信验证码
+				sendLoginVerifyCode(obj).then(res => {
+					console.log(JSON.stringify(res.data))
+					if (res.status == 200) { //  验证码输入正确
+						_this.randomCode = nowRandomCode //  图片验证码随机码
+						//  关闭   图形验证码 弹框
+						_this.$refs.imageTxtPopup.close()
+						//  开启倒计时
+						_this.getCode()
+						uni.showToast({
+							icon: 'none',
+							title: '验证码发送成功'
+						})
+					} else { //  验证码输入错误
+						_this.retsetCode()
+						uni.showToast({
+							icon: 'none',
+							title: res.message,
+							duration: 5000
+						})
+					}
+				})
+			},
+			// 重新触发获取图片验证码
+			retsetCode() {
+				const _this = this
+				_this.code = ''
+				_this.randomCode = ''
+				//  切换验证码重新校验
+				_this.changeImg = false
+				_this.$nextTick(function() {
+					_this.changeImg = true
+				})
+			},
+			saveForm(){
+				if(this.form.customerName == ''){
+					uni.showToast({
+						icon: 'none',
+						title: '请输入客户名称'
+					})
+					return
+				}
+				if(this.form.phone == ''){
+					uni.showToast({
+						icon: 'none',
+						title: '请输入电话号码'
+					})
+					return
+				}
+				if(this.form.vericode == ''){
+					uni.showToast({
+						icon: 'none',
+						title: '请输入验证码'
+					})
+					return
+				}
+				this.$store.state.vuex_uuidTempData.customerInfo = this.form
+				uni.navigateTo({
+					url: "/pagesA/qualityPolicy/resultOrder"
+				})
+			}
+		}
+	}
+</script>
+
+<style lang="less">
+.pages{
+	height: 100vh;
+	background: #f8f8f8;
+	padding-bottom: 6rem;
+	overflow: auto;
+	 
+	.buttons{
+		padding: 1rem 2rem 2rem;
+		position: fixed;
+		width: 100%;
+		bottom: 0;
+		left: 0;
+		background: #fff;
+		z-index: 10000;
+		border-top: 1px solid #eee;
+		justify-content: space-around;
+		/deep/ .u-btn{
+			width: 7rem;
+		}
+	}
+}
+.forms{
+	background: #fff;
+	.forms-tits{
+		font-weight: bold;
+		color: #333;
+	}
+	.forms-foot{
+		padding-left: 1.5rem;
+		.links{
+			color: #999;
+		}
+		/deep/.u-checkbox__label{
+			margin-right: 0;
+		}
+	}
+	> view{
+		border-bottom: 1px solid #eee;
+		padding: 0.6rem 1rem;
+	}
+	.labes{
+		width: 5.2rem;
+		text{
+			color: red;
+			margin-right: 5px;
+		}
+	}
+	.inputs{
+		flex-grow: 1;
+	}
+	.btns{
+		padding: 0 0.3rem;
+		text-align: center;
+		color: dodgerblue;
+		font-size: 0.8rem;
+	}
+}
+</style>

+ 138 - 0
pagesA/qualityPolicy/creatOrder.vue

@@ -0,0 +1,138 @@
+<template>
+	<view class="pages flex flex_column">
+		<view class="forms">
+			<view class="flex align_center">
+				<view class="labes">扫描唯一码:</view>
+				<view class="inputs"><image style="width: 100%;height: 35px;background: #eaeaea;" :src="tempImg"></image></view>
+				<view class="btns" @click="openCamera"><image src="../../static/tab/tab_scan_normal.png"></image></view>
+			</view>
+			<view class="flex align_center">
+				<view class="labes">识别唯一码:</view>
+				<view class="inputs"><u-input :focus="focusInput" v-model="uuidCode" maxlength="10" border clearable type="text" placeholder="请输入唯一码"></u-input></view>
+				<view class="btns"><u-button type="primary" size="mini" @click="addTags">添加</u-button></view>
+			</view>
+		</view>
+		<view class="tags-box">
+			<u-tag v-for="item in uuid" :key="item.code" :text="item.code" closeable @close="tagClick(item)" />
+		</view>
+		<view class="buttons">
+			<u-button type="primary" @click="saveForm">确定</u-button>
+		</view>
+	</view>
+</template>
+
+<script>
+	export default {
+		data() {
+			return {
+				tempImg: '',
+				uuidCode: '',
+				uuid: [],
+				focusInput: false
+			}
+		},
+		onShow() {
+			const uuidTemp = this.$store.state.vuex_uuidTempData
+			// 如果有未完成的质保单
+			if(uuidTemp && uuidTemp.uuid){
+				this.uuid = uuidTemp.uuid
+			}
+			
+			// 识别结束
+			const ret = this.$store.state.vuex_tempData
+			if(ret&&ret.retCode){
+				this.tempImg = ret.filePath
+				this.uuidCode = ret.retCode
+			}
+			this.focusInput = ret&&ret=="inputCode"
+		},
+		onHide() {
+			this.$store.state.vuex_tempData = null
+		},
+		methods: {
+			tagClick(item){
+				const index = this.uuid.findIndex(k => k.code == item.code)
+				if(index>=0){
+					this.uuid.splice(index,1)
+				}
+			},
+			addTags(){
+				if(this.uuid.length>=4){
+					uni.showToast({
+						icon: 'none',
+						title: '唯一码一次最多可添加4个,请进行删减后再添加。'
+					})
+					return
+				}
+				if(this.uuidCode){
+					this.uuid.push({
+						code: this.uuidCode,
+						name: '箭冠轮胎雪胎RT-8000'
+					})
+					this.uuidCode = ''
+				}else{
+					uni.showToast({
+						icon: 'none',
+						title: '请扫描或手动输入唯一码'
+					})
+				}
+			},
+			openCamera(){
+				uni.navigateTo({
+					url: "/pages/scan-frame/scan-frame?pageType=UUID"
+				})
+			},
+			saveForm(){
+				if(this.uuid.length){
+					this.$store.state.vuex_uuidTempData = {uuid:this.uuid}
+					uni.navigateTo({
+						url: "/pagesA/qualityPolicy/creatCarInfo"
+					})
+				}else{
+					uni.showToast({
+						icon: 'none',
+						title: '请扫描或手动输入唯一码'
+					})
+				}
+			}
+		}
+	}
+</script>
+
+<style lang="less">
+.pages{
+	height: 100vh;
+	background: #fff;
+	.tags-box{
+		flex-grow: 1;
+		padding: 1rem;
+		/deep/ .u-tag{
+			margin: 0.5rem 1rem;
+		}
+	}
+	.buttons{
+		padding: 1rem 6rem 3rem;
+	}
+}
+.forms{
+	padding: 1rem 0 0;
+	> view{
+		border-bottom: 1px solid #eee;
+		padding: 0.6rem 1rem;
+	}
+	.labes{
+		width: 5rem;
+	}
+	.inputs{
+		flex-grow: 1;
+	}
+	.btns{
+		width: 3rem;
+		text-align: center;
+		image{
+			width: 1.6rem;
+			height: 1.6rem;
+		}
+	}
+}
+</style>

+ 52 - 0
pagesA/qualityPolicy/index.vue

@@ -0,0 +1,52 @@
+<template>
+	<view class="pages">
+		<view class="gard-box">
+			<view @click="toPage('/pagesA/qualityPolicy/creatOrder')">
+				<view><image src="/pagesA/static/zbdc.png"></image></view>
+				<view>创建质保单</view>
+			</view>
+			<view @click="toPage('/pagesA/qualityPolicy/searchOrder')">
+				<view><image src="/pagesA/static/bdcx.png"></image></view>
+				<view>质保单查询</view>
+			</view>
+		</view>
+	</view>
+</template>
+
+<script>
+	export default {
+		data() {
+			return {
+				
+			}
+		},
+		methods: {
+			toPage(url){
+				uni.navigateTo({
+					url: url
+				})
+			}
+		}
+	}
+</script>
+
+<style lang="less">
+.pages{
+	height: 100vh;
+	background: #fff;
+}
+.gard-box{
+	display: flex;
+	align-items: center;
+	padding: 5rem 2rem;
+	> view{
+		flex:1;
+		margin: 1rem;
+		text-align: center;
+		image{
+			width: 3rem;
+			height: 3rem;
+		}
+	}
+}
+</style>

+ 22 - 0
pagesA/qualityPolicy/searchOrder.vue

@@ -0,0 +1,22 @@
+<template>
+	<view>
+		
+	</view>
+</template>
+
+<script>
+	export default {
+		data() {
+			return {
+				
+			}
+		},
+		methods: {
+			
+		}
+	}
+</script>
+
+<style>
+
+</style>

BIN=BIN
pagesA/static/bdcx.png


BIN=BIN
pagesA/static/zbdc.png


+ 2 - 1
store/index.js

@@ -15,7 +15,7 @@ try{
 }
 }
 
 
 // 需要永久存储,且下次APP启动需要取出的,在state中的变量名
 // 需要永久存储,且下次APP启动需要取出的,在state中的变量名
-let saveStateKeys = ['vuex_carBrandList'];
+let saveStateKeys = ['vuex_carBrandList','vuex_uuidTempData'];
 
 
 // 保存变量到本地存储中
 // 保存变量到本地存储中
 const saveLifeData = function(key, value){
 const saveLifeData = function(key, value){
@@ -64,6 +64,7 @@ const store = new Vuex.Store({
 		vuex_storeAuthInfo: null ,// 门店认证状态信息
 		vuex_storeAuthInfo: null ,// 门店认证状态信息
 		vuex_tempData: null, // 临时数据
 		vuex_tempData: null, // 临时数据
 		vuex_configPrice: null, // 价格显示配置
 		vuex_configPrice: null, // 价格显示配置
+		vuex_uuidTempData: lifeData.vuex_uuidTempData ? lifeData.vuex_uuidTempData : null, // 唯一码临时数据
 		vuex_tabBarList: [
 		vuex_tabBarList: [
 			{
 			{
 				"pagePath": "/pages/index/index",
 				"pagePath": "/pages/index/index",