Prechádzať zdrojové kódy

店铺设置除了营业时间的代码

lihongxiao 1 rok pred
rodič
commit
48500ff416

+ 39 - 0
common/router/modules/routes.js

@@ -287,6 +287,45 @@ const routes = [{
 		meta: {
 			title: '店铺设置',
 		},
+	},{
+		path: '/pages/store/brandMessage',
+		name: 'brandMessage',
+		meta: {
+			title: '品牌信息',
+		},
+	},		{
+		path: '/pages/login/map',
+		name: 'amap',
+		meta: {
+			title: '地图',
+		},
+	},	{
+		path: '/pages/login/aMap',
+		name: 'amap',
+		meta: {
+			title: '地图',
+		},
+	},
+	{
+		path: '/pages/store/businessInfor',
+		name: 'businessInfor',
+		meta: {
+			title: '经营信息',
+		},
+	},	{
+		path: '/pages/store/businessQua',
+		name: 'businessInfor',
+		meta: {
+			title: '营业资质',
+		},
+	},	{
+		path: '/pages/store/addHours',
+		name: 'addHours',
+		meta: {
+			title: '添加营业时间',
+		},
 	},
+	
+	
 ]
 export default routes

+ 6 - 6
manifest.json

@@ -63,10 +63,10 @@
                 "ad" : {},
                 "maps" : {
                     "amap" : {
-                        "apiKey" : "18c5a399a406896c5aa53d808e401294",
+                        "apiKey" : "220880dab49e4a565afbf0bd989af006",
                         "name" : "amap_15513573860CluPH7RHj",
-                        "appkey_ios" : "18c5a399a406896c5aa53d808e401294",
-                        "appkey_android" : "18c5a399a406896c5aa53d808e401294"
+                        "appkey_ios" : "220880dab49e4a565afbf0bd989af006",
+                        "appkey_android" : "220880dab49e4a565afbf0bd989af006"
                     }
                 },
                 "push" : {
@@ -76,8 +76,8 @@
                     "amap" : {
                         "name" : "amap_15513573860CluPH7RHj",
                         "__platform__" : [ "android" ],
-                        "appkey_ios" : "18c5a399a406896c5aa53d808e401294",
-                        "appkey_android" : "18c5a399a406896c5aa53d808e401294"
+                        "appkey_ios" : "220880dab49e4a565afbf0bd989af006",
+                        "appkey_android" : "220880dab49e4a565afbf0bd989af006"
                     },
                     "system" : {
                         "__platform__" : [ "ios", "android" ]
@@ -110,7 +110,7 @@
         "sdkConfigs" : {
             "maps" : {
                 "amap" : {
-                    "key" : "18c5a399a406896c5aa53d808e401294",
+                    "key" : "220880dab49e4a565afbf0bd989af006",
                     "securityJsCode" : "",
                     "serviceHost" : ""
                 }

+ 19 - 0
pages.json

@@ -252,6 +252,25 @@
 			"path": "pages/store/settings",
 			"style": {}
 			
+		},{
+			"path": "pages/login/map",
+			"style": {}
+			
+		},{
+			"path": "pages/login/aMap",
+			"style": {}
+		},{
+			"path": "pages/store/brandMessage",
+			"style": {}
+		},{
+			"path": "pages/store/businessInfor",
+			"style": {}
+		},{
+			"path": "pages/store/businessQua",
+			"style": {}
+		},{
+			"path": "pages/store/addHours",
+			"style": {}
 		}
 
 	],

+ 0 - 89
pages/component/map.vue

@@ -1,89 +0,0 @@
-<template>
-    <view class="page-section page-section-gap">
-        <map style="width: 100%; height: 218upx;" :latitude="latitude" :longitude="longitude"></map>
-        <!-- <map  id="map"  style="width: 100%; height: 300px;" :latitude="latitude" :longitude="longitude" :markers="covers"> -->
-        <!-- </map> -->
-    </view>
-</template>
-
-<script>
-// import AMapLoader from '@amap/amap-jsapi-loader';
-// window._AMapSecurityConfig = {
-//     securityJsCode: "d62687dd438cfadd859bbab66d8e41a2",
-// };
-export default {
-    data() {
-        return {
-            map: null,
-            marker: null,
-            id:0, // 使用 marker点击事件 需要填写id
-			title: 'map',
-			latitude: 39.909,
-			longitude: 116.39742,
-			covers: [{
-				latitude: 39.909,
-				longitude: 116.39742,
-				iconPath: '../../../static/location.png'
-			}, {
-				latitude: 39.90,
-				longitude: 116.39,
-				iconPath: '../../../static/location.png'
-			}]
-        };
-    },
-    onReady() {
-        // this.initMap();
-    },
-    methods: {
-        // initMap() {
-        //     console.log(222);
-            
-        //     AMapLoader.load({
-        //         key: "18c5a399a406896c5aa53d808e401294", // 申请好的Web端开发者Key,首次调用 load 时必填
-        //         version: '2.0', // 指定要加载的API的版本号,默认为 1.4.15
-        //     }).then((AMap) => {
-        //         this.map = new AMap.Map('amap', {
-        //             zoom: 11, // 初始化地图层级
-        //             center: [116.397428, 39.90923], // 初始化地图中心点位置
-        //         });
-        //         // this.map.on('click', (e) => {
-        //         //     lngLatLng.value = e.lnglat.lng;
-        //         //     lngLatLat.value =  e.lnglat.lat;
-        //         //     console.log(lngLatLng.value, lngLatLat.value);
-        //         //     // positionArr.value = [lngLatLng.value, lngLatLat.value]
-        //         //     // addressValue.value = ""
-        //         //     // if (marker.value) {
-        //         //     //     marker.value.setPosition([lngLatLng.value, lngLatLat.value]);  // 更新Marker位置
-        //         //     // }
-        //         //     // this.emit('back', positionArr.value)
-        //         // })
-
-        //         // let auto = new AMap.AutoComplete({
-        //         //     city: "太原市", // 限定城市,默认全国
-        //         //     input: "search_input",
-        //         // })
-        //         // let placeSearch = new AMap.PlaceSearch({
-        //         //     city: "太原市",
-        //         //     map: this.map
-        //         // });
-        //         //  // 标点位置
-        //         // marker.value = new AMap.Marker({
-        //         //     position: [113.392517, 22.517024], //经纬度对象,也可以是经纬度构成的一维数组[116.39, 39.9]
-        //         //     map: this.map, // 当操作完成时,应该将结果展示在哪个地图上
-        //         // })
-        //         // map.add(marker)
-        //     }).catch(e => {
-        //         console.error(e);
-        //     });
-        // }
-    }
-}
-</script>
-
-<style scoped>
-.content {
-    display: flex;
-    justify-content: center;
-    align-items: center;
-}
-</style>

+ 255 - 0
pages/component/rang-time.vue

@@ -0,0 +1,255 @@
+<template>
+    <view class="w-picker-cnt" :class="{ 'visible': visible }">
+        <view class="w-picker-header" @touchmove.stop.prevent catchtouchmove="true">
+            <text @tap.stop.prevent="onCancel">取消</text>
+            <slot></slot>
+            <text :style="{ 'color': themeColor }" @tap.stop.prevent="pickerConfirm">确定</text>
+        </view>
+
+        <view class="w-picker-view">
+            <picker-view class="d-picker-view" :indicator-style="itemHeight" :value="pickVal" @change="handlerChange">
+                <picker-view-column class="w-picker-flex2">
+                    <view class="w-picker-item" v-for="(item, index) in range.hours" :key="index">{{ item }}时</view>
+                </picker-view-column>
+                <picker-view-column class="w-picker-flex2">
+                    <view class="w-picker-item" v-for="(item, index) in range.minutes" :key="index">{{ item }}分</view>
+                </picker-view-column>
+
+                <picker-view-column class="w-picker-flex1">
+                    <view class="w-picker-item">-</view>
+                </picker-view-column>
+                <picker-view-column class="w-picker-flex2">
+                    <view class="w-picker-item" v-for="(item, index) in range.fhours" :key="index">{{ item }}时</view>
+                </picker-view-column>
+                <picker-view-column class="w-picker-flex2">
+                    <view class="w-picker-item" v-for="(item, index) in range.fminutes" :key="index">{{ item }}分</view>
+                </picker-view-column>
+            </picker-view>
+        </view>
+    </view>
+</template>
+
+<script>
+export default {
+    data() {
+        return {
+            pickVal: [],
+            range: {},
+            checkObj: {}
+        };
+    },
+    props: {
+        itemHeight: {
+            type: String,
+            default: "44px"
+        },
+        value: {
+            type: [String, Array, Number],
+            default: ""
+        },
+        current: {//是否默认选中当前日期
+            type: Boolean,
+            default: false
+        },
+
+    },
+    watch: {
+        value(val) {
+            console.log(val, 222222);
+
+            this.initData();
+        }
+    },
+    created() {
+        this.initData();
+    },
+    methods: {
+        formatNum(n) {
+            return (Number(n) < 10 ? '0' + Number(n) : Number(n) + '');
+        },
+        checkValue(value) {
+            let strReg = /^\d{2}:\d{2}:\d{2}$/, example = "18:00:05";
+            if (!strReg.test(value)) {
+                console.log(new Error("请传入与mode、fields匹配的value值,例value=" + example + ""))
+            }
+            return strReg.test(value);
+        },
+        resetData(hour, minute, fhour, fminute) {
+            let hours = [], minutes = [], fhours = [], fminutes = []
+
+            for (let hour = 0; hour < 24; hour++) {
+                hours.push(this.formatNum(hour));
+            }
+            for (let minute = 0; minute < 60; minute++) {
+                minutes.push(this.formatNum(minute));
+            }
+            for (let i = hour * 1; i < 24; i++) {
+                fhours.push(this.formatNum(i));
+            }
+            for (let i = minute * 1; i < 60; i++) {
+                fminutes.push(this.formatNum(i));
+            }
+            return {
+                hours,
+                minutes,
+                fhours,
+                fminutes,
+            }
+        },
+        getData(curDate) {
+            //用来处理初始化数据
+            let hours = [], minutes = [], fhours = [], fminutes = [], seconds = [];
+            let curFlag = this.current;
+            let disabledAfter = this.disabledAfter;
+            let fields = this.fields;
+            let curHour = curDate.curHour;
+            let curMinute = curDate.curMinute;
+
+            console.log(curHour, 7777777);
+
+            for (let hour = 0; hour < 24; hour++) {
+                hours.push(this.formatNum(hour));
+            }
+            for (let minute = 0; minute < 60; minute++) {
+                minutes.push(this.formatNum(minute));
+            }
+            for (let hour = 0; hour < 24; hour++) {
+                fhours.push(this.formatNum(hour));
+            }
+            for (let minute = 0; minute < 60; minute++) {
+                fminutes.push(this.formatNum(minute));
+            }
+            return {
+                hours,
+                minutes,
+                fhours,
+                fminutes
+            }
+        },
+        getCurrenDate() {
+            let curDate = new Date();
+            let curHour = curDate.getHours();
+            let curMinute = curDate.getMinutes();
+            let fcurHour = curDate.getHours();
+            let fcurMinute = curDate.getMinutes();
+            return {
+                curHour,
+                curMinute,
+                fcurHour,
+                fcurMinute,
+            }
+        },
+        getDval() {
+            let value = this.value;
+            let fields = this.fields;
+            let dVal = null;
+            let aDate = new Date();
+            let hour = this.formatNum(aDate.getHours());
+            let minute = this.formatNum(aDate.getMinutes());
+            let fhour = this.formatNum(aDate.getHours());
+            let fminute = this.formatNum(aDate.getMinutes());
+            if (value) {
+                let flag = this.checkValue(value);
+                if (!flag) {
+                    dVal = [hour, minute, "-", fhour, fminute]
+                } else {
+                    dVal = value ? value.split(":") : [];
+                }
+            } else {
+                dVal = [hour, minute, "-", fhour, fminute]
+
+            }
+            return dVal;
+        },
+        initData() {
+            let range = []
+            let curDate = this.getCurrenDate();
+            let dateData = this.getData(curDate);
+            let pickVal = [], obj = {}, full = "", result = "", hour = "", minute = "", fhour = "", fminute = "", second = "";
+            let dVal = this.getDval();
+            let curFlag = this.current;
+            let disabledAfter = this.disabledAfter;
+
+            let hours = dateData.hours;
+            let fhours = dateData.fhours;
+            let minutes = dateData.minutes;
+            let fminutes = dateData.fminutes;
+
+
+            // let defaultArr=[
+            // 	dVal[0]&&hours.indexOf(dVal[0])!=-1?hours.indexOf(dVal[0]):0,
+            // 	dVal[1]&&minutes.indexOf(dVal[1])!=-1?minutes.indexOf(dVal[1]):0
+            // ]
+            // pickVal=disabledAfter?defaultArr:(curFlag?(this.second?[
+            // 	hours.indexOf(this.formatNum(curDate.curHour)),
+            // 	minutes.indexOf(this.formatNum(curDate.curMinute)),
+            // ]:[
+            // 	hours.indexOf(this.formatNum(curDate.curHour)),
+            // 	minutes.indexOf(this.formatNum(curDate.curMinute))
+            // ]):defaultArr);
+            range = {
+                hours,
+                fhours,
+                minutes,
+                fminutes,
+            }
+            hour = dVal[0] ? dVal[0] : hours[0];
+            console.log(range, 33333333);
+
+            minute = dVal[1] ? dVal[1] : minutes[0];
+            fhour = dVal[3] ? dVal[3] : fhours[0];
+            fminute = dVal[4] ? dVal[4] : fminutes[0];
+            obj = {
+                hour,
+                minute,
+                fminute,
+                fhour,
+            }
+            this.range = dateData;
+            this.checkObj = obj;
+
+            result = `${hour + ':' + minute + '至' + fhour + ':' + fminute}`;
+            this.$nextTick(() => {
+                this.pickVal = pickVal;
+            });
+            this.$emit("change", {
+                result: result,
+                value: result.split("至"),
+                obj: obj
+            })
+        },
+        handlerChange(e) {
+            let arr = [...e.detail.value];
+            this.checkObj = obj;
+            let data = this.range;
+            let hour = "", minute = "", result = "", full = "", obj = {};
+            hour = (arr[0] || arr[0] == 0) ? data.hours[arr[0]] || data.hours[data.hours.length - 1] : "";
+            minute = (arr[1] || arr[1] == 0) ? data.minutes[arr[1]] || data.minutes[data.minutes.length - 1] : "";
+
+            let fhour = (arr[0] || arr[0] == 0) ? data.fhours[arr[0]] || data.fhours[data.fhours.length - 1] : "";
+            let fminute = (arr[1] || arr[1] == 0) ? data.fminutes[arr[1]] || data.fminutes[data.fminutes.length - 1] : "";
+
+            let resetData = this.resetData(hour, minute, fhour, fminute);
+            console.log(arr, 777777777);
+
+            obj = {
+                hour,
+                minute,
+                fhour,
+                fminute
+            };
+            result = `${hour + ':' + minute}` + '至' + fhour + ':' + fminute;
+
+            this.$emit("change", {
+                result: result,
+                value: result.split("至"),
+                obj: obj
+            })
+        }
+    }
+}
+</script>
+
+<style lang="scss">
+@import "../../components/w-picker/w-picker.css";
+</style>

+ 310 - 0
pages/login/aMap.vue

@@ -0,0 +1,310 @@
+<template>
+	<view class="content">
+		
+		 <map id="map" style="width: 100%; height: 59vh;" :latitude="latitude" :longitude="longitude" :markers="markers" @tap="onMapTap" :include-points="markers" :scale="10"/>
+		 <!-- <view id="container"></view> -->
+		 <view class="btns"> 
+			<view @click="back">取消</view>
+			<view @click="checkAdd">确定</view>
+		</view>
+		 <view class="inputCon">
+			 <view class="searchView">
+				 <text class="iconfont icon-sousuo"></text>
+				 <input type="text" placeholder="搜索地点" v-model="searchWords" confirm-type="search" @confirm="searchFn"/>
+				 <text @click="cancel">取消</text>
+			 </view>
+		 </view>
+		 <view class="list">
+			 <view class="item" v-for="(add,index) in dataTips" :key="add.id" @click="select(add,index)"
+			 :class="selectIndex==index?'active':''">
+				 <view class="name">{{add.name}}</view>
+				 <view class="address">{{add.district || ''}}{{add.address || ''}}</view>
+			 </view>
+		 </view>
+	</view>
+</template>
+<script>
+
+// 引入高德地图api提供的微信小程序的接口
+	var amapFile = require('@/static/map/amap-wx.130.js');//如:..­/..­/libs/amap-wx.js
+	// 创建地图
+	var myAmapFun = new amapFile.AMapWX({key: '915d1d1ed40dc41450eda1d930ea1b2d'});
+	console.log("创建了高德地图");
+	export default{
+		data(){
+			return{
+				selectIndex:undefined,
+				selectAddr:{},
+				searchWords:"",
+				id:0, // 使用 marker点击事件 需要填写id
+				title: 'map',
+				latitude: 39.909,
+				longitude: 116.39742,
+                markers: [],
+				markers: [{
+					id:1,
+					latitude: 39.909,
+					longitude: 116.39742,
+					// width:30,
+					// height:30,
+					// iconPath: '../../static/avatar_boy.png'
+				}],
+				dataTips:[],
+				map: null,
+
+			}
+		},
+		onLoad(options) {
+			if(options && options.lng){
+				this.longitude = options.lng;
+				this.markers[0].longitude = this.longitude;
+			}
+			if(options && options.lat){
+				this.latitude = options.lat;
+				this.markers[0].latitude = this.latitude;
+			}
+		// this.initAmap();
+
+			// 获取当前位置的地点列表
+			// myAmapFun.getPoiAround({
+			//   success: (data)=>{
+			// 	console.log("获取当前的列表",data);
+			// 	this.dataTips = data.poisData;
+			//   },
+			//   fail: (info)=>{
+			// 	console.log(info)
+			//   }
+			// })
+		},
+		mounted() {
+			this.onMapTap();
+		},
+		methods:{
+			// 选择地点后,将选取的地点传递到前一个页面中
+			checkAdd(){
+				console.log(this.markers);
+				uni.setStorageSync('address', this.markers[0]);
+				// var pages = getCurrentPages();// 获取所有的页面栈
+				// var prevPage = pages[pages.length - 2]; // 找到上一个页面,注意是页面,如果是页面中有组件,则需要通过页面接受到数据后,再次往组件中传递
+				// prevPage.$vm.addressObj = this.selectAddr;//在上一个页面中就可以用addressObj进行接收
+				// uni.navigateBack();
+                this.back()
+			},
+			back(){
+                 // 返回上一页
+                uni.navigateBack({
+                    delta: 1 // 返回的页面数,默认为1
+                })
+			},
+			cancel(){
+				if(this.searchWords){
+					this.searchWords = "";
+					myAmapFun.getPoiAround({
+					  location: this.markers[0].longitude+','+this.markers[0].latitude,
+					  success: (data)=>{
+						console.log("获取当前的列表",data);
+						this.dataTips = data.poisData;
+					  },
+					  fail: (info)=>{
+						console.log(info)
+					  }
+					})
+				}
+			},
+			reserGeo(){
+				myAmapFun.getRegeo({
+				  success: (data)=>{
+					console.log("获取当前定位信息",data);
+				  },
+				  fail: (info)=>{
+					console.log(info)
+				  }
+				})
+			},
+			// 根据地址列表中选择某一个地点
+			select(add,index){
+				console.log(add,index);
+				if(!add){
+					return;
+				}
+				this.selectIndex = index;
+				var location = add.location.split(",");
+				console.log(location);
+				this.selectAddr = {
+					address:add.pname?(add.pname+add.cityname+add.adname+add.address):(add.district+add.address),
+					latitude:location[1],
+					longitude:location[0]
+				};
+				this.markers[0].latitude = +location[1];
+				this.markers[0].longitude = +location[0];
+			},
+			// 在地图上点击进行选点,这个选点在地图缩放比例较大时无效,因为精读的问题。
+			onMapTap(e){
+				// const mapContext = uni.createMapContext('map');
+				var mapContext = uni.createMapContext("map", this).$getAppMap();
+				console.log( mapContext,2222222222222);
+
+				mapContext.on('tap', (res) => {
+					console.log('点击的坐标1222222:', res);
+
+					// const { latitude, longitude } = res.detail;
+					// console.log('点击的坐标:', latitude, longitude);
+					// 在这里你可以对获取到的坐标进行处理或展示
+				});
+				// console.log(e);
+				var location = e.detail.longitude +','+e.detail.latitude
+                // this.selectAddr = {
+				// 	address:add.pname?(add.pname+add.cityname+add.adname+add.address):(add.district+add.address),
+				// 	latitude:location[1],
+				// 	longitude:location[0]
+				// };
+                // this.markers[0].latitude = data[0].latitude;
+				// this.markers[0].longitude = data[0].longitude;
+				// myAmapFun.getRegeo({
+				//   location: location,
+				//   success: (data)=>{
+				// 	console.log("获取指定定位信息",data);
+				// 	this.selectAddr = {
+				// 		address:data[0].regeocodeData.formatted_address,
+				// 		latitude:e.detail.latitude,
+				// 		longitude:e.detail.longitude
+				// 	};
+				// 	this.markers[0].latitude = data[0].latitude;
+				// 	this.markers[0].longitude = data[0].longitude;
+				// 	myAmapFun.getPoiAround({
+				// 	  location: data[0].longitude+','+data[0].latitude,
+				// 	  success: (data)=>{
+				// 		console.log("获取当前的列表",data);
+				// 		this.dataTips = data.poisData;
+				// 	  },
+				// 	  fail: (info)=>{
+				// 		console.log(info)
+				// 	  }
+				// 	})
+				//   },
+				//   fail: (info)=>{
+				// 	console.log(info);
+				//   }
+				// })
+			},
+			// 根据内容进行检索
+			searchFn(){
+				console.log("根据地址检索",this.searchWords);
+				myAmapFun.getInputtips({
+				  keywords: this.searchWords,
+				  location: '',
+				  success: (data) => {
+					  console.log(111,data);
+					if(data && data.tips){
+					  this.dataTips = data.tips;
+					}
+				  },
+				  fail:data=>{
+					  console.log(222,data);
+				  }
+				})
+			}
+		}
+	}
+</script>
+
+<style lang="scss" scoped>
+	.btns{
+		position: fixed;
+		top:0;
+		left:0;
+		// height:100upx;
+		width:100%;
+		// background:linear-gradient(to bottom,rgba(0,0,0,0.4),rgba(0,0,0,0));
+		display: flex;
+		align-items: center;
+		justify-content: space-between;
+		z-index:1000 !important;
+		view{
+			margin:50upx 24upx 0;
+			font-size:30upx;
+            width:100upx;
+            height:60upx;
+            line-height: 60upx;
+            text-align: center;
+            border-radius: 10upx;
+            color:#fff;
+			&:first-child{
+                background:#7e6d68;
+			}
+			&:last-child{
+				background:#E13500;
+			}
+		}
+	}
+	.content{
+        height: 100vh;
+		.list{
+			height:calc(40vh - 100upx);
+			overflow-y: auto;
+			width:702upx;
+			margin:-40upx auto 0;
+			padding-bottom:20upx;
+			.item{
+				border-bottom:2upx solid #f3f3f3;
+				&:last-child{
+					border:none;
+				}
+				.address{
+					font-size:22upx;
+					color:#666;
+					margin:10upx 0;
+				}
+				.name{
+					font-size:30upx;
+					color:#333;
+					margin-top:10upx;
+				}
+				&.active{
+					.name{
+						font-weight: bold;
+						color:#E13500;
+					}
+					.address{
+						color:#E13500;
+					}
+				}
+			}
+		}
+		.inputCon{
+			width:100%;
+			background:#fff;
+			top:0;
+			position: relative;
+			z-index:20;
+			height:100upx;
+			display: flex;
+			align-items: center;
+			justify-content: center;
+			.searchView{
+				width:702upx;
+				height:60upx;
+				display: flex;
+				align-items: center;
+				line-height: 60upx;
+				border-radius: 40upx;
+				padding:0 30upx;
+				box-sizing: border-box;
+				background:#f3f3f3;
+				font-size:26upx;
+				.iconfont{
+					color:#666;
+					margin-right:20upx;
+				}
+				input{
+					flex:1;
+				}
+				view{
+					flex-shrink: 0;
+				}
+			}
+		}
+		
+	}
+</style>
+

+ 426 - 0
pages/login/map.vue

@@ -0,0 +1,426 @@
+<template>
+	<view class="content">
+		<view id="amap" class="amap" style="width: 100%; height: 59vh;" 
+			:pointList="pointList" :change:pointList="ModuleMap.setParkList">
+		</view>
+		<view class="btns"> 
+			<view @click="back">取消</view>
+			<view @click="checkAdd">确定</view>
+		</view>
+		 <view class="inputCon">
+			 <view class="searchView">
+				 <text class="iconfont icon-sousuo"></text>
+				 <input type="text" placeholder="搜索地点" v-model="searchWords" confirm-type="search" @confirm="searchFn"/>
+				 <text @click="cancel">取消</text>
+			 </view>
+		 </view>
+		 <view class="list">
+			 <view class="item" v-for="(add,index) in dataTips" :key="add.id" @click="select(add,index)"
+			 :class="selectIndex==index?'active':''">
+				 <view class="name">{{add.name}}</view>
+				 <view class="address">{{add.district || ''}}{{add.address || ''}}</view>
+			 </view>
+		 </view>
+		<!-- <view style="position: absolute;top:30upx;width: 100%;">
+            <view class="map-min-2-search-box">
+                <input
+                    v-model="address"
+                    placeholder="搜索地点"
+                    class="locationpicker-search-content-ipt"
+                />
+                <view class="locationpicker-search-clear" @click="onClearInput">
+                <image
+                    src="https://lbs.gtimg.com/visual/miniprogram-plugin/location-picker/assets/btn_close@2x.png"
+                    class="locationpicker-search-clear-ipt"
+                    mode=""
+                ></image>
+                </view>
+                <view class="locationpicker-search--content-btn-line"></view>
+                <view class="locationpicker-search-content-btn" @click="searchAddress">搜索</view>
+			<button class="cu-btn bg-blue"  @click="surePoint">确认</button>
+
+            </view>
+		</view> -->
+	</view>
+</template>
+
+<script>
+	var amapFile = require('@/static/map/amap-wx.130.js');//如:..­/..­/libs/amap-wx.js
+	// 创建地图
+	var myAmapFun = new amapFile.AMapWX({key: '915d1d1ed40dc41450eda1d930ea1b2d'});
+	export default {
+		data() {
+			return {
+				markers: [],
+				longitude: '',
+				latitude: '',
+				pointList: null,
+				address: '',
+
+				selectIndex:undefined,
+				selectAddr:{},
+				searchWords:"",
+				id:0, // 使用 marker点击事件 需要填写id
+				title: 'map',
+				// latitude: 39.909,
+				// longitude: 116.39742,
+				dataTips:[],
+				map: null,
+				centerArr:[]
+
+			};
+		},
+		methods: {
+			checkAdd(){
+				console.log(this.markers);
+				uni.setStorageSync('address', this.markers[0]);
+				// var pages = getCurrentPages();// 获取所有的页面栈
+				// var prevPage = pages[pages.length - 2]; // 找到上一个页面,注意是页面,如果是页面中有组件,则需要通过页面接受到数据后,再次往组件中传递
+				// prevPage.$vm.addressObj = this.selectAddr;//在上一个页面中就可以用addressObj进行接收
+				// uni.navigateBack();
+                this.back()
+			},
+			back(){
+                 // 返回上一页
+                uni.navigateBack({
+                    delta: 1 // 返回的页面数,默认为1
+                })
+			},
+			cancel(){
+				if(this.searchWords){
+					this.searchWords = "";
+					myAmapFun.getPoiAround({
+					  location: this.markers[0].longitude+','+this.markers[0].latitude,
+					  success: (data)=>{
+						console.log("获取当前的列表",data);
+						this.dataTips = data.poisData;
+					  },
+					  fail: (info)=>{
+						console.log(info)
+					  }
+					})
+				}
+			},
+			reserGeo(){
+				myAmapFun.getRegeo({
+				  success: (data)=>{
+					console.log("获取当前定位信息",data);
+				  },
+				  fail: (info)=>{
+					console.log(info)
+				  }
+				})
+			},
+			// 根据地址列表中选择某一个地点
+			select(add,index){
+				console.log(add,index);
+				if(!add){
+					return;
+				}
+				this.selectIndex = index;
+				var location = add.location.split(",");
+				console.log(location);
+				this.selectAddr = {
+					address:add.pname?(add.pname+add.cityname+add.adname+add.address):(add.district+add.address),
+					latitude:location[1],
+					longitude:location[0]
+				};
+				this.markers[0].latitude = +location[1];
+				this.markers[0].longitude = +location[0];
+			},
+			// 根据内容进行检索
+			searchFn(){
+				console.log("根据地址检索",this.searchWords);
+				myAmapFun.getInputtips({
+				  keywords: this.searchWords,
+				  location: '',
+				  success: (data) => {
+					  console.log(111,data);
+					if(data && data.tips){
+					  this.dataTips = data.tips;
+					}
+				  },
+				  fail:data=>{
+					  console.log(222,data);
+				  }
+				})
+			},
+			//标记点触发方法
+			markerClick(e) {
+				this.longitude = e.split(':')[0]
+				this.latitude = e.split(':')[1]
+				this.markers = [{
+					latitude: this.latitude,
+					longitude: this.longitude
+				}]
+				
+			},
+	},
+	onLoad(e) {
+		// myAmapFun.getRegeo({
+		// 	success: (data)=>{
+		// 	console.log("获取当前定位信息",data[0][longitude]);
+		// 	// this.centerArr=[data[0].longitude,data[0].latitude]
+		// 	},
+		// 	fail: (info)=>{
+		// 	console.log(info)
+		// 	}
+		// })
+		if(e){
+				let point = JSON.parse(decodeURIComponent(e.position))
+				// point.iconPath = '/static/avatar_boy.png';
+				console.log(point,77777);
+				this.markers = [point]
+				// 传入的标点(反显用)
+				this.longitude = point.longitude
+				this.latitude = point.latitude
+			}
+		},
+		mounted() {
+			// 将传入的标点传入下面的 ModuleMap 中
+			this.pointList = [this.longitude, this.latitude];
+		},
+	}
+</script>
+<script module="ModuleMap" lang="renderjs">
+	export default {
+		data() {
+			return {
+				map: null,
+				layer: null,
+				markers: '',
+				isExistImplement: false,
+				markerId: '',
+				parkList: [],
+			}
+		},
+		watch: {
+			//监听位置数据的变化,并初始化地图(有位置数据则默认给个标点)
+			parkList(v) {
+				setTimeout(() => {
+					if (window.AMap) {
+						this.initAmap(v);
+					} else {
+						const script = document.createElement('script');
+						script.src =
+						'https://webapi.amap.com/maps?v=1.4.15&key=220880dab49e4a565afbf0bd989af006'; //这里是自己申请的高德的key
+						script.onload = () => {
+							this.initAmap(v);
+						}
+						document.head.appendChild(script);
+					}
+				});
+			}
+		},
+		mounted() {
+
+		},
+		methods: {
+
+			initAmap(marker) {
+				this.map = new AMap.Map('amap', {
+					resizeEnable: true,
+					center: [112.34988, 37.827066], //中心点坐标
+					zoom: 17, //显示的缩放级别
+					zooms: [6, 30], //地图显示的缩放级别范围
+				})
+				//地图创建完成 标注点
+				this.map.on("complete", () => {
+					if (marker && marker.length) {
+						this.markers = new AMap.Marker({
+							// icon: new AMap.Icon({
+							// 	image: 'static/img/map.png',
+							// 	size: new AMap.Size(30, 34), //图标所处区域大小
+							// 	imageSize: new AMap.Size(30, 34) //图标大小
+							// }),
+							position: [marker[0], marker[1]],
+							offset: new AMap.Pixel(-15, -30)
+						});
+						this.markers.setMap(this.map);
+						this.map.setCenter(marker)
+					}
+				})
+				//点击事件
+				this.map.on("click", (e) => {
+					if (this.markers) {
+						this.markers.setMap(null);
+						this.markers = null;
+					}
+					if (!this.markers) {
+						this.markers = new AMap.Marker({
+							// icon: new AMap.Icon({
+							// 	image: 'static/img/map.png',
+							// 	size: new AMap.Size(30, 34), //图标所处区域大小
+							// 	imageSize: new AMap.Size(30, 34) //图标大小
+							// }),
+							position: [e.lnglat.lng, e.lnglat.lat],
+							offset: new AMap.Pixel(-15, -30)
+						});
+						this.markers.setMap(this.map);
+						let str = e.lnglat.lng + ':' + e.lnglat.lat
+						//地图点击事件 将位置信息传到上面的markerClick函数中
+						this.$ownerInstance.callMethod('markerClick', str)
+					}
+					// this.createLabelsLayer();
+				})
+			},
+			//接收传入的位置数据
+			setParkList(newValue, oldValue, ownerInstance, instance) {
+				this.parkList = newValue;
+			},
+		}
+	}
+</script>
+<style scoped  lang="scss">
+.map-min-2-search-box {
+  height: 84rpx;
+  background: #efefef;
+  border-radius: 7px;
+  height: 42px;
+  margin: 0 14px 10px;
+  display: -webkit-flex;
+  display: flex;
+  -webkit-justify-content: space-around;
+  justify-content: space-around;
+
+  input {
+    cursor: auto;
+    display: block;
+    font-family: UICTFontTextStyleBody;
+    height: 1.4rem;
+    min-height: 1.4rem;
+    overflow: hidden;
+    text-overflow: clip;
+    white-space: nowrap;
+  }
+
+  .locationpicker-search-content-ipt {
+    height: 42px;
+    padding-left: 10px;
+    width: 70%;
+  }
+
+  .locationpicker-search-clear {
+    height: 43px;
+    text-align: center;
+    width: 33px;
+
+    .locationpicker-search-clear-ipt {
+      height: 16px;
+      margin-top: 13px;
+      width: 16px;
+    }
+  }
+
+  .locationpicker-search--content-btn-line {
+    background: #c7c7c7;
+    height: 16px;
+    margin: 13px -10px 0 0;
+    width: 1px;
+  }
+
+  .locationpicker-search-content-btn {
+    color: #427cff;
+    height: 42px;
+    line-height: 42px;
+    padding: 0 10px 0 20px;
+  }
+}
+.content{
+        height: 100vh;
+		.list{
+			height:calc(40vh - 100upx);
+			overflow-y: auto;
+			width:702upx;
+			margin:0 auto 0;
+			padding-bottom:20upx;
+			.item{
+				border-bottom:2upx solid #f3f3f3;
+				&:last-child{
+					border:none;
+				}
+				.address{
+					font-size:22upx;
+					color:#666;
+					margin:10upx 0;
+				}
+				.name{
+					font-size:30upx;
+					color:#333;
+					margin-top:10upx;
+				}
+				&.active{
+					.name{
+						font-weight: bold;
+						color:#E13500;
+					}
+					.address{
+						color:#E13500;
+					}
+				}
+			}
+		}
+		.inputCon{
+			width:100%;
+			background:#fff;
+			top:0;
+			position: relative;
+			z-index:20;
+			height:100upx;
+			display: flex;
+			align-items: center;
+			justify-content: center;
+			.searchView{
+				width:702upx;
+				height:60upx;
+				display: flex;
+				align-items: center;
+				line-height: 60upx;
+				border-radius: 40upx;
+				padding:0 30upx;
+				box-sizing: border-box;
+				background:#f3f3f3;
+				font-size:26upx;
+				.iconfont{
+					color:#666;
+					margin-right:20upx;
+				}
+				input{
+					flex:1;
+				}
+				view{
+					flex-shrink: 0;
+				}
+			}
+		}
+		
+	}
+	.btns{
+		position: fixed;
+		top:0;
+		left:0;
+		// height:100upx;
+		width:100%;
+		// background:linear-gradient(to bottom,rgba(0,0,0,0.4),rgba(0,0,0,0));
+		display: flex;
+		align-items: center;
+		justify-content: space-between;
+		z-index:1000 !important;
+		view{
+			margin:50upx 24upx 0;
+			font-size:30upx;
+            width:100upx;
+            height:60upx;
+            line-height: 60upx;
+            text-align: center;
+            border-radius: 10upx;
+            color:#fff;
+			&:first-child{
+                background:#7e6d68;
+			}
+			&:last-child{
+				background:#E13500;
+			}
+		}
+	}
+</style>

+ 377 - 294
pages/login/settled.vue

@@ -1,34 +1,50 @@
 <template>
     <view>
-        <cu-custom :bgColor="title=='申请入驻'?'bg-gradual-blue1':'bg-fff'" :isBack="true">
+        <cu-custom :bgColor="title == '申请入驻' ? 'bg-gradual-blue1' : 'bg-fff'" :isBack="true">
             <block slot="content">{{ title }}</block>
         </cu-custom>
-        <view class="progress" v-if="title=='申请入驻'">
+        <view class="progress" v-if="title == '申请入驻'">
             <view class="progress-style progress-bag">
-                <view v-if="tab==1" class="progress-icon"></view>
-                <view v-if="tab==2" class="progress-style progress-bag1" :style="[{animation: 'top ' + 0.4+ 's 1'}]">
-                    <view  class="progress-icon1"></view>
+                <view v-if="tab == 1" class="progress-icon"></view>
+                <view v-if="tab == 2" class="progress-style progress-bag1">
+                    <view class="progress-icon1"></view>
                 </view>
-                <view v-if="tab==3" class="progress-style progress-bag2">
-                    <view  class="progress-icon1"></view>
+                <view v-if="tab == 3" class="progress-style progress-bag2">
+                    <view class="progress-icon1"></view>
                 </view>
             </view>
             <view class="progress-title flex justify-between">
-                <view :class="tab=='1'?'color':''">账户信息</view>
-                <view :class="tab=='2'?'color':''">提交资料</view>
-                <view :class="tab=='3'?'color':''">门店信息</view>
+                <view :class="tab == '1' ? 'color' : ''">账户信息</view>
+                <view :class="tab == '2' ? 'color' : ''">提交资料</view>
+                <view :class="tab == '3' ? 'color' : ''">门店信息</view>
             </view>
         </view>
-        <view class="progress-status" v-else >
-            <view class="status">
-                <image src="/static/login/status1.png" mode="aspectFit"></image>
-                <text>待审核</text>
+        <view class="progress-status" v-else>
+            <view v-if="form.status == 0">
+                <view class="status">
+                    <image src="/static/login/status1.png" mode="aspectFit"></image>
+                    <text>待审核</text>
+                </view>
+                <view>{{form.updateTime }} 提交的店铺信息待审核中</view>
+            </view>
+            <view v-if="form.status == 1">
+                <view class="status">
+                    <image src="/static/login/status2.png" mode="aspectFit"></image>
+                    <text style="color: #53CC48;">审核通过</text>
+                </view>
+                <view>{{form.updateTime }} 提交的店铺信息审核通过</view>
+            </view>
+            <view v-if="form.status == 2">
+                <view class="status">
+                    <image src="/static/login/status3.png" mode="aspectFit"></image>
+                    <text>审核驳回</text>
+                </view>
+                <view>驳回原因:{{form.remark }} </view>
             </view>
-            <view>2025/08/28 09:54:36 提交的店铺信息待审核中</view>
         </view>
         <view v-if="tab == 1" class="tab-top">
             <form>
-                 <!-- <view class="borderRadiu">
+                <!-- <view class="borderRadiu">
                     <view class="flex cu-form-group margin-top1 ">
                         <view class="content ">
                             <text class="text-bold" >选择所属供应商</text>
@@ -48,12 +64,12 @@
                     </picker>
                 </view>
                 </view> -->
-                
+
                 <view class="borderRadiu">
                     <view class="flex cu-form-group margin-top1 ">
                         <view class="content ">
-                            <text class="text-bold" >账户信息</text>
-                            <i class="text-bg " ></i>
+                            <text class="text-bold">账户信息</text>
+                            <i class="text-bg "></i>
                         </view>
                     </view>
                     <view class=" cu-form-group ">
@@ -63,53 +79,57 @@
                 </view>
             </form>
         </view>
-        <view v-if="tab == 2" class="tab-top">
-            <form >
+        <view v-if="tab == 2" class="tab-top" :style="title == '店铺信息' ? 'margin-top: 120upx' : ''">
+            <form>
                 <view class="borderRadiu">
-                <view class="flex cu-form-group margin-top1">
-                    <view class="content ">
-                        <text class="text-bold">提交经营主体资料</text>
-                        <i class="text-bg " ></i>
+                    <view class="flex cu-form-group margin-top1">
+                        <view class="content ">
+                            <text class="text-bold">提交经营主体资料</text>
+                            <i class="text-bg "></i>
+                        </view>
                     </view>
-                </view>
-                <view class=" cu-form-group">
-                    <view class="title">主体类型</view>
-                    <!-- <uni-data-checkbox  v-model="form.type" :localdata="hobby"></uni-data-checkbox> -->
-                    <radio-group @change="typeChang($event, 'type')" v-model="form.type" >
-                        <label class="margin-left-sm">
-                            <radio :class="form.type=='1'?'checked blue':''" :checked="form.type=='1'?true:false" value="1" :disabled="isDisabled"></radio>
-                            <!-- <checkbox class=' blue' :class="form.type?'checked':''" :checked="form.type?true:false" value="1"></checkbox> -->
-                            <text class="margin-left-sm">普通企业</text>
-                        </label>
-                        <label class="margin-left-sm">
-                            <radio :class="form.type=='2'?'checked blue':''" :checked="form.type=='2'?true:false" value="2" :disabled="isDisabled"></radio>
-                            <text class="margin-left-sm">个体工商户</text>
-                        </label>
-                    </radio-group>
-                </view>
-                <view class="cu-form-group">
-                    <view class="title">公司名称</view>
-                    <input placeholder="请输入公司名称" v-model="form.corporateName" name="input" :disabled="isDisabled"></input>
-                </view>
-                <view class="cu-form-group">
-                    <view class="title">统一代码</view>
-                    <input placeholder="请输入统一社会信用代码" v-model="form.creditCode" name="input" :disabled="isDisabled"></input>
-                </view>
-                <view class="cu-form-group">
-                    <view class="title">有效期 </view>
-                    <!-- <uni-data-checkbox  v-model="form.lifespan" :localdata="lifespanOption"></uni-data-checkbox> -->
-                    <radio-group  @change="typeChang($event, 'lifespanType')" v-model="form.lifespanType" >
-                        <label class="margin-left-sm">
-                            <radio :class="form.lifespanType=='1'?'checked blue':''" :checked="form.lifespanType=='1'?true:false" value="1" :disabled="isDisabled"></radio>
-                            <!-- <checkbox class=' blue' :class="form.type?'checked':''" :checked="form.type?true:false" value="1"></checkbox> -->
-                            <text class="margin-left-sm">长期有效</text>
-                        </label>
-                        <label class="margin-left-sm">
-                            <radio :class="form.lifespanType=='2'?'checked blue':''" :checked="form.lifespanType=='2'?true:false" value="2" :disabled="isDisabled"></radio>
-                            <text class="margin-left-sm">固定期限</text>
-                        </label>
-                    </radio-group>
-                    <!-- <radio-group @change="typeChang($event, 'lifespan')" v-model="form.lifespan">
+                    <view class=" cu-form-group">
+                        <view class="title">主体类型</view>
+                        <!-- <uni-data-checkbox  v-model="form.type" :localdata="hobby"></uni-data-checkbox> -->
+                        <radio-group @change="typeChang($event, 'type')" v-model="form.type">
+                            <label class="margin-left-sm">
+                                <radio :class="form.type == '1' ? 'checked blue' : ''"
+                                    :checked="form.type == '1' ? true : false" value="1"></radio>
+                                <!-- <checkbox class=' blue' :class="form.type?'checked':''" :checked="form.type?true:false" value="1"></checkbox> -->
+                                <text class="margin-left-sm">普通企业</text>
+                            </label>
+                            <label class="margin-left-sm">
+                                <radio :class="form.type == '2' ? 'checked blue' : ''"
+                                    :checked="form.type == '2' ? true : false" value="2"></radio>
+                                <text class="margin-left-sm">个体工商户</text>
+                            </label>
+                        </radio-group>
+                    </view>
+                    <view class="cu-form-group">
+                        <view class="title">公司名称</view>
+                        <input placeholder="请输入公司名称" v-model="form.corporateName" name="input"></input>
+                    </view>
+                    <view class="cu-form-group">
+                        <view class="title">统一代码</view>
+                        <input placeholder="请输入统一社会信用代码" v-model="form.creditCode" name="input"></input>
+                    </view>
+                    <view class="cu-form-group">
+                        <view class="title">有效期 </view>
+                        <!-- <uni-data-checkbox  v-model="form.lifespan" :localdata="lifespanOption"></uni-data-checkbox> -->
+                        <radio-group @change="typeChang($event, 'lifespanType')" v-model="form.lifespanType">
+                            <label class="margin-left-sm">
+                                <radio :class="form.lifespanType == '1' ? 'checked blue' : ''"
+                                    :checked="form.lifespanType == '1' ? true : false" value="1"></radio>
+                                <!-- <checkbox class=' blue' :class="form.type?'checked':''" :checked="form.type?true:false" value="1"></checkbox> -->
+                                <text class="margin-left-sm">长期有效</text>
+                            </label>
+                            <label class="margin-left-sm">
+                                <radio :class="form.lifespanType == '2' ? 'checked blue' : ''"
+                                    :checked="form.lifespanType == '2' ? true : false" value="2"></radio>
+                                <text class="margin-left-sm">固定期限</text>
+                            </label>
+                        </radio-group>
+                        <!-- <radio-group @change="typeChang($event, 'lifespan')" v-model="form.lifespan">
                         <label class="margin-left-sm">
                             <radio class="blue radio" value="1" checked></radio>
                             <text class="margin-left-sm">长期有效</text>
@@ -119,146 +139,156 @@
                             <text class="margin-left-sm">固定期限</text>
                         </label>
                     </radio-group> -->
-                </view>
-                <view class="cu-form-group" v-if="form.lifespanType == 2">
-                    <view class="title">有效期起</view>
-                    <picker mode="date" :disabled="isDisabled" :value="form.lifespanBegin" @change="typeChang($event, 'lifespanBegin')">
-                        <view class="picker" v-if="form.lifespanBegin">
-                            {{ form.lifespanBegin  }}
-                        </view>
-                        <view class="picker" v-else style="color: #999999;">
-                           请选择
-                        </view>
-                    </picker>
-                </view>
-                <view class="cu-form-group" v-if="form.lifespanType == 2">
-                    <view class="title">有效期止</view>
-                    <picker mode="date" :disabled="isDisabled" :value="form.lifespanEnd" @change="typeChang($event, 'lifespanEnd')">
-                        <view class="picker" v-if="form.lifespanEnd">
-                            {{ form.lifespanEnd }}
-                        </view>
-                        <view class="picker" v-else style="color: #999999;">
-                           请选择
+                    </view>
+                    <view class="cu-form-group" v-if="form.lifespanType == 2">
+                        <view class="title">有效期起</view>
+                        <picker mode="date" :value="form.lifespanBegin" @change="typeChang($event, 'lifespanBegin')">
+                            <view class="picker" v-if="form.lifespanBegin">
+                                {{ form.lifespanBegin }}
+                            </view>
+                            <view class="picker" v-else style="color: #999999;">
+                                请选择
+                            </view>
+                        </picker>
+                    </view>
+                    <view class="cu-form-group" v-if="form.lifespanType == 2">
+                        <view class="title">有效期止</view>
+                        <picker mode="date" :value="form.lifespanEnd" @change="typeChang($event, 'lifespanEnd')">
+                            <view class="picker" v-if="form.lifespanEnd">
+                                {{ form.lifespanEnd }}
+                            </view>
+                            <view class="picker" v-else style="color: #999999;">
+                                请选择
+                            </view>
+                        </picker>
+                    </view>
+                    <view class="customize">
+                        <view class="title">营业执照</view>
+                        <view style="border-bottom: 1px solid #EEEEEE;">
+                            <view class="business-img flex align-center">
+                                <image
+                                    :src="businessLicenseImg ? businessLicenseImg : '/static/login/yingyezhizhao.png'"
+                                    mode="" @click="businessChange('businessLicense')">
+                                </image>
+                            </view>
                         </view>
-                    </picker>
-                </view>
-                <view class="customize">
-                    <view class="title">营业执照</view>
-                    <view style="border-bottom: 1px solid #EEEEEE;">
-                        <view class="business-img flex align-center">
-                            <image :src="businessLicenseImg ? businessLicenseImg : '/static/login/yingyezhizhao.png'"
-                                mode="" @click="businessChange('businessLicense')">
-                            </image>
+                        <view class="business-prompt">
+                            请上传营业执照照片或复印件,复印件需加盖公司公章,仅支持jpg、png格式;图片需清晰、完整、无反光、无PS、无不相关水印、非拍屏
                         </view>
                     </view>
-                    <view class="business-prompt">
-                        请上传营业执照照片或复印件,复印件需加盖公司公章,仅支持jpg、png格式;图片需清晰、完整、无反光、无PS、无不相关水印、非拍屏
-                    </view>
                 </view>
-            </view>
-            <view class="borderRadiu" style="margin-bottom: 114upx;">
-                <view class="flex cu-form-group margin-top1 ">
+                <view class="borderRadiu" style="margin-bottom: 114upx;">
+                    <view class="flex cu-form-group margin-top1 ">
                         <view class="content ">
-                            <text class="text-bold" >法人信息</text>
-                            <i class="text-bg " ></i>
+                            <text class="text-bold">法人信息</text>
+                            <i class="text-bg "></i>
                         </view>
                     </view>
-                <view class="cu-form-group  ">
-                    <view class="title">法人姓名</view>
-                    <input placeholder="请输入法人姓名" v-model="form.legalPerson" name="input" :disabled="isDisabled"></input>
-                </view>
-                <view class="cu-form-group">
-                    <view class="title">法人证件号</view>
-                    <input placeholder="请输入法人证件号" v-model="form.legalPersonCode" name="input" :disabled="isDisabled"></input>
-                </view>
-                <view class="customize">
-                    <view class="title">法人证件照片</view>
-                    <view style="padding: 16upx 0;border-bottom: 1px solid #EEEEEE;">
-                        <view class="flex upload justify-between">
-                            <view class="imgOcr-border">
-                                <image :src="identityOneImg ? identityOneImg : '/static/login/code1.png'" mode=""
-                                    @click="businessChange('identityOne')"></image>
-                            </view>
-                            <view class="imgOcr-border">
-                                <image :src="identityTwoImg ? identityTwoImg : '/static/login/code2.png'" mode=""
-                                    @click="businessChange('identityTwo')"></image>
-                            </view>
-                        </view>
+                    <view class="cu-form-group  ">
+                        <view class="title">法人姓名</view>
+                        <input placeholder="请输入法人姓名" v-model="form.legalPerson" name="input"></input>
                     </view>
-                    <view class="business-prompt">
-                        <view>请上传中国大陆公民.身份证照片,仅支持jpg、png格式</view>
-                        <view>1、需提供与主体证照上一致的法人证件照片</view>
-                        <view>2、图片需清晰、完整、无反光、无PS、无不相关水印、非拍屏</view>
-                        <view>3、证件未过期</view>
+                    <view class="cu-form-group">
+                        <view class="title">法人证件号</view>
+                        <input placeholder="请输入法人证件号" v-model="form.legalPersonCode" name="input"></input>
                     </view>
+                    <view class="customize">
+                        <view class="title">法人证件照片</view>
+                        <view style="padding: 16upx 0;border-bottom: 1px solid #EEEEEE;">
+                            <view class="flex upload justify-between">
+                                <view class="imgOcr-border">
+                                    <image :src="identityOneImg ? identityOneImg : '/static/login/code1.png'" mode=""
+                                        @click="businessChange('identityOne')"></image>
+                                </view>
+                                <view class="imgOcr-border">
+                                    <image :src="identityTwoImg ? identityTwoImg : '/static/login/code2.png'" mode=""
+                                        @click="businessChange('identityTwo')"></image>
+                                </view>
+                            </view>
+                        </view>
+                        <view class="business-prompt">
+                            <view>请上传中国大陆公民.身份证照片,仅支持jpg、png格式</view>
+                            <view>1、需提供与主体证照上一致的法人证件照片</view>
+                            <view>2、图片需清晰、完整、无反光、无PS、无不相关水印、非拍屏</view>
+                            <view>3、证件未过期</view>
+                        </view>
                     </view>
                 </view>
             </form>
         </view>
-        <view v-if="tab == 3" class="tab-top">
+        <view v-if="tab == 3" class="tab-top" :style="title == '店铺信息' ? 'margin-top: 120upx' : ''">
             <form>
-                <view class="borderRadiu">
-                <view class="flex cu-form-group margin-top1">
-                    <view class="content ">
-                        <text class="text-bold">提交门店信息</text>
-                        <i class="text-bg " ></i>
+                <view class="borderRadiu" style="margin-bottom: 114upx;">
+                    <view class="flex cu-form-group margin-top1">
+                        <view class="content ">
+                            <text class="text-bold">提交门店信息</text>
+                            <i class="text-bg "></i>
+                        </view>
                     </view>
-                </view>
-                <view class="cu-form-group">
-                    <view class="title">门店名称</view>
-                    <input placeholder="请输入门店名称" v-model="form.storeName" name="input" :disabled="isDisabled"></input>
-                </view>
-                <view class="cu-form-group" >
-                    <view class="title">所在地区</view>
-                    <input disabled="true"  @mousedown="$refs.picker.show()" placeholder="请选择所在地区"  ref="inputRef" name="input" v-model="country" ></input>
-                    <text class='cuIcon-right' style="color: #C7C6CA ;" @click="$refs.picker.show()"></text>
-                    <w-picker :visible.sync="visible" ref="picker" mode="region" :value="country"
-                        @confirm="onConfirm($event, 'region')"></w-picker>
-                </view>
-                <view class="cu-form-group">
-                    <view class="title">门店地址</view>
-                    <input placeholder="请输入门店地址详细地址" v-model="form.address" name="input"></input>
-                </view>
-                <view class="customize">
-                    <view class="title">地理位置</view>
-                    <aMap class=" booder-top" style="padding-bottom: 7px;"></aMap>
-                    <view class="business-prompt">
-                        若位置有误直接影响客户到店,请在地图中仔细核对,可拖拽地图确保位置正确
+                    <view class="cu-form-group">
+                        <view class="title">门店名称</view>
+                        <input placeholder="请输入门店名称" v-model="form.storeName" name="input"></input>
                     </view>
-                </view>
-                <view class="customize">
-                    <view class="title">门头照片</view>
-                    <view class="grid col-3 grid-square flex-sub booder-top" >
-                        <view class="bg-img" v-for="(item, index) in imgList" :key="index" @tap="ViewImage"
-                            :data-url="imgList[index]">
-                            <image :src="imgList[index]" mode="aspectFill"></image>
-                            <view class="cu-tag bg-red" @tap.stop="DelImg" :data-index="index">
-                                <text class='cuIcon-close'></text>
+                    <view class="cu-form-group">
+                        <view class="title">所在地区</view>
+                        <input disabled="true" @mousedown="$refs.picker.show()" placeholder="请选择所在地区" ref="inputRef"
+                            name="input" v-model="form.locality"></input>
+                        <text class='cuIcon-right' style="color: #C7C6CA ;" @click="$refs.picker.show()"></text>
+                        <w-picker :visible.sync="visible" ref="picker" mode="region" :value="form.locality"
+                            @confirm="onConfirm($event, 'region')"></w-picker>
+                    </view>
+                    <view class="cu-form-group">
+                        <view class="title">门店地址</view>
+                        <input placeholder="请输入门店地址详细地址" v-model="form.address" name="input"></input>
+                    </view>
+                    <view class="customize">
+                        <view class="title">地理位置</view>
+                        <view class=" booder-top" style="padding-bottom: 16upx;">
+                            <map style="width: 100%; height: 218upx;" :latitude="latitude" scale="14"
+                                :longitude="longitude" :markers="markers" @tap="handleMarkerTap"></map>
+                        </view>
+
+                        <!-- <aMap class=" booder-top" style="padding-bottom: 7px;"></aMap> -->
+                        <view class="business-prompt">
+                            若位置有误直接影响客户到店,请在地图中仔细核对,可拖拽地图确保位置正确
+                        </view>
+                    </view>
+                    <view class="customize">
+                        <view class="title">门头照片</view>
+                        <view class="grid col-3 grid-square flex-sub booder-top">
+                            <view class="bg-img" v-for="(item, index) in imgList" :key="index" @tap="ViewImage"
+                                :data-url="imgList[index]">
+                                <image :src="imgList[index]" mode="aspectFill"></image>
+                                <view class="cu-tag bg-red" @tap.stop="DelImg" :data-index="index">
+                                    <text class='cuIcon-close'></text>
+                                </view>
+                            </view>
+                            <view class="solids" @tap="ChooseImage" v-if="imgList.length < 4">
+                                <text class='cuIcon-cameraadd'></text>
                             </view>
                         </view>
-                        <view class="solids" @tap="ChooseImage" v-if="imgList.length < 4">
-                            <text class='cuIcon-cameraadd'></text>
+                        <view class="business-prompt">
+                            门店照片需包含完整的门店入口和招牌名称,建议现场拍摄门头照;最多可上传10张,支持格式bmp、png、jpeg、jpg,单个图片不超过5MB,建议尺寸在2000*1500px以上
                         </view>
                     </view>
-                    <view class="business-prompt">
-                        门店照片需包含完整的门店入口和招牌名称,建议现场拍摄门头照;最多可上传10张,支持格式bmp、png、jpeg、jpg,单个图片不超过5MB,建议尺寸在2000*1500px以上                    </view>
                 </view>
-            </view>
             </form>
         </view>
         <view v-if="tab == 1" class="padding flex flex-direction sub-bottom">
-            <button  class="cu-btn bg-blue round " @click="tab=2">保存并下一步</button>
+            <button class="cu-btn bg-blue round " @click="tab = 2">保存并下一步</button>
         </view>
-        <view v-if="tab == 2 && title=='申请入驻'" class="padding flex sub-bottom">
-            <button class="cu-btn round line-blue  shadow"  @click="tab = 1">上一步</button>
-            <button style="margin-left: 12upx;width:77%" class="cu-btn bg-blue round " @click="tab=3">保存并下一步</button>
+        <view v-if="tab == 2 && title == '申请入驻'" class="padding flex sub-bottom">
+            <button class="cu-btn round line-blue  shadow" @click="tab = 1">上一步</button>
+            <button style="margin-left: 12upx;width:77%" class="cu-btn bg-blue round " @click="tab = 3">保存并下一步</button>
         </view>
-        <view v-else class="padding flex sub-bottom">
-            <button class="cu-btn round line-gray  shadow"  @click="$Router.push({ name: 'settings' })">取消</button>
-            <button style="margin-left: 12upx;width:77%" class="cu-btn line-blue  round shadow" @click="tab=3">下一页</button>
+        <view v-if="tab == 2 && title == '店铺信息'" class="padding flex sub-bottom">
+            <button class="cu-btn round line-gray  shadow" @click="$Router.push({ name: 'settings' })">取消</button>
+            <button style="margin-left: 12upx;width:77%" class="cu-btn line-blue  round shadow"
+                @click="tab = 3">下一页</button>
         </view>
         <view v-if="tab == 3" class="padding flex sub-bottom">
-            <button class="cu-btn round line-blue  shadow"  @click="tab = 2">{{title=='申请入驻'?'上一步':'上一页'}}</button>
+            <button class="cu-btn round line-blue  shadow" @click="tab = 2">{{ title == '申请入驻' ? '上一步' : '上一页'
+                }}</button>
             <button style="margin-left: 12upx;width:77%" class="cu-btn bg-blue round " @click="sumbit">提交审核</button>
         </view>
         <view class="cu-load load-modal" v-if="lodingshow">
@@ -266,37 +296,24 @@
             <view class="gray-text">加载中...</view>
         </view>
     </view>
-    
+
 </template>
 <script>
 import configService from '../../common/service/config.service'
 import regionPicker from "../../components/w-picker/region-picker.vue"
-import aMap from "../component/map.vue"
+// import aMap from "./map.vue"
 
 export default {
     components: {
         regionPicker,
-        aMap
+        // aMap
     },
     data() {
         return {
-            // hobby: [{
-			// 		text: '普通企业',
-			// 		value: 1
-			// 	}, {
-			// 		text: '个体工商户',
-			// 		value: 2
-            // }],
-            // lifespanOption: [{
-            //     text: '长期有效',
-            //     value: 1
-            // }, {
-            //     text: '固定期限',
-            //     value: 2
-            // }],
-            isDisabled:false,
-            title:'申请入驻',
-            lodingshow:false,
+            latitude: 37.827066,
+            longitude: 112.34988,
+            title: '申请入驻',
+            lodingshow: false,
             form: {
                 name: null,
                 type: 1,
@@ -309,7 +326,8 @@ export default {
                 legalPerson: null,
                 legalPersonCode: null,
                 storeName: null,
-                country:null,
+                country: null,
+                locality: '',
                 address: null,
                 // headPhoto: null,
                 passWord: uni.getStorageSync('password'),
@@ -325,19 +343,36 @@ export default {
             imgList1: [],
             index: -1,
             country: '',
+            // markers:[{
+            // 	latitude: 37.827066,
+            // 	longitude: 112.34988,
+            // 	iconPath: '../../static/avatar_girl.png'
+            // }]
+            markers: []
+
         }
     },
+    onShow() {
+        this.markers = uni.getStorageSync('address') ?
+            [Object.assign(uni.getStorageSync('address'), { iconPath: '../../static/boiaoji.png' })]
+            : []
 
+        console.log(this.markers, 888888888);
+
+    },
     async onLoad(data) {
-        let obj=JSON.parse(decodeURIComponent(data.params));
-        if(obj){
-            console.log(obj,333333333);
-            
-            this.title='店铺信息'
-            this.tab=2
-            this.isDisabled=true
-            obj.lifespanType= obj.lifespanType?obj.lifespanType:'1'
-            this.form=obj
+        if (data.params) {
+            let obj = JSON.parse(decodeURIComponent(data.params));
+            this.title = '店铺信息'
+            this.tab = 2
+            obj.lifespanType = obj.lifespanType ? obj.lifespanType : '1'
+            this.markers = this.form.longitude && this.form.latitude ?
+                [{ longitude: this.form.longitude, latitude: this.form.latitude, iconPath: '../../static/boiaoji.png' }]
+                : []
+            this.businessLicenseImg = configService.apiUrl + '/' + obj.businessLicense
+            this.identityOneImg = configService.apiUrl + '/' + obj.identityOne
+            this.form = obj
+
         }
         // let res = await this.$http.get("/merchant/app/allList")
         // if (res.data.success) {
@@ -348,6 +383,14 @@ export default {
 
     },
     methods: {
+        handleMarkerTap() {
+
+            const queryString = uni.getStorageSync('address') ? encodeURIComponent(JSON.stringify(uni.getStorageSync('address'))) : ''
+            uni.navigateTo({
+                url: '/pages/login/map?position=${queryString}'
+            })
+
+        },
         ChooseImage() {
             uni.chooseImage({
                 // count: 4, //默认9
@@ -360,6 +403,9 @@ export default {
                             url: configService.apiUrl + '/sys/common/upload',
                             filePath: res.tempFilePaths[0],
                             name: "file",
+                            formData: {
+                                'biz': 'temp',
+                            },
                             success: (files) => {
                                 let data = JSON.parse(files.data);
                                 if (data.success) {
@@ -402,7 +448,7 @@ export default {
             })
         },
         onConfirm(e) {
-            this.country = e.result
+            this.form.locality = e.result
             this.form.country = e.value[e.value.length - 1]
         },
         PickerChange(e) {
@@ -427,57 +473,60 @@ export default {
             }
 
             if (chooseImageRes) {
-					this.lodingshow = true;
-                    // this.$tip.loading()
+                this.lodingshow = true;
+                // this.$tip.loading()
                 this[type + 'Img'] = chooseImageRes.tempFilePaths[0];
                 uni.uploadFile({
                     url: configService.apiUrl + '/sys/common/upload',
                     filePath: chooseImageRes.tempFilePaths[0],
                     name: "file",
+                    formData: {
+                        'biz': 'temp',
+                    },
                     success: (files) => {
                         let data = JSON.parse(files.data);
                         if (data.success) {
                             this.form[type] = data.message
-                            if( type=='businessLicense' || type=='identityOne'){
+                            if (type == 'businessLicense' || type == 'identityOne') {
                                 uni.uploadFile({
-                                    url:  configService.apiUrl  + `${type=='businessLicense'?'/order/identify/businessLicense':'/order/identify/idCard'}`,
+                                    url: configService.apiUrl + `${type == 'businessLicense' ? '/order/identify/businessLicense' : '/order/identify/idCard'}`,
                                     filePath: chooseImageRes.tempFilePaths[0],
                                     name: "image1",
                                     success: (uploadFileRes) => {
                                         let data1 = JSON.parse(uploadFileRes.data).result;
-                                        let obj={}
-                                        if(type=='businessLicense'){
-                                            obj={
-                                                corporateName:  data1.company?data1.company:'', //公司名称
-                                                creditCode: data1.socialCreditCode? data1.socialCreditCode:'', //统一社会信用代码
-                                                lifespanBegin:data1.registerDate? data1.registerDate.substr(0,
-                                                        4) +'-' + data1.registerDate.substr(5, 2) + '-' + data1.registerDate
-                                                        .substr(8,2):'',
-                                                lifespanEnd: data1.effectiveDate && data1.effectiveDate.includes('年')? data1.effectiveDate.substr(0,
-                                                        4) +'-' + data1.effectiveDate.substr(5, 2) + '-' + data1.effectiveDate
-                                                        .substr(8,2):'9999-12-31',
-                                                 lifespanType:data1.registerDate ||  data1.effectiveDate?'2':'1',
+                                        let obj = {}
+                                        if (type == 'businessLicense') {
+                                            obj = {
+                                                corporateName: data1.company ? data1.company : '', //公司名称
+                                                creditCode: data1.socialCreditCode ? data1.socialCreditCode : '', //统一社会信用代码
+                                                lifespanBegin: data1.registerDate ? data1.registerDate.substr(0,
+                                                    4) + '-' + data1.registerDate.substr(5, 2) + '-' + data1.registerDate
+                                                        .substr(8, 2) : '',
+                                                lifespanEnd: data1.effectiveDate && data1.effectiveDate.includes('年') ? data1.effectiveDate.substr(0,
+                                                    4) + '-' + data1.effectiveDate.substr(5, 2) + '-' + data1.effectiveDate
+                                                        .substr(8, 2) : '9999-12-31',
+                                                lifespanType: data1.registerDate || data1.effectiveDate ? '2' : '1',
                                             }
-                                        
+
                                         }
-                                        else{
-                                            obj={
-                                                legalPerson: data1.customerInfo.name?data1.customerInfo.name:'', //法人姓名
-                                                legalPersonCode: data1.customerInfo.identifyNumber?data1.customerInfo.identifyNumber:'', //法人证件号
+                                        else {
+                                            obj = {
+                                                legalPerson: data1.customerInfo.name ? data1.customerInfo.name : '', //法人姓名
+                                                legalPersonCode: data1.customerInfo.identifyNumber ? data1.customerInfo.identifyNumber : '', //法人证件号
                                             }
                                         }
                                         this.$nextTick(() => {
-                                            this.form={
+                                            this.form = {
                                                 ...this.form,
                                                 ...obj,
                                             }
                                             // this.$set(this.form, obj);
                                             // this.form=Object.assign(this.form,obj)
-                                            console.log(obj,this.form,88888);
-                                            
+                                            console.log(obj, this.form, 88888);
+
                                         })
                                         this.lodingshow = false;
-                                        
+
                                     }
                                 });
                             }
@@ -486,133 +535,161 @@ export default {
                     }
                 });
             } else {
-					this.lodingshow = false;
-				}
+                this.lodingshow = false;
+            }
         },
-     timestampToTime(timestamp) {
+        timestampToTime(timestamp) {
             // let date = new Date(timestamp * 1000);//时间戳为10位需*1000,时间戳为13位的话不需乘1000
             let date = new Date(new Date());//时间戳为10位需*1000,时间戳为13位的话不需乘1000
             let Y = date.getFullYear() + '-';
-            let M = (date.getMonth()+1 < 10 ? '0'+(date.getMonth()+1):date.getMonth()+1) + '-';
-            let D = (date.getDate()< 10 ? '0'+date.getDate():date.getDate())+ ' ';
-            return Y+M+D;
+            let M = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1) + '-';
+            let D = (date.getDate() < 10 ? '0' + date.getDate() : date.getDate()) + ' ';
+            return Y + M + D;
         },
         sumbit() {
-            for( let j in this.form){
-                if(!this.form[j]){
-                    if(this.form['lifespanType']==2&&(this.form['lifespanBegin']==null ||this.form['lifespanEnd']==null)){
-                        this.$tip.alert( '请选择日期!')
-                        return
-                    }
-                    if(this.form['businessLicense']==null){
-                        this.$tip.alert( '请上传营业执照!')
+            if (this.title == '申请入驻') {
+                for (let j in this.form) {
+                    if (!this.form[j]) {
+                        if (this.form['lifespanType'] == 2 && (this.form['lifespanBegin'] == null || this.form['lifespanEnd'] == null)) {
+                            this.$tip.alert('请选择日期!')
+                            return
+                        }
+                        if (this.form['businessLicense'] == null) {
+                            this.$tip.alert('请上传营业执照!')
+                            return
+                        }
+
+                        this.$tip.alert('请填写所有信息!')
                         return
                     }
-                    this.$tip.alert( '请填写所有信息!')
-                    return
+
                 }
-              
+                this.$http.post('/merchant/app/add', { ...this.form, source: 2, headPhoto, longitude: this.markers[0].longitude, latitude: this.markers[0].latitude }).then(res => {
+                    if (res.data.success) {
+                        this.$tip.success(res.data.result || '成功')
+                        this.$Router.push({ name: "login" })
+                    }
+                    else {
+                        this.$tip.error(res.data.message);
+                    }
+                })
+            }
+            else {
+                this.$http.post('/merchant/localMerchantInfo/edit', { ...this.form, source: 2 }).then(res => {
+                    if (res.data.success) {
+                        this.$tip.success(res.data.result || '成功')
+                        uni.navigateBack({
+                            delta: 1 // 返回的页面数,默认为1
+                        })
+                    }
+                    else {
+                        this.$tip.error(res.data.message);
+                    }
+                })
             }
-            let headPhoto = this.form.headPhoto ? this.form.headPhoto.join('/') : null
-            console.log(this.form,22222222);
-            this.$http.post('/merchant/app/add', { ...this.form, source: 2, headPhoto }).then(res => {
-                if (res.data.success) {
-                    this.$tip.success(res.data.result || '成功')
-                    this.$Router.push({ name: "login" })
-                }
-                else {
-                    this.$tip.error(res.data.message);
-                }
-
-            })
 
         }
     }
 }
 </script>
 <style scoped lang="scss">
-page{
+page {
     background: #F8F8FA;
 }
-.cu-form-group .title{
+
+.cu-form-group .title {
     width: 190upx;
 }
+
 .cu-bg {
     background: linear-gradient(180deg, #D6E9FF 0%, #FFFFFF 100%);
 }
-.tab-top{
+
+.tab-top {
     margin-top: 78upx;
     padding: 26upx;
 }
-.borderRadiu{
+
+.borderRadiu {
     border-radius: 8px;
     padding-bottom: 10px;
     background-color: #ffffff;
     // border-bottom: 1px solid #eee;
 }
 
-.sub-bottom{
+.sub-bottom {
     position: fixed;
     width: 100%;
     bottom: 0;
     background: #FFFFFF;
     border-top: 1px solid #EEEEEE;
 }
-.progress-status{
+
+.progress-status {
     position: fixed;
     width: 100%;
     z-index: 9999;
     padding: 26upx 42upx;
     background: #FFFFFF;
-    .status{
+
+    .status {
         font-size: 38upx;
         color: #F6863E;
         font-weight: 500;
-    margin-bottom: 10upx;
-        text{
-            margin-left:5upx
+        margin-bottom: 10upx;
+
+        text {
+            margin-left: 5upx
         }
-        image{
-            vertical-align:text-top;
+
+        image {
+            vertical-align: text-top;
             width: 42upx;
             height: 42upx;
         }
     }
 }
-.progress{
+
+.progress {
     position: fixed;
     height: 96upx;
     width: 100%;
     z-index: 9999;
     background: #FFFFFF;
     padding: 20upx 30upx;
-    .progress-title{
+
+    .progress-title {
         margin-top: 16upx;
         font-size: 24upx;
         color: #999999;
-        .color{
+
+        .color {
             color: #333333;
 
         }
     }
-    .progress-style{
+
+    .progress-style {
         width: 100%;
         height: 10upx;
         border-radius: 5px 5px 5px 5px;
     }
-    .progress-bag{
+
+    .progress-bag {
         position: relative;
-        background: rgba(68,154,255,0.05);
-        .progress-icon{
+        background: rgba(68, 154, 255, 0.05);
+
+        .progress-icon {
             position: absolute;
             margin-top: -1px;
             width: 12upx;
             height: 12upx;
             background: #449AFF;
             border-radius: 50%;
-            box-shadow: 0px 0px 0px 7upx rgba(68,154,255,0.3);
+            box-shadow: 0px 0px 0px 7upx rgba(68, 154, 255, 0.3);
         }
-        .progress-icon1{
+
+        .progress-icon1 {
             position: absolute;
             margin-top: -1px;
             width: 12upx;
@@ -620,21 +697,24 @@ page{
             background: #449AFF;
             border-radius: 50%;
             left: 99%;
-            box-shadow: 0px 0px 0px 7upx rgba(68,154,255,0.3);
+            box-shadow: 0px 0px 0px 7upx rgba(68, 154, 255, 0.3);
         }
-        .progress-bag1{
+
+        .progress-bag1 {
             width: 50%;
             position: absolute;
-            background: rgba(68,154,255,0.8);
-            
+            background: rgba(68, 154, 255, 0.8);
+
         }
-        .progress-bag2{
+
+        .progress-bag2 {
             position: absolute;
-            background: rgba(68,154,255,0.8);
+            background: rgba(68, 154, 255, 0.8);
         }
     }
- 
+
 }
+
 .customize {
     background-color: #fff;
     // border-top: 0.5px solid #eee;
@@ -644,6 +724,7 @@ page{
         font-size: 30upx;
         // padding: 10px;
     }
+
     .business-img {
         height: 218upx;
         width: 360upx;
@@ -652,19 +733,21 @@ page{
         background: url('/static/login/yingye2.png');
         margin: 16upx auto;
         background-size: cover;
-        
+
         image {
             width: 100%;
             height: 100%;
         }
     }
-    .business-prompt{
-       padding-top: 16upx;
+
+    .business-prompt {
+        padding-top: 16upx;
         font-size: 20upx;
         color: #999999;
     }
 }
-.booder-top{
+
+.booder-top {
     border-bottom: 1px solid rgb(238, 238, 238);
     padding-top: 7px;
 }
@@ -688,7 +771,7 @@ page{
         padding: 12upx;
         // background-color: #fff;
         background: url('/static/login/code3.png');
-        
+
         background-size: cover;
         // box-shadow: 0px 4px 10px 0px #DAE3F4;
 

+ 127 - 0
pages/store/addHours.vue

@@ -0,0 +1,127 @@
+<template>
+    <view>
+        <view class="tab-top bg-fff">
+            <view class="title">营业日</view>
+            <view style="padding-bottom:20upx;border-bottom: 1px solid #EEEEEE;">
+                <text v-for="(tag, index) in tags" :key="index" class="tag-type"
+                    :class="{ 'selected-background': isSelected(index) }"
+                    :style="tag == '周四' || tag == '整周' ? 'margin-right:0' : ''" @click="toggleSelection(index)">
+                    {{ tag }}
+                </text>
+            </view>
+            <view style="padding-top:18upx">营业时段</view>
+            <view class="cu-form-group" style="margin:0">
+                <input placeholder="添加营业时段(2/3)" v-model="corporateName" name="input"></input>
+            <button class="cu-btn bg-blue  " @click="add">添加</button>
+
+            </view>
+        </view>
+		<rangTime ref="rangTime" @change="onEndTimeChange"  v-model="selectedTime" v-if="isSelectDate" />
+
+        <view class="padding flex sub-bottom">
+            <button class="cu-btn bg-blue round " @click="sumbit">提交</button>
+        </view>
+    </view>
+</template>
+<script>
+	import rangTime from '../component/rang-time.vue'
+
+export default {
+    components: {
+        rangTime
+		},
+    data() {
+        return {
+            corporateName:'',
+            tags: ['周一', '周二', '周三', '周四', '周五', '周六', '周日', '整周'], // 你的标签数组
+            selectedIndices: [], // 用于存储被选中的标签索引
+            isSelectDate: false,
+				selectedTime: ['15:30', '15:30'],
+        }
+    },
+    methods: {
+        customDataChange(e) {
+				//通过e.detail.value获取值,获取的是自定义数据的下标
+				const val = e.detail.value
+				console.log(val);
+			},
+			cancelSelect(e){
+				console.log("您已取消选择");
+			},
+        // 检查一个标签是否被选中
+        isSelected(index) {
+            return this.selectedIndices.includes(index);
+        },
+        // 切换标签的选中状态
+        toggleSelection(index) {
+            const indexIndex = this.selectedIndices.indexOf(index);
+            if (indexIndex > -1) {
+                // 如果标签已经被选中,则移除它
+                this.selectedIndices.splice(indexIndex, 1);
+            } else {
+                // 如果标签没有被选中,则添加它
+                this.selectedIndices.push(index);
+            }
+        },
+        add(){
+            this.isSelectDate = true
+        },
+        onEndTimeChange(val){
+            console.log(val,888888888 );
+            
+        }
+          
+    }
+}
+</script>
+<style scoped lang="scss">
+page {
+    background: #F8F8FA;
+}
+
+.tab-top {
+    margin: 24upx 30upx;
+    padding: 14upx 18upx;
+}
+
+.tag-type {
+    display: inline-block;
+    font-size: 26upx;
+    width: 146upx;
+    height: 54upx;
+    color: #333333;
+    margin: 18upx 23upx 0 0;
+    border-radius: 4px 4px 4px 4px;
+    border: 1px solid #C2C2C2;
+    text-align: center;
+    line-height: 54upx;
+}
+
+.selected-background {
+    color: #2983EC;
+    position: relative;
+    background: rgba(68, 154, 255, 0.1);
+    border: 1px solid #449AFF;
+}
+
+.selected-background ::after {
+    content: '';
+    position: absolute;
+    top: -1px;
+    right: -1px;
+    width: 22upx;
+    height: 22upx;
+    background-image: url('/static/store/xuanzhong.png');
+    background-size: cover;
+    background-repeat: no-repeat;
+    border-radius: 0 5px 0 0;
+}
+
+.sub-bottom {
+    position: fixed;
+    width: 100%;
+    bottom: 0;
+    background: #FFFFFF;
+    border-top: 1px solid #EEEEEE;
+}
+</style>

+ 217 - 0
pages/store/brandMessage.vue

@@ -0,0 +1,217 @@
+<template>
+    <view>
+        <cu-custom bgColor="bg-fff" :isBack="true">
+            <block slot="content"> 品牌信息</block>
+        </cu-custom>
+        <view class="progress-status" v-if="form && form.logoStatus !== null" :style="form && form.logoStatus == null ? '' : 'padding: 20upx 42upx;'">
+
+            <view v-if="form.logoStatus == 0">
+                <view class="status">
+                    <image src="/static/login/status1.png" mode="aspectFit"></image>
+                    <text>待审核</text>
+                </view>
+                <view>{{form.logoUpdateTime }} 提交的店铺信息待审核中</view>
+            </view>
+            <view v-if="form.logoStatus == 1">
+                <view class="status">
+                    <image src="/static/login/status2.png" mode="aspectFit"></image>
+                    <text style="color: #53CC48;">审核通过</text>
+                </view>
+                <view>{{form.logoUpdateTime }} 提交的店铺信息审核通过</view>
+            </view>
+            <view v-if="form.logoStatus == 2">
+                <view class="status">
+                    <image src="/static/login/status3.png" mode="aspectFit"></image>
+                    <text style="color: #F34F4F;">审核驳回</text>
+                </view>
+                <view>驳回原因:{{form.logoRemark }} </view>
+            </view>
+        </view>
+        <view class="tab-top" :style="form && form.logoStatus == null ? 'margin-top: 14upx' : 'margin-top: 144upx;'">
+            <form>
+                <view class="borderRadiu">
+                    <view class=" cu-form-group margin-top1 justify-between">
+                        <view class="content ">
+                            <text class="text-bold">品牌/logo</text>
+                            <i class="text-bg "></i>
+                        </view>
+                        <view class="title" style="color: #449AFF;font-size: 26upx;">查看示例</view>
+                    </view>
+                    <view class="customize">
+                        <view class="booder-top">
+                            <view class="business-img ">
+                                <image :src="logoImg ? logoImg : '/static/store/upload1.png'" mode=""
+                                @click="businessChange()"></image>
+                            </view>
+                        </view>
+
+                        <view class="business-prompt">
+                            该图片会在门店列表作为门店头像展示,建议上传能代表门店的照片,如品牌Logo,招牌,门牌等; 
+                            <br>图片比例1:1,支持png,jpg,jpeg格式,大小不超过5M
+                        </view>
+                    </view>
+                </view>
+            </form>
+        </view>
+        <view class="padding flex sub-bottom">
+            <button class="cu-btn round line-gray  shadow" @click="$Router.push({ name: 'settings' })">取消</button>
+            <button style="margin-left: 12upx;width:77%" class="cu-btn bg-blue round " @click="sumbit">提交审核</button>
+        </view>
+    </view>
+</template>
+<script>
+import configService from '../../common/service/config.service'
+import { USER_INFO } from "@/common/util/constants"
+export default {
+    data(){
+        return{
+            logoImg: '',
+            form:{}
+        }
+    },
+    async onLoad(data) {
+        if (data.params) {
+            let obj = JSON.parse(decodeURIComponent(data.params));
+            this.form = obj
+            this.logoImg=obj.logo
+        }
+    },
+    methods: {
+        async businessChange() {
+            let [chooseImageErr, chooseImageRes] = await uni.chooseImage({
+                count: 1,
+                sizeType: ['compressed']
+            });
+            let size = chooseImageRes.tempFiles[0].size / 1024 / 1024 < 5;
+            if (!size) {
+                this.$refs.uToast.show({
+                    title: '上传图片大小不能超过 5MB!',
+                    type: 'error',
+                })
+                return false
+            }
+
+            if (chooseImageRes) {
+                // this.logoImg = chooseImageRes.tempFilePaths[0];
+                uni.uploadFile({
+                    url: configService.apiUrl + '/sys/common/upload',
+                    filePath: chooseImageRes.tempFilePaths[0],
+                    name: "file",
+                    formData: {
+                        'biz': 'temp',
+                    },
+                    success: (files) => {
+                        let data = JSON.parse(files.data);
+                        if (data.success) {
+                            this.logoImg =configService.apiUrl + '/' + data.message
+                        }
+                    }
+                });
+            }
+        },
+        sumbit(){
+            let data={
+                merchantId:uni.getStorageSync(USER_INFO).merchantId,
+                logo:this.logoImg,
+            }
+            console.log();
+            
+            if(this.form.logoStatus==null){
+                this.$http.post('/merchant/localMerchantBrand/add',data).then(res => {
+                    if (res.data.success) {
+                        this.$tip.success(res.data.result || '成功')
+                        uni.navigateBack({
+                            delta: 1 // 返回的页面数,默认为1
+                        })
+                    }
+                    else {
+                        this.$tip.error(res.data.message);
+                    }
+                })
+            }
+            else{
+                this.$http.post('/merchant/localMerchantBrand/edit',{...data,id:this.form.logoId}).then(res => {
+                    if (res.data.success) {
+                        this.$tip.success(res.data.result || '成功')
+                        uni.navigateBack({
+                            delta: 1 // 返回的页面数,默认为1
+                        })
+                    }
+                    else {
+                        this.$tip.error(res.data.message);
+                    }
+                })
+            }
+            
+        }
+    }
+}
+</script>
+<style scoped lang="scss">
+page {
+    background: #F8F8FA;
+}
+.tab-top {
+    padding: 0 26upx;
+}
+
+.progress-status {
+    position: fixed;
+    width: 100%;
+    z-index: 9999;
+    background: #FFFFFF;
+
+    .status {
+        font-size: 38upx;
+        color: #F6863E;
+        font-weight: 500;
+        margin-bottom: 10upx;
+
+        text {
+            margin-left: 5upx
+        }
+
+        image {
+            vertical-align: text-top;
+            width: 42upx;
+            height: 42upx;
+        }
+    }
+}
+.borderRadiu {
+    background-color: #fff;
+    .customize{
+        padding: 0 18upx 18upx;
+    }
+    .title {
+        font-size: 30upx;
+        // padding: 10px;
+    }
+    .business-img {
+        height: 210upx;
+        width: 210upx;
+        background-size: cover;
+        
+        image {
+            width: 100%;
+            height: 100%;
+        }
+    }
+    .business-prompt{
+       padding-top: 16upx;
+        font-size: 20upx;
+        color: #999999;
+    }
+}
+.booder-top {
+    border-bottom: 1px solid rgb(238, 238, 238);
+    padding-bottom: 7px;
+}
+.sub-bottom {
+    position: fixed;
+    width: 100%;
+    bottom: 0;
+    background: #FFFFFF;
+    border-top: 1px solid #EEEEEE;
+}
+</style>

+ 362 - 0
pages/store/businessInfor.vue

@@ -0,0 +1,362 @@
+<template>
+    <view>
+        <cu-custom bgColor="bg-fff" :isBack="true">
+            <block slot="content"> 经营信息</block>
+        </cu-custom>
+        <view class="progress-status" v-if="form && form.videoStatus !== null" :style="form && form.videoStatus == null ? '' : 'padding: 20upx 42upx;'">
+            <view v-if="form.videoStatus == 0">
+                <view class="status">
+                    <image src="/static/login/status1.png" mode="aspectFit"></image>
+                    <text>待审核</text>
+                </view>
+                <view>{{ form.videoUpdateTime }} 提交的店铺信息待审核中</view>
+            </view>
+            <view v-if="form.videoStatus == 1">
+                <view class="status">
+                    <image src="/static/login/status2.png" mode="aspectFit"></image>
+                    <text style="color: #53CC48;">审核通过</text>
+                </view>
+                <view>{{ form.videoUpdateTime }} 提交的店铺信息审核通过</view>
+            </view>
+            <view v-if="form.videoStatus == 2">
+                <view class="status">
+                    <image src="/static/login/status3.png" mode="aspectFit"></image>
+                    <text style="color: #F34F4F;">审核驳回</text>
+                </view>
+                <view>驳回原因:{{ form.videoRemark }} </view>
+            </view>
+        </view>
+        <view class="tab-top" :style="form && form.videoStatus == null ? 'margin-top: 14upx;' : 'margin-top: 144upx;'">
+            <view class="borderRadiu">
+                <view class=" cu-form-group margin-top1 justify-between">
+                    <view class="content ">
+                        <text class="text-bold">营业时间</text>
+                        <i class="text-bg "></i>
+                    </view>
+                </view>
+                <view class="customize">
+                    <image style="width: 100%;height:137upx" src="/static/store/yingyeshijian.png" mode="" @click="hoursChange()"> </image>
+                </view>
+            </view>
+            <view class="borderRadiu" >
+                <view class=" cu-form-group margin-top1 justify-between">
+                    <view class="content ">
+                        <text class="text-bold">经营信息</text>
+                        <i class="text-bg "></i>
+                    </view>
+                </view>
+                <view class="customize">
+                    <view class="title">宣传视频</view>
+                    <view class="booder-top">
+                        <view class="business-img ">
+                            <view class="uni-uploader__file" v-if="video">
+                                <view class="uploader_video">
+                                    <uni-icons class="icon iconfont icon-cuo"  type="trash-filled" size="20" @tap="delectVideo"></uni-icons>
+                                    <video :src="video" class="video-container"></video>
+                                </view>
+                            </view>
+                            <image v-else src="/static/store/upload2.png" mode="" @tap="chooseVideo()"></image>
+                           
+                        </view>
+                    </view>
+                    <view class="business-prompt">
+                        最多上传1个视频,大小不超过50M,建议宽高比9:16
+                    </view>
+                </view>
+                <view class="customize">
+                    <view class="title">经营相册</view>
+                    <view class="grid col-4 grid-square flex-sub booder-top">
+                        <view class="bg-img" v-for="(item, index) in form.photo" :key="index" @tap="ViewImage"
+                            :data-url="form.photo[index]">
+                            <image :src="form.photo[index]" mode="aspectFill"></image>
+                            <view class="cu-tag bg-red" @tap.stop="DelImg" :data-index="index">
+                                <text class='cuIcon-close'></text>
+                            </view>
+                        </view>
+                        <view class="solids" @tap="ChooseImage" v-if="form.photo.length < 20">
+                            <text class='cuIcon-cameraadd'></text>
+                        </view>
+                    </view>
+                    <view class="business-prompt">
+                        最多上传20张,每张大小不超过5M,建议宽高比9:16
+                    </view>
+                </view>
+            </view>
+        </view>
+        <view class="padding flex sub-bottom">
+            <button class="cu-btn round line-gray  shadow" @click="$Router.push({ name: 'settings' })">取消</button>
+            <button style="margin-left: 12upx;width:77%" class="cu-btn bg-blue round " @click="sumbit">提交审核</button>
+        </view>
+    </view>
+</template>
+<script>
+import configService from '../../common/service/config.service'
+import { USER_INFO } from "@/common/util/constants"
+export default {
+    data() {
+        return {
+            video: '',
+            photoList: [],
+            form: {},
+            src:'',
+            cameraList: [{
+                        value: 'back',
+                        name: '后置摄像头',
+                        checked: 'true'
+                    },
+                    {
+                        value: 'front',
+                        name: '前置摄像头'
+                    },
+                ],
+        }
+    },
+    async onLoad(data) {
+        if (data.params) {
+            let obj = JSON.parse(decodeURIComponent(data.params));
+            this.video = obj.video?obj.video:''
+            obj.photo=obj.photo?  obj.photo.split(',').filter(id => id !== ''):[]
+            this.form = obj
+            console.log(this.form.photo,8888888);
+            
+        }
+    },
+    methods: {
+        hoursChange(){
+            uni.navigateTo({
+                url: '/pages/store/addHours'
+            })
+        },
+        delectVideo(){
+            uni.showModal({
+                title:"提示",
+                content:"是否要删除此视频",
+                success:(res) =>{
+                    if(res.confirm){
+                        this.video = ''
+                    }
+                }
+            })
+        },
+        DelImg(e) {
+            uni.showModal({
+                title: '提示',
+                content: '确定要删除?',
+                cancelText: '取消',
+                confirmText: '确定',
+                success: res => {
+                    if (res.confirm) {
+                        // this.photoList.splice(e.currentTarget.dataset.index, 1)
+                        this.form.photo.splice(e.currentTarget.dataset.index, 1)
+
+                    }
+                }
+            })
+        },
+        ChooseImage() {
+            uni.chooseImage({
+                // count: 4, //默认9
+                sizeType: ['original', 'compressed'], //可以指定是原图还是压缩图,默认二者都有
+                sourceType: ['album'], //从相册选择
+                success: (res) => {
+                    if (res) {
+                        // this[type + 'Img'] = chooseImageRes.tempFilePaths[0];
+                        uni.uploadFile({
+                            url: configService.apiUrl + '/sys/common/upload',
+                            filePath: res.tempFilePaths[0],
+                            name: "file",
+                            formData: {
+                                'biz': 'temp',
+                            },
+                            success: (files) => {
+                                let data = JSON.parse(files.data);
+                                if (data.success) {
+                                    if (this.form.photo.length != 0) {
+                                        // this.photoList = this.photoList.concat(res.tempFilePaths)
+                                        this.form.photo.push(configService.apiUrl + '/' +data.message)
+                                        
+                                    } else {
+                                        // this.photoList =res.tempFilePaths
+                                        this.form.photo = [configService.apiUrl + '/' +data.message]
+                                    }
+                                }
+                            }
+                        })
+                    }
+
+                }
+            });
+        },
+        ViewImage(e) {
+            uni.previewImage({
+                urls: this.form.photo,
+                current: e.currentTarget.dataset.url
+            });
+        },
+        chooseVideo(){
+                // 上传视频
+                console.log('上传视频')
+                uni.chooseVideo({
+                    sourceType: ['camera', 'album'],
+                    success: (res) => {
+                        this.video = res.tempFilePath;
+                    }
+                })
+            },
+        sumbit() {
+            let data = {
+                merchantId: uni.getStorageSync(USER_INFO).merchantId,
+                video: this.video,
+                photo:this.form.photo.join(",")
+            }
+            if (this.form.videoStatus == null) {
+                this.$http.post('/merchant/LocalMerchantOperate/add', data).then(res => {
+                    if (res.data.success) {
+                        this.$tip.success(res.data.result || '成功')
+                        uni.navigateBack({
+                            delta: 1 // 返回的页面数,默认为1
+                        })
+                    }
+                    else {
+                        this.$tip.error(res.data.message);
+                    }
+                })
+            }
+            else {
+                this.$http.post('/merchant/LocalMerchantOperate/edit', { ...data, id: this.form.videoId }).then(res => {
+                    if (res.data.success) {
+                        this.$tip.success(res.data.result || '成功')
+                        uni.navigateBack({
+                            delta: 1 // 返回的页面数,默认为1
+                        })
+                    }
+                    else {
+                        this.$tip.error(res.data.message);
+                    }
+                })
+            }
+
+        }
+    }
+}
+</script>
+<style scoped lang="scss">
+page {
+    background: #F8F8FA;
+}
+
+.tab-top {
+    padding: 0 26upx;
+    padding-bottom: 130upx
+}
+
+.progress-status {
+    position: fixed;
+    width: 100%;
+    z-index: 9999;
+    background: #FFFFFF;
+
+    .status {
+        font-size: 38upx;
+        color: #F6863E;
+        font-weight: 500;
+        margin-bottom: 10upx;
+
+        text {
+            margin-left: 5upx
+        }
+
+        image {
+            vertical-align: text-top;
+            width: 42upx;
+            height: 42upx;
+        }
+    }
+}
+
+.borderRadiu {
+    border-radius: 8px;
+    background-color: #ffffff;
+    .customize {
+        padding: 0 18upx 18upx;
+
+        .title {
+            padding: 18upx 0;
+            font-size: 28upx;
+            // padding: 10px;
+        }
+    }
+
+    .business-img {
+        height: 210upx;
+        width: 310upx;
+        background-size: cover;
+
+        image {
+            width: 100%;
+            height: 100%;
+        }
+    }
+
+    .business-prompt {
+        padding-top: 16upx;
+        font-size: 20upx;
+        color: #999999;
+    }
+}
+
+.booder-top {
+    border-bottom: 1px solid rgb(238, 238, 238);
+    padding-bottom: 7px;
+    .uploader_video{
+        width: 310upx ;
+        height: 210upx;
+    }
+    .video-container{
+        max-width: 100%; /* 最大宽度为父容器宽度 */
+        max-height: 100%; 
+        /deep/.uni-video-bar{
+            height: 62upx;
+            padding:0
+        }   
+    }
+    // /deep/ video{
+    //     position: relative;
+    //     z-index: 1;
+    //     width: 310upx ;
+    //     height: 210upx;
+    //     .uni-video-bar .uni-video-bar-full{
+
+    //     }
+    // }
+}
+
+.sub-bottom {
+    position: fixed;
+    width: 100%;
+    bottom: 0;
+    background: #FFFFFF;
+    border-top: 1px solid #EEEEEE;
+}
+.uni-uploader__img {
+    width: 200upx;
+    height: 200upx;
+}
+.uni-uploader__file,.uploader_video{
+    position: relative;
+    z-index: 1;
+    width: 200upx;
+    height: 200upx;
+}
+
+.icon-cuo {
+    position: absolute;
+    right: 0;
+    top: 5upx;
+    
+    color: #FFFFFF;
+    z-index: 999;
+    border-top-right-radius: 20upx;
+    border-bottom-left-radius: 20upx;
+}
+</style>

+ 223 - 0
pages/store/businessQua.vue

@@ -0,0 +1,223 @@
+<template>
+    <view>
+        <cu-custom bgColor="bg-fff" :isBack="true">
+            <block slot="content"> 品牌信息</block>
+        </cu-custom>
+        <view class="progress-status" v-if="form && form.specialStatus !== null"
+            :style="form && form.specialStatus == null ? '' : 'padding: 20upx 42upx;'">
+
+            <view v-if="form.specialStatus == 0">
+                <view class="status">
+                    <image src="/static/login/status1.png" mode="aspectFit"></image>
+                    <text>待审核</text>
+                </view>
+                <view>{{ form.specialUpdateTime }} 提交的店铺信息待审核中</view>
+            </view>
+            <view v-if="form.specialStatus == 1">
+                <view class="status">
+                    <image src="/static/login/status2.png" mode="aspectFit"></image>
+                    <text style="color: #53CC48;">审核通过</text>
+                </view>
+                <view>{{ form.specialUpdateTime }} 提交的店铺信息审核通过</view>
+            </view>
+            <view v-if="form.specialStatus == 2">
+                <view class="status">
+                    <image src="/static/login/status3.png" mode="aspectFit"></image>
+                    <text style="color: #F34F4F;">审核驳回</text>
+                </view>
+                <view>驳回原因:{{ form.specialRemark }} </view>
+            </view>
+        </view>
+        <view class="tab-top" :style="form && form.specialStatus == null ? 'margin-top: 14upx' : 'margin-top: 144upx;'">
+            <form>
+                <view class="borderRadiu">
+                    <view class=" cu-form-group margin-top1 justify-between">
+                        <view class="content ">
+                            <text class="text-bold">特殊行业经营许可证</text>
+                            <i class="text-bg "></i>
+                        </view>
+                    </view>
+                    <view class="customize">
+                        <view class="business-img flex align-center">
+                            <image :src="specialImg ? specialImg : '/static/store/xukezheng.png'"
+                                mode="" @click="businessChange()">
+                            </image>
+                        </view>
+                    </view>
+                </view>
+            </form>
+        </view>
+        <view class="padding flex sub-bottom">
+            <button class="cu-btn round line-gray  shadow" @click="$Router.push({ name: 'settings' })">取消</button>
+            <button style="margin-left: 12upx;width:77%" class="cu-btn bg-blue round " @click="sumbit">提交审核</button>
+        </view>
+    </view>
+</template>
+<script>
+import configService from '../../common/service/config.service'
+import { USER_INFO } from "@/common/util/constants"
+export default {
+    data() {
+        return {
+            specialImg: '',
+            form: {}
+        }
+    },
+    async onLoad(data) {
+        if (data.params) {
+            let obj = JSON.parse(decodeURIComponent(data.params));
+            this.form = obj
+            this.specialImg = obj.logo
+        }
+    },
+    methods: {
+        async businessChange() {
+            let [chooseImageErr, chooseImageRes] = await uni.chooseImage({
+                count: 1,
+                sizeType: ['compressed']
+            });
+            let size = chooseImageRes.tempFiles[0].size / 1024 / 1024 < 5;
+            if (!size) {
+                this.$refs.uToast.show({
+                    title: '上传图片大小不能超过 5MB!',
+                    type: 'error',
+                })
+                return false
+            }
+
+            if (chooseImageRes) {
+                // this.specialImg = chooseImageRes.tempFilePaths[0];
+                uni.uploadFile({
+                    url: configService.apiUrl + '/sys/common/upload',
+                    filePath: chooseImageRes.tempFilePaths[0],
+                    name: "file",
+                    formData: {
+                        'biz': 'temp',
+                    },
+                    success: (files) => {
+                        let data = JSON.parse(files.data);
+                        if (data.success) {
+                            this.specialImg = configService.apiUrl + '/' + data.message
+                        }
+                    }
+                });
+            }
+        },
+        sumbit() {
+            let data = {
+                merchantId: uni.getStorageSync(USER_INFO).merchantId,
+                special: this.specialImg,
+            }
+
+            if (this.form.specialStatus == null) {
+                this.$http.post('/merchant/localMerchantSpecial/add', data).then(res => {
+                    if (res.data.success) {
+                        this.$tip.success(res.data.result || '成功')
+                        uni.navigateBack({
+                            delta: 1 // 返回的页面数,默认为1
+                        })
+                    }
+                    else {
+                        this.$tip.error(res.data.message);
+                    }
+                })
+            }
+            else {
+                this.$http.post('/merchant/localMerchantSpecial/edit', { ...data, id: this.form.specialId }).then(res => {
+                    if (res.data.success) {
+                        this.$tip.success(res.data.result || '成功')
+                        uni.navigateBack({
+                            delta: 1 // 返回的页面数,默认为1
+                        })
+                    }
+                    else {
+                        this.$tip.error(res.data.message);
+                    }
+                })
+            }
+
+        }
+    }
+}
+</script>
+<style scoped lang="scss">
+page {
+    background: #F8F8FA;
+}
+
+.tab-top {
+    padding: 0 26upx;
+}
+
+.progress-status {
+    position: fixed;
+    width: 100%;
+    z-index: 9999;
+    background: #FFFFFF;
+
+    .status {
+        font-size: 38upx;
+        color: #F6863E;
+        font-weight: 500;
+        margin-bottom: 10upx;
+
+        text {
+            margin-left: 5upx
+        }
+
+        image {
+            vertical-align: text-top;
+            width: 42upx;
+            height: 42upx;
+        }
+    }
+}
+
+.borderRadiu {
+    background-color: #fff;
+
+    .customize {
+        padding: 0 18upx 18upx;
+    }
+
+    .title {
+        font-size: 30upx;
+        // padding: 10px;
+    }
+
+    
+.business-img {
+    height: 218upx;
+    width: 360upx;
+    padding: 16upx;
+    // padding-bottom: 16upx;
+    background: url('/static/login/yingye2.png');
+    margin: 16upx auto;
+    background-size: cover;
+
+    image {
+        width: 100%;
+        height: 100%;
+    }
+}
+
+    .business-prompt {
+        padding-top: 16upx;
+        font-size: 20upx;
+        color: #999999;
+    }
+}
+
+.booder-top {
+    border-bottom: 1px solid rgb(238, 238, 238);
+    padding-bottom: 7px;
+}
+
+.sub-bottom {
+    position: fixed;
+    width: 100%;
+    bottom: 0;
+    background: #FFFFFF;
+    border-top: 1px solid #EEEEEE;
+}
+</style>

+ 216 - 120
pages/store/settings.vue

@@ -3,188 +3,284 @@
         <cu-custom bgColor="bg-fff" :isBack="true">
             <block slot="content">店铺设置</block>
         </cu-custom>
-        <view class="bg-fff">
-            <view class="flex cu-form-group  ">
+        <view class="bg-fff" v-for="ele in ulList" :key="ele.name">
+            <view class=" cu-form-group" :style="ele.name == '基本信息' ? 'margin-top:0' : ''">
                 <view class="content ">
-                    <text class="text-bold">基本信息</text>
+                    <text class="text-bold">{{ ele.name }}</text>
                     <i class="text-bg "></i>
                 </view>
             </view>
-            <view class="cu-form-group justify-between" v-for="val in liList" :key="val.label" @click="jump(val)">
-                <view class="title">
+            <view v-for="val in ele.liList" :key="val.label" >
+                <view class="cu-form-group justify-between">
+                <view class="title" v-if="val.status">
                     <text>{{ val.label }}</text>
-                    <text  v-if="indexOption[val.status]==0" class="bg-orange">待审核</text>
-                    <text  v-if="indexOption[val.status]==1" class="bg-grey">审核通过</text>
-                    <text  v-if="indexOption[val.status]==2" class="bg-pink">审核驳回</text>
+                    <text v-if="indexOption[val.status] == 0" class="bg-orange">待审核</text>
+                    <text v-if="indexOption[val.status] == 1" class="bg-grey">审核通过</text>
+                    <text v-if="indexOption[val.status] == 2" class="bg-pink">审核驳回</text>
                 </view>
-                <view >
-                    <text  style="color: #C7C6CA ;">去配置</text>
+                <view>
+                    <text style="color: #C7C6CA ;" @click="jump(val)">去配置</text>
                     <text class='cuIcon-right' style="color: #C7C6CA ;"></text>
                 </view>
             </view>
-        </view>
-        <view class="bg-fff margin-top">
-            <view class="flex cu-form-group  ">
-                <view class="content ">
-                    <text class="text-bold">其他信息</text>
-                    <i class="text-bg "></i>
+                <view v-if="val.label == '服务设施'" style="padding-left: 42upx;">
+                    <text v-for="(tag, index) in selectTags" :key="index" class="tag-type tag-type-po"  >
+                        {{ tag }}
+                    </text>
                 </view>
             </view>
-            <view class="cu-form-group justify-between" >
-                <view class="title">
-                    <text>经营资质</text>
-                    <text class="bg-orange">待审核</text>
-                </view>
-                <view >
-                    <text  style="color: #C7C6CA ;">去配置</text>
-                    <text class='cuIcon-right' style="color: #C7C6CA ;"></text>
+        </view>
+        <uni-popup ref="popup" type="bottom" background-color="#fff">
+            <view class="popup-box">
+                <view class="popup-title">
+                    <text>选择配套设施</text>
+                    <image src="/static/store/detele.png" mode="aspectFit" @click=" $refs.popup.close()"></image>
                 </view>
-            </view>
-            <view class="cu-form-group justify-between" >
-                <view class="title">
-                    <text>服务设施</text>
+                <view style="padding-bottom:20upx;border-bottom: 1px solid #EEEEEE;">
+                    <text v-for="(tag, index) in tags" :key="index" class="tag-type"
+                        :class="{ 'selected-background': isSelected(tag) }"
+                        :style="tag == '空调' ? 'margin-right:0' : ''" @click="toggleSelection(tag)">
+                        {{ tag }}
+                    </text>
                 </view>
-                <view >
-                    <text  style="color: #C7C6CA ;">去配置</text>
-                    <text class='cuIcon-right' style="color: #C7C6CA ;"></text>
+                <view class=" flex sub-bottom justify-between">
+                    <button class="cu-btn round line-gray  shadow" @click=" $refs.popup.close()">取消</button>
+                    <button style="width:77%" class="cu-btn bg-blue  round shadow" @click="submit">确定</button>
                 </view>
             </view>
-        </view>
+        </uni-popup>
     </view>
 </template>
 <script>
 import { USER_INFO } from "@/common/util/constants"
 
 export default {
-    data(){
-        return{
-            liList: [
+    data() {
+        return {
+            selectTags:[],
+            tags: ['停车位', '休息室', 'WIFI', '空调', '茶点', '洗手间'], // 你的标签数组
+            selectedIndices: [], // 用于存储被选中的标签索引
+            ulList: [
                 {
-                    label:'店铺信息',
-                    status:'status'
-                }, {
-                    label:'品牌信息',
-                    status:'logoStatus'
-                }, {
-                    label:'经营信息',
-                    status:'videoStatus'
+                    name: '基本信息',
+                    liList: [
+                        {
+                            label: '店铺信息',
+                            status: 'status'
+                        }, {
+                            label: '品牌信息',
+                            status: 'logoStatus'
+                        }, {
+                            label: '经营信息',
+                            status: 'videoStatus'
+                        },
+                    ],
+                },
+                {
+                    name: '其他信息',
+                    liList: [
+                        {
+                            label: '经营资质',
+                            status: 'specialStatus'
+                        }, {
+                            label: '服务设施',
+                            status: ' '
+                        },
+                    ],
                 }
+
             ],
-          
-            indexOption:{
-        "id": "1887039799020273666",
-        "status": 1,
-        "type": 1,
-        "corporateName": "山西萨奥商务有限公司",
-        "creditCode": "91350200M000100Y43",
-        "lifespanType": null,
-        "lifespanBegin": "2020-02-06",
-        "lifespanEnd": "2030-02-10",
-        "legalPerson": "李虎虎",
-        "legalPersonCode": "110150198612082510",
-        "businessLicense": "temp/营业执照_1738740283252.png",
-        "identityOne": "temp/zhengmian_1738740288146.png",
-        "identityTwo": "temp/背面_1738740290745.png",
-        "storeType": 1,
-        "storeName": "山西领航汽车服务有限公司",
-        "businessType": "1881621741363683330",
-        "country": "140105",
-        "purveyorId": "1879053784867610626",
-        "address": "山西省太原市小店区康宁街108号",
-        "storeExtent": null,
-        "localMerchantTimes": null,
-        "longitude": "112.569957",
-        "latitude": "37.736476",
-        "headPhoto": "temp/car_1738740320841.jpg",
-        "merchantStatus": 2,
-        "createTime": "2025-02-05 15:25:22",
-        "updateTime": "2025-02-05 15:25:30",
-        "logoId": null,
-        "logo": null,
-        "logoStatus": null,
-        "logoCategory": null,
-        "logoUpdateTime": null,
-        "logoUpdateBy": null,
-        "videoId": null,
-        "video": null,
-        "photo": null,
-        "videoCategory": null,
-        "videoStatus": null,
-        "videoUpdateTime": null,
-        "videoUpdateBy": null,
-        "specialId": null,
-        "special": null,
-        "specialCategory": null,
-        "specialStatus": null,
-        "specialUpdateTime": null,
-        "specialUpdateBy": null,
-        "content": null,
-        "grade": null
-    },
+
+            merchantId: '',
+            indexOption: {},
         }
     },
-    async onLoad() {
-			
-            let merchantId=uni.getStorageSync(USER_INFO).merchantId;
-            
-        let res = await this.$http.get("/merchant/localMerchantInfo/queryAppInfoById?id="+merchantId)
+    async onShow() {
+
+        this.merchantId = uni.getStorageSync(USER_INFO).merchantId;
+
+        let res = await this.$http.get("/merchant/localMerchantInfo/queryAppInfoById?id=" + this.merchantId)
         if (res.data.success) {
-            // this.indexOption = res.data.result
+            this.selectTags=res.data.result.content? res.data.result.content.split(',').filter(id => id !== ''):[]
+            
+            this.indexOption = res.data.result
         } else {
             this.$tip.toast(res.data.message);
         }
-        
+
     },
-    methods:{
-        jump(item) {
-				if (item.label == '店铺信息') {
-                    const queryString =encodeURIComponent(JSON.stringify(this.indexOption)) 
-                    uni.navigateTo({
-                        url: `/pages/login/settled?params=${queryString}`
+    methods: {
+        submit() {
+            let code = !!this.indexOption.content ? '/merchant/localMerchantService/edit' : '/merchant/localMerchantService/add'
+
+            this.$http.post(code, { merchantId: this.merchantId, content: this.selectedIndices.join(',') }).then(res => {
+                if (res.data.success) {
+                    this.$tip.success(res.data.result || '成功')
+                    uni.redirectTo({
+                        url: '/pages/store/settings'
                     });
-					// uni.navigateTo({
-					// 	url: '/pages/login/settled?type=1'
-					// })
-				} 
-				
-			}
+                }
+                else {
+                    this.$tip.error(res.data.message);
+                }
+            })
+        },
+        // 检查一个标签是否被选中
+        isSelected(tag) {
+            return this.selectedIndices.includes(tag);
+        },
+        // 切换标签的选中状态
+        toggleSelection(tag) {
+            const indexIndex = this.selectedIndices.indexOf(tag);
+            if (indexIndex > -1) {
+                // 如果标签已经被选中,则移除它
+                this.selectedIndices.splice(indexIndex, 1);
+            } else {
+                // 如果标签没有被选中,则添加它
+                this.selectedIndices.push(tag);
+            }
+        },
+        jump(item) {
+            const queryString = encodeURIComponent(JSON.stringify(this.indexOption))
+            if (item.label == '店铺信息') {
+                uni.navigateTo({
+                    url: `/pages/login/settled?params=${queryString}`
+                });
+            }
+            if (item.label == '品牌信息') {
+                uni.navigateTo({
+                    url: `/pages/store/brandMessage?params=${queryString}`
+                });
+            }
+            if (item.label == '经营信息') {
+                uni.navigateTo({
+                    url: `/pages/store/businessInfor?params=${queryString}`
+                });
+            }
+            if (item.label == '经营资质') {
+                uni.navigateTo({
+                    url: `/pages/store/businessQua?params=${queryString}`
+                });
+            }
+            if (item.label == '服务设施') {
+                this.$refs.popup.open()
+                this.selectedIndices=[...this.selectTags]
+                
+            }
+
+
+        }
     }
 }
 </script>
-<style scoped>
-page{
+<style scoped lang="scss">
+page {
     background: #F8F8FA;
 }
-.cu-form-group{
+
+.cu-form-group {
     margin: 18upx 42upx;
 }
+
 /* .cu-form-group+.cu-form-group{
     border:none;
 	border-top: 1upx solid #eee;
 
 } */
 .cu-form-group:not(.bg-fff :has(+ .cu-form-group)) {
-    border:none
+    border: none
 }
-.bg-orange{
+
+.bg-orange {
     background: #FBF9E4;
     color: #F6863E;
     font-size: 24upx;
     padding: 6upx 10upx;
     margin-left: 12upx;
 }
-.bg-grey{
+
+.bg-grey {
     background: #F3F3F3;
     color: #7E7E7E;
     font-size: 24upx;
     padding: 6upx 10upx;
     margin-left: 12upx;
 }
-.bg-pink{
+
+.bg-pink {
     background: #FBE5E4;
     color: #F34F4F;
     font-size: 24upx;
     padding: 6upx 10upx;
     margin-left: 12upx;
 }
+
+.popup-box {
+    background: #FFFFFF;
+    padding: 0 27upx;
+    border-radius: 20px 20px 0px 0px;
+
+    .popup-title {
+        padding: 22upx 0;
+        position: relative;
+        text-align: center;
+        font-weight: 500;
+        font-size: 34upx;
+        color: #333333;
+        border-bottom: 1px solid #EEEEEE;
+
+        image {
+            position: absolute;
+            right: 0;
+            width: 42upx;
+            height: 42upx;
+        }
+    }
+}
+
+.tag-type {
+    display: inline-block;
+    font-size: 26upx;
+    width: 150upx;
+    height: 54upx;
+    color: #333333;
+    margin: 18upx 33upx 0 0;
+    border-radius: 4px 4px 4px 4px;
+    border: 1px solid #C2C2C2;
+    text-align: center;
+    line-height: 54upx;
+}
+.tag-type-po{
+    background: rgba(68,154,255,0.1);
+    border: 1px solid #449AFF;
+    color: #2983EC;
+    margin: 0 24upx 18upx  0;
+
+}
+.selected-background {
+    color: #2983EC;
+    position: relative;
+    background: rgba(68, 154, 255, 0.1);
+    border: 1px solid #449AFF;
+}
+
+.selected-background ::after {
+    content: '';
+    position: absolute;
+    top: -1px;
+    right: -1px;
+    width: 22upx;
+    height: 22upx;
+    background-image: url('/static/store/xuanzhong.png');
+    background-size: cover;
+    background-repeat: no-repeat;
+    border-radius: 0 5px 0 0;
+}
+
+.sub-bottom {
+    width: 100%;
+    background: #FFFFFF;
+    padding: 27upx 0;
+
+}
 </style>

BIN
static/boiaoji.png


BIN
static/login/status2.png


BIN
static/login/status3.png


+ 31 - 0
static/map/amap-wx.130.js

@@ -0,0 +1,31 @@
+function AMapWX(a){this.key=a.key;this.requestConfig={key:a.key,s:"rsx",platform:"WXJS",appname:a.key,sdkversion:"1.2.0",logversion:"2.0"};this.MeRequestConfig={key:a.key,serviceName:"https://restapi.amap.com/rest/me"}}
+AMapWX.prototype.getWxLocation=function(a,b){wx.getLocation({type:"gcj02",success:function(c){c=c.longitude+","+c.latitude;wx.setStorage({key:"userLocation",data:c});b(c)},fail:function(c){wx.getStorage({key:"userLocation",success:function(d){d.data&&b(d.data)}});a.fail({errCode:"0",errMsg:c.errMsg||""})}})};
+AMapWX.prototype.getMEKeywordsSearch=function(a){if(!a.options)return a.fail({errCode:"0",errMsg:"\u7f3a\u5c11\u5fc5\u8981\u53c2\u6570"});var b=a.options,c=this.MeRequestConfig,d={key:c.key,s:"rsx",platform:"WXJS",appname:a.key,sdkversion:"1.2.0",logversion:"2.0"};b.layerId&&(d.layerId=b.layerId);b.keywords&&(d.keywords=b.keywords);b.city&&(d.city=b.city);b.filter&&(d.filter=b.filter);b.sortrule&&(d.sortrule=b.sortrule);b.pageNum&&(d.pageNum=b.pageNum);b.pageSize&&(d.pageSize=b.pageSize);b.sig&&(d.sig=
+b.sig);wx.request({url:c.serviceName+"/cpoint/datasearch/local",data:d,method:"GET",header:{"content-type":"application/json"},success:function(e){(e=e.data)&&e.status&&"1"===e.status&&0===e.code?a.success(e.data):a.fail({errCode:"0",errMsg:e})},fail:function(e){a.fail({errCode:"0",errMsg:e.errMsg||""})}})};
+AMapWX.prototype.getMEIdSearch=function(a){if(!a.options)return a.fail({errCode:"0",errMsg:"\u7f3a\u5c11\u5fc5\u8981\u53c2\u6570"});var b=a.options,c=this.MeRequestConfig,d={key:c.key,s:"rsx",platform:"WXJS",appname:a.key,sdkversion:"1.2.0",logversion:"2.0"};b.layerId&&(d.layerId=b.layerId);b.id&&(d.id=b.id);b.sig&&(d.sig=b.sig);wx.request({url:c.serviceName+"/cpoint/datasearch/id",data:d,method:"GET",header:{"content-type":"application/json"},success:function(e){(e=e.data)&&e.status&&"1"===e.status&&
+0===e.code?a.success(e.data):a.fail({errCode:"0",errMsg:e})},fail:function(e){a.fail({errCode:"0",errMsg:e.errMsg||""})}})};
+AMapWX.prototype.getMEPolygonSearch=function(a){if(!a.options)return a.fail({errCode:"0",errMsg:"\u7f3a\u5c11\u5fc5\u8981\u53c2\u6570"});var b=a.options,c=this.MeRequestConfig,d={key:c.key,s:"rsx",platform:"WXJS",appname:a.key,sdkversion:"1.2.0",logversion:"2.0"};b.layerId&&(d.layerId=b.layerId);b.keywords&&(d.keywords=b.keywords);b.polygon&&(d.polygon=b.polygon);b.filter&&(d.filter=b.filter);b.sortrule&&(d.sortrule=b.sortrule);b.pageNum&&(d.pageNum=b.pageNum);b.pageSize&&(d.pageSize=b.pageSize);
+b.sig&&(d.sig=b.sig);wx.request({url:c.serviceName+"/cpoint/datasearch/polygon",data:d,method:"GET",header:{"content-type":"application/json"},success:function(e){(e=e.data)&&e.status&&"1"===e.status&&0===e.code?a.success(e.data):a.fail({errCode:"0",errMsg:e})},fail:function(e){a.fail({errCode:"0",errMsg:e.errMsg||""})}})};
+AMapWX.prototype.getMEaroundSearch=function(a){if(!a.options)return a.fail({errCode:"0",errMsg:"\u7f3a\u5c11\u5fc5\u8981\u53c2\u6570"});var b=a.options,c=this.MeRequestConfig,d={key:c.key,s:"rsx",platform:"WXJS",appname:a.key,sdkversion:"1.2.0",logversion:"2.0"};b.layerId&&(d.layerId=b.layerId);b.keywords&&(d.keywords=b.keywords);b.center&&(d.center=b.center);b.radius&&(d.radius=b.radius);b.filter&&(d.filter=b.filter);b.sortrule&&(d.sortrule=b.sortrule);b.pageNum&&(d.pageNum=b.pageNum);b.pageSize&&
+(d.pageSize=b.pageSize);b.sig&&(d.sig=b.sig);wx.request({url:c.serviceName+"/cpoint/datasearch/around",data:d,method:"GET",header:{"content-type":"application/json"},success:function(e){(e=e.data)&&e.status&&"1"===e.status&&0===e.code?a.success(e.data):a.fail({errCode:"0",errMsg:e})},fail:function(e){a.fail({errCode:"0",errMsg:e.errMsg||""})}})};
+AMapWX.prototype.getGeo=function(a){var b=this.requestConfig,c=a.options;b={key:this.key,extensions:"all",s:b.s,platform:b.platform,appname:this.key,sdkversion:b.sdkversion,logversion:b.logversion};c.address&&(b.address=c.address);c.city&&(b.city=c.city);c.batch&&(b.batch=c.batch);c.sig&&(b.sig=c.sig);wx.request({url:"https://restapi.amap.com/v3/geocode/geo",data:b,method:"GET",header:{"content-type":"application/json"},success:function(d){(d=d.data)&&d.status&&"1"===d.status?a.success(d):a.fail({errCode:"0",
+errMsg:d})},fail:function(d){a.fail({errCode:"0",errMsg:d.errMsg||""})}})};
+AMapWX.prototype.getRegeo=function(a){function b(d){var e=c.requestConfig;wx.request({url:"https://restapi.amap.com/v3/geocode/regeo",data:{key:c.key,location:d,extensions:"all",s:e.s,platform:e.platform,appname:c.key,sdkversion:e.sdkversion,logversion:e.logversion},method:"GET",header:{"content-type":"application/json"},success:function(g){if(g.data.status&&"1"==g.data.status){g=g.data.regeocode;var h=g.addressComponent,f=[],k=g.roads[0].name+"\u9644\u8fd1",m=d.split(",")[0],n=d.split(",")[1];if(g.pois&&
+g.pois[0]){k=g.pois[0].name+"\u9644\u8fd1";var l=g.pois[0].location;l&&(m=parseFloat(l.split(",")[0]),n=parseFloat(l.split(",")[1]))}h.provice&&f.push(h.provice);h.city&&f.push(h.city);h.district&&f.push(h.district);h.streetNumber&&h.streetNumber.street&&h.streetNumber.number?(f.push(h.streetNumber.street),f.push(h.streetNumber.number)):f.push(g.roads[0].name);f=f.join("");a.success([{iconPath:a.iconPath,width:a.iconWidth,height:a.iconHeight,name:f,desc:k,longitude:m,latitude:n,id:0,regeocodeData:g}])}else a.fail({errCode:g.data.infocode,
+errMsg:g.data.info})},fail:function(g){a.fail({errCode:"0",errMsg:g.errMsg||""})}})}var c=this;a.location?b(a.location):c.getWxLocation(a,function(d){b(d)})};
+AMapWX.prototype.getWeather=function(a){function b(g){var h="base";a.type&&"forecast"==a.type&&(h="all");wx.request({url:"https://restapi.amap.com/v3/weather/weatherInfo",data:{key:d.key,city:g,extensions:h,s:e.s,platform:e.platform,appname:d.key,sdkversion:e.sdkversion,logversion:e.logversion},method:"GET",header:{"content-type":"application/json"},success:function(f){if(f.data.status&&"1"==f.data.status)if(f.data.lives){if((f=f.data.lives)&&0<f.length){f=f[0];var k={city:{text:"\u57ce\u5e02",data:f.city},
+weather:{text:"\u5929\u6c14",data:f.weather},temperature:{text:"\u6e29\u5ea6",data:f.temperature},winddirection:{text:"\u98ce\u5411",data:f.winddirection+"\u98ce"},windpower:{text:"\u98ce\u529b",data:f.windpower+"\u7ea7"},humidity:{text:"\u6e7f\u5ea6",data:f.humidity+"%"}};k.liveData=f;a.success(k)}}else f.data.forecasts&&f.data.forecasts[0]&&a.success({forecast:f.data.forecasts[0]});else a.fail({errCode:f.data.infocode,errMsg:f.data.info})},fail:function(f){a.fail({errCode:"0",errMsg:f.errMsg||""})}})}
+function c(g){wx.request({url:"https://restapi.amap.com/v3/geocode/regeo",data:{key:d.key,location:g,extensions:"all",s:e.s,platform:e.platform,appname:d.key,sdkversion:e.sdkversion,logversion:e.logversion},method:"GET",header:{"content-type":"application/json"},success:function(h){if(h.data.status&&"1"==h.data.status){h=h.data.regeocode;if(h.addressComponent)var f=h.addressComponent.adcode;else h.aois&&0<h.aois.length&&(f=h.aois[0].adcode);b(f)}else a.fail({errCode:h.data.infocode,errMsg:h.data.info})},
+fail:function(h){a.fail({errCode:"0",errMsg:h.errMsg||""})}})}var d=this,e=d.requestConfig;a.city?b(a.city):d.getWxLocation(a,function(g){c(g)})};
+AMapWX.prototype.getPoiAround=function(a){function b(e){e={key:c.key,location:e,s:d.s,platform:d.platform,appname:c.key,sdkversion:d.sdkversion,logversion:d.logversion};a.querytypes&&(e.types=a.querytypes);a.querykeywords&&(e.keywords=a.querykeywords);wx.request({url:"https://restapi.amap.com/v3/place/around",data:e,method:"GET",header:{"content-type":"application/json"},success:function(g){if(g.data.status&&"1"==g.data.status){if((g=g.data)&&g.pois){for(var h=[],f=0;f<g.pois.length;f++){var k=0==
+f?a.iconPathSelected:a.iconPath;h.push({latitude:parseFloat(g.pois[f].location.split(",")[1]),longitude:parseFloat(g.pois[f].location.split(",")[0]),iconPath:k,width:22,height:32,id:f,name:g.pois[f].name,address:g.pois[f].address})}a.success({markers:h,poisData:g.pois})}}else a.fail({errCode:g.data.infocode,errMsg:g.data.info})},fail:function(g){a.fail({errCode:"0",errMsg:g.errMsg||""})}})}var c=this,d=c.requestConfig;a.location?b(a.location):c.getWxLocation(a,function(e){b(e)})};
+AMapWX.prototype.getStaticmap=function(a){function b(e){c.push("location="+e);a.zoom&&c.push("zoom="+a.zoom);a.size&&c.push("size="+a.size);a.scale&&c.push("scale="+a.scale);a.markers&&c.push("markers="+a.markers);a.labels&&c.push("labels="+a.labels);a.paths&&c.push("paths="+a.paths);a.traffic&&c.push("traffic="+a.traffic);e="https://restapi.amap.com/v3/staticmap?"+c.join("&");a.success({url:e})}var c=[];c.push("key="+this.key);var d=this.requestConfig;c.push("s="+d.s);c.push("platform="+d.platform);
+c.push("appname="+d.appname);c.push("sdkversion="+d.sdkversion);c.push("logversion="+d.logversion);a.location?b(a.location):this.getWxLocation(a,function(e){b(e)})};
+AMapWX.prototype.getInputtips=function(a){var b=Object.assign({},this.requestConfig);a.location&&(b.location=a.location);a.keywords&&(b.keywords=a.keywords);a.type&&(b.type=a.type);a.city&&(b.city=a.city);a.citylimit&&(b.citylimit=a.citylimit);wx.request({url:"https://restapi.amap.com/v3/assistant/inputtips",data:b,method:"GET",header:{"content-type":"application/json"},success:function(c){c&&c.data&&c.data.tips&&a.success({tips:c.data.tips})},fail:function(c){a.fail({errCode:"0",errMsg:c.errMsg||
+""})}})};
+AMapWX.prototype.getDrivingRoute=function(a){var b=Object.assign({},this.requestConfig);a.origin&&(b.origin=a.origin);a.destination&&(b.destination=a.destination);a.strategy&&(b.strategy=a.strategy);a.waypoints&&(b.waypoints=a.waypoints);a.avoidpolygons&&(b.avoidpolygons=a.avoidpolygons);a.avoidroad&&(b.avoidroad=a.avoidroad);wx.request({url:"https://restapi.amap.com/v3/direction/driving",data:b,method:"GET",header:{"content-type":"application/json"},success:function(c){c&&c.data&&c.data.route&&a.success({paths:c.data.route.paths,
+taxi_cost:c.data.route.taxi_cost||""})},fail:function(c){a.fail({errCode:"0",errMsg:c.errMsg||""})}})};
+AMapWX.prototype.getWalkingRoute=function(a){var b=Object.assign({},this.requestConfig);a.origin&&(b.origin=a.origin);a.destination&&(b.destination=a.destination);wx.request({url:"https://restapi.amap.com/v3/direction/walking",data:b,method:"GET",header:{"content-type":"application/json"},success:function(c){c&&c.data&&c.data.route&&a.success({paths:c.data.route.paths})},fail:function(c){a.fail({errCode:"0",errMsg:c.errMsg||""})}})};
+AMapWX.prototype.getTransitRoute=function(a){var b=Object.assign({},this.requestConfig);a.origin&&(b.origin=a.origin);a.destination&&(b.destination=a.destination);a.strategy&&(b.strategy=a.strategy);a.city&&(b.city=a.city);a.cityd&&(b.cityd=a.cityd);wx.request({url:"https://restapi.amap.com/v3/direction/transit/integrated",data:b,method:"GET",header:{"content-type":"application/json"},success:function(c){c&&c.data&&c.data.route&&(c=c.data.route,a.success({distance:c.distance||"",taxi_cost:c.taxi_cost||
+"",transits:c.transits}))},fail:function(c){a.fail({errCode:"0",errMsg:c.errMsg||""})}})};
+AMapWX.prototype.getRidingRoute=function(a){var b=Object.assign({},this.requestConfig);a.origin&&(b.origin=a.origin);a.destination&&(b.destination=a.destination);wx.request({url:"https://restapi.amap.com/v3/direction/riding",data:b,method:"GET",header:{"content-type":"application/json"},success:function(c){c&&c.data&&c.data.route&&a.success({paths:c.data.route.paths})},fail:function(c){a.fail({errCode:"0",errMsg:c.errMsg||""})}})};module.exports.AMapWX=AMapWX;

BIN
static/store/detele.png


BIN
static/store/upload1.png


BIN
static/store/upload2.png


BIN
static/store/xuanzhong.png


BIN
static/store/xukezheng.png


BIN
static/store/yingyeshijian.png