فهرست منبع

收款工具修复

zhengjinyi 1 سال پیش
والد
کامیت
40c22e1ef4
100فایلهای تغییر یافته به همراه214 افزوده شده و 30605 حذف شده
  1. 0 199
      components/cm-module/creatOrder/choiceAddress.vue
  2. 0 104
      components/cm-module/creatOrder/freight.vue
  3. 0 238
      components/cm-module/creatOrder/goodsList.vue
  4. 0 684
      components/cm-module/creatOrder/invoiceTent.vue
  5. 0 202
      components/cm-module/creatOrder/sellerAddress.vue
  6. 0 508
      components/cm-module/creatOrder/sellerFreight.vue
  7. 0 685
      components/cm-module/creatOrder/sellerInvoice.vue
  8. 0 343
      components/cm-module/echone-sku/echone-sku.vue
  9. 0 78
      components/cm-module/echone-sku/popup-bottom.vue
  10. 0 194
      components/cm-module/headerNavbar/header-poduct.vue
  11. 0 164
      components/cm-module/headerNavbar/headerNavbar.vue
  12. 2 2
      components/cm-module/orderDetails/list-button.vue
  13. 88 72
      components/cm-module/receipt/receipt-details.vue
  14. 4 4
      components/cm-module/receipt/receipt-modal.vue
  15. 118 111
      components/cm-module/receipt/receipt-orderDetails.vue
  16. 2 2
      components/cm-module/receipt/receipt-refund.vue
  17. 0 7
      components/common/tui-clipboard/clipboard.min.js
  18. 0 53
      components/common/tui-clipboard/tui-clipboard.js
  19. 0 0
      components/common/tui-color-analysis/tui-color-analysis.js
  20. 0 268
      components/common/tui-validation/tui-validation.js
  21. 0 0
      components/common/tui-validation/tui-validation.min.js
  22. 0 0
      components/common/tui-zh-pinyin/tui-zh-pinyin.js
  23. 0 87
      components/cu-tabbar.vue
  24. 0 28
      components/gaoyia-parse/components/wxParseAudio.vue
  25. 0 94
      components/gaoyia-parse/components/wxParseImg.vue
  26. 0 53
      components/gaoyia-parse/components/wxParseTable.vue
  27. 0 98
      components/gaoyia-parse/components/wxParseTemplate0.vue
  28. 0 88
      components/gaoyia-parse/components/wxParseTemplate1.vue
  29. 0 88
      components/gaoyia-parse/components/wxParseTemplate10.vue
  30. 0 86
      components/gaoyia-parse/components/wxParseTemplate11.vue
  31. 0 88
      components/gaoyia-parse/components/wxParseTemplate2.vue
  32. 0 88
      components/gaoyia-parse/components/wxParseTemplate3.vue
  33. 0 88
      components/gaoyia-parse/components/wxParseTemplate4.vue
  34. 0 88
      components/gaoyia-parse/components/wxParseTemplate5.vue
  35. 0 88
      components/gaoyia-parse/components/wxParseTemplate6.vue
  36. 0 88
      components/gaoyia-parse/components/wxParseTemplate7.vue
  37. 0 88
      components/gaoyia-parse/components/wxParseTemplate8.vue
  38. 0 88
      components/gaoyia-parse/components/wxParseTemplate9.vue
  39. 0 15
      components/gaoyia-parse/components/wxParseVideo.vue
  40. 0 262
      components/gaoyia-parse/libs/html2json.js
  41. 0 156
      components/gaoyia-parse/libs/htmlparser.js
  42. 0 195
      components/gaoyia-parse/libs/wxDiscode.js
  43. 0 248
      components/gaoyia-parse/parse.css
  44. 0 219
      components/gaoyia-parse/parse.vue
  45. 0 158
      components/jyf-Parser/CssHandler.js
  46. 0 411
      components/jyf-Parser/DomHandler.js
  47. 0 240
      components/jyf-Parser/Parser.js
  48. 0 218
      components/jyf-Parser/Tokenizer.js
  49. 0 41
      components/jyf-Parser/api.js
  50. 0 70
      components/jyf-Parser/handler.sjs
  51. 0 72
      components/jyf-Parser/handler.wxs
  52. 0 405
      components/jyf-Parser/index.vue
  53. 0 363
      components/jyf-Parser/trees.vue
  54. 0 296
      components/keyboard-package/keyboard-package.vue
  55. 0 264
      components/keyboard/keyboard.vue
  56. 0 6
      components/mix-loading/mix-loading.vue
  57. 0 12542
      components/mpvue-citypicker/city-data/area.js
  58. 0 0
      components/mpvue-citypicker/city-data/city.data.js
  59. 0 1503
      components/mpvue-citypicker/city-data/city.js
  60. 0 139
      components/mpvue-citypicker/city-data/province.js
  61. 0 214
      components/mpvue-citypicker/mpvueCityPicker.vue
  62. 0 246
      components/tui-skeleton/tui-skeleton.vue
  63. 0 228
      components/tui-tabs/tui-tabs.vue
  64. 0 244
      components/tui-tabs/tui-zxtabs.vue
  65. 0 27
      components/u-parse/components/wxParseAudio.vue
  66. 0 86
      components/u-parse/components/wxParseImg.vue
  67. 0 107
      components/u-parse/components/wxParseTemplate0.vue
  68. 0 99
      components/u-parse/components/wxParseTemplate1.vue
  69. 0 97
      components/u-parse/components/wxParseTemplate10.vue
  70. 0 87
      components/u-parse/components/wxParseTemplate11.vue
  71. 0 98
      components/u-parse/components/wxParseTemplate2.vue
  72. 0 98
      components/u-parse/components/wxParseTemplate3.vue
  73. 0 98
      components/u-parse/components/wxParseTemplate4.vue
  74. 0 98
      components/u-parse/components/wxParseTemplate5.vue
  75. 0 98
      components/u-parse/components/wxParseTemplate6.vue
  76. 0 98
      components/u-parse/components/wxParseTemplate7.vue
  77. 0 98
      components/u-parse/components/wxParseTemplate8.vue
  78. 0 98
      components/u-parse/components/wxParseTemplate9.vue
  79. 0 15
      components/u-parse/components/wxParseVideo.vue
  80. 0 261
      components/u-parse/libs/html2json.js
  81. 0 156
      components/u-parse/libs/htmlparser.js
  82. 0 195
      components/u-parse/libs/wxDiscode.js
  83. 0 102
      components/u-parse/readme.md
  84. 0 232
      components/u-parse/u-parse.css
  85. 0 118
      components/u-parse/u-parse.vue
  86. 0 546
      components/uni-calendar/calendar.js
  87. 0 152
      components/uni-calendar/uni-calendar-item.vue
  88. 0 402
      components/uni-calendar/uni-calendar.vue
  89. 0 327
      components/uni-calendar/util.js
  90. 0 194
      components/uni-load-more/uni-load-more.vue
  91. 0 200
      components/uni-number-box.vue
  92. 0 226
      components/upload-images.vue
  93. 0 15
      components/w-picker/city-data/area.js
  94. 0 15
      components/w-picker/city-data/city.js
  95. 0 15
      components/w-picker/city-data/province.js
  96. 0 587
      components/w-picker/w-picker.js
  97. 0 992
      components/w-picker/w-picker.vue
  98. 0 154
      components/waterFill/feng-flow.vue
  99. 0 169
      components/waterFill/u-waterfall.vue
  100. 0 246
      components/waterFill/waterFill.vue

+ 0 - 199
components/cm-module/creatOrder/choiceAddress.vue

@@ -1,199 +0,0 @@
-<template name="address">
-	<view class="address-template clearfix">
-		 <!-- 地址 -->
-		 <navigator :url="addressSrc" class="address-section">
-			<view class="address-empty" v-if="isEmpty">
-			 	<text>添加收货地址</text><text class="iconfont icon-tianjiadizhi"></text>
-			</view>
-		 	<view class="address-content" v-else>
-		 		<view class="address-cen">
-		 			<view class="top">
-		 				<view class="name">{{addressData.name !== undefined ? addressData.name : ''}}</view>
-		 				<view class="mobile">{{addressData.phoneNumber !== undefined ? addressData.phoneNumber : ''}}</view>
-		 			</view>
-		 			<view class="address">
-						<view class="address-text">
-							收货地址:
-							{{addressData.province !== undefined ? addressData.province : ''}}
-							{{addressData.city !== undefined ? addressData.city : ''}}
-							{{addressData.region !== undefined ? addressData.region : ''}}
-							{{addressData.detailAddress !== undefined ? addressData.detailAddress : ''}}
-						</view>
-					</view>
-					<view class="nexpage"><text class="iconfont icon-xiayibu"></text></view>
-		 		</view>
-		 	</view>
-		 </navigator>
-		 <view class="tui-bg-img"></view>
-	</view>
-</template>
-
-<script>
-	export default{
-		name:"address",
-		props:{
-			addressData:{
-				type:Object
-			}
-		},
-		data() {
-			return{
-				isEmpty:false,
-				addressSrc:'',
-			}
-		},
-		created(){
-			this.initData(this.addressData)
-		},
-		computed: {
-
-		},
-		watch:{
-			addressData:{
-				handler:function(val){
-					this.initData(val)
-				}
-			}
-		},
-		methods:{
-			initData(res) {
-				if(Object.keys(res).length == 0){
-					this.isEmpty = true
-					this.addressSrc = '/pages/user/address/addressManage'
-				}else{
-					this.isEmpty = false
-					this.$parent.isFreight = false
-					this.addressSrc = '/pages/user/address/address?type=select'
-				}
-			}
-		}
-	}
-</script>
-
-<style lang="scss">
-	.address-template{
-		width: 100%;
-		height: auto;
-		background: #FFFFFF;
-		border-top: 1px solid #F8F8F8;
-		position: relative;
-		.tui-bg-img {
-			position: absolute;
-			width: 100%;
-			height: 8rpx;
-			left: 0;
-			bottom: 0;
-			background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAL0AAAAECAMAAADszM6/AAAAOVBMVEUAAAAVqfH/fp//vWH/vWEVqfH/fp8VqfH/fp//vWEVqfH/fp8VqfH/fp//vWH/vWEVqfH/fp//vWHpE7b6AAAAEHRSTlMA6urqqlVVFRUVq6upqVZUDT4vVAAAAEZJREFUKM/t0CcOACAQRFF6r3v/w6IQJGwyDsPT882IQzQE0E3chToByjG5LwMgLZN3TQATmdypCciBya0cgOT3/h//9PgF49kd+6lTSIIAAAAASUVORK5CYII=") repeat;
-		}
-	}
-	.address-section {
-		width: 100%;
-		height: auto;
-		float: left;
-		position: relative;
-		.address-empty{
-			width: 100%;
-			height: 84rpx;
-			line-height: 84rpx;
-			color: $color-system;
-			text-align: center;
-			font-size: $font-size-26;
-			font-weight: bold;
-			background: #fff;
-			float: left;
-			.icon-tianjiadizhi{
-				font-size: 30rpx;
-				margin: 0 8rpx;
-			}
-		}
-		.address-content {
-			display: flex;
-			align-items: center;
-			padding:20rpx 24rpx;
-			background: #fff;
-		}
-		
-		.icon-shouhuodizhi {
-			flex-shrink: 0;
-			display: flex;
-			align-items: center;
-			justify-content: center;
-			width: 40rpx;
-			color: $color-system;
-			font-size: 46rpx;
-			margin-right: 10rpx;
-		}	
-		.address-cen {
-			width: 100%;
-			height: auto;
-			position: relative;
-			.top{
-				height: 42rpx;
-				line-height: 42rpx;
-				text-align: left;
-				font-size: $font-size-30;
-				color: $text-color;
-				padding-bottom: 8rpx;
-				display: flex;
-				float: left;
-				margin-bottom: 10rpx;
-				.name{
-					margin-right: 48rpx;
-				}
-				.mobile{
-					margin-right: 40rpx;
-				}
-			}
-			.address {
-				width: 100%;
-				height: auto;
-				float: left;
-				.address-icon{
-					width: 40rpx;
-					height: auto;
-					float: left;
-					line-height: 40rpx;
-				}
-				.address-text{
-					width: 610rpx;
-					float: left;
-					line-height: 40rpx;
-					font-size: $font-size-24;
-					color: #666;
-					text-align: left;
-					-o-text-overflow: ellipsis;
-					text-overflow: ellipsis;
-					display: -webkit-box;
-					word-break: break-all;
-					-webkit-box-orient: vertical;
-					-webkit-line-clamp: 2;
-					overflow: hidden;
-				}
-			}
-			.nexpage{
-				text-align: right;
-				font-size: $font-size-30;
-				color: $color-system;
-				position: absolute;
-				right: 0;
-				top: 45rpx;
-				.icon-genghuan{
-					font-size: $font-size-30;
-				}
-			}
-		}
-		.icon-xiayibu {
-			font-size: 32rpx;
-			color: $text-color;
-			margin-right: 30rpx;
-		}
-		.a-bg {
-			position: absolute;
-			left: 0;
-			bottom: 0;
-			display: block;
-			width: 100%;
-			height: 5rpx;
-		}
-	}
-</style>

+ 0 - 104
components/cm-module/creatOrder/freight.vue

@@ -1,104 +0,0 @@
-<template name="freight">
-	<view class="freight-template">
-		 <!-- 运费信息 -->
-		<view class="invoice-freight">
-			<view class="freight-left">
-				运费
-				<!-- <text class="iconfont icon-yunfeishuoming" @click="showTip"></text> -->
-			</view>
-			<view class="freight-right">
-				<text>{{freightText}}</text>
-				<text class="text" v-if="freightData.freePostFlag == 1">¥{{orderPriceToFixed(freightMoney)}}</text>
-			</view>
-		</view>
-	</view>
-</template>
-
-<script>
-	export default{
-		name:"freight",
-		props:{
-			freightData:{
-				type:Object
-			}
-		},
-		data() {
-			return{
-				freightText:'',
-				freightMoney:''
-			}
-		},
-		created(){
-			this.initData(this.freightData)
-		},
-		computed: {
-
-		},
-		methods:{
-			initData(res) {
-				switch(res.freePostFlag){
-					case 0:
-						this.freightText = '包邮'
-						this.freightData.freight  = 0
-						break
-					case 1:
-						this.freightText = '不包邮'
-						this.freightMoney = res.freight
-						break
-					case -1:
-						this.freightText = '到付'
-						this.freightData.freight  = 0
-						break
-				}
-			},
-			orderPriceToFixed (num){
-				let price ='';
-				price = parseInt(num).toFixed(2);
-				return price
-			},
-			showTip(){
-				this.$emit('showFreightAlert');
-			},
-		}
-	}
-</script>
-
-<style lang="scss">
-	.freight-template{
-		width: 100%;
-		height: auto;
-		background: #FFFFFF;
-		float: left;
-		margin-top: 24rpx;
-		.invoice-freight{
-			width: 702rpx;
-			padding: 0 24rpx;
-			height: 86rpx;
-			line-height: 86rpx;
-			font-size: $font-size-28;
-			color: $text-color;
-			background: #FFFFFF;
-			float: left;
-			font-weight: bold;
-			.freight-left{
-				float: left;
-				.icon-yunfeishuoming{
-					height: 100%;
-					padding:15rpx;
-					color: $color-system;
-					font-weight: normal;
-				}
-			}
-			.freight-right{
-				float: right;
-				color: #2A81FF;
-				.text{
-					line-height: 88rpx;
-					color: #ff0000;
-					margin:0 20rpx;
-					font-weight: normal;
-				}
-			}
-		}
-	}
-</style>

+ 0 - 238
components/cm-module/creatOrder/goodsList.vue

@@ -1,238 +0,0 @@
-<template name="goods">
-	<view class="goods-template">
-		 <!-- 商品列表 -->
-		<view class="goods-list">
-			<view v-for="(item, index) in goodsData" :key="index" class="goods-item">
-				<view class="productlist">
-					<view class="goods-pros-t">
-						<view class="pros-img"><image :src="item.productPic" alt="" /></view>
-						<view class="pros-product">
-							<view class="producttitle">{{item.productName}}</view>
-							<view class="productspec" v-for="(attr,idx) in item.productAttr" :key="idx">
-								<text>{{attr.key}}:</text>
-								<text>{{attr.value}}</text>
-							</view>
-							<view class="productprice">
-								<view class="price">
-									<text><text class="small">¥</text>{{item.price.toFixed(2)}}</text>
-								</view>
-								<view class="count">
-									<text class="small">x</text>{{item.quantity}}
-								</view>
-							</view>
-						</view>	
-					</view>
-					<view class="goods-pros-m">
-						<view class="m-text">留言:</view>
-						<view class="m-input">
-							<input type="text" 
-							   v-model="remark[index]" 
-							   @change="changeHandle(index)"
-							   placeholder-class="placeholder"  
-							   maxlength="100" 
-							   placeholder="选填,给商家留言"/>
-							</view>
-					</view>
-				</view>	
-			</view>
-		</view>	
-	</view>
-</template>
-<script>
-	export default{
-		name:"goods",
-		props:{
-			goodsData:{
-				type:Array
-			}
-		},
-		data() {
-			return{
-				remark:[]
-			}
-		},
-		created(){
-			
-		},
-		watch: {
-			goodsData: {
-				handler: function (el) {//监听对象的变换使用 function,箭头函数容易出现this指向不正确
-					this.goodsData = el
-				},
-				deep: true
-			}
-		},
-		computed: {
-
-		},
-		methods:{
-			changeHandle (index) {//输入框的值被改变后
-				this.goodsData[index].note = this.remark[index]
-				this.$emit('handleGoodList',this.goodsData)
-			}
-		},
-	}
-</script>
-
-<style lang="scss">
-	.goods-template{
-		width: 100%;
-		height: auto;
-		background: #FFFFFF;
-		float: left;
-		margin-top: 24rpx;
-		.goods-list{
-			width: 100%;
-			height: auto;	
-			background:#F7F7F7;
-			.goods-item{
-				width: 100%;
-				padding:20rpx;
-				background: #FFFFFF;
-				margin-bottom: 24rpx;
-				&:last-child{
-					margin-bottom: 0;
-				}
-			}
-			.shoptitle{
-				display: flex;
-				align-items: center;
-				height: 80rpx;
-				line-height: 80rpx;
-				.title-logo{
-					width: 48rpx;
-					height: 48rpx;
-					float: left;
-					image{
-						width: 48rpx;
-						height: 48rpx;
-					}
-				}
-				.title-text{
-					float: left;
-					margin-left: 16rpx;
-					font-size: $font-size-28;
-					color: $text-color;
-					text-align: left;
-					line-height: 56rpx;
-					font-weight: bold;
-				}
-			}
-			.productlist{
-				width: 100%;
-				height: auto;
-			}	
-			.goods-pros-t{
-				display: flex;
-				align-items: center;
-				width: 100%;
-				height: 217rpx;
-				padding:12rpx 0;
-				.pros-img{
-					width: 210rpx;
-					height: 100%;
-					border-radius: 10rpx;
-					margin:0 26rpx 0 0;
-					border:1px solid #f3f3f3;
-					image{
-						width: 100%;
-						height: 100%;
-						border-radius: 10rpx;
-					}
-				}
-			}
-			.pros-product{
-				width: 468rpx;
-				height: 100%;
-				line-height: 36rpx;
-				font-size: $font-size-26;	
-				position: relative;
-				.producttitle{
-					width: 100%;
-					display: inline-block;
-					height: auto;							
-					text-overflow:ellipsis;
-					display: -webkit-box;
-					word-break: break-all;
-					-webkit-box-orient: vertical;
-					-webkit-line-clamp: 2;
-					overflow: hidden;
-					margin-bottom: 8rpx;
-				}
-				.productspec{
-					height: 36rpx;
-					color: #999999;
-				}
-				.productprice{
-					height: 48rpx;
-					position: absolute;
-					width: 100%;
-					bottom: 0;
-					.price{
-						line-height: 48rpx;
-						font-size: $font-size-28;
-						width: 48%;
-						color: #FF2A2A;
-						float: left;
-						.small{
-							font-size: $font-size-22;
-						}
-					}
-					.count{
-						height: 100%;
-						float: right;
-						position: relative;
-						.small{
-							color: #666666;
-						}
-					}
-				}
-			}
-			.goods-pros-m{
-				height: 76rpx;
-				line-height: 76rpx;
-				font-size: $font-size-26;
-				color: $text-color;
-				margin-top: 12rpx;
-				.m-text{
-					width: 90rpx;
-					float: left;
-					padding-right: 20rpx;
-				}
-				.m-input{
-					position: relative;
-					float: left;
-					width: 620rpx;
-					height: 70rpx;
-					padding: 20rpx 40rpx;
-					background: #F7F7F7;
-					border-radius: 50rpx;
-					input{
-						width: 100%;
-						height: 100%;
-						background: #F7F7F7;
-						font-size: $font-size-26;
-						line-height: 36rpx;
-						color: #333333;
-						min-height: 36rpx;
-					}
-				}
-			}
-			.goods-pros-b{
-				width:100%;
-				height: auto;
-				.sum{
-					font-size: $font-size-28;
-					line-height: 60rpx;
-					color: $text-color;
-					display: flex;
-					justify-content: flex-end;
-					.money{
-						color: #FF2A2A;
-						font-size: $font-size-28;
-					}
-				}
-			}
-		}
-	}
-</style>

+ 0 - 684
components/cm-module/creatOrder/invoiceTent.vue

@@ -1,684 +0,0 @@
-<template name="invoice">
-	<view class="invoice-template">
-		 <!-- 发票信息 -->
-		<view class="invoice-title" @tap.stop="hanldOperationConfim">
-			<text class="text">发票信息:</text>
-			<text class="iconfont icon-xiayibu"></text>
-		</view>
-		<view class="invoice-text">
-			<text>{{invoiceText}}</text>
-		</view>
-		<!--底部选择模态层弹窗组件 -->
-		<view class="popup spec" :class="specClass"  @touchmove.stop.prevent="discard" @tap="choiceaInvoiceConfim">
-			<!-- 遮罩层 -->
-			<view class="mask"></view>
-			<view class="layer" @tap.stop="discard">
-				<view class="content clearfix">
-					<view class="invoice-ltitle">发票类型</view>
-					<view class="invoice-radio">
-						<radio-group class="row-group" @change="radioChange">
-							<label class="row-input" v-for="(item, index) in invoiceTypeList" :key="item.value">
-								<radio class="row-radio" :value="item.value" :checked="index === current" color="#E15616"/>
-								<view class="row-text">{{item.name}}</view>
-							</label>
-						</radio-group>
-					</view>
-					<view class="invoice-main from" v-if="invoiceType == '3'">
-						<view class="invoice-from">
-							<view class="label">单位名称:</view>
-							<input class="form-input" type="text" v-model="invoiceData.invoiceTitle" placeholder="请填写单位信息(必填)" maxlength="20">
-						</view>
-						<view class="invoice-from">
-							<view class="label">纳税人识别号:</view>
-							<input class="form-input" type="text" v-model="invoiceData.corporationTaxNum" placeholder="请填写纳税人识别号(必填)" maxlength="20">
-						</view>
-						<view class="invoice-from">
-							<view class="label">注册地址:</view>
-							<input class="form-input" type="text" v-model="invoiceData.registeredAddress" placeholder="请填写单位注册地址(必填)" maxlength="30">
-						</view>
-						<view class="invoice-from">
-							<view class="label">注册电话:</view>
-							<input class="form-input" type="text" v-model="invoiceData.registeredPhone" placeholder="请填写注册电话(必填)" maxlength="15">
-						</view>
-						<view class="invoice-from">
-							<view class="label">开户银行:</view>
-							<input class="form-input" type="text" v-model="invoiceData.openBank"   placeholder="请填写开户银行(必填)" maxlength="10">
-						</view>
-						<view class="invoice-from">
-							<view class="label">银行账号:</view>
-							<input class="form-input" 
-								   type="text" 
-								   v-model="invoiceData.bankAccountNo" 
-								   placeholder="请填写银行账号(必填)" 
-								   maxlength="19">
-						</view>
-					</view>
-					<view class="invoice-main" v-if="invoiceType == '2'">
-						<view class="invoice-ltitle">发票内容</view>
-						<view class="invoice-group tit">
-							<checkbox-group class="row-group" @change="checkboxChange">
-								<view class="text">商品明细</view>
-								<checkbox class="row-radio" value="明细"  :checked="inventoryChecked" color="#E15616"></checkbox>
-							</checkbox-group>
-						</view>
-						<view class="invoice-ltitle">发票抬头</view>
-						<view class="invoice-group tit">
-							<radio-group class="row-group radio" @change="radioChangeTitle">
-								<label class="row-input" v-for="(item, index) in invoiceTitleList" :key="item.value">
-									<radio class="row-radio" :value="item.value" :checked="index === titleCurrent" color="#E15616"/>
-									<view class="row-text">{{item.name}}</view>
-								</label>
-							</radio-group>
-						</view>
-						<view class="invoice-group from">
-							<view class="group-from" v-if="peopleInvoiceData.invoiceTitleType == '0'">
-								<input class="form-input" type="text" v-model="peopleInvoiceData.invoiceTitle"   placeholder="请填写个人抬头" maxlength="20">
-							</view>
-							<view class="group-from" v-if="peopleInvoiceData.invoiceTitleType == '1'">
-								<input class="form-input" type="text" v-model="peopleInvoiceData.invoiceTitle"   placeholder="请填写公司抬头" maxlength="20">
-							</view>
-							<view class="group-from" v-if="peopleInvoiceData.invoiceTitleType == '1'">
-								<input class="form-input" type="text" v-model="peopleInvoiceData.corporationTaxNum"   placeholder="请填写纳税人识别号" maxlength="20">
-							</view>
-						</view>
-					</view>
-					<view class="invoice-main" v-if="invoiceType == '1'">
-						<view class="invoice-none">不开具发票信息</view>
-					</view>
-				</view>
-				<view class="btn">
-					<view class="button add" @click="choiceaInvoiceConfim">完成</view>
-				</view>
-			</view>
-		</view>
-	</view>
-</template>
-
-<script>
-	export default{
-		name:"invoice",
-		data() {
-			return{
-				invoiceText:'不开发票',
-				specClass: '',//规格弹窗css类,控制开关动画
-				invoiceType:'1',//发票类型
-				current:0,
-				titleCurrent:0,
-				inventoryChecked:false,
-				invoiceTypeList:[
-					{value:'1',name:'不开发票'},
-					{value:'2',name:'普通发票'},
-					{value:'3',name:'增值税发票'},
-				],
-				invoiceTitleList:[
-					{value:'0',name:'个人'},
-					{value:'1',name:'公司'},
-				],
-				peopleInvoiceData:{
-					invoiceTitle:'',   //单位名称
-					invoiceContent:'', //商品明细
-					corporationTaxNum:'',//纳税人识别号
-					invoiceTitleType:'0'//发票抬头类型 1企业 0个人
-				},
-				invoiceData:{
-					id:'',
-					invoiceTitle:'',	 //单位名称
-					corporationTaxNum:'',//纳税人识别号
-					registeredAddress: '',//单位地址
-					registeredPhone:'',	 //注册电话
-					openBank:'',		//开户银行
-					bankAccountNo: ''  ,//银行账号
-				},
-			}
-		},
-		created(){
-			// this.initData(this.invoiceDatas)
-		},
-		computed: {
-
-		},
-		methods:{
-			getUseFindInvoice(){//获取发票信息
-				this.$api.getStorage().then((resolve) => {
-					getFindInvoice({userId:resolve.userID}).then(response =>{
-						if(response.data == null){
-							this.invoiceData = Object.assign(this.invoiceData,'',{type:0})
-						}else{
-							this.invoiceData = response.data
-						} 
-					})
-				})
-			},
-			updateInvoiceFn(){//保存发票信息
-				this.$api.getStorage().then((resolve) => {
-					let params =Object.assign(this.invoiceData,'',{userId:resolve.userID})
-					updateInvoice(params).then(response =>{})
-				})
-			},
-			choiceaInvoiceConfim(){
-				switch(this.invoiceType){
-					case '1':
-						this.choiceaInvoiceThree()
-						this.invoiceText = '不开发票'
-						break;
-					case '2':
-						this.choiceaInvoiceTwo()
-						this.invoiceText = this.peopleInvoiceData.invoiceTitle
-						break;
-					case '3':
-						this.choiceaInvoiceFirst()
-						this.invoiceText = this.invoiceData.invoiceTitle
-						break;	
-						default:
-						this.choiceaInvoiceThree()
-						this.invoiceText = '不开发票'
-				}
-			},
-			choiceaInvoiceFirst(){//增值税发票
-				if(this.invoiceData.invoiceTitle == ""){
-					this.$util.msg('请输入单位名称',2000)
-					return
-				}
-				if(this.invoiceData.corporationTaxNum == ""){
-					this.$util.msg('请输入纳税人识别号',2000)
-					return
-				}
-				if(this.invoiceData.registeredAddress == ""){
-					this.$util.msg('请输入单位地址',2000)
-					return
-				}
-				if(this.invoiceData.registeredPhone == ""){
-					this.$util.msg('请输入注册电话',2000)
-					return
-				}
-				if(this.invoiceData.openBank == ""){
-					this.$util.msg('请输入开户银行',2000)
-					return
-				}
-				if(this.invoiceData.bankAccountNo == ""){
-					this.$util.msg('请输入银行账号',2000)
-					return
-				}
-				this.updateInvoiceFn()
-				this.$emit('handleChoiceaInvoice',Object.assign(this.invoiceData,'',{type:2}))
-				this.hideSpec()
-			},
-			choiceaInvoiceTwo(){//普通发票
-				switch(this.peopleInvoiceData.invoiceTitleType){
-					case '0':
-						if(this.peopleInvoiceData.invoiceContent == ''){
-							this.$util.msg('请选择商品明细',2000)
-							return
-						}
-						if(this.peopleInvoiceData.invoiceTitle == ""){
-							this.$util.msg('请输入个人抬头',2000)
-							return
-						}
-						break;
-					case '1':
-						if(this.peopleInvoiceData.invoiceContent == ''){
-							this.$util.msg('请选择商品明细',2000)
-							return
-						}
-						if(this.peopleInvoiceData.invoiceTitle == ""){
-							this.$util.msg('请输入公司抬头',2000)
-							return
-						}
-						if(this.peopleInvoiceData.corporationTaxNum == ""){
-							this.$util.msg('请输入纳税人识别号',2000)
-							return
-						}
-						break;
-				}
-				this.$emit('handleChoiceaInvoice',Object.assign(this.peopleInvoiceData,'',{type:1}))
-				this.hideSpec()
-			},
-			choiceaInvoiceThree(){//不开发票
-				this.invoiceData = {}
-				this.$emit('handleChoiceaInvoice',Object.assign(this.invoiceData,'',{type:0}))
-				this.hideSpec()
-			},
-			hideSpec() {//关闭弹窗
-				this.specClass = 'hide';
-				setTimeout(() => {
-					this.specClass = 'none';
-				}, 200);
-			},
-			hanldOperationConfim(){//显示发票弹窗
-				this.specClass = 'show';
-			},
-			radioChange(e) {
-				this.invoiceType = e.target.value;
-				for (let i = 0; i < this.invoiceTypeList.length; i++) {
-					if (this.invoiceTypeList[i].value === this.invoiceType) {
-						this.current = i;
-						break;
-					}
-				}
-				switch(this.invoiceType){
-					case '2':
-						this.peopleInvoiceData.invoiceTitleType = "0"
-						this.titleCurrent = 0
-						break;
-					case '3':
-						this.getUseFindInvoice()
-						break;
-				}		
-			},
-			radioChangeTitle(e) {
-				this.peopleInvoiceData.invoiceTitleType = e.target.value;
-				for (let i = 0; i < this.invoiceTitleList.length; i++) {
-					if (this.invoiceTitleList[i].value === this.peopleInvoiceData.invoiceTitleType) {
-						this.titleCurrent = i;
-						break;
-					}
-				}
-				switch(this.peopleInvoiceData.invoiceTitleType){
-					case '1':
-						this.inventoryChecked = false
-						this.peopleInvoiceData.invoiceTitle = ""
-						this.peopleInvoiceData.invoiceContent = ""
-						break;
-				}		
-			},
-			checkboxChange(e){
-				this.inventoryChecked = !this.inventoryChecked
-				this.peopleInvoiceData.invoiceContent = e.detail.value[0]
-			},
-			inputBankNum(val) {
-				if (/\S{5}/.test(val)) {
-					this.invoiceData.bankAccountNo = val.replace(/\s/g, '').replace(/(.{4})/g, "$1 ");
-				}
-			},
-			discard(){
-				//丢弃
-			}
-		}
-	}
-</script>
-
-<style lang="scss">
-	.invoice-template{
-		width: 100%;
-		height: auto;
-		background: #FFFFFF;
-		float: left;
-		margin-top: 24rpx;
-		.invoice-title{
-			width: 100%;
-			padding: 0 24rpx;
-			height: 88rpx;
-			line-height: 88rpx;
-			position: relative;
-			border-bottom: 1px solid #EBEBEB;
-			.text{
-				font-size: $font-size-28;
-				color: $text-color;
-			}
-			.iconfont{
-				width: 50rpx;
-				height: 88rpx;
-				line-height: 88rpx;
-				color: #999999;
-				display: block;
-				position: absolute;
-				right: 0;
-				top: 0;
-			}
-		}
-		.invoice-text{
-			width: 100%;
-			padding: 0 24rpx;
-			font-size: $font-size-24;
-			color: #666666;
-			line-height: 60rpx;
-		}
-		.invoice-ltitle{
-			width: 100%;
-			line-height: 60rpx;
-			height: 60rpx;
-			font-size: $font-size-28;
-			color: #333333;
-		}
-		.invoice-radio{
-			width: 100%;
-			height: 88rpx;
-			line-height: 88rpx;
-			display: flex;
-			border-bottom: 1px solid #EBEBEB;
-			.row-group{
-				flex:1;
-				display: flex;
-			}
-			.row-input{
-				flex: 1;
-				height: 88rpx;
-				line-height: 88rpx;
-			}
-			.row-radio{
-				float: left;
-				transform: scale(0.6);
-			}
-			.row-text{
-				font-size: $font-size-24;
-				color: $text-color;
-			}
-		}
-		.invoice-main{
-			width: 100%;
-			height: auto;
-			margin-top: 30rpx;
-			&.from{
-				padding-bottom: 40rpx;
-			}
-			.invoice-none{
-				line-height: 60rpx;
-				height: 60rpx;
-				font-size: $font-size-24;
-				color: #666666;
-				text-align: center;
-			}
-			.invoice-from{
-				width: 662rpx;
-				height: 40rpx;
-				padding: 20rpx;
-				line-height: 40rpx;
-				align-items: flex-start;
-				font-size: $font-size-28;
-				color: $text-color;
-				background: #F7F7F7;
-				border-radius: 14rpx;
-				margin-bottom: 20rpx;
-				.label{
-					height: 40rpx;
-					line-height: 40rpx;
-					float: left;
-				}
-				.form-input{
-					height: 40rpx;
-					line-height: 40rpx;
-					flex-grow: 1;
-					padding-left: 20rpx;
-				}
-			}
-			.invoice-group{
-				width: 100%;
-				height: 88rpx;
-				display: flex;
-				border-bottom: 1px solid #EBEBEB;
-				&.tit{
-					margin-bottom: 30rpx;
-				}
-				&.from{
-					margin-bottom: 30rpx;
-					border-bottom: 1px solid #FFFFFF;
-					flex-direction: row;
-					display: block;
-					.group-from{
-						flex: 1;
-						height: 40rpx;
-						padding: 20rpx;
-						line-height: 40rpx;
-						align-items: flex-start;
-						font-size: $font-size-24;
-						color: $text-color;
-						background: #F7F7F7;
-						border-radius: 14rpx;
-						margin-bottom: 20rpx;
-						.form-input{
-							height: 40rpx;
-							line-height: 40rpx;
-							flex-grow: 1;
-						}
-					}
-				}
-				.row-group{
-					line-height: 88rpx;
-					flex: 1;
-					.text{
-						font-size: $font-size-24;
-						color: $text-color;
-						line-height: 88rpx;
-						float: left;
-					}
-					.row-radio{
-						float: right;
-						transform: scale(0.8);
-						border-radius: 50%;
-					}
-					&.radio{
-						display: flex;
-						.row-input{
-							flex: 1;
-							height: 88rpx;
-							line-height: 88rpx;
-						}
-						.row-radio{
-							float: left;
-							transform: scale(0.6);
-						}
-						.row-text{
-							font-size: $font-size-24;
-							color: $text-color;
-						}
-					}
-				}
-			}
-		}
-	}
-	/* 加入购物模态层*/
-	@keyframes showPopup {
-		0% {
-			opacity: 0;
-		}
-		100% {
-			opacity: 1;
-		}
-	}
-	@keyframes hidePopup {
-		0% {
-			opacity: 1;
-		}
-		100% {
-			opacity: 0;
-		}
-	}
-	@keyframes showLayer {
-		0% {
-			transform: translateY(0);
-		}
-		100% {
-			transform: translateY(-100%);
-		}
-	}
-	@keyframes hideLayer {
-		0% {
-			transform: translateY(-100%);
-		}
-		100% {
-			transform: translateY(0);
-		}
-	}
-	@keyframes showAmnation {
-		0% {
-			top: -12rpx;
-			opacity: 0;
-		}
-		50% {
-			top: -60rpx;
-			opacity: 1;
-		}
-		100% {
-			top: -100rpx;
-			opacity: 0;
-		}
-	}
-	@keyframes hideAmnation {
-		0% {
-			top: -100rpx;
-			opacity: 0;
-		}
-		100% {
-			top: -12rpx;
-			opacity: 0;
-		}
-	}
-	.popup {
-		position: fixed;
-		top: 0;
-		width: 100%;
-		height: 100%;
-		z-index: 999;
-		display: none;
-		.mask{
-			position: fixed;
-			top: 0;
-			width: 100%;
-			height: 100%;
-			z-index: 21;
-			background-color: rgba(0, 0, 0, 0.6);
-		}
-		.layer {
-			position: absolute;
-			z-index: 22;
-			bottom: -1010rpx;
-			width: 100%;
-			padding: 24rpx 24rpx 65rpx 24rpx;
-			height: 920rpx;
-			border-radius: 40rpx 40rpx 0 0;
-			background-color: #fff;
-			display: flex;
-			flex-wrap: wrap;
-			align-content: space-between;
-			.content {
-				width: 100%;
-			}
-			.btn {
-				width: 100%;
-				height: 88rpx;
-				display: flex;
-				.button {
-					width: 100%;
-					height: 88rpx;
-					color: #fff;
-					display: flex;
-					align-items: center;
-					justify-content: center;
-					font-size: $font-size-28;
-					border-radius: 14rpx;
-					background: $btn-confirm;
-				}
-			}
-		}
-		
-		&.show {
-			display: block;
-			.mask{
-				animation: showPopup 0.2s linear both;
-			}
-			.layer {
-				animation: showLayer 0.2s linear both;
-			}
-		}
-		&.hide {
-			display: block;
-			.mask{
-				animation: hidePopup 0.2s linear both;
-			}
-			
-			.layer {
-				animation: hideLayer 0.2s linear both;
-			}
-		}
-		&.none {
-			display: none;
-		}
-		&.service {
-			.row {
-				margin: 30upx 0;
-				.title {
-					font-size: 30upx;
-					margin: 10upx 0;
-				}
-				.description {
-					font-size: 28upx;
-					color: #999;
-				}
-			}
-		}
-		.layer-smimg{
-			width: 114rpx;
-			height: 114rpx;
-			float: left;
-			border-radius: 10rpx;
-			margin-right: 24rpx;
-			image{
-				width: 114rpx;
-				height: 114rpx;	
-				border-radius: 10rpx;
-			}
-		}
-		.layer-nunbox{
-			justify-content: space-between;
-			align-items: center;
-			width: 536rpx;
-			height: 88rpx;
-			padding: 13rpx 0 0 0;
-			float: left;
-			.layer-nunbox-t{
-				width: 100%;
-				height:44rpx;
-				position:relative;
-				display: flex;
-				.layer-nunbox-text{
-					line-height: 44rpx;
-					font-size: $font-size-28;
-				}
-				.number-box{
-					display: flex;
-					justify-content: center;
-					align-items: center;
-					.iconfont{
-						font-size: $font-size-32;
-						padding:0 20rpx;
-						font-size: $text-color;
-					}
-					.btn-input{
-						width: 62rpx;
-						height: 48rpx;
-						line-height: 48rpx;
-						background: #F8F8F8;
-						border-radius: 4rpx;
-						text-align: center;
-						font-size: $font-size-28;
-					}
-				}
-				.product-step{
-					position: absolute;
-					left: 45rpx;
-					bottom: 0;
-					height: 44rpx;
-					background: #FFFFFF;
-				}
-			}
-			.layer-nunbox-b{
-				width: 100%;
-				height:44rpx;
-				margin-top: 13rpx;
-			}
-			.text{
-				line-height: 44rpx;
-				font-size: $font-size-28;
-				.p{
-					color: #FF2A2A;
-				}
-				.p:first-child{
-					margin-left: 30rpx;
-				}
-				.p.sm{
-					font-size: $font-size-24;
-				}
-			}
-		}
-	}	
-</style>

+ 0 - 202
components/cm-module/creatOrder/sellerAddress.vue

@@ -1,202 +0,0 @@
-<template name="address">
-	<view class="address-template">
-		 <!-- 地址 -->
-		 <navigator :url="addressSrc" class="address-section">
-			<view class="address-empty" v-if="isEmpty">
-			 	<text>添加收货地址</text><text class="iconfont icon-tianjiadizhi"></text>
-			</view>
-		 	<view class="address-content" v-else>
-		 		<view class="address-cen">
-		 			<view class="top">
-		 				<view class="name">{{addressData.shouHuoRen !== undefined ? addressData.shouHuoRen : ''}}</view>
-		 				<view class="mobile">{{addressData.mobile !== undefined ? addressData.mobile : ''}}</view>
-		 			</view>
-		 			<view class="address">
-						<view class="address-icon">
-							<text class="iconfont icon-shouhuodizhi"></text>
-						</view>
-						<view class="address-text">
-							收货地址:
-							{{addressData.province !== undefined ? addressData.province : ''}}
-							{{addressData.city !== undefined ? addressData.city : ''}}
-							{{addressData.town !== undefined ? addressData.town : ''}}
-							{{addressData.address !== undefined ? addressData.address : ''}}
-						</view>
-					</view>
-					<view class="nexpage"><text class="iconfont icon-genghuan"></text></view>
-		 		</view>
-		 	</view>
-		 </navigator>
-		 <image  src="../../../static/temp/line@3x.png" mode=""></image>
-	</view>
-</template>
-
-<script>
-	export default{
-		name:"address",
-		props:{
-			addressData:{
-				type:Object
-			}
-		},
-		data() {
-			return{
-				isEmpty:false,
-				addressSrc:'',
-			}
-		},
-		created(){
-			this.initData(this.addressData)
-		},
-		computed: {
-
-		},
-		watch:{
-			addressData:{
-				handler:function(val){
-					this.initData(val)
-				}
-			}
-		},
-		methods:{
-			initData(res) {
-				if(Object.keys(res).length == 0){
-					this.isEmpty = true
-					this.addressSrc = '/seller/pages/address/addressManage'
-				}else{
-					this.isEmpty = false
-					this.$parent.isFreight = false
-					this.addressSrc = '/seller/pages/address/address?type=select'
-				}
-			}
-		}
-	}
-</script>
-
-<style lang="scss">
-	.address-template{
-		width: 100%;
-		height: auto;
-		background: #FFFFFF;
-		border-top: 1px solid #F8F8F8;
-		image{
-			float: left;
-			width: 100%;
-			height: 16rpx;
-		}
-	}
-	.address-section {
-		width: 100%;
-		height: auto;
-		float: left;
-		position: relative;
-		
-		.address-empty{
-			width: 100%;
-			height: 84rpx;
-			line-height: 84rpx;
-			color: $color-system;
-			text-align: center;
-			font-size: $font-size-26;
-			font-weight: bold;
-			background: #fff;
-			float: left;
-			.icon-tianjiadizhi{
-				font-size: 30rpx;
-				margin: 0 8rpx;
-			}
-		}
-		.address-content {
-			display: flex;
-			align-items: center;
-			padding:20rpx 24rpx;
-			background: #fff;
-		}
-		
-		.icon-shouhuodizhi {
-			flex-shrink: 0;
-			display: flex;
-			align-items: center;
-			justify-content: center;
-			width: 40rpx;
-			color: $color-system;
-			font-size: 46rpx;
-			margin-right: 10rpx;
-		}	
-		.address-cen {
-			width: 100%;
-			height: auto;
-			position: relative;
-			.top{
-				padding-left: 50rpx;
-				height: 42rpx;
-				line-height: 42rpx;
-				text-align: left;
-				font-size: $font-size-30;
-				color: $text-color;
-				padding-bottom: 8rpx;
-				display: flex;
-				float: left;
-				.name{
-					font-weight: bold;
-					margin-right: 48rpx;
-				}
-				.mobile{
-					margin-right: 40rpx;
-					font-weight: bold;
-				}
-			}
-			.address {
-				width: 100%;
-				height: auto;
-				float: left;
-				.address-icon{
-					width: 40rpx;
-					height: auto;
-					float: left;
-					line-height: 40rpx;
-				}
-				.address-text{
-					width: 610rpx;
-					padding-left: 10rpx;
-					float: left;
-					line-height: 40rpx;
-					font-size: $font-size-28;
-					color: $text-color;
-					text-align: left;
-					-o-text-overflow: ellipsis;
-					text-overflow: ellipsis;
-					display: -webkit-box;
-					word-break: break-all;
-					-webkit-box-orient: vertical;
-					-webkit-line-clamp: 2;
-					overflow: hidden;
-				}
-			}
-			.nexpage{
-				text-align: right;
-				font-size: $font-size-30;
-				color: $color-system;
-				position: absolute;
-				right: 0;
-				top: 45rpx;
-				.icon-genghuan{
-					font-size: $font-size-30;
-				}
-			}
-		}
-		.icon-xiayibu {
-			font-size: 32rpx;
-			color: $text-color;
-			margin-right: 30rpx;
-		}
-		.a-bg {
-			position: absolute;
-			left: 0;
-			bottom: 0;
-			display: block;
-			width: 100%;
-			height: 5rpx;
-		}
-	}
-</style>

+ 0 - 508
components/cm-module/creatOrder/sellerFreight.vue

@@ -1,508 +0,0 @@
-<template name="freight">
-	<view class="freight-template">
-		 <!-- 运费信息 -->
-		<view class="invoice-freight" @tap.stop="hanldOperationConfim">
-			<view class="freight-left">
-				运费
-				<!-- <text class="iconfont icon-yunfeishuoming" @click.stop="showTip"></text> -->
-			</view>
-			<view class="freight-right">
-				<text class="text-l">{{freightText}}</text>
-				<text class="text" v-if="freightData.freePostFlag == 1">¥{{orderPriceToFixed(freightMoney)}}</text>
-				<text class="iconfont icon-xiayibu"></text>
-			</view>
-		</view>
-		<!--底部选择模态层弹窗组件 -->
-		<view class="popup spec" :class="specClass"  @touchmove.stop.prevent="discard" @click="freightConfim">
-			<!-- 遮罩层 -->
-			<view class="mask"></view>
-			<view class="layer" @tap.stop="discard">
-				<view class="content">
-					<view class="freight-ltitle">选择运费</view>
-					<view class="freight-radio">
-						<radio-group class="row-group" @change="radioChange">
-							<label class="row-input" v-for="(item, index) in freightList" :key="item.value">
-								<radio class="row-radio" :value="item.value" :checked="index === current" color="#E15616"/>
-								<view class="row-text">{{item.name}}</view>
-							</label>
-						</radio-group>
-					</view>
-					<view class="freight-group" v-if="freightData.freePostFlag == 1">
-						<view class="group-from">
-							<input class="form-input" type="text" v-model="freightData.freight" @input="setFreightMoney" placeholder="请填写运费" maxlength="20">
-						</view>
-					</view>	
-					<view class="freight-group" v-if="freightData.freePostFlag == 0">
-						<text class="text">{{freightText}}</text>
-					</view>
-					<view class="freight-group" v-if="freightData.freePostFlag == -1">
-						<text class="text">{{freightText}}</text>
-					</view>
-				</view>
-				<view class="btn">
-					<view class="button add" @click="freightConfim">完成</view>
-				</view>
-			</view>
-		</view>
-	</view>
-</template>
-
-<script>
-	export default{
-		name:"freight",
-		props:{
-			freightDatas:{
-				type:Object
-			}
-		},
-		data() {
-			return{
-				freightText:'不包邮',
-				freightMoney:0,
-				specClass: '',//规格弹窗css类,控制开关动画
-				freightList:[
-					{value:1,name:'不包邮'},
-					{value:0,name:'包邮'},
-					{value:-1,name:'到付'},
-				],
-				current:0,
-				freightData:{
-					freePostFlag:1,
-					freight:0
-				}
-			}
-		},
-		created(){
-			this.infoData(this.freightDatas)
-		},
-		methods:{
-			infoData(data){//初始化运费
-				console.log(data)
-				switch(data.freePostFlag){
-					case 1:
-						this.current = 0;
-						this.freightData.freePostFlag = data.freePostFlag;
-						this.freightData.freight = data.freight;
-						this.freightMoney = data.freight;
-						this.freightText = '不包邮'
-						break;
-					case 0:
-						this.current = 1;
-						this.freightData.freePostFlag = data.freePostFlag;
-						this.freightText = '包邮'
-						break;
-					case -1:
-						this.current = 2;
-						this.freightData.freePostFlag = data.freePostFlag;
-						this.freightText = '到付'
-						break;
-				}
-			},
-			freightConfim(){//提交完成运费选择
-				switch(this.freightData.freePostFlag){
-					case 1:
-						this.choiceaFreightFirst(this.freightData.freePostFlag)
-						break;
-					case 0:
-						this.choiceaFreightFirst(this.freightData.freePostFlag)
-						break;
-					case -1:
-						this.choiceaFreightFirst(this.freightData.freePostFlag)
-						break;	
-				}		
-			},
-			choiceaFreightFirst(index){//校验运费形式及运费价
-				console.log(index)
-				if(index == 1){
-					if(this.freightData.freight==0 || this.freightData.freight== ''){
-						this.$util.msg('请填写运费',2000)
-						return
-					}
-					this.$emit('handleChoiceaFreight',this.freightData)
-				}else{
-					this.freightData.freight = 0
-					this.$emit('handleChoiceaFreight',this.freightData)
-				}
-				this.hideSpec()
-			},
-			showTip(){//显示运费弹窗
-				this.$emit('showFreightAlert');
-			},
-			hideSpec() {//关闭选择数量确认弹窗
-				this.specClass = 'hide';
-				setTimeout(() => {
-					this.specClass = 'none';
-				}, 200);
-			},
-			hanldOperationConfim(data){//显示选择数量确认弹窗
-				this.specClass = 'show';
-				this.freightMoney = this.freightData.freight
-			},
-			radioChange(e) {//运费选择切换
-				this.freightData.freePostFlag = parseInt(e.target.value);
-				switch(this.freightData.freePostFlag){
-					case 1:
-						this.freightText = '不包邮'
-						break;
-					case 0:
-						this.freightText = '包邮'
-						break;
-					case -1:
-						this.freightText = '到付'
-						break;	
-				}		
-				for (let i = 0; i < this.freightList.length; i++) {
-					if (this.freightList[i].value === this.freePostFlag) {
-						this.current = i;
-						break;
-					}
-				}
-			},
-			setFreightMoney(e){//处理邮费显示
-				if(e.detail.value == ''){
-					this.freightMoney=0
-					this.freightData.freight=0
-				}else{
-					this.freightData.freight = e.detail.value
-					this.freightMoney = this.orderPriceToFixed(e.detail.value)
-				}
-			},
-			orderPriceToFixed (num){
-				let price ='';
-				price = parseInt(num).toFixed(2);
-				return price
-			},
-			discard(){
-				//丢弃
-			}
-		}
-	}
-</script>
-
-<style lang="scss">
-	.freight-template{
-		width: 100%;
-		height: auto;
-		background: #FFFFFF;
-		float: left;
-		margin-top: 24rpx;
-		.invoice-freight{
-			width: 702rpx;
-			padding: 0 24rpx;
-			height: 88rpx;
-			line-height: 88rpx;
-			font-size: $font-size-28;
-			color: $text-color;
-			background: #FFFFFF;
-			float: left;
-			font-weight: bold;
-			.freight-left{
-				float: left;
-				.icon-yunfeishuoming{
-					height: 100%;
-					padding:15rpx;
-					color: $color-system;
-					font-weight: normal;
-				}
-			}
-			.freight-right{
-				float: right;
-				color: #2A81FF;
-				.text-l{
-					margin-right: 20rpx;
-				}
-				.text{
-					line-height: 88rpx;
-					color: #ff0000;
-					margin:0 20rpx;
-					font-weight: normal;
-				}
-				.icon-xiayibu{
-					line-height: 88rpx;
-					color: #999999;
-					font-weight: normal;
-				}
-			}
-		}
-	}
-	.freight-ltitle{
-		width: 100%;
-		line-height: 60rpx;
-		height: 60rpx;
-		font-size: $font-size-28;
-		color: #333333;
-	}
-	.freight-radio{
-		width: 100%;
-		height: 88rpx;
-		line-height: 88rpx;
-		display: flex;
-		border-bottom: 1px solid #EBEBEB;
-		.row-group{
-			flex:1;
-			display: flex;
-		}
-		.row-input{
-			flex: 1;
-			height: 88rpx;
-			line-height: 88rpx;
-		}
-		.row-radio{
-			float: left;
-			transform: scale(0.6);
-		}
-		.row-text{
-			font-size: $font-size-24;
-			color: $text-color;
-		}
-	}
-	.freight-group{
-		width: 100%;
-		height: 88rpx;
-		display: flex;
-		border-bottom: 1px solid #FFFFFF;
-		flex-direction: row;
-		.text{
-			display: block;
-			flex: 1;
-			line-height: 88rpx;
-			font-size: $font-size-24;
-			color: #999999;
-			text-align: left;
-			padding-left: 10rpx;
-		}
-		.group-from{
-			flex: 1;
-			height: 40rpx;
-			padding: 20rpx;
-			line-height: 40rpx;
-			align-items: flex-start;
-			font-size: $font-size-24;
-			color: $text-color;
-			background: #F7F7F7;
-			border-radius: 14rpx;
-			margin-bottom: 20rpx;
-			margin-top: 10rpx;
-			.form-input{
-				height: 40rpx;
-				line-height: 40rpx;
-				flex-grow: 1;
-			}
-		}
-	}	
-	/* 加入购物模态层*/
-	@keyframes showPopup {
-		0% {
-			opacity: 0;
-		}
-		100% {
-			opacity: 1;
-		}
-	}
-	@keyframes hidePopup {
-		0% {
-			opacity: 1;
-		}
-		100% {
-			opacity: 0;
-		}
-	}
-	@keyframes showLayer {
-		0% {
-			transform: translateY(0);
-		}
-		100% {
-			transform: translateY(-100%);
-		}
-	}
-	@keyframes hideLayer {
-		0% {
-			transform: translateY(-100%);
-		}
-		100% {
-			transform: translateY(0);
-		}
-	}
-	@keyframes showAmnation {
-		0% {
-			top: -12rpx;
-			opacity: 0;
-		}
-		50% {
-			top: -60rpx;
-			opacity: 1;
-		}
-		100% {
-			top: -100rpx;
-			opacity: 0;
-		}
-	}
-	@keyframes hideAmnation {
-		0% {
-			top: -100rpx;
-			opacity: 0;
-		}
-		100% {
-			top: -12rpx;
-			opacity: 0;
-		}
-	}
-	.popup {
-		position: fixed;
-		top: 0;
-		width: 100%;
-		height: 100%;
-		z-index: 999;
-		display: none;
-		.mask{
-			position: fixed;
-			top: 0;
-			width: 100%;
-			height: 100%;
-			z-index: 21;
-			background-color: rgba(0, 0, 0, 0.6);
-		}
-		.layer {
-			position: fixed;
-			z-index: 22;
-			bottom: -460rpx;
-			width: 702rpx;
-			padding: 24rpx 24rpx 36rpx 24rpx;
-			height: 400rpx;
-			border-radius: 40rpx 40rpx 0 0;
-			background-color: #fff;
-			display: flex;
-			flex-wrap: wrap;
-			align-content: space-between;
-			.content {
-				width: 100%;
-			}
-			.btn {
-				width: 100%;
-				height: 88rpx;
-				display: flex;
-				.button {
-					width: 702rpx;
-					height: 88rpx;
-					color: #fff;
-					display: flex;
-					align-items: center;
-					justify-content: center;
-					font-size: $font-size-28;
-					border-radius: 14rpx;
-					background: $btn-confirm;
-				}
-			}
-		}
-		
-		&.show {
-			display: block;
-			.mask{
-				animation: showPopup 0.2s linear both;
-			}
-			.layer {
-				animation: showLayer 0.2s linear both;
-			}
-		}
-		&.hide {
-			display: block;
-			.mask{
-				animation: hidePopup 0.2s linear both;
-			}
-			
-			.layer {
-				animation: hideLayer 0.2s linear both;
-			}
-		}
-		&.none {
-			display: none;
-		}
-		&.service {
-			.row {
-				margin: 30upx 0;
-				.title {
-					font-size: 30upx;
-					margin: 10upx 0;
-				}
-				.description {
-					font-size: 28upx;
-					color: #999;
-				}
-			}
-		}
-		.layer-smimg{
-			width: 114rpx;
-			height: 114rpx;
-			float: left;
-			border-radius: 10rpx;
-			margin-right: 24rpx;
-			image{
-				width: 114rpx;
-				height: 114rpx;	
-				border-radius: 10rpx;
-			}
-		}
-		.layer-nunbox{
-			justify-content: space-between;
-			align-items: center;
-			width: 536rpx;
-			height: 88rpx;
-			padding: 13rpx 0 0 0;
-			float: left;
-			.layer-nunbox-t{
-				width: 100%;
-				height:44rpx;
-				position:relative;
-				display: flex;
-				.layer-nunbox-text{
-					line-height: 44rpx;
-					font-size: $font-size-28;
-				}
-				.number-box{
-					display: flex;
-					justify-content: center;
-					align-items: center;
-					.iconfont{
-						font-size: $font-size-32;
-						padding:0 20rpx;
-						font-size: $text-color;
-					}
-					.btn-input{
-						width: 62rpx;
-						height: 48rpx;
-						line-height: 48rpx;
-						background: #F8F8F8;
-						border-radius: 4rpx;
-						text-align: center;
-						font-size: $font-size-28;
-					}
-				}
-				.product-step{
-					position: absolute;
-					left: 45rpx;
-					bottom: 0;
-					height: 44rpx;
-					background: #FFFFFF;
-				}
-			}
-			.layer-nunbox-b{
-				width: 100%;
-				height:44rpx;
-				margin-top: 13rpx;
-			}
-			.text{
-				line-height: 44rpx;
-				font-size: $font-size-28;
-				.p{
-					color: #FF2A2A;
-				}
-				.p:first-child{
-					margin-left: 30rpx;
-				}
-				.p.sm{
-					font-size: $font-size-24;
-				}
-			}
-		}
-	}	
-</style>

+ 0 - 685
components/cm-module/creatOrder/sellerInvoice.vue

@@ -1,685 +0,0 @@
-<template name="invoice">
-	<view class="invoice-template">
-		 <!-- 发票信息 -->
-		<view class="invoice-title" @tap.stop="hanldOperationConfim">
-			<text class="text">发票信息:</text>
-			<text class="iconfont icon-xiayibu"></text>
-		</view>
-		<view class="invoice-text">
-			<text>{{invoiceText}}</text>
-		</view>
-		<!--底部选择模态层弹窗组件 -->
-		<view class="popup spec" :class="specClass"  @touchmove.stop.prevent="discard" @tap="choiceaInvoiceConfim">
-			<!-- 遮罩层 -->
-			<view class="mask"></view>
-			<view class="layer" @tap.stop="discard">
-				<view class="content clearfix">
-					<view class="invoice-ltitle">发票类型</view>
-					<view class="invoice-radio">
-						<radio-group class="row-group" @change="radioChange">
-							<label class="row-input" v-for="(item, index) in invoiceTypeList" :key="item.value">
-								<radio class="row-radio" :value="item.value" :checked="index === current" color="#E15616"/>
-								<view class="row-text">{{item.name}}</view>
-							</label>
-						</radio-group>
-					</view>
-					<view class="invoice-main from" v-if="invoiceType == '3'">
-						<view class="invoice-from">
-							<view class="label">单位名称:</view>
-							<input class="form-input" type="text" v-model="invoiceData.invoiceTitle" placeholder="请填写单位信息(必填)" maxlength="20">
-						</view>
-						<view class="invoice-from">
-							<view class="label">纳税人识别号:</view>
-							<input class="form-input" type="text" v-model="invoiceData.corporationTaxNum" placeholder="请填写纳税人识别号(必填)" maxlength="20">
-						</view>
-						<view class="invoice-from">
-							<view class="label">注册地址:</view>
-							<input class="form-input" type="text" v-model="invoiceData.registeredAddress" placeholder="请填写单位注册地址(必填)" maxlength="30">
-						</view>
-						<view class="invoice-from">
-							<view class="label">注册电话:</view>
-							<input class="form-input" type="text" v-model="invoiceData.registeredPhone" placeholder="请填写注册电话(必填)" maxlength="15">
-						</view>
-						<view class="invoice-from">
-							<view class="label">开户银行:</view>
-							<input class="form-input" type="text" v-model="invoiceData.openBank"   placeholder="请填写开户银行(必填)" maxlength="10">
-						</view>
-						<view class="invoice-from">
-							<view class="label">银行账号:</view>
-							<input class="form-input" 
-								   type="text" 
-								   v-model="invoiceData.bankAccountNo" 
-								   placeholder="请填写银行账号(必填)" 
-								   maxlength="19">
-						</view>
-					</view>
-					<view class="invoice-main" v-if="invoiceType == '2'">
-						<view class="invoice-ltitle">发票内容</view>
-						<view class="invoice-group tit">
-							<checkbox-group class="row-group" @change="checkboxChange">
-								<view class="text">商品明细</view>
-								<checkbox class="row-radio" value="明细"  :checked="inventoryChecked" color="#E15616"></checkbox>
-							</checkbox-group>
-						</view>
-						<view class="invoice-ltitle">发票抬头</view>
-						<view class="invoice-group tit">
-							<radio-group class="row-group radio" @change="radioChangeTitle">
-								<label class="row-input" v-for="(item, index) in invoiceTitleList" :key="item.value">
-									<radio class="row-radio" :value="item.value" :checked="index === titleCurrent" color="#E15616"/>
-									<view class="row-text">{{item.name}}</view>
-								</label>
-							</radio-group>
-						</view>
-						<view class="invoice-group from">
-							<view class="group-from" v-if="peopleInvoiceData.invoiceTitleType == '0'">
-								<input class="form-input" type="text" v-model="peopleInvoiceData.invoiceTitle"   placeholder="请填写个人抬头" maxlength="20">
-							</view>
-							<view class="group-from" v-if="peopleInvoiceData.invoiceTitleType == '1'">
-								<input class="form-input" type="text" v-model="peopleInvoiceData.invoiceTitle"   placeholder="请填写公司抬头" maxlength="20">
-							</view>
-							<view class="group-from" v-if="peopleInvoiceData.invoiceTitleType == '1'">
-								<input class="form-input" type="text" v-model="peopleInvoiceData.corporationTaxNum"   placeholder="请填写纳税人识别号" maxlength="20">
-							</view>
-						</view>
-					</view>
-					<view class="invoice-main" v-if="invoiceType == '1'">
-						<view class="invoice-none">不开具发票信息</view>
-					</view>
-				</view>
-				<view class="btn">
-					<view class="button add" @click="choiceaInvoiceConfim">完成</view>
-				</view>
-			</view>
-		</view>
-	</view>
-</template>
-
-<script>
-	import { getFindInvoice,updateInvoice } from "@/api/order.js"
-	export default{
-		name:"invoice",
-		data() {
-			return{
-				invoiceText:'不开发票',
-				specClass: '',//规格弹窗css类,控制开关动画
-				invoiceType:'1',//发票类型
-				current:0,
-				titleCurrent:0,
-				inventoryChecked:false,
-				invoiceTypeList:[
-					{value:'1',name:'不开发票'},
-					{value:'2',name:'普通发票'},
-					{value:'3',name:'增值税发票'},
-				],
-				invoiceTitleList:[
-					{value:'0',name:'个人'},
-					{value:'1',name:'公司'},
-				],
-				peopleInvoiceData:{
-					invoiceTitle:'',
-					invoiceContent:'',
-					corporationTaxNum:'',
-					invoiceTitleType:'0'//发票抬头类型 1企业 0个人
-				},
-				invoiceData:{
-					id:'',
-					invoiceTitle:'',	 //单位名称
-					corporationTaxNum:'',//纳税人识别号
-					registeredAddress: '',//单位地址
-					registeredPhone:'',	 //注册电话
-					openBank:'',		//开户银行
-					bankAccountNo: ''  ,//银行账号
-				},
-			}
-		},
-		created(){
-			// this.initData(this.invoiceDatas)
-		},
-		computed: {
-
-		},
-		methods:{
-			getUseFindInvoice(){//获取发票信息
-				this.$api.getComStorage('orderUserInfo').then((resolve) =>{
-					getFindInvoice({userId:resolve.userID}).then(response =>{
-						if(response.data == null){
-							this.invoiceData = Object.assign(this.invoiceData,'',{type:0})
-						}else{
-							this.invoiceData = response.data
-						} 
-					})
-				})
-			},
-			updateInvoiceFn(){//保存发票信息
-				this.$api.getComStorage('orderUserInfo').then((resolve) =>{
-					let params =Object.assign(this.invoiceData,'',{userId:resolve.userID})
-					updateInvoice(params).then(response =>{})
-				})
-			},
-			choiceaInvoiceConfim(){
-				switch(this.invoiceType){
-					case '1':
-						this.choiceaInvoiceThree()
-						this.invoiceText = '不开发票'
-						break;
-					case '2':
-						this.choiceaInvoiceTwo()
-						this.invoiceText = this.peopleInvoiceData.invoiceTitle
-						break;
-					case '3':
-						this.choiceaInvoiceFirst()
-						this.invoiceText = this.invoiceData.invoiceTitle
-						break;
-						default:
-						this.choiceaInvoiceThree()
-						this.invoiceText = '不开发票'
-				}
-			},
-			choiceaInvoiceFirst(){//增值税发票
-				if(this.invoiceData.invoiceTitle == ""){
-					this.$util.msg('请输入单位名称',2000)
-					return
-				}
-				if(this.invoiceData.corporationTaxNum == ""){
-					this.$util.msg('请输入纳税人识别号',2000)
-					return
-				}
-				if(this.invoiceData.registeredAddress == ""){
-					this.$util.msg('请输入单位地址',2000)
-					return
-				}
-				if(this.invoiceData.registeredPhone == ""){
-					this.$util.msg('请输入注册电话',2000)
-					return
-				}
-				if(this.invoiceData.openBank == ""){
-					this.$util.msg('请输入开户银行',2000)
-					return
-				}
-				if(this.invoiceData.bankAccountNo == ""){
-					this.$util.msg('请输入银行账号',2000)
-					return
-				}
-				this.updateInvoiceFn()
-				this.$emit('handleChoiceaInvoice',Object.assign(this.invoiceData,'',{type:2}))
-				this.hideSpec()
-			},
-			choiceaInvoiceTwo(){//普通发票			
-				switch(this.peopleInvoiceData.invoiceTitleType){
-					case '0':
-						if(this.peopleInvoiceData.invoiceContent == ''){
-							this.$util.msg('请选择商品明细',2000)
-							return
-						}
-						if(this.peopleInvoiceData.invoiceTitle == ""){
-							this.$util.msg('请输入个人抬头',2000)
-							return
-						}
-						break;
-					case '1':
-						if(this.peopleInvoiceData.invoiceContent == ''){
-							this.$util.msg('请选择商品明细',2000)
-							return
-						}
-						if(this.peopleInvoiceData.invoiceTitle == ""){
-							this.$util.msg('请输入公司抬头',2000)
-							return
-						}
-						if(this.peopleInvoiceData.corporationTaxNum == ""){
-							this.$util.msg('请输入纳税人识别号',2000)
-							return
-						}
-						break;
-				}
-				this.$emit('handleChoiceaInvoice',Object.assign(this.peopleInvoiceData,'',{type:1}))
-				this.hideSpec()
-			},
-			choiceaInvoiceThree(){//不开发票
-				this.invoiceData = {}
-				this.$emit('handleChoiceaInvoice',Object.assign(this.invoiceData,'',{type:0}))
-				this.hideSpec()
-			},
-			hideSpec() {//关闭弹窗
-				this.specClass = 'hide';
-				setTimeout(() => {
-					this.specClass = 'none';
-				}, 200);
-			},
-			hanldOperationConfim(){//显示发票弹窗
-				this.specClass = 'show';
-			},
-			radioChange(e) {
-				this.invoiceType = e.target.value;
-				for (let i = 0; i < this.invoiceTypeList.length; i++) {
-					if (this.invoiceTypeList[i].value === this.invoiceType) {
-						this.current = i;
-						break;
-					}
-				}
-				switch(this.invoiceType){
-					case '2':
-						this.peopleInvoiceData.invoiceTitleType = "0"
-						this.titleCurrent = 0
-						break;
-					case '3':
-						this.getUseFindInvoice()
-						break;
-				}		
-			},
-			radioChangeTitle(e) {
-				this.peopleInvoiceData.invoiceTitleType = e.target.value;
-				for (let i = 0; i < this.invoiceTitleList.length; i++) {
-					if (this.invoiceTitleList[i].value === this.peopleInvoiceData.invoiceTitleType) {
-						this.titleCurrent = i;
-						break;
-					}
-				}
-				switch(this.peopleInvoiceData.invoiceTitleType){
-					case '1':
-						this.inventoryChecked = false
-						this.peopleInvoiceData.invoiceTitle = ""
-						this.peopleInvoiceData.invoiceContent = ""
-						break;
-				}		
-			},
-			checkboxChange(e){
-				this.inventoryChecked = !this.inventoryChecked
-				this.peopleInvoiceData.invoiceContent = e.detail.value[0]
-			},
-			inputBankNum(val) {
-				if (/\S{5}/.test(val)) {
-					this.invoiceData.bankAccountNo = val.replace(/\s/g, '').replace(/(.{4})/g, "$1 ");
-				}
-			},
-			discard(){
-				//丢弃
-			}
-		}
-	}
-</script>
-
-<style lang="scss">
-	.invoice-template{
-		width: 100%;
-		height: auto;
-		background: #FFFFFF;
-		float: left;
-		margin-top: 24rpx;
-		.invoice-title{
-			width: 702rpx;
-			padding: 0 24rpx;
-			height: 88rpx;
-			line-height: 88rpx;
-			position: relative;
-			border-bottom: 1px solid #EBEBEB;
-			.text{
-				font-size: $font-size-28;
-				color: $text-color;
-			}
-			.iconfont{
-				width: 50rpx;
-				height: 88rpx;
-				line-height: 88rpx;
-				color: #999999;
-				display: block;
-				position: absolute;
-				right: 0;
-				top: 0;
-			}
-		}
-		.invoice-text{
-			width: 702rpx;
-			padding: 0 24rpx;
-			font-size: $font-size-24;
-			color: #666666;
-			line-height: 60rpx;
-		}
-		.invoice-ltitle{
-			width: 100%;
-			line-height: 60rpx;
-			height: 60rpx;
-			font-size: $font-size-28;
-			color: #333333;
-		}
-		.invoice-radio{
-			width: 100%;
-			height: 88rpx;
-			line-height: 88rpx;
-			display: flex;
-			border-bottom: 1px solid #EBEBEB;
-			.row-group{
-				flex:1;
-				display: flex;
-			}
-			.row-input{
-				flex: 1;
-				height: 88rpx;
-				line-height: 88rpx;
-			}
-			.row-radio{
-				float: left;
-				transform: scale(0.6);
-			}
-			.row-text{
-				font-size: $font-size-24;
-				color: $text-color;
-			}
-		}
-		.invoice-main{
-			width: 100%;
-			height: auto;
-			margin-top: 30rpx;
-			&.from{
-				padding-bottom: 40rpx;
-			}
-			.invoice-none{
-				line-height: 60rpx;
-				height: 60rpx;
-				font-size: $font-size-24;
-				color: #666666;
-				text-align: center;
-			}
-			.invoice-from{
-				width: 662rpx;
-				height: 40rpx;
-				padding: 20rpx;
-				line-height: 40rpx;
-				align-items: flex-start;
-				font-size: $font-size-28;
-				color: $text-color;
-				background: #F7F7F7;
-				border-radius: 14rpx;
-				margin-bottom: 20rpx;
-				.label{
-					height: 40rpx;
-					line-height: 40rpx;
-					float: left;
-				}
-				.form-input{
-					height: 40rpx;
-					line-height: 40rpx;
-					flex-grow: 1;
-					padding-left: 20rpx;
-				}
-			}
-			.invoice-group{
-				width: 100%;
-				height: 88rpx;
-				display: flex;
-				border-bottom: 1px solid #EBEBEB;
-				&.tit{
-					margin-bottom: 30rpx;
-				}
-				&.from{
-					margin-bottom: 30rpx;
-					border-bottom: 1px solid #FFFFFF;
-					flex-direction: row;
-					display: block;
-					.group-from{
-						flex: 1;
-						height: 40rpx;
-						padding: 20rpx;
-						line-height: 40rpx;
-						align-items: flex-start;
-						font-size: $font-size-24;
-						color: $text-color;
-						background: #F7F7F7;
-						border-radius: 14rpx;
-						margin-bottom: 20rpx;
-						.form-input{
-							height: 40rpx;
-							line-height: 40rpx;
-							flex-grow: 1;
-						}
-					}
-				}
-				.row-group{
-					line-height: 88rpx;
-					flex: 1;
-					.text{
-						font-size: $font-size-24;
-						color: $text-color;
-						line-height: 88rpx;
-						float: left;
-					}
-					.row-radio{
-						float: right;
-						transform: scale(0.8);
-						border-radius: 50%;
-					}
-					&.radio{
-						display: flex;
-						.row-input{
-							flex: 1;
-							height: 88rpx;
-							line-height: 88rpx;
-						}
-						.row-radio{
-							float: left;
-							transform: scale(0.6);
-						}
-						.row-text{
-							font-size: $font-size-24;
-							color: $text-color;
-						}
-					}
-				}
-			}
-		}
-	}
-	/* 加入购物模态层*/
-	@keyframes showPopup {
-		0% {
-			opacity: 0;
-		}
-		100% {
-			opacity: 1;
-		}
-	}
-	@keyframes hidePopup {
-		0% {
-			opacity: 1;
-		}
-		100% {
-			opacity: 0;
-		}
-	}
-	@keyframes showLayer {
-		0% {
-			transform: translateY(0);
-		}
-		100% {
-			transform: translateY(-100%);
-		}
-	}
-	@keyframes hideLayer {
-		0% {
-			transform: translateY(-100%);
-		}
-		100% {
-			transform: translateY(0);
-		}
-	}
-	@keyframes showAmnation {
-		0% {
-			top: -12rpx;
-			opacity: 0;
-		}
-		50% {
-			top: -60rpx;
-			opacity: 1;
-		}
-		100% {
-			top: -100rpx;
-			opacity: 0;
-		}
-	}
-	@keyframes hideAmnation {
-		0% {
-			top: -100rpx;
-			opacity: 0;
-		}
-		100% {
-			top: -12rpx;
-			opacity: 0;
-		}
-	}
-	.popup {
-		position: fixed;
-		top: 0;
-		width: 100%;
-		height: 100%;
-		z-index: 999;
-		display: none;
-		.mask{
-			position: fixed;
-			top: 0;
-			width: 100%;
-			height: 100%;
-			z-index: 21;
-			background-color: rgba(0, 0, 0, 0.6);
-		}
-		.layer {
-			position: absolute;
-			z-index: 22;
-			bottom: -1010rpx;
-			width: 702rpx;
-			padding: 24rpx 24rpx 65rpx 24rpx;
-			height: 920rpx;
-			border-radius: 40rpx 40rpx 0 0;
-			background-color: #fff;
-			display: flex;
-			flex-wrap: wrap;
-			align-content: space-between;
-			.content {
-				width: 100%;
-			}
-			.btn {
-				width: 100%;
-				height: 88rpx;
-				display: flex;
-				.button {
-					width: 702rpx;
-					height: 88rpx;
-					color: #fff;
-					display: flex;
-					align-items: center;
-					justify-content: center;
-					font-size: $font-size-28;
-					border-radius: 14rpx;
-					background: $btn-confirm;
-				}
-			}
-		}
-		
-		&.show {
-			display: block;
-			.mask{
-				animation: showPopup 0.2s linear both;
-			}
-			.layer {
-				animation: showLayer 0.2s linear both;
-			}
-		}
-		&.hide {
-			display: block;
-			.mask{
-				animation: hidePopup 0.2s linear both;
-			}
-			
-			.layer {
-				animation: hideLayer 0.2s linear both;
-			}
-		}
-		&.none {
-			display: none;
-		}
-		&.service {
-			.row {
-				margin: 30upx 0;
-				.title {
-					font-size: 30upx;
-					margin: 10upx 0;
-				}
-				.description {
-					font-size: 28upx;
-					color: #999;
-				}
-			}
-		}
-		.layer-smimg{
-			width: 114rpx;
-			height: 114rpx;
-			float: left;
-			border-radius: 10rpx;
-			margin-right: 24rpx;
-			image{
-				width: 114rpx;
-				height: 114rpx;	
-				border-radius: 10rpx;
-			}
-		}
-		.layer-nunbox{
-			justify-content: space-between;
-			align-items: center;
-			width: 536rpx;
-			height: 88rpx;
-			padding: 13rpx 0 0 0;
-			float: left;
-			.layer-nunbox-t{
-				width: 100%;
-				height:44rpx;
-				position:relative;
-				display: flex;
-				.layer-nunbox-text{
-					line-height: 44rpx;
-					font-size: $font-size-28;
-				}
-				.number-box{
-					display: flex;
-					justify-content: center;
-					align-items: center;
-					.iconfont{
-						font-size: $font-size-32;
-						padding:0 20rpx;
-						font-size: $text-color;
-					}
-					.btn-input{
-						width: 62rpx;
-						height: 48rpx;
-						line-height: 48rpx;
-						background: #F8F8F8;
-						border-radius: 4rpx;
-						text-align: center;
-						font-size: $font-size-28;
-					}
-				}
-				.product-step{
-					position: absolute;
-					left: 45rpx;
-					bottom: 0;
-					height: 44rpx;
-					background: #FFFFFF;
-				}
-			}
-			.layer-nunbox-b{
-				width: 100%;
-				height:44rpx;
-				margin-top: 13rpx;
-			}
-			.text{
-				line-height: 44rpx;
-				font-size: $font-size-28;
-				.p{
-					color: #FF2A2A;
-				}
-				.p:first-child{
-					margin-left: 30rpx;
-				}
-				.p.sm{
-					font-size: $font-size-24;
-				}
-			}
-		}
-	}	
-</style>

+ 0 - 343
components/cm-module/echone-sku/echone-sku.vue

@@ -1,343 +0,0 @@
-<template>
-	<popup-bottom :show="show" @close="closeSkuBox">
-		<view class="sku-box" :style="{paddingBtoom:isIphoneX ? '188rpx' : '120px'}">
-				<view class="sku-header container">
-					<image class="goods-img" :src="selectSkuInfo[cbImage]"></image>
-					<view class="sku-goods-info">
-						<view class="money" :style="{color:themeColor}">
-							<text class="symbol fs-26">¥</text>
-							<text class="amount fs-38">{{selectSkuInfo[cbPrice] | toFixed2}}</text>
-						</view>
-						<view class="stock fs-24">
-							库存{{selectSkuInfo[cbStock]}}件
-						</view>
-						<view class="fs-24">
-							已选:"{{selectSkuInfo[cbValue]}}"
-						</view>
-					</view>
-				</view>
-				<view class="sku-item container" v-for="(sku,sIndex) in mySpecifications" :key="sku[speId]">
-					<view class="sku-name">{{sku[speName]}}</view>
-					<view class="sku-content">
-						<text 
-							class="sku-content-item" 
-							v-for="(item,index) in sku[speList]"
-							:key="index" 
-							:style="{
-								border: index===sku.sidx?`${borderWidth}px solid ${themeColor}`:`${borderWidth}px solid transparent`,
-								color:index===sku.sidx?themeColor:'#333',
-								backgroundColor: index===sku.sidx?'#FFFFFF':'#f5f5f5' }" 
-							@click="selectSku(sIndex,index)"
-						>{{item}}</text>
-					</view>
-				</view>
-				<view class="sku-item container count">
-					<view class="sku-name">数量</view>
-					<view class="count-box">
-						<text class="minus" :class="{disabled:buyCount<=1}" @click="handleBuyCount('minus')">-</text>
-						<input class="count-content" v-model="buyCount" :disabled="selectSkuInfo[cbStock]<=0"/>
-						<text class="add" :class="{disabled:buyCount>=selectSkuInfo[cbStock]}" @click="handleBuyCount('add')">+</text>
-					</view>
-				</view>
-				<view class="tui-right-flex tui-popup-btn" :style="{bottom:isIphoneX ? '20rpx' : '0'}">
-					<view class="tui-flex-1"><tui-button height="72rpx" :size="28" type="danger" shape="circle" @click="handleConfirm('add')">加入购物车</tui-button></view>
-					<view class="tui-flex-1"><tui-button height="72rpx" :size="28" type="warning" shape="circle" @click="handleConfirm('buy')">立即购买</tui-button></view>
-				</view>
-			</view>
-	</popup-bottom>
-</template>
-
-<script>
-	import PopupBottom from './popup-bottom'
-	export default {
-		components:{
-			PopupBottom
-		},
-		filters: {
-			toFixed2: function (value) {
-			  if(!value) return '0.00'
-			  return Number(value).toFixed(2)
-			}
-		},
-		props: {
-			show: {
-				type: Boolean,
-				default: false
-			},
-			themeColor: {
-				type: String,
-				default: '#1ac792'
-			},
-			combinations: {
-				type: Array,
-				default(){
-					return []
-				}
-			},
-			specifications: {
-				type: Array,
-				default(){
-					return []
-				}
-			},
-			defaultSelectIndex: {
-				type: Number,
-				default: 0
-			},
-			combinationsProps: {
-				type: Object,
-				default(){
-					return {
-						id: 'id',
-						value: 'value',
-						image: 'image',
-						price: 'price',
-						stock: 'stock'
-					}
-				}
-			},
-			specificationsProps: {
-				type: Object,
-				default(){
-					return {
-						id: 'id',
-						list: 'list',
-						name: 'name'
-					}
-				}
-			},
-		},
-		data() {
-			return {
-				isIphoneX:this.$store.state.isIphoneX,
-				buyCount: 1,
-				selectedIndex: 0,
-				borderWidth: uni.upx2px(2),
-				mySpecifications: [],
-				selectSkuInfo: {},
-				cbStockNone:false
-			}
-		},
-		watch:{
-			specifications(val){
-				this.initSkuData()
-			}
-		},
-		computed: {
-			speId() {
-				return this.specificationsProps.id
-			},
-			speList() {
-				return this.specificationsProps.list
-			},
-			speName() {
-				return this.specificationsProps.name
-			},
-			cbValue() {
-				return this.combinationsProps.value
-			},
-			cbImage() {
-				return this.combinationsProps.image
-			},
-			cbPrice() {
-				return this.combinationsProps.price
-			},
-			cbStock() {
-				return this.combinationsProps.stock
-			}
-		},
-		created() {
-			console.log(this.combinationsProps)
-			// if(this.specifications.length) {
-				this.initSkuData()
-			// }
-		},
-		methods: {
-			initSkuData() {
-				this.selectedIndex = this.defaultSelectIndex
-				console.log(this.combinations)
-				this.selectSkuInfo = this.combinations[this.selectedIndex]
-				this.mySpecifications = JSON.parse(JSON.stringify(this.specifications))
-				console.log(this.mySpecifications)
-				this.mySpecifications.forEach((item,idx) => {
-					//当前规格组合值
-					const selects = this.combinations[this.selectedIndex][this.cbValue].split(',')
-					//每类规格对应其列表的下标 并记录在属性sidx在mySpecifications的子对象中
-					const sIndex = item[this.speList].indexOf(selects[idx])
-					this.$set(item,'sidx',sIndex>-1?sIndex:0)
-				})
-			},
-			selectSku(sIndex,index) {
-				this.mySpecifications[sIndex].sidx = index
-				const selectInfo = this.mySpecifications.reduce((prev,cur) => {
-					if(prev) {
-						return prev+','+cur[this.speList][cur.sidx]
-					}else {
-						return cur[this.speList][cur.sidx]
-					}
-				},'')
-				this.selectedIndex = this.combinations.findIndex(item => item[this.cbValue] === selectInfo)
-				this.selectSkuInfo = this.combinations[this.selectedIndex]
-				// if(this.selectSkuInfo[this.cbStock] === 0) {
-				// 	this.buyCount = 0
-				// }
-				if(this.selectSkuInfo[this.cbStock] !== 0 && this.buyCount*1 === 0) {
-					this.buyCount = 1
-				}
-			},
-			handleBuyCount(type) {
-				if(type === 'minus') {
-					if(this.buyCount <= 1) return
-					this.buyCount = this.buyCount*1 - 1
-				}
-				if(type === 'add') {
-					if(this.buyCount >= this.selectSkuInfo[this.cbStock]) return
-					this.buyCount = this.buyCount*1 + 1
-				}
-			},
-			closeSkuBox() {
-				this.$emit('close')
-			},
-			handleConfirm(type) {
-				const result = this.selectSkuInfo
-				result.count = this.buyCount*1
-				let data = { type:type ,result:result}
-				this.$emit('confirm', data)
-			}
-		}
-	}
-</script>
-
-<style>
-	page {
-		font-size: 28upx;
-		color: #333333;
-	}
-</style>
-<style lang="scss" scoped>
-	@mixin flex-center {
-		display: flex;
-		align-items: center;
-	}
-
-	@mixin flex-center-center {
-		display: flex;
-		justify-content: center;
-		align-items: center;
-	}
-
-	$font-color-light: #999999;
-	$page-bg-color-grey: #f5f5f5;
-
-	.fs-24 {
-		font-size: 24upx;
-	}
-
-	.fs-26 {
-		font-size: 26upx;
-	}
-
-	.fs-38 {
-		font-size: 38upx;
-	}
-
-	.container {
-		width: 690upx;
-		margin: 0 auto;
-	}
-
-	.sku-box {
-		min-height: 500upx;
-		background-color: #FFFFFF;
-		padding-bottom: 120upx;
-		.sku-header {
-			display: flex;
-			padding: 40upx 0 20upx;
-			.goods-img {
-				width: 200upx;
-				height: 200upx;
-				border-radius: 6upx;
-				border: 4upx solid #FFFFFF;
-				flex: none;
-				margin-top: -80upx;
-			}
-		}
-		.sku-goods-info {
-			margin-left: 20upx;
-			.money {
-				border: none;
-				padding-bottom: 0;
-			}
-			.stock {
-				color: $font-color-light;
-			}
-		}
-		.sku-item {
-			padding: 30upx 0;
-			.sku-name {
-				font-size: 30upx;
-			}
-			.sku-content {
-				border-bottom: 2upx solid $page-bg-color-grey;
-				padding: 20upx 0;
-				@include flex-center;
-				flex-wrap: wrap;
-				.sku-content-item {
-					padding: 16upx 20upx;
-					border-radius: 6upx;
-					margin: 0 30upx 20upx 0;
-				}
-			}
-			&.count {
-				@include  flex-center;
-				justify-content: space-between;
-				.count-box {
-					@include flex-center;
-					text,.count-content {
-						@include flex-center-center;
-						width: 70upx;
-						height: 70upx;
-						font-size: 32upx;
-						border: 2upx solid $page-bg-color-grey;
-					}
-					.add,.minus {
-						font-size: 44upx;
-					}
-					.count-content {
-						border-width: 2upx 0;
-						text-align: center;
-					}
-				}
-			}
-		}
-		.confirm-btn {
-			@include flex-center-center;
-			height: 80upx;
-			border-radius: 80upx;
-			color: #FFFFFF;
-			font-size: 32upx;
-			margin-top: 10upx;
-		}
-	}
-
-	[class*=disabled] {
-		color: $font-color-light;
-		opacity: .7;
-	}
-	.tui-right-flex {
-		display: flex;
-		align-items: center;
-		justify-content: center;
-	}
-	.tui-popup-btn {
-		width: 100%;
-		position: absolute;
-		left: 0;
-		bottom: 0;
-		z-index: 9999;
-	}
-	.tui-flex-1 {
-		flex: 1;
-		padding: 16rpx;
-	}
-</style>

+ 0 - 78
components/cm-module/echone-sku/popup-bottom.vue

@@ -1,78 +0,0 @@
-<template>
-	<view @touchmove.stop.prevent>
-		<view class="tui-popup-class tui-bottom-popup" :class="{'tui-popup-show':show}" :style="{background:bgcolor}">
-			<slot></slot>
-		</view>
-		<view class="tui-popup-mask" :class="[show?'tui-mask-show':'']" v-if="mask" @tap="handleClose"></view>
-	</view>
-</template>
-
-<script>
-	export default {
-		name: "PopupBottom",
-		props: {
-			//是否需要mask
-			mask: {
-				type: Boolean,
-				default: true
-			},
-			//控制显示
-			show: {
-				type: Boolean,
-				default: false
-			},
-			//背景颜色
-			bgcolor: {
-				type: String,
-				default: '#FFFFFF'
-			},
-		},
-		methods: {
-			handleClose() {
-				if (!this.show) {
-					return;
-				}
-				this.$emit('close');
-			}
-		}
-	}
-</script>
-
-<style lang="scss">
-	.tui-bottom-popup {
-		width: 100%;
-		position: fixed;
-		left: 0;
-		right: 0;
-		bottom: 0;
-		z-index: 99999;
-		visibility: hidden;
-		transform: translate3d(0, 100%, 0);
-		transform-origin: center;
-		transition: all 0.3s ease-in-out;
-		min-height: 20rpx;
-	}
-
-	.tui-popup-show {
-		transform: translate3d(0, 0, 0);
-		visibility: visible;
-	}
-
-	.tui-popup-mask {
-		position: fixed;
-		top: 0;
-		left: 0;
-		right: 0;
-		bottom: 0;
-		background: rgba(0, 0, 0, 0.3);
-		z-index: 99996;
-		transition: all 0.3s ease-in-out;
-		opacity: 0;
-		visibility: hidden;
-	}
-
-	.tui-mask-show {
-		opacity: 1;
-		visibility: visible;
-	}
-</style>

+ 0 - 194
components/cm-module/headerNavbar/header-poduct.vue

@@ -1,194 +0,0 @@
-<template name="headerNavbar">
-	<!-- 自定义导航栏 -->
-	<view class='navbar-wrap' :class="[headerColor? 'bg-color' : 'no-color']" :style="{height:navbarHeight+'px',paddingTop:statusBarHeight+'px'}"> 
-	  	<view class="navbar-text" :style="{lineHeight:(navbarHeight - statusBarHeight)+'px;',fontSize:fontSizeSetting+'px;'}">
-	    	{{navbarData.title ? navbarData.title : " "}}
-	  	</view>
-	  	<view class="navbar-icon" v-if="navbarData.showCapsule ? navbarData.showCapsule : true" 
-			  :style="{top:navbarBtn.top + statusBarHeight+'px;',lineHeight:navbarBtn.height+'px;',left:(navbarBtn.right+5)+'px;',width:navbarBtn.height+'px;',height:navbarBtn.height+'px;'}">
-			  <text v-if='haveBack' @click="_goBack" class="iconfont icon-fanhui"></text>
-			  <text v-else  @click="_goHome" class="iconfont icon-shouye"></text>
-	  	</view>
-	</view>
-</template>
-
-<script>
-	var self;
-	export default{
-		name:'headerNavbar',
-		props:{
-		    navbarData: { // 由父页面传递的数据
-				type: Object
-		    },
-			systeminfo:{
-				type:Object
-			},
-			headerBtnPosi:{
-				type:Object
-			},
-			page:{
-				type:Number
-			},
-			headerColor:{
-				type:Boolean
-			},
-			headerTitle:{
-				type:String
-			},
-			type:{
-				type:String
-			},
-		},
-		data() {
-			return{
-				headerType:'',
-				haveBack: true, // 是否有返回按钮,true 有 false 没有 若从分享页进入则为 false
-			    statusBarHeight: 0, // 状态栏高度
-			    navbarHeight: 0, // 顶部导航栏高度,
-			    navbarBtn: { // 胶囊位置信息
-			      height: 0,
-			      width: 0,
-			      top: 0,
-			      bottom: 0,
-			      right: 0
-				},
-				platform:'',
-				fontSizeSetting:0
-			}
-		},
-		created() {
-			this.headerType = this.type
-			this.fontSizeSetting = this.systeminfo.fontSizeSetting
-			let statusBarHeight = this.systeminfo.statusBarHeight // 状态栏高度
-			let headerPosi = this.headerBtnPosi // 胶囊位置信息
-		    /**
-		     * wx.getMenuButtonBoundingClientRect() 坐标信息以屏幕左上角为原点
-		     * 菜单按键宽度: 87
-		     * 菜单按键高度: 32
-		     * 菜单按键左边界坐标: 278
-		     * 菜单按键上边界坐标: 26
-		     * 菜单按键右边界坐标: 365
-		     * 菜单按键下边界坐标: 58
-		     */
-			let btnPosi = { // 胶囊实际位置,坐标信息不是左上角原点
-			      height: headerPosi.height,
-			      width: headerPosi.width,
-			      // 胶囊top - 状态栏高度
-			      top: headerPosi.top - statusBarHeight,
-			      // 胶囊bottom - 胶囊height - 状态栏height (现胶囊bottom 为距离导航栏底部的长度)
-			      bottom: headerPosi.bottom - headerPosi.height - statusBarHeight,
-			      // 屏幕宽度 - 胶囊right
-			      right: this.systeminfo.screenWidth - headerPosi.right
-			}
-			let haveBack;
-			if (getCurrentPages().length === 1) { // 当只有一个页面时
-			     haveBack = false;
-			} else {
-			     haveBack = true;
-			}
-		    this.haveBack=haveBack, // 获取是否是通过分享进入的小程序
-		    this.statusBarHeight=statusBarHeight,
-		    this.navbarHeight= headerPosi.bottom + btnPosi.bottom, // 原胶囊bottom + 现胶囊bottom
-			this.$parent.navbarHeight = this.navbarHeight
-			this.$parent.statusBarHeight = this.statusBarHeight
-			// console.log(this.navbarHeight);
-		    this.navbarBtn=btnPosi
-		},
-		onLoad(){
-			
-		},
-		methods:{
-			_goBack: function () {
-		      	uni.navigateBack({
-		        	delta: this.page
-		      	});
-		    },
-		    _goHome: function () {
-		      	uni.switchTab({
-		        	url: '/pages/tabBar/home/home'
-		      	})
-		    }
-		},
-		onShow(){
-	
-		}
-	}
-</script>
-
-<style lang="scss">
-	.navbar-wrap {
-		 position: fixed;
-		 width: 100%;
-		 top: 0;
-		 z-index: 100000;
-		 box-sizing: border-box;
-		 &.bg-color{
-			animation: showColor 0.3s ease-in-out both;
-		 }
-		 &.no-color{
-		    animation: hideColor 0.3s ease-in-out both;
-		 }
-	}
-	.navbar-text {
-		 text-align: center;
-		 color: #000000;
-		 font-weight: 500;
-	}
-	.navbar-icon {
-		 position: fixed;
-		 display: flex;
-		 border-radius: 50%;
-		 text-align: center;
-		 background: rgba(255,255,255,0.2);
-		 border: 1px solid rgba(0,0,0, 0.1);
-		 box-sizing: border-box;
-	}
-	.navbar-icon .iconfont {
-		 height: 100%;
-		 width: 100%;
-		 font-size: 38rpx;
-		 font-weight: bold;
-		 display: inline-block;
-		 overflow: hidden;
-	}
-	.navbar-icon view {
-		 height: 18px;
-		 border-left: 0.5px solid rgba(0,0,0, 0.3);
-		 margin-top: 6px;
-	}
-	.navbar-loading {
-		 background: #fff;
-		 text-align: center;
-	}
-	@keyframes showColor {
-		0% {background: rgba(255,255,255,0);}
-		50% {background: rgba(255,255,255,0.5);}
-		100% {background: rgba(255,255,255,1);}
-	}
-	@keyframes hideColor {
-		0% {background: rgba(255,255,255,1);}
-		50% {background: rgba(255,255,255,0.5);}
-		100% {background: rgba(255,255,255,0);}
-	}
-</style>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-

+ 0 - 164
components/cm-module/headerNavbar/headerNavbar.vue

@@ -1,164 +0,0 @@
-<template name="headerNavbar">
-	<!-- 自定义导航栏 -->
-	<view class='navbar-wrap' :style="{height:navbarHeight+'px',paddingTop:statusBarHeight+'px'}"> 
-	  	<view class="navbar-text" :style="{lineHeight:(navbarHeight - statusBarHeight)+'px;',fontSize:fontSizeSetting+'px;'}">
-	    	{{navbarData.title ? navbarData.title : " "}}
-	  	</view>
-	  	<view class="navbar-icon" v-if="navbarData.showCapsule ? navbarData.showCapsule : true" 
-			  :style="{width:headerBtnPosi.width+'px;',lineHeight:(navbarBtn.height)+'px',top:navbarBtn.top + statusBarHeight+'px;',left:navbarBtn.right+'px;',height:(navbarBtn.height)+'px;'}">
-			  <text v-if='haveBack' @click="_goBack" class="iconfont icon-fanhui" :style="{width:headerBtnPosi.width/2+'px',height:navbarBtn.height+'px'}"></text>
-	      	  <text  v-if='haveBack' class="iconfont icon-vertical_line" :style="{borderColor:navbarData.borderColor ? navbarData.borderColor : 'rgba(0,0,0,0.4)'}"></text>
-			  <text @click="_goHome" class="iconfont icon-shouye1" :style="{width:headerBtnPosi.width/2+'px',height:navbarBtn.height+'px'}"></text>
-	  	</view>
-	</view>
-</template>
-
-<script>
-	var self;
-	export default{
-		name:'headerNavbar',
-		props:{
-		    navbarData: { // 由父页面传递的数据
-				type: Object
-		    },
-			systeminfo:{
-				type:Object
-			},
-			headerBtnPosi:{
-				type:Object
-			},
-			page:{
-				type:Number
-			}
-		},
-		data() {
-			return{
-				haveBack: true, // 是否有返回按钮,true 有 false 没有 若从分享页进入则为 false
-			    statusBarHeight: 0, // 状态栏高度
-			    navbarHeight: 0, // 顶部导航栏高度
-			    navbarBtn: { // 胶囊位置信息
-			      height: 0,
-			      width: 0,
-			      top: 0,
-			      bottom: 0,
-			      right: 0
-				},
-				platform:'',
-				fontSizeSetting:0,
-				screenWidth:0
-			}
-		},
-		created() {
-			this.fontSizeSetting = this.systeminfo.fontSizeSetting
-			let statusBarHeight = this.systeminfo.statusBarHeight // 状态栏高度
-			let headerPosi = this.headerBtnPosi // 胶囊位置信息
-		    /**
-		     * wx.getMenuButtonBoundingClientRect() 坐标信息以屏幕左上角为原点
-		     * 菜单按键宽度: 87
-		     * 菜单按键高度: 32
-		     * 菜单按键左边界坐标: 278
-		     * 菜单按键上边界坐标: 26
-		     * 菜单按键右边界坐标: 365
-		     * 菜单按键下边界坐标: 58
-		     */
-			let btnPosi = { // 胶囊实际位置,坐标信息不是左上角原点
-			      height: headerPosi.height,
-			      width: headerPosi.width,
-			      // 胶囊top - 状态栏高度
-			      top: headerPosi.top - statusBarHeight,
-			      // 胶囊bottom - 胶囊height - 状态栏height (现胶囊bottom 为距离导航栏底部的长度)
-			      bottom: headerPosi.bottom - headerPosi.height - statusBarHeight,
-			      // 屏幕宽度 - 胶囊right
-			      right: this.systeminfo.screenWidth - headerPosi.right
-			}
-			let haveBack;
-			if (getCurrentPages().length === 1) { // 当只有一个页面时
-			     haveBack = false;
-			} else {
-			     haveBack = true;
-			}
-		    this.haveBack=haveBack, // 获取是否是通过分享进入的小程序
-		    this.statusBarHeight=statusBarHeight,
-		    this.navbarHeight= headerPosi.bottom + btnPosi.bottom, // 原胶囊bottom + 现胶囊bottom
-		    this.navbarBtn=btnPosi
-		},
-		onLoad(){
-			
-		},
-		methods:{
-			_goBack: function () {
-		      	uni.navigateBack({
-		        	delta: this.page
-		      	});
-		    },
-		    _goHome: function () {
-		      	uni.switchTab({
-		        	url: '/pages/tabBar/home/home'
-		      	})
-		    }
-		},
-		onShow(){
-	
-		}
-	}
-</script>
-
-<style lang="scss">
-	.navbar-wrap {
-		 position: fixed;
-		 width: 100%;
-		 top: 0;
-		 z-index: 9999;
-		 box-sizing: border-box;
-		 background: #FFFFFF;
-		 border-bottom: 1px solid #F8F8F8;
-	}
-	.navbar-text {
-		 text-align: center;
-		 color: #000000;
-		 font-weight: 500;
-	}
-	.navbar-icon {
-		 position: fixed;
-		 display: flex;
-		 border-radius: 64rpx;
-		 border: 0.5px solid rgba(0,0,0, 0.2);
-		 box-sizing: border-box;
-	}
-	.navbar-icon .iconfont {
-		 text-align: center;
-		 display: inline-block;
-		 overflow: hidden;
-		 margin-bottom: 1px;
-		 font-size: 18px;
-		 color: #000;
-	}
-	.navbar-icon .icon-vertical_line {
-		color: #999999;
-	}
-	.navbar-loading {
-		 background: #fff;
-		 text-align: center;
-	}
-</style>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-

+ 2 - 2
components/cm-module/orderDetails/list-button.vue

@@ -40,8 +40,8 @@ export default {
 					action:[
 						{ text: '作废',handleId:0},
 						{ text: '设为非订单款',handleId:2},
-						{ text: '设为返佣款',handleId:3},
-						{ text: '设为供应商退款',handleId:4},
+						// { text: '设为返佣款',handleId:3},
+						// { text: '设为供应商退款',handleId:4},
 					],
 				},
 				{ 

+ 88 - 72
components/cm-module/receipt/receipt-details.vue

@@ -1,13 +1,20 @@
 <template name="information">
 	<view class="information-template">
 		<!-- 订单信息 -->
-		<view class="list-title clearfix" @click.stop="orderDetail(order.orderId)">
+		<view class="list-title clearfix" @click.stop="orderDetail(order.shopOrderId)">
 			<view class="list-title-t">
 				<view class="list-title-tip">
-					<text class="badges">{{ order.orderType | formatOrderType }}</text>
+					<text
+						class="badges"
+						:class="{
+							success: order.orderType === 1,
+							warning: order.orderType === 0
+						}"
+						>{{ order.orderType | formatOrderType }}</text
+					>
 				</view>
-				<view class="list-title-tag" v-if="order.organizeId == 3">
-					<text class="badges">维沙</text>
+				<view class="list-title-tag">
+					<text class="badges">{{ order.organizeId | organizeName }}</text>
 				</view>
 				<view class="list-title-num">{{ order.status | stateExpFormat }}</view>
 			</view>
@@ -15,25 +22,25 @@
 				客户名称:<text class="text">{{ order.userName ? order.userName : '无' }}</text>
 			</view>
 			<view class="list-title-b">
-				订单编号:<text class="text">{{ order.orderNo }} ( {{ order.orderId }} )</text>
+				订单编号:<text class="text">{{ order.shopOrderNo }} ( {{ order.shopOrderId }} )</text>
 			</view>
 			<view class="list-title-b">
 				下单日期:<text class="text">{{ order.orderTime }}</text>
 			</view>
 			<view class="list-title-b">
 				<view class="list-title-b-item ">
-					订单金额:<text class="text">¥{{ order.payTotalFee | NumFormat }}</text>
+					订单金额:<text class="text">¥{{ order.totalAmount | NumFormat }}</text>
 				</view>
 				<view class="list-title-b-item ">
-					余额抵扣:<text class="text">¥{{ order.balancePayFee | NumFormat }}</text>
+					余额抵扣:<text class="text">¥{{ order.accountAmount | NumFormat }}</text>
 				</view>
 			</view>
 			<view class="list-title-b">
 				<view class="list-title-b-item ">
-					应收金额:<text class="text">¥{{ order.payableAmount | NumFormat }}</text>
+					应收金额:<text class="text">¥{{ order.realPay | NumFormat }}</text>
 				</view>
 				<view class="list-title-b-item ">
-					已收金额:<text class="text">¥{{ order.paidAmount | NumFormat }}</text>
+					已收金额:<text class="text">¥{{ order.receiptAmount | NumFormat }}</text>
 				</view>
 			</view>
 			<view class="list-title-b">
@@ -100,87 +107,96 @@ export default {
 		},
 		orderDetail(id) {
 			//订单详情跳转
-			this.$api.navigateTo(`/pages/relation/order/detail?orderId=${id}`)
+			this.$api.navigateTo(`/pages/relation/order/detail?shopOrderId=${id}`)
 		}
 	}
 }
 </script>
 
 <style lang="scss">
-	.list-title {
+.list-title {
+	width: 100%;
+	height: auto;
+
+	.list-title-t {
 		width: 100%;
-		height: auto;
-	
-		.list-title-t {
-			width: 100%;
-			height: 50rpx;
+		height: 50rpx;
+		float: left;
+		font-size: $font-size-24;
+		padding-bottom: 10rpx;
+		.list-title-tip {
 			float: left;
-			font-size: $font-size-24;
-			padding-bottom: 10rpx;
-			.list-title-tip {
+			.badges {
+				display: block;
 				float: left;
-				.badges {
-					display: block;
-					float: left;
-					padding: 0 15rpx;
-					height: 40rpx;
-					line-height: 40rpx;
-					border-radius: 20rpx;
-					background: rgba(248, 204, 148, 0.5);
-					font-size: $font-size-24;
-					text-align: center;
-					color: #666666;
+				padding: 0 15rpx;
+				height: 40rpx;
+				line-height: 40rpx;
+				border-radius: 20rpx;
+				font-size: $font-size-24;
+				text-align: center;
+				background-color: #f0f9eb;
+				color: #67c23a;
+				text-align: center;
+				&.success {
+					background-color: #ecf5ff;
+					color: #409eff;
 				}
-			}
-			.list-title-tag {
-				float: left;
-				margin-left: 20rpx;
-				.badges {
-					display: block;
-					float: left;
-					padding: 0 15rpx;
-					height: 40rpx;
-					line-height: 40rpx;
-					border-radius: 20rpx;
-					background: linear-gradient(270deg, #fee9ba 0%, #f0cb72 100%);
-					font-size: $font-size-24;
-					text-align: center;
-					color: #666666;
+				&.warning {
+					background-color: #fdf6ec;
+					color: #e6a23c;
 				}
 			}
-			.list-title-num {
+		}
+		.list-title-tag {
+			float: left;
+			margin-left: 20rpx;
+			.badges {
+				display: block;
 				float: left;
-				text-align: left;
-				color: #42b983;
+				padding: 0 15rpx;
+				height: 40rpx;
 				line-height: 40rpx;
-				margin-left: 20rpx;
+				border-radius: 20rpx;
+				background-color: #ecf5ff;
+				color: #409eff;
+				font-size: $font-size-24;
+				text-align: center;
 			}
 		}
-		.list-title-b {
-			width: 100%;
-			height: 44rpx;
+		.list-title-num {
 			float: left;
-			font-size: $font-size-24;
-			line-height: 44rpx;
-			color: #666666;
 			text-align: left;
-			.text {
-				color: #999999;
-			}
-			.list-title-b-item {
-				width: 50%;
-				height: 100%;
-				float: left;
-			}
-			&.sms {
-				height: auto;
-				text-overflow: ellipsis;
-				overflow: hidden;
-				display: -webkit-box;
-				-webkit-line-clamp: 2;
-				line-clamp: 2;
-				-webkit-box-orient: vertical;
-			}
+			color: #42b983;
+			line-height: 40rpx;
+			margin-left: 20rpx;
+		}
+	}
+	.list-title-b {
+		width: 100%;
+		height: 44rpx;
+		float: left;
+		font-size: $font-size-24;
+		line-height: 44rpx;
+		color: #666666;
+		text-align: left;
+		.text {
+			color: #999999;
+		}
+		.list-title-b-item {
+			width: 50%;
+			height: 100%;
+			float: left;
+		}
+		&.sms {
+			height: auto;
+			text-overflow: ellipsis;
+			overflow: hidden;
+			display: -webkit-box;
+			-webkit-line-clamp: 2;
+			line-clamp: 2;
+			-webkit-box-orient: vertical;
 		}
 	}
+}
 </style>

+ 4 - 4
components/cm-module/receipt/receipt-modal.vue

@@ -6,16 +6,16 @@
 				<!-- 当收款金额等于所选订单的剩余应收金额 -->
 				<template v-if="handleType == 1">
 					<view class="tui-prompt-text">
-						订单金额:<text class="text">¥{{ hanldOrder.payTotalFee | NumFormat }}</text>
+						订单金额:<text class="text">¥{{ hanldOrder.totalAmount | NumFormat }}</text>
 					</view>
 					<view class="tui-prompt-text">
-						余额抵扣:<text class="text">¥{{ hanldOrder.balancePayFee | NumFormat }}</text>
+						余额抵扣:<text class="text">¥{{ hanldOrder.accountAmount | NumFormat }}</text>
 					</view>
 					<view class="tui-prompt-text">
-						应收金额:<text class="text">¥{{ hanldOrder.payableAmount | NumFormat }}</text>
+						应收金额:<text class="text">¥{{ hanldOrder.realPay | NumFormat }}</text>
 					</view>
 					<view class="tui-prompt-text">
-						已收金额:<text class="text">¥{{ hanldOrder.paidAmount | NumFormat }}</text>
+						已收金额:<text class="text">¥{{ hanldOrder.receiptAmount | NumFormat }}</text>
 					</view>
 					<view class="tui-prompt-text">
 						收款金额:<text class="text">¥{{ amount | NumFormat }}</text>

+ 118 - 111
components/cm-module/receipt/receipt-orderDetails.vue

@@ -3,12 +3,12 @@
 		<!-- 订单信息 -->
 		<view class="modal-content-mask" @click.stop="handleClickCancel">
 			<view class="modal-content-alert">
-				<scroll-view class="modal-content-scroll" scroll-y="true" >
+				<scroll-view class="modal-content-scroll" scroll-y="true">
 					<view class="list-title clearfix">
 						<view class="list-title-b"
-							>进度:<text :style="{ color: formatColor(receiptInfo.receiptStatus) }"
-								>{{ receiptInfo.receiptStatus | formatStateType }}</text
-							>
+							>进度:<text :style="{ color: formatColor(receiptInfo.receiptStatus) }">{{
+								receiptInfo.receiptStatus | formatStateType
+							}}</text>
 						</view>
 						<view class="list-title-b">
 							<view class="list-title-b-item">
@@ -34,13 +34,18 @@
 							备注:<text>{{ receiptInfo.reviewReason }}</text>
 						</view>
 					</view>
-					<view class="list-title item clearfix" v-for="(order, index) in receiptInfo.orderList" :key="index" @click.stop="orderDetail(order.orderId)">
+					<view
+						class="list-title item clearfix"
+						v-for="(order, index) in receiptInfo.shopOrderList"
+						:key="index"
+						@click.stop="orderDetail(order.shopOrderId)"
+					>
 						<view class="list-title-t">
 							<view class="list-title-tip">
 								<text class="badges">{{ order.orderType | formatOrderType }}</text>
 							</view>
-							<view class="list-title-tag" v-if="order.organizeId == 3">
-								<text class="badges">维沙</text>
+							<view class="list-title-tag">
+								<text class="badges">{{ order.organizeId | organizeName }}</text>
 							</view>
 							<view class="list-title-num">{{ order.status | stateExpFormat }}</view>
 						</view>
@@ -48,25 +53,25 @@
 							客户名称:<text class="text">{{ order.userName }}</text>
 						</view>
 						<view class="list-title-b">
-							订单编号:<text class="text">{{ order.orderNo }} ( {{ order.orderId }} )</text>
+							订单编号:<text class="text">{{ order.shopOrderNo }} ( {{ order.shopOrderId }} )</text>
 						</view>
 						<view class="list-title-b">
 							下单日期:<text class="text">{{ order.orderTime }}</text>
 						</view>
 						<view class="list-title-b">
 							<view class="list-title-b-item ">
-								订单金额:<text class="text">¥{{ order.payTotalFee | NumFormat }}</text>
+								订单金额:<text class="text">¥{{ order.totalAmount | NumFormat }}</text>
 							</view>
 							<view class="list-title-b-item ">
-								余额抵扣:<text class="text">¥{{ order.balancePayFee | NumFormat }}</text>
+								余额抵扣:<text class="text">¥{{ order.accountAmount | NumFormat }}</text>
 							</view>
 						</view>
 						<view class="list-title-b">
 							<view class="list-title-b-item ">
-								应收金额:<text class="text">¥{{ order.payableAmount | NumFormat }}</text>
+								应收金额:<text class="text">¥{{ order.realPay | NumFormat }}</text>
 							</view>
 							<view class="list-title-b-item ">
-								已收金额:<text class="text">¥{{ order.paidAmount | NumFormat }}</text>
+								已收金额:<text class="text">¥{{ order.receiptAmount | NumFormat }}</text>
 							</view>
 						</view>
 						<view class="list-title-b">
@@ -95,7 +100,9 @@
 							退货退款:
 							<text class="text">
 								(原¥{{ order.returnedPurchaseFee }} 折扣取消¥{{
-									j.discountFee - j.returnedPurchaseFee > 0 ? order.returnedPurchaseFee : order.discountFee
+									j.discountFee - j.returnedPurchaseFee > 0
+										? order.returnedPurchaseFee
+										: order.discountFee
 								}})
 							</text>
 						</view>
@@ -103,7 +110,6 @@
 				</scroll-view>
 			</view>
 		</view>
-		
 	</view>
 </template>
 
@@ -134,7 +140,7 @@ export default {
 	methods: {
 		initData(data) {
 			this.receiptInfo = data
-			console.log('this.receiptInfo',this.receiptInfo)
+			console.log('this.receiptInfo', this.receiptInfo)
 		},
 		formatColor(state) {
 			//设置邀请码状态亚瑟
@@ -153,7 +159,8 @@ export default {
 			})
 			return stateColor
 		},
-		handleClickCancel(){// 隐藏
+		handleClickCancel() {
+			// 隐藏
 			this.$emit('cancel')
 		},
 		orderDetail(id) {
@@ -165,117 +172,117 @@ export default {
 </script>
 
 <style lang="scss">
-	.modal-content-mask{
-		width: 100%;
-		height: 100%;
-		background: rgba(0,0,0,0.6);
-		position: fixed;
+.modal-content-mask {
+	width: 100%;
+	height: 100%;
+	background: rgba(0, 0, 0, 0.6);
+	position: fixed;
+	top: 0;
+	left: 0;
+	z-index: 1000;
+	.modal-content-alert {
+		width: 600rpx;
+		height: 600rpx;
+		padding: 24rpx;
+		background: #ffffff;
+		border-radius: 20rpx;
+		position: absolute;
 		top: 0;
 		left: 0;
-		z-index: 1000;
-		.modal-content-alert{
-			width: 600rpx;
+		bottom: 0;
+		right: 0;
+		margin: auto;
+		overflow: hidden;
+		.modal-content-scroll {
+			width: 100%;
 			height: 600rpx;
-			padding: 24rpx;
-			background: #FFFFFF;
-			border-radius: 20rpx;
-			position: absolute;
-			top: 0;
-			left: 0;
-			bottom: 0;
-			right: 0;
-			margin: auto;
-			overflow: hidden;
-			.modal-content-scroll{
-				width: 100%;
-				height: 600rpx;
-				padding-bottom: 24rpx;
-			}
+			padding-bottom: 24rpx;
 		}
 	}
-	.list-title {
-		width: 100%;
-		height: auto;
-		padding: 12rpx 0;
-		&.item{
-			border-bottom: 1px solid #E1E1E1;
-			&:last-child{
-				border: none;
-			}
+}
+.list-title {
+	width: 100%;
+	height: auto;
+	padding: 12rpx 0;
+	&.item {
+		border-bottom: 1px solid #e1e1e1;
+		&:last-child {
+			border: none;
 		}
-		.list-title-t {
-			width: 100%;
-			height: 50rpx;
+	}
+	.list-title-t {
+		width: 100%;
+		height: 50rpx;
+		float: left;
+		font-size: $font-size-24;
+		padding-bottom: 10rpx;
+		.list-title-tip {
 			float: left;
-			font-size: $font-size-24;
-			padding-bottom: 10rpx;
-			.list-title-tip {
+			.badges {
+				display: block;
 				float: left;
-				.badges {
-					display: block;
-					float: left;
-					padding: 0 15rpx;
-					height: 40rpx;
-					line-height: 40rpx;
-					border-radius: 20rpx;
-					background: rgba(248, 204, 148, 0.5);
-					font-size: $font-size-24;
-					text-align: center;
-					color: #666666;
-				}
-			}
-			.list-title-tag {
-				float: left;
-				margin-left: 20rpx;
-				.badges {
-					display: block;
-					float: left;
-					padding: 0 15rpx;
-					height: 40rpx;
-					line-height: 40rpx;
-					border-radius: 20rpx;
-					background: linear-gradient(270deg, #fee9ba 0%, #f0cb72 100%);
-					font-size: $font-size-24;
-					text-align: center;
-					color: #666666;
-				}
+				padding: 0 15rpx;
+				height: 40rpx;
+				line-height: 40rpx;
+				border-radius: 20rpx;
+				background: rgba(248, 204, 148, 0.5);
+				font-size: $font-size-24;
+				text-align: center;
+				color: #666666;
 			}
-			.list-title-num {
+		}
+		.list-title-tag {
+			float: left;
+			margin-left: 20rpx;
+			.badges {
+				display: block;
 				float: left;
-				text-align: left;
-				color: #42b983;
+				padding: 0 15rpx;
+				height: 40rpx;
 				line-height: 40rpx;
-				margin-left: 20rpx;
+				border-radius: 20rpx;
+				background: linear-gradient(270deg, #fee9ba 0%, #f0cb72 100%);
+				font-size: $font-size-24;
+				text-align: center;
+				color: #666666;
 			}
 		}
-		.list-title-b {
-			width: 100%;
-			height: 44rpx;
+		.list-title-num {
 			float: left;
-			font-size: $font-size-24;
-			line-height: 44rpx;
-			color: #666666;
 			text-align: left;
-			.text {
-				color: #999999;
-			}
-			.list-title-b-item {
-				width: 50%;
-				height: 100%;
-				float: left;
-				&.ri{
-					text-align: right;
-				}
-			}
-			&.sms {
-				height: auto;
-				text-overflow: ellipsis;
-				overflow: hidden;
-				display: -webkit-box;
-				-webkit-line-clamp: 2;
-				line-clamp: 2;
-				-webkit-box-orient: vertical;
+			color: #42b983;
+			line-height: 40rpx;
+			margin-left: 20rpx;
+		}
+	}
+	.list-title-b {
+		width: 100%;
+		height: 44rpx;
+		float: left;
+		font-size: $font-size-24;
+		line-height: 44rpx;
+		color: #666666;
+		text-align: left;
+		.text {
+			color: #999999;
+		}
+		.list-title-b-item {
+			width: 50%;
+			height: 100%;
+			float: left;
+			&.ri {
+				text-align: right;
 			}
 		}
+		&.sms {
+			height: auto;
+			text-overflow: ellipsis;
+			overflow: hidden;
+			display: -webkit-box;
+			-webkit-line-clamp: 2;
+			line-clamp: 2;
+			-webkit-box-orient: vertical;
+		}
 	}
+}
 </style>

+ 2 - 2
components/cm-module/receipt/receipt-refund.vue

@@ -6,8 +6,8 @@
 				<view class="list-title-tip">
 					<text class="badges">{{ order.mainOrder.orderType | formatOrderType }}</text>
 				</view>
-				<view class="list-title-tag" v-if="order.mainOrder.organizeId == 3">
-					<text class="badges">维沙</text>
+				<view class="list-title-tag">
+					<text class="badges">{{ order.mainOrder.organizeId | organizeName }}</text>
 				</view>
 				<view class="list-title-num">{{ order.mainOrder.status | stateExpFormat }}</view>
 			</view>

تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 7
components/common/tui-clipboard/clipboard.min.js


+ 0 - 53
components/common/tui-clipboard/tui-clipboard.js

@@ -1,53 +0,0 @@
-/**
- * 复制文本 兼容H5
- * 来自 ThorUI  www.thorui.cn | 文档地址: www.donarui.com
- * @author echo.
- * @version 1.0.0
- **/
-// #ifdef H5
-import ClipboardJS from "./clipboard.min.js"
-// #endif
-const thorui = {
-	/**
-	 * data 需要复制的数据
-	 * callback 回调
-	 * e 当用户点击后需要先请求接口再进行复制时,需要传入此参数,或者将异步请求转为同步 (H5端)
-	 * **/
-	getClipboardData: function(data,callback,e) {
-		// #ifdef APP-PLUS || MP
-		uni.setClipboardData({
-			data: data,
-			success(res) {
-				("function" == typeof callback) && callback(true)
-			},
-			fail(res) {
-				("function" == typeof callback) && callback(false)
-			}
-		})
-		// #endif
-
-		// #ifdef H5
-		let event = window.event || e || {}
-		let clipboard = new ClipboardJS("", {
-			text: () => data
-		})
-		clipboard.on('success', (e) => {
-			("function" == typeof callback) && callback(true)
-			clipboard.off('success')
-			clipboard.off('error')
-			clipboard.destroy()
-		});
-		clipboard.on('error', (e) => {
-			("function" == typeof callback) && callback(false)
-			clipboard.off('success')
-			clipboard.off('error')
-			clipboard.destroy()
-		});
-		clipboard.onClick(event)
-		// #endif
-	}
-};
-
-module.exports = {
-	getClipboardData: thorui.getClipboardData
-};

تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
components/common/tui-color-analysis/tui-color-analysis.js


+ 0 - 268
components/common/tui-validation/tui-validation.js

@@ -1,268 +0,0 @@
-/**
- * 表单验证
- * @author echo.
- * @version 1.5.0
- **/
-
-const form = {
-	//非必填情况下,如果值为空,则不进行校验
-	//当出现错误时返回错误消息,否则返回空即为验证通过
-	/*
-	 formData:Object 表单对象。{key:value,key:value},key==rules.name
-	 rules: Array [{name:name,rule:[],msg:[]},{name:name,rule:[],msg:[]}]
-			name:name 属性=> 元素的名称
-			rule:字符串数组 ["required","isMobile","isEmail","isCarNo","isIdCard","isAmount","isNum","isChinese","isEnglish",isEnAndNo","isSpecial","isEmoji",""isDate","isUrl","isSame:key","range:[1,9]","minLength:9","maxLength:Number"]
-			msg:数组 []。 与数组 rule 长度相同,对应的错误提示信息
-	*/
-	validation: function(formData, rules) {
-		for (let item of rules) {
-			let key = item.name;
-			let rule = item.rule;
-			let msgArr = item.msg;
-			if (!key || !rule || rule.length === 0 || !msgArr || msgArr.length === 0) {
-				continue;
-			}
-			for (let i = 0, length = rule.length; i < length; i++) {
-				let ruleItem = rule[i];
-				let msg = msgArr[i];
-				if (!ruleItem || !msg || (!~rule.indexOf("required") && formData[key].toString().length === 0)) {
-					continue;
-				}
-				//数据处理
-				let value = null;
-				if (~ruleItem.indexOf(":")) {
-					let temp = ruleItem.split(":");
-					ruleItem = temp[0];
-					value = temp[1];
-				}
-				let isError = false;
-				switch (ruleItem) {
-					case "required":
-						isError = form._isNullOrEmpty(formData[key]);
-						break;
-					case "isMobile":
-						isError = !form._isMobile(formData[key]);
-						break;
-					case "isEmail":
-						isError = !form._isEmail(formData[key]);
-						break;
-					case "isCarNo":
-						isError = !form._isCarNo(formData[key]);
-						break;
-					case "isIdCard":
-						isError = !form._isIdCard(formData[key]);
-						break;
-					case "isAmount":
-						isError = !form._isAmount(formData[key]);
-						break;
-					case "isNum":
-						isError = !form._isNum(formData[key]);
-						break;
-					case "isChinese":
-						isError = !form._isChinese(formData[key]);
-						break;
-					case "isEnglish":
-						isError = !form._isEnglish(formData[key]);
-						break;
-					case "isEnAndNo":
-						isError = !form._isEnAndNo(formData[key]);
-						break;
-					case "isEnOrNo":
-						isError = !form._isEnOrNo(formData[key]);
-						break;
-					case "isSpecial":
-						isError = form._isSpecial(formData[key]);
-						break;
-					case "isEmoji":
-						isError = form._isEmoji(formData[key]);
-						break;
-					case "isDate":
-						isError = !form._isDate(formData[key]);
-						break;
-					case "isUrl":
-						isError = !form._isUrl(formData[key]);
-						break;
-					case "isSame":
-						isError = !form._isSame(formData[key], formData[value]);
-						break;
-					case "range":
-						let range = null;
-						try {
-							range = JSON.parse(value);
-							if (range.length <= 1) {
-								throw new Error("range值传入有误!")
-							}
-						} catch (e) {
-							return "range值传入有误!"
-						}
-						isError = !form._isRange(formData[key], range[0], range[1])
-						break;
-					case "minLength":
-						isError = !form._minLength(formData[key], value)
-						break;
-					case "maxLength":
-						isError = !form._maxLength(formData[key], value)
-						break;
-					default:
-						break;
-				}
-				if (isError) {
-					return msg;
-				}
-			}
-		}
-		return "";
-	},
-	_isNullOrEmpty: function(value) {
-		return (value === null || value === '' || value === undefined) ? true : false;
-	},
-	_isMobile: function(value) {
-		return /^(?:13\d|14\d|15\d|16\d|17\d|18\d|19\d)\d{5}(\d{3}|\*{3})$/.test(value);
-	},
-	_isEmail: function(value) {
-		return /^[a-z0-9]+([._\\-]*[a-z0-9])*@([a-z0-9]+[-a-z0-9]*[a-z0-9]+.){1,63}[a-z0-9]+$/.test(value);
-	},
-	_isCarNo: function(value) {
-		// 新能源车牌
-		const xreg = /^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领A-Z]{1}[A-Z]{1}(([0-9]{5}[DF]$)|([DF][A-HJ-NP-Z0-9][0-9]{4}$))/;
-		// 旧车牌
-		const creg = /^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领A-Z]{1}[A-Z]{1}[A-HJ-NP-Z0-9]{4}[A-HJ-NP-Z0-9挂学警港澳]{1}$/;
-		if (value.length === 7) {
-			return creg.test(value);
-		} else if (value.length === 8) {
-			return xreg.test(value);
-		} else {
-			return false;
-		}
-	},
-	_isIdCard: function(value) {
-		let idCard = value;
-		if (idCard.length == 15) {
-			return this.__isValidityBrithBy15IdCard;
-		} else if (idCard.length == 18) {
-			let arrIdCard = idCard.split("");
-			if (this.__isValidityBrithBy18IdCard(idCard) && this.__isTrueValidateCodeBy18IdCard(arrIdCard)) {
-				return true;
-			} else {
-				return false;
-			}
-		} else {
-			return false;
-		}
-	},
-	__isTrueValidateCodeBy18IdCard: function(arrIdCard) {
-		let sum = 0;
-		let Wi = [7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2, 1];
-		let ValideCode = [1, 0, 10, 9, 8, 7, 6, 5, 4, 3, 2];
-		if (arrIdCard[17].toLowerCase() == 'x') {
-			arrIdCard[17] = 10;
-		}
-		for (let i = 0; i < 17; i++) {
-			sum += Wi[i] * arrIdCard[i];
-		}
-		let valCodePosition = sum % 11;
-		if (arrIdCard[17] == ValideCode[valCodePosition]) {
-			return true;
-		} else {
-			return false;
-		}
-	},
-	__isValidityBrithBy18IdCard: function(idCard18) {
-		let year = idCard18.substring(6, 10);
-		let month = idCard18.substring(10, 12);
-		let day = idCard18.substring(12, 14);
-		let temp_date = new Date(year, parseFloat(month) - 1, parseFloat(day));
-		if (temp_date.getFullYear() != parseFloat(year) || temp_date.getMonth() != parseFloat(month) - 1 || temp_date.getDate() !=
-			parseFloat(day)) {
-			return false;
-		} else {
-			return true;
-		}
-	},
-	__isValidityBrithBy15IdCard: function(idCard15) {
-		let year = idCard15.substring(6, 8);
-		let month = idCard15.substring(8, 10);
-		let day = idCard15.substring(10, 12);
-		let temp_date = new Date(year, parseFloat(month) - 1, parseFloat(day));
-
-		if (temp_date.getYear() != parseFloat(year) || temp_date.getMonth() != parseFloat(month) - 1 || temp_date.getDate() !=
-			parseFloat(day)) {
-			return false;
-		} else {
-			return true;
-		}
-	},
-	_isAmount: function(value) {
-		//金额,只允许保留两位小数
-		return /^([0-9]*[.]?[0-9])[0-9]{0,1}$/.test(value);
-	},
-	_isNum: function(value) {
-		//只能为数字
-		return /^[0-9]+$/.test(value);
-	},
-	_isChinese: function(value) {
-		let reg = /.*[\u4e00-\u9fa5]+.*$/;
-		return value !== "" && reg.test(value) && !form._isSpecial(value) && !form._isEmoji(value)
-	},
-	_isEnglish: function(value) {
-		return /^[a-zA-Z]*$/.test(value)
-	},
-	_isEnAndNo: function(value) {
-		//8~20位数字和字母组合
-		return /^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{8,20}$/.test(value);
-	},
-	_isEnOrNo: function(value) {
-		//英文或者数字
-		let reg = /.*[\u4e00-\u9fa5]+.*$/;
-		let result = true;
-		if (reg.test(value) || form._isSpecial(value) || form._isEmoji(value)) {
-			result = false
-		}
-		return result
-	},
-	_isSpecial: function(value) {
-		//是否包含特殊字符
-		let regEn = /[`~!@#$%^&*()_+<>?:"{},.\/;'[\]]/im,
-			regCn = /[·!#¥(——):;“”‘、,|《。》?、【】[\]]/im;
-		if (regEn.test(value) || regCn.test(value)) {
-			return true;
-		}
-		return false;
-	},
-	_isEmoji: function(value) {
-		//是否包含表情
-		return /\uD83C[\uDF00-\uDFFF]|\uD83D[\uDC00-\uDE4F]/g.test(value);
-	},
-	_isDate: function(value) {
-		//2019-10-12
-		const reg =
-			/^(?:(?!0000)[0-9]{4}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1[0-9]|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[0-9]{2}(?:0[48]|[2468][048]|[13579][26])|(?:0[48]|[2468][048]|[13579][26])00)-02-29)$/;
-		return reg.test(value);
-	},
-	_isUrl: function(value) {
-		return /^((https?|ftp|file):\/\/)?([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w \.-]*)*\/?$/.test(value);
-	},
-	_isSame: function(value1, value2) {
-		return value1 === value2
-	},
-	_isRange: function(value, range1, range2) {
-		if ((!range1 && range1 != 0) && (!range2 && range2 != 0)) {
-			return true;
-		} else if (!range1 && range1 != 0) {
-			return value <= range2
-		} else if (!range2 && range2 != 0) {
-			return value >= range1
-		} else {
-			return value >= range1 && value <= range2
-		}
-	},
-	_minLength: function(value, min) {
-		return value.length >= Number(min)
-	},
-	_maxLength: function(value, max) {
-		return value.length <= Number(max)
-	}
-};
-module.exports = {
-	validation: form.validation
-};

تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
components/common/tui-validation/tui-validation.min.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
components/common/tui-zh-pinyin/tui-zh-pinyin.js


+ 0 - 87
components/cu-tabbar.vue

@@ -1,87 +0,0 @@
-<template>
-	<view class="content">
-		<!-- isIphoneX判断是否为刘海屏在main.js里,好像uniapp有一个css变量获取刘海屏的安全区域 -->
-		<view class="tabBar" :style="{height:isIphoneX?'140rpx':'98rpx'}">
-			<view class="tabBar_list" :style="{paddingBottom:isIphoneX?'40rpx':''}">
-				<view  @tap="cut_index('/seller/pages/home/home')" class="tabBar_item">
-					<image v-if="show_index == 0" src="../static/icon-home-active@3x.png"></image>
-					<image v-else src="../static/icon-home@3x.png"></image>
-					<view :class="{'tabBar_name':true,'nav_active':show_index == 0}">首页</view>
-				</view>
-				<view @tap="cut_index('/seller/pages/category/category')" class="tabBar_item">
-					<image v-if="show_index == 1" src="../static/icon-sort-active@3x.png"></image>
-					<image v-else src="../static/icon-sort@3x.png"></image>
-					<view :class="{'tabBar_name':true,'nav_active':show_index == 1}">分类</view>
-				</view>
-				<view  @tap="cut_index('/seller/pages/user/user')" class="tabBar_item">
-					<image v-if="show_index == 2" src="../static/icon-user-active@3x.png"></image>
-					<image v-else src="../static/icon-user@3x.png"></image>
-					<view :class="{'tabBar_name':true,'nav_active':show_index == 2}">我的</view>
-				</view>
-			</view>
-		</view>
-	</view>
-</template>
-
-<script>
-	export default {
-		props:{
-			activeIndex:{
-				type:Number
-			}
-		},
-		data() {
-			return {
-				show_index:0,//控制显示那个组件
-				isIphoneX:this.$store.state.isIphoneX
-			}
-		},
-		created() {
-			this.show_index = this.activeIndex
-		},
-		methods: {
-			// 切换组件
-			cut_index(url){
-				this.$api.navigateTo(url)
-			}
-		}
-	}
-</script>
-
-<style lang="scss">
-	.tabBar{ 
-		width:100%;
-		height: 98rpx;
-		background: #fff;
-		border-top:1px solid #E5E5E5;
-		position: fixed;
-		bottom:0px;
-		left:0px;
-		right:0px;
-		display: flex;
-		align-items: center;
-		justify-content: center;
-		.tabBar_list{ 
-			width:86%;
-			display: flex;
-			justify-content: space-between;
-			image{ 
-				width:48rpx;
-				height: 48rpx;
-				margin-bottom:2rpx
-			}
-			.tabBar_item{ 
-				width:68rpx;
-				display: flex;
-				justify-content: center;
-				align-items: center;
-				flex-direction: column;
-				font-size: 20rpx;
-				color: #999999;
-			}
-		 } 
-	}
-	.nav_active{
-		color: $color-system;
-	}
-</style>

+ 0 - 28
components/gaoyia-parse/components/wxParseAudio.vue

@@ -1,28 +0,0 @@
-<template>
-	<!-- '<audio/>' 组件不再维护,建议使用能力更强的 'uni.createInnerAudioContext' 接口 有时间再改-->
-  <!--增加audio标签支持-->
-  <audio
-    :id="node.attr.id"
-    :class="node.classStr"
-    :style="node.styleStr"
-    :src="node.attr.src"
-    :loop="node.attr.loop"
-    :poster="node.attr.poster"
-    :name="node.attr.name"
-    :author="node.attr.author"
-    controls></audio>
-</template>
-
-<script>
-export default {
-  name: 'wxParseAudio',
-  props: {
-    node: {
-      type: Object,
-      default() {
-        return {};
-      },
-    },
-  },
-};
-</script>

+ 0 - 94
components/gaoyia-parse/components/wxParseImg.vue

@@ -1,94 +0,0 @@
-<template>
-	<image
-		:mode="node.attr.mode"
-		:lazy-load="node.attr.lazyLoad"
-		:class="node.classStr"
-		:style="newStyleStr || node.styleStr"
-		:data-src="node.attr.src"
-		:src="node.attr.src"
-		@tap="wxParseImgTap"
-		@load="wxParseImgLoad"
-	/>
-</template>
-
-<script>
-export default {
-	name: 'wxParseImg',
-	data() {
-		return {
-			newStyleStr: '',
-			preview: true
-		};
-	},
-	inject: ['parseWidth'],
-	mounted() {},
-	props: {
-		node: {
-			type: Object,
-			default() {
-				return {};
-			}
-		}
-	},
-	
-	methods: {
-		wxParseImgTap(e) {
-			if (!this.preview) return;
-			const { src } = e.currentTarget.dataset;
-			if (!src) return;
-			let parent = this.$parent;
-			while (!parent.preview || typeof parent.preview !== 'function') {
-				// TODO 遍历获取父节点执行方法
-				parent = parent.$parent;
-			}
-			parent.preview(src, e);
-		},
-		// 图片视觉宽高计算函数区
-		wxParseImgLoad(e) {
-			const { src } = e.currentTarget.dataset;
-			if (!src) return;
-			let { width, height } = e.mp.detail;
-
-			const recal = this.wxAutoImageCal(width, height);
-
-			const { imageheight, imageWidth } = recal;
-			const { padding, mode } = this.node.attr;//删除padding
-			// const { mode } = this.node.attr;
-
-			const { styleStr } = this.node;
-			const imageHeightStyle = mode === 'widthFix' ? '' : `height: ${imageheight}px;`;
-
-			this.newStyleStr = `${styleStr}; ${imageHeightStyle}; width: ${imageWidth}px; padding: 0 ${+padding}px;`;//删除padding
-			// this.newStyleStr = `${styleStr}; ${imageHeightStyle}; width: ${imageWidth}px;`;
-		},
-		// 计算视觉优先的图片宽高
-		wxAutoImageCal(originalWidth, originalHeight) {
-			// 获取图片的原始长宽
-			const windowWidth = this.parseWidth.value;
-			const results = {};
-
-			if (originalWidth < 60 || originalHeight < 60) {
-				const { src } = this.node.attr;
-				let parent = this.$parent;
-				while (!parent.preview || typeof parent.preview !== 'function') {
-					parent = parent.$parent;
-				}
-				parent.removeImageUrl(src);
-				this.preview = false;
-			}
-
-			// 判断按照那种方式进行缩放
-			if (originalWidth > windowWidth) {
-				// 在图片width大于手机屏幕width时候
-				results.imageWidth = windowWidth;
-				results.imageheight = windowWidth * (originalHeight / originalWidth);
-			} else {
-				// 否则展示原来的数据
-				results.imageWidth = originalWidth;
-				results.imageheight = originalHeight;
-			}
-			return results;
-		}
-	}
-};
-</script>

+ 0 - 53
components/gaoyia-parse/components/wxParseTable.vue

@@ -1,53 +0,0 @@
-<template>
-	<rich-text :nodes="nodes" :class="node.classStr" :style="'user-select:' + parseSelect"></rich-text>
-</template>
-<script>
-export default {
-	name: 'wxParseTable',
-	props: {
-		node: {
-			type: Object,
-			default() {
-				return {};
-			},
-		},
-	},
-	inject: ['parseSelect'],
-	data() {
-		return {
-			nodes:[]
-		};
-	},
-	mounted() {
-		this.nodes=this.loadNode([this.node]);
-	},
-	methods: {
-		loadNode(node) {
-			let obj = [];
-			for (let children of node) {
-				if (children.node=='element') {
-					let t = {
-						name:children.tag,
-						attrs: {
-							class: children.classStr,
-							// style: children.styleStr,
-						},
-						children: children.nodes?this.loadNode(children.nodes):[]
-					}
-					
-					obj.push(t)
-				} else if(children.node=='text'){
-					obj.push({
-						type: 'text',
-						text: children.text
-					})
-				}
-			}
-			return obj
-		}
-	}
-};
-</script>
-<style>
-	@import url("../parse.css");
-</style>

+ 0 - 98
components/gaoyia-parse/components/wxParseTemplate0.vue

@@ -1,98 +0,0 @@
-<template>
-	<!--判断是否是标签节点-->
-	<block v-if="node.node == 'element'">
-		<!--button类型-->
-		<button v-if="node.tag == 'button'" type="default" size="mini" :class="node.classStr" :style="node.styleStr">
-			<wx-parse-template :node="node" />
-		</button>
-		
-		<!--a类型-->
-		<view v-else-if="node.tag == 'a'" @click="wxParseATap(node.attr,$event)" :class="node.classStr" :data-href="node.attr.href" :style="node.styleStr">
-			<block v-for="(node, index) of node.nodes" :key="index">
-				<wx-parse-template :node="node" />
-			</block>
-		</view>
-		
-		<!--li类型-->
-		<view v-else-if="node.tag == 'li'" :class="node.classStr" :style="node.styleStr">
-			<block v-for="(node, index) of node.nodes" :key="index">
-				<wx-parse-template :node="node" />
-			</block>
-		</view>
-		
-		<!--table类型-->
-		<wx-parse-table v-else-if="node.tag == 'table'" :class="node.classStr" :style="node.styleStr" :node="node" />
-		
-		<!--br类型-->
-		<!-- #ifndef H5 -->
-			<text v-else-if="node.tag == 'br'">\n</text>
-		<!-- #endif -->
-		<!-- #ifdef H5 -->
-			<br v-else-if="node.tag == 'br'">
-		<!-- #endif -->
-		
-		<!--video类型-->
-		<wx-parse-video :node="node" v-else-if="node.tag == 'video'"/>
-	
-		<!--audio类型-->
-		<wx-parse-audio :node="node" v-else-if="node.tag == 'audio'"/>
-	
-		<!--img类型-->
-		<wx-parse-img :node="node" v-else-if="node.tag == 'img'" :style="node.styleStr"/>
-	
-		<!--其他标签-->
-		<view v-else :class="node.classStr" :style="node.styleStr">
-			<block v-for="(node, index) of node.nodes" :key="index">
-				<wx-parse-template :node="node"/>
-			</block>
-		</view>
-	</block>
-	
-	<!--判断是否是文本节点-->
-	<block v-else-if="node.node == 'text'">{{node.text}}</block>
-</template>
-
-<script>
-	// #ifdef APP-PLUS | H5
-	import wxParseTemplate from './wxParseTemplate0';
-	// #endif
-	// #ifdef MP
-	import wxParseTemplate from './wxParseTemplate1';
-	// #endif
-	import wxParseImg from './wxParseImg';
-	import wxParseVideo from './wxParseVideo';
-	import wxParseAudio from './wxParseAudio';
-	import wxParseTable from './wxParseTable';
-	
-	export default {
-		// #ifdef APP-PLUS | H5
-		name: 'wxParseTemplate',
-		// #endif
-		// #ifdef MP
-		name: 'wxParseTemplate0',
-		// #endif
-		props: {
-			node: {},
-		},
-		components: {
-			wxParseTemplate,
-			wxParseImg,
-			wxParseVideo,
-			wxParseAudio,
-			wxParseTable
-		},
-		methods: {
-			wxParseATap(attr,e) {
-				const {
-					href
-				} = e.currentTarget.dataset;// TODO currentTarget才有dataset
-				if (!href) return;
-				let parent = this.$parent;
-				while(!parent.preview || typeof parent.preview !== 'function') {// TODO 遍历获取父节点执行方法
-					parent = parent.$parent;
-				}
-				parent.navigate(href, e, attr);
-			}
-		}
-	};
-</script>

+ 0 - 88
components/gaoyia-parse/components/wxParseTemplate1.vue

@@ -1,88 +0,0 @@
-<template>
-	<!--判断是否是标签节点-->
-	<block v-if="node.node == 'element'">
-		<!--button类型-->
-		<button v-if="node.tag == 'button'" type="default" size="mini" :class="node.classStr" :style="node.styleStr">
-			<wx-parse-template :node="node" />
-		</button>
-		
-		<!--a类型-->
-		<view v-else-if="node.tag == 'a'" @click="wxParseATap(node.attr,$event)" :class="node.classStr" :data-href="node.attr.href" :style="node.styleStr">
-			<block v-for="(node, index) of node.nodes" :key="index">
-				<wx-parse-template :node="node" />
-			</block>
-		</view>
-		
-		<!--li类型-->
-		<view v-else-if="node.tag == 'li'" :class="node.classStr" :style="node.styleStr">
-			<block v-for="(node, index) of node.nodes" :key="index">
-				<wx-parse-template :node="node" />
-			</block>
-		</view>
-		
-		<!--table类型-->
-		<wx-parse-table v-else-if="node.tag == 'table'" :class="node.classStr" :style="node.styleStr" :node="node" />
-		
-		<!--br类型-->
-		<!-- #ifndef H5 -->
-			<text v-else-if="node.tag == 'br'">\n</text>
-		<!-- #endif -->
-		<!-- #ifdef H5 -->
-			<br v-else-if="node.tag == 'br'">
-		<!-- #endif -->
-		
-		<!--video类型-->
-		<wx-parse-video :node="node" v-else-if="node.tag == 'video'"/>
-	
-		<!--audio类型-->
-		<wx-parse-audio :node="node" v-else-if="node.tag == 'audio'"/>
-	
-		<!--img类型-->
-		<wx-parse-img :node="node" v-else-if="node.tag == 'img'" :style="node.styleStr"/>
-	
-		<!--其他标签-->
-		<view v-else :class="node.classStr" :style="node.styleStr">
-			<block v-for="(node, index) of node.nodes" :key="index">
-				<wx-parse-template :node="node" />
-			</block>
-		</view>
-	</block>
-	
-	<!--判断是否是文本节点-->
-	<block v-else-if="node.node == 'text'">{{node.text}}</block>
-</template>
-
-<script>
-	import wxParseTemplate from './wxParseTemplate2';
-	import wxParseImg from './wxParseImg';
-	import wxParseVideo from './wxParseVideo';
-	import wxParseAudio from './wxParseAudio';
-	import wxParseTable from './wxParseTable';
-	
-	export default {
-		name: 'wxParseTemplate1',
-		props: {
-			node: {},
-		},
-		components: {
-			wxParseTemplate,
-			wxParseImg,
-			wxParseVideo,
-			wxParseAudio,
-			wxParseTable
-		},
-		methods: {
-			wxParseATap(attr,e) {
-				const {
-					href
-				} = e.currentTarget.dataset;
-				if (!href) return;
-				let parent = this.$parent;
-				while(!parent.preview || typeof parent.preview !== 'function') {
-					parent = parent.$parent;
-				}
-				parent.navigate(href, e, attr);
-			}
-		}
-	};
-</script>

+ 0 - 88
components/gaoyia-parse/components/wxParseTemplate10.vue

@@ -1,88 +0,0 @@
-<template>
-		<!--判断是否是标签节点-->
-	<block v-if="node.node == 'element'">
-		<!--button类型-->
-		<button v-if="node.tag == 'button'" type="default" size="mini" :class="node.classStr" :style="node.styleStr">
-			<wx-parse-template :node="node" />
-		</button>
-		
-		<!--a类型-->
-		<view v-else-if="node.tag == 'a'" @click="wxParseATap(node.attr,$event)" :class="node.classStr" :data-href="node.attr.href" :style="node.styleStr">
-			<block v-for="(node, index) of node.nodes" :key="index">
-				<wx-parse-template :node="node" />
-			</block>
-		</view>
-		
-		<!--li类型-->
-		<view v-else-if="node.tag == 'li'" :class="node.classStr" :style="node.styleStr">
-			<block v-for="(node, index) of node.nodes" :key="index">
-				<wx-parse-template :node="node" />
-			</block>
-		</view>
-		
-		<!--table类型-->
-		<wx-parse-table v-else-if="node.tag == 'table'" :class="node.classStr" :style="node.styleStr" :node="node" />
-		
-		<!--br类型-->
-		<!-- #ifndef H5 -->
-			<text v-else-if="node.tag == 'br'">\n</text>
-		<!-- #endif -->
-		<!-- #ifdef H5 -->
-			<br v-else-if="node.tag == 'br'">
-		<!-- #endif -->
-		
-		<!--video类型-->
-		<wx-parse-video :node="node" v-else-if="node.tag == 'video'"/>
-	
-		<!--audio类型-->
-		<wx-parse-audio :node="node" v-else-if="node.tag == 'audio'"/>
-	
-		<!--img类型-->
-		<wx-parse-img :node="node" v-else-if="node.tag == 'img'" :style="node.styleStr"/>
-	
-		<!--其他标签-->
-		<view v-else :class="node.classStr" :style="node.styleStr">
-			<block v-for="(node, index) of node.nodes" :key="index">
-				<wx-parse-template :node="node" />
-			</block>
-		</view>
-	</block>
-	
-	<!--判断是否是文本节点-->
-	<block v-else-if="node.node == 'text' ">{{node.text}}</block>
-</template>
-
-<script>
-	import wxParseTemplate from './wxParseTemplate11';
-	import wxParseImg from './wxParseImg';
-	import wxParseVideo from './wxParseVideo';
-	import wxParseAudio from './wxParseAudio';
-	import wxParseTable from './wxParseTable';
-	
-	export default {
-		name: 'wxParseTemplate10',
-		props: {
-			node: {},
-		},
-		components: {
-			wxParseTemplate,
-			wxParseImg,
-			wxParseVideo,
-			wxParseAudio,
-			wxParseTable
-		},
-		methods: {
-			wxParseATap(attr,e) {
-				const {
-					href
-				} = e.currentTarget.dataset;
-				if (!href) return;
-				let parent = this.$parent;
-				while(!parent.preview || typeof parent.preview !== 'function') {
-					parent = parent.$parent;
-				}
-				parent.navigate(href, e, attr);
-			}
-		}
-	};
-</script>

+ 0 - 86
components/gaoyia-parse/components/wxParseTemplate11.vue

@@ -1,86 +0,0 @@
-<template>
-		<!--判断是否是标签节点-->
-	<block v-if="node.node == 'element'">
-		<!--button类型-->
-		<button v-if="node.tag == 'button'" type="default" size="mini" :class="node.classStr" :style="node.styleStr">
-			<rich-text :nodes="node" :class="node.classStr" :style="'user-select:' + parseSelect"></rich-text>
-		</button>
-		
-		<!--a类型-->
-		<view v-else-if="node.tag == 'a'" @click="wxParseATap(node.attr,$event)" :class="node.classStr" :data-href="node.attr.href" :style="node.styleStr">
-			<block v-for="(node, index) of node.nodes" :key="index">
-				<rich-text :nodes="node" :class="node.classStr" :style="'user-select:' + parseSelect"></rich-text>
-			</block>
-		</view>
-		
-		<!--li类型-->
-		<view v-else-if="node.tag == 'li'" :class="node.classStr" :style="node.styleStr">
-			<block v-for="(node, index) of node.nodes" :key="index">
-				<rich-text :nodes="node" :class="node.classStr" :style="'user-select:' + parseSelect"></rich-text>
-			</block>
-		</view>
-		
-		<!--table类型-->
-		<wx-parse-table v-else-if="node.tag == 'table'" :class="node.classStr" :style="node.styleStr" :node="node" />
-		
-		<!--br类型-->
-		<!-- #ifndef H5 -->
-			<text v-else-if="node.tag == 'br'">\n</text>
-		<!-- #endif -->
-		<!-- #ifdef H5 -->
-			<br v-else-if="node.tag == 'br'">
-		<!-- #endif -->
-		
-		<!--video类型-->
-		<wx-parse-video :node="node" v-else-if="node.tag == 'video'"/>
-	
-		<!--audio类型-->
-		<wx-parse-audio :node="node" v-else-if="node.tag == 'audio'"/>
-	
-		<!--img类型-->
-		<wx-parse-img :node="node" v-else-if="node.tag == 'img'"/>
-	
-		<!--其他标签-->
-		<view v-else :class="node.classStr" :style="node.styleStr">
-			<block v-for="(node, index) of node.nodes" :key="index">
-				<rich-text :nodes="node" :class="node.classStr" :style="'user-select:' + parseSelect"></rich-text>
-			</block>
-		</view>
-	</block>
-	
-	<!--判断是否是文本节点-->
-	<block v-else-if="node.node == 'text' ">{{node.text}}</block>
-</template>
-
-<script>
-	import wxParseImg from './wxParseImg';
-	import wxParseVideo from './wxParseVideo';
-	import wxParseAudio from './wxParseAudio';
-	import wxParseTable from './wxParseTable';
-	
-	export default {
-		name: 'wxParseTemplate11',
-		props: {
-			node: {},
-		},
-		components: {
-			wxParseImg,
-			wxParseVideo,
-			wxParseAudio,
-			wxParseTable
-		},
-		methods: {
-			wxParseATap(attr,e) {
-				const {
-					href
-				} = e.currentTarget.dataset;
-				if (!href) return;
-				let parent = this.$parent;
-				while(!parent.preview || typeof parent.preview !== 'function') {
-					parent = parent.$parent;
-				}
-				parent.navigate(href, e, attr);
-			}
-		}
-	};
-</script>

+ 0 - 88
components/gaoyia-parse/components/wxParseTemplate2.vue

@@ -1,88 +0,0 @@
-<template>
-		<!--判断是否是标签节点-->
-	<block v-if="node.node == 'element'">
-		<!--button类型-->
-		<button v-if="node.tag == 'button'" type="default" size="mini" :class="node.classStr" :style="node.styleStr">
-			<wx-parse-template :node="node" />
-		</button>
-		
-		<!--a类型-->
-		<view v-else-if="node.tag == 'a'" @click="wxParseATap(node.attr,$event)" :class="node.classStr" :data-href="node.attr.href" :style="node.styleStr">
-			<block v-for="(node, index) of node.nodes" :key="index">
-				<wx-parse-template :node="node" />
-			</block>
-		</view>
-		
-		<!--li类型-->
-		<view v-else-if="node.tag == 'li'" :class="node.classStr" :style="node.styleStr">
-			<block v-for="(node, index) of node.nodes" :key="index">
-				<wx-parse-template :node="node" />
-			</block>
-		</view>
-		
-		<!--table类型-->
-		<wx-parse-table v-else-if="node.tag == 'table'" :class="node.classStr" :style="node.styleStr" :node="node" />
-		
-		<!--br类型-->
-		<!-- #ifndef H5 -->
-			<text v-else-if="node.tag == 'br'">\n</text>
-		<!-- #endif -->
-		<!-- #ifdef H5 -->
-			<br v-else-if="node.tag == 'br'">
-		<!-- #endif -->
-		
-		<!--video类型-->
-		<wx-parse-video :node="node" v-else-if="node.tag == 'video'"/>
-	
-		<!--audio类型-->
-		<wx-parse-audio :node="node" v-else-if="node.tag == 'audio'"/>
-	
-		<!--img类型-->
-		<wx-parse-img :node="node" v-else-if="node.tag == 'img'" :style="node.styleStr"/>
-	
-		<!--其他标签-->
-		<view v-else :class="node.classStr" :style="node.styleStr">
-			<block v-for="(node, index) of node.nodes" :key="index">
-				<wx-parse-template :node="node" />
-			</block>
-		</view>
-	</block>
-	
-	<!--判断是否是文本节点-->
-	<block v-else-if="node.node == 'text'">{{node.text}}</block>
-</template>
-
-<script>
-	import wxParseTemplate from './wxParseTemplate3';
-	import wxParseImg from './wxParseImg';
-	import wxParseVideo from './wxParseVideo';
-	import wxParseAudio from './wxParseAudio';
-	import wxParseTable from './wxParseTable';
-	
-	export default {
-		name: 'wxParseTemplate2',
-		props: {
-			node: {},
-		},
-		components: {
-			wxParseTemplate,
-			wxParseImg,
-			wxParseVideo,
-			wxParseAudio,
-			wxParseTable
-		},
-		methods: {
-			wxParseATap(attr,e) {
-				const {
-					href
-				} = e.currentTarget.dataset;
-				if (!href) return;
-				let parent = this.$parent;
-				while(!parent.preview || typeof parent.preview !== 'function') {
-					parent = parent.$parent;
-				}
-				parent.navigate(href, e, attr);
-			}
-		}
-	};
-</script>

+ 0 - 88
components/gaoyia-parse/components/wxParseTemplate3.vue

@@ -1,88 +0,0 @@
-<template>
-		<!--判断是否是标签节点-->
-	<block v-if="node.node == 'element'">
-		<!--button类型-->
-		<button v-if="node.tag == 'button'" type="default" size="mini" :class="node.classStr" :style="node.styleStr">
-			<wx-parse-template :node="node" />
-		</button>
-		
-		<!--a类型-->
-		<view v-else-if="node.tag == 'a'" @click="wxParseATap(node.attr,$event)" :class="node.classStr" :data-href="node.attr.href" :style="node.styleStr">
-			<block v-for="(node, index) of node.nodes" :key="index">
-				<wx-parse-template :node="node" />
-			</block>
-		</view>
-		
-		<!--li类型-->
-		<view v-else-if="node.tag == 'li'" :class="node.classStr" :style="node.styleStr">
-			<block v-for="(node, index) of node.nodes" :key="index">
-				<wx-parse-template :node="node" />
-			</block>
-		</view>
-		
-		<!--table类型-->
-		<wx-parse-table v-else-if="node.tag == 'table'" :class="node.classStr" :style="node.styleStr" :node="node" />
-		
-		<!--br类型-->
-		<!-- #ifndef H5 -->
-			<text v-else-if="node.tag == 'br'">\n</text>
-		<!-- #endif -->
-		<!-- #ifdef H5 -->
-			<br v-else-if="node.tag == 'br'">
-		<!-- #endif -->
-		
-		<!--video类型-->
-		<wx-parse-video :node="node" v-else-if="node.tag == 'video'"/>
-	
-		<!--audio类型-->
-		<wx-parse-audio :node="node" v-else-if="node.tag == 'audio'"/>
-	
-		<!--img类型-->
-		<wx-parse-img :node="node" v-else-if="node.tag == 'img'" :style="node.styleStr"/>
-	
-		<!--其他标签-->
-		<view v-else :class="node.classStr" :style="node.styleStr">
-			<block v-for="(node, index) of node.nodes" :key="index">
-				<wx-parse-template :node="node" />
-			</block>
-		</view>
-	</block>
-	
-	<!--判断是否是文本节点-->
-	<block v-else-if="node.node == 'text' ">{{node.text}}</block>
-</template>
-
-<script>
-	import wxParseTemplate from './wxParseTemplate4';
-	import wxParseImg from './wxParseImg';
-	import wxParseVideo from './wxParseVideo';
-	import wxParseAudio from './wxParseAudio';
-	import wxParseTable from './wxParseTable';
-	
-	export default {
-		name: 'wxParseTemplate3',
-		props: {
-			node: {},
-		},
-		components: {
-			wxParseTemplate,
-			wxParseImg,
-			wxParseVideo,
-			wxParseAudio,
-			wxParseTable
-		},
-		methods: {
-			wxParseATap(attr,e) {
-				const {
-					href
-				} = e.currentTarget.dataset;
-				if (!href) return;
-				let parent = this.$parent;
-				while(!parent.preview || typeof parent.preview !== 'function') {
-					parent = parent.$parent;
-				}
-				parent.navigate(href, e, attr);
-			}
-		}
-	};
-</script>

+ 0 - 88
components/gaoyia-parse/components/wxParseTemplate4.vue

@@ -1,88 +0,0 @@
-<template>
-		<!--判断是否是标签节点-->
-	<block v-if="node.node == 'element'">
-		<!--button类型-->
-		<button v-if="node.tag == 'button'" type="default" size="mini" :class="node.classStr" :style="node.styleStr">
-			<wx-parse-template :node="node" />
-		</button>
-		
-		<!--a类型-->
-		<view v-else-if="node.tag == 'a'" @click="wxParseATap(node.attr,$event)" :class="node.classStr" :data-href="node.attr.href" :style="node.styleStr">
-			<block v-for="(node, index) of node.nodes" :key="index">
-				<wx-parse-template :node="node" />
-			</block>
-		</view>
-		
-		<!--li类型-->
-		<view v-else-if="node.tag == 'li'" :class="node.classStr" :style="node.styleStr">
-			<block v-for="(node, index) of node.nodes" :key="index">
-				<wx-parse-template :node="node" />
-			</block>
-		</view>
-		
-		<!--table类型-->
-		<wx-parse-table v-else-if="node.tag == 'table'" :class="node.classStr" :style="node.styleStr" :node="node" />
-		
-		<!--br类型-->
-		<!-- #ifndef H5 -->
-			<text v-else-if="node.tag == 'br'">\n</text>
-		<!-- #endif -->
-		<!-- #ifdef H5 -->
-			<br v-else-if="node.tag == 'br'">
-		<!-- #endif -->
-		
-		<!--video类型-->
-		<wx-parse-video :node="node" v-else-if="node.tag == 'video'"/>
-	
-		<!--audio类型-->
-		<wx-parse-audio :node="node" v-else-if="node.tag == 'audio'"/>
-	
-		<!--img类型-->
-		<wx-parse-img :node="node" v-else-if="node.tag == 'img'" :style="node.styleStr"/>
-	
-		<!--其他标签-->
-		<view v-else :class="node.classStr" :style="node.styleStr">
-			<block v-for="(node, index) of node.nodes" :key="index">
-				<wx-parse-template :node="node" />
-			</block>
-		</view>
-	</block>
-	
-	<!--判断是否是文本节点-->
-	<block v-else-if="node.node == 'text' ">{{node.text}}</block>
-</template>
-
-<script>
-	import wxParseTemplate from './wxParseTemplate5';
-	import wxParseImg from './wxParseImg';
-	import wxParseVideo from './wxParseVideo';
-	import wxParseAudio from './wxParseAudio';
-	import wxParseTable from './wxParseTable';
-	
-	export default {
-		name: 'wxParseTemplate4',
-		props: {
-			node: {},
-		},
-		components: {
-			wxParseTemplate,
-			wxParseImg,
-			wxParseVideo,
-			wxParseAudio,
-			wxParseTable
-		},
-		methods: {
-			wxParseATap(attr,e) {
-				const {
-					href
-				} = e.currentTarget.dataset;
-				if (!href) return;
-				let parent = this.$parent;
-				while(!parent.preview || typeof parent.preview !== 'function') {
-					parent = parent.$parent;
-				}
-				parent.navigate(href, e, attr);
-			}
-		}
-	};
-</script>

+ 0 - 88
components/gaoyia-parse/components/wxParseTemplate5.vue

@@ -1,88 +0,0 @@
-<template>
-		<!--判断是否是标签节点-->
-	<block v-if="node.node == 'element'">
-		<!--button类型-->
-		<button v-if="node.tag == 'button'" type="default" size="mini" :class="node.classStr" :style="node.styleStr">
-			<wx-parse-template :node="node" />
-		</button>
-		
-		<!--a类型-->
-		<view v-else-if="node.tag == 'a'" @click="wxParseATap(node.attr,$event)" :class="node.classStr" :data-href="node.attr.href" :style="node.styleStr">
-			<block v-for="(node, index) of node.nodes" :key="index">
-				<wx-parse-template :node="node" />
-			</block>
-		</view>
-		
-		<!--li类型-->
-		<view v-else-if="node.tag == 'li'" :class="node.classStr" :style="node.styleStr">
-			<block v-for="(node, index) of node.nodes" :key="index">
-				<wx-parse-template :node="node" />
-			</block>
-		</view>
-		
-		<!--table类型-->
-		<wx-parse-table v-else-if="node.tag == 'table'" :class="node.classStr" :style="node.styleStr" :node="node" />
-		
-		<!--br类型-->
-		<!-- #ifndef H5 -->
-			<text v-else-if="node.tag == 'br'">\n</text>
-		<!-- #endif -->
-		<!-- #ifdef H5 -->
-			<br v-else-if="node.tag == 'br'">
-		<!-- #endif -->
-		
-		<!--video类型-->
-		<wx-parse-video :node="node" v-else-if="node.tag == 'video'"/>
-	
-		<!--audio类型-->
-		<wx-parse-audio :node="node" v-else-if="node.tag == 'audio'"/>
-	
-		<!--img类型-->
-		<wx-parse-img :node="node" v-else-if="node.tag == 'img'" :style="node.styleStr"/>
-	
-		<!--其他标签-->
-		<view v-else :class="node.classStr" :style="node.styleStr">
-			<block v-for="(node, index) of node.nodes" :key="index">
-				<wx-parse-template :node="node" />
-			</block>
-		</view>
-	</block>
-	
-	<!--判断是否是文本节点-->
-	<block v-else-if="node.node == 'text' ">{{node.text}}</block>
-</template>
-
-<script>
-	import wxParseTemplate from './wxParseTemplate6';
-	import wxParseImg from './wxParseImg';
-	import wxParseVideo from './wxParseVideo';
-	import wxParseAudio from './wxParseAudio';
-	import wxParseTable from './wxParseTable';
-	
-	export default {
-		name: 'wxParseTemplate5',
-		props: {
-			node: {},
-		},
-		components: {
-			wxParseTemplate,
-			wxParseImg,
-			wxParseVideo,
-			wxParseAudio,
-			wxParseTable
-		},
-		methods: {
-			wxParseATap(attr,e) {
-				const {
-					href
-				} = e.currentTarget.dataset;
-				if (!href) return;
-				let parent = this.$parent;
-				while(!parent.preview || typeof parent.preview !== 'function') {
-					parent = parent.$parent;
-				}
-				parent.navigate(href, e, attr);
-			}
-		}
-	};
-</script>

+ 0 - 88
components/gaoyia-parse/components/wxParseTemplate6.vue

@@ -1,88 +0,0 @@
-<template>
-		<!--判断是否是标签节点-->
-	<block v-if="node.node == 'element'">
-		<!--button类型-->
-		<button v-if="node.tag == 'button'" type="default" size="mini" :class="node.classStr" :style="node.styleStr">
-			<wx-parse-template :node="node" />
-		</button>
-		
-		<!--a类型-->
-		<view v-else-if="node.tag == 'a'" @click="wxParseATap(node.attr,$event)" :class="node.classStr" :data-href="node.attr.href" :style="node.styleStr">
-			<block v-for="(node, index) of node.nodes" :key="index">
-				<wx-parse-template :node="node" />
-			</block>
-		</view>
-		
-		<!--li类型-->
-		<view v-else-if="node.tag == 'li'" :class="node.classStr" :style="node.styleStr">
-			<block v-for="(node, index) of node.nodes" :key="index">
-				<wx-parse-template :node="node" />
-			</block>
-		</view>
-		
-		<!--table类型-->
-		<wx-parse-table v-else-if="node.tag == 'table'" :class="node.classStr" :style="node.styleStr" :node="node" />
-		
-		<!--br类型-->
-		<!-- #ifndef H5 -->
-			<text v-else-if="node.tag == 'br'">\n</text>
-		<!-- #endif -->
-		<!-- #ifdef H5 -->
-			<br v-else-if="node.tag == 'br'">
-		<!-- #endif -->
-		
-		<!--video类型-->
-		<wx-parse-video :node="node" v-else-if="node.tag == 'video'"/>
-	
-		<!--audio类型-->
-		<wx-parse-audio :node="node" v-else-if="node.tag == 'audio'"/>
-	
-		<!--img类型-->
-		<wx-parse-img :node="node" v-else-if="node.tag == 'img'" :style="node.styleStr"/>
-	
-		<!--其他标签-->
-		<view v-else :class="node.classStr" :style="node.styleStr">
-			<block v-for="(node, index) of node.nodes" :key="index">
-				<wx-parse-template :node="node" />
-			</block>
-		</view>
-	</block>
-	
-	<!--判断是否是文本节点-->
-	<block v-else-if="node.node == 'text' ">{{node.text}}</block>
-</template>
-
-<script>
-	import wxParseTemplate from './wxParseTemplate7';
-	import wxParseImg from './wxParseImg';
-	import wxParseVideo from './wxParseVideo';
-	import wxParseAudio from './wxParseAudio';
-	import wxParseTable from './wxParseTable';
-	
-	export default {
-		name: 'wxParseTemplate6',
-		props: {
-			node: {},
-		},
-		components: {
-			wxParseTemplate,
-			wxParseImg,
-			wxParseVideo,
-			wxParseAudio,
-			wxParseTable
-		},
-		methods: {
-			wxParseATap(attr,e) {
-				const {
-					href
-				} = e.currentTarget.dataset;
-				if (!href) return;
-				let parent = this.$parent;
-				while(!parent.preview || typeof parent.preview !== 'function') {
-					parent = parent.$parent;
-				}
-				parent.navigate(href, e, attr);
-			}
-		}
-	};
-</script>

+ 0 - 88
components/gaoyia-parse/components/wxParseTemplate7.vue

@@ -1,88 +0,0 @@
-<template>
-		<!--判断是否是标签节点-->
-	<block v-if="node.node == 'element'">
-		<!--button类型-->
-		<button v-if="node.tag == 'button'" type="default" size="mini" :class="node.classStr" :style="node.styleStr">
-			<wx-parse-template :node="node" />
-		</button>
-		
-		<!--a类型-->
-		<view v-else-if="node.tag == 'a'" @click="wxParseATap(node.attr,$event)" :class="node.classStr" :data-href="node.attr.href" :style="node.styleStr">
-			<block v-for="(node, index) of node.nodes" :key="index">
-				<wx-parse-template :node="node" />
-			</block>
-		</view>
-		
-		<!--li类型-->
-		<view v-else-if="node.tag == 'li'" :class="node.classStr" :style="node.styleStr">
-			<block v-for="(node, index) of node.nodes" :key="index">
-				<wx-parse-template :node="node" />
-			</block>
-		</view>
-		
-		<!--table类型-->
-		<wx-parse-table v-else-if="node.tag == 'table'" :class="node.classStr" :style="node.styleStr" :node="node" />
-		
-		<!--br类型-->
-		<!-- #ifndef H5 -->
-			<text v-else-if="node.tag == 'br'">\n</text>
-		<!-- #endif -->
-		<!-- #ifdef H5 -->
-			<br v-else-if="node.tag == 'br'">
-		<!-- #endif -->
-		
-		<!--video类型-->
-		<wx-parse-video :node="node" v-else-if="node.tag == 'video'"/>
-	
-		<!--audio类型-->
-		<wx-parse-audio :node="node" v-else-if="node.tag == 'audio'"/>
-	
-		<!--img类型-->
-		<wx-parse-img :node="node" v-else-if="node.tag == 'img'" :style="node.styleStr"/>
-	
-		<!--其他标签-->
-		<view v-else :class="node.classStr" :style="node.styleStr">
-			<block v-for="(node, index) of node.nodes" :key="index">
-				<wx-parse-template :node="node" />
-			</block>
-		</view>
-	</block>
-	
-	<!--判断是否是文本节点-->
-	<block v-else-if="node.node == 'text' ">{{node.text}}</block>
-</template>
-
-<script>
-	import wxParseTemplate from './wxParseTemplate8';
-	import wxParseImg from './wxParseImg';
-	import wxParseVideo from './wxParseVideo';
-	import wxParseAudio from './wxParseAudio';
-	import wxParseTable from './wxParseTable';
-	
-	export default {
-		name: 'wxParseTemplate7',
-		props: {
-			node: {},
-		},
-		components: {
-			wxParseTemplate,
-			wxParseImg,
-			wxParseVideo,
-			wxParseAudio,
-			wxParseTable
-		},
-		methods: {
-			wxParseATap(attr,e) {
-				const {
-					href
-				} = e.currentTarget.dataset;
-				if (!href) return;
-				let parent = this.$parent;
-				while(!parent.preview || typeof parent.preview !== 'function') {
-					parent = parent.$parent;
-				}
-				parent.navigate(href, e, attr);
-			}
-		}
-	};
-</script>

+ 0 - 88
components/gaoyia-parse/components/wxParseTemplate8.vue

@@ -1,88 +0,0 @@
-<template>
-		<!--判断是否是标签节点-->
-	<block v-if="node.node == 'element'">
-		<!--button类型-->
-		<button v-if="node.tag == 'button'" type="default" size="mini" :class="node.classStr" :style="node.styleStr">
-			<wx-parse-template :node="node" />
-		</button>
-		
-		<!--a类型-->
-		<view v-else-if="node.tag == 'a'" @click="wxParseATap(node.attr,$event)" :class="node.classStr" :data-href="node.attr.href" :style="node.styleStr">
-			<block v-for="(node, index) of node.nodes" :key="index">
-				<wx-parse-template :node="node" />
-			</block>
-		</view>
-		
-		<!--li类型-->
-		<view v-else-if="node.tag == 'li'" :class="node.classStr" :style="node.styleStr">
-			<block v-for="(node, index) of node.nodes" :key="index">
-				<wx-parse-template :node="node" />
-			</block>
-		</view>
-		
-		<!--table类型-->
-		<wx-parse-table v-else-if="node.tag == 'table'" :class="node.classStr" :style="node.styleStr" :node="node" />
-		
-		<!--br类型-->
-		<!-- #ifndef H5 -->
-			<text v-else-if="node.tag == 'br'">\n</text>
-		<!-- #endif -->
-		<!-- #ifdef H5 -->
-			<br v-else-if="node.tag == 'br'">
-		<!-- #endif -->
-		
-		<!--video类型-->
-		<wx-parse-video :node="node" v-else-if="node.tag == 'video'"/>
-	
-		<!--audio类型-->
-		<wx-parse-audio :node="node" v-else-if="node.tag == 'audio'"/>
-	
-		<!--img类型-->
-		<wx-parse-img :node="node" v-else-if="node.tag == 'img'" :style="node.styleStr"/>
-	
-		<!--其他标签-->
-		<view v-else :class="node.classStr" :style="node.styleStr">
-			<block v-for="(node, index) of node.nodes" :key="index">
-				<wx-parse-template :node="node" />
-			</block>
-		</view>
-	</block>
-	
-	<!--判断是否是文本节点-->
-	<block v-else-if="node.node == 'text' ">{{node.text}}</block>
-</template>
-
-<script>
-	import wxParseTemplate from './wxParseTemplate9';
-	import wxParseImg from './wxParseImg';
-	import wxParseVideo from './wxParseVideo';
-	import wxParseAudio from './wxParseAudio';
-	import wxParseTable from './wxParseTable';
-	
-	export default {
-		name: 'wxParseTemplate8',
-		props: {
-			node: {},
-		},
-		components: {
-			wxParseTemplate,
-			wxParseImg,
-			wxParseVideo,
-			wxParseAudio,
-			wxParseTable
-		},
-		methods: {
-			wxParseATap(attr,e) {
-				const {
-					href
-				} = e.currentTarget.dataset;
-				if (!href) return;
-				let parent = this.$parent;
-				while(!parent.preview || typeof parent.preview !== 'function') {
-					parent = parent.$parent;
-				}
-				parent.navigate(href, e, attr);
-			}
-		}
-	};
-</script>

+ 0 - 88
components/gaoyia-parse/components/wxParseTemplate9.vue

@@ -1,88 +0,0 @@
-<template>
-		<!--判断是否是标签节点-->
-	<block v-if="node.node == 'element'">
-		<!--button类型-->
-		<button v-if="node.tag == 'button'" type="default" size="mini" :class="node.classStr" :style="node.styleStr">
-			<wx-parse-template :node="node" />
-		</button>
-		
-		<!--a类型-->
-		<view v-else-if="node.tag == 'a'" @click="wxParseATap(node.attr,$event)" :class="node.classStr" :data-href="node.attr.href" :style="node.styleStr">
-			<block v-for="(node, index) of node.nodes" :key="index">
-				<wx-parse-template :node="node" />
-			</block>
-		</view>
-		
-		<!--li类型-->
-		<view v-else-if="node.tag == 'li'" :class="node.classStr" :style="node.styleStr">
-			<block v-for="(node, index) of node.nodes" :key="index">
-				<wx-parse-template :node="node" />
-			</block>
-		</view>
-		
-		<!--table类型-->
-		<wx-parse-table v-else-if="node.tag == 'table'" :class="node.classStr" :style="node.styleStr" :node="node" />
-		
-		<!--br类型-->
-		<!-- #ifndef H5 -->
-			<text v-else-if="node.tag == 'br'">\n</text>
-		<!-- #endif -->
-		<!-- #ifdef H5 -->
-			<br v-else-if="node.tag == 'br'">
-		<!-- #endif -->
-		
-		<!--video类型-->
-		<wx-parse-video :node="node" v-else-if="node.tag == 'video'"/>
-	
-		<!--audio类型-->
-		<wx-parse-audio :node="node" v-else-if="node.tag == 'audio'"/>
-	
-		<!--img类型-->
-		<wx-parse-img :node="node" v-else-if="node.tag == 'img'" :style="node.styleStr"/>
-	
-		<!--其他标签-->
-		<view v-else :class="node.classStr" :style="node.styleStr">
-			<block v-for="(node, index) of node.nodes" :key="index">
-				<wx-parse-template :node="node" />
-			</block>
-		</view>
-	</block>
-	
-	<!--判断是否是文本节点-->
-	<block v-else-if="node.node == 'text' ">{{node.text}}</block>
-</template>
-
-<script>
-	import wxParseTemplate from './wxParseTemplate10';
-	import wxParseImg from './wxParseImg';
-	import wxParseVideo from './wxParseVideo';
-	import wxParseAudio from './wxParseAudio';
-	import wxParseTable from './wxParseTable';
-	
-	export default {
-		name: 'wxParseTemplate9',
-		props: {
-			node: {},
-		},
-		components: {
-			wxParseTemplate,
-			wxParseImg,
-			wxParseVideo,
-			wxParseAudio,
-			wxParseTable
-		},
-		methods: {
-			wxParseATap(attr,e) {
-				const {
-					href
-				} = e.currentTarget.dataset;
-				if (!href) return;
-				let parent = this.$parent;
-				while(!parent.preview || typeof parent.preview !== 'function') {
-					parent = parent.$parent;
-				}
-				parent.navigate(href, e, attr);
-			}
-		}
-	};
-</script>

+ 0 - 15
components/gaoyia-parse/components/wxParseVideo.vue

@@ -1,15 +0,0 @@
-<template>
-  <!--增加video标签支持,并循环添加-->
-  <view :class="node.classStr" :style="node.styleStr">
-    <video :class="node.classStr" :style="node.styleStr" class="video-video" :src="node.attr.src"></video>
-  </view>
-</template>
-
-<script>
-export default {
-  name: 'wxParseVideo',
-  props: {
-    node: {},
-  },
-};
-</script>

+ 0 - 262
components/gaoyia-parse/libs/html2json.js

@@ -1,262 +0,0 @@
-/**
- * html2Json 改造来自: https://github.com/Jxck/html2json
- *
- *
- * author: Di (微信小程序开发工程师)
- * organization: WeAppDev(微信小程序开发论坛)(http://weappdev.com)
- *               垂直微信小程序开发交流社区
- *
- * github地址: https://github.com/icindy/wxParse
- *
- * for: 微信小程序富文本解析
- * detail : http://weappdev.com/t/wxparse-alpha0-1-html-markdown/184
- */
-
-import wxDiscode from './wxDiscode';
-import HTMLParser from './htmlparser';
-
-function makeMap(str) {
-  const obj = {};
-  const items = str.split(',');
-  for (let i = 0; i < items.length; i += 1) obj[items[i]] = true;
-  return obj;
-}
-
-// Block Elements - HTML 5
-const block = makeMap('br,code,address,article,applet,aside,audio,blockquote,button,canvas,center,dd,del,dir,div,dl,dt,fieldset,figcaption,figure,footer,form,frameset,h1,h2,h3,h4,h5,h6,header,hgroup,hr,iframe,ins,isindex,li,map,menu,noframes,noscript,object,ol,output,p,pre,section,script,table,tbody,td,tfoot,th,thead,tr,ul,video');
-
-// Inline Elements - HTML 5
-const inline = makeMap('a,abbr,acronym,applet,b,basefont,bdo,big,button,cite,del,dfn,em,font,i,iframe,img,input,ins,kbd,label,map,object,q,s,samp,script,select,small,span,strike,strong,sub,sup,textarea,tt,u,var');
-
-// Elements that you can, intentionally, leave open
-// (and which close themselves)
-const closeSelf = makeMap('colgroup,dd,dt,li,options,p,td,tfoot,th,thead,tr');
-
-function removeDOCTYPE(html) {
-  const isDocument = /<body.*>([^]*)<\/body>/.test(html);
-  return isDocument ? RegExp.$1 : html;
-}
-
-function trimHtml(html) {
-  return html
-    .replace(/<!--.*?-->/gi, '')
-    .replace(/\/\*.*?\*\//gi, '')
-    .replace(/[ ]+</gi, '<')
-    .replace(/<script[^]*<\/script>/gi, '')
-    .replace(/<style[^]*<\/style>/gi, '');
-}
-
-function getScreenInfo() {
-  const screen = {};
-  wx.getSystemInfo({
-    success: (res) => {
-      screen.width = res.windowWidth;
-      screen.height = res.windowHeight;
-    },
-  });
-  return screen;
-}
-
-function html2json(html, customHandler, imageProp, host) {
-  // 处理字符串
-  html = removeDOCTYPE(html);
-  html = trimHtml(html);
-  html = wxDiscode.strDiscode(html);
-  // 生成node节点
-  const bufArray = [];
-  const results = {
-    nodes: [],
-    imageUrls: [],
-  };
-
-	const screen = getScreenInfo();
-  function Node(tag) {
-    this.node = 'element';
-    this.tag = tag;
-		
-		this.$screen = screen;
-  }
-
-  HTMLParser(html, {
-    start(tag, attrs, unary) {
-      // node for this element
-      const node = new Node(tag);
-
-      if (bufArray.length !== 0) {
-        const parent = bufArray[0];
-        if (parent.nodes === undefined) {
-          parent.nodes = [];
-        }
-      }
-
-      if (block[tag]) {
-        node.tagType = 'block';
-      } else if (inline[tag]) {
-        node.tagType = 'inline';
-      } else if (closeSelf[tag]) {
-        node.tagType = 'closeSelf';
-      }
-
-      node.attr = attrs.reduce((pre, attr) => {
-        const { name } = attr;
-        let { value } = attr;
-        if (name === 'class') {
-          node.classStr = value;
-        }
-        // has multi attibutes
-        // make it array of attribute
-        if (name === 'style') {
-          node.styleStr = value;
-        }
-        if (value.match(/ /)) {
-          value = value.split(' ');
-        }
-
-        // if attr already exists
-        // merge it
-        if (pre[name]) {
-          if (Array.isArray(pre[name])) {
-            // already array, push to last
-            pre[name].push(value);
-          } else {
-            // single value, make it array
-            pre[name] = [pre[name], value];
-          }
-        } else {
-          // not exist, put it
-          pre[name] = value;
-        }
-
-        return pre;
-      }, {});
-
-      // 优化样式相关属性
-      if (node.classStr) {
-        node.classStr += ` ${node.tag}`;
-      } else {
-        node.classStr = node.tag;
-      }
-      if (node.tagType === 'inline') {
-        node.classStr += ' inline';
-      }
-
-      // 对img添加额外数据
-      if (node.tag === 'img') {
-        let imgUrl = node.attr.src;
-        imgUrl = wxDiscode.urlToHttpUrl(imgUrl, imageProp.domain);
-        Object.assign(node.attr, imageProp, {
-          src: imgUrl || '',
-        });
-        if (imgUrl) {
-          results.imageUrls.push(imgUrl);
-        }
-      }
-
-      // 处理a标签属性
-      if (node.tag === 'a') {
-        node.attr.href = node.attr.href || '';
-      }
-
-      // 处理font标签样式属性
-      if (node.tag === 'font') {
-        const fontSize = [
-          'x-small',
-          'small',
-          'medium',
-          'large',
-          'x-large',
-          'xx-large',
-          '-webkit-xxx-large',
-        ];
-        const styleAttrs = {
-          color: 'color',
-          face: 'font-family',
-          size: 'font-size',
-        };
-        if (!node.styleStr) node.styleStr = '';
-        Object.keys(styleAttrs).forEach((key) => {
-          if (node.attr[key]) {
-            const value = key === 'size' ? fontSize[node.attr[key] - 1] : node.attr[key];
-            node.styleStr += `${styleAttrs[key]}: ${value};`;
-          }
-        });
-      }
-
-      // 临时记录source资源
-      if (node.tag === 'source') {
-        results.source = node.attr.src;
-      }
-
-      if (customHandler.start) {
-        customHandler.start(node, results);
-      }
-
-      if (unary) {
-        // if this tag doesn't have end tag
-        // like <img src="hoge.png"/>
-        // add to parents
-        const parent = bufArray[0] || results;
-        if (parent.nodes === undefined) {
-          parent.nodes = [];
-        }
-        parent.nodes.push(node);
-      } else {
-        bufArray.unshift(node);
-      }
-    },
-    end(tag) {
-      // merge into parent tag
-      const node = bufArray.shift();
-      if (node.tag !== tag) {
-        console.error('invalid state: mismatch end tag');
-      }
-
-      // 当有缓存source资源时于于video补上src资源
-      if (node.tag === 'video' && results.source) {
-        node.attr.src = results.source;
-        delete results.source;
-      }
-
-      if (customHandler.end) {
-        customHandler.end(node, results);
-      }
-
-      if (bufArray.length === 0) {
-        results.nodes.push(node);
-      } else {
-        const parent = bufArray[0];
-        if (!parent.nodes) {
-          parent.nodes = [];
-        }
-        parent.nodes.push(node);
-      }
-    },
-    chars(text) {
-		// if (!text.trim()){
-		// 	return;
-		// }
-      const node = {
-        node: 'text',
-        text,
-      };
-
-      if (customHandler.chars) {
-        customHandler.chars(node, results);
-      }
-
-      if (bufArray.length === 0) {
-        results.nodes.push(node);
-      } else {
-        const parent = bufArray[0];
-        if (parent.nodes === undefined) {
-          parent.nodes = [];
-        }
-        parent.nodes.push(node);
-      }
-    },
-  });
-
-  return results;
-}
-
-export default html2json;

+ 0 - 156
components/gaoyia-parse/libs/htmlparser.js

@@ -1,156 +0,0 @@
-/**
- *
- * htmlParser改造自: https://github.com/blowsie/Pure-JavaScript-HTML5-Parser
- *
- * author: Di (微信小程序开发工程师)
- * organization: WeAppDev(微信小程序开发论坛)(http://weappdev.com)
- *               垂直微信小程序开发交流社区
- *
- * github地址: https://github.com/icindy/wxParse
- *
- * for: 微信小程序富文本解析
- * detail : http://weappdev.com/t/wxparse-alpha0-1-html-markdown/184
- */
-// Regular Expressions for parsing tags and attributes
-
-const startTag = /^<([-A-Za-z0-9_]+)((?:\s+[a-zA-Z0-9_:][-a-zA-Z0-9_:.]*(?:\s*=\s*(?:(?:"[^"]*")|(?:'[^']*')|[^>\s]+))?)*)\s*(\/?)>/;
-const endTag = /^<\/([-A-Za-z0-9_]+)[^>]*>/;
-const attr = /([a-zA-Z0-9_:][-a-zA-Z0-9_:.]*)(?:\s*=\s*(?:(?:"((?:\\.|[^"])*)")|(?:'((?:\\.|[^'])*)')|([^>\s]+)))?/g;
-
-function makeMap(str) {
-  const obj = {};
-  const items = str.split(',');
-  for (let i = 0; i < items.length; i += 1) obj[items[i]] = true;
-  return obj;
-}
-
-// Empty Elements - HTML 5
-const empty = makeMap('area,base,basefont,br,col,frame,hr,img,input,link,meta,param,embed,command,keygen,source,track,wbr');
-
-// Block Elements - HTML 5
-const block = makeMap('address,code,article,applet,aside,audio,blockquote,button,canvas,center,dd,del,dir,div,dl,dt,fieldset,figcaption,figure,footer,form,frameset,h1,h2,h3,h4,h5,h6,header,hgroup,hr,iframe,ins,isindex,li,map,menu,noframes,noscript,object,ol,output,p,pre,section,script,table,tbody,td,tfoot,th,thead,tr,ul,video');
-
-// Inline Elements - HTML 5
-const inline = makeMap('a,abbr,acronym,applet,b,basefont,bdo,big,br,button,cite,del,dfn,em,font,i,iframe,img,input,ins,kbd,label,map,object,q,s,samp,script,select,small,span,strike,strong,sub,sup,textarea,tt,u,var');
-
-// Elements that you can, intentionally, leave open
-// (and which close themselves)
-const closeSelf = makeMap('colgroup,dd,dt,li,options,p,td,tfoot,th,thead,tr');
-
-// Attributes that have their values filled in disabled="disabled"
-const fillAttrs = makeMap('checked,compact,declare,defer,disabled,ismap,multiple,nohref,noresize,noshade,nowrap,readonly,selected');
-
-function HTMLParser(html, handler) {
-  let index;
-  let chars;
-  let match;
-  let last = html;
-  const stack = [];
-
-  stack.last = () => stack[stack.length - 1];
-
-  function parseEndTag(tag, tagName) {
-    // If no tag name is provided, clean shop
-    let pos;
-    if (!tagName) {
-      pos = 0;
-    } else {
-      // Find the closest opened tag of the same type
-      tagName = tagName.toLowerCase();
-      for (pos = stack.length - 1; pos >= 0; pos -= 1) {
-        if (stack[pos] === tagName) break;
-      }
-    }
-    if (pos >= 0) {
-      // Close all the open elements, up the stack
-      for (let i = stack.length - 1; i >= pos; i -= 1) {
-        if (handler.end) handler.end(stack[i]);
-      }
-
-      // Remove the open elements from the stack
-      stack.length = pos;
-    }
-  }
-
-  function parseStartTag(tag, tagName, rest, unary) {
-    tagName = tagName.toLowerCase();
-
-    if (block[tagName]) {
-      while (stack.last() && inline[stack.last()]) {
-        parseEndTag('', stack.last());
-      }
-    }
-
-    if (closeSelf[tagName] && stack.last() === tagName) {
-      parseEndTag('', tagName);
-    }
-
-    unary = empty[tagName] || !!unary;
-
-    if (!unary) stack.push(tagName);
-
-    if (handler.start) {
-      const attrs = [];
-
-      rest.replace(attr, function genAttr(matches, name) {
-        const value = arguments[2] || arguments[3] || arguments[4] || (fillAttrs[name] ? name : '');
-
-        attrs.push({
-          name,
-          value,
-          escaped: value.replace(/(^|[^\\])"/g, '$1\\"'), // "
-        });
-      });
-
-      if (handler.start) {
-        handler.start(tagName, attrs, unary);
-      }
-    }
-  }
-
-  while (html) {
-    chars = true;
-
-    if (html.indexOf('</') === 0) {
-      match = html.match(endTag);
-
-      if (match) {
-        html = html.substring(match[0].length);
-        match[0].replace(endTag, parseEndTag);
-        chars = false;
-      }
-
-      // start tag
-    } else if (html.indexOf('<') === 0) {
-      match = html.match(startTag);
-
-      if (match) {
-        html = html.substring(match[0].length);
-        match[0].replace(startTag, parseStartTag);
-        chars = false;
-      }
-    }
-
-    if (chars) {
-      index = html.indexOf('<');
-      let text = '';
-      while (index === 0) {
-        text += '<';
-        html = html.substring(1);
-        index = html.indexOf('<');
-      }
-      text += index < 0 ? html : html.substring(0, index);
-      html = index < 0 ? '' : html.substring(index);
-
-      if (handler.chars) handler.chars(text);
-    }
-
-    if (html === last) throw new Error(`Parse Error: ${html}`);
-    last = html;
-  }
-
-  // Clean up any remaining tags
-  parseEndTag();
-}
-
-export default HTMLParser;

+ 0 - 195
components/gaoyia-parse/libs/wxDiscode.js

@@ -1,195 +0,0 @@
-// HTML 支持的数学符号
-function strNumDiscode(str) {
-  str = str.replace(/&forall;/g, '∀');
-  str = str.replace(/&part;/g, '∂');
-  str = str.replace(/&exist;/g, '∃');
-  str = str.replace(/&empty;/g, '∅');
-  str = str.replace(/&nabla;/g, '∇');
-  str = str.replace(/&isin;/g, '∈');
-  str = str.replace(/&notin;/g, '∉');
-  str = str.replace(/&ni;/g, '∋');
-  str = str.replace(/&prod;/g, '∏');
-  str = str.replace(/&sum;/g, '∑');
-  str = str.replace(/&minus;/g, '−');
-  str = str.replace(/&lowast;/g, '∗');
-  str = str.replace(/&radic;/g, '√');
-  str = str.replace(/&prop;/g, '∝');
-  str = str.replace(/&infin;/g, '∞');
-  str = str.replace(/&ang;/g, '∠');
-  str = str.replace(/&and;/g, '∧');
-  str = str.replace(/&or;/g, '∨');
-  str = str.replace(/&cap;/g, '∩');
-  str = str.replace(/&cup;/g, '∪');
-  str = str.replace(/&int;/g, '∫');
-  str = str.replace(/&there4;/g, '∴');
-  str = str.replace(/&sim;/g, '∼');
-  str = str.replace(/&cong;/g, '≅');
-  str = str.replace(/&asymp;/g, '≈');
-  str = str.replace(/&ne;/g, '≠');
-  str = str.replace(/&le;/g, '≤');
-  str = str.replace(/&ge;/g, '≥');
-  str = str.replace(/&sub;/g, '⊂');
-  str = str.replace(/&sup;/g, '⊃');
-  str = str.replace(/&nsub;/g, '⊄');
-  str = str.replace(/&sube;/g, '⊆');
-  str = str.replace(/&supe;/g, '⊇');
-  str = str.replace(/&oplus;/g, '⊕');
-  str = str.replace(/&otimes;/g, '⊗');
-  str = str.replace(/&perp;/g, '⊥');
-  str = str.replace(/&sdot;/g, '⋅');
-  return str;
-}
-
-// HTML 支持的希腊字母
-function strGreeceDiscode(str) {
-  str = str.replace(/&Alpha;/g, 'Α');
-  str = str.replace(/&Beta;/g, 'Β');
-  str = str.replace(/&Gamma;/g, 'Γ');
-  str = str.replace(/&Delta;/g, 'Δ');
-  str = str.replace(/&Epsilon;/g, 'Ε');
-  str = str.replace(/&Zeta;/g, 'Ζ');
-  str = str.replace(/&Eta;/g, 'Η');
-  str = str.replace(/&Theta;/g, 'Θ');
-  str = str.replace(/&Iota;/g, 'Ι');
-  str = str.replace(/&Kappa;/g, 'Κ');
-  str = str.replace(/&Lambda;/g, 'Λ');
-  str = str.replace(/&Mu;/g, 'Μ');
-  str = str.replace(/&Nu;/g, 'Ν');
-  str = str.replace(/&Xi;/g, 'Ν');
-  str = str.replace(/&Omicron;/g, 'Ο');
-  str = str.replace(/&Pi;/g, 'Π');
-  str = str.replace(/&Rho;/g, 'Ρ');
-  str = str.replace(/&Sigma;/g, 'Σ');
-  str = str.replace(/&Tau;/g, 'Τ');
-  str = str.replace(/&Upsilon;/g, 'Υ');
-  str = str.replace(/&Phi;/g, 'Φ');
-  str = str.replace(/&Chi;/g, 'Χ');
-  str = str.replace(/&Psi;/g, 'Ψ');
-  str = str.replace(/&Omega;/g, 'Ω');
-
-  str = str.replace(/&alpha;/g, 'α');
-  str = str.replace(/&beta;/g, 'β');
-  str = str.replace(/&gamma;/g, 'γ');
-  str = str.replace(/&delta;/g, 'δ');
-  str = str.replace(/&epsilon;/g, 'ε');
-  str = str.replace(/&zeta;/g, 'ζ');
-  str = str.replace(/&eta;/g, 'η');
-  str = str.replace(/&theta;/g, 'θ');
-  str = str.replace(/&iota;/g, 'ι');
-  str = str.replace(/&kappa;/g, 'κ');
-  str = str.replace(/&lambda;/g, 'λ');
-  str = str.replace(/&mu;/g, 'μ');
-  str = str.replace(/&nu;/g, 'ν');
-  str = str.replace(/&xi;/g, 'ξ');
-  str = str.replace(/&omicron;/g, 'ο');
-  str = str.replace(/&pi;/g, 'π');
-  str = str.replace(/&rho;/g, 'ρ');
-  str = str.replace(/&sigmaf;/g, 'ς');
-  str = str.replace(/&sigma;/g, 'σ');
-  str = str.replace(/&tau;/g, 'τ');
-  str = str.replace(/&upsilon;/g, 'υ');
-  str = str.replace(/&phi;/g, 'φ');
-  str = str.replace(/&chi;/g, 'χ');
-  str = str.replace(/&psi;/g, 'ψ');
-  str = str.replace(/&omega;/g, 'ω');
-  str = str.replace(/&thetasym;/g, 'ϑ');
-  str = str.replace(/&upsih;/g, 'ϒ');
-  str = str.replace(/&piv;/g, 'ϖ');
-  str = str.replace(/&middot;/g, '·');
-  return str;
-}
-
-function strcharacterDiscode(str) {
-  // 加入常用解析
-  
-  str = str.replace(/&nbsp;/g, "<span class='spaceshow'> </span>");
-  str = str.replace(/&ensp;/g, ' ');
-  str = str.replace(/&emsp;/g, ' ');
-  str = str.replace(/&quot;/g, "'");
-  str = str.replace(/&amp;/g, '&');
-  str = str.replace(/&lt;/g, '<');
-  str = str.replace(/&gt;/g, '>');
-  str = str.replace(/&#8226;/g, '•');
-  return str;
-}
-
-// HTML 支持的其他实体
-function strOtherDiscode(str) {
-  str = str.replace(/&OElig;/g, 'Œ');
-  str = str.replace(/&oelig;/g, 'œ');
-  str = str.replace(/&Scaron;/g, 'Š');
-  str = str.replace(/&scaron;/g, 'š');
-  str = str.replace(/&Yuml;/g, 'Ÿ');
-  str = str.replace(/&fnof;/g, 'ƒ');
-  str = str.replace(/&circ;/g, 'ˆ');
-  str = str.replace(/&tilde;/g, '˜');
-  str = str.replace(/&ensp;/g, '');
-  str = str.replace(/&emsp;/g, '');
-  str = str.replace(/&thinsp;/g, '');
-  str = str.replace(/&zwnj;/g, '');
-  str = str.replace(/&zwj;/g, '');
-  str = str.replace(/&lrm;/g, '');
-  str = str.replace(/&rlm;/g, '');
-  str = str.replace(/&ndash;/g, '–');
-  str = str.replace(/&mdash;/g, '—');
-  str = str.replace(/&lsquo;/g, '‘');
-  str = str.replace(/&rsquo;/g, '’');
-  str = str.replace(/&sbquo;/g, '‚');
-  str = str.replace(/&ldquo;/g, '“');
-  str = str.replace(/&rdquo;/g, '”');
-  str = str.replace(/&bdquo;/g, '„');
-  str = str.replace(/&dagger;/g, '†');
-  str = str.replace(/&Dagger;/g, '‡');
-  str = str.replace(/&bull;/g, '•');
-  str = str.replace(/&hellip;/g, '…');
-  str = str.replace(/&permil;/g, '‰');
-  str = str.replace(/&prime;/g, '′');
-  str = str.replace(/&Prime;/g, '″');
-  str = str.replace(/&lsaquo;/g, '‹');
-  str = str.replace(/&rsaquo;/g, '›');
-  str = str.replace(/&oline;/g, '‾');
-  str = str.replace(/&euro;/g, '€');
-  str = str.replace(/&trade;/g, '™');
-
-  str = str.replace(/&larr;/g, '←');
-  str = str.replace(/&uarr;/g, '↑');
-  str = str.replace(/&rarr;/g, '→');
-  str = str.replace(/&darr;/g, '↓');
-  str = str.replace(/&harr;/g, '↔');
-  str = str.replace(/&crarr;/g, '↵');
-  str = str.replace(/&lceil;/g, '⌈');
-  str = str.replace(/&rceil;/g, '⌉');
-
-  str = str.replace(/&lfloor;/g, '⌊');
-  str = str.replace(/&rfloor;/g, '⌋');
-  str = str.replace(/&loz;/g, '◊');
-  str = str.replace(/&spades;/g, '♠');
-  str = str.replace(/&clubs;/g, '♣');
-  str = str.replace(/&hearts;/g, '♥');
-
-  str = str.replace(/&diams;/g, '♦');
-  str = str.replace(/&#39;/g, "'");
-  return str;
-}
-
-function strDiscode(str) {
-  str = strNumDiscode(str);
-  str = strGreeceDiscode(str);
-  str = strcharacterDiscode(str);
-  str = strOtherDiscode(str);
-  return str;
-}
-
-function urlToHttpUrl(url, domain) {
-  if (/^\/\//.test(url)) {
-    return `https:${url}`;
-  } else if (/^\//.test(url)) {
-    return `https://${domain}${url}`;
-  }
-  return url;
-}
-
-export default {
-  strDiscode,
-  urlToHttpUrl,
-};

+ 0 - 248
components/gaoyia-parse/parse.css

@@ -1,248 +0,0 @@
-/**
- * author: Di (微信小程序开发工程师)
- * organization: WeAppDev(微信小程序开发论坛)(http://weappdev.com)
- *         垂直微信小程序开发交流社区
- *
- * github地址: https://github.com/icindy/wxParse
- *
- * for: 微信小程序富文本解析
- * detail : http://weappdev.com/t/wxparse-alpha0-1-html-markdown/184
- */
-/**
- * 请在全局下引入该文件,@import '/static/wxParse.css';
- */
-.wxParse {
-	user-select:none;
-	width: 100%;
-	font-family: Helvetica, "PingFangSC", 'Microsoft Yahei', '微软雅黑', Arial, sans-serif;
-	color: #333;
-	line-height: 1.5;
-	font-size: 1em;
-	text-align:justify;/* //左右两端对齐 */
-}
-.wxParse view ,.wxParse uni-view{
-	word-break: break-word;
-}
-.wxParse .p {
-	padding-bottom: 0.5em;
-	clear: both;
-	/* letter-spacing: 0;//字间距 */
-}
-.wxParse .inline {
-  display: inline;
-  margin: 0;
-  padding: 0;
-}
-
-.wxParse .div {
-  margin: 0;
-  padding: 0;
-  display: block;
-}
-
-.wxParse .h1{
-  font-size: 2em;
-  line-height: 1.2em;
-  margin: 0.67em 0;
-}
-.wxParse .h2{
-  font-size: 1.5em;
-  margin: 0.83em 0;
-}
-.wxParse .h3{
-  font-size: 1.17em;
-  margin: 1em 0;
-}
-.wxParse .h4{
-  margin: 1.33em 0;
-}
-.wxParse .h5{
-  font-size: 0.83em;
-  margin: 1.67em 0;
-}
-.wxParse .h6{
-  font-size: 0.83em;
-  margin: 1.67em 0;
-}
-
-.wxParse .h1,
-.wxParse .h2,
-.wxParse .h3,
-.wxParse .h4,
-.wxParse .h5,
-.wxParse .h6,
-.wxParse .b,
-.wxParse .strong{
-  font-weight: bolder;
-}
-
-.wxParse .i,
-.wxParse .cite,
-.wxParse .em,
-.wxParse .var,
-.wxParse .address {
-  font-style: italic;
-}
-.wxParse .spaceshow{
-	  white-space: pre;
-}
-.wxParse .pre,
-.wxParse .tt,
-.wxParse .code,
-.wxParse .kbd,
-.wxParse .samp {
-  font-family: monospace;
-}
-.wxParse .pre {
-  overflow: auto;
-  background: #f5f5f5;
-  padding: 16upx;
-  white-space: pre;
-  margin: 1em 0upx;
-  font-size: 24upx;
-}
-.wxParse .code {
-	overflow: auto;
-	padding: 16upx;
-	white-space: pre;
-	margin: 1em 0upx;
-	background: #f5f5f5;
-	font-size: 24upx;
-}
-
-.wxParse .big {
-  font-size: 1.17em;
-}
-
-.wxParse .small,
-.wxParse .sub,
-.wxParse .sup {
-  font-size: 0.83em;
-}
-
-.wxParse .sub {
-  vertical-align: sub;
-}
-.wxParse .sup {
-  vertical-align: super;
-}
-
-.wxParse .s,
-.wxParse .strike,
-.wxParse .del {
-  text-decoration: line-through;
-}
-
-.wxParse .strong,
-.wxParse .s {
-  display: inline;
-}
-
-.wxParse .a {
-  color: deepskyblue;
-}
-
-.wxParse .video {
-  text-align: center;
-  margin: 22upx 0;
-}
-
-.wxParse .video-video {
-  width: 100%;
-}
-.wxParse .uni-image{
-	max-width: 100%;
-}
-.wxParse .img {
-  display: block;
-  max-width: 100%;
-  margin-bottom: 0em;/* //与p标签底部padding同时修改 */
-  overflow: hidden;
-}
-
-.wxParse .blockquote {
-  margin: 10upx 0;
-  padding: 22upx 0 22upx 22upx;
-  font-family: Courier, Calibri, "宋体";
-  background: #f5f5f5;
-  border-left: 6upx solid #dbdbdb;
-}
-.wxParse .blockquote .p {
-  margin: 0;
-}
-.wxParse .ul, .wxParse .ol {
-  display: block;
-  margin: 1em 0;
-  padding-left: 2em;
-}
-.wxParse .ol {
-  list-style-type: disc;
-}
-.wxParse .ol {
-  list-style-type: decimal;
-}
-.wxParse .ol>weixin-parse-template,.wxParse .ul>weixin-parse-template {
-  display: list-item;
-  align-items: baseline;
-  text-align: match-parent;
-}
-
-.wxParse .ol>.li,.wxParse .ul>.li {
-  display: list-item;
-  align-items: baseline;
-  text-align: match-parent;
-}
-.wxParse .ul .ul, .wxParse .ol .ul {
-  list-style-type: circle;
-}
-.wxParse .ol .ol .ul, .wxParse .ol .ul .ul, .wxParse .ul .ol .ul, .wxParse .ul .ul .ul {
-    list-style-type: square;
-}
-
-.wxParse .u {
-  text-decoration: underline;
-}
-.wxParse .hide {
-  display: none;
-}
-.wxParse .del {
-  display: inline;
-}
-.wxParse .figure {
-  overflow: hidden;
-}
-.wxParse .table .table{
-	border-collapse:collapse;
-	box-sizing: border-box;
-	/* 内边框 */
-	border: 1px solid #dadada;
-	width: 100%;
-}
-.wxParse .tbody{
-	border-collapse:collapse;
-	box-sizing: border-box;
-	/* 内边框 */
-	border: 1px solid #dadada;
-}
-.wxParse .thead, .wxParse .tfoot, .wxParse .th{
-	border-collapse:collapse;
-	box-sizing: border-box;
-	background: #ececec;
-	font-weight: 40;
-}
-.wxParse .tr {
-	border-collapse:collapse;
-	box-sizing: border-box;
-	/* border: 2px solid #F0AD4E; */
-	overflow:auto;
-}
-.wxParse .th,
-.wxParse .td{
-	border-collapse:collapse;
-	box-sizing: border-box;
-	border: 2upx solid #dadada;
-	overflow:auto;
-}
-.wxParse .audio, .wxParse .uni-audio-default{
-	display: block;
-}

+ 0 - 219
components/gaoyia-parse/parse.vue

@@ -1,219 +0,0 @@
-<!--**
- * forked from:https://github.com/F-loat/mpvue-wxParse
- *
- * github地址: https://github.com/dcloudio/uParse
- *
- * for: uni-app框架下 富文本解析
- * 
- * 优化 by gaoyia@qq.com  https://github.com/gaoyia/parse
- */-->
-
-<template>
-	
-	<!--基础元素-->
-	<div class="wxParse" :class="className" :style="'user-select:' + userSelect">
-		<block v-for="(node, index) of nodes" :key="index" v-if="!loading">
-			<wxParseTemplate :node="node" />
-		</block>
-	</div>
-</template>
-
-<script>
-	import HtmlToJson from './libs/html2json';
-	import wxParseTemplate from './components/wxParseTemplate0';
-
-	export default {
-		name: 'wxParse',
-		props: {
-			// user-select:none;
-			userSelect: {
-				type: String,
-				default: 'text' //none |text| all | element
-			},
-			imgOptions: {
-				type: [Object, Boolean],
-				default: function() {
-					return {
-						loop: false,
-						indicator: 'number',
-						longPressActions: false
-						// longPressActions: {
-						// 	 itemList: ['发送给朋友', '保存图片', '收藏'],
-						// 		success: function (res) {
-						// 			console.log('选中了第' + (res.tapIndex + 1) + '个按钮');
-						// 		},
-						// 		fail: function (res) {
-						// 			console.log(res.errMsg);
-						// 		}    
-						// 	}
-						// }
-					}
-				}
-			},
-			loading: {
-				type: Boolean,
-				default: false
-			},
-			className: {
-				type: String,
-				default: ''
-			},
-			content: {
-				type: String,
-				default: ''
-			},
-			noData: {
-				type: String,
-				default: '<div style="color: red;">数据不能为空</div>'
-			},
-			startHandler: {
-				type: Function,
-				default () {
-					return node => {
-						node.attr.class = null;
-						node.attr.style = null;
-					};
-				}
-			},
-			endHandler: {
-				type: Function,
-				default: null
-			},
-			charsHandler: {
-				type: Function,
-				default: null
-			},
-			imageProp: {
-				type: Object,
-				default () {
-					return {
-						mode: 'aspectFit',
-						padding: 0,
-						lazyLoad: false,
-						domain: ''
-					};
-				}
-			}
-		},
-		components: {
-			wxParseTemplate
-		},
-		data() {
-			return {
-				nodes: {},
-				imageUrls: [],
-				wxParseWidth: {
-					value: 0
-				}
-			};
-		},
-		computed: {},
-		mounted() {
-		},
-		methods: {
-			setHtml() {
-				this.getWidth().then((data) => {
-					this.wxParseWidth.value = data;
-				})
-				let {
-					content,
-					noData,
-					imageProp,
-					startHandler,
-					endHandler,
-					charsHandler
-				} = this;
-				let parseData = content || noData;
-				let customHandler = {
-					start: startHandler,
-					end: endHandler,
-					chars: charsHandler
-				};
-				let results = HtmlToJson(parseData, customHandler, imageProp, this);
-
-				this.imageUrls = results.imageUrls;
-				// this.nodes = results.nodes;
-				this.nodes = [];
-				results.nodes.forEach((item) => {
-					setTimeout(() => {
-						this.nodes.push(item)
-					}, 0);
-				})
-			},
-			getWidth() {
-				return new Promise((res, rej) => {
-					// #ifndef MP-ALIPAY || MP-BAIDU
-					uni.createSelectorQuery()
-						.in(this)
-						.select('.wxParse')
-						.fields({
-								size: true,
-								scrollOffset: true
-							},
-							data => {
-								res(data.width);
-							}
-						).exec();
-					// #endif
-					// #ifdef MP-BAIDU
-					swan.createSelectorQuery().select('.wxParse').boundingClientRect(function(rect) {
-						rect[0].width
-					}).exec()
-					// #endif
-					// #ifdef MP-ALIPAY
-					my.createSelectorQuery()
-						.select('.wxParse')
-						.boundingClientRect().exec((ret) => {
-							res(ret[0].width);
-						});
-					// #endif
-				});
-			},
-			navigate(href, $event, attr) {
-				console.log(href, attr);
-				this.$emit('navigate', href, $event);
-			},
-			preview(src, $event) {
-				if (!this.imageUrls.length || typeof this.imgOptions === 'boolean') {
-
-				} else {
-					uni.previewImage({
-						current: src,
-						urls: this.imageUrls,
-						loop: this.imgOptions.loop,
-						indicator: this.imgOptions.indicator,
-						longPressActions: this.imgOptions.longPressActions
-					});
-				}
-				this.$emit('preview', src, $event);
-			},
-			removeImageUrl(src) {
-				const {
-					imageUrls
-				} = this;
-				imageUrls.splice(imageUrls.indexOf(src), 1);
-			}
-		},
-		// 父组件中提供
-		provide() {
-			return {
-				parseWidth: this.wxParseWidth,
-				parseSelect: this.userSelect
-				// 提示:provide 和 inject 绑定并不是可响应的。这是刻意为之的。然而,如果你传入了一个可监听的对象,那么其对象的属性还是可响应的。
-			};
-		},
-		watch: {
-			content(){
-				this.setHtml()
-			}
-			// content: {
-			// 	handler: function(newVal, oldVal) {
-			// 		if (newVal !== oldVal) {
-			// 			
-			// 		}
-			// 	},
-			// 	deep: true
-			// }
-		}
-	};
-</script>

+ 0 - 158
components/jyf-Parser/CssHandler.js

@@ -1,158 +0,0 @@
-//CssHandler.js
-// #ifdef MP-WEIXIN
-const CanIUse = require('./api.js').versionHigherThan('2.7.1');
-// #endif
-function CssHandler(style, tagStyle) {
-	this._style = new CssTokenizer(style, tagStyle).parse();
-}
-CssHandler.prototype.match = function(name, attrs) {
-	let matched = this._style[name] ? (this._style[name] + ';') : '';
-	if (attrs.id)
-		matched += (this._style['#' + attrs.id] ? (this._style['#' + attrs.id] + ';') : '');
-	if (attrs.class)
-		for (var Class of attrs.class.split(' '))
-			matched += (this._style['.' + Class] ? (this._style['.' + Class] + ';') : '');
-	return matched;
-}
-
-function CssTokenizer(style = '', tagStyle = {}) {
-	this.res = this.initClass(tagStyle);
-	this._state = "SPACE";
-	this._buffer = style;
-	this._sectionStart = 0;
-	this._index = 0;
-	this._name = '';
-	this._content = '';
-	this._list = [];
-	this._comma = false;
-}
-CssTokenizer.prototype.initClass = function(tagStyle) {
-	let initStyle = JSON.parse(JSON.stringify(tagStyle));
-	initStyle.a = "display:inline;color:#366092;word-break:break-all;" + (initStyle.a || "");
-	initStyle.address = "font-style:italic;" + (initStyle.address || "");
-	initStyle.blockquote = initStyle.blockquote ||
-		'background-color:#f6f6f6;border-left:3px solid #dbdbdb;color:#6c6c6c;padding:5px 0 5px 10px;';
-	initStyle.center = 'text-align:center;' + (initStyle.center || "");
-	initStyle.cite = "font-style:italic;" + (initStyle.cite || "");
-	initStyle.code = initStyle.code ||
-		'padding:0 1px 0 1px;margin-left:2px;margin-right:2px;background-color:#f8f8f8;border:1px solid #cccccc;border-radius:3px;';
-	initStyle.dd = "margin-left:40px;" + (initStyle.dd || "");
-	initStyle.img = "max-width:100%;" + (initStyle.img || "");
-	initStyle.mark = "display:inline;background-color:yellow;" + (initStyle.mark || "");
-	initStyle.pre = "overflow:scroll;" + (initStyle.pre || 'background-color:#f6f8fa;padding:5px;border-radius:5px;');
-	initStyle.s = "display:inline;text-decoration:line-through;" + (initStyle.s || "");
-	initStyle.u = "display:inline;text-decoration:underline;" + (initStyle.u || "");
-	// #ifdef MP-WEIXIN
-	//低版本兼容
-	if (!CanIUse) {
-		// #endif
-		initStyle.big = "display:inline;font-size:1.2em;" + (initStyle.big || "");
-		initStyle.small = "display:inline;font-size:0.8em;" + (initStyle.small || "");
-		initStyle.pre = "font-family:monospace;white-space:pre;" + initStyle.pre;
-		// #ifdef MP-WEIXIN
-	}
-	// #endif
-	return initStyle;
-}
-CssTokenizer.prototype.SPACE = function(c) {
-	if (/[a-zA-Z.#]/.test(c)) {
-		this._sectionStart = this._index;
-		this._state = "InName";
-	} else if (c == '@') this._state = "Ignore1";
-	else if (c == '/') this._state = "BeforeComment";
-};
-CssTokenizer.prototype.BeforeComment = function(c) {
-	if (c == '*') this._state = "InComment";
-	else {
-		this._index--;
-		this._state = "SPACE";
-	}
-};
-CssTokenizer.prototype.InComment = function(c) {
-	if (c == '*') this._state = "AfterComment";
-};
-CssTokenizer.prototype.AfterComment = function(c) {
-	if (c == '/') this._state = "SPACE";
-	else {
-		this._index--;
-		this._state = "InComment"
-	}
-};
-CssTokenizer.prototype.InName = function(c) {
-	if (c == '{') {
-		this._list.push(this._buffer.substring(this._sectionStart, this._index))
-		this._sectionStart = this._index + 1;
-		this._state = "InContent";
-	} else if (c == ',') {
-		this._list.push(this._buffer.substring(this._sectionStart, this._index));
-		this._sectionStart = this._index + 1;
-		this._comma = true;
-	} else if ((c == '.' || c == '#') && !this._comma) {
-		this._buffer = this._buffer.splice(this._index, 1, ' ');
-	} else if (/\s/.test(c)) {
-		this._name = this._buffer.substring(this._sectionStart, this._index);
-		this._state = "NameSpace";
-	} else if (/[>:\[]/.test(c)) {
-		if (this._list.length) this._state = "IgnoreName";
-		else this._state = "Ignore1";
-	} else this._comma = false;
-};
-CssTokenizer.prototype.NameSpace = function(c) {
-	if (c == '{') {
-		this._list.push(this._name);
-		this._sectionStart = this._index + 1;
-		this._state = "InContent";
-	} else if (c == ',') {
-		this._comma = true;
-		this._list.push(this._name);
-		this._sectionStart = this._index + 1;
-		this._state = "InName"
-	} else if (/\S/.test(c)) {
-		if (this._comma) {
-			this._sectionStart = this._index;
-			this._index--;
-			this._state = "InName";
-		} else if (this._list.length) this._state = "IgnoreName";
-		else this._state = "Ignore1"
-	}
-};
-CssTokenizer.prototype.InContent = function(c) {
-	if (c == '}') {
-		this._content = this._buffer.substring(this._sectionStart, this._index);
-		for (let item of this._list)
-			this.res[item] = (this.res[item] || '') + ";" + this._content;
-		this._list = [];
-		this._comma = false;
-		this._state = "SPACE";
-	}
-};
-CssTokenizer.prototype.IgnoreName = function(c) {
-	if (c == ',') {
-		this._sectionStart = this._index + 1;
-		this._state = "InName";
-	} else if (c == '{') {
-		this._sectionStart = this._index + 1;
-		this._state = "InContent";
-	}
-}
-CssTokenizer.prototype.Ignore1 = function(c) {
-	if (c == ';') {
-		this._state = "SPACE";
-		this._sectionStart = this._index + 1;
-	} else if (c == '{') this._state = "Ignore2";
-};
-CssTokenizer.prototype.Ignore2 = function(c) {
-	if (c == '}') {
-		this._state = "SPACE";
-		this._sectionStart = this._index + 1;
-	} else if (c == '{') this._state = "Ignore3";
-};
-CssTokenizer.prototype.Ignore3 = function(c) {
-	if (c == '}') this._state = "Ignore2";
-};
-CssTokenizer.prototype.parse = function() {
-	for (; this._index < this._buffer.length; this._index++)
-		this[this._state](this._buffer[this._index]);
-	return this.res;
-};
-module.exports = CssHandler;

+ 0 - 411
components/jyf-Parser/DomHandler.js

@@ -1,411 +0,0 @@
-//DomHandler.js
-var emoji; // 使用emoji补丁包时将此句改为 const emoji = require('./emoji.js');
-const CssHandler = require('./CssHandler.js');
-// #ifdef MP-WEIXIN
-const CanIUse = require('./api.js').versionHigherThan('2.7.1');
-// #endif
-const trustTag = {
-	a: 0,
-	abbr: 1,
-	ad: 0,
-	audio: 0,
-	b: 1,
-	blockquote: 1,
-	br: 0,
-	code: 1,
-	col: 0,
-	colgroup: 0,
-	dd: 1,
-	del: 1,
-	dl: 1,
-	dt: 1,
-	div: 1,
-	em: 1,
-	fieldset: 0,
-	font: 1,
-	h1: 0,
-	h2: 0,
-	h3: 0,
-	h4: 0,
-	h5: 0,
-	h6: 0,
-	hr: 0,
-	i: 1,
-	img: 1,
-	ins: 1,
-	label: 1,
-	legend: 0,
-	li: 0,
-	ol: 0,
-	p: 1,
-	q: 1,
-	source: 0,
-	span: 1,
-	strong: 1,
-	sub: 0,
-	sup: 0,
-	table: 0,
-	tbody: 0,
-	td: 0,
-	tfoot: 0,
-	th: 0,
-	thead: 0,
-	tr: 0,
-	u: 1,
-	ul: 0,
-	video: 1
-};
-const blockTag = {
-	address: true,
-	article: true,
-	aside: true,
-	body: true,
-	center: true,
-	cite: true,
-	footer: true,
-	header: true,
-	html: true,
-	nav: true,
-	pre: true,
-	section: true
-};
-const ignoreTag = {
-	area: true,
-	base: true,
-	basefont: true,
-	canvas: true,
-	circle: true,
-	command: true,
-	ellipse: true,
-	embed: true,
-	frame: true,
-	head: true,
-	iframe: true,
-	input: true,
-	isindex: true,
-	keygen: true,
-	line: true,
-	link: true,
-	map: true,
-	meta: true,
-	param: true,
-	path: true,
-	polygon: true,
-	polyline: true,
-	rect: true,
-	script: true,
-	stop: true,
-	textarea: true,
-	title: true,
-	track: true,
-	use: true,
-	wbr: true
-};
-// #ifdef MP-WEIXIN
-if (CanIUse) {
-	trustTag.bdi = 0;
-	trustTag.bdo = 0;
-	trustTag.caption = 0;
-	trustTag.rt = 0;
-	trustTag.ruby = 0;
-	ignoreTag.rp = true;
-	trustTag.big = 1;
-	trustTag.small = 1;
-	trustTag.pre = 0;
-	delete blockTag.pre;
-} else blockTag.caption = true;
-// #endif
-
-function randomId() {
-	var res = "";
-	for (var i = 0; i < 5; i++) {
-		let rand = parseInt(Math.random() * 52);
-		if (rand < 26)
-			res = res + String.fromCharCode(65 + rand);
-		else
-			res = res + String.fromCharCode(71 + rand);
-	}
-	return res;
-}
-
-function DomHandler(style, options) {
-	this.imgList = [];
-	this.imgIndex = 0;
-	this.nodes = [];
-	this.title = "";
-	this._CssHandler = new CssHandler(style, options.tagStyle);
-	this._tagStack = [];
-	this._videoNum = 0;
-	// #ifdef MP-BAIDU || MP-TOUTIAO || H5
-	this._imgMode = options.imgMode;
-	// #endif
-	this._whiteSpace = false;
-	this._domain = options.domain;
-	this._protocol = /:\/\//.test(options.domain) ? options.domain.split(/:\/\//)[0] : "http";
-	this._useAnchor = options.useAnchor;
-}
-DomHandler.prototype._addDomElement = function(element) {
-	if (element.name == 'pre' || (element.attrs && /white-space\s*:\s*pre/.test(element.attrs.style))) {
-		this._whiteSpace = true;
-		element.pre = true;
-	}
-	let parent = this._tagStack[this._tagStack.length - 1];
-	let siblings = parent ? parent.children : this.nodes;
-	siblings.push(element);
-};
-DomHandler.prototype._bubbling = function() {
-	for (let i = this._tagStack.length - 1; i >= 0; i--) {
-		if (trustTag[this._tagStack[i].name])
-			this._tagStack[i].continue = true;
-		else
-			return this._tagStack[i].name;
-	}
-}
-DomHandler.prototype.onopentag = function(name, attrs) {
-	let element = {
-		children: []
-	};
-	let matched = this._CssHandler.match(name, attrs, element);
-	//处理属性
-	switch (name) {
-		case 'div':
-		case 'p':
-			if (attrs.align) {
-				attrs.style += (';text-align:' + attrs.align);
-				delete attrs.align;
-			}
-			break;
-		case 'img':
-			if (attrs.width) {
-				attrs.style = 'width:' + attrs.width + (/[0-9]/.test(attrs.width[attrs.width.length - 1]) ? 'px' : '') + ';' +
-					attrs.style;
-				delete attrs.width;
-			}
-			if (attrs['data-src']) {
-				attrs.src = attrs.src || attrs['data-src'];
-				delete attrs['data-src'];
-			}
-			// #ifdef MP-BAIDU || MP-TOUTIAO || H5
-			if (this._imgMode == "widthFix") attrs.style += ";height:auto !important;";
-			// #endif
-			if (!attrs.hasOwnProperty('ignore') && attrs.src) {
-				if (this._bubbling() == 'a') {
-					attrs.ignore = "true"; // 图片在链接中不可预览
-					break;
-				}
-				var url = attrs.src;
-				// #ifdef MP-WEIXIN || MP-QQ || MP-BAIDU || MP-TOUTIAO
-				// 去重,至多重试10次
-				for (let i = 0; this.imgList.indexOf(url) != -1 && i < 10; i++) {
-					// 网络链接
-					if (/^http/.test(url)) {
-						url = url.replace(/^(https*):\/\/([\S]+?)\//, function() {
-							var domain = "";
-							for (var c of arguments[2]) {
-								if (/[a-zA-Z]/.test(c))
-									domain += (Math.random() >= 0.5 ? c.toUpperCase() : c);
-								else domain += c;
-							}
-							return (arguments[1] + '://' + domain + '/');
-						})
-					}
-					// base64
-					else if (/base64/.test(url)) {
-						url = url.replace(/^data:(image\/\S+);base64,/, function() {
-							var head = "";
-							for (var c of arguments[1]) {
-								if (/[a-zA-Z]/.test(c))
-									head += (Math.random() >= 0.5 ? c.toUpperCase() : c);
-								else head += c;
-							}
-							return ('data:' + head + ';base64,');
-						})
-					} else break;
-				}
-				// #endif
-				element.current = this.imgList.length;
-				this.imgList.push(url);
-			} else
-				attrs.ignore = "true";
-			if (this._domain && attrs.src[0] == '/') {
-				if (attrs.src[1] == '/') attrs.src = this._protocol + ":" + attrs.src;
-				else attrs.src = this._domain + attrs.src;
-			}
-			break;
-		case 'font':
-			name = 'span';
-			if (attrs.color) {
-				attrs.style += (';color:' + attrs.color);
-				delete attrs.color;
-			}
-			if (attrs.face) {
-				attrs.style += (";font-family:" + attrs.face);
-				delete attrs.face;
-			}
-			if (attrs.size) {
-				var size = parseInt(attrs.size);
-				if (size < 1) size = 1;
-				else if (size > 7) size = 7;
-				let map = [10, 13, 16, 18, 24, 32, 48];
-				attrs.style += (";font-size:" + map[size - 1] + "px");
-				delete attrs.size;
-			}
-			break;
-		case 'a':
-		case 'ad':
-			this._bubbling();
-			break;
-		case 'video':
-		case 'audio':
-			attrs.loop = attrs.hasOwnProperty('loop');
-			attrs.controls = attrs.hasOwnProperty('controls');
-			attrs.autoplay = attrs.hasOwnProperty('autoplay');
-			if (name == 'video') {
-				attrs.muted = attrs.hasOwnProperty('muted');
-				if (attrs.width) {
-					attrs.style = 'width:' + parseFloat(attrs.width) + 'px;' + attrs.style;
-					delete attrs.width;
-				}
-				if (attrs.height) {
-					attrs.style = 'height:' + parseFloat(attrs.height) + 'px;' + attrs.style;
-					delete attrs.height;
-				}
-			}
-			attrs.id = randomId() + (name == 'video' ? ++this._videoNum : '');
-			attrs.source = [];
-			if (attrs.src) attrs.source.push(attrs.src);
-			if (!attrs.controls && !attrs.autoplay)
-				console.warn('存在没有controls属性的' + name + '标签,可能导致无法播放', attrs);
-			this._bubbling();
-			break;
-		case 'source':
-			let parent = this._tagStack[this._tagStack.length - 1];
-			if (parent && (parent.name == 'video' || parent.name == 'audio')) {
-				parent.attrs.source.push(attrs.src);
-				if (!parent.attrs.src) parent.attrs.src = attrs.src;
-			}
-			this._tagStack.push(element);
-			return;
-	}
-	if(this._useAnchor && attrs.id) this._bubbling();
-	attrs.style = matched + attrs.style;
-	if (blockTag[name]) name = 'div';
-	else if (!trustTag.hasOwnProperty(name)) name = 'span';
-	element.name = name;
-	element.attrs = attrs;
-	this._addDomElement(element);
-	this._tagStack.push(element);
-};
-DomHandler.prototype.ontext = function(data) {
-	if (!this._whiteSpace) {
-		if (!/\S/.test(data))
-			return;
-		data = data.replace(/\s+/g, " ");
-	}
-	// #ifndef MP-WEIXIN || MP-QQ || APP-PLUS || H5
-	let entities = {
-		lt: "<",
-		gt: ">",
-		nbsp: "\u00A0",
-		ensp: "\u2002",
-		emsp: "\u2003",
-		amp: "&",
-		apos: "'",
-		quot: '"',
-		ndash: "–",
-		mdash: "—",
-		middot: "·",
-		lsquo: "‘",
-		rsquo: "’",
-		ldquo: "“",
-		rdquo: "”",
-		bull: "•",
-		hellip: "…",
-		permil: "‰",
-		copy: "©",
-		reg: "®",
-		trade: "™",
-		times: "×",
-		divide: "÷",
-		cent: "¢",
-		pound: "£",
-		yen: "¥",
-		euro: "€",
-		sect: "§"
-	};
-	data = data.replace(/&(\S{1,8}?);/g, function() {
-		if (entities[arguments[1]]) return entities[arguments[1]];
-		return "";
-	});
-	// #endif
-	let element = {
-		type: 'text'
-	};
-	// #ifdef MP-WEIXIN || MP-QQ || H5 || APP-PLUS
-	data = data.replace(/&nbsp;/g, '&#xA0;'); // 解决连续&nbsp;失效问题
-	if (/&#*((?!sp|lt|gt).){2,8};/.test(data)) element.decode = true;
-	// #endif
-	if (emoji) data = emoji.parseEmoji(data);
-	element.text = data;
-	this._addDomElement(element);
-};
-DomHandler.prototype.onclosetag = function(name) {
-	let element = this._tagStack.pop();
-	let parent = this._tagStack.length ? this._tagStack[this._tagStack.length - 1].children : this.nodes;
-	if (ignoreTag[name]) {
-		if (name == 'title') {
-			try {
-				this.title = element.children[0].text;
-			} catch (e) {}
-		}
-		parent.pop();
-	}
-	// 设置表格的边框
-	if (name == 'table') {
-		if (element.attrs.border)
-			element.attrs.style += (";border:" + element.attrs.border + "px solid gray;");
-		if (element.attrs.hasOwnProperty("cellspacing"))
-			element.attrs.style += (";border-spacing:" + element.attrs.cellspacing + "px");
-
-		function setBorder(node) {
-			if (node.type == 'text') return;
-			if (node.name == 'th' || node.name == 'td') {
-				if (element.attrs.border)
-					node.attrs.style += ";border:" + element.attrs.border + "px solid gray;";
-				if (element.attrs.hasOwnProperty("cellpadding"))
-					node.attrs.style += ";padding:" + element.attrs.cellpadding + "px";
-			}
-			for (var child of node.children)
-				setBorder(child);
-		}
-		if (element.attrs.border || element.attrs.hasOwnProperty("cellpadding")) {
-			for (var child of element.children)
-				setBorder(child);
-		}
-	}
-	// 合并一些不必要的层,减小节点深度
-	if (element.children.length == 1 && element.name == 'div') {
-		let child = element.children[0];
-		if (child.name == 'div' && !(/padding/.test(element.attrs.style)) && !(/margin/.test(element.attrs.style) &&
-				/margin/.test(child.attrs.style)) && !(/display/.test(element.attrs.style)) && !(/display/.test(child.attrs.style)) &&
-			!(element.attrs.id && child.attrs.id) && !(element.attrs.class && child.attrs.class)) {
-			if (/padding/.test(child.attrs.style))
-				child.attrs.style = ";box-sizing:border-box;" + child.attrs.style;
-			child.attrs.style = element.attrs.style + ";" + child.attrs.style;
-			child.attrs.id = (child.attrs.id || "") + (element.attrs.id || "");
-			child.attrs.class = (child.attrs.class || "") + (element.attrs.class || "");
-			parent[parent.indexOf(element)] = child;
-		}
-	}
-	if (element.pre) {
-		this._whiteSpace = false;
-		for (var ele of this._tagStack)
-			if (ele.pre)
-				this._whiteSpace = true;
-		delete element.pre;
-	}
-	// 多层样式处理 
-	if (this._CssHandler.pop)
-		this._CssHandler.pop(element);
-};
-module.exports = DomHandler;

+ 0 - 240
components/jyf-Parser/Parser.js

@@ -1,240 +0,0 @@
-//Parser.js
-const Tokenizer = require("./Tokenizer.js");
-const DomHandler = require("./DomHandler.js");
-const trustAttrs = {
-	align: true,
-	alt: true,
-	// #ifdef MP-BAIDU
-	appid: true,
-	apid: true,
-	// #endif
-	author: true,
-	autoplay: true,
-	border: true,
-	cellpadding: true,
-	cellspacing: true,
-	class: true,
-	color: true,
-	colspan: true,
-	controls: true,
-	"data-src": true,
-	dir: true,
-	face: true,
-	height: true,
-	href: true,
-	id: true,
-	ignore: true,
-	loop: true,
-	muted: true,
-	name: true,
-	poster: true,
-	rowspan: true,
-	size: true,
-	span: true,
-	src: true,
-	start: true,
-	style: true,
-	type: true,
-	// #ifdef MP-WEIXIN || MP-QQ
-	"unit-id": true,
-	// #endif
-	width: true,
-};
-// #ifdef MP-BAIDU || MP-TOUTIAO || H5
-const textTag = {
-  abbr: true,
-  b: true,
-  big: true,
-  code: true,
-  del: true,
-  em: true,
-  font: true,
-  i: true,
-  ins: true,
-  label: true,
-  mark: true,
-  q: true,
-  s: true,
-  small: true,
-  span: true,
-  strong: true,
-  sub: true,
-  sup: true,
-  u: true
-}
-const _traverse = function(nodes) {
-	for (var element of nodes) {
-		if (element.type == "text")
-			continue;
-		if (!element.continue) {
-			// #ifdef H5
-			if(textTag[element.name]){
-				element.continue = true;
-				_traverse(element.children);
-				continue;
-			}
-			// #endif
-			var res = "";
-			var style = element.attrs.style;
-			var reg = /float\s*:\s*[^;]*/i;
-			if (reg.test(style)) res += reg.exec(style)[0];
-			reg = /margin[^;]*/gi;
-			var margin = reg.exec(style);
-			while (margin) {
-				res += (';' + margin[0]);
-				margin = reg.exec(style);
-			}
-			reg = /display\s*:\s*([^;]*)/i;
-			if (reg.test(style) && reg.exec(style)[1] != "flex") res += (';' + reg.exec(style)[0]);
-			// #ifdef MP-BAIDU || MP-TOUTIAO
-			else if(textTag[element.name]) res+=";display:inline";
-			// #endif
-			else res += (";display:" + (element.name == 'img' ? 'inline-block' : 'block'));
-			reg = /flex\s*:[^;]*/i;
-			if (reg.test(style)) res += (';' + reg.exec(style)[0]);
-			reg = /[^;\s]*width[^;]*/ig;
-			var width = reg.exec(style);
-			while (width) {
-				res += (';' + width[0]);
-				width = reg.exec(style);
-			}
-			element.attrs.containStyle = res;
-			if (/[^-]width[^pev;]+/.test(";" + style))
-				element.attrs.style += ";width:100%";
-			let addMargin = "";
-			if (/margin\s*:/.test(style)) addMargin = ';margin:0';
-			else if (/margin-top/.test(style)) addMargin = ';margin-top:0';
-			else if (/margin-bottom/.test(style)) addMargin = ';margin-bottom:0';
-			element.attrs.style = element.attrs.style.replace(/margin[^;]*/gi, "");
-			element.attrs.style += addMargin;
-		} else _traverse(element.children);
-	}
-};
-// #endif
-const voidTag = {
-	area: true,
-	base: true,
-	basefont: true,
-	br: true,
-	col: true,
-	circle: true,
-	command: true,
-	ellipse: true,
-	embed: true,
-	frame: true,
-	hr: true,
-	img: true,
-	input: true,
-	isindex: true,
-	keygen: true,
-	line: true,
-	link: true,
-	meta: true,
-	param: true,
-	path: true,
-	polygon: true,
-	polyline: true,
-	rect: true,
-	source: true,
-	stop: true,
-	track: true,
-	use: true,
-	wbr: true
-};
-
-function Parser(cbs, callback) {
-	this._cbs = cbs;
-	this._callback = callback;
-	this._tagname = "";
-	this._attribname = "";
-	this._attribvalue = "";
-	this._attribs = null;
-	this._stack = [];
-	this._tokenizer = new Tokenizer(this);
-}
-Parser.prototype.ontext = function(data) {
-	this._cbs.ontext(data);
-};
-Parser.prototype.onopentagname = function(name) {
-	name = name.toLowerCase();
-	this._tagname = name;
-	this._attribs = {
-		style: ''
-	};
-	if (!voidTag[name]) this._stack.push(name);
-};
-Parser.prototype.onopentagend = function() {
-	if (this._attribs) {
-		this._cbs.onopentag(this._tagname, this._attribs);
-		this._attribs = null;
-	}
-	if (voidTag[this._tagname]) this._cbs.onclosetag(this._tagname);
-	this._tagname = "";
-};
-Parser.prototype.onclosetag = function(name) {
-	name = name.toLowerCase();
-	if (this._stack.length && !voidTag[name]) {
-		var pos = this._stack.lastIndexOf(name);
-		if (pos !== -1) {
-			pos = this._stack.length - pos;
-			while (pos--) this._cbs.onclosetag(this._stack.pop());
-		} else if (name === "p") {
-			this.onopentagname(name);
-			this._closeCurrentTag();
-		}
-	} else if (name === "br" || name === "hr" || name === "p") {
-		this.onopentagname(name);
-		this._closeCurrentTag();
-	}
-};
-Parser.prototype._closeCurrentTag = function() {
-	let name = this._tagname;
-	this.onopentagend();
-	if (this._stack[this._stack.length - 1] === name) {
-		this._cbs.onclosetag(name);
-		this._stack.pop();
-	}
-};
-Parser.prototype.onattribend = function() {
-	this._attribvalue = this._attribvalue.replace(/&quot;/g, '"');
-	if (this._attribs && trustAttrs[this._attribname]) {
-		this._attribs[this._attribname] = this._attribvalue;
-	}
-	this._attribname = "";
-	this._attribvalue = "";
-};
-Parser.prototype.onend = function() {
-	for (
-		var i = this._stack.length; i > 0; this._cbs.onclosetag(this._stack[--i])
-	);
-	this._callback({
-		'nodes': this._cbs.nodes,
-		'title': this._cbs.title,
-		'imgList': this._cbs.imgList
-	});
-};
-Parser.prototype.write = function(chunk) {
-	this._tokenizer.parse(chunk);
-};
-
-function html2nodes(data, options) {
-	return new Promise(function(resolve, reject) {
-		try {
-			let style = '';
-			data = data.replace(/<style.*?>([\s\S]*?)<\/style>/gi, function() {
-				style += arguments[1];
-				return '';
-			});
-			let handler = new DomHandler(style, options);
-			new Parser(handler, (res) => {
-				// #ifdef MP-BAIDU || MP-TOUTIAO || H5
-				_traverse(res.nodes);
-				// #endif
-				return resolve(res);
-			}).write(data);
-		} catch (err) {
-			return reject(err);
-		}
-	})
-}
-module.exports = html2nodes;

+ 0 - 218
components/jyf-Parser/Tokenizer.js

@@ -1,218 +0,0 @@
-//Tokenizer.js
-function Tokenizer(cbs) {
-	this._state = "TEXT";
-	this._buffer = "";
-	this._sectionStart = 0;
-	this._index = 0;
-	this._cbs = cbs;
-}
-Tokenizer.prototype.TEXT = function(c) {
-	var index = this._buffer.indexOf("<", this._index);
-	if (index != -1) {
-		this._index = index;
-		this._cbs.ontext(this._getSection());
-		this._state = "BeforeTag";
-		this._sectionStart = this._index;
-	} else this._index = this._buffer.length;
-};
-Tokenizer.prototype.BeforeTag = function(c) {
-	switch (c) {
-		case "/":
-			this._state = "BeforeCloseTag";
-			break;
-		case "!":
-			this._state = "BeforeDeclaration";
-			break;
-		case "?":
-			let index = this._buffer.indexOf(">", this._index);
-			if (index != -1) {
-				this._index = index;
-				this._sectionStart = this._index + 1;
-			} else this._sectionStart = this._index = this._buffer.length;
-			this._state = "TEXT";
-			break;
-		case ">":
-			this._state = "TEXT";
-			break;
-		case "<":
-			this._cbs.ontext(this._getSection());
-			this._sectionStart = this._index;
-			break;
-		default:
-			if (/\s/.test(c)) this._state = "TEXT";
-			else {
-				this._state = "InTag";
-				this._sectionStart = this._index;
-			}
-	}
-};
-Tokenizer.prototype.InTag = function(c) {
-	if (c === "/" || c === ">" || /\s/.test(c)) {
-		this._cbs.onopentagname(this._getSection());
-		this._state = "BeforeAttrsName";
-		this._index--;
-	}
-};
-Tokenizer.prototype.BeforeAttrsName = function(c) {
-	if (c === ">") {
-		this._cbs.onopentagend();
-		this._state = "TEXT";
-		this._sectionStart = this._index + 1;
-	} else if (c === "/") {
-		this._state = "InSelfCloseTag";
-	} else if (!(/\s/.test(c))) {
-		this._state = "InAttrsName";
-		this._sectionStart = this._index;
-	}
-};
-Tokenizer.prototype.InAttrsName = function(c) {
-	if (c === "=" || c === "/" || c === ">" || /\s/.test(c)) {
-		this._cbs._attribname = this._getSection().toLowerCase();
-		this._sectionStart = -1;
-		this._state = "AfterAttrsName";
-		this._index--;
-	}
-};
-Tokenizer.prototype.AfterAttrsName = function(c) {
-	if (c === "=") {
-		this._state = "BeforeAttrsValue";
-	} else if (c === "/" || c === ">") {
-		this._cbs.onattribend();
-		this._state = "BeforeAttrsName";
-		this._index--;
-	} else if (!(/\s/.test(c))) {
-		this._cbs.onattribend();
-		this._state = "InAttrsName";
-		this._sectionStart = this._index;
-	}
-};
-Tokenizer.prototype.BeforeAttrsValue = function(c) {
-	if (c === '"') {
-		this._state = "InAttrsValueDQ";
-		this._sectionStart = this._index + 1;
-	} else if (c === "'") {
-		this._state = "InAttrsValueSQ";
-		this._sectionStart = this._index + 1;
-	} else if (!(/\s/.test(c))) {
-		this._state = "InAttrsValueNQ";
-		this._sectionStart = this._index;
-		this._index--;
-	}
-};
-Tokenizer.prototype.InAttrsValueDQ = function(c) {
-	if (c === '"') {
-		this._cbs._attribvalue += this._getSection();
-		this._cbs.onattribend();
-		this._state = "BeforeAttrsName";
-	}
-};
-Tokenizer.prototype.InAttrsValueSQ = function(c) {
-	if (c === "'") {
-		this._cbs._attribvalue += this._getSection();
-		this._cbs.onattribend();
-		this._state = "BeforeAttrsName";
-	}
-};
-Tokenizer.prototype.InAttrsValueNQ = function(c) {
-	if (/\s/.test(c) || c === ">") {
-		this._cbs._attribvalue += this._getSection();
-		this._cbs.onattribend();
-		this._state = "BeforeAttrsName";
-		this._index--;
-	}
-};
-Tokenizer.prototype.BeforeCloseTag = function(c) {
-	if (/\s/.test(c));
-	else if (c === ">") {
-		this._state = "TEXT";
-	} else {
-		this._state = "InCloseTag";
-		this._sectionStart = this._index;
-	}
-};
-Tokenizer.prototype.InCloseTag = function(c) {
-	if (c === ">" || /\s/.test(c)) {
-		this._cbs.onclosetag(this._getSection());
-		this._state = "AfterCloseTag";
-		this._index--;
-	}
-};
-Tokenizer.prototype.InSelfCloseTag = function(c) {
-	if (c === ">") {
-		this._cbs.onopentagend();
-		this._state = "TEXT";
-		this._sectionStart = this._index + 1;
-	} else if (!(/\s/.test(c))) {
-		this._state = "BeforeAttrsName";
-		this._index--;
-	}
-};
-Tokenizer.prototype.AfterCloseTag = function(c) {
-	if (c === ">") {
-		this._state = "TEXT";
-		this._sectionStart = this._index + 1;
-	}
-};
-Tokenizer.prototype.BeforeDeclaration = function(c) {
-	if (c == '-') this._state = "InComment";
-	else if (c == '[') this._state = "BeforeCDATA1";
-	else this._state = "InDeclaration";
-};
-Tokenizer.prototype.InDeclaration = function(c) {
-	var index = this._buffer.indexOf(">", this._index);
-	if (index != -1) {
-		this._index = index;
-		this._sectionStart = index + 1;
-	} else this._sectionStart = this._index = this._buffer.length;
-	this._state = "TEXT";
-};
-Tokenizer.prototype.InComment = function(c) {
-	let key = (c == '-' ? '-->' : '>');
-	let index = this._buffer.indexOf(key, this._index);
-	if (index != -1) {
-		this._index = index + key.length - 1;
-		this._sectionStart = this._index + 1;
-	} else this._sectionStart = this._index = this._buffer.length;
-	this._state = "TEXT";
-};
-Tokenizer.prototype.BeforeCDATA1 = function(c) {
-	if (c == 'C') this._state = "BeforeCDATA2";
-	else this._state = "InDeclaration";
-};
-Tokenizer.prototype.BeforeCDATA2 = function(c) {
-	if (c == 'D') this._state = "BeforeCDATA3";
-	else this._state = "InDeclaration";
-};
-Tokenizer.prototype.BeforeCDATA3 = function(c) {
-	if (c == 'A') this._state = "BeforeCDATA4";
-	else this._state = "InDeclaration";
-};
-Tokenizer.prototype.BeforeCDATA4 = function(c) {
-	if (c == 'T') this._state = "BeforeCDATA5";
-	else this._state = "InDeclaration";
-};
-Tokenizer.prototype.BeforeCDATA5 = function(c) {
-	if (c == 'A') this._state = "InCDATA";
-	else this._state = "InDeclaration";
-};
-Tokenizer.prototype.InCDATA = function(c) {
-	let key = (c == '[' ? ']]>' : '>');
-	let index = this._buffer.indexOf(key, this._index);
-	if (index != -1) {
-		this._index = index + key.length - 1;
-		this._sectionStart = this._index + 1;
-	} else this._sectionStart = this._index = this._buffer.length;
-	this._state = "TEXT";
-};
-Tokenizer.prototype.parse = function(chunk) {
-	this._buffer += chunk;
-	for (; this._index < this._buffer.length; this._index++)
-		this[this._state](this._buffer[this._index]);
-	if (this._state === "TEXT" && this._sectionStart !== this._index)
-		this._cbs.ontext(this._buffer.substr(this._sectionStart));
-	this._cbs.onend();
-};
-Tokenizer.prototype._getSection = function() {
-	return this._buffer.substring(this._sectionStart, this._index);
-};
-module.exports = Tokenizer;

+ 0 - 41
components/jyf-Parser/api.js

@@ -1,41 +0,0 @@
-String.prototype.splice = function(start = 0, deleteCount = 0, addStr = '') {
-	if (start < 0) start = this.length + start;
-	if (deleteCount < 0) deleteCount = 0;
-	return this.substring(0, start) + addStr + this.substring(start + deleteCount);
-}
-// #ifndef MP-ALIPAY || H5 || APP-PLUS 
-const SDKVersion = uni.getSystemInfoSync().SDKVersion;
-// #endif
-module.exports = {
-	// #ifndef MP-ALIPAY || H5 || APP-PLUS 
-	versionHigherThan(version = '') {
-		var v1 = SDKVersion.split('.');
-		var v2 = version.split('.');
-		const len = Math.max(v1.length, v2.length);
-		while (v1.length < len) {
-			v1.push('0');
-		}
-		while (v2.length < len) {
-			v2.push('0');
-		}
-		for (let i = 0; i < len; i++) {
-			const num1 = parseInt(v1[i]);
-			const num2 = parseInt(v2[i]);
-			if (num1 > num2) {
-				return true;
-			} else if (num1 < num2) {
-				return false;
-			}
-		}
-		return true;
-	},
-	// #endif
-	html2nodes(html, tagStyle) {
-		const Parser = require('./Parser.js');
-		return Parser(html, tagStyle);
-	},
-	css2object(style, tagStyle) {
-		const CssHandler = require('./CssHandler.js');
-		return new CssHandler(style, tagStyle)._style;
-	}
-}

+ 0 - 70
components/jyf-Parser/handler.sjs

@@ -1,70 +0,0 @@
-var textTag = {
-	abbr: true,
-	b: true,
-	big: true,
-	code: true,
-	del: true,
-	em: true,
-	font: true,
-	i: true,
-	ins: true,
-	label: true,
-	mark: true,
-	q: true,
-	s: true,
-	small: true,
-	span: true,
-	strong: true,
-	u: true
-}
-export default {
-	getStyle: function(style, display) {
-		var res = "";
-		var reg = getRegExp("float\s*:\s*[^;]*", "i");
-		if (reg.test(style)) res += reg.exec(style)[0];
-		reg = getRegExp("margin[^;]*", "gi");
-		var margin = reg.exec(style);
-		while (margin) {
-			res += (';' + margin[0]);
-			margin = reg.exec(style);
-		}
-		reg = getRegExp("display\s*:\s*([^;]*)", "i");
-		if (reg.test(style) && reg.exec(style)[1] != "flex") res += (';' + reg.exec(style)[0]);
-		else res += (';display:' + display);
-		reg = getRegExp("flex\s*:[^;]*", "i");
-		if (reg.test(style)) res += (';' + reg.exec(style)[0]);
-		reg = getRegExp("[^;\s]*width[^;]*", "ig");
-		var width = reg.exec(style);
-		while (width) {
-			res += (';' + width[0]);
-			width = reg.exec(style);
-		}
-		return res;
-	},
-	setImgStyle: function(item, imgMode) {
-		if (imgMode == "widthFix")
-			item.attrs.style += ";height:auto !important";
-		if (getRegExp("[^-]width[^pev;]+").test(";" + item.attrs.style))
-			item.attrs.style += ";width:100%";
-		item.attrs.style = item.attrs.style.replace(getRegExp('margin[^;]*', "gi"), "");
-		return [item];
-	},
-	setStyle: function(item) {
-		if (getRegExp("[^-]width[^pev;]+").test(";" + item.attrs.style))
-			item.attrs.style += ";width:100%";
-		if (getRegExp('margin').test(item.attrs.style)) {
-			item.attrs.style = item.attrs.style.replace(getRegExp('margin[^;]*', "gi"), "");
-			item.attrs.style += ';margin:0'
-		}
-		return [item];
-	},
-	isContinue: function(item) {
-		if (textTag[item.name])
-			return false;
-		if (!item["continue"])
-			return true;
-		else if (item.name == 'a')
-			return true;
-		return false;
-	}
-}

+ 0 - 72
components/jyf-Parser/handler.wxs

@@ -1,72 +0,0 @@
-// Parser/trees/cssHandler.wxs
-var textTag = {
-	abbr: true,
-	b: true,
-	big: true,
-	code: true,
-	del: true,
-	em: true,
-	font: true,
-	i: true,
-	ins: true,
-	label: true,
-	mark: true,
-	q: true,
-	s: true,
-	small: true,
-	span: true,
-	strong: true,
-	u: true
-}
-module.exports = {
-	getStyle: function(style, display) {
-		var res = "";
-		var reg = getRegExp("float\s*:\s*[^;]*", "i");
-		if (reg.test(style)) res += reg.exec(style)[0];
-		reg = getRegExp("margin[^;]*", "gi");
-		var margin = reg.exec(style);
-		while (margin) {
-			res += (';' + margin[0]);
-			margin = reg.exec(style);
-		}
-		reg = getRegExp("display\s*:\s*([^;]*)", "i");
-		if (reg.test(style) && reg.exec(style)[1] != "flex") res += (';' + reg.exec(style)[0]);
-		else res += (';display:' + display);
-		reg = getRegExp("flex\s*:[^;]*", "i");
-		if (reg.test(style)) res += (';' + reg.exec(style)[0]);
-		reg = getRegExp("[^;\s]*width[^;]*", "ig");
-		var width = reg.exec(style);
-		while (width) {
-			res += (';' + width[0]);
-			width = reg.exec(style);
-		}
-		return res;
-	},
-	setImgStyle: function(item, imgMode, imgLoad) {
-		if (imgMode == "widthFix")
-			item.attrs.style += ";height:auto !important";
-		if (getRegExp("[^-]width[^pev;]+").test(";" + item.attrs.style))
-			item.attrs.style += ";width:100%";
-		item.attrs.style = item.attrs.style.replace(getRegExp('margin[^;]*', "gi"), "");
-		if (!imgLoad) {
-			delete item.attrs.src;
-			item.attrs.style += ";width:5px !important;height:5px !important"
-		}
-		return [item];
-	},
-	setStyle: function(item) {
-		if (getRegExp("[^-]width[^pev;]+").test(";" + item.attrs.style))
-			item.attrs.style += ";width:100%";
-		item.attrs.style = item.attrs.style.replace(getRegExp('margin[^;]*', "gi"), "");
-		return [item];
-	},
-	isContinue: function(item) {
-		if (textTag[item.name])
-			return false;
-		if (!item["continue"])
-			return true;
-		else if (item.name == 'a')
-			return true;
-		return false;
-	}
-}

+ 0 - 405
components/jyf-Parser/index.vue

@@ -1,405 +0,0 @@
-<template>
-	<view>
-		<!--#ifdef H5-->
-		<slot v-if="!html"></slot>
-		<iframe id="contain" :style="'width:100%;'+(selectable?'user-select:text;-webkit-user-select:text':'')+(showWithAnimation?('opacity:0;'+showAnimation):'')"
-		 frameborder="0"></iframe>
-		<!--#endif-->
-		<!--#ifndef H5-->
-		<slot v-if="!(html.nodes||((html&&(html[0].name||html[0].type))?1:nodes.length))"></slot>
-		<!--#endif-->
-		<!--#ifdef MP-ALIPAY || H5-->
-		<view class="contain" :style="(showWithAnimation?'opacity:0;':'')+(selectable?'user-select:text;-webkit-user-select:text':'')"
-		 :animation="showAnimation">
-			<trees :nodes="html.nodes||((html&&(html[0].name||html[0].type))?html:nodes)" :imgMode="imgMode" />
-		</view>
-		<!--#endif-->
-		<!--#ifndef MP-ALIPAY || H5-->
-		<trees class="contain" :style="'display:block'+(showWithAnimation?'opacity:0;':'')+(selectable?'user-select:text;-webkit-user-select:text':'')"
-		 :animation="showAnimation" :nodes="html.nodes||((html[0].name||html[0].type)?html:nodes)" :imgMode="imgMode"
-		 :lazyLoad="lazyLoad" :loadVideo="loadVideo" />
-		<!--#endif-->
-	</view>
-</template>
-
-<script>
-	import trees from "./trees"
-	const html2nodes = require("./Parser.js");
-	// #ifdef MP-WEIXIN || MP-QQ
-	const CanIUseObserver = require("./api.js").versionHigherThan('1.9.3');
-	// #endif
-	// #ifdef APP-PLUS
-	const CanIUseObserver = true;
-	// #endif
-	var Document; // 使用document补丁包时将此句改为 const Document = require('./document.js');
-	export default {
-		name: 'parser',
-		data() {
-			return {
-				nodes: [],
-				showAnimation: {},
-				// #ifdef APP-PLUS
-				loadVideo: false,
-				// #endif
-			}
-		},
-		components: {
-			trees
-		},
-		props: {
-			'html': {
-				type: null,
-				default: ''
-			},
-			'autocopy': {
-				type: Boolean,
-				default: true
-			},
-			// #ifndef MP-ALIPAY
-			'autopause': {
-				type: Boolean,
-				default: true
-			},
-			// #endif
-			'autopreview': {
-				type: Boolean,
-				default: true
-			},
-			'autosetTitle': {
-				type: Boolean,
-				default: true
-			},
-			'domain': {
-				type: String,
-				default: ''
-			},
-			'imgMode': {
-				type: String,
-				default: 'default'
-			},
-			// #ifdef MP-WEIXIN || MP-QQ || APP-PLUS
-			'lazyLoad': {
-				type: Boolean,
-				default: false
-			},
-			// #endif
-			'selectable': {
-				type: Boolean,
-				default: false
-			},
-			'tagStyle': {
-				type: Object,
-				default: () => {
-					return {};
-				}
-			},
-			'showWithAnimation': {
-				type: Boolean,
-				default: false
-			},
-			'animationDuration': {
-				type: Number,
-				default: 400
-			},
-			'useAnchor': {
-				type: Boolean,
-				default: false
-			}
-		},
-		mounted() {
-			this.execHtml(this.html);
-			// #ifndef MP-ALIPAY || H5
-			this.videoContext = [];
-			// #endif
-			// #ifdef MP-BAIDU || MP-ALIPAY
-			this.anchors = [];
-			// #endif
-		},
-		methods: {
-			execHtml(html) {
-				// #ifdef H5
-				var iframe = document.getElementById("contain");
-				// 支持 iframe.srcdoc
-				if (typeof(iframe.srcdoc) == "string") {
-					var script =
-						'<script>"use strict";function calcPageHeight(t){var e=Math.max(t.body.clientHeight,t.documentElement.clientHeight),n=Math.max(t.body.scrollHeight,t.documentElement.scrollHeight);return Math.max(e,n)}document.addEventListener("DOMContentLoaded",function(){for(var t=document.getElementsByTagName("img"),e=[],n=0;n<t.length;n++){var r=t[n];r.style+=";max-width:100%",e.push(r.src),r.index=n,"A"!=r.parentElement.nodeName&&(r.onclick=function(){parent.document.previewEvent(this,e)}),r.onerror=function(){parent.document.errorEvent(this,"img")};var o=document.getElementsByTagName("a"),a=!0,i=!1,c=void 0;try{for(var u,l=o[Symbol.iterator]();!(a=(u=l.next()).done);a=!0){u.value.onclick=function(t){if("#"==this.getAttribute("href")[0]){var e=document.getElementById(this.getAttribute("href").substring(1));return parent.document.tapEvent(this,e?e.offsetTop:-1)}return parent.document.tapEvent(this)}}}catch(t){i=!0,c=t}finally{try{!a&&l.return&&l.return()}finally{if(i)throw c}}var d=document.getElementsByTagName("video"),m=!0,h=!1,s=void 0;try{for(var v,y=d[Symbol.iterator]();!(m=(v=y.next()).done);m=!0){var f=v.value;f.style+=";max-width:100%",f.onerror=function(){parent.document.errorEvent(this,"video")},f.onplay=function(){parent.document.playEvent(this)}}}catch(t){h=!0,s=t}finally{try{!m&&y.return&&y.return()}finally{if(h)throw s}}parent.document.setVideoContext(d);var g=document.getElementsByTagName("audios"),p=!0,E=!1,x=void 0;try{for(var b,w=g[Symbol.iterator]();!(p=(b=w.next()).done);p=!0){b.value.onerror=function(t){parent.document.errorEvent(this,"audio")}}}catch(t){E=!0,x=t}finally{try{!p&&w.return&&w.return()}finally{if(E)throw x}}}},!1),window.onload=function(){var t=calcPageHeight(document);parent.document.getElementById("contain").style.height=t+"px",parent.document.setTitle(document.title)};<\/script>';
-					if (!html) return;
-					if (typeof html != 'string') {
-						if (typeof html == 'object') {
-							var str = "";
-							for (var node of (html.nodes || html))
-								str += this.Dom2Str(node);
-							html = str;
-						} else {
-							this.$emit('error', {
-								source: "parse",
-								errMsg: "传入的html格式不正确!"
-							});
-							return;
-						}
-					}
-					// 处理 rpx
-					if (/[0-9.]*?rpx/.test(html)) {
-						var rpx = uni.getSystemInfoSync().screenWidth / 750;
-						html = html.replace(/([0-9.]*?)rpx/g, function() {
-							return parseFloat(arguments[1]) * rpx + "px";
-						})
-					}
-					document.previewEvent = (img, imgList) => {
-						if (!img.hasAttribute('ignore')) {
-							var preview = true;
-							img.ignore = () => preview = false;
-							this.$emit('imgtap', img);
-							if (preview && this.autopreview) {
-								uni.previewImage({
-									current: img.index,
-									urls: imgList
-								});
-							}
-						}
-					}
-					document.tapEvent = (link, offsetTop) => {
-						var jump = true;
-						this.$emit('linkpress', {
-							href: link.getAttribute("href"),
-							ignore: () => jump = false
-						});
-						if (jump && link.getAttribute("href")) {
-							if (link.getAttribute("href")[0] == '#') {
-								if (this.useAnchor)
-									window.scrollTo(0, iframe.offsetTop + offsetTop);
-							} else if (/^http/.test(link.getAttribute("href"))) {
-								if (this.autocopy)
-									window.location.href = link.href;
-							} else {
-								uni.navigateTo({
-									url: link.getAttribute("href")
-								})
-							}
-						}
-						return false;
-					}
-					document.setTitle = (title) => {
-						if (title && this.autosetTitle) {
-							uni.setNavigationBarTitle({
-								title: title
-							})
-						}
-						if (html)
-							uni.createSelectorQuery().in(this).select("#contain").boundingClientRect(res => {
-								this.$emit('ready', res);
-							}).exec()
-					}
-					document.errorEvent = (target, source) => {
-						this.$emit('error', {
-							source,
-							target
-						});
-					}
-					document.setVideoContext = (videos) => {
-						this.videoContext = videos;
-					}
-					document.playEvent = (v) => {
-						if (this.autopause) {
-							for (var video of this.videoContext) {
-								if (video != v)
-									video.pause();
-							}
-						}
-					}
-					iframe.srcdoc = script + html;
-					this.showAnimation =
-						"opacity: 1; transition: opacity 400ms ease 0ms, -webkit-transform 400ms ease 0ms, transform 400ms ease 0ms; transform-origin: 50% 50% 0px;";
-					return;
-				}
-				// #endif
-				let showAnimation = {};
-				if (this.showWithAnimation) {
-					showAnimation = uni.createAnimation({
-						duration: this.animationDuration,
-						timingFunction: "ease"
-					}).opacity(1).step().export();
-				}
-				if (!html) {
-					this.nodes = [];
-				} else if (typeof html == 'string') {
-					html2nodes(html, this).then(res => {
-						// #ifdef APP-PLUS
-						this.loadVideo = false;
-						// #endif
-						this.nodes = res.nodes;
-						this.showAnimation = showAnimation;
-						this.imgList = res.imgList;
-						if (Document) this.document = new Document("nodes", res.nodes, this);
-						if (res.title && this.autosetTitle) {
-							uni.setNavigationBarTitle({
-								title: res.title
-							})
-						}
-						this.$emit('parser', res);
-						this.ready();
-					}).catch(err => {
-						this.$emit('error', {
-							source: "parse",
-							errMsg: err
-						});
-					})
-				} else if (html.constructor == Array) {
-					this.showAnimation = showAnimation;
-					this.imgList = [];
-					// #ifdef APP-PLUS
-					this.loadVideo = false;
-					// #endif
-					if (Document) this.document = new Document("html", html, this);
-					this.ready();
-				} else if (typeof html == 'object') {
-					if (!html.nodes || html.nodes.constructor != Array) {
-						if ((html.name && html.children && html.attrs) || (html.type == "text"))
-							return;
-						this.$emit('error', {
-							source: "parse",
-							errMsg: "传入的nodes数组格式不正确!应该传入的类型是array,实际传入的类型是:" + typeof html.nodes
-						});
-						return;
-					}
-					this.showAnimation = showAnimation;
-					this.imgList = html.imgList || [];
-					// #ifdef APP-PLUS
-					this.loadVideo = false;
-					// #endif
-					if (Document) this.document = new Document("html.nodes", html.nodes, this);
-					if (html.title && this.autosetTitle)
-						uni.setNavigationBarTitle({
-							title: html.title
-						})
-					this.ready();
-				} else {
-					this.$emit('error', {
-						source: "parse",
-						errMsg: "错误的html类型:" + typeof html
-					});
-				}
-			},
-			// #ifdef H5
-			Dom2Str(node) {
-				if (node.type == "text")
-					return node.text;
-				var elem = '<' + node.name;
-				for (var attr in node.attrs)
-					elem += (' ' + atts + '="' + node.attrs[attr] + '"');
-				elem += ">";
-				for (var child of node.children)
-					elem += Dom2Str(child);
-				elem += ("</" + node.name + ">");
-				return elem;
-			},
-			// #endif
-			// #ifndef H5
-			getContext(components) {
-				for (let component of components) {
-					let observered = false;
-					if (!component.nodes)
-						return this.getContext(component.$children);
-					for (let item of component.nodes) {
-						// #ifndef MP-ALIPAY
-						if (item.name == 'img' && !observered) {
-							observered = true;
-							if (component.lazyLoad && CanIUseObserver) {
-								component._observer = uni.createIntersectionObserver(component);
-								component._observer.relativeToViewport({
-									top: 1000,
-									bottom: 1000
-								}).observe('.img', res => {
-									component.imgLoad = true;
-									component._observer.disconnect();
-									component._observer = null;
-								})
-							} else
-								component.imgLoad = true;
-						} else if (item.name == 'video') {
-							this.videoContext.push({
-								id: item.attrs.id,
-								context: uni.createVideoContext(item.attrs.id, component)
-							});
-						}
-						// #endif
-						// #ifdef MP-BAIDU || MP-ALIPAY
-						if (item.attrs && item.attrs.id) {
-							this.anchors.push({
-								id: item.attrs.id,
-								node: component
-							})
-						}
-						// #endif
-					}
-					this.getContext(component.$children);
-				}
-			},
-			// #endif
-			ready() {
-				this.$nextTick(() => {
-					this.navigateTo = (obj) => {
-						obj.success = obj.success || function() {};
-						obj.fail = obj.fail || function() {};
-						var Scroll = (selector,component) => {
-							const query = uni.createSelectorQuery().in(component?component:this);
-							query.select(selector).boundingClientRect();
-							query.selectViewport().scrollOffset();
-							query.exec(res => {
-								if (!res || !res[0])
-									return obj.fail({
-										errMsg: "Label Not Found"
-									});
-								uni.pageScrollTo({
-									scrollTop: res[1].scrollTop + res[0].top,
-									success: obj.success,
-									fail: obj.fail
-								})
-							})
-						}
-						if (!obj.id) Scroll(".contain");
-						else {
-							// #ifndef MP-BAIDU || MP-ALIPAY
-							Scroll('.contain >>> #' + obj.id);
-							// #endif
-							// #ifdef MP-BAIDU || MP-ALIPAY
-							for (var anchor of this.anchors) {
-								if (anchor.id == obj.id) {
-									Scroll("#" + obj.id, anchor.node);
-								}
-							}
-							// #endif
-						}
-					}
-					uni.createSelectorQuery().in(this).select(".contain").boundingClientRect(res => {
-						this.$emit("ready", res);
-					}).exec()
-					// #ifndef H5
-					this.getContext(this.$children);
-					// #endif
-					// #ifdef APP-PLUS
-					setTimeout(() => {
-						this.loadVideo = true;
-					}, 2000);
-					// #endif
-				})
-			}
-		},
-		watch: {
-			html(html) {
-				this.execHtml(html);
-			}
-		}
-	}
-</script>
-
-<style>
-	/* #ifndef MP-BAIDU */
-	:host {
-		display: block;
-		overflow: scroll;
-		-webkit-overflow-scrolling: touch;
-	}
-
-	/* #endif */
-</style>

+ 0 - 363
components/jyf-Parser/trees.vue

@@ -1,363 +0,0 @@
-<template>
-	<view style="display: inherit;white-space: inherit;">
-		<block v-for='(item, index) in nodes' v-bind:key='index'>
-			<!--#ifdef MP-WEIXIN || MP-QQ || APP-PLUS || MP-ALIPAY-->
-			<block v-if="handler.isContinue(item)">
-				<!--#endif-->
-				<!--#ifdef MP-BAIDU || MP-TOUTIAO || H5-->
-				<block v-if="!item.continue">
-					<!--#endif-->
-					<!--图片-->
-					<!--#ifdef MP-WEIXIN || MP-QQ || APP-PLUS-->
-					<rich-text v-if="item.name=='img'" :id="item.attrs.id||''" class="img" :style="'text-indent:0;'+handler.getStyle(item.attrs.style,'inline-block')"
-					 :nodes='handler.setImgStyle(item,imgMode,imgLoad)' :data-ignore='item.attrs.ignore' :data-src='item.attrs.src'
-					 :data-current='item.current' @tap='previewEvent' />
-					<!--#endif-->
-					<!--#ifdef MP-ALIPAY-->
-					<rich-text v-if="item.name=='img'" :id="item.attrs.id||''" :style="'text-indent:0;'+handler.getStyle(item.attrs.style,'inline-block')"
-					 :nodes='handler.setImgStyle(item,imgMode)' :data-ignore='item.attrs.ignore' :data-src='item.attrs.src'
-					 :data-current='item.current' @tap='previewEvent' />
-					<!--#endif-->
-					<!--#ifdef MP-BAIDU || MP-TOUTIAO || H5-->
-					<rich-text v-if="item.name=='img'" :id="item.attrs.id||''" :style="'text-indent:0;'+item.attrs.containStyle" :nodes='[item]' :data-ignore='item.attrs.ignore'
-					 :data-src='item.attrs.src' :data-current='item.current' @tap='previewEvent' />
-					<!--#endif-->
-					<!--文本-->
-					<!--#ifdef MP-WEIXIN || MP-QQ || H5 || APP-PLUS-->
-					<block v-else-if="item.type=='text'">
-						<text v-if="!item.decode" decode>{{item.text}}</text>
-						<rich-text v-else style="display:inline-block" :nodes="[item]"></rich-text>
-					</block>
-					<!--#endif-->
-					<!--#ifdef MP-ALIPAY-->
-					<text v-else-if="item.type=='text'" decode>{{item.text}}</text>
-					<!--#endif-->
-					<text v-else-if="item.name=='br'">\n</text>
-					<!--视频-->
-					<block v-else-if="item.name=='video'">
-						<!--#ifdef APP-PLUS-->
-						<view v-if="(!loadVideo||item.attrs.id[item.attrs.id.length-1]>'3')&&(!controls[item.attrs.id]||!controls[item.attrs.id].play)"
-						 :class="'pvideo '+(item.attrs.class||'')" :style="item.attrs.style" :data-id="item.attrs.id" @tap="_loadVideo">
-							<view class="video-triangle"></view>
-						</view>
-						<!--#endif-->
-						<!--#ifndef APP-PLUS-->
-						<view v-if="item.attrs.id[item.attrs.id.length-1]>'3'&&(!controls[item.attrs.id]||!controls[item.attrs.id].play)"
-						 :class="'pvideo '+(item.attrs.class||'')" :style="item.attrs.style" :data-id="item.attrs.id" @tap="_loadVideo">
-							<view class="video-triangle"></view>
-						</view>
-						<!--#endif-->
-						<video v-else :src='controls[item.attrs.id]?item.attrs.source[controls[item.attrs.id].index]:item.attrs.src' :id="item.attrs.id||''"
-						 :loop='item.attrs.loop' :controls='item.attrs.controls' :autoplay="item.attrs.autoplay||(controls[item.attrs.id]&&controls[item.attrs.id].play)"
-						 :unit-id="item.attrs['unit-id']" :class="'v '+(item.attrs.class||'')" :muted="item.attrs.muted" :style="item.attrs.style"
-						 :data-id="item.attrs.id" :data-source="item.attrs.source" @play='playEvent' @error="videoError" />
-					</block>
-					<!--音频-->
-					<audio v-else-if="item.name=='audio'" :src='controls[item.attrs.id]?item.attrs.source[controls[item.attrs.id].index]:item.attrs.src'
-					 :id="item.attrs.id||''" :loop='item.attrs.loop' :controls='item.attrs.controls' :poster='item.attrs.poster' :name='item.attrs.name'
-					 :author='item.attrs.author' :class="item.attrs.class||''" :style="item.attrs.style" :data-id="item.attrs.id"
-					 :data-source="item.attrs.source" @error="audioError" />
-					<!--链接-->
-					<view v-else-if="item.name=='a'" :class="'a '+(item.attrs.class||'')" :style="item.attrs.style" :data-href='item.attrs.href'
-					 hover-class="navigator-hover" :hover-start-time="25" :hover-stay-time="300" @tap="tapEvent">
-						<!--#ifdef H5-->
-						<trees :nodes="item.children" :imgMode="imgMode" />
-						<!--#endif-->
-						<!--#ifndef H5-->
-						<trees :nodes="item.children" :imgMode="imgMode" :lazyLoad="lazyLoad" :loadVideo="loadVideo" />
-						<!--#endif-->
-					</view>
-					<!--广告-->
-					<!--#ifdef MP-WEIXIN || MP-QQ-->
-					<ad v-else-if="item.name=='ad'" :unit-id="item.attrs['unit-id']" :class="item.attrs.class||''" :style="item.attrs.style"
-					 @error="adError"></ad>
-					<!--#endif-->
-					<!--#ifdef MP-BAIDU-->
-					<ad v-else-if="item.name=='ad'" :appid="item.attrs.appid" :apid="item.attrs.apid" :type="item.attrs.type" :class="item.attrs.class||''"
-					 :style="item.attrs.style" @error="adError"></ad>
-					<!--#endif-->
-					<!--富文本-->
-					<!--#ifdef MP-WEIXIN || MP-QQ || MP-ALIPAY || APP-PLUS-->
-					<rich-text v-else :id="item.attrs.id||''" :class="item.name" :style="''+handler.getStyle(item.attrs.style,'block')" :nodes="handler.setStyle(item)" />
-					<!--#endif-->
-					<!--#ifdef MP-BAIDU || MP-TOUTIAO || H5-->
-					<rich-text v-else :id="item.attrs.id||''" :class="item.name" :style="item.attrs?item.attrs.containStyle:''" :nodes="[item]" />
-					<!--#endif-->
-				</block>
-				<!--#ifdef MP-ALIPAY || H5-->
-				<view v-else :id="item.attrs.id||''" :class="item.name+' '+(item.attrs.class||'')" :style="item.attrs.style">
-					<trees :nodes="item.children" :imgMode="imgMode" />
-				</view>
-				<!--#endif-->
-				<!--#ifndef MP-ALIPAY || H5-->
-				<trees v-else :id="item.attrs.id||''" :class="item.name+' '+(item.attrs.class||'')" :style="item.attrs.style" :nodes="item.children"
-				 :imgMode="imgMode" :lazyLoad="lazyLoad" :loadVideo="loadVideo" />
-				<!--#endif-->
-			</block>
-	</view>
-</template>
-<script module="handler" lang="wxs" src="./handler.wxs"></script>
-<script module="handler" lang="sjs" src="./handler.sjs"></script>
-<script>
-	import trees from "./trees"
-	export default {
-		components: {
-			trees
-		},
-		name: 'trees',
-		data() {
-			return {
-				controls: {},
-				// #ifdef MP-WEIXIN || MP-QQ || APP-PLUS
-				imgLoad: false
-				// #endif
-			}
-		},
-		props: {
-			nodes: {
-				type: Array,
-				default: []
-			},
-			// #ifdef MP-WEIXIN || MP-QQ || APP-PLUS
-			lazyLoad: {
-				type: Boolean,
-				default: false
-			},
-			// #endif
-			// #ifdef APP-PLUS
-			loadVideo: {
-				type: Boolean,
-				default: false
-			},
-			// #endif
-			imgMode: {
-				type: String,
-				default: "default"
-			}
-		},
-		mounted() {
-			// 获取顶层组件
-			this._top = this.$parent;
-			while (this._top.$options.name != 'parser') {
-				if (this._top._top) {
-					this._top = this._top._top;
-					break;
-				}
-				this._top = this._top.$parent;
-			}
-		},
-		// #ifdef MP-WEIXIN || MP-QQ || APP-PLUS
-		beforeDestroy() {
-			if (this._observer)
-				this._observer.disconnect();
-		},
-		// #endif
-		methods: {
-			// #ifndef MP-ALIPAY
-			playEvent(e) {
-				if (this._top.videoContext.length > 1 && this._top.autopause) {
-					for (let video of this._top.videoContext) {
-						if (video.id == e.currentTarget.dataset.id) continue;
-						video.context.pause();
-					}
-				}
-			},
-			// #endif
-			previewEvent(e) {
-				if (!e.currentTarget.dataset.ignore) {
-					var preview = true;
-					this._top.$emit('imgtap', {
-						id: e.target.id,
-						src: e.currentTarget.dataset.src,
-						ignore: () => preview = false
-					});
-					if (preview && this._top.autopreview) {
-						uni.previewImage({
-							current: parseInt(e.currentTarget.dataset.current),
-							urls: this._top.imgList.length ? this._top.imgList : [e.currentTarget.dataset.src]
-						});
-					}
-				}
-			},
-			tapEvent(e) {
-				var jump = true;
-				this._top.$emit('linkpress', {
-					href: e.currentTarget.dataset.href,
-					ignore: () => jump = false
-				});
-				if (jump && e.currentTarget.dataset.href) {
-					if (e.currentTarget.dataset.href[0]) {
-						if (this._top.useAnchor)
-							this._top.navigateTo({
-								id: e.currentTarget.dataset.href.substring(1)
-							})
-					} else if (/^http/.test(e.currentTarget.dataset.href)) {
-						if (this._top.autocopy) {
-							// #ifndef H5
-							uni.setClipboardData({
-								data: e.currentTarget.dataset.href,
-								success() {
-									uni.showToast({
-										title: '链接已复制'
-									});
-								}
-							});
-							// #endif
-							// #ifdef H5
-							window.location.href = e.currentTarget.dataset.href;
-							// #endif
-						}
-					} else
-						uni.navigateTo({
-							url: e.currentTarget.dataset.href
-						})
-				}
-			},
-			triggerError(source, target, errMsg, errCode) {
-				this._top.$emit('error', {
-					source,
-					target,
-					errMsg,
-					errCode
-				});
-			},
-			loadSource(currentTarget) {
-				if (!this.controls[currentTarget.id] && currentTarget.source.length > 1) {
-					this.$set(this.controls, currentTarget.id, {
-						play: false,
-						index: 1
-					})
-				} else if (this.controls[currentTarget.id] && currentTarget.source.length > this.controls[
-						currentTarget.id].index + 1) {
-					this.$set(this.controls[currentTarget.id], "index", this.controls[currentTarget.id].index + 1);
-				}
-			},
-			adError(e) {
-				this.triggerError("ad", e.currentTarget, "", e.detail.errorCode);
-			},
-			videoError(e) {
-				this.loadSource(e.currentTarget.dataset);
-				this.triggerError("video", e.currentTarget, e.detail.errMsg);
-			},
-			audioError(e) {
-				this.loadSource(e.currentTarget.dataset);
-				this.triggerError("audio", e.currentTarget, e.detail.errMsg);
-			},
-			_loadVideo(e) {
-				this.$set(this.controls, e.currentTarget.dataset.id, {
-					play: true,
-					index: 0
-				})
-			}
-		}
-	}
-</script>
-
-<style>
-	/* 可以在这里引入自定义的外部样式 */
-
-	/* 链接受到点击的hover-class,可自定义修改 */
-	.navigator-hover {
-		opacity: 0.7;
-		text-decoration: underline;
-	}
-
-	/* 以下内容不建议修改 */
-	:host {
-		display: inherit;
-		float: inherit;
-	}
-
-	.a {
-		display: inline;
-		color: #366092;
-	}
-
-	/* #ifdef MP-WEIXIN || MP-QQ || MP-ALIPAY */
-	.sub,
-	.sup,
-	.bdo,
-	.bdi,
-	.ruby,
-	.rt {
-		display: inline-block !important;
-	}
-
-	/* #endif */
-
-	.div,
-	.blockquote,
-	.p {
-		display: block;
-	}
-
-	.b,
-	.strong {
-		display: inline;
-		font-weight: bold;
-	}
-
-	.em,
-	.i {
-		display: inline;
-		font-style: italic;
-	}
-
-	.del {
-		display: inline;
-		text-decoration: line-through;
-	}
-
-	.ins {
-		display: inline;
-		text-decoration: underline;
-	}
-
-	.code {
-		display: inline;
-		font-family: monospace;
-	}
-
-	.big {
-		font-size: 1.2em;
-		display: inline;
-	}
-
-	.small {
-		font-size: 0.8em;
-		display: inline;
-	}
-
-	.q,
-	.span,
-	.label,
-	.abbr {
-		display: inline;
-	}
-
-	.q::before {
-		content: '"';
-	}
-
-	.q::after {
-		content: '"';
-	}
-
-	.pvideo {
-		background-color: black;
-		width: 300px;
-		height: 225px;
-		display: inline-block;
-		position: relative;
-	}
-
-	.video-triangle {
-		border-width: 15px 0 15px 30px;
-		border-style: solid;
-		border-color: transparent transparent transparent white;
-		position: absolute;
-		left: 50%;
-		top: 50%;
-		margin: -15px 0 0 -15px;
-	}
-</style>

+ 0 - 296
components/keyboard-package/keyboard-package.vue

@@ -1,296 +0,0 @@
-<template>
-	<uni-popup :custom="true" type="bottom" ref="keyboardPackage">
-		<view class="keyboardbox">
-			<view class="numkeyboard" v-if="type==='number'">
-				<view class="num-area">
-					<view class="row" v-for="(item,index) in numKeybordList" :key="index">
-						<view :class="['item',ite===0?'z':'',(disableDot && ite==='.')?'disabled':'']" v-for="(ite,idx) in item"
-						 hover-class="active" :hover-start-time="0" :hover-stay-time="5" :key="idx" @tap="input(ite)">{{ite}}</view>
-					</view>
-				</view>
-				<view class="btn-area">
-					<view :class="['item','del']" hover-class="active" :hover-start-time="0" :hover-stay-time="5" @tap="deleteVal">
-						删除
-					</view>
-					<view class="confirem item" hover-class="active" :hover-start-time="0" :hover-stay-time="5" @tap="confirm">
-						完成
-					</view>
-				</view>
-			</view>
-
-			<view class="numkeyboard" v-if="type==='idCard'">
-				<view class="num-area">
-					<view class="row" v-for="(item,index) in idCardList" :key="index">
-						<view :class="['item',ite===0?'z':'',(disableDot && ite==='.')?'disabled':'']" v-for="(ite,idx) in item"
-						 hover-class="active" :hover-start-time="0" :hover-stay-time="5" :key="idx" @tap="input(ite)">{{ite}}</view>
-					</view>
-				</view>
-				<view class="btn-area">
-					<view :class="['item','del']" hover-class="active" :hover-start-time="0" :hover-stay-time="5" @tap="deleteVal">
-						删除
-					</view>
-					<view class="confirem item" hover-class="active" :hover-start-time="0" :hover-stay-time="5" @tap="confirm">
-						完成
-					</view>
-				</view>
-			</view>
-
-			<view class="platenumber" v-if="type==='plateNumber'">
-				<view class="header">
-					<view @tap="active=active===1?2:1" hover-class="active" :hover-start-time="0" :hover-stay-time="5">{{active===1?'地区':'车牌号'}}</view>
-					<view hover-class="active" :hover-start-time="0" :hover-stay-time="5" @tap="confirm">完成</view>
-				</view>
-				<view class="main">
-					<view class="normal" v-if="active===1">
-						<view class="row" v-for="(item,index) in EngKeyBoardList" :key="index">
-							<view class="item" v-for="(ite,idx) in item" :key="idx" hover-class="active" :hover-start-time="0" :hover-stay-time="5" @tap="input(ite)">
-								{{ite}}
-							</view>
-							<view class="item img" v-if="index===EngKeyBoardList.length-1" hover-class="active" :hover-start-time="0" :hover-stay-time="5" @tap="deleteVal">
-								<image src="/static/delete.png" mode=""></image>
-							</view>
-						</view>
-					</view>
-					<view class="area" v-if="active===2">
-						<view class="row" v-for="(item,index) in areaList" :key="index">
-							<view class="item" v-for="(ite,idx) in item" :key="idx" hover-class="active" :hover-start-time="0" :hover-stay-time="5" @tap="input(ite)">
-								{{ite}}
-							</view>
-							<view class="item img" v-if="index===EngKeyBoardList.length-1" hover-class="active" :hover-start-time="0" :hover-stay-time="5" @tap="deleteVal">
-								<image src="/static/delete.png" mode=""></image>
-							</view>
-						</view>
-					</view>
-				</view>
-			</view>
-		</view>
-		<view class="safe-area" v-if="safeAreaInsetBottom"></view>
-	</uni-popup>
-</template>
-
-<script>
-	import uniPopup from "@/components/uni-popup/uni-popup.vue"
-	export default {
-		components: {
-			uniPopup
-		},
-		props: {
-			type: {
-				type: String,
-				default: 'number'
-			},
-			safeAreaInsetBottom: { //是否设置安全区
-				type: Boolean,
-				default: false
-			},
-			disableDot: { //数字键盘是否禁止点击.仅type为number生效
-				type: Boolean,
-				default: false
-			}
-		},
-		data() {
-			return {
-				numKeybordList: [
-					[1, 2, 3],
-					[4, 5, 6],
-					[7, 8, 9],
-					[0, '.']
-				],
-				idCardList: [
-					[1, 2, 3],
-					[4, 5, 6],
-					[7, 8, 9],
-					[0, 'X']
-				],
-				areaList: [
-					['京', '沪', '粤', '津', '冀', '豫', '云', '辽', '黑', '湘'],
-					['皖', '鲁', '苏', '浙', '赣', '鄂', '桂', '甘', '晋', '陕'],
-					['蒙', '吉', '闽', '贵', '渝', '川', '青', '琼', '宁'],
-					['藏', '新', '使', '港', '澳', '学']
-				],
-				EngKeyBoardList: [
-					[1, 2, 3, 4, 5, 6, 7, 8, 9, 0],
-					['Q', 'W', 'E', 'R', 'T', 'Y', 'U', 'I', 'O', 'P'],
-					['A', 'S', 'D', 'F', 'G', 'H', 'J', 'K', 'L'],
-					['Z', 'X', 'C', 'V', 'B', 'N', 'M']
-				],
-				active: 1
-			};
-		},
-		methods: {
-			open() {
-				this.$refs.keyboardPackage.open();
-			},
-			confirm() {
-				this.close();
-				this.$emit('onConfirm');
-			},
-			deleteVal() {
-				this.$emit('onDelete');
-			},
-			input(val) {
-				if (val === '.' && this.disableDot) return;
-				this.$emit('onInput', val);
-			},
-			close() {
-				this.$refs.keyboardPackage.close();
-			}
-		}
-	}
-</script>
-
-<style lang="scss" scoped>
-	.keyboardbox {
-		background-color: #FFFFFF;
-
-		.numkeyboard {
-			height: 432rpx;
-			display: flex;
-			background-color: #ebedf0;
-
-			.btn-area {
-				width: 180rpx;
-				height: 100%;
-				display: flex;
-				flex-direction: column;
-
-				.item {
-					width: 100%;
-					display: flex;
-					justify-content: center;
-					align-items: center;
-					flex-grow: 1;
-				}
-
-				.del {
-					background-color: #ebedf0;
-					color: #333;
-
-					&.active {
-						background-color: #f1f3f5;
-					}
-				}
-
-				.confirem {
-					background: linear-gradient(151deg,rgba(255,154,22,1) 0%,rgba(235,109,22,1) 66%,rgba(225,86,22,1) 100%);
-					color: #FFFFFF;
-
-					&.active {
-						background-color: #0570db;
-					}
-				}
-			}
-
-			.num-area {
-				flex-grow: 1;
-				display: flex;
-				flex-wrap: wrap;
-
-				.row {
-					width: 100%;
-					height: 25%;
-					display: flex;
-					margin-top: 1px;
-
-					.item {
-						flex-grow: 1;
-						height: 100%;
-						display: flex;
-						justify-content: center;
-						align-items: center;
-						background-color: #FFFFFF;
-						border-right: 1px solid #ebedf0;
-						width: 33.33%;
-						
-						&.active {
-							background-color: #ebedf0;
-						}
-
-						&.z {
-							flex-grow: 2;
-							width: 66.66%;
-						}
-
-						&.disabled {
-							background: #FFFFFF;
-							color: #B9B9B9;
-						}
-					}
-				}
-
-			}
-		}
-	}
-
-	.safe-area {
-		padding-bottom: 0rpx;
-		padding-bottom: constant(safe-area-inset-bottom);
-		padding-bottom: env(safe-area-inset-bottom);
-	}
-
-	.platenumber {
-		background-color: #f5f5f5;
-
-		.header {
-			height: 76rpx;
-			background-color: #FFFFFF;
-			display: flex;
-			justify-content: space-between;
-			align-items: center;
-			font-size: 28rpx;
-			border-top: 1px solid #f5f5f5;
-
-			&>view {
-				padding: 0 45rpx;
-				color: #00a7ea;
-				height: 100%;
-				display: flex;
-				align-items: center;
-				&.active {
-					background-color: #ebedf0;
-				}
-			}
-		}
-
-		.main {
-			height: 435rpx;
-
-			.row {
-				margin: 13rpx 0;
-				display: flex;
-				justify-content: center;
-				align-items: center;
-
-				.item {
-					width: 56rpx;
-					height: 94rpx;
-					display: flex;
-					justify-content: center;
-					align-items: center;
-					background-color: #FFFFFF;
-					border-radius: 6rpx;
-					margin: 0 7rpx;
-					font-size: 24rpx;
-					&.active {
-						background-color: #ebedf0;
-					}
-
-					&.img {
-						background-color: #c2cacc;
-						width: 94rpx;
-
-						&.active {
-							background-color: #ddd;
-						}
-
-						&>image {
-							width: 49rpx;
-							height: 48rpx;
-						}
-					}
-				}
-			}
-
-		}
-	}
-</style>

+ 0 - 264
components/keyboard/keyboard.vue

@@ -1,264 +0,0 @@
-<template>		
-	<view class='keyboard' @click.stop='_handleKeyPress'>
-	    <view class='key-row'>
-	        <view class='key-cell cell_b' data-num='7'>7</view>
-	        <view class='key-cell cell_b' data-num='8'>8</view>
-	        <view class='key-cell cell_b' data-num='9'>9</view>
-			<view class='key-cell cell_b' data-num='-1'></view>
-	    </view>
-	    <view class='key-row'>
-	        <view class='key-cell cell_b' data-num='4'>4</view>
-	        <view class='key-cell cell_b' data-num='5'>5</view>
-	        <view class='key-cell cell_b' data-num='6'>6</view>
-	        <view class='key-cell cell_b' data-num='-1'></view>
-	    </view>
-	    <view class='key-row'>
-	        <view class='key-cell cell_b' data-num='1'>1</view>
-	        <view class='key-cell cell_b' data-num='2'>2</view>
-	        <view class='key-cell cell_b' data-num='3'>3</view>
-	        <view class='key-cell cell_b' data-num='-1'></view>
-	    </view>
-		<view class="key-zero-and-point">
-		<view class="a cell_b zero"  data-num='0'>0</view>
-		<view class="a cell_b point"  data-num='.'>.</view>
-		 </view>
-		 
-		<view  @touchstart="touchstart" @touchend="touchend" data-num='D' class="key-confirm2">
-			<text data-num='D'>C</text>
-		</view>
-		
-	    <view class='key-confirm' :style="{'background':btnColor}" data-num='S'>
-			<view data-num='S' class="">
-				<view data-num='S' class="title">{{title}}</view>
-			</view>
-		</view>
-	</view>
-</template>
-
-<script>
-	export default{
-		name:"keyBoard",
-		props:{
-			title:{
-				default:'确认',
-				type:String
-			},
-			btnColor:{
-				default:'green',
-			}
-		},
-		data(){
-			return {
-				money:'',
-				Cdel:'',
-				Time:''
-			}
-		},
-		
-		watch:{
-			money(val){
-				this.$emit('update:money',val);			
-			}
-		},
-
-		methods : {
-			touchstart(){
-				 this.Time=setInterval(()=>{
-						console.log(this.money);
-						if(this.money==''){
-							clearInterval();
-						}
-						this.money = this.money.substring(0,this.money.length - 1);
-					},200)
-			},
-			touchend(){
-				clearInterval(this.Time);
-			},
-			//处理按键
-			_handleKeyPress(e) {
-				let num = e.target.dataset.num;
-				//不同按键处理逻辑
-				// -1 代表无效按键,直接返回
-				if (num == -1) return false;
-				switch (String(num)) {
-					//小数点
-					case '.':
-						this._handleDecimalPoint();
-						break;
-					//删除键
-					case 'D':
-						this.$parent.payAmount = ''
-						this._handleDeleteKey();
-						break;
-					//清空键
-					case 'C':
-						this._handleClearKey();
-						break;
-					//确认键
-					case 'S':
-						this._handleConfirmKey();
-						break;
-					default:
-						this._handleNumberKey(num);
-						break;
-				}
-			},
-			//处理小数点函数
-			_handleDecimalPoint() {
-				//如果包含小数点,直接返回
-				if (this.money.indexOf('.') > -1) return false;
-				//如果小数点是第一位,补0
-				if (!this.money.length)
-					this.money = '0.';
-				//如果不是,添加一个小数点
-				else
-					this.money = this.money + '.';
-			},
-			//处理删除键
-			_handleDeleteKey() {
-				let S = this.money;
-				//如果没有输入,直接返回
-				if (!S.length) return false;
-				//否则删除最后一个
-				this.money = S.substring(0, S.length - 1);
-			},
-			
-			//处理清空键
-			_handleClearKey() {
-			
-				this.money = '';
-			},
-			
-			//处理数字
-			_handleNumberKey(num) {
-				if(this.money.length==10){
-					return
-				}
-				let S = this.money;
-				//如果有小数点且小数点位数不小于2
-				if ( S.indexOf('.') > -1 && S.substring(S.indexOf('.') + 1).length < 2)
-					this.money = S + num;
-				//没有小数点
-				if (!(S.indexOf('.') > -1)) {
-					//如果第一位是0,只能输入小数点
-					if (num == 0 && S.length == 0)
-						this.money = '0.';
-					else {
-						if (S.length && Number(S.charAt(0)) === 0) return;
-						this.money = S + num;
-					}
-				}
-			},
-			
-			//提交
-			_handleConfirmKey() {	
-				let S = this.money;
-				//未输入
-				if (!S.length||S==0){
-					 uni.showToast({
-						title: '请输入支付金额',
-						icon:'none',
-						duration: 1000
-					 });
-					return false;
-				}
-				//将 8. 这种转换成 8.00
-				if (S.indexOf('.') > -1 && S.indexOf('.') == (S.length - 1))
-					S = Number(S.substring(0, S.length - 1)).toFixed(2);
-				//保留两位
-				S = Number(S).toFixed(2);
-				this.$emit('confirmEvent',S);    //提交参数
-			}
-		}
-	}
-</script>
-
-<style lang="less" scoped>
-	.cell_b{
-		border-right: 1px solid #d5d5d6;
-		border-bottom: 1px solid #d5d5d6;
-	}
-		
-    .key-container {
-        width: 100%;
-        display: flex; 
-        flex-direction: column;
-    }
- 
-    .keyboard {
-		flex: 1;
-        position: fixed;
-        bottom: 0;
-        left: 0;
-        height: 600rpx;
-        width: 100%;
-		
-		background: #FFFFFF;
-    }
-    .keyboard .key-row {
-        display: flex;
-        display: -webkit-flex;
-        position: relative;
-        height: 150rpx;
-        line-height: 150rpx;
-    }
- 
-    .keyboard .key-cell {
-        flex: 1;
-        -webkit-box-flex: 1;
-		font-size: 60upx;
-		display: flex;
-		justify-content: center;
-		align-items: center;
-    }
-  
-    .keyboard .key-confirm {
-        position: absolute;
-        text-align: center;
-        height: 450rpx;
-        width: 25%;
-        line-height: 450rpx;
-		color: #FFFFFF;
-        z-index: 5;
-        right: 0;
-        bottom: 0;
-		
-		display:flex;
-		justify-content: center;
-		align-items: center;
-    }
-	
-	.keyboard .key-confirm2 {
-	    position: absolute;
-	    height: 150rpx;
-	    width: 25%;
-	    line-height: 150rpx;
-	    z-index: 9999;
-	    right: 0;
-		top: 0;
-		
-			
-		display: flex;
-		justify-content: center;
-		align-items: center;
-	}
-	.key-zero-and-point{
-		 display: flex;height: 150rpx;justify-content: center;align-items: center;width:75%;font-size: 60upx;
-		 .zero{
-			  display: flex;justify-content: center;align-items: center;width: 67.66%;font-size: 60upx;text-align: center;height: 100%;
-		 }
-		 .point{
-			  display: flex;justify-content: center;align-items: center;width: 33.33%;font-size: 60upx;text-align: center;height: 100%;
-		 }
-	}
- .key-cell:active{
-	            color: white;  
-	            background: black;  //黑色
-	            opacity: 0.1;    //这里重要,就是通过这个透明度来设置
-	        }
-.a:active,.key-confirm2:active{
-				            color: white;
-				            background: black;  //黑色
-				            opacity: 0.1;    //这里重要,就是通过这个透明度来设置
-				        }
-</style>

تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 6
components/mix-loading/mix-loading.vue


+ 0 - 12542
components/mpvue-citypicker/city-data/area.js

@@ -1,12542 +0,0 @@
-/* eslint-disable */
-var areaData = [
-  [
-    [{
-        "label": "东城区",
-        "value": "110101"
-      },
-      {
-        "label": "西城区",
-        "value": "110102"
-      },
-      {
-        "label": "朝阳区",
-        "value": "110105"
-      },
-      {
-        "label": "丰台区",
-        "value": "110106"
-      },
-      {
-        "label": "石景山区",
-        "value": "110107"
-      },
-      {
-        "label": "海淀区",
-        "value": "110108"
-      },
-      {
-        "label": "门头沟区",
-        "value": "110109"
-      },
-      {
-        "label": "房山区",
-        "value": "110111"
-      },
-      {
-        "label": "通州区",
-        "value": "110112"
-      },
-      {
-        "label": "顺义区",
-        "value": "110113"
-      },
-      {
-        "label": "昌平区",
-        "value": "110114"
-      },
-      {
-        "label": "大兴区",
-        "value": "110115"
-      },
-      {
-        "label": "怀柔区",
-        "value": "110116"
-      },
-      {
-        "label": "平谷区",
-        "value": "110117"
-      },
-      {
-        "label": "密云区",
-        "value": "110118"
-      },
-      {
-        "label": "延庆区",
-        "value": "110119"
-      }
-    ]
-  ],
-  [
-    [{
-        "label": "和平区",
-        "value": "120101"
-      },
-      {
-        "label": "河东区",
-        "value": "120102"
-      },
-      {
-        "label": "河西区",
-        "value": "120103"
-      },
-      {
-        "label": "南开区",
-        "value": "120104"
-      },
-      {
-        "label": "河北区",
-        "value": "120105"
-      },
-      {
-        "label": "红桥区",
-        "value": "120106"
-      },
-      {
-        "label": "东丽区",
-        "value": "120110"
-      },
-      {
-        "label": "西青区",
-        "value": "120111"
-      },
-      {
-        "label": "津南区",
-        "value": "120112"
-      },
-      {
-        "label": "北辰区",
-        "value": "120113"
-      },
-      {
-        "label": "武清区",
-        "value": "120114"
-      },
-      {
-        "label": "宝坻区",
-        "value": "120115"
-      },
-      {
-        "label": "滨海新区",
-        "value": "120116"
-      },
-      {
-        "label": "宁河区",
-        "value": "120117"
-      },
-      {
-        "label": "静海区",
-        "value": "120118"
-      },
-      {
-        "label": "蓟州区",
-        "value": "120119"
-      }
-    ]
-  ],
-  [
-    [{
-        "label": "长安区",
-        "value": "130102"
-      },
-      {
-        "label": "桥西区",
-        "value": "130104"
-      },
-      {
-        "label": "新华区",
-        "value": "130105"
-      },
-      {
-        "label": "井陉矿区",
-        "value": "130107"
-      },
-      {
-        "label": "裕华区",
-        "value": "130108"
-      },
-      {
-        "label": "藁城区",
-        "value": "130109"
-      },
-      {
-        "label": "鹿泉区",
-        "value": "130110"
-      },
-      {
-        "label": "栾城区",
-        "value": "130111"
-      },
-      {
-        "label": "井陉县",
-        "value": "130121"
-      },
-      {
-        "label": "正定县",
-        "value": "130123"
-      },
-      {
-        "label": "行唐县",
-        "value": "130125"
-      },
-      {
-        "label": "灵寿县",
-        "value": "130126"
-      },
-      {
-        "label": "高邑县",
-        "value": "130127"
-      },
-      {
-        "label": "深泽县",
-        "value": "130128"
-      },
-      {
-        "label": "赞皇县",
-        "value": "130129"
-      },
-      {
-        "label": "无极县",
-        "value": "130130"
-      },
-      {
-        "label": "平山县",
-        "value": "130131"
-      },
-      {
-        "label": "元氏县",
-        "value": "130132"
-      },
-      {
-        "label": "赵县",
-        "value": "130133"
-      },
-      {
-        "label": "石家庄高新技术产业开发区",
-        "value": "130171"
-      },
-      {
-        "label": "石家庄循环化工园区",
-        "value": "130172"
-      },
-      {
-        "label": "辛集市",
-        "value": "130181"
-      },
-      {
-        "label": "晋州市",
-        "value": "130183"
-      },
-      {
-        "label": "新乐市",
-        "value": "130184"
-      }
-    ],
-    [{
-        "label": "路南区",
-        "value": "130202"
-      },
-      {
-        "label": "路北区",
-        "value": "130203"
-      },
-      {
-        "label": "古冶区",
-        "value": "130204"
-      },
-      {
-        "label": "开平区",
-        "value": "130205"
-      },
-      {
-        "label": "丰南区",
-        "value": "130207"
-      },
-      {
-        "label": "丰润区",
-        "value": "130208"
-      },
-      {
-        "label": "曹妃甸区",
-        "value": "130209"
-      },
-      {
-        "label": "滦县",
-        "value": "130223"
-      },
-      {
-        "label": "滦南县",
-        "value": "130224"
-      },
-      {
-        "label": "乐亭县",
-        "value": "130225"
-      },
-      {
-        "label": "迁西县",
-        "value": "130227"
-      },
-      {
-        "label": "玉田县",
-        "value": "130229"
-      },
-      {
-        "label": "唐山市芦台经济技术开发区",
-        "value": "130271"
-      },
-      {
-        "label": "唐山市汉沽管理区",
-        "value": "130272"
-      },
-      {
-        "label": "唐山高新技术产业开发区",
-        "value": "130273"
-      },
-      {
-        "label": "河北唐山海港经济开发区",
-        "value": "130274"
-      },
-      {
-        "label": "遵化市",
-        "value": "130281"
-      },
-      {
-        "label": "迁安市",
-        "value": "130283"
-      }
-    ],
-    [{
-        "label": "海港区",
-        "value": "130302"
-      },
-      {
-        "label": "山海关区",
-        "value": "130303"
-      },
-      {
-        "label": "北戴河区",
-        "value": "130304"
-      },
-      {
-        "label": "抚宁区",
-        "value": "130306"
-      },
-      {
-        "label": "青龙满族自治县",
-        "value": "130321"
-      },
-      {
-        "label": "昌黎县",
-        "value": "130322"
-      },
-      {
-        "label": "卢龙县",
-        "value": "130324"
-      },
-      {
-        "label": "秦皇岛市经济技术开发区",
-        "value": "130371"
-      },
-      {
-        "label": "北戴河新区",
-        "value": "130372"
-      }
-    ],
-    [{
-        "label": "邯山区",
-        "value": "130402"
-      },
-      {
-        "label": "丛台区",
-        "value": "130403"
-      },
-      {
-        "label": "复兴区",
-        "value": "130404"
-      },
-      {
-        "label": "峰峰矿区",
-        "value": "130406"
-      },
-      {
-        "label": "肥乡区",
-        "value": "130407"
-      },
-      {
-        "label": "永年区",
-        "value": "130408"
-      },
-      {
-        "label": "临漳县",
-        "value": "130423"
-      },
-      {
-        "label": "成安县",
-        "value": "130424"
-      },
-      {
-        "label": "大名县",
-        "value": "130425"
-      },
-      {
-        "label": "涉县",
-        "value": "130426"
-      },
-      {
-        "label": "磁县",
-        "value": "130427"
-      },
-      {
-        "label": "邱县",
-        "value": "130430"
-      },
-      {
-        "label": "鸡泽县",
-        "value": "130431"
-      },
-      {
-        "label": "广平县",
-        "value": "130432"
-      },
-      {
-        "label": "馆陶县",
-        "value": "130433"
-      },
-      {
-        "label": "魏县",
-        "value": "130434"
-      },
-      {
-        "label": "曲周县",
-        "value": "130435"
-      },
-      {
-        "label": "邯郸经济技术开发区",
-        "value": "130471"
-      },
-      {
-        "label": "邯郸冀南新区",
-        "value": "130473"
-      },
-      {
-        "label": "武安市",
-        "value": "130481"
-      }
-    ],
-    [{
-        "label": "桥东区",
-        "value": "130502"
-      },
-      {
-        "label": "桥西区",
-        "value": "130503"
-      },
-      {
-        "label": "邢台县",
-        "value": "130521"
-      },
-      {
-        "label": "临城县",
-        "value": "130522"
-      },
-      {
-        "label": "内丘县",
-        "value": "130523"
-      },
-      {
-        "label": "柏乡县",
-        "value": "130524"
-      },
-      {
-        "label": "隆尧县",
-        "value": "130525"
-      },
-      {
-        "label": "任县",
-        "value": "130526"
-      },
-      {
-        "label": "南和县",
-        "value": "130527"
-      },
-      {
-        "label": "宁晋县",
-        "value": "130528"
-      },
-      {
-        "label": "巨鹿县",
-        "value": "130529"
-      },
-      {
-        "label": "新河县",
-        "value": "130530"
-      },
-      {
-        "label": "广宗县",
-        "value": "130531"
-      },
-      {
-        "label": "平乡县",
-        "value": "130532"
-      },
-      {
-        "label": "威县",
-        "value": "130533"
-      },
-      {
-        "label": "清河县",
-        "value": "130534"
-      },
-      {
-        "label": "临西县",
-        "value": "130535"
-      },
-      {
-        "label": "河北邢台经济开发区",
-        "value": "130571"
-      },
-      {
-        "label": "南宫市",
-        "value": "130581"
-      },
-      {
-        "label": "沙河市",
-        "value": "130582"
-      }
-    ],
-    [{
-        "label": "竞秀区",
-        "value": "130602"
-      },
-      {
-        "label": "莲池区",
-        "value": "130606"
-      },
-      {
-        "label": "满城区",
-        "value": "130607"
-      },
-      {
-        "label": "清苑区",
-        "value": "130608"
-      },
-      {
-        "label": "徐水区",
-        "value": "130609"
-      },
-      {
-        "label": "涞水县",
-        "value": "130623"
-      },
-      {
-        "label": "阜平县",
-        "value": "130624"
-      },
-      {
-        "label": "定兴县",
-        "value": "130626"
-      },
-      {
-        "label": "唐县",
-        "value": "130627"
-      },
-      {
-        "label": "高阳县",
-        "value": "130628"
-      },
-      {
-        "label": "容城县",
-        "value": "130629"
-      },
-      {
-        "label": "涞源县",
-        "value": "130630"
-      },
-      {
-        "label": "望都县",
-        "value": "130631"
-      },
-      {
-        "label": "安新县",
-        "value": "130632"
-      },
-      {
-        "label": "易县",
-        "value": "130633"
-      },
-      {
-        "label": "曲阳县",
-        "value": "130634"
-      },
-      {
-        "label": "蠡县",
-        "value": "130635"
-      },
-      {
-        "label": "顺平县",
-        "value": "130636"
-      },
-      {
-        "label": "博野县",
-        "value": "130637"
-      },
-      {
-        "label": "雄县",
-        "value": "130638"
-      },
-      {
-        "label": "保定高新技术产业开发区",
-        "value": "130671"
-      },
-      {
-        "label": "保定白沟新城",
-        "value": "130672"
-      },
-      {
-        "label": "涿州市",
-        "value": "130681"
-      },
-      {
-        "label": "定州市",
-        "value": "130682"
-      },
-      {
-        "label": "安国市",
-        "value": "130683"
-      },
-      {
-        "label": "高碑店市",
-        "value": "130684"
-      }
-    ],
-    [{
-        "label": "桥东区",
-        "value": "130702"
-      },
-      {
-        "label": "桥西区",
-        "value": "130703"
-      },
-      {
-        "label": "宣化区",
-        "value": "130705"
-      },
-      {
-        "label": "下花园区",
-        "value": "130706"
-      },
-      {
-        "label": "万全区",
-        "value": "130708"
-      },
-      {
-        "label": "崇礼区",
-        "value": "130709"
-      },
-      {
-        "label": "张北县",
-        "value": "130722"
-      },
-      {
-        "label": "康保县",
-        "value": "130723"
-      },
-      {
-        "label": "沽源县",
-        "value": "130724"
-      },
-      {
-        "label": "尚义县",
-        "value": "130725"
-      },
-      {
-        "label": "蔚县",
-        "value": "130726"
-      },
-      {
-        "label": "阳原县",
-        "value": "130727"
-      },
-      {
-        "label": "怀安县",
-        "value": "130728"
-      },
-      {
-        "label": "怀来县",
-        "value": "130730"
-      },
-      {
-        "label": "涿鹿县",
-        "value": "130731"
-      },
-      {
-        "label": "赤城县",
-        "value": "130732"
-      },
-      {
-        "label": "张家口市高新技术产业开发区",
-        "value": "130771"
-      },
-      {
-        "label": "张家口市察北管理区",
-        "value": "130772"
-      },
-      {
-        "label": "张家口市塞北管理区",
-        "value": "130773"
-      }
-    ],
-    [{
-        "label": "双桥区",
-        "value": "130802"
-      },
-      {
-        "label": "双滦区",
-        "value": "130803"
-      },
-      {
-        "label": "鹰手营子矿区",
-        "value": "130804"
-      },
-      {
-        "label": "承德县",
-        "value": "130821"
-      },
-      {
-        "label": "兴隆县",
-        "value": "130822"
-      },
-      {
-        "label": "滦平县",
-        "value": "130824"
-      },
-      {
-        "label": "隆化县",
-        "value": "130825"
-      },
-      {
-        "label": "丰宁满族自治县",
-        "value": "130826"
-      },
-      {
-        "label": "宽城满族自治县",
-        "value": "130827"
-      },
-      {
-        "label": "围场满族蒙古族自治县",
-        "value": "130828"
-      },
-      {
-        "label": "承德高新技术产业开发区",
-        "value": "130871"
-      },
-      {
-        "label": "平泉市",
-        "value": "130881"
-      }
-    ],
-    [{
-        "label": "新华区",
-        "value": "130902"
-      },
-      {
-        "label": "运河区",
-        "value": "130903"
-      },
-      {
-        "label": "沧县",
-        "value": "130921"
-      },
-      {
-        "label": "青县",
-        "value": "130922"
-      },
-      {
-        "label": "东光县",
-        "value": "130923"
-      },
-      {
-        "label": "海兴县",
-        "value": "130924"
-      },
-      {
-        "label": "盐山县",
-        "value": "130925"
-      },
-      {
-        "label": "肃宁县",
-        "value": "130926"
-      },
-      {
-        "label": "南皮县",
-        "value": "130927"
-      },
-      {
-        "label": "吴桥县",
-        "value": "130928"
-      },
-      {
-        "label": "献县",
-        "value": "130929"
-      },
-      {
-        "label": "孟村回族自治县",
-        "value": "130930"
-      },
-      {
-        "label": "河北沧州经济开发区",
-        "value": "130971"
-      },
-      {
-        "label": "沧州高新技术产业开发区",
-        "value": "130972"
-      },
-      {
-        "label": "沧州渤海新区",
-        "value": "130973"
-      },
-      {
-        "label": "泊头市",
-        "value": "130981"
-      },
-      {
-        "label": "任丘市",
-        "value": "130982"
-      },
-      {
-        "label": "黄骅市",
-        "value": "130983"
-      },
-      {
-        "label": "河间市",
-        "value": "130984"
-      }
-    ],
-    [{
-        "label": "安次区",
-        "value": "131002"
-      },
-      {
-        "label": "广阳区",
-        "value": "131003"
-      },
-      {
-        "label": "固安县",
-        "value": "131022"
-      },
-      {
-        "label": "永清县",
-        "value": "131023"
-      },
-      {
-        "label": "香河县",
-        "value": "131024"
-      },
-      {
-        "label": "大城县",
-        "value": "131025"
-      },
-      {
-        "label": "文安县",
-        "value": "131026"
-      },
-      {
-        "label": "大厂回族自治县",
-        "value": "131028"
-      },
-      {
-        "label": "廊坊经济技术开发区",
-        "value": "131071"
-      },
-      {
-        "label": "霸州市",
-        "value": "131081"
-      },
-      {
-        "label": "三河市",
-        "value": "131082"
-      }
-    ],
-    [{
-        "label": "桃城区",
-        "value": "131102"
-      },
-      {
-        "label": "冀州区",
-        "value": "131103"
-      },
-      {
-        "label": "枣强县",
-        "value": "131121"
-      },
-      {
-        "label": "武邑县",
-        "value": "131122"
-      },
-      {
-        "label": "武强县",
-        "value": "131123"
-      },
-      {
-        "label": "饶阳县",
-        "value": "131124"
-      },
-      {
-        "label": "安平县",
-        "value": "131125"
-      },
-      {
-        "label": "故城县",
-        "value": "131126"
-      },
-      {
-        "label": "景县",
-        "value": "131127"
-      },
-      {
-        "label": "阜城县",
-        "value": "131128"
-      },
-      {
-        "label": "河北衡水经济开发区",
-        "value": "131171"
-      },
-      {
-        "label": "衡水滨湖新区",
-        "value": "131172"
-      },
-      {
-        "label": "深州市",
-        "value": "131182"
-      }
-    ]
-  ],
-  [
-    [{
-        "label": "小店区",
-        "value": "140105"
-      },
-      {
-        "label": "迎泽区",
-        "value": "140106"
-      },
-      {
-        "label": "杏花岭区",
-        "value": "140107"
-      },
-      {
-        "label": "尖草坪区",
-        "value": "140108"
-      },
-      {
-        "label": "万柏林区",
-        "value": "140109"
-      },
-      {
-        "label": "晋源区",
-        "value": "140110"
-      },
-      {
-        "label": "清徐县",
-        "value": "140121"
-      },
-      {
-        "label": "阳曲县",
-        "value": "140122"
-      },
-      {
-        "label": "娄烦县",
-        "value": "140123"
-      },
-      {
-        "label": "山西转型综合改革示范区",
-        "value": "140171"
-      },
-      {
-        "label": "古交市",
-        "value": "140181"
-      }
-    ],
-    [{
-        "label": "城区",
-        "value": "140202"
-      },
-      {
-        "label": "矿区",
-        "value": "140203"
-      },
-      {
-        "label": "南郊区",
-        "value": "140211"
-      },
-      {
-        "label": "新荣区",
-        "value": "140212"
-      },
-      {
-        "label": "阳高县",
-        "value": "140221"
-      },
-      {
-        "label": "天镇县",
-        "value": "140222"
-      },
-      {
-        "label": "广灵县",
-        "value": "140223"
-      },
-      {
-        "label": "灵丘县",
-        "value": "140224"
-      },
-      {
-        "label": "浑源县",
-        "value": "140225"
-      },
-      {
-        "label": "左云县",
-        "value": "140226"
-      },
-      {
-        "label": "大同县",
-        "value": "140227"
-      },
-      {
-        "label": "山西大同经济开发区",
-        "value": "140271"
-      }
-    ],
-    [{
-        "label": "城区",
-        "value": "140302"
-      },
-      {
-        "label": "矿区",
-        "value": "140303"
-      },
-      {
-        "label": "郊区",
-        "value": "140311"
-      },
-      {
-        "label": "平定县",
-        "value": "140321"
-      },
-      {
-        "label": "盂县",
-        "value": "140322"
-      },
-      {
-        "label": "山西阳泉经济开发区",
-        "value": "140371"
-      }
-    ],
-    [{
-        "label": "城区",
-        "value": "140402"
-      },
-      {
-        "label": "郊区",
-        "value": "140411"
-      },
-      {
-        "label": "长治县",
-        "value": "140421"
-      },
-      {
-        "label": "襄垣县",
-        "value": "140423"
-      },
-      {
-        "label": "屯留县",
-        "value": "140424"
-      },
-      {
-        "label": "平顺县",
-        "value": "140425"
-      },
-      {
-        "label": "黎城县",
-        "value": "140426"
-      },
-      {
-        "label": "壶关县",
-        "value": "140427"
-      },
-      {
-        "label": "长子县",
-        "value": "140428"
-      },
-      {
-        "label": "武乡县",
-        "value": "140429"
-      },
-      {
-        "label": "沁县",
-        "value": "140430"
-      },
-      {
-        "label": "沁源县",
-        "value": "140431"
-      },
-      {
-        "label": "山西长治高新技术产业园区",
-        "value": "140471"
-      },
-      {
-        "label": "潞城市",
-        "value": "140481"
-      }
-    ],
-    [{
-        "label": "城区",
-        "value": "140502"
-      },
-      {
-        "label": "沁水县",
-        "value": "140521"
-      },
-      {
-        "label": "阳城县",
-        "value": "140522"
-      },
-      {
-        "label": "陵川县",
-        "value": "140524"
-      },
-      {
-        "label": "泽州县",
-        "value": "140525"
-      },
-      {
-        "label": "高平市",
-        "value": "140581"
-      }
-    ],
-    [{
-        "label": "朔城区",
-        "value": "140602"
-      },
-      {
-        "label": "平鲁区",
-        "value": "140603"
-      },
-      {
-        "label": "山阴县",
-        "value": "140621"
-      },
-      {
-        "label": "应县",
-        "value": "140622"
-      },
-      {
-        "label": "右玉县",
-        "value": "140623"
-      },
-      {
-        "label": "怀仁县",
-        "value": "140624"
-      },
-      {
-        "label": "山西朔州经济开发区",
-        "value": "140671"
-      }
-    ],
-    [{
-        "label": "榆次区",
-        "value": "140702"
-      },
-      {
-        "label": "榆社县",
-        "value": "140721"
-      },
-      {
-        "label": "左权县",
-        "value": "140722"
-      },
-      {
-        "label": "和顺县",
-        "value": "140723"
-      },
-      {
-        "label": "昔阳县",
-        "value": "140724"
-      },
-      {
-        "label": "寿阳县",
-        "value": "140725"
-      },
-      {
-        "label": "太谷县",
-        "value": "140726"
-      },
-      {
-        "label": "祁县",
-        "value": "140727"
-      },
-      {
-        "label": "平遥县",
-        "value": "140728"
-      },
-      {
-        "label": "灵石县",
-        "value": "140729"
-      },
-      {
-        "label": "介休市",
-        "value": "140781"
-      }
-    ],
-    [{
-        "label": "盐湖区",
-        "value": "140802"
-      },
-      {
-        "label": "临猗县",
-        "value": "140821"
-      },
-      {
-        "label": "万荣县",
-        "value": "140822"
-      },
-      {
-        "label": "闻喜县",
-        "value": "140823"
-      },
-      {
-        "label": "稷山县",
-        "value": "140824"
-      },
-      {
-        "label": "新绛县",
-        "value": "140825"
-      },
-      {
-        "label": "绛县",
-        "value": "140826"
-      },
-      {
-        "label": "垣曲县",
-        "value": "140827"
-      },
-      {
-        "label": "夏县",
-        "value": "140828"
-      },
-      {
-        "label": "平陆县",
-        "value": "140829"
-      },
-      {
-        "label": "芮城县",
-        "value": "140830"
-      },
-      {
-        "label": "永济市",
-        "value": "140881"
-      },
-      {
-        "label": "河津市",
-        "value": "140882"
-      }
-    ],
-    [{
-        "label": "忻府区",
-        "value": "140902"
-      },
-      {
-        "label": "定襄县",
-        "value": "140921"
-      },
-      {
-        "label": "五台县",
-        "value": "140922"
-      },
-      {
-        "label": "代县",
-        "value": "140923"
-      },
-      {
-        "label": "繁峙县",
-        "value": "140924"
-      },
-      {
-        "label": "宁武县",
-        "value": "140925"
-      },
-      {
-        "label": "静乐县",
-        "value": "140926"
-      },
-      {
-        "label": "神池县",
-        "value": "140927"
-      },
-      {
-        "label": "五寨县",
-        "value": "140928"
-      },
-      {
-        "label": "岢岚县",
-        "value": "140929"
-      },
-      {
-        "label": "河曲县",
-        "value": "140930"
-      },
-      {
-        "label": "保德县",
-        "value": "140931"
-      },
-      {
-        "label": "偏关县",
-        "value": "140932"
-      },
-      {
-        "label": "五台山风景名胜区",
-        "value": "140971"
-      },
-      {
-        "label": "原平市",
-        "value": "140981"
-      }
-    ],
-    [{
-        "label": "尧都区",
-        "value": "141002"
-      },
-      {
-        "label": "曲沃县",
-        "value": "141021"
-      },
-      {
-        "label": "翼城县",
-        "value": "141022"
-      },
-      {
-        "label": "襄汾县",
-        "value": "141023"
-      },
-      {
-        "label": "洪洞县",
-        "value": "141024"
-      },
-      {
-        "label": "古县",
-        "value": "141025"
-      },
-      {
-        "label": "安泽县",
-        "value": "141026"
-      },
-      {
-        "label": "浮山县",
-        "value": "141027"
-      },
-      {
-        "label": "吉县",
-        "value": "141028"
-      },
-      {
-        "label": "乡宁县",
-        "value": "141029"
-      },
-      {
-        "label": "大宁县",
-        "value": "141030"
-      },
-      {
-        "label": "隰县",
-        "value": "141031"
-      },
-      {
-        "label": "永和县",
-        "value": "141032"
-      },
-      {
-        "label": "蒲县",
-        "value": "141033"
-      },
-      {
-        "label": "汾西县",
-        "value": "141034"
-      },
-      {
-        "label": "侯马市",
-        "value": "141081"
-      },
-      {
-        "label": "霍州市",
-        "value": "141082"
-      }
-    ],
-    [{
-        "label": "离石区",
-        "value": "141102"
-      },
-      {
-        "label": "文水县",
-        "value": "141121"
-      },
-      {
-        "label": "交城县",
-        "value": "141122"
-      },
-      {
-        "label": "兴县",
-        "value": "141123"
-      },
-      {
-        "label": "临县",
-        "value": "141124"
-      },
-      {
-        "label": "柳林县",
-        "value": "141125"
-      },
-      {
-        "label": "石楼县",
-        "value": "141126"
-      },
-      {
-        "label": "岚县",
-        "value": "141127"
-      },
-      {
-        "label": "方山县",
-        "value": "141128"
-      },
-      {
-        "label": "中阳县",
-        "value": "141129"
-      },
-      {
-        "label": "交口县",
-        "value": "141130"
-      },
-      {
-        "label": "孝义市",
-        "value": "141181"
-      },
-      {
-        "label": "汾阳市",
-        "value": "141182"
-      }
-    ]
-  ],
-  [
-    [{
-        "label": "新城区",
-        "value": "150102"
-      },
-      {
-        "label": "回民区",
-        "value": "150103"
-      },
-      {
-        "label": "玉泉区",
-        "value": "150104"
-      },
-      {
-        "label": "赛罕区",
-        "value": "150105"
-      },
-      {
-        "label": "土默特左旗",
-        "value": "150121"
-      },
-      {
-        "label": "托克托县",
-        "value": "150122"
-      },
-      {
-        "label": "和林格尔县",
-        "value": "150123"
-      },
-      {
-        "label": "清水河县",
-        "value": "150124"
-      },
-      {
-        "label": "武川县",
-        "value": "150125"
-      },
-      {
-        "label": "呼和浩特金海工业园区",
-        "value": "150171"
-      },
-      {
-        "label": "呼和浩特经济技术开发区",
-        "value": "150172"
-      }
-    ],
-    [{
-        "label": "东河区",
-        "value": "150202"
-      },
-      {
-        "label": "昆都仑区",
-        "value": "150203"
-      },
-      {
-        "label": "青山区",
-        "value": "150204"
-      },
-      {
-        "label": "石拐区",
-        "value": "150205"
-      },
-      {
-        "label": "白云鄂博矿区",
-        "value": "150206"
-      },
-      {
-        "label": "九原区",
-        "value": "150207"
-      },
-      {
-        "label": "土默特右旗",
-        "value": "150221"
-      },
-      {
-        "label": "固阳县",
-        "value": "150222"
-      },
-      {
-        "label": "达尔罕茂明安联合旗",
-        "value": "150223"
-      },
-      {
-        "label": "包头稀土高新技术产业开发区",
-        "value": "150271"
-      }
-    ],
-    [{
-        "label": "海勃湾区",
-        "value": "150302"
-      },
-      {
-        "label": "海南区",
-        "value": "150303"
-      },
-      {
-        "label": "乌达区",
-        "value": "150304"
-      }
-    ],
-    [{
-        "label": "红山区",
-        "value": "150402"
-      },
-      {
-        "label": "元宝山区",
-        "value": "150403"
-      },
-      {
-        "label": "松山区",
-        "value": "150404"
-      },
-      {
-        "label": "阿鲁科尔沁旗",
-        "value": "150421"
-      },
-      {
-        "label": "巴林左旗",
-        "value": "150422"
-      },
-      {
-        "label": "巴林右旗",
-        "value": "150423"
-      },
-      {
-        "label": "林西县",
-        "value": "150424"
-      },
-      {
-        "label": "克什克腾旗",
-        "value": "150425"
-      },
-      {
-        "label": "翁牛特旗",
-        "value": "150426"
-      },
-      {
-        "label": "喀喇沁旗",
-        "value": "150428"
-      },
-      {
-        "label": "宁城县",
-        "value": "150429"
-      },
-      {
-        "label": "敖汉旗",
-        "value": "150430"
-      }
-    ],
-    [{
-        "label": "科尔沁区",
-        "value": "150502"
-      },
-      {
-        "label": "科尔沁左翼中旗",
-        "value": "150521"
-      },
-      {
-        "label": "科尔沁左翼后旗",
-        "value": "150522"
-      },
-      {
-        "label": "开鲁县",
-        "value": "150523"
-      },
-      {
-        "label": "库伦旗",
-        "value": "150524"
-      },
-      {
-        "label": "奈曼旗",
-        "value": "150525"
-      },
-      {
-        "label": "扎鲁特旗",
-        "value": "150526"
-      },
-      {
-        "label": "通辽经济技术开发区",
-        "value": "150571"
-      },
-      {
-        "label": "霍林郭勒市",
-        "value": "150581"
-      }
-    ],
-    [{
-        "label": "东胜区",
-        "value": "150602"
-      },
-      {
-        "label": "康巴什区",
-        "value": "150603"
-      },
-      {
-        "label": "达拉特旗",
-        "value": "150621"
-      },
-      {
-        "label": "准格尔旗",
-        "value": "150622"
-      },
-      {
-        "label": "鄂托克前旗",
-        "value": "150623"
-      },
-      {
-        "label": "鄂托克旗",
-        "value": "150624"
-      },
-      {
-        "label": "杭锦旗",
-        "value": "150625"
-      },
-      {
-        "label": "乌审旗",
-        "value": "150626"
-      },
-      {
-        "label": "伊金霍洛旗",
-        "value": "150627"
-      }
-    ],
-    [{
-        "label": "海拉尔区",
-        "value": "150702"
-      },
-      {
-        "label": "扎赉诺尔区",
-        "value": "150703"
-      },
-      {
-        "label": "阿荣旗",
-        "value": "150721"
-      },
-      {
-        "label": "莫力达瓦达斡尔族自治旗",
-        "value": "150722"
-      },
-      {
-        "label": "鄂伦春自治旗",
-        "value": "150723"
-      },
-      {
-        "label": "鄂温克族自治旗",
-        "value": "150724"
-      },
-      {
-        "label": "陈巴尔虎旗",
-        "value": "150725"
-      },
-      {
-        "label": "新巴尔虎左旗",
-        "value": "150726"
-      },
-      {
-        "label": "新巴尔虎右旗",
-        "value": "150727"
-      },
-      {
-        "label": "满洲里市",
-        "value": "150781"
-      },
-      {
-        "label": "牙克石市",
-        "value": "150782"
-      },
-      {
-        "label": "扎兰屯市",
-        "value": "150783"
-      },
-      {
-        "label": "额尔古纳市",
-        "value": "150784"
-      },
-      {
-        "label": "根河市",
-        "value": "150785"
-      }
-    ],
-    [{
-        "label": "临河区",
-        "value": "150802"
-      },
-      {
-        "label": "五原县",
-        "value": "150821"
-      },
-      {
-        "label": "磴口县",
-        "value": "150822"
-      },
-      {
-        "label": "乌拉特前旗",
-        "value": "150823"
-      },
-      {
-        "label": "乌拉特中旗",
-        "value": "150824"
-      },
-      {
-        "label": "乌拉特后旗",
-        "value": "150825"
-      },
-      {
-        "label": "杭锦后旗",
-        "value": "150826"
-      }
-    ],
-    [{
-        "label": "集宁区",
-        "value": "150902"
-      },
-      {
-        "label": "卓资县",
-        "value": "150921"
-      },
-      {
-        "label": "化德县",
-        "value": "150922"
-      },
-      {
-        "label": "商都县",
-        "value": "150923"
-      },
-      {
-        "label": "兴和县",
-        "value": "150924"
-      },
-      {
-        "label": "凉城县",
-        "value": "150925"
-      },
-      {
-        "label": "察哈尔右翼前旗",
-        "value": "150926"
-      },
-      {
-        "label": "察哈尔右翼中旗",
-        "value": "150927"
-      },
-      {
-        "label": "察哈尔右翼后旗",
-        "value": "150928"
-      },
-      {
-        "label": "四子王旗",
-        "value": "150929"
-      },
-      {
-        "label": "丰镇市",
-        "value": "150981"
-      }
-    ],
-    [{
-        "label": "乌兰浩特市",
-        "value": "152201"
-      },
-      {
-        "label": "阿尔山市",
-        "value": "152202"
-      },
-      {
-        "label": "科尔沁右翼前旗",
-        "value": "152221"
-      },
-      {
-        "label": "科尔沁右翼中旗",
-        "value": "152222"
-      },
-      {
-        "label": "扎赉特旗",
-        "value": "152223"
-      },
-      {
-        "label": "突泉县",
-        "value": "152224"
-      }
-    ],
-    [{
-        "label": "二连浩特市",
-        "value": "152501"
-      },
-      {
-        "label": "锡林浩特市",
-        "value": "152502"
-      },
-      {
-        "label": "阿巴嘎旗",
-        "value": "152522"
-      },
-      {
-        "label": "苏尼特左旗",
-        "value": "152523"
-      },
-      {
-        "label": "苏尼特右旗",
-        "value": "152524"
-      },
-      {
-        "label": "东乌珠穆沁旗",
-        "value": "152525"
-      },
-      {
-        "label": "西乌珠穆沁旗",
-        "value": "152526"
-      },
-      {
-        "label": "太仆寺旗",
-        "value": "152527"
-      },
-      {
-        "label": "镶黄旗",
-        "value": "152528"
-      },
-      {
-        "label": "正镶白旗",
-        "value": "152529"
-      },
-      {
-        "label": "正蓝旗",
-        "value": "152530"
-      },
-      {
-        "label": "多伦县",
-        "value": "152531"
-      },
-      {
-        "label": "乌拉盖管委会",
-        "value": "152571"
-      }
-    ],
-    [{
-        "label": "阿拉善左旗",
-        "value": "152921"
-      },
-      {
-        "label": "阿拉善右旗",
-        "value": "152922"
-      },
-      {
-        "label": "额济纳旗",
-        "value": "152923"
-      },
-      {
-        "label": "内蒙古阿拉善经济开发区",
-        "value": "152971"
-      }
-    ]
-  ],
-  [
-    [{
-        "label": "和平区",
-        "value": "210102"
-      },
-      {
-        "label": "沈河区",
-        "value": "210103"
-      },
-      {
-        "label": "大东区",
-        "value": "210104"
-      },
-      {
-        "label": "皇姑区",
-        "value": "210105"
-      },
-      {
-        "label": "铁西区",
-        "value": "210106"
-      },
-      {
-        "label": "苏家屯区",
-        "value": "210111"
-      },
-      {
-        "label": "浑南区",
-        "value": "210112"
-      },
-      {
-        "label": "沈北新区",
-        "value": "210113"
-      },
-      {
-        "label": "于洪区",
-        "value": "210114"
-      },
-      {
-        "label": "辽中区",
-        "value": "210115"
-      },
-      {
-        "label": "康平县",
-        "value": "210123"
-      },
-      {
-        "label": "法库县",
-        "value": "210124"
-      },
-      {
-        "label": "新民市",
-        "value": "210181"
-      }
-    ],
-    [{
-        "label": "中山区",
-        "value": "210202"
-      },
-      {
-        "label": "西岗区",
-        "value": "210203"
-      },
-      {
-        "label": "沙河口区",
-        "value": "210204"
-      },
-      {
-        "label": "甘井子区",
-        "value": "210211"
-      },
-      {
-        "label": "旅顺口区",
-        "value": "210212"
-      },
-      {
-        "label": "金州区",
-        "value": "210213"
-      },
-      {
-        "label": "普兰店区",
-        "value": "210214"
-      },
-      {
-        "label": "长海县",
-        "value": "210224"
-      },
-      {
-        "label": "瓦房店市",
-        "value": "210281"
-      },
-      {
-        "label": "庄河市",
-        "value": "210283"
-      }
-    ],
-    [{
-        "label": "铁东区",
-        "value": "210302"
-      },
-      {
-        "label": "铁西区",
-        "value": "210303"
-      },
-      {
-        "label": "立山区",
-        "value": "210304"
-      },
-      {
-        "label": "千山区",
-        "value": "210311"
-      },
-      {
-        "label": "台安县",
-        "value": "210321"
-      },
-      {
-        "label": "岫岩满族自治县",
-        "value": "210323"
-      },
-      {
-        "label": "海城市",
-        "value": "210381"
-      }
-    ],
-    [{
-        "label": "新抚区",
-        "value": "210402"
-      },
-      {
-        "label": "东洲区",
-        "value": "210403"
-      },
-      {
-        "label": "望花区",
-        "value": "210404"
-      },
-      {
-        "label": "顺城区",
-        "value": "210411"
-      },
-      {
-        "label": "抚顺县",
-        "value": "210421"
-      },
-      {
-        "label": "新宾满族自治县",
-        "value": "210422"
-      },
-      {
-        "label": "清原满族自治县",
-        "value": "210423"
-      }
-    ],
-    [{
-        "label": "平山区",
-        "value": "210502"
-      },
-      {
-        "label": "溪湖区",
-        "value": "210503"
-      },
-      {
-        "label": "明山区",
-        "value": "210504"
-      },
-      {
-        "label": "南芬区",
-        "value": "210505"
-      },
-      {
-        "label": "本溪满族自治县",
-        "value": "210521"
-      },
-      {
-        "label": "桓仁满族自治县",
-        "value": "210522"
-      }
-    ],
-    [{
-        "label": "元宝区",
-        "value": "210602"
-      },
-      {
-        "label": "振兴区",
-        "value": "210603"
-      },
-      {
-        "label": "振安区",
-        "value": "210604"
-      },
-      {
-        "label": "宽甸满族自治县",
-        "value": "210624"
-      },
-      {
-        "label": "东港市",
-        "value": "210681"
-      },
-      {
-        "label": "凤城市",
-        "value": "210682"
-      }
-    ],
-    [{
-        "label": "古塔区",
-        "value": "210702"
-      },
-      {
-        "label": "凌河区",
-        "value": "210703"
-      },
-      {
-        "label": "太和区",
-        "value": "210711"
-      },
-      {
-        "label": "黑山县",
-        "value": "210726"
-      },
-      {
-        "label": "义县",
-        "value": "210727"
-      },
-      {
-        "label": "凌海市",
-        "value": "210781"
-      },
-      {
-        "label": "北镇市",
-        "value": "210782"
-      }
-    ],
-    [{
-        "label": "站前区",
-        "value": "210802"
-      },
-      {
-        "label": "西市区",
-        "value": "210803"
-      },
-      {
-        "label": "鲅鱼圈区",
-        "value": "210804"
-      },
-      {
-        "label": "老边区",
-        "value": "210811"
-      },
-      {
-        "label": "盖州市",
-        "value": "210881"
-      },
-      {
-        "label": "大石桥市",
-        "value": "210882"
-      }
-    ],
-    [{
-        "label": "海州区",
-        "value": "210902"
-      },
-      {
-        "label": "新邱区",
-        "value": "210903"
-      },
-      {
-        "label": "太平区",
-        "value": "210904"
-      },
-      {
-        "label": "清河门区",
-        "value": "210905"
-      },
-      {
-        "label": "细河区",
-        "value": "210911"
-      },
-      {
-        "label": "阜新蒙古族自治县",
-        "value": "210921"
-      },
-      {
-        "label": "彰武县",
-        "value": "210922"
-      }
-    ],
-    [{
-        "label": "白塔区",
-        "value": "211002"
-      },
-      {
-        "label": "文圣区",
-        "value": "211003"
-      },
-      {
-        "label": "宏伟区",
-        "value": "211004"
-      },
-      {
-        "label": "弓长岭区",
-        "value": "211005"
-      },
-      {
-        "label": "太子河区",
-        "value": "211011"
-      },
-      {
-        "label": "辽阳县",
-        "value": "211021"
-      },
-      {
-        "label": "灯塔市",
-        "value": "211081"
-      }
-    ],
-    [{
-        "label": "双台子区",
-        "value": "211102"
-      },
-      {
-        "label": "兴隆台区",
-        "value": "211103"
-      },
-      {
-        "label": "大洼区",
-        "value": "211104"
-      },
-      {
-        "label": "盘山县",
-        "value": "211122"
-      }
-    ],
-    [{
-        "label": "银州区",
-        "value": "211202"
-      },
-      {
-        "label": "清河区",
-        "value": "211204"
-      },
-      {
-        "label": "铁岭县",
-        "value": "211221"
-      },
-      {
-        "label": "西丰县",
-        "value": "211223"
-      },
-      {
-        "label": "昌图县",
-        "value": "211224"
-      },
-      {
-        "label": "调兵山市",
-        "value": "211281"
-      },
-      {
-        "label": "开原市",
-        "value": "211282"
-      }
-    ],
-    [{
-        "label": "双塔区",
-        "value": "211302"
-      },
-      {
-        "label": "龙城区",
-        "value": "211303"
-      },
-      {
-        "label": "朝阳县",
-        "value": "211321"
-      },
-      {
-        "label": "建平县",
-        "value": "211322"
-      },
-      {
-        "label": "喀喇沁左翼蒙古族自治县",
-        "value": "211324"
-      },
-      {
-        "label": "北票市",
-        "value": "211381"
-      },
-      {
-        "label": "凌源市",
-        "value": "211382"
-      }
-    ],
-    [{
-        "label": "连山区",
-        "value": "211402"
-      },
-      {
-        "label": "龙港区",
-        "value": "211403"
-      },
-      {
-        "label": "南票区",
-        "value": "211404"
-      },
-      {
-        "label": "绥中县",
-        "value": "211421"
-      },
-      {
-        "label": "建昌县",
-        "value": "211422"
-      },
-      {
-        "label": "兴城市",
-        "value": "211481"
-      }
-    ]
-  ],
-  [
-    [{
-        "label": "南关区",
-        "value": "220102"
-      },
-      {
-        "label": "宽城区",
-        "value": "220103"
-      },
-      {
-        "label": "朝阳区",
-        "value": "220104"
-      },
-      {
-        "label": "二道区",
-        "value": "220105"
-      },
-      {
-        "label": "绿园区",
-        "value": "220106"
-      },
-      {
-        "label": "双阳区",
-        "value": "220112"
-      },
-      {
-        "label": "九台区",
-        "value": "220113"
-      },
-      {
-        "label": "农安县",
-        "value": "220122"
-      },
-      {
-        "label": "长春经济技术开发区",
-        "value": "220171"
-      },
-      {
-        "label": "长春净月高新技术产业开发区",
-        "value": "220172"
-      },
-      {
-        "label": "长春高新技术产业开发区",
-        "value": "220173"
-      },
-      {
-        "label": "长春汽车经济技术开发区",
-        "value": "220174"
-      },
-      {
-        "label": "榆树市",
-        "value": "220182"
-      },
-      {
-        "label": "德惠市",
-        "value": "220183"
-      }
-    ],
-    [{
-        "label": "昌邑区",
-        "value": "220202"
-      },
-      {
-        "label": "龙潭区",
-        "value": "220203"
-      },
-      {
-        "label": "船营区",
-        "value": "220204"
-      },
-      {
-        "label": "丰满区",
-        "value": "220211"
-      },
-      {
-        "label": "永吉县",
-        "value": "220221"
-      },
-      {
-        "label": "吉林经济开发区",
-        "value": "220271"
-      },
-      {
-        "label": "吉林高新技术产业开发区",
-        "value": "220272"
-      },
-      {
-        "label": "吉林中国新加坡食品区",
-        "value": "220273"
-      },
-      {
-        "label": "蛟河市",
-        "value": "220281"
-      },
-      {
-        "label": "桦甸市",
-        "value": "220282"
-      },
-      {
-        "label": "舒兰市",
-        "value": "220283"
-      },
-      {
-        "label": "磐石市",
-        "value": "220284"
-      }
-    ],
-    [{
-        "label": "铁西区",
-        "value": "220302"
-      },
-      {
-        "label": "铁东区",
-        "value": "220303"
-      },
-      {
-        "label": "梨树县",
-        "value": "220322"
-      },
-      {
-        "label": "伊通满族自治县",
-        "value": "220323"
-      },
-      {
-        "label": "公主岭市",
-        "value": "220381"
-      },
-      {
-        "label": "双辽市",
-        "value": "220382"
-      }
-    ],
-    [{
-        "label": "龙山区",
-        "value": "220402"
-      },
-      {
-        "label": "西安区",
-        "value": "220403"
-      },
-      {
-        "label": "东丰县",
-        "value": "220421"
-      },
-      {
-        "label": "东辽县",
-        "value": "220422"
-      }
-    ],
-    [{
-        "label": "东昌区",
-        "value": "220502"
-      },
-      {
-        "label": "二道江区",
-        "value": "220503"
-      },
-      {
-        "label": "通化县",
-        "value": "220521"
-      },
-      {
-        "label": "辉南县",
-        "value": "220523"
-      },
-      {
-        "label": "柳河县",
-        "value": "220524"
-      },
-      {
-        "label": "梅河口市",
-        "value": "220581"
-      },
-      {
-        "label": "集安市",
-        "value": "220582"
-      }
-    ],
-    [{
-        "label": "浑江区",
-        "value": "220602"
-      },
-      {
-        "label": "江源区",
-        "value": "220605"
-      },
-      {
-        "label": "抚松县",
-        "value": "220621"
-      },
-      {
-        "label": "靖宇县",
-        "value": "220622"
-      },
-      {
-        "label": "长白朝鲜族自治县",
-        "value": "220623"
-      },
-      {
-        "label": "临江市",
-        "value": "220681"
-      }
-    ],
-    [{
-        "label": "宁江区",
-        "value": "220702"
-      },
-      {
-        "label": "前郭尔罗斯蒙古族自治县",
-        "value": "220721"
-      },
-      {
-        "label": "长岭县",
-        "value": "220722"
-      },
-      {
-        "label": "乾安县",
-        "value": "220723"
-      },
-      {
-        "label": "吉林松原经济开发区",
-        "value": "220771"
-      },
-      {
-        "label": "扶余市",
-        "value": "220781"
-      }
-    ],
-    [{
-        "label": "洮北区",
-        "value": "220802"
-      },
-      {
-        "label": "镇赉县",
-        "value": "220821"
-      },
-      {
-        "label": "通榆县",
-        "value": "220822"
-      },
-      {
-        "label": "吉林白城经济开发区",
-        "value": "220871"
-      },
-      {
-        "label": "洮南市",
-        "value": "220881"
-      },
-      {
-        "label": "大安市",
-        "value": "220882"
-      }
-    ],
-    [{
-        "label": "延吉市",
-        "value": "222401"
-      },
-      {
-        "label": "图们市",
-        "value": "222402"
-      },
-      {
-        "label": "敦化市",
-        "value": "222403"
-      },
-      {
-        "label": "珲春市",
-        "value": "222404"
-      },
-      {
-        "label": "龙井市",
-        "value": "222405"
-      },
-      {
-        "label": "和龙市",
-        "value": "222406"
-      },
-      {
-        "label": "汪清县",
-        "value": "222424"
-      },
-      {
-        "label": "安图县",
-        "value": "222426"
-      }
-    ]
-  ],
-  [
-    [{
-        "label": "道里区",
-        "value": "230102"
-      },
-      {
-        "label": "南岗区",
-        "value": "230103"
-      },
-      {
-        "label": "道外区",
-        "value": "230104"
-      },
-      {
-        "label": "平房区",
-        "value": "230108"
-      },
-      {
-        "label": "松北区",
-        "value": "230109"
-      },
-      {
-        "label": "香坊区",
-        "value": "230110"
-      },
-      {
-        "label": "呼兰区",
-        "value": "230111"
-      },
-      {
-        "label": "阿城区",
-        "value": "230112"
-      },
-      {
-        "label": "双城区",
-        "value": "230113"
-      },
-      {
-        "label": "依兰县",
-        "value": "230123"
-      },
-      {
-        "label": "方正县",
-        "value": "230124"
-      },
-      {
-        "label": "宾县",
-        "value": "230125"
-      },
-      {
-        "label": "巴彦县",
-        "value": "230126"
-      },
-      {
-        "label": "木兰县",
-        "value": "230127"
-      },
-      {
-        "label": "通河县",
-        "value": "230128"
-      },
-      {
-        "label": "延寿县",
-        "value": "230129"
-      },
-      {
-        "label": "尚志市",
-        "value": "230183"
-      },
-      {
-        "label": "五常市",
-        "value": "230184"
-      }
-    ],
-    [{
-        "label": "龙沙区",
-        "value": "230202"
-      },
-      {
-        "label": "建华区",
-        "value": "230203"
-      },
-      {
-        "label": "铁锋区",
-        "value": "230204"
-      },
-      {
-        "label": "昂昂溪区",
-        "value": "230205"
-      },
-      {
-        "label": "富拉尔基区",
-        "value": "230206"
-      },
-      {
-        "label": "碾子山区",
-        "value": "230207"
-      },
-      {
-        "label": "梅里斯达斡尔族区",
-        "value": "230208"
-      },
-      {
-        "label": "龙江县",
-        "value": "230221"
-      },
-      {
-        "label": "依安县",
-        "value": "230223"
-      },
-      {
-        "label": "泰来县",
-        "value": "230224"
-      },
-      {
-        "label": "甘南县",
-        "value": "230225"
-      },
-      {
-        "label": "富裕县",
-        "value": "230227"
-      },
-      {
-        "label": "克山县",
-        "value": "230229"
-      },
-      {
-        "label": "克东县",
-        "value": "230230"
-      },
-      {
-        "label": "拜泉县",
-        "value": "230231"
-      },
-      {
-        "label": "讷河市",
-        "value": "230281"
-      }
-    ],
-    [{
-        "label": "鸡冠区",
-        "value": "230302"
-      },
-      {
-        "label": "恒山区",
-        "value": "230303"
-      },
-      {
-        "label": "滴道区",
-        "value": "230304"
-      },
-      {
-        "label": "梨树区",
-        "value": "230305"
-      },
-      {
-        "label": "城子河区",
-        "value": "230306"
-      },
-      {
-        "label": "麻山区",
-        "value": "230307"
-      },
-      {
-        "label": "鸡东县",
-        "value": "230321"
-      },
-      {
-        "label": "虎林市",
-        "value": "230381"
-      },
-      {
-        "label": "密山市",
-        "value": "230382"
-      }
-    ],
-    [{
-        "label": "向阳区",
-        "value": "230402"
-      },
-      {
-        "label": "工农区",
-        "value": "230403"
-      },
-      {
-        "label": "南山区",
-        "value": "230404"
-      },
-      {
-        "label": "兴安区",
-        "value": "230405"
-      },
-      {
-        "label": "东山区",
-        "value": "230406"
-      },
-      {
-        "label": "兴山区",
-        "value": "230407"
-      },
-      {
-        "label": "萝北县",
-        "value": "230421"
-      },
-      {
-        "label": "绥滨县",
-        "value": "230422"
-      }
-    ],
-    [{
-        "label": "尖山区",
-        "value": "230502"
-      },
-      {
-        "label": "岭东区",
-        "value": "230503"
-      },
-      {
-        "label": "四方台区",
-        "value": "230505"
-      },
-      {
-        "label": "宝山区",
-        "value": "230506"
-      },
-      {
-        "label": "集贤县",
-        "value": "230521"
-      },
-      {
-        "label": "友谊县",
-        "value": "230522"
-      },
-      {
-        "label": "宝清县",
-        "value": "230523"
-      },
-      {
-        "label": "饶河县",
-        "value": "230524"
-      }
-    ],
-    [{
-        "label": "萨尔图区",
-        "value": "230602"
-      },
-      {
-        "label": "龙凤区",
-        "value": "230603"
-      },
-      {
-        "label": "让胡路区",
-        "value": "230604"
-      },
-      {
-        "label": "红岗区",
-        "value": "230605"
-      },
-      {
-        "label": "大同区",
-        "value": "230606"
-      },
-      {
-        "label": "肇州县",
-        "value": "230621"
-      },
-      {
-        "label": "肇源县",
-        "value": "230622"
-      },
-      {
-        "label": "林甸县",
-        "value": "230623"
-      },
-      {
-        "label": "杜尔伯特蒙古族自治县",
-        "value": "230624"
-      },
-      {
-        "label": "大庆高新技术产业开发区",
-        "value": "230671"
-      }
-    ],
-    [{
-        "label": "伊春区",
-        "value": "230702"
-      },
-      {
-        "label": "南岔区",
-        "value": "230703"
-      },
-      {
-        "label": "友好区",
-        "value": "230704"
-      },
-      {
-        "label": "西林区",
-        "value": "230705"
-      },
-      {
-        "label": "翠峦区",
-        "value": "230706"
-      },
-      {
-        "label": "新青区",
-        "value": "230707"
-      },
-      {
-        "label": "美溪区",
-        "value": "230708"
-      },
-      {
-        "label": "金山屯区",
-        "value": "230709"
-      },
-      {
-        "label": "五营区",
-        "value": "230710"
-      },
-      {
-        "label": "乌马河区",
-        "value": "230711"
-      },
-      {
-        "label": "汤旺河区",
-        "value": "230712"
-      },
-      {
-        "label": "带岭区",
-        "value": "230713"
-      },
-      {
-        "label": "乌伊岭区",
-        "value": "230714"
-      },
-      {
-        "label": "红星区",
-        "value": "230715"
-      },
-      {
-        "label": "上甘岭区",
-        "value": "230716"
-      },
-      {
-        "label": "嘉荫县",
-        "value": "230722"
-      },
-      {
-        "label": "铁力市",
-        "value": "230781"
-      }
-    ],
-    [{
-        "label": "向阳区",
-        "value": "230803"
-      },
-      {
-        "label": "前进区",
-        "value": "230804"
-      },
-      {
-        "label": "东风区",
-        "value": "230805"
-      },
-      {
-        "label": "郊区",
-        "value": "230811"
-      },
-      {
-        "label": "桦南县",
-        "value": "230822"
-      },
-      {
-        "label": "桦川县",
-        "value": "230826"
-      },
-      {
-        "label": "汤原县",
-        "value": "230828"
-      },
-      {
-        "label": "同江市",
-        "value": "230881"
-      },
-      {
-        "label": "富锦市",
-        "value": "230882"
-      },
-      {
-        "label": "抚远市",
-        "value": "230883"
-      }
-    ],
-    [{
-        "label": "新兴区",
-        "value": "230902"
-      },
-      {
-        "label": "桃山区",
-        "value": "230903"
-      },
-      {
-        "label": "茄子河区",
-        "value": "230904"
-      },
-      {
-        "label": "勃利县",
-        "value": "230921"
-      }
-    ],
-    [{
-        "label": "东安区",
-        "value": "231002"
-      },
-      {
-        "label": "阳明区",
-        "value": "231003"
-      },
-      {
-        "label": "爱民区",
-        "value": "231004"
-      },
-      {
-        "label": "西安区",
-        "value": "231005"
-      },
-      {
-        "label": "林口县",
-        "value": "231025"
-      },
-      {
-        "label": "牡丹江经济技术开发区",
-        "value": "231071"
-      },
-      {
-        "label": "绥芬河市",
-        "value": "231081"
-      },
-      {
-        "label": "海林市",
-        "value": "231083"
-      },
-      {
-        "label": "宁安市",
-        "value": "231084"
-      },
-      {
-        "label": "穆棱市",
-        "value": "231085"
-      },
-      {
-        "label": "东宁市",
-        "value": "231086"
-      }
-    ],
-    [{
-        "label": "爱辉区",
-        "value": "231102"
-      },
-      {
-        "label": "嫩江县",
-        "value": "231121"
-      },
-      {
-        "label": "逊克县",
-        "value": "231123"
-      },
-      {
-        "label": "孙吴县",
-        "value": "231124"
-      },
-      {
-        "label": "北安市",
-        "value": "231181"
-      },
-      {
-        "label": "五大连池市",
-        "value": "231182"
-      }
-    ],
-    [{
-        "label": "北林区",
-        "value": "231202"
-      },
-      {
-        "label": "望奎县",
-        "value": "231221"
-      },
-      {
-        "label": "兰西县",
-        "value": "231222"
-      },
-      {
-        "label": "青冈县",
-        "value": "231223"
-      },
-      {
-        "label": "庆安县",
-        "value": "231224"
-      },
-      {
-        "label": "明水县",
-        "value": "231225"
-      },
-      {
-        "label": "绥棱县",
-        "value": "231226"
-      },
-      {
-        "label": "安达市",
-        "value": "231281"
-      },
-      {
-        "label": "肇东市",
-        "value": "231282"
-      },
-      {
-        "label": "海伦市",
-        "value": "231283"
-      }
-    ],
-    [{
-        "label": "加格达奇区",
-        "value": "232701"
-      },
-      {
-        "label": "松岭区",
-        "value": "232702"
-      },
-      {
-        "label": "新林区",
-        "value": "232703"
-      },
-      {
-        "label": "呼中区",
-        "value": "232704"
-      },
-      {
-        "label": "呼玛县",
-        "value": "232721"
-      },
-      {
-        "label": "塔河县",
-        "value": "232722"
-      },
-      {
-        "label": "漠河县",
-        "value": "232723"
-      }
-    ]
-  ],
-  [
-    [{
-        "label": "黄浦区",
-        "value": "310101"
-      },
-      {
-        "label": "徐汇区",
-        "value": "310104"
-      },
-      {
-        "label": "长宁区",
-        "value": "310105"
-      },
-      {
-        "label": "静安区",
-        "value": "310106"
-      },
-      {
-        "label": "普陀区",
-        "value": "310107"
-      },
-      {
-        "label": "虹口区",
-        "value": "310109"
-      },
-      {
-        "label": "杨浦区",
-        "value": "310110"
-      },
-      {
-        "label": "闵行区",
-        "value": "310112"
-      },
-      {
-        "label": "宝山区",
-        "value": "310113"
-      },
-      {
-        "label": "嘉定区",
-        "value": "310114"
-      },
-      {
-        "label": "浦东新区",
-        "value": "310115"
-      },
-      {
-        "label": "金山区",
-        "value": "310116"
-      },
-      {
-        "label": "松江区",
-        "value": "310117"
-      },
-      {
-        "label": "青浦区",
-        "value": "310118"
-      },
-      {
-        "label": "奉贤区",
-        "value": "310120"
-      },
-      {
-        "label": "崇明区",
-        "value": "310151"
-      }
-    ]
-  ],
-  [
-    [{
-        "label": "玄武区",
-        "value": "320102"
-      },
-      {
-        "label": "秦淮区",
-        "value": "320104"
-      },
-      {
-        "label": "建邺区",
-        "value": "320105"
-      },
-      {
-        "label": "鼓楼区",
-        "value": "320106"
-      },
-      {
-        "label": "浦口区",
-        "value": "320111"
-      },
-      {
-        "label": "栖霞区",
-        "value": "320113"
-      },
-      {
-        "label": "雨花台区",
-        "value": "320114"
-      },
-      {
-        "label": "江宁区",
-        "value": "320115"
-      },
-      {
-        "label": "六合区",
-        "value": "320116"
-      },
-      {
-        "label": "溧水区",
-        "value": "320117"
-      },
-      {
-        "label": "高淳区",
-        "value": "320118"
-      }
-    ],
-    [{
-        "label": "锡山区",
-        "value": "320205"
-      },
-      {
-        "label": "惠山区",
-        "value": "320206"
-      },
-      {
-        "label": "滨湖区",
-        "value": "320211"
-      },
-      {
-        "label": "梁溪区",
-        "value": "320213"
-      },
-      {
-        "label": "新吴区",
-        "value": "320214"
-      },
-      {
-        "label": "江阴市",
-        "value": "320281"
-      },
-      {
-        "label": "宜兴市",
-        "value": "320282"
-      }
-    ],
-    [{
-        "label": "鼓楼区",
-        "value": "320302"
-      },
-      {
-        "label": "云龙区",
-        "value": "320303"
-      },
-      {
-        "label": "贾汪区",
-        "value": "320305"
-      },
-      {
-        "label": "泉山区",
-        "value": "320311"
-      },
-      {
-        "label": "铜山区",
-        "value": "320312"
-      },
-      {
-        "label": "丰县",
-        "value": "320321"
-      },
-      {
-        "label": "沛县",
-        "value": "320322"
-      },
-      {
-        "label": "睢宁县",
-        "value": "320324"
-      },
-      {
-        "label": "徐州经济技术开发区",
-        "value": "320371"
-      },
-      {
-        "label": "新沂市",
-        "value": "320381"
-      },
-      {
-        "label": "邳州市",
-        "value": "320382"
-      }
-    ],
-    [{
-        "label": "天宁区",
-        "value": "320402"
-      },
-      {
-        "label": "钟楼区",
-        "value": "320404"
-      },
-      {
-        "label": "新北区",
-        "value": "320411"
-      },
-      {
-        "label": "武进区",
-        "value": "320412"
-      },
-      {
-        "label": "金坛区",
-        "value": "320413"
-      },
-      {
-        "label": "溧阳市",
-        "value": "320481"
-      }
-    ],
-    [{
-        "label": "虎丘区",
-        "value": "320505"
-      },
-      {
-        "label": "吴中区",
-        "value": "320506"
-      },
-      {
-        "label": "相城区",
-        "value": "320507"
-      },
-      {
-        "label": "姑苏区",
-        "value": "320508"
-      },
-      {
-        "label": "吴江区",
-        "value": "320509"
-      },
-      {
-        "label": "苏州工业园区",
-        "value": "320571"
-      },
-      {
-        "label": "常熟市",
-        "value": "320581"
-      },
-      {
-        "label": "张家港市",
-        "value": "320582"
-      },
-      {
-        "label": "昆山市",
-        "value": "320583"
-      },
-      {
-        "label": "太仓市",
-        "value": "320585"
-      }
-    ],
-    [{
-        "label": "崇川区",
-        "value": "320602"
-      },
-      {
-        "label": "港闸区",
-        "value": "320611"
-      },
-      {
-        "label": "通州区",
-        "value": "320612"
-      },
-      {
-        "label": "海安县",
-        "value": "320621"
-      },
-      {
-        "label": "如东县",
-        "value": "320623"
-      },
-      {
-        "label": "南通经济技术开发区",
-        "value": "320671"
-      },
-      {
-        "label": "启东市",
-        "value": "320681"
-      },
-      {
-        "label": "如皋市",
-        "value": "320682"
-      },
-      {
-        "label": "海门市",
-        "value": "320684"
-      }
-    ],
-    [{
-        "label": "连云区",
-        "value": "320703"
-      },
-      {
-        "label": "海州区",
-        "value": "320706"
-      },
-      {
-        "label": "赣榆区",
-        "value": "320707"
-      },
-      {
-        "label": "东海县",
-        "value": "320722"
-      },
-      {
-        "label": "灌云县",
-        "value": "320723"
-      },
-      {
-        "label": "灌南县",
-        "value": "320724"
-      },
-      {
-        "label": "连云港经济技术开发区",
-        "value": "320771"
-      },
-      {
-        "label": "连云港高新技术产业开发区",
-        "value": "320772"
-      }
-    ],
-    [{
-        "label": "淮安区",
-        "value": "320803"
-      },
-      {
-        "label": "淮阴区",
-        "value": "320804"
-      },
-      {
-        "label": "清江浦区",
-        "value": "320812"
-      },
-      {
-        "label": "洪泽区",
-        "value": "320813"
-      },
-      {
-        "label": "涟水县",
-        "value": "320826"
-      },
-      {
-        "label": "盱眙县",
-        "value": "320830"
-      },
-      {
-        "label": "金湖县",
-        "value": "320831"
-      },
-      {
-        "label": "淮安经济技术开发区",
-        "value": "320871"
-      }
-    ],
-    [{
-        "label": "亭湖区",
-        "value": "320902"
-      },
-      {
-        "label": "盐都区",
-        "value": "320903"
-      },
-      {
-        "label": "大丰区",
-        "value": "320904"
-      },
-      {
-        "label": "响水县",
-        "value": "320921"
-      },
-      {
-        "label": "滨海县",
-        "value": "320922"
-      },
-      {
-        "label": "阜宁县",
-        "value": "320923"
-      },
-      {
-        "label": "射阳县",
-        "value": "320924"
-      },
-      {
-        "label": "建湖县",
-        "value": "320925"
-      },
-      {
-        "label": "盐城经济技术开发区",
-        "value": "320971"
-      },
-      {
-        "label": "东台市",
-        "value": "320981"
-      }
-    ],
-    [{
-        "label": "广陵区",
-        "value": "321002"
-      },
-      {
-        "label": "邗江区",
-        "value": "321003"
-      },
-      {
-        "label": "江都区",
-        "value": "321012"
-      },
-      {
-        "label": "宝应县",
-        "value": "321023"
-      },
-      {
-        "label": "扬州经济技术开发区",
-        "value": "321071"
-      },
-      {
-        "label": "仪征市",
-        "value": "321081"
-      },
-      {
-        "label": "高邮市",
-        "value": "321084"
-      }
-    ],
-    [{
-        "label": "京口区",
-        "value": "321102"
-      },
-      {
-        "label": "润州区",
-        "value": "321111"
-      },
-      {
-        "label": "丹徒区",
-        "value": "321112"
-      },
-      {
-        "label": "镇江新区",
-        "value": "321171"
-      },
-      {
-        "label": "丹阳市",
-        "value": "321181"
-      },
-      {
-        "label": "扬中市",
-        "value": "321182"
-      },
-      {
-        "label": "句容市",
-        "value": "321183"
-      }
-    ],
-    [{
-        "label": "海陵区",
-        "value": "321202"
-      },
-      {
-        "label": "高港区",
-        "value": "321203"
-      },
-      {
-        "label": "姜堰区",
-        "value": "321204"
-      },
-      {
-        "label": "泰州医药高新技术产业开发区",
-        "value": "321271"
-      },
-      {
-        "label": "兴化市",
-        "value": "321281"
-      },
-      {
-        "label": "靖江市",
-        "value": "321282"
-      },
-      {
-        "label": "泰兴市",
-        "value": "321283"
-      }
-    ],
-    [{
-        "label": "宿城区",
-        "value": "321302"
-      },
-      {
-        "label": "宿豫区",
-        "value": "321311"
-      },
-      {
-        "label": "沭阳县",
-        "value": "321322"
-      },
-      {
-        "label": "泗阳县",
-        "value": "321323"
-      },
-      {
-        "label": "泗洪县",
-        "value": "321324"
-      },
-      {
-        "label": "宿迁经济技术开发区",
-        "value": "321371"
-      }
-    ]
-  ],
-  [
-    [{
-        "label": "上城区",
-        "value": "330102"
-      },
-      {
-        "label": "下城区",
-        "value": "330103"
-      },
-      {
-        "label": "江干区",
-        "value": "330104"
-      },
-      {
-        "label": "拱墅区",
-        "value": "330105"
-      },
-      {
-        "label": "西湖区",
-        "value": "330106"
-      },
-      {
-        "label": "滨江区",
-        "value": "330108"
-      },
-      {
-        "label": "萧山区",
-        "value": "330109"
-      },
-      {
-        "label": "余杭区",
-        "value": "330110"
-      },
-      {
-        "label": "富阳区",
-        "value": "330111"
-      },
-      {
-        "label": "临安区",
-        "value": "330112"
-      },
-      {
-        "label": "桐庐县",
-        "value": "330122"
-      },
-      {
-        "label": "淳安县",
-        "value": "330127"
-      },
-      {
-        "label": "建德市",
-        "value": "330182"
-      }
-    ],
-    [{
-        "label": "海曙区",
-        "value": "330203"
-      },
-      {
-        "label": "江北区",
-        "value": "330205"
-      },
-      {
-        "label": "北仑区",
-        "value": "330206"
-      },
-      {
-        "label": "镇海区",
-        "value": "330211"
-      },
-      {
-        "label": "鄞州区",
-        "value": "330212"
-      },
-      {
-        "label": "奉化区",
-        "value": "330213"
-      },
-      {
-        "label": "象山县",
-        "value": "330225"
-      },
-      {
-        "label": "宁海县",
-        "value": "330226"
-      },
-      {
-        "label": "余姚市",
-        "value": "330281"
-      },
-      {
-        "label": "慈溪市",
-        "value": "330282"
-      }
-    ],
-    [{
-        "label": "鹿城区",
-        "value": "330302"
-      },
-      {
-        "label": "龙湾区",
-        "value": "330303"
-      },
-      {
-        "label": "瓯海区",
-        "value": "330304"
-      },
-      {
-        "label": "洞头区",
-        "value": "330305"
-      },
-      {
-        "label": "永嘉县",
-        "value": "330324"
-      },
-      {
-        "label": "平阳县",
-        "value": "330326"
-      },
-      {
-        "label": "苍南县",
-        "value": "330327"
-      },
-      {
-        "label": "文成县",
-        "value": "330328"
-      },
-      {
-        "label": "泰顺县",
-        "value": "330329"
-      },
-      {
-        "label": "温州经济技术开发区",
-        "value": "330371"
-      },
-      {
-        "label": "瑞安市",
-        "value": "330381"
-      },
-      {
-        "label": "乐清市",
-        "value": "330382"
-      }
-    ],
-    [{
-        "label": "南湖区",
-        "value": "330402"
-      },
-      {
-        "label": "秀洲区",
-        "value": "330411"
-      },
-      {
-        "label": "嘉善县",
-        "value": "330421"
-      },
-      {
-        "label": "海盐县",
-        "value": "330424"
-      },
-      {
-        "label": "海宁市",
-        "value": "330481"
-      },
-      {
-        "label": "平湖市",
-        "value": "330482"
-      },
-      {
-        "label": "桐乡市",
-        "value": "330483"
-      }
-    ],
-    [{
-        "label": "吴兴区",
-        "value": "330502"
-      },
-      {
-        "label": "南浔区",
-        "value": "330503"
-      },
-      {
-        "label": "德清县",
-        "value": "330521"
-      },
-      {
-        "label": "长兴县",
-        "value": "330522"
-      },
-      {
-        "label": "安吉县",
-        "value": "330523"
-      }
-    ],
-    [{
-        "label": "越城区",
-        "value": "330602"
-      },
-      {
-        "label": "柯桥区",
-        "value": "330603"
-      },
-      {
-        "label": "上虞区",
-        "value": "330604"
-      },
-      {
-        "label": "新昌县",
-        "value": "330624"
-      },
-      {
-        "label": "诸暨市",
-        "value": "330681"
-      },
-      {
-        "label": "嵊州市",
-        "value": "330683"
-      }
-    ],
-    [{
-        "label": "婺城区",
-        "value": "330702"
-      },
-      {
-        "label": "金东区",
-        "value": "330703"
-      },
-      {
-        "label": "武义县",
-        "value": "330723"
-      },
-      {
-        "label": "浦江县",
-        "value": "330726"
-      },
-      {
-        "label": "磐安县",
-        "value": "330727"
-      },
-      {
-        "label": "兰溪市",
-        "value": "330781"
-      },
-      {
-        "label": "义乌市",
-        "value": "330782"
-      },
-      {
-        "label": "东阳市",
-        "value": "330783"
-      },
-      {
-        "label": "永康市",
-        "value": "330784"
-      }
-    ],
-    [{
-        "label": "柯城区",
-        "value": "330802"
-      },
-      {
-        "label": "衢江区",
-        "value": "330803"
-      },
-      {
-        "label": "常山县",
-        "value": "330822"
-      },
-      {
-        "label": "开化县",
-        "value": "330824"
-      },
-      {
-        "label": "龙游县",
-        "value": "330825"
-      },
-      {
-        "label": "江山市",
-        "value": "330881"
-      }
-    ],
-    [{
-        "label": "定海区",
-        "value": "330902"
-      },
-      {
-        "label": "普陀区",
-        "value": "330903"
-      },
-      {
-        "label": "岱山县",
-        "value": "330921"
-      },
-      {
-        "label": "嵊泗县",
-        "value": "330922"
-      }
-    ],
-    [{
-        "label": "椒江区",
-        "value": "331002"
-      },
-      {
-        "label": "黄岩区",
-        "value": "331003"
-      },
-      {
-        "label": "路桥区",
-        "value": "331004"
-      },
-      {
-        "label": "三门县",
-        "value": "331022"
-      },
-      {
-        "label": "天台县",
-        "value": "331023"
-      },
-      {
-        "label": "仙居县",
-        "value": "331024"
-      },
-      {
-        "label": "温岭市",
-        "value": "331081"
-      },
-      {
-        "label": "临海市",
-        "value": "331082"
-      },
-      {
-        "label": "玉环市",
-        "value": "331083"
-      }
-    ],
-    [{
-        "label": "莲都区",
-        "value": "331102"
-      },
-      {
-        "label": "青田县",
-        "value": "331121"
-      },
-      {
-        "label": "缙云县",
-        "value": "331122"
-      },
-      {
-        "label": "遂昌县",
-        "value": "331123"
-      },
-      {
-        "label": "松阳县",
-        "value": "331124"
-      },
-      {
-        "label": "云和县",
-        "value": "331125"
-      },
-      {
-        "label": "庆元县",
-        "value": "331126"
-      },
-      {
-        "label": "景宁畲族自治县",
-        "value": "331127"
-      },
-      {
-        "label": "龙泉市",
-        "value": "331181"
-      }
-    ]
-  ],
-  [
-    [{
-        "label": "瑶海区",
-        "value": "340102"
-      },
-      {
-        "label": "庐阳区",
-        "value": "340103"
-      },
-      {
-        "label": "蜀山区",
-        "value": "340104"
-      },
-      {
-        "label": "包河区",
-        "value": "340111"
-      },
-      {
-        "label": "长丰县",
-        "value": "340121"
-      },
-      {
-        "label": "肥东县",
-        "value": "340122"
-      },
-      {
-        "label": "肥西县",
-        "value": "340123"
-      },
-      {
-        "label": "庐江县",
-        "value": "340124"
-      },
-      {
-        "label": "合肥高新技术产业开发区",
-        "value": "340171"
-      },
-      {
-        "label": "合肥经济技术开发区",
-        "value": "340172"
-      },
-      {
-        "label": "合肥新站高新技术产业开发区",
-        "value": "340173"
-      },
-      {
-        "label": "巢湖市",
-        "value": "340181"
-      }
-    ],
-    [{
-        "label": "镜湖区",
-        "value": "340202"
-      },
-      {
-        "label": "弋江区",
-        "value": "340203"
-      },
-      {
-        "label": "鸠江区",
-        "value": "340207"
-      },
-      {
-        "label": "三山区",
-        "value": "340208"
-      },
-      {
-        "label": "芜湖县",
-        "value": "340221"
-      },
-      {
-        "label": "繁昌县",
-        "value": "340222"
-      },
-      {
-        "label": "南陵县",
-        "value": "340223"
-      },
-      {
-        "label": "无为县",
-        "value": "340225"
-      },
-      {
-        "label": "芜湖经济技术开发区",
-        "value": "340271"
-      },
-      {
-        "label": "安徽芜湖长江大桥经济开发区",
-        "value": "340272"
-      }
-    ],
-    [{
-        "label": "龙子湖区",
-        "value": "340302"
-      },
-      {
-        "label": "蚌山区",
-        "value": "340303"
-      },
-      {
-        "label": "禹会区",
-        "value": "340304"
-      },
-      {
-        "label": "淮上区",
-        "value": "340311"
-      },
-      {
-        "label": "怀远县",
-        "value": "340321"
-      },
-      {
-        "label": "五河县",
-        "value": "340322"
-      },
-      {
-        "label": "固镇县",
-        "value": "340323"
-      },
-      {
-        "label": "蚌埠市高新技术开发区",
-        "value": "340371"
-      },
-      {
-        "label": "蚌埠市经济开发区",
-        "value": "340372"
-      }
-    ],
-    [{
-        "label": "大通区",
-        "value": "340402"
-      },
-      {
-        "label": "田家庵区",
-        "value": "340403"
-      },
-      {
-        "label": "谢家集区",
-        "value": "340404"
-      },
-      {
-        "label": "八公山区",
-        "value": "340405"
-      },
-      {
-        "label": "潘集区",
-        "value": "340406"
-      },
-      {
-        "label": "凤台县",
-        "value": "340421"
-      },
-      {
-        "label": "寿县",
-        "value": "340422"
-      }
-    ],
-    [{
-        "label": "花山区",
-        "value": "340503"
-      },
-      {
-        "label": "雨山区",
-        "value": "340504"
-      },
-      {
-        "label": "博望区",
-        "value": "340506"
-      },
-      {
-        "label": "当涂县",
-        "value": "340521"
-      },
-      {
-        "label": "含山县",
-        "value": "340522"
-      },
-      {
-        "label": "和县",
-        "value": "340523"
-      }
-    ],
-    [{
-        "label": "杜集区",
-        "value": "340602"
-      },
-      {
-        "label": "相山区",
-        "value": "340603"
-      },
-      {
-        "label": "烈山区",
-        "value": "340604"
-      },
-      {
-        "label": "濉溪县",
-        "value": "340621"
-      }
-    ],
-    [{
-        "label": "铜官区",
-        "value": "340705"
-      },
-      {
-        "label": "义安区",
-        "value": "340706"
-      },
-      {
-        "label": "郊区",
-        "value": "340711"
-      },
-      {
-        "label": "枞阳县",
-        "value": "340722"
-      }
-    ],
-    [{
-        "label": "迎江区",
-        "value": "340802"
-      },
-      {
-        "label": "大观区",
-        "value": "340803"
-      },
-      {
-        "label": "宜秀区",
-        "value": "340811"
-      },
-      {
-        "label": "怀宁县",
-        "value": "340822"
-      },
-      {
-        "label": "潜山县",
-        "value": "340824"
-      },
-      {
-        "label": "太湖县",
-        "value": "340825"
-      },
-      {
-        "label": "宿松县",
-        "value": "340826"
-      },
-      {
-        "label": "望江县",
-        "value": "340827"
-      },
-      {
-        "label": "岳西县",
-        "value": "340828"
-      },
-      {
-        "label": "安徽安庆经济开发区",
-        "value": "340871"
-      },
-      {
-        "label": "桐城市",
-        "value": "340881"
-      }
-    ],
-    [{
-        "label": "屯溪区",
-        "value": "341002"
-      },
-      {
-        "label": "黄山区",
-        "value": "341003"
-      },
-      {
-        "label": "徽州区",
-        "value": "341004"
-      },
-      {
-        "label": "歙县",
-        "value": "341021"
-      },
-      {
-        "label": "休宁县",
-        "value": "341022"
-      },
-      {
-        "label": "黟县",
-        "value": "341023"
-      },
-      {
-        "label": "祁门县",
-        "value": "341024"
-      }
-    ],
-    [{
-        "label": "琅琊区",
-        "value": "341102"
-      },
-      {
-        "label": "南谯区",
-        "value": "341103"
-      },
-      {
-        "label": "来安县",
-        "value": "341122"
-      },
-      {
-        "label": "全椒县",
-        "value": "341124"
-      },
-      {
-        "label": "定远县",
-        "value": "341125"
-      },
-      {
-        "label": "凤阳县",
-        "value": "341126"
-      },
-      {
-        "label": "苏滁现代产业园",
-        "value": "341171"
-      },
-      {
-        "label": "滁州经济技术开发区",
-        "value": "341172"
-      },
-      {
-        "label": "天长市",
-        "value": "341181"
-      },
-      {
-        "label": "明光市",
-        "value": "341182"
-      }
-    ],
-    [{
-        "label": "颍州区",
-        "value": "341202"
-      },
-      {
-        "label": "颍东区",
-        "value": "341203"
-      },
-      {
-        "label": "颍泉区",
-        "value": "341204"
-      },
-      {
-        "label": "临泉县",
-        "value": "341221"
-      },
-      {
-        "label": "太和县",
-        "value": "341222"
-      },
-      {
-        "label": "阜南县",
-        "value": "341225"
-      },
-      {
-        "label": "颍上县",
-        "value": "341226"
-      },
-      {
-        "label": "阜阳合肥现代产业园区",
-        "value": "341271"
-      },
-      {
-        "label": "阜阳经济技术开发区",
-        "value": "341272"
-      },
-      {
-        "label": "界首市",
-        "value": "341282"
-      }
-    ],
-    [{
-        "label": "埇桥区",
-        "value": "341302"
-      },
-      {
-        "label": "砀山县",
-        "value": "341321"
-      },
-      {
-        "label": "萧县",
-        "value": "341322"
-      },
-      {
-        "label": "灵璧县",
-        "value": "341323"
-      },
-      {
-        "label": "泗县",
-        "value": "341324"
-      },
-      {
-        "label": "宿州马鞍山现代产业园区",
-        "value": "341371"
-      },
-      {
-        "label": "宿州经济技术开发区",
-        "value": "341372"
-      }
-    ],
-    [{
-        "label": "金安区",
-        "value": "341502"
-      },
-      {
-        "label": "裕安区",
-        "value": "341503"
-      },
-      {
-        "label": "叶集区",
-        "value": "341504"
-      },
-      {
-        "label": "霍邱县",
-        "value": "341522"
-      },
-      {
-        "label": "舒城县",
-        "value": "341523"
-      },
-      {
-        "label": "金寨县",
-        "value": "341524"
-      },
-      {
-        "label": "霍山县",
-        "value": "341525"
-      }
-    ],
-    [{
-        "label": "谯城区",
-        "value": "341602"
-      },
-      {
-        "label": "涡阳县",
-        "value": "341621"
-      },
-      {
-        "label": "蒙城县",
-        "value": "341622"
-      },
-      {
-        "label": "利辛县",
-        "value": "341623"
-      }
-    ],
-    [{
-        "label": "贵池区",
-        "value": "341702"
-      },
-      {
-        "label": "东至县",
-        "value": "341721"
-      },
-      {
-        "label": "石台县",
-        "value": "341722"
-      },
-      {
-        "label": "青阳县",
-        "value": "341723"
-      }
-    ],
-    [{
-        "label": "宣州区",
-        "value": "341802"
-      },
-      {
-        "label": "郎溪县",
-        "value": "341821"
-      },
-      {
-        "label": "广德县",
-        "value": "341822"
-      },
-      {
-        "label": "泾县",
-        "value": "341823"
-      },
-      {
-        "label": "绩溪县",
-        "value": "341824"
-      },
-      {
-        "label": "旌德县",
-        "value": "341825"
-      },
-      {
-        "label": "宣城市经济开发区",
-        "value": "341871"
-      },
-      {
-        "label": "宁国市",
-        "value": "341881"
-      }
-    ]
-  ],
-  [
-    [{
-        "label": "鼓楼区",
-        "value": "350102"
-      },
-      {
-        "label": "台江区",
-        "value": "350103"
-      },
-      {
-        "label": "仓山区",
-        "value": "350104"
-      },
-      {
-        "label": "马尾区",
-        "value": "350105"
-      },
-      {
-        "label": "晋安区",
-        "value": "350111"
-      },
-      {
-        "label": "闽侯县",
-        "value": "350121"
-      },
-      {
-        "label": "连江县",
-        "value": "350122"
-      },
-      {
-        "label": "罗源县",
-        "value": "350123"
-      },
-      {
-        "label": "闽清县",
-        "value": "350124"
-      },
-      {
-        "label": "永泰县",
-        "value": "350125"
-      },
-      {
-        "label": "平潭县",
-        "value": "350128"
-      },
-      {
-        "label": "福清市",
-        "value": "350181"
-      },
-      {
-        "label": "长乐市",
-        "value": "350182"
-      }
-    ],
-    [{
-        "label": "思明区",
-        "value": "350203"
-      },
-      {
-        "label": "海沧区",
-        "value": "350205"
-      },
-      {
-        "label": "湖里区",
-        "value": "350206"
-      },
-      {
-        "label": "集美区",
-        "value": "350211"
-      },
-      {
-        "label": "同安区",
-        "value": "350212"
-      },
-      {
-        "label": "翔安区",
-        "value": "350213"
-      }
-    ],
-    [{
-        "label": "城厢区",
-        "value": "350302"
-      },
-      {
-        "label": "涵江区",
-        "value": "350303"
-      },
-      {
-        "label": "荔城区",
-        "value": "350304"
-      },
-      {
-        "label": "秀屿区",
-        "value": "350305"
-      },
-      {
-        "label": "仙游县",
-        "value": "350322"
-      }
-    ],
-    [{
-        "label": "梅列区",
-        "value": "350402"
-      },
-      {
-        "label": "三元区",
-        "value": "350403"
-      },
-      {
-        "label": "明溪县",
-        "value": "350421"
-      },
-      {
-        "label": "清流县",
-        "value": "350423"
-      },
-      {
-        "label": "宁化县",
-        "value": "350424"
-      },
-      {
-        "label": "大田县",
-        "value": "350425"
-      },
-      {
-        "label": "尤溪县",
-        "value": "350426"
-      },
-      {
-        "label": "沙县",
-        "value": "350427"
-      },
-      {
-        "label": "将乐县",
-        "value": "350428"
-      },
-      {
-        "label": "泰宁县",
-        "value": "350429"
-      },
-      {
-        "label": "建宁县",
-        "value": "350430"
-      },
-      {
-        "label": "永安市",
-        "value": "350481"
-      }
-    ],
-    [{
-        "label": "鲤城区",
-        "value": "350502"
-      },
-      {
-        "label": "丰泽区",
-        "value": "350503"
-      },
-      {
-        "label": "洛江区",
-        "value": "350504"
-      },
-      {
-        "label": "泉港区",
-        "value": "350505"
-      },
-      {
-        "label": "惠安县",
-        "value": "350521"
-      },
-      {
-        "label": "安溪县",
-        "value": "350524"
-      },
-      {
-        "label": "永春县",
-        "value": "350525"
-      },
-      {
-        "label": "德化县",
-        "value": "350526"
-      },
-      {
-        "label": "金门县",
-        "value": "350527"
-      },
-      {
-        "label": "石狮市",
-        "value": "350581"
-      },
-      {
-        "label": "晋江市",
-        "value": "350582"
-      },
-      {
-        "label": "南安市",
-        "value": "350583"
-      }
-    ],
-    [{
-        "label": "芗城区",
-        "value": "350602"
-      },
-      {
-        "label": "龙文区",
-        "value": "350603"
-      },
-      {
-        "label": "云霄县",
-        "value": "350622"
-      },
-      {
-        "label": "漳浦县",
-        "value": "350623"
-      },
-      {
-        "label": "诏安县",
-        "value": "350624"
-      },
-      {
-        "label": "长泰县",
-        "value": "350625"
-      },
-      {
-        "label": "东山县",
-        "value": "350626"
-      },
-      {
-        "label": "南靖县",
-        "value": "350627"
-      },
-      {
-        "label": "平和县",
-        "value": "350628"
-      },
-      {
-        "label": "华安县",
-        "value": "350629"
-      },
-      {
-        "label": "龙海市",
-        "value": "350681"
-      }
-    ],
-    [{
-        "label": "延平区",
-        "value": "350702"
-      },
-      {
-        "label": "建阳区",
-        "value": "350703"
-      },
-      {
-        "label": "顺昌县",
-        "value": "350721"
-      },
-      {
-        "label": "浦城县",
-        "value": "350722"
-      },
-      {
-        "label": "光泽县",
-        "value": "350723"
-      },
-      {
-        "label": "松溪县",
-        "value": "350724"
-      },
-      {
-        "label": "政和县",
-        "value": "350725"
-      },
-      {
-        "label": "邵武市",
-        "value": "350781"
-      },
-      {
-        "label": "武夷山市",
-        "value": "350782"
-      },
-      {
-        "label": "建瓯市",
-        "value": "350783"
-      }
-    ],
-    [{
-        "label": "新罗区",
-        "value": "350802"
-      },
-      {
-        "label": "永定区",
-        "value": "350803"
-      },
-      {
-        "label": "长汀县",
-        "value": "350821"
-      },
-      {
-        "label": "上杭县",
-        "value": "350823"
-      },
-      {
-        "label": "武平县",
-        "value": "350824"
-      },
-      {
-        "label": "连城县",
-        "value": "350825"
-      },
-      {
-        "label": "漳平市",
-        "value": "350881"
-      }
-    ],
-    [{
-        "label": "蕉城区",
-        "value": "350902"
-      },
-      {
-        "label": "霞浦县",
-        "value": "350921"
-      },
-      {
-        "label": "古田县",
-        "value": "350922"
-      },
-      {
-        "label": "屏南县",
-        "value": "350923"
-      },
-      {
-        "label": "寿宁县",
-        "value": "350924"
-      },
-      {
-        "label": "周宁县",
-        "value": "350925"
-      },
-      {
-        "label": "柘荣县",
-        "value": "350926"
-      },
-      {
-        "label": "福安市",
-        "value": "350981"
-      },
-      {
-        "label": "福鼎市",
-        "value": "350982"
-      }
-    ]
-  ],
-  [
-    [{
-        "label": "东湖区",
-        "value": "360102"
-      },
-      {
-        "label": "西湖区",
-        "value": "360103"
-      },
-      {
-        "label": "青云谱区",
-        "value": "360104"
-      },
-      {
-        "label": "湾里区",
-        "value": "360105"
-      },
-      {
-        "label": "青山湖区",
-        "value": "360111"
-      },
-      {
-        "label": "新建区",
-        "value": "360112"
-      },
-      {
-        "label": "南昌县",
-        "value": "360121"
-      },
-      {
-        "label": "安义县",
-        "value": "360123"
-      },
-      {
-        "label": "进贤县",
-        "value": "360124"
-      }
-    ],
-    [{
-        "label": "昌江区",
-        "value": "360202"
-      },
-      {
-        "label": "珠山区",
-        "value": "360203"
-      },
-      {
-        "label": "浮梁县",
-        "value": "360222"
-      },
-      {
-        "label": "乐平市",
-        "value": "360281"
-      }
-    ],
-    [{
-        "label": "安源区",
-        "value": "360302"
-      },
-      {
-        "label": "湘东区",
-        "value": "360313"
-      },
-      {
-        "label": "莲花县",
-        "value": "360321"
-      },
-      {
-        "label": "上栗县",
-        "value": "360322"
-      },
-      {
-        "label": "芦溪县",
-        "value": "360323"
-      }
-    ],
-    [{
-        "label": "濂溪区",
-        "value": "360402"
-      },
-      {
-        "label": "浔阳区",
-        "value": "360403"
-      },
-      {
-        "label": "柴桑区",
-        "value": "360404"
-      },
-      {
-        "label": "武宁县",
-        "value": "360423"
-      },
-      {
-        "label": "修水县",
-        "value": "360424"
-      },
-      {
-        "label": "永修县",
-        "value": "360425"
-      },
-      {
-        "label": "德安县",
-        "value": "360426"
-      },
-      {
-        "label": "都昌县",
-        "value": "360428"
-      },
-      {
-        "label": "湖口县",
-        "value": "360429"
-      },
-      {
-        "label": "彭泽县",
-        "value": "360430"
-      },
-      {
-        "label": "瑞昌市",
-        "value": "360481"
-      },
-      {
-        "label": "共青城市",
-        "value": "360482"
-      },
-      {
-        "label": "庐山市",
-        "value": "360483"
-      }
-    ],
-    [{
-        "label": "渝水区",
-        "value": "360502"
-      },
-      {
-        "label": "分宜县",
-        "value": "360521"
-      }
-    ],
-    [{
-        "label": "月湖区",
-        "value": "360602"
-      },
-      {
-        "label": "余江县",
-        "value": "360622"
-      },
-      {
-        "label": "贵溪市",
-        "value": "360681"
-      }
-    ],
-    [{
-        "label": "章贡区",
-        "value": "360702"
-      },
-      {
-        "label": "南康区",
-        "value": "360703"
-      },
-      {
-        "label": "赣县区",
-        "value": "360704"
-      },
-      {
-        "label": "信丰县",
-        "value": "360722"
-      },
-      {
-        "label": "大余县",
-        "value": "360723"
-      },
-      {
-        "label": "上犹县",
-        "value": "360724"
-      },
-      {
-        "label": "崇义县",
-        "value": "360725"
-      },
-      {
-        "label": "安远县",
-        "value": "360726"
-      },
-      {
-        "label": "龙南县",
-        "value": "360727"
-      },
-      {
-        "label": "定南县",
-        "value": "360728"
-      },
-      {
-        "label": "全南县",
-        "value": "360729"
-      },
-      {
-        "label": "宁都县",
-        "value": "360730"
-      },
-      {
-        "label": "于都县",
-        "value": "360731"
-      },
-      {
-        "label": "兴国县",
-        "value": "360732"
-      },
-      {
-        "label": "会昌县",
-        "value": "360733"
-      },
-      {
-        "label": "寻乌县",
-        "value": "360734"
-      },
-      {
-        "label": "石城县",
-        "value": "360735"
-      },
-      {
-        "label": "瑞金市",
-        "value": "360781"
-      }
-    ],
-    [{
-        "label": "吉州区",
-        "value": "360802"
-      },
-      {
-        "label": "青原区",
-        "value": "360803"
-      },
-      {
-        "label": "吉安县",
-        "value": "360821"
-      },
-      {
-        "label": "吉水县",
-        "value": "360822"
-      },
-      {
-        "label": "峡江县",
-        "value": "360823"
-      },
-      {
-        "label": "新干县",
-        "value": "360824"
-      },
-      {
-        "label": "永丰县",
-        "value": "360825"
-      },
-      {
-        "label": "泰和县",
-        "value": "360826"
-      },
-      {
-        "label": "遂川县",
-        "value": "360827"
-      },
-      {
-        "label": "万安县",
-        "value": "360828"
-      },
-      {
-        "label": "安福县",
-        "value": "360829"
-      },
-      {
-        "label": "永新县",
-        "value": "360830"
-      },
-      {
-        "label": "井冈山市",
-        "value": "360881"
-      }
-    ],
-    [{
-        "label": "袁州区",
-        "value": "360902"
-      },
-      {
-        "label": "奉新县",
-        "value": "360921"
-      },
-      {
-        "label": "万载县",
-        "value": "360922"
-      },
-      {
-        "label": "上高县",
-        "value": "360923"
-      },
-      {
-        "label": "宜丰县",
-        "value": "360924"
-      },
-      {
-        "label": "靖安县",
-        "value": "360925"
-      },
-      {
-        "label": "铜鼓县",
-        "value": "360926"
-      },
-      {
-        "label": "丰城市",
-        "value": "360981"
-      },
-      {
-        "label": "樟树市",
-        "value": "360982"
-      },
-      {
-        "label": "高安市",
-        "value": "360983"
-      }
-    ],
-    [{
-        "label": "临川区",
-        "value": "361002"
-      },
-      {
-        "label": "东乡区",
-        "value": "361003"
-      },
-      {
-        "label": "南城县",
-        "value": "361021"
-      },
-      {
-        "label": "黎川县",
-        "value": "361022"
-      },
-      {
-        "label": "南丰县",
-        "value": "361023"
-      },
-      {
-        "label": "崇仁县",
-        "value": "361024"
-      },
-      {
-        "label": "乐安县",
-        "value": "361025"
-      },
-      {
-        "label": "宜黄县",
-        "value": "361026"
-      },
-      {
-        "label": "金溪县",
-        "value": "361027"
-      },
-      {
-        "label": "资溪县",
-        "value": "361028"
-      },
-      {
-        "label": "广昌县",
-        "value": "361030"
-      }
-    ],
-    [{
-        "label": "信州区",
-        "value": "361102"
-      },
-      {
-        "label": "广丰区",
-        "value": "361103"
-      },
-      {
-        "label": "上饶县",
-        "value": "361121"
-      },
-      {
-        "label": "玉山县",
-        "value": "361123"
-      },
-      {
-        "label": "铅山县",
-        "value": "361124"
-      },
-      {
-        "label": "横峰县",
-        "value": "361125"
-      },
-      {
-        "label": "弋阳县",
-        "value": "361126"
-      },
-      {
-        "label": "余干县",
-        "value": "361127"
-      },
-      {
-        "label": "鄱阳县",
-        "value": "361128"
-      },
-      {
-        "label": "万年县",
-        "value": "361129"
-      },
-      {
-        "label": "婺源县",
-        "value": "361130"
-      },
-      {
-        "label": "德兴市",
-        "value": "361181"
-      }
-    ]
-  ],
-  [
-    [{
-        "label": "历下区",
-        "value": "370102"
-      },
-      {
-        "label": "市中区",
-        "value": "370103"
-      },
-      {
-        "label": "槐荫区",
-        "value": "370104"
-      },
-      {
-        "label": "天桥区",
-        "value": "370105"
-      },
-      {
-        "label": "历城区",
-        "value": "370112"
-      },
-      {
-        "label": "长清区",
-        "value": "370113"
-      },
-      {
-        "label": "章丘区",
-        "value": "370114"
-      },
-      {
-        "label": "平阴县",
-        "value": "370124"
-      },
-      {
-        "label": "济阳县",
-        "value": "370125"
-      },
-      {
-        "label": "商河县",
-        "value": "370126"
-      },
-      {
-        "label": "济南高新技术产业开发区",
-        "value": "370171"
-      }
-    ],
-    [{
-        "label": "市南区",
-        "value": "370202"
-      },
-      {
-        "label": "市北区",
-        "value": "370203"
-      },
-      {
-        "label": "黄岛区",
-        "value": "370211"
-      },
-      {
-        "label": "崂山区",
-        "value": "370212"
-      },
-      {
-        "label": "李沧区",
-        "value": "370213"
-      },
-      {
-        "label": "城阳区",
-        "value": "370214"
-      },
-      {
-        "label": "即墨区",
-        "value": "370215"
-      },
-      {
-        "label": "青岛高新技术产业开发区",
-        "value": "370271"
-      },
-      {
-        "label": "胶州市",
-        "value": "370281"
-      },
-      {
-        "label": "平度市",
-        "value": "370283"
-      },
-      {
-        "label": "莱西市",
-        "value": "370285"
-      }
-    ],
-    [{
-        "label": "淄川区",
-        "value": "370302"
-      },
-      {
-        "label": "张店区",
-        "value": "370303"
-      },
-      {
-        "label": "博山区",
-        "value": "370304"
-      },
-      {
-        "label": "临淄区",
-        "value": "370305"
-      },
-      {
-        "label": "周村区",
-        "value": "370306"
-      },
-      {
-        "label": "桓台县",
-        "value": "370321"
-      },
-      {
-        "label": "高青县",
-        "value": "370322"
-      },
-      {
-        "label": "沂源县",
-        "value": "370323"
-      }
-    ],
-    [{
-        "label": "市中区",
-        "value": "370402"
-      },
-      {
-        "label": "薛城区",
-        "value": "370403"
-      },
-      {
-        "label": "峄城区",
-        "value": "370404"
-      },
-      {
-        "label": "台儿庄区",
-        "value": "370405"
-      },
-      {
-        "label": "山亭区",
-        "value": "370406"
-      },
-      {
-        "label": "滕州市",
-        "value": "370481"
-      }
-    ],
-    [{
-        "label": "东营区",
-        "value": "370502"
-      },
-      {
-        "label": "河口区",
-        "value": "370503"
-      },
-      {
-        "label": "垦利区",
-        "value": "370505"
-      },
-      {
-        "label": "利津县",
-        "value": "370522"
-      },
-      {
-        "label": "广饶县",
-        "value": "370523"
-      },
-      {
-        "label": "东营经济技术开发区",
-        "value": "370571"
-      },
-      {
-        "label": "东营港经济开发区",
-        "value": "370572"
-      }
-    ],
-    [{
-        "label": "芝罘区",
-        "value": "370602"
-      },
-      {
-        "label": "福山区",
-        "value": "370611"
-      },
-      {
-        "label": "牟平区",
-        "value": "370612"
-      },
-      {
-        "label": "莱山区",
-        "value": "370613"
-      },
-      {
-        "label": "长岛县",
-        "value": "370634"
-      },
-      {
-        "label": "烟台高新技术产业开发区",
-        "value": "370671"
-      },
-      {
-        "label": "烟台经济技术开发区",
-        "value": "370672"
-      },
-      {
-        "label": "龙口市",
-        "value": "370681"
-      },
-      {
-        "label": "莱阳市",
-        "value": "370682"
-      },
-      {
-        "label": "莱州市",
-        "value": "370683"
-      },
-      {
-        "label": "蓬莱市",
-        "value": "370684"
-      },
-      {
-        "label": "招远市",
-        "value": "370685"
-      },
-      {
-        "label": "栖霞市",
-        "value": "370686"
-      },
-      {
-        "label": "海阳市",
-        "value": "370687"
-      }
-    ],
-    [{
-        "label": "潍城区",
-        "value": "370702"
-      },
-      {
-        "label": "寒亭区",
-        "value": "370703"
-      },
-      {
-        "label": "坊子区",
-        "value": "370704"
-      },
-      {
-        "label": "奎文区",
-        "value": "370705"
-      },
-      {
-        "label": "临朐县",
-        "value": "370724"
-      },
-      {
-        "label": "昌乐县",
-        "value": "370725"
-      },
-      {
-        "label": "潍坊滨海经济技术开发区",
-        "value": "370772"
-      },
-      {
-        "label": "青州市",
-        "value": "370781"
-      },
-      {
-        "label": "诸城市",
-        "value": "370782"
-      },
-      {
-        "label": "寿光市",
-        "value": "370783"
-      },
-      {
-        "label": "安丘市",
-        "value": "370784"
-      },
-      {
-        "label": "高密市",
-        "value": "370785"
-      },
-      {
-        "label": "昌邑市",
-        "value": "370786"
-      }
-    ],
-    [{
-        "label": "任城区",
-        "value": "370811"
-      },
-      {
-        "label": "兖州区",
-        "value": "370812"
-      },
-      {
-        "label": "微山县",
-        "value": "370826"
-      },
-      {
-        "label": "鱼台县",
-        "value": "370827"
-      },
-      {
-        "label": "金乡县",
-        "value": "370828"
-      },
-      {
-        "label": "嘉祥县",
-        "value": "370829"
-      },
-      {
-        "label": "汶上县",
-        "value": "370830"
-      },
-      {
-        "label": "泗水县",
-        "value": "370831"
-      },
-      {
-        "label": "梁山县",
-        "value": "370832"
-      },
-      {
-        "label": "济宁高新技术产业开发区",
-        "value": "370871"
-      },
-      {
-        "label": "曲阜市",
-        "value": "370881"
-      },
-      {
-        "label": "邹城市",
-        "value": "370883"
-      }
-    ],
-    [{
-        "label": "泰山区",
-        "value": "370902"
-      },
-      {
-        "label": "岱岳区",
-        "value": "370911"
-      },
-      {
-        "label": "宁阳县",
-        "value": "370921"
-      },
-      {
-        "label": "东平县",
-        "value": "370923"
-      },
-      {
-        "label": "新泰市",
-        "value": "370982"
-      },
-      {
-        "label": "肥城市",
-        "value": "370983"
-      }
-    ],
-    [{
-        "label": "环翠区",
-        "value": "371002"
-      },
-      {
-        "label": "文登区",
-        "value": "371003"
-      },
-      {
-        "label": "威海火炬高技术产业开发区",
-        "value": "371071"
-      },
-      {
-        "label": "威海经济技术开发区",
-        "value": "371072"
-      },
-      {
-        "label": "威海临港经济技术开发区",
-        "value": "371073"
-      },
-      {
-        "label": "荣成市",
-        "value": "371082"
-      },
-      {
-        "label": "乳山市",
-        "value": "371083"
-      }
-    ],
-    [{
-        "label": "东港区",
-        "value": "371102"
-      },
-      {
-        "label": "岚山区",
-        "value": "371103"
-      },
-      {
-        "label": "五莲县",
-        "value": "371121"
-      },
-      {
-        "label": "莒县",
-        "value": "371122"
-      },
-      {
-        "label": "日照经济技术开发区",
-        "value": "371171"
-      },
-      {
-        "label": "日照国际海洋城",
-        "value": "371172"
-      }
-    ],
-    [{
-        "label": "莱城区",
-        "value": "371202"
-      },
-      {
-        "label": "钢城区",
-        "value": "371203"
-      }
-    ],
-    [{
-        "label": "兰山区",
-        "value": "371302"
-      },
-      {
-        "label": "罗庄区",
-        "value": "371311"
-      },
-      {
-        "label": "河东区",
-        "value": "371312"
-      },
-      {
-        "label": "沂南县",
-        "value": "371321"
-      },
-      {
-        "label": "郯城县",
-        "value": "371322"
-      },
-      {
-        "label": "沂水县",
-        "value": "371323"
-      },
-      {
-        "label": "兰陵县",
-        "value": "371324"
-      },
-      {
-        "label": "费县",
-        "value": "371325"
-      },
-      {
-        "label": "平邑县",
-        "value": "371326"
-      },
-      {
-        "label": "莒南县",
-        "value": "371327"
-      },
-      {
-        "label": "蒙阴县",
-        "value": "371328"
-      },
-      {
-        "label": "临沭县",
-        "value": "371329"
-      },
-      {
-        "label": "临沂高新技术产业开发区",
-        "value": "371371"
-      },
-      {
-        "label": "临沂经济技术开发区",
-        "value": "371372"
-      },
-      {
-        "label": "临沂临港经济开发区",
-        "value": "371373"
-      }
-    ],
-    [{
-        "label": "德城区",
-        "value": "371402"
-      },
-      {
-        "label": "陵城区",
-        "value": "371403"
-      },
-      {
-        "label": "宁津县",
-        "value": "371422"
-      },
-      {
-        "label": "庆云县",
-        "value": "371423"
-      },
-      {
-        "label": "临邑县",
-        "value": "371424"
-      },
-      {
-        "label": "齐河县",
-        "value": "371425"
-      },
-      {
-        "label": "平原县",
-        "value": "371426"
-      },
-      {
-        "label": "夏津县",
-        "value": "371427"
-      },
-      {
-        "label": "武城县",
-        "value": "371428"
-      },
-      {
-        "label": "德州经济技术开发区",
-        "value": "371471"
-      },
-      {
-        "label": "德州运河经济开发区",
-        "value": "371472"
-      },
-      {
-        "label": "乐陵市",
-        "value": "371481"
-      },
-      {
-        "label": "禹城市",
-        "value": "371482"
-      }
-    ],
-    [{
-        "label": "东昌府区",
-        "value": "371502"
-      },
-      {
-        "label": "阳谷县",
-        "value": "371521"
-      },
-      {
-        "label": "莘县",
-        "value": "371522"
-      },
-      {
-        "label": "茌平县",
-        "value": "371523"
-      },
-      {
-        "label": "东阿县",
-        "value": "371524"
-      },
-      {
-        "label": "冠县",
-        "value": "371525"
-      },
-      {
-        "label": "高唐县",
-        "value": "371526"
-      },
-      {
-        "label": "临清市",
-        "value": "371581"
-      }
-    ],
-    [{
-        "label": "滨城区",
-        "value": "371602"
-      },
-      {
-        "label": "沾化区",
-        "value": "371603"
-      },
-      {
-        "label": "惠民县",
-        "value": "371621"
-      },
-      {
-        "label": "阳信县",
-        "value": "371622"
-      },
-      {
-        "label": "无棣县",
-        "value": "371623"
-      },
-      {
-        "label": "博兴县",
-        "value": "371625"
-      },
-      {
-        "label": "邹平县",
-        "value": "371626"
-      }
-    ],
-    [{
-        "label": "牡丹区",
-        "value": "371702"
-      },
-      {
-        "label": "定陶区",
-        "value": "371703"
-      },
-      {
-        "label": "曹县",
-        "value": "371721"
-      },
-      {
-        "label": "单县",
-        "value": "371722"
-      },
-      {
-        "label": "成武县",
-        "value": "371723"
-      },
-      {
-        "label": "巨野县",
-        "value": "371724"
-      },
-      {
-        "label": "郓城县",
-        "value": "371725"
-      },
-      {
-        "label": "鄄城县",
-        "value": "371726"
-      },
-      {
-        "label": "东明县",
-        "value": "371728"
-      },
-      {
-        "label": "菏泽经济技术开发区",
-        "value": "371771"
-      },
-      {
-        "label": "菏泽高新技术开发区",
-        "value": "371772"
-      }
-    ]
-  ],
-  [
-    [{
-        "label": "中原区",
-        "value": "410102"
-      },
-      {
-        "label": "二七区",
-        "value": "410103"
-      },
-      {
-        "label": "管城回族区",
-        "value": "410104"
-      },
-      {
-        "label": "金水区",
-        "value": "410105"
-      },
-      {
-        "label": "上街区",
-        "value": "410106"
-      },
-      {
-        "label": "惠济区",
-        "value": "410108"
-      },
-      {
-        "label": "中牟县",
-        "value": "410122"
-      },
-      {
-        "label": "郑州经济技术开发区",
-        "value": "410171"
-      },
-      {
-        "label": "郑州高新技术产业开发区",
-        "value": "410172"
-      },
-      {
-        "label": "郑州航空港经济综合实验区",
-        "value": "410173"
-      },
-      {
-        "label": "巩义市",
-        "value": "410181"
-      },
-      {
-        "label": "荥阳市",
-        "value": "410182"
-      },
-      {
-        "label": "新密市",
-        "value": "410183"
-      },
-      {
-        "label": "新郑市",
-        "value": "410184"
-      },
-      {
-        "label": "登封市",
-        "value": "410185"
-      }
-    ],
-    [{
-        "label": "龙亭区",
-        "value": "410202"
-      },
-      {
-        "label": "顺河回族区",
-        "value": "410203"
-      },
-      {
-        "label": "鼓楼区",
-        "value": "410204"
-      },
-      {
-        "label": "禹王台区",
-        "value": "410205"
-      },
-      {
-        "label": "祥符区",
-        "value": "410212"
-      },
-      {
-        "label": "杞县",
-        "value": "410221"
-      },
-      {
-        "label": "通许县",
-        "value": "410222"
-      },
-      {
-        "label": "尉氏县",
-        "value": "410223"
-      },
-      {
-        "label": "兰考县",
-        "value": "410225"
-      }
-    ],
-    [{
-        "label": "老城区",
-        "value": "410302"
-      },
-      {
-        "label": "西工区",
-        "value": "410303"
-      },
-      {
-        "label": "瀍河回族区",
-        "value": "410304"
-      },
-      {
-        "label": "涧西区",
-        "value": "410305"
-      },
-      {
-        "label": "吉利区",
-        "value": "410306"
-      },
-      {
-        "label": "洛龙区",
-        "value": "410311"
-      },
-      {
-        "label": "孟津县",
-        "value": "410322"
-      },
-      {
-        "label": "新安县",
-        "value": "410323"
-      },
-      {
-        "label": "栾川县",
-        "value": "410324"
-      },
-      {
-        "label": "嵩县",
-        "value": "410325"
-      },
-      {
-        "label": "汝阳县",
-        "value": "410326"
-      },
-      {
-        "label": "宜阳县",
-        "value": "410327"
-      },
-      {
-        "label": "洛宁县",
-        "value": "410328"
-      },
-      {
-        "label": "伊川县",
-        "value": "410329"
-      },
-      {
-        "label": "洛阳高新技术产业开发区",
-        "value": "410371"
-      },
-      {
-        "label": "偃师市",
-        "value": "410381"
-      }
-    ],
-    [{
-        "label": "新华区",
-        "value": "410402"
-      },
-      {
-        "label": "卫东区",
-        "value": "410403"
-      },
-      {
-        "label": "石龙区",
-        "value": "410404"
-      },
-      {
-        "label": "湛河区",
-        "value": "410411"
-      },
-      {
-        "label": "宝丰县",
-        "value": "410421"
-      },
-      {
-        "label": "叶县",
-        "value": "410422"
-      },
-      {
-        "label": "鲁山县",
-        "value": "410423"
-      },
-      {
-        "label": "郏县",
-        "value": "410425"
-      },
-      {
-        "label": "平顶山高新技术产业开发区",
-        "value": "410471"
-      },
-      {
-        "label": "平顶山市新城区",
-        "value": "410472"
-      },
-      {
-        "label": "舞钢市",
-        "value": "410481"
-      },
-      {
-        "label": "汝州市",
-        "value": "410482"
-      }
-    ],
-    [{
-        "label": "文峰区",
-        "value": "410502"
-      },
-      {
-        "label": "北关区",
-        "value": "410503"
-      },
-      {
-        "label": "殷都区",
-        "value": "410505"
-      },
-      {
-        "label": "龙安区",
-        "value": "410506"
-      },
-      {
-        "label": "安阳县",
-        "value": "410522"
-      },
-      {
-        "label": "汤阴县",
-        "value": "410523"
-      },
-      {
-        "label": "滑县",
-        "value": "410526"
-      },
-      {
-        "label": "内黄县",
-        "value": "410527"
-      },
-      {
-        "label": "安阳高新技术产业开发区",
-        "value": "410571"
-      },
-      {
-        "label": "林州市",
-        "value": "410581"
-      }
-    ],
-    [{
-        "label": "鹤山区",
-        "value": "410602"
-      },
-      {
-        "label": "山城区",
-        "value": "410603"
-      },
-      {
-        "label": "淇滨区",
-        "value": "410611"
-      },
-      {
-        "label": "浚县",
-        "value": "410621"
-      },
-      {
-        "label": "淇县",
-        "value": "410622"
-      },
-      {
-        "label": "鹤壁经济技术开发区",
-        "value": "410671"
-      }
-    ],
-    [{
-        "label": "红旗区",
-        "value": "410702"
-      },
-      {
-        "label": "卫滨区",
-        "value": "410703"
-      },
-      {
-        "label": "凤泉区",
-        "value": "410704"
-      },
-      {
-        "label": "牧野区",
-        "value": "410711"
-      },
-      {
-        "label": "新乡县",
-        "value": "410721"
-      },
-      {
-        "label": "获嘉县",
-        "value": "410724"
-      },
-      {
-        "label": "原阳县",
-        "value": "410725"
-      },
-      {
-        "label": "延津县",
-        "value": "410726"
-      },
-      {
-        "label": "封丘县",
-        "value": "410727"
-      },
-      {
-        "label": "长垣县",
-        "value": "410728"
-      },
-      {
-        "label": "新乡高新技术产业开发区",
-        "value": "410771"
-      },
-      {
-        "label": "新乡经济技术开发区",
-        "value": "410772"
-      },
-      {
-        "label": "新乡市平原城乡一体化示范区",
-        "value": "410773"
-      },
-      {
-        "label": "卫辉市",
-        "value": "410781"
-      },
-      {
-        "label": "辉县市",
-        "value": "410782"
-      }
-    ],
-    [{
-        "label": "解放区",
-        "value": "410802"
-      },
-      {
-        "label": "中站区",
-        "value": "410803"
-      },
-      {
-        "label": "马村区",
-        "value": "410804"
-      },
-      {
-        "label": "山阳区",
-        "value": "410811"
-      },
-      {
-        "label": "修武县",
-        "value": "410821"
-      },
-      {
-        "label": "博爱县",
-        "value": "410822"
-      },
-      {
-        "label": "武陟县",
-        "value": "410823"
-      },
-      {
-        "label": "温县",
-        "value": "410825"
-      },
-      {
-        "label": "焦作城乡一体化示范区",
-        "value": "410871"
-      },
-      {
-        "label": "沁阳市",
-        "value": "410882"
-      },
-      {
-        "label": "孟州市",
-        "value": "410883"
-      }
-    ],
-    [{
-        "label": "华龙区",
-        "value": "410902"
-      },
-      {
-        "label": "清丰县",
-        "value": "410922"
-      },
-      {
-        "label": "南乐县",
-        "value": "410923"
-      },
-      {
-        "label": "范县",
-        "value": "410926"
-      },
-      {
-        "label": "台前县",
-        "value": "410927"
-      },
-      {
-        "label": "濮阳县",
-        "value": "410928"
-      },
-      {
-        "label": "河南濮阳工业园区",
-        "value": "410971"
-      },
-      {
-        "label": "濮阳经济技术开发区",
-        "value": "410972"
-      }
-    ],
-    [{
-        "label": "魏都区",
-        "value": "411002"
-      },
-      {
-        "label": "建安区",
-        "value": "411003"
-      },
-      {
-        "label": "鄢陵县",
-        "value": "411024"
-      },
-      {
-        "label": "襄城县",
-        "value": "411025"
-      },
-      {
-        "label": "许昌经济技术开发区",
-        "value": "411071"
-      },
-      {
-        "label": "禹州市",
-        "value": "411081"
-      },
-      {
-        "label": "长葛市",
-        "value": "411082"
-      }
-    ],
-    [{
-        "label": "源汇区",
-        "value": "411102"
-      },
-      {
-        "label": "郾城区",
-        "value": "411103"
-      },
-      {
-        "label": "召陵区",
-        "value": "411104"
-      },
-      {
-        "label": "舞阳县",
-        "value": "411121"
-      },
-      {
-        "label": "临颍县",
-        "value": "411122"
-      },
-      {
-        "label": "漯河经济技术开发区",
-        "value": "411171"
-      }
-    ],
-    [{
-        "label": "湖滨区",
-        "value": "411202"
-      },
-      {
-        "label": "陕州区",
-        "value": "411203"
-      },
-      {
-        "label": "渑池县",
-        "value": "411221"
-      },
-      {
-        "label": "卢氏县",
-        "value": "411224"
-      },
-      {
-        "label": "河南三门峡经济开发区",
-        "value": "411271"
-      },
-      {
-        "label": "义马市",
-        "value": "411281"
-      },
-      {
-        "label": "灵宝市",
-        "value": "411282"
-      }
-    ],
-    [{
-        "label": "宛城区",
-        "value": "411302"
-      },
-      {
-        "label": "卧龙区",
-        "value": "411303"
-      },
-      {
-        "label": "南召县",
-        "value": "411321"
-      },
-      {
-        "label": "方城县",
-        "value": "411322"
-      },
-      {
-        "label": "西峡县",
-        "value": "411323"
-      },
-      {
-        "label": "镇平县",
-        "value": "411324"
-      },
-      {
-        "label": "内乡县",
-        "value": "411325"
-      },
-      {
-        "label": "淅川县",
-        "value": "411326"
-      },
-      {
-        "label": "社旗县",
-        "value": "411327"
-      },
-      {
-        "label": "唐河县",
-        "value": "411328"
-      },
-      {
-        "label": "新野县",
-        "value": "411329"
-      },
-      {
-        "label": "桐柏县",
-        "value": "411330"
-      },
-      {
-        "label": "南阳高新技术产业开发区",
-        "value": "411371"
-      },
-      {
-        "label": "南阳市城乡一体化示范区",
-        "value": "411372"
-      },
-      {
-        "label": "邓州市",
-        "value": "411381"
-      }
-    ],
-    [{
-        "label": "梁园区",
-        "value": "411402"
-      },
-      {
-        "label": "睢阳区",
-        "value": "411403"
-      },
-      {
-        "label": "民权县",
-        "value": "411421"
-      },
-      {
-        "label": "睢县",
-        "value": "411422"
-      },
-      {
-        "label": "宁陵县",
-        "value": "411423"
-      },
-      {
-        "label": "柘城县",
-        "value": "411424"
-      },
-      {
-        "label": "虞城县",
-        "value": "411425"
-      },
-      {
-        "label": "夏邑县",
-        "value": "411426"
-      },
-      {
-        "label": "豫东综合物流产业聚集区",
-        "value": "411471"
-      },
-      {
-        "label": "河南商丘经济开发区",
-        "value": "411472"
-      },
-      {
-        "label": "永城市",
-        "value": "411481"
-      }
-    ],
-    [{
-        "label": "浉河区",
-        "value": "411502"
-      },
-      {
-        "label": "平桥区",
-        "value": "411503"
-      },
-      {
-        "label": "罗山县",
-        "value": "411521"
-      },
-      {
-        "label": "光山县",
-        "value": "411522"
-      },
-      {
-        "label": "新县",
-        "value": "411523"
-      },
-      {
-        "label": "商城县",
-        "value": "411524"
-      },
-      {
-        "label": "固始县",
-        "value": "411525"
-      },
-      {
-        "label": "潢川县",
-        "value": "411526"
-      },
-      {
-        "label": "淮滨县",
-        "value": "411527"
-      },
-      {
-        "label": "息县",
-        "value": "411528"
-      },
-      {
-        "label": "信阳高新技术产业开发区",
-        "value": "411571"
-      }
-    ],
-    [{
-        "label": "川汇区",
-        "value": "411602"
-      },
-      {
-        "label": "扶沟县",
-        "value": "411621"
-      },
-      {
-        "label": "西华县",
-        "value": "411622"
-      },
-      {
-        "label": "商水县",
-        "value": "411623"
-      },
-      {
-        "label": "沈丘县",
-        "value": "411624"
-      },
-      {
-        "label": "郸城县",
-        "value": "411625"
-      },
-      {
-        "label": "淮阳县",
-        "value": "411626"
-      },
-      {
-        "label": "太康县",
-        "value": "411627"
-      },
-      {
-        "label": "鹿邑县",
-        "value": "411628"
-      },
-      {
-        "label": "河南周口经济开发区",
-        "value": "411671"
-      },
-      {
-        "label": "项城市",
-        "value": "411681"
-      }
-    ],
-    [{
-        "label": "驿城区",
-        "value": "411702"
-      },
-      {
-        "label": "西平县",
-        "value": "411721"
-      },
-      {
-        "label": "上蔡县",
-        "value": "411722"
-      },
-      {
-        "label": "平舆县",
-        "value": "411723"
-      },
-      {
-        "label": "正阳县",
-        "value": "411724"
-      },
-      {
-        "label": "确山县",
-        "value": "411725"
-      },
-      {
-        "label": "泌阳县",
-        "value": "411726"
-      },
-      {
-        "label": "汝南县",
-        "value": "411727"
-      },
-      {
-        "label": "遂平县",
-        "value": "411728"
-      },
-      {
-        "label": "新蔡县",
-        "value": "411729"
-      },
-      {
-        "label": "河南驻马店经济开发区",
-        "value": "411771"
-      }
-    ],
-    [{
-      "label": "济源市",
-      "value": "419001"
-    }]
-  ],
-  [
-    [{
-        "label": "江岸区",
-        "value": "420102"
-      },
-      {
-        "label": "江汉区",
-        "value": "420103"
-      },
-      {
-        "label": "硚口区",
-        "value": "420104"
-      },
-      {
-        "label": "汉阳区",
-        "value": "420105"
-      },
-      {
-        "label": "武昌区",
-        "value": "420106"
-      },
-      {
-        "label": "青山区",
-        "value": "420107"
-      },
-      {
-        "label": "洪山区",
-        "value": "420111"
-      },
-      {
-        "label": "东西湖区",
-        "value": "420112"
-      },
-      {
-        "label": "汉南区",
-        "value": "420113"
-      },
-      {
-        "label": "蔡甸区",
-        "value": "420114"
-      },
-      {
-        "label": "江夏区",
-        "value": "420115"
-      },
-      {
-        "label": "黄陂区",
-        "value": "420116"
-      },
-      {
-        "label": "新洲区",
-        "value": "420117"
-      }
-    ],
-    [{
-        "label": "黄石港区",
-        "value": "420202"
-      },
-      {
-        "label": "西塞山区",
-        "value": "420203"
-      },
-      {
-        "label": "下陆区",
-        "value": "420204"
-      },
-      {
-        "label": "铁山区",
-        "value": "420205"
-      },
-      {
-        "label": "阳新县",
-        "value": "420222"
-      },
-      {
-        "label": "大冶市",
-        "value": "420281"
-      }
-    ],
-    [{
-        "label": "茅箭区",
-        "value": "420302"
-      },
-      {
-        "label": "张湾区",
-        "value": "420303"
-      },
-      {
-        "label": "郧阳区",
-        "value": "420304"
-      },
-      {
-        "label": "郧西县",
-        "value": "420322"
-      },
-      {
-        "label": "竹山县",
-        "value": "420323"
-      },
-      {
-        "label": "竹溪县",
-        "value": "420324"
-      },
-      {
-        "label": "房县",
-        "value": "420325"
-      },
-      {
-        "label": "丹江口市",
-        "value": "420381"
-      }
-    ],
-    [{
-        "label": "西陵区",
-        "value": "420502"
-      },
-      {
-        "label": "伍家岗区",
-        "value": "420503"
-      },
-      {
-        "label": "点军区",
-        "value": "420504"
-      },
-      {
-        "label": "猇亭区",
-        "value": "420505"
-      },
-      {
-        "label": "夷陵区",
-        "value": "420506"
-      },
-      {
-        "label": "远安县",
-        "value": "420525"
-      },
-      {
-        "label": "兴山县",
-        "value": "420526"
-      },
-      {
-        "label": "秭归县",
-        "value": "420527"
-      },
-      {
-        "label": "长阳土家族自治县",
-        "value": "420528"
-      },
-      {
-        "label": "五峰土家族自治县",
-        "value": "420529"
-      },
-      {
-        "label": "宜都市",
-        "value": "420581"
-      },
-      {
-        "label": "当阳市",
-        "value": "420582"
-      },
-      {
-        "label": "枝江市",
-        "value": "420583"
-      }
-    ],
-    [{
-        "label": "襄城区",
-        "value": "420602"
-      },
-      {
-        "label": "樊城区",
-        "value": "420606"
-      },
-      {
-        "label": "襄州区",
-        "value": "420607"
-      },
-      {
-        "label": "南漳县",
-        "value": "420624"
-      },
-      {
-        "label": "谷城县",
-        "value": "420625"
-      },
-      {
-        "label": "保康县",
-        "value": "420626"
-      },
-      {
-        "label": "老河口市",
-        "value": "420682"
-      },
-      {
-        "label": "枣阳市",
-        "value": "420683"
-      },
-      {
-        "label": "宜城市",
-        "value": "420684"
-      }
-    ],
-    [{
-        "label": "梁子湖区",
-        "value": "420702"
-      },
-      {
-        "label": "华容区",
-        "value": "420703"
-      },
-      {
-        "label": "鄂城区",
-        "value": "420704"
-      }
-    ],
-    [{
-        "label": "东宝区",
-        "value": "420802"
-      },
-      {
-        "label": "掇刀区",
-        "value": "420804"
-      },
-      {
-        "label": "京山县",
-        "value": "420821"
-      },
-      {
-        "label": "沙洋县",
-        "value": "420822"
-      },
-      {
-        "label": "钟祥市",
-        "value": "420881"
-      }
-    ],
-    [{
-        "label": "孝南区",
-        "value": "420902"
-      },
-      {
-        "label": "孝昌县",
-        "value": "420921"
-      },
-      {
-        "label": "大悟县",
-        "value": "420922"
-      },
-      {
-        "label": "云梦县",
-        "value": "420923"
-      },
-      {
-        "label": "应城市",
-        "value": "420981"
-      },
-      {
-        "label": "安陆市",
-        "value": "420982"
-      },
-      {
-        "label": "汉川市",
-        "value": "420984"
-      }
-    ],
-    [{
-        "label": "沙市区",
-        "value": "421002"
-      },
-      {
-        "label": "荆州区",
-        "value": "421003"
-      },
-      {
-        "label": "公安县",
-        "value": "421022"
-      },
-      {
-        "label": "监利县",
-        "value": "421023"
-      },
-      {
-        "label": "江陵县",
-        "value": "421024"
-      },
-      {
-        "label": "荆州经济技术开发区",
-        "value": "421071"
-      },
-      {
-        "label": "石首市",
-        "value": "421081"
-      },
-      {
-        "label": "洪湖市",
-        "value": "421083"
-      },
-      {
-        "label": "松滋市",
-        "value": "421087"
-      }
-    ],
-    [{
-        "label": "黄州区",
-        "value": "421102"
-      },
-      {
-        "label": "团风县",
-        "value": "421121"
-      },
-      {
-        "label": "红安县",
-        "value": "421122"
-      },
-      {
-        "label": "罗田县",
-        "value": "421123"
-      },
-      {
-        "label": "英山县",
-        "value": "421124"
-      },
-      {
-        "label": "浠水县",
-        "value": "421125"
-      },
-      {
-        "label": "蕲春县",
-        "value": "421126"
-      },
-      {
-        "label": "黄梅县",
-        "value": "421127"
-      },
-      {
-        "label": "龙感湖管理区",
-        "value": "421171"
-      },
-      {
-        "label": "麻城市",
-        "value": "421181"
-      },
-      {
-        "label": "武穴市",
-        "value": "421182"
-      }
-    ],
-    [{
-        "label": "咸安区",
-        "value": "421202"
-      },
-      {
-        "label": "嘉鱼县",
-        "value": "421221"
-      },
-      {
-        "label": "通城县",
-        "value": "421222"
-      },
-      {
-        "label": "崇阳县",
-        "value": "421223"
-      },
-      {
-        "label": "通山县",
-        "value": "421224"
-      },
-      {
-        "label": "赤壁市",
-        "value": "421281"
-      }
-    ],
-    [{
-        "label": "曾都区",
-        "value": "421303"
-      },
-      {
-        "label": "随县",
-        "value": "421321"
-      },
-      {
-        "label": "广水市",
-        "value": "421381"
-      }
-    ],
-    [{
-        "label": "恩施市",
-        "value": "422801"
-      },
-      {
-        "label": "利川市",
-        "value": "422802"
-      },
-      {
-        "label": "建始县",
-        "value": "422822"
-      },
-      {
-        "label": "巴东县",
-        "value": "422823"
-      },
-      {
-        "label": "宣恩县",
-        "value": "422825"
-      },
-      {
-        "label": "咸丰县",
-        "value": "422826"
-      },
-      {
-        "label": "来凤县",
-        "value": "422827"
-      },
-      {
-        "label": "鹤峰县",
-        "value": "422828"
-      }
-    ],
-    [{
-        "label": "仙桃市",
-        "value": "429004"
-      },
-      {
-        "label": "潜江市",
-        "value": "429005"
-      },
-      {
-        "label": "天门市",
-        "value": "429006"
-      },
-      {
-        "label": "神农架林区",
-        "value": "429021"
-      }
-    ]
-  ],
-  [
-    [{
-        "label": "芙蓉区",
-        "value": "430102"
-      },
-      {
-        "label": "天心区",
-        "value": "430103"
-      },
-      {
-        "label": "岳麓区",
-        "value": "430104"
-      },
-      {
-        "label": "开福区",
-        "value": "430105"
-      },
-      {
-        "label": "雨花区",
-        "value": "430111"
-      },
-      {
-        "label": "望城区",
-        "value": "430112"
-      },
-      {
-        "label": "长沙县",
-        "value": "430121"
-      },
-      {
-        "label": "浏阳市",
-        "value": "430181"
-      },
-      {
-        "label": "宁乡市",
-        "value": "430182"
-      }
-    ],
-    [{
-        "label": "荷塘区",
-        "value": "430202"
-      },
-      {
-        "label": "芦淞区",
-        "value": "430203"
-      },
-      {
-        "label": "石峰区",
-        "value": "430204"
-      },
-      {
-        "label": "天元区",
-        "value": "430211"
-      },
-      {
-        "label": "株洲县",
-        "value": "430221"
-      },
-      {
-        "label": "攸县",
-        "value": "430223"
-      },
-      {
-        "label": "茶陵县",
-        "value": "430224"
-      },
-      {
-        "label": "炎陵县",
-        "value": "430225"
-      },
-      {
-        "label": "云龙示范区",
-        "value": "430271"
-      },
-      {
-        "label": "醴陵市",
-        "value": "430281"
-      }
-    ],
-    [{
-        "label": "雨湖区",
-        "value": "430302"
-      },
-      {
-        "label": "岳塘区",
-        "value": "430304"
-      },
-      {
-        "label": "湘潭县",
-        "value": "430321"
-      },
-      {
-        "label": "湖南湘潭高新技术产业园区",
-        "value": "430371"
-      },
-      {
-        "label": "湘潭昭山示范区",
-        "value": "430372"
-      },
-      {
-        "label": "湘潭九华示范区",
-        "value": "430373"
-      },
-      {
-        "label": "湘乡市",
-        "value": "430381"
-      },
-      {
-        "label": "韶山市",
-        "value": "430382"
-      }
-    ],
-    [{
-        "label": "珠晖区",
-        "value": "430405"
-      },
-      {
-        "label": "雁峰区",
-        "value": "430406"
-      },
-      {
-        "label": "石鼓区",
-        "value": "430407"
-      },
-      {
-        "label": "蒸湘区",
-        "value": "430408"
-      },
-      {
-        "label": "南岳区",
-        "value": "430412"
-      },
-      {
-        "label": "衡阳县",
-        "value": "430421"
-      },
-      {
-        "label": "衡南县",
-        "value": "430422"
-      },
-      {
-        "label": "衡山县",
-        "value": "430423"
-      },
-      {
-        "label": "衡东县",
-        "value": "430424"
-      },
-      {
-        "label": "祁东县",
-        "value": "430426"
-      },
-      {
-        "label": "衡阳综合保税区",
-        "value": "430471"
-      },
-      {
-        "label": "湖南衡阳高新技术产业园区",
-        "value": "430472"
-      },
-      {
-        "label": "湖南衡阳松木经济开发区",
-        "value": "430473"
-      },
-      {
-        "label": "耒阳市",
-        "value": "430481"
-      },
-      {
-        "label": "常宁市",
-        "value": "430482"
-      }
-    ],
-    [{
-        "label": "双清区",
-        "value": "430502"
-      },
-      {
-        "label": "大祥区",
-        "value": "430503"
-      },
-      {
-        "label": "北塔区",
-        "value": "430511"
-      },
-      {
-        "label": "邵东县",
-        "value": "430521"
-      },
-      {
-        "label": "新邵县",
-        "value": "430522"
-      },
-      {
-        "label": "邵阳县",
-        "value": "430523"
-      },
-      {
-        "label": "隆回县",
-        "value": "430524"
-      },
-      {
-        "label": "洞口县",
-        "value": "430525"
-      },
-      {
-        "label": "绥宁县",
-        "value": "430527"
-      },
-      {
-        "label": "新宁县",
-        "value": "430528"
-      },
-      {
-        "label": "城步苗族自治县",
-        "value": "430529"
-      },
-      {
-        "label": "武冈市",
-        "value": "430581"
-      }
-    ],
-    [{
-        "label": "岳阳楼区",
-        "value": "430602"
-      },
-      {
-        "label": "云溪区",
-        "value": "430603"
-      },
-      {
-        "label": "君山区",
-        "value": "430611"
-      },
-      {
-        "label": "岳阳县",
-        "value": "430621"
-      },
-      {
-        "label": "华容县",
-        "value": "430623"
-      },
-      {
-        "label": "湘阴县",
-        "value": "430624"
-      },
-      {
-        "label": "平江县",
-        "value": "430626"
-      },
-      {
-        "label": "岳阳市屈原管理区",
-        "value": "430671"
-      },
-      {
-        "label": "汨罗市",
-        "value": "430681"
-      },
-      {
-        "label": "临湘市",
-        "value": "430682"
-      }
-    ],
-    [{
-        "label": "武陵区",
-        "value": "430702"
-      },
-      {
-        "label": "鼎城区",
-        "value": "430703"
-      },
-      {
-        "label": "安乡县",
-        "value": "430721"
-      },
-      {
-        "label": "汉寿县",
-        "value": "430722"
-      },
-      {
-        "label": "澧县",
-        "value": "430723"
-      },
-      {
-        "label": "临澧县",
-        "value": "430724"
-      },
-      {
-        "label": "桃源县",
-        "value": "430725"
-      },
-      {
-        "label": "石门县",
-        "value": "430726"
-      },
-      {
-        "label": "常德市西洞庭管理区",
-        "value": "430771"
-      },
-      {
-        "label": "津市市",
-        "value": "430781"
-      }
-    ],
-    [{
-        "label": "永定区",
-        "value": "430802"
-      },
-      {
-        "label": "武陵源区",
-        "value": "430811"
-      },
-      {
-        "label": "慈利县",
-        "value": "430821"
-      },
-      {
-        "label": "桑植县",
-        "value": "430822"
-      }
-    ],
-    [{
-        "label": "资阳区",
-        "value": "430902"
-      },
-      {
-        "label": "赫山区",
-        "value": "430903"
-      },
-      {
-        "label": "南县",
-        "value": "430921"
-      },
-      {
-        "label": "桃江县",
-        "value": "430922"
-      },
-      {
-        "label": "安化县",
-        "value": "430923"
-      },
-      {
-        "label": "益阳市大通湖管理区",
-        "value": "430971"
-      },
-      {
-        "label": "湖南益阳高新技术产业园区",
-        "value": "430972"
-      },
-      {
-        "label": "沅江市",
-        "value": "430981"
-      }
-    ],
-    [{
-        "label": "北湖区",
-        "value": "431002"
-      },
-      {
-        "label": "苏仙区",
-        "value": "431003"
-      },
-      {
-        "label": "桂阳县",
-        "value": "431021"
-      },
-      {
-        "label": "宜章县",
-        "value": "431022"
-      },
-      {
-        "label": "永兴县",
-        "value": "431023"
-      },
-      {
-        "label": "嘉禾县",
-        "value": "431024"
-      },
-      {
-        "label": "临武县",
-        "value": "431025"
-      },
-      {
-        "label": "汝城县",
-        "value": "431026"
-      },
-      {
-        "label": "桂东县",
-        "value": "431027"
-      },
-      {
-        "label": "安仁县",
-        "value": "431028"
-      },
-      {
-        "label": "资兴市",
-        "value": "431081"
-      }
-    ],
-    [{
-        "label": "零陵区",
-        "value": "431102"
-      },
-      {
-        "label": "冷水滩区",
-        "value": "431103"
-      },
-      {
-        "label": "祁阳县",
-        "value": "431121"
-      },
-      {
-        "label": "东安县",
-        "value": "431122"
-      },
-      {
-        "label": "双牌县",
-        "value": "431123"
-      },
-      {
-        "label": "道县",
-        "value": "431124"
-      },
-      {
-        "label": "江永县",
-        "value": "431125"
-      },
-      {
-        "label": "宁远县",
-        "value": "431126"
-      },
-      {
-        "label": "蓝山县",
-        "value": "431127"
-      },
-      {
-        "label": "新田县",
-        "value": "431128"
-      },
-      {
-        "label": "江华瑶族自治县",
-        "value": "431129"
-      },
-      {
-        "label": "永州经济技术开发区",
-        "value": "431171"
-      },
-      {
-        "label": "永州市金洞管理区",
-        "value": "431172"
-      },
-      {
-        "label": "永州市回龙圩管理区",
-        "value": "431173"
-      }
-    ],
-    [{
-        "label": "鹤城区",
-        "value": "431202"
-      },
-      {
-        "label": "中方县",
-        "value": "431221"
-      },
-      {
-        "label": "沅陵县",
-        "value": "431222"
-      },
-      {
-        "label": "辰溪县",
-        "value": "431223"
-      },
-      {
-        "label": "溆浦县",
-        "value": "431224"
-      },
-      {
-        "label": "会同县",
-        "value": "431225"
-      },
-      {
-        "label": "麻阳苗族自治县",
-        "value": "431226"
-      },
-      {
-        "label": "新晃侗族自治县",
-        "value": "431227"
-      },
-      {
-        "label": "芷江侗族自治县",
-        "value": "431228"
-      },
-      {
-        "label": "靖州苗族侗族自治县",
-        "value": "431229"
-      },
-      {
-        "label": "通道侗族自治县",
-        "value": "431230"
-      },
-      {
-        "label": "怀化市洪江管理区",
-        "value": "431271"
-      },
-      {
-        "label": "洪江市",
-        "value": "431281"
-      }
-    ],
-    [{
-        "label": "娄星区",
-        "value": "431302"
-      },
-      {
-        "label": "双峰县",
-        "value": "431321"
-      },
-      {
-        "label": "新化县",
-        "value": "431322"
-      },
-      {
-        "label": "冷水江市",
-        "value": "431381"
-      },
-      {
-        "label": "涟源市",
-        "value": "431382"
-      }
-    ],
-    [{
-        "label": "吉首市",
-        "value": "433101"
-      },
-      {
-        "label": "泸溪县",
-        "value": "433122"
-      },
-      {
-        "label": "凤凰县",
-        "value": "433123"
-      },
-      {
-        "label": "花垣县",
-        "value": "433124"
-      },
-      {
-        "label": "保靖县",
-        "value": "433125"
-      },
-      {
-        "label": "古丈县",
-        "value": "433126"
-      },
-      {
-        "label": "永顺县",
-        "value": "433127"
-      },
-      {
-        "label": "龙山县",
-        "value": "433130"
-      },
-      {
-        "label": "湖南吉首经济开发区",
-        "value": "433172"
-      },
-      {
-        "label": "湖南永顺经济开发区",
-        "value": "433173"
-      }
-    ]
-  ],
-  [
-    [{
-        "label": "荔湾区",
-        "value": "440103"
-      },
-      {
-        "label": "越秀区",
-        "value": "440104"
-      },
-      {
-        "label": "海珠区",
-        "value": "440105"
-      },
-      {
-        "label": "天河区",
-        "value": "440106"
-      },
-      {
-        "label": "白云区",
-        "value": "440111"
-      },
-      {
-        "label": "黄埔区",
-        "value": "440112"
-      },
-      {
-        "label": "番禺区",
-        "value": "440113"
-      },
-      {
-        "label": "花都区",
-        "value": "440114"
-      },
-      {
-        "label": "南沙区",
-        "value": "440115"
-      },
-      {
-        "label": "从化区",
-        "value": "440117"
-      },
-      {
-        "label": "增城区",
-        "value": "440118"
-      }
-    ],
-    [{
-        "label": "武江区",
-        "value": "440203"
-      },
-      {
-        "label": "浈江区",
-        "value": "440204"
-      },
-      {
-        "label": "曲江区",
-        "value": "440205"
-      },
-      {
-        "label": "始兴县",
-        "value": "440222"
-      },
-      {
-        "label": "仁化县",
-        "value": "440224"
-      },
-      {
-        "label": "翁源县",
-        "value": "440229"
-      },
-      {
-        "label": "乳源瑶族自治县",
-        "value": "440232"
-      },
-      {
-        "label": "新丰县",
-        "value": "440233"
-      },
-      {
-        "label": "乐昌市",
-        "value": "440281"
-      },
-      {
-        "label": "南雄市",
-        "value": "440282"
-      }
-    ],
-    [{
-        "label": "罗湖区",
-        "value": "440303"
-      },
-      {
-        "label": "福田区",
-        "value": "440304"
-      },
-      {
-        "label": "南山区",
-        "value": "440305"
-      },
-      {
-        "label": "宝安区",
-        "value": "440306"
-      },
-      {
-        "label": "龙岗区",
-        "value": "440307"
-      },
-      {
-        "label": "盐田区",
-        "value": "440308"
-      },
-      {
-        "label": "龙华区",
-        "value": "440309"
-      },
-      {
-        "label": "坪山区",
-        "value": "440310"
-      }
-    ],
-    [{
-        "label": "香洲区",
-        "value": "440402"
-      },
-      {
-        "label": "斗门区",
-        "value": "440403"
-      },
-      {
-        "label": "金湾区",
-        "value": "440404"
-      }
-    ],
-    [{
-        "label": "龙湖区",
-        "value": "440507"
-      },
-      {
-        "label": "金平区",
-        "value": "440511"
-      },
-      {
-        "label": "濠江区",
-        "value": "440512"
-      },
-      {
-        "label": "潮阳区",
-        "value": "440513"
-      },
-      {
-        "label": "潮南区",
-        "value": "440514"
-      },
-      {
-        "label": "澄海区",
-        "value": "440515"
-      },
-      {
-        "label": "南澳县",
-        "value": "440523"
-      }
-    ],
-    [{
-        "label": "禅城区",
-        "value": "440604"
-      },
-      {
-        "label": "南海区",
-        "value": "440605"
-      },
-      {
-        "label": "顺德区",
-        "value": "440606"
-      },
-      {
-        "label": "三水区",
-        "value": "440607"
-      },
-      {
-        "label": "高明区",
-        "value": "440608"
-      }
-    ],
-    [{
-        "label": "蓬江区",
-        "value": "440703"
-      },
-      {
-        "label": "江海区",
-        "value": "440704"
-      },
-      {
-        "label": "新会区",
-        "value": "440705"
-      },
-      {
-        "label": "台山市",
-        "value": "440781"
-      },
-      {
-        "label": "开平市",
-        "value": "440783"
-      },
-      {
-        "label": "鹤山市",
-        "value": "440784"
-      },
-      {
-        "label": "恩平市",
-        "value": "440785"
-      }
-    ],
-    [{
-        "label": "赤坎区",
-        "value": "440802"
-      },
-      {
-        "label": "霞山区",
-        "value": "440803"
-      },
-      {
-        "label": "坡头区",
-        "value": "440804"
-      },
-      {
-        "label": "麻章区",
-        "value": "440811"
-      },
-      {
-        "label": "遂溪县",
-        "value": "440823"
-      },
-      {
-        "label": "徐闻县",
-        "value": "440825"
-      },
-      {
-        "label": "廉江市",
-        "value": "440881"
-      },
-      {
-        "label": "雷州市",
-        "value": "440882"
-      },
-      {
-        "label": "吴川市",
-        "value": "440883"
-      }
-    ],
-    [{
-        "label": "茂南区",
-        "value": "440902"
-      },
-      {
-        "label": "电白区",
-        "value": "440904"
-      },
-      {
-        "label": "高州市",
-        "value": "440981"
-      },
-      {
-        "label": "化州市",
-        "value": "440982"
-      },
-      {
-        "label": "信宜市",
-        "value": "440983"
-      }
-    ],
-    [{
-        "label": "端州区",
-        "value": "441202"
-      },
-      {
-        "label": "鼎湖区",
-        "value": "441203"
-      },
-      {
-        "label": "高要区",
-        "value": "441204"
-      },
-      {
-        "label": "广宁县",
-        "value": "441223"
-      },
-      {
-        "label": "怀集县",
-        "value": "441224"
-      },
-      {
-        "label": "封开县",
-        "value": "441225"
-      },
-      {
-        "label": "德庆县",
-        "value": "441226"
-      },
-      {
-        "label": "四会市",
-        "value": "441284"
-      }
-    ],
-    [{
-        "label": "惠城区",
-        "value": "441302"
-      },
-      {
-        "label": "惠阳区",
-        "value": "441303"
-      },
-      {
-        "label": "博罗县",
-        "value": "441322"
-      },
-      {
-        "label": "惠东县",
-        "value": "441323"
-      },
-      {
-        "label": "龙门县",
-        "value": "441324"
-      }
-    ],
-    [{
-        "label": "梅江区",
-        "value": "441402"
-      },
-      {
-        "label": "梅县区",
-        "value": "441403"
-      },
-      {
-        "label": "大埔县",
-        "value": "441422"
-      },
-      {
-        "label": "丰顺县",
-        "value": "441423"
-      },
-      {
-        "label": "五华县",
-        "value": "441424"
-      },
-      {
-        "label": "平远县",
-        "value": "441426"
-      },
-      {
-        "label": "蕉岭县",
-        "value": "441427"
-      },
-      {
-        "label": "兴宁市",
-        "value": "441481"
-      }
-    ],
-    [{
-        "label": "城区",
-        "value": "441502"
-      },
-      {
-        "label": "海丰县",
-        "value": "441521"
-      },
-      {
-        "label": "陆河县",
-        "value": "441523"
-      },
-      {
-        "label": "陆丰市",
-        "value": "441581"
-      }
-    ],
-    [{
-        "label": "源城区",
-        "value": "441602"
-      },
-      {
-        "label": "紫金县",
-        "value": "441621"
-      },
-      {
-        "label": "龙川县",
-        "value": "441622"
-      },
-      {
-        "label": "连平县",
-        "value": "441623"
-      },
-      {
-        "label": "和平县",
-        "value": "441624"
-      },
-      {
-        "label": "东源县",
-        "value": "441625"
-      }
-    ],
-    [{
-        "label": "江城区",
-        "value": "441702"
-      },
-      {
-        "label": "阳东区",
-        "value": "441704"
-      },
-      {
-        "label": "阳西县",
-        "value": "441721"
-      },
-      {
-        "label": "阳春市",
-        "value": "441781"
-      }
-    ],
-    [{
-        "label": "清城区",
-        "value": "441802"
-      },
-      {
-        "label": "清新区",
-        "value": "441803"
-      },
-      {
-        "label": "佛冈县",
-        "value": "441821"
-      },
-      {
-        "label": "阳山县",
-        "value": "441823"
-      },
-      {
-        "label": "连山壮族瑶族自治县",
-        "value": "441825"
-      },
-      {
-        "label": "连南瑶族自治县",
-        "value": "441826"
-      },
-      {
-        "label": "英德市",
-        "value": "441881"
-      },
-      {
-        "label": "连州市",
-        "value": "441882"
-      }
-    ],
-    [{
-      "label": "东莞市",
-      "value": "441900"
-    }],
-    [{
-      "label": "中山市",
-      "value": "442000"
-    }],
-    [{
-        "label": "湘桥区",
-        "value": "445102"
-      },
-      {
-        "label": "潮安区",
-        "value": "445103"
-      },
-      {
-        "label": "饶平县",
-        "value": "445122"
-      }
-    ],
-    [{
-        "label": "榕城区",
-        "value": "445202"
-      },
-      {
-        "label": "揭东区",
-        "value": "445203"
-      },
-      {
-        "label": "揭西县",
-        "value": "445222"
-      },
-      {
-        "label": "惠来县",
-        "value": "445224"
-      },
-      {
-        "label": "普宁市",
-        "value": "445281"
-      }
-    ],
-    [{
-        "label": "云城区",
-        "value": "445302"
-      },
-      {
-        "label": "云安区",
-        "value": "445303"
-      },
-      {
-        "label": "新兴县",
-        "value": "445321"
-      },
-      {
-        "label": "郁南县",
-        "value": "445322"
-      },
-      {
-        "label": "罗定市",
-        "value": "445381"
-      }
-    ]
-  ],
-  [
-    [{
-        "label": "兴宁区",
-        "value": "450102"
-      },
-      {
-        "label": "青秀区",
-        "value": "450103"
-      },
-      {
-        "label": "江南区",
-        "value": "450105"
-      },
-      {
-        "label": "西乡塘区",
-        "value": "450107"
-      },
-      {
-        "label": "良庆区",
-        "value": "450108"
-      },
-      {
-        "label": "邕宁区",
-        "value": "450109"
-      },
-      {
-        "label": "武鸣区",
-        "value": "450110"
-      },
-      {
-        "label": "隆安县",
-        "value": "450123"
-      },
-      {
-        "label": "马山县",
-        "value": "450124"
-      },
-      {
-        "label": "上林县",
-        "value": "450125"
-      },
-      {
-        "label": "宾阳县",
-        "value": "450126"
-      },
-      {
-        "label": "横县",
-        "value": "450127"
-      }
-    ],
-    [{
-        "label": "城中区",
-        "value": "450202"
-      },
-      {
-        "label": "鱼峰区",
-        "value": "450203"
-      },
-      {
-        "label": "柳南区",
-        "value": "450204"
-      },
-      {
-        "label": "柳北区",
-        "value": "450205"
-      },
-      {
-        "label": "柳江区",
-        "value": "450206"
-      },
-      {
-        "label": "柳城县",
-        "value": "450222"
-      },
-      {
-        "label": "鹿寨县",
-        "value": "450223"
-      },
-      {
-        "label": "融安县",
-        "value": "450224"
-      },
-      {
-        "label": "融水苗族自治县",
-        "value": "450225"
-      },
-      {
-        "label": "三江侗族自治县",
-        "value": "450226"
-      }
-    ],
-    [{
-        "label": "秀峰区",
-        "value": "450302"
-      },
-      {
-        "label": "叠彩区",
-        "value": "450303"
-      },
-      {
-        "label": "象山区",
-        "value": "450304"
-      },
-      {
-        "label": "七星区",
-        "value": "450305"
-      },
-      {
-        "label": "雁山区",
-        "value": "450311"
-      },
-      {
-        "label": "临桂区",
-        "value": "450312"
-      },
-      {
-        "label": "阳朔县",
-        "value": "450321"
-      },
-      {
-        "label": "灵川县",
-        "value": "450323"
-      },
-      {
-        "label": "全州县",
-        "value": "450324"
-      },
-      {
-        "label": "兴安县",
-        "value": "450325"
-      },
-      {
-        "label": "永福县",
-        "value": "450326"
-      },
-      {
-        "label": "灌阳县",
-        "value": "450327"
-      },
-      {
-        "label": "龙胜各族自治县",
-        "value": "450328"
-      },
-      {
-        "label": "资源县",
-        "value": "450329"
-      },
-      {
-        "label": "平乐县",
-        "value": "450330"
-      },
-      {
-        "label": "荔浦县",
-        "value": "450331"
-      },
-      {
-        "label": "恭城瑶族自治县",
-        "value": "450332"
-      }
-    ],
-    [{
-        "label": "万秀区",
-        "value": "450403"
-      },
-      {
-        "label": "长洲区",
-        "value": "450405"
-      },
-      {
-        "label": "龙圩区",
-        "value": "450406"
-      },
-      {
-        "label": "苍梧县",
-        "value": "450421"
-      },
-      {
-        "label": "藤县",
-        "value": "450422"
-      },
-      {
-        "label": "蒙山县",
-        "value": "450423"
-      },
-      {
-        "label": "岑溪市",
-        "value": "450481"
-      }
-    ],
-    [{
-        "label": "海城区",
-        "value": "450502"
-      },
-      {
-        "label": "银海区",
-        "value": "450503"
-      },
-      {
-        "label": "铁山港区",
-        "value": "450512"
-      },
-      {
-        "label": "合浦县",
-        "value": "450521"
-      }
-    ],
-    [{
-        "label": "港口区",
-        "value": "450602"
-      },
-      {
-        "label": "防城区",
-        "value": "450603"
-      },
-      {
-        "label": "上思县",
-        "value": "450621"
-      },
-      {
-        "label": "东兴市",
-        "value": "450681"
-      }
-    ],
-    [{
-        "label": "钦南区",
-        "value": "450702"
-      },
-      {
-        "label": "钦北区",
-        "value": "450703"
-      },
-      {
-        "label": "灵山县",
-        "value": "450721"
-      },
-      {
-        "label": "浦北县",
-        "value": "450722"
-      }
-    ],
-    [{
-        "label": "港北区",
-        "value": "450802"
-      },
-      {
-        "label": "港南区",
-        "value": "450803"
-      },
-      {
-        "label": "覃塘区",
-        "value": "450804"
-      },
-      {
-        "label": "平南县",
-        "value": "450821"
-      },
-      {
-        "label": "桂平市",
-        "value": "450881"
-      }
-    ],
-    [{
-        "label": "玉州区",
-        "value": "450902"
-      },
-      {
-        "label": "福绵区",
-        "value": "450903"
-      },
-      {
-        "label": "容县",
-        "value": "450921"
-      },
-      {
-        "label": "陆川县",
-        "value": "450922"
-      },
-      {
-        "label": "博白县",
-        "value": "450923"
-      },
-      {
-        "label": "兴业县",
-        "value": "450924"
-      },
-      {
-        "label": "北流市",
-        "value": "450981"
-      }
-    ],
-    [{
-        "label": "右江区",
-        "value": "451002"
-      },
-      {
-        "label": "田阳县",
-        "value": "451021"
-      },
-      {
-        "label": "田东县",
-        "value": "451022"
-      },
-      {
-        "label": "平果县",
-        "value": "451023"
-      },
-      {
-        "label": "德保县",
-        "value": "451024"
-      },
-      {
-        "label": "那坡县",
-        "value": "451026"
-      },
-      {
-        "label": "凌云县",
-        "value": "451027"
-      },
-      {
-        "label": "乐业县",
-        "value": "451028"
-      },
-      {
-        "label": "田林县",
-        "value": "451029"
-      },
-      {
-        "label": "西林县",
-        "value": "451030"
-      },
-      {
-        "label": "隆林各族自治县",
-        "value": "451031"
-      },
-      {
-        "label": "靖西市",
-        "value": "451081"
-      }
-    ],
-    [{
-        "label": "八步区",
-        "value": "451102"
-      },
-      {
-        "label": "平桂区",
-        "value": "451103"
-      },
-      {
-        "label": "昭平县",
-        "value": "451121"
-      },
-      {
-        "label": "钟山县",
-        "value": "451122"
-      },
-      {
-        "label": "富川瑶族自治县",
-        "value": "451123"
-      }
-    ],
-    [{
-        "label": "金城江区",
-        "value": "451202"
-      },
-      {
-        "label": "宜州区",
-        "value": "451203"
-      },
-      {
-        "label": "南丹县",
-        "value": "451221"
-      },
-      {
-        "label": "天峨县",
-        "value": "451222"
-      },
-      {
-        "label": "凤山县",
-        "value": "451223"
-      },
-      {
-        "label": "东兰县",
-        "value": "451224"
-      },
-      {
-        "label": "罗城仫佬族自治县",
-        "value": "451225"
-      },
-      {
-        "label": "环江毛南族自治县",
-        "value": "451226"
-      },
-      {
-        "label": "巴马瑶族自治县",
-        "value": "451227"
-      },
-      {
-        "label": "都安瑶族自治县",
-        "value": "451228"
-      },
-      {
-        "label": "大化瑶族自治县",
-        "value": "451229"
-      }
-    ],
-    [{
-        "label": "兴宾区",
-        "value": "451302"
-      },
-      {
-        "label": "忻城县",
-        "value": "451321"
-      },
-      {
-        "label": "象州县",
-        "value": "451322"
-      },
-      {
-        "label": "武宣县",
-        "value": "451323"
-      },
-      {
-        "label": "金秀瑶族自治县",
-        "value": "451324"
-      },
-      {
-        "label": "合山市",
-        "value": "451381"
-      }
-    ],
-    [{
-        "label": "江州区",
-        "value": "451402"
-      },
-      {
-        "label": "扶绥县",
-        "value": "451421"
-      },
-      {
-        "label": "宁明县",
-        "value": "451422"
-      },
-      {
-        "label": "龙州县",
-        "value": "451423"
-      },
-      {
-        "label": "大新县",
-        "value": "451424"
-      },
-      {
-        "label": "天等县",
-        "value": "451425"
-      },
-      {
-        "label": "凭祥市",
-        "value": "451481"
-      }
-    ]
-  ],
-  [
-    [{
-        "label": "秀英区",
-        "value": "460105"
-      },
-      {
-        "label": "龙华区",
-        "value": "460106"
-      },
-      {
-        "label": "琼山区",
-        "value": "460107"
-      },
-      {
-        "label": "美兰区",
-        "value": "460108"
-      }
-    ],
-    [{
-        "label": "海棠区",
-        "value": "460202"
-      },
-      {
-        "label": "吉阳区",
-        "value": "460203"
-      },
-      {
-        "label": "天涯区",
-        "value": "460204"
-      },
-      {
-        "label": "崖州区",
-        "value": "460205"
-      }
-    ],
-    [{
-        "label": "西沙群岛",
-        "value": "460321"
-      },
-      {
-        "label": "南沙群岛",
-        "value": "460322"
-      },
-      {
-        "label": "中沙群岛的岛礁及其海域",
-        "value": "460323"
-      }
-    ],
-    [{
-      "label": "儋州市",
-      "value": "460400"
-    }],
-    [{
-        "label": "五指山市",
-        "value": "469001"
-      },
-      {
-        "label": "琼海市",
-        "value": "469002"
-      },
-      {
-        "label": "文昌市",
-        "value": "469005"
-      },
-      {
-        "label": "万宁市",
-        "value": "469006"
-      },
-      {
-        "label": "东方市",
-        "value": "469007"
-      },
-      {
-        "label": "定安县",
-        "value": "469021"
-      },
-      {
-        "label": "屯昌县",
-        "value": "469022"
-      },
-      {
-        "label": "澄迈县",
-        "value": "469023"
-      },
-      {
-        "label": "临高县",
-        "value": "469024"
-      },
-      {
-        "label": "白沙黎族自治县",
-        "value": "469025"
-      },
-      {
-        "label": "昌江黎族自治县",
-        "value": "469026"
-      },
-      {
-        "label": "乐东黎族自治县",
-        "value": "469027"
-      },
-      {
-        "label": "陵水黎族自治县",
-        "value": "469028"
-      },
-      {
-        "label": "保亭黎族苗族自治县",
-        "value": "469029"
-      },
-      {
-        "label": "琼中黎族苗族自治县",
-        "value": "469030"
-      }
-    ]
-  ],
-  [
-    [{
-        "label": "万州区",
-        "value": "500101"
-      },
-      {
-        "label": "涪陵区",
-        "value": "500102"
-      },
-      {
-        "label": "渝中区",
-        "value": "500103"
-      },
-      {
-        "label": "大渡口区",
-        "value": "500104"
-      },
-      {
-        "label": "江北区",
-        "value": "500105"
-      },
-      {
-        "label": "沙坪坝区",
-        "value": "500106"
-      },
-      {
-        "label": "九龙坡区",
-        "value": "500107"
-      },
-      {
-        "label": "南岸区",
-        "value": "500108"
-      },
-      {
-        "label": "北碚区",
-        "value": "500109"
-      },
-      {
-        "label": "綦江区",
-        "value": "500110"
-      },
-      {
-        "label": "大足区",
-        "value": "500111"
-      },
-      {
-        "label": "渝北区",
-        "value": "500112"
-      },
-      {
-        "label": "巴南区",
-        "value": "500113"
-      },
-      {
-        "label": "黔江区",
-        "value": "500114"
-      },
-      {
-        "label": "长寿区",
-        "value": "500115"
-      },
-      {
-        "label": "江津区",
-        "value": "500116"
-      },
-      {
-        "label": "合川区",
-        "value": "500117"
-      },
-      {
-        "label": "永川区",
-        "value": "500118"
-      },
-      {
-        "label": "南川区",
-        "value": "500119"
-      },
-      {
-        "label": "璧山区",
-        "value": "500120"
-      },
-      {
-        "label": "铜梁区",
-        "value": "500151"
-      },
-      {
-        "label": "潼南区",
-        "value": "500152"
-      },
-      {
-        "label": "荣昌区",
-        "value": "500153"
-      },
-      {
-        "label": "开州区",
-        "value": "500154"
-      },
-      {
-        "label": "梁平区",
-        "value": "500155"
-      },
-      {
-        "label": "武隆区",
-        "value": "500156"
-      }
-    ],
-    [{
-        "label": "城口县",
-        "value": "500229"
-      },
-      {
-        "label": "丰都县",
-        "value": "500230"
-      },
-      {
-        "label": "垫江县",
-        "value": "500231"
-      },
-      {
-        "label": "忠县",
-        "value": "500233"
-      },
-      {
-        "label": "云阳县",
-        "value": "500235"
-      },
-      {
-        "label": "奉节县",
-        "value": "500236"
-      },
-      {
-        "label": "巫山县",
-        "value": "500237"
-      },
-      {
-        "label": "巫溪县",
-        "value": "500238"
-      },
-      {
-        "label": "石柱土家族自治县",
-        "value": "500240"
-      },
-      {
-        "label": "秀山土家族苗族自治县",
-        "value": "500241"
-      },
-      {
-        "label": "酉阳土家族苗族自治县",
-        "value": "500242"
-      },
-      {
-        "label": "彭水苗族土家族自治县",
-        "value": "500243"
-      }
-    ]
-  ],
-  [
-    [{
-        "label": "锦江区",
-        "value": "510104"
-      },
-      {
-        "label": "青羊区",
-        "value": "510105"
-      },
-      {
-        "label": "金牛区",
-        "value": "510106"
-      },
-      {
-        "label": "武侯区",
-        "value": "510107"
-      },
-      {
-        "label": "成华区",
-        "value": "510108"
-      },
-      {
-        "label": "龙泉驿区",
-        "value": "510112"
-      },
-      {
-        "label": "青白江区",
-        "value": "510113"
-      },
-      {
-        "label": "新都区",
-        "value": "510114"
-      },
-      {
-        "label": "温江区",
-        "value": "510115"
-      },
-      {
-        "label": "双流区",
-        "value": "510116"
-      },
-      {
-        "label": "郫都区",
-        "value": "510117"
-      },
-      {
-        "label": "金堂县",
-        "value": "510121"
-      },
-      {
-        "label": "大邑县",
-        "value": "510129"
-      },
-      {
-        "label": "蒲江县",
-        "value": "510131"
-      },
-      {
-        "label": "新津县",
-        "value": "510132"
-      },
-      {
-        "label": "都江堰市",
-        "value": "510181"
-      },
-      {
-        "label": "彭州市",
-        "value": "510182"
-      },
-      {
-        "label": "邛崃市",
-        "value": "510183"
-      },
-      {
-        "label": "崇州市",
-        "value": "510184"
-      },
-      {
-        "label": "简阳市",
-        "value": "510185"
-      }
-    ],
-    [{
-        "label": "自流井区",
-        "value": "510302"
-      },
-      {
-        "label": "贡井区",
-        "value": "510303"
-      },
-      {
-        "label": "大安区",
-        "value": "510304"
-      },
-      {
-        "label": "沿滩区",
-        "value": "510311"
-      },
-      {
-        "label": "荣县",
-        "value": "510321"
-      },
-      {
-        "label": "富顺县",
-        "value": "510322"
-      }
-    ],
-    [{
-        "label": "东区",
-        "value": "510402"
-      },
-      {
-        "label": "西区",
-        "value": "510403"
-      },
-      {
-        "label": "仁和区",
-        "value": "510411"
-      },
-      {
-        "label": "米易县",
-        "value": "510421"
-      },
-      {
-        "label": "盐边县",
-        "value": "510422"
-      }
-    ],
-    [{
-        "label": "江阳区",
-        "value": "510502"
-      },
-      {
-        "label": "纳溪区",
-        "value": "510503"
-      },
-      {
-        "label": "龙马潭区",
-        "value": "510504"
-      },
-      {
-        "label": "泸县",
-        "value": "510521"
-      },
-      {
-        "label": "合江县",
-        "value": "510522"
-      },
-      {
-        "label": "叙永县",
-        "value": "510524"
-      },
-      {
-        "label": "古蔺县",
-        "value": "510525"
-      }
-    ],
-    [{
-        "label": "旌阳区",
-        "value": "510603"
-      },
-      {
-        "label": "罗江区",
-        "value": "510604"
-      },
-      {
-        "label": "中江县",
-        "value": "510623"
-      },
-      {
-        "label": "广汉市",
-        "value": "510681"
-      },
-      {
-        "label": "什邡市",
-        "value": "510682"
-      },
-      {
-        "label": "绵竹市",
-        "value": "510683"
-      }
-    ],
-    [{
-        "label": "涪城区",
-        "value": "510703"
-      },
-      {
-        "label": "游仙区",
-        "value": "510704"
-      },
-      {
-        "label": "安州区",
-        "value": "510705"
-      },
-      {
-        "label": "三台县",
-        "value": "510722"
-      },
-      {
-        "label": "盐亭县",
-        "value": "510723"
-      },
-      {
-        "label": "梓潼县",
-        "value": "510725"
-      },
-      {
-        "label": "北川羌族自治县",
-        "value": "510726"
-      },
-      {
-        "label": "平武县",
-        "value": "510727"
-      },
-      {
-        "label": "江油市",
-        "value": "510781"
-      }
-    ],
-    [{
-        "label": "利州区",
-        "value": "510802"
-      },
-      {
-        "label": "昭化区",
-        "value": "510811"
-      },
-      {
-        "label": "朝天区",
-        "value": "510812"
-      },
-      {
-        "label": "旺苍县",
-        "value": "510821"
-      },
-      {
-        "label": "青川县",
-        "value": "510822"
-      },
-      {
-        "label": "剑阁县",
-        "value": "510823"
-      },
-      {
-        "label": "苍溪县",
-        "value": "510824"
-      }
-    ],
-    [{
-        "label": "船山区",
-        "value": "510903"
-      },
-      {
-        "label": "安居区",
-        "value": "510904"
-      },
-      {
-        "label": "蓬溪县",
-        "value": "510921"
-      },
-      {
-        "label": "射洪县",
-        "value": "510922"
-      },
-      {
-        "label": "大英县",
-        "value": "510923"
-      }
-    ],
-    [{
-        "label": "市中区",
-        "value": "511002"
-      },
-      {
-        "label": "东兴区",
-        "value": "511011"
-      },
-      {
-        "label": "威远县",
-        "value": "511024"
-      },
-      {
-        "label": "资中县",
-        "value": "511025"
-      },
-      {
-        "label": "内江经济开发区",
-        "value": "511071"
-      },
-      {
-        "label": "隆昌市",
-        "value": "511083"
-      }
-    ],
-    [{
-        "label": "市中区",
-        "value": "511102"
-      },
-      {
-        "label": "沙湾区",
-        "value": "511111"
-      },
-      {
-        "label": "五通桥区",
-        "value": "511112"
-      },
-      {
-        "label": "金口河区",
-        "value": "511113"
-      },
-      {
-        "label": "犍为县",
-        "value": "511123"
-      },
-      {
-        "label": "井研县",
-        "value": "511124"
-      },
-      {
-        "label": "夹江县",
-        "value": "511126"
-      },
-      {
-        "label": "沐川县",
-        "value": "511129"
-      },
-      {
-        "label": "峨边彝族自治县",
-        "value": "511132"
-      },
-      {
-        "label": "马边彝族自治县",
-        "value": "511133"
-      },
-      {
-        "label": "峨眉山市",
-        "value": "511181"
-      }
-    ],
-    [{
-        "label": "顺庆区",
-        "value": "511302"
-      },
-      {
-        "label": "高坪区",
-        "value": "511303"
-      },
-      {
-        "label": "嘉陵区",
-        "value": "511304"
-      },
-      {
-        "label": "南部县",
-        "value": "511321"
-      },
-      {
-        "label": "营山县",
-        "value": "511322"
-      },
-      {
-        "label": "蓬安县",
-        "value": "511323"
-      },
-      {
-        "label": "仪陇县",
-        "value": "511324"
-      },
-      {
-        "label": "西充县",
-        "value": "511325"
-      },
-      {
-        "label": "阆中市",
-        "value": "511381"
-      }
-    ],
-    [{
-        "label": "东坡区",
-        "value": "511402"
-      },
-      {
-        "label": "彭山区",
-        "value": "511403"
-      },
-      {
-        "label": "仁寿县",
-        "value": "511421"
-      },
-      {
-        "label": "洪雅县",
-        "value": "511423"
-      },
-      {
-        "label": "丹棱县",
-        "value": "511424"
-      },
-      {
-        "label": "青神县",
-        "value": "511425"
-      }
-    ],
-    [{
-        "label": "翠屏区",
-        "value": "511502"
-      },
-      {
-        "label": "南溪区",
-        "value": "511503"
-      },
-      {
-        "label": "宜宾县",
-        "value": "511521"
-      },
-      {
-        "label": "江安县",
-        "value": "511523"
-      },
-      {
-        "label": "长宁县",
-        "value": "511524"
-      },
-      {
-        "label": "高县",
-        "value": "511525"
-      },
-      {
-        "label": "珙县",
-        "value": "511526"
-      },
-      {
-        "label": "筠连县",
-        "value": "511527"
-      },
-      {
-        "label": "兴文县",
-        "value": "511528"
-      },
-      {
-        "label": "屏山县",
-        "value": "511529"
-      }
-    ],
-    [{
-        "label": "广安区",
-        "value": "511602"
-      },
-      {
-        "label": "前锋区",
-        "value": "511603"
-      },
-      {
-        "label": "岳池县",
-        "value": "511621"
-      },
-      {
-        "label": "武胜县",
-        "value": "511622"
-      },
-      {
-        "label": "邻水县",
-        "value": "511623"
-      },
-      {
-        "label": "华蓥市",
-        "value": "511681"
-      }
-    ],
-    [{
-        "label": "通川区",
-        "value": "511702"
-      },
-      {
-        "label": "达川区",
-        "value": "511703"
-      },
-      {
-        "label": "宣汉县",
-        "value": "511722"
-      },
-      {
-        "label": "开江县",
-        "value": "511723"
-      },
-      {
-        "label": "大竹县",
-        "value": "511724"
-      },
-      {
-        "label": "渠县",
-        "value": "511725"
-      },
-      {
-        "label": "达州经济开发区",
-        "value": "511771"
-      },
-      {
-        "label": "万源市",
-        "value": "511781"
-      }
-    ],
-    [{
-        "label": "雨城区",
-        "value": "511802"
-      },
-      {
-        "label": "名山区",
-        "value": "511803"
-      },
-      {
-        "label": "荥经县",
-        "value": "511822"
-      },
-      {
-        "label": "汉源县",
-        "value": "511823"
-      },
-      {
-        "label": "石棉县",
-        "value": "511824"
-      },
-      {
-        "label": "天全县",
-        "value": "511825"
-      },
-      {
-        "label": "芦山县",
-        "value": "511826"
-      },
-      {
-        "label": "宝兴县",
-        "value": "511827"
-      }
-    ],
-    [{
-        "label": "巴州区",
-        "value": "511902"
-      },
-      {
-        "label": "恩阳区",
-        "value": "511903"
-      },
-      {
-        "label": "通江县",
-        "value": "511921"
-      },
-      {
-        "label": "南江县",
-        "value": "511922"
-      },
-      {
-        "label": "平昌县",
-        "value": "511923"
-      },
-      {
-        "label": "巴中经济开发区",
-        "value": "511971"
-      }
-    ],
-    [{
-        "label": "雁江区",
-        "value": "512002"
-      },
-      {
-        "label": "安岳县",
-        "value": "512021"
-      },
-      {
-        "label": "乐至县",
-        "value": "512022"
-      }
-    ],
-    [{
-        "label": "马尔康市",
-        "value": "513201"
-      },
-      {
-        "label": "汶川县",
-        "value": "513221"
-      },
-      {
-        "label": "理县",
-        "value": "513222"
-      },
-      {
-        "label": "茂县",
-        "value": "513223"
-      },
-      {
-        "label": "松潘县",
-        "value": "513224"
-      },
-      {
-        "label": "九寨沟县",
-        "value": "513225"
-      },
-      {
-        "label": "金川县",
-        "value": "513226"
-      },
-      {
-        "label": "小金县",
-        "value": "513227"
-      },
-      {
-        "label": "黑水县",
-        "value": "513228"
-      },
-      {
-        "label": "壤塘县",
-        "value": "513230"
-      },
-      {
-        "label": "阿坝县",
-        "value": "513231"
-      },
-      {
-        "label": "若尔盖县",
-        "value": "513232"
-      },
-      {
-        "label": "红原县",
-        "value": "513233"
-      }
-    ],
-    [{
-        "label": "康定市",
-        "value": "513301"
-      },
-      {
-        "label": "泸定县",
-        "value": "513322"
-      },
-      {
-        "label": "丹巴县",
-        "value": "513323"
-      },
-      {
-        "label": "九龙县",
-        "value": "513324"
-      },
-      {
-        "label": "雅江县",
-        "value": "513325"
-      },
-      {
-        "label": "道孚县",
-        "value": "513326"
-      },
-      {
-        "label": "炉霍县",
-        "value": "513327"
-      },
-      {
-        "label": "甘孜县",
-        "value": "513328"
-      },
-      {
-        "label": "新龙县",
-        "value": "513329"
-      },
-      {
-        "label": "德格县",
-        "value": "513330"
-      },
-      {
-        "label": "白玉县",
-        "value": "513331"
-      },
-      {
-        "label": "石渠县",
-        "value": "513332"
-      },
-      {
-        "label": "色达县",
-        "value": "513333"
-      },
-      {
-        "label": "理塘县",
-        "value": "513334"
-      },
-      {
-        "label": "巴塘县",
-        "value": "513335"
-      },
-      {
-        "label": "乡城县",
-        "value": "513336"
-      },
-      {
-        "label": "稻城县",
-        "value": "513337"
-      },
-      {
-        "label": "得荣县",
-        "value": "513338"
-      }
-    ],
-    [{
-        "label": "西昌市",
-        "value": "513401"
-      },
-      {
-        "label": "木里藏族自治县",
-        "value": "513422"
-      },
-      {
-        "label": "盐源县",
-        "value": "513423"
-      },
-      {
-        "label": "德昌县",
-        "value": "513424"
-      },
-      {
-        "label": "会理县",
-        "value": "513425"
-      },
-      {
-        "label": "会东县",
-        "value": "513426"
-      },
-      {
-        "label": "宁南县",
-        "value": "513427"
-      },
-      {
-        "label": "普格县",
-        "value": "513428"
-      },
-      {
-        "label": "布拖县",
-        "value": "513429"
-      },
-      {
-        "label": "金阳县",
-        "value": "513430"
-      },
-      {
-        "label": "昭觉县",
-        "value": "513431"
-      },
-      {
-        "label": "喜德县",
-        "value": "513432"
-      },
-      {
-        "label": "冕宁县",
-        "value": "513433"
-      },
-      {
-        "label": "越西县",
-        "value": "513434"
-      },
-      {
-        "label": "甘洛县",
-        "value": "513435"
-      },
-      {
-        "label": "美姑县",
-        "value": "513436"
-      },
-      {
-        "label": "雷波县",
-        "value": "513437"
-      }
-    ]
-  ],
-  [
-    [{
-        "label": "南明区",
-        "value": "520102"
-      },
-      {
-        "label": "云岩区",
-        "value": "520103"
-      },
-      {
-        "label": "花溪区",
-        "value": "520111"
-      },
-      {
-        "label": "乌当区",
-        "value": "520112"
-      },
-      {
-        "label": "白云区",
-        "value": "520113"
-      },
-      {
-        "label": "观山湖区",
-        "value": "520115"
-      },
-      {
-        "label": "开阳县",
-        "value": "520121"
-      },
-      {
-        "label": "息烽县",
-        "value": "520122"
-      },
-      {
-        "label": "修文县",
-        "value": "520123"
-      },
-      {
-        "label": "清镇市",
-        "value": "520181"
-      }
-    ],
-    [{
-        "label": "钟山区",
-        "value": "520201"
-      },
-      {
-        "label": "六枝特区",
-        "value": "520203"
-      },
-      {
-        "label": "水城县",
-        "value": "520221"
-      },
-      {
-        "label": "盘州市",
-        "value": "520281"
-      }
-    ],
-    [{
-        "label": "红花岗区",
-        "value": "520302"
-      },
-      {
-        "label": "汇川区",
-        "value": "520303"
-      },
-      {
-        "label": "播州区",
-        "value": "520304"
-      },
-      {
-        "label": "桐梓县",
-        "value": "520322"
-      },
-      {
-        "label": "绥阳县",
-        "value": "520323"
-      },
-      {
-        "label": "正安县",
-        "value": "520324"
-      },
-      {
-        "label": "道真仡佬族苗族自治县",
-        "value": "520325"
-      },
-      {
-        "label": "务川仡佬族苗族自治县",
-        "value": "520326"
-      },
-      {
-        "label": "凤冈县",
-        "value": "520327"
-      },
-      {
-        "label": "湄潭县",
-        "value": "520328"
-      },
-      {
-        "label": "余庆县",
-        "value": "520329"
-      },
-      {
-        "label": "习水县",
-        "value": "520330"
-      },
-      {
-        "label": "赤水市",
-        "value": "520381"
-      },
-      {
-        "label": "仁怀市",
-        "value": "520382"
-      }
-    ],
-    [{
-        "label": "西秀区",
-        "value": "520402"
-      },
-      {
-        "label": "平坝区",
-        "value": "520403"
-      },
-      {
-        "label": "普定县",
-        "value": "520422"
-      },
-      {
-        "label": "镇宁布依族苗族自治县",
-        "value": "520423"
-      },
-      {
-        "label": "关岭布依族苗族自治县",
-        "value": "520424"
-      },
-      {
-        "label": "紫云苗族布依族自治县",
-        "value": "520425"
-      }
-    ],
-    [{
-        "label": "七星关区",
-        "value": "520502"
-      },
-      {
-        "label": "大方县",
-        "value": "520521"
-      },
-      {
-        "label": "黔西县",
-        "value": "520522"
-      },
-      {
-        "label": "金沙县",
-        "value": "520523"
-      },
-      {
-        "label": "织金县",
-        "value": "520524"
-      },
-      {
-        "label": "纳雍县",
-        "value": "520525"
-      },
-      {
-        "label": "威宁彝族回族苗族自治县",
-        "value": "520526"
-      },
-      {
-        "label": "赫章县",
-        "value": "520527"
-      }
-    ],
-    [{
-        "label": "碧江区",
-        "value": "520602"
-      },
-      {
-        "label": "万山区",
-        "value": "520603"
-      },
-      {
-        "label": "江口县",
-        "value": "520621"
-      },
-      {
-        "label": "玉屏侗族自治县",
-        "value": "520622"
-      },
-      {
-        "label": "石阡县",
-        "value": "520623"
-      },
-      {
-        "label": "思南县",
-        "value": "520624"
-      },
-      {
-        "label": "印江土家族苗族自治县",
-        "value": "520625"
-      },
-      {
-        "label": "德江县",
-        "value": "520626"
-      },
-      {
-        "label": "沿河土家族自治县",
-        "value": "520627"
-      },
-      {
-        "label": "松桃苗族自治县",
-        "value": "520628"
-      }
-    ],
-    [{
-        "label": "兴义市",
-        "value": "522301"
-      },
-      {
-        "label": "兴仁县",
-        "value": "522322"
-      },
-      {
-        "label": "普安县",
-        "value": "522323"
-      },
-      {
-        "label": "晴隆县",
-        "value": "522324"
-      },
-      {
-        "label": "贞丰县",
-        "value": "522325"
-      },
-      {
-        "label": "望谟县",
-        "value": "522326"
-      },
-      {
-        "label": "册亨县",
-        "value": "522327"
-      },
-      {
-        "label": "安龙县",
-        "value": "522328"
-      }
-    ],
-    [{
-        "label": "凯里市",
-        "value": "522601"
-      },
-      {
-        "label": "黄平县",
-        "value": "522622"
-      },
-      {
-        "label": "施秉县",
-        "value": "522623"
-      },
-      {
-        "label": "三穗县",
-        "value": "522624"
-      },
-      {
-        "label": "镇远县",
-        "value": "522625"
-      },
-      {
-        "label": "岑巩县",
-        "value": "522626"
-      },
-      {
-        "label": "天柱县",
-        "value": "522627"
-      },
-      {
-        "label": "锦屏县",
-        "value": "522628"
-      },
-      {
-        "label": "剑河县",
-        "value": "522629"
-      },
-      {
-        "label": "台江县",
-        "value": "522630"
-      },
-      {
-        "label": "黎平县",
-        "value": "522631"
-      },
-      {
-        "label": "榕江县",
-        "value": "522632"
-      },
-      {
-        "label": "从江县",
-        "value": "522633"
-      },
-      {
-        "label": "雷山县",
-        "value": "522634"
-      },
-      {
-        "label": "麻江县",
-        "value": "522635"
-      },
-      {
-        "label": "丹寨县",
-        "value": "522636"
-      }
-    ],
-    [{
-        "label": "都匀市",
-        "value": "522701"
-      },
-      {
-        "label": "福泉市",
-        "value": "522702"
-      },
-      {
-        "label": "荔波县",
-        "value": "522722"
-      },
-      {
-        "label": "贵定县",
-        "value": "522723"
-      },
-      {
-        "label": "瓮安县",
-        "value": "522725"
-      },
-      {
-        "label": "独山县",
-        "value": "522726"
-      },
-      {
-        "label": "平塘县",
-        "value": "522727"
-      },
-      {
-        "label": "罗甸县",
-        "value": "522728"
-      },
-      {
-        "label": "长顺县",
-        "value": "522729"
-      },
-      {
-        "label": "龙里县",
-        "value": "522730"
-      },
-      {
-        "label": "惠水县",
-        "value": "522731"
-      },
-      {
-        "label": "三都水族自治县",
-        "value": "522732"
-      }
-    ]
-  ],
-  [
-    [{
-        "label": "五华区",
-        "value": "530102"
-      },
-      {
-        "label": "盘龙区",
-        "value": "530103"
-      },
-      {
-        "label": "官渡区",
-        "value": "530111"
-      },
-      {
-        "label": "西山区",
-        "value": "530112"
-      },
-      {
-        "label": "东川区",
-        "value": "530113"
-      },
-      {
-        "label": "呈贡区",
-        "value": "530114"
-      },
-      {
-        "label": "晋宁区",
-        "value": "530115"
-      },
-      {
-        "label": "富民县",
-        "value": "530124"
-      },
-      {
-        "label": "宜良县",
-        "value": "530125"
-      },
-      {
-        "label": "石林彝族自治县",
-        "value": "530126"
-      },
-      {
-        "label": "嵩明县",
-        "value": "530127"
-      },
-      {
-        "label": "禄劝彝族苗族自治县",
-        "value": "530128"
-      },
-      {
-        "label": "寻甸回族彝族自治县",
-        "value": "530129"
-      },
-      {
-        "label": "安宁市",
-        "value": "530181"
-      }
-    ],
-    [{
-        "label": "麒麟区",
-        "value": "530302"
-      },
-      {
-        "label": "沾益区",
-        "value": "530303"
-      },
-      {
-        "label": "马龙县",
-        "value": "530321"
-      },
-      {
-        "label": "陆良县",
-        "value": "530322"
-      },
-      {
-        "label": "师宗县",
-        "value": "530323"
-      },
-      {
-        "label": "罗平县",
-        "value": "530324"
-      },
-      {
-        "label": "富源县",
-        "value": "530325"
-      },
-      {
-        "label": "会泽县",
-        "value": "530326"
-      },
-      {
-        "label": "宣威市",
-        "value": "530381"
-      }
-    ],
-    [{
-        "label": "红塔区",
-        "value": "530402"
-      },
-      {
-        "label": "江川区",
-        "value": "530403"
-      },
-      {
-        "label": "澄江县",
-        "value": "530422"
-      },
-      {
-        "label": "通海县",
-        "value": "530423"
-      },
-      {
-        "label": "华宁县",
-        "value": "530424"
-      },
-      {
-        "label": "易门县",
-        "value": "530425"
-      },
-      {
-        "label": "峨山彝族自治县",
-        "value": "530426"
-      },
-      {
-        "label": "新平彝族傣族自治县",
-        "value": "530427"
-      },
-      {
-        "label": "元江哈尼族彝族傣族自治县",
-        "value": "530428"
-      }
-    ],
-    [{
-        "label": "隆阳区",
-        "value": "530502"
-      },
-      {
-        "label": "施甸县",
-        "value": "530521"
-      },
-      {
-        "label": "龙陵县",
-        "value": "530523"
-      },
-      {
-        "label": "昌宁县",
-        "value": "530524"
-      },
-      {
-        "label": "腾冲市",
-        "value": "530581"
-      }
-    ],
-    [{
-        "label": "昭阳区",
-        "value": "530602"
-      },
-      {
-        "label": "鲁甸县",
-        "value": "530621"
-      },
-      {
-        "label": "巧家县",
-        "value": "530622"
-      },
-      {
-        "label": "盐津县",
-        "value": "530623"
-      },
-      {
-        "label": "大关县",
-        "value": "530624"
-      },
-      {
-        "label": "永善县",
-        "value": "530625"
-      },
-      {
-        "label": "绥江县",
-        "value": "530626"
-      },
-      {
-        "label": "镇雄县",
-        "value": "530627"
-      },
-      {
-        "label": "彝良县",
-        "value": "530628"
-      },
-      {
-        "label": "威信县",
-        "value": "530629"
-      },
-      {
-        "label": "水富县",
-        "value": "530630"
-      }
-    ],
-    [{
-        "label": "古城区",
-        "value": "530702"
-      },
-      {
-        "label": "玉龙纳西族自治县",
-        "value": "530721"
-      },
-      {
-        "label": "永胜县",
-        "value": "530722"
-      },
-      {
-        "label": "华坪县",
-        "value": "530723"
-      },
-      {
-        "label": "宁蒗彝族自治县",
-        "value": "530724"
-      }
-    ],
-    [{
-        "label": "思茅区",
-        "value": "530802"
-      },
-      {
-        "label": "宁洱哈尼族彝族自治县",
-        "value": "530821"
-      },
-      {
-        "label": "墨江哈尼族自治县",
-        "value": "530822"
-      },
-      {
-        "label": "景东彝族自治县",
-        "value": "530823"
-      },
-      {
-        "label": "景谷傣族彝族自治县",
-        "value": "530824"
-      },
-      {
-        "label": "镇沅彝族哈尼族拉祜族自治县",
-        "value": "530825"
-      },
-      {
-        "label": "江城哈尼族彝族自治县",
-        "value": "530826"
-      },
-      {
-        "label": "孟连傣族拉祜族佤族自治县",
-        "value": "530827"
-      },
-      {
-        "label": "澜沧拉祜族自治县",
-        "value": "530828"
-      },
-      {
-        "label": "西盟佤族自治县",
-        "value": "530829"
-      }
-    ],
-    [{
-        "label": "临翔区",
-        "value": "530902"
-      },
-      {
-        "label": "凤庆县",
-        "value": "530921"
-      },
-      {
-        "label": "云县",
-        "value": "530922"
-      },
-      {
-        "label": "永德县",
-        "value": "530923"
-      },
-      {
-        "label": "镇康县",
-        "value": "530924"
-      },
-      {
-        "label": "双江拉祜族佤族布朗族傣族自治县",
-        "value": "530925"
-      },
-      {
-        "label": "耿马傣族佤族自治县",
-        "value": "530926"
-      },
-      {
-        "label": "沧源佤族自治县",
-        "value": "530927"
-      }
-    ],
-    [{
-        "label": "楚雄市",
-        "value": "532301"
-      },
-      {
-        "label": "双柏县",
-        "value": "532322"
-      },
-      {
-        "label": "牟定县",
-        "value": "532323"
-      },
-      {
-        "label": "南华县",
-        "value": "532324"
-      },
-      {
-        "label": "姚安县",
-        "value": "532325"
-      },
-      {
-        "label": "大姚县",
-        "value": "532326"
-      },
-      {
-        "label": "永仁县",
-        "value": "532327"
-      },
-      {
-        "label": "元谋县",
-        "value": "532328"
-      },
-      {
-        "label": "武定县",
-        "value": "532329"
-      },
-      {
-        "label": "禄丰县",
-        "value": "532331"
-      }
-    ],
-    [{
-        "label": "个旧市",
-        "value": "532501"
-      },
-      {
-        "label": "开远市",
-        "value": "532502"
-      },
-      {
-        "label": "蒙自市",
-        "value": "532503"
-      },
-      {
-        "label": "弥勒市",
-        "value": "532504"
-      },
-      {
-        "label": "屏边苗族自治县",
-        "value": "532523"
-      },
-      {
-        "label": "建水县",
-        "value": "532524"
-      },
-      {
-        "label": "石屏县",
-        "value": "532525"
-      },
-      {
-        "label": "泸西县",
-        "value": "532527"
-      },
-      {
-        "label": "元阳县",
-        "value": "532528"
-      },
-      {
-        "label": "红河县",
-        "value": "532529"
-      },
-      {
-        "label": "金平苗族瑶族傣族自治县",
-        "value": "532530"
-      },
-      {
-        "label": "绿春县",
-        "value": "532531"
-      },
-      {
-        "label": "河口瑶族自治县",
-        "value": "532532"
-      }
-    ],
-    [{
-        "label": "文山市",
-        "value": "532601"
-      },
-      {
-        "label": "砚山县",
-        "value": "532622"
-      },
-      {
-        "label": "西畴县",
-        "value": "532623"
-      },
-      {
-        "label": "麻栗坡县",
-        "value": "532624"
-      },
-      {
-        "label": "马关县",
-        "value": "532625"
-      },
-      {
-        "label": "丘北县",
-        "value": "532626"
-      },
-      {
-        "label": "广南县",
-        "value": "532627"
-      },
-      {
-        "label": "富宁县",
-        "value": "532628"
-      }
-    ],
-    [{
-        "label": "景洪市",
-        "value": "532801"
-      },
-      {
-        "label": "勐海县",
-        "value": "532822"
-      },
-      {
-        "label": "勐腊县",
-        "value": "532823"
-      }
-    ],
-    [{
-        "label": "大理市",
-        "value": "532901"
-      },
-      {
-        "label": "漾濞彝族自治县",
-        "value": "532922"
-      },
-      {
-        "label": "祥云县",
-        "value": "532923"
-      },
-      {
-        "label": "宾川县",
-        "value": "532924"
-      },
-      {
-        "label": "弥渡县",
-        "value": "532925"
-      },
-      {
-        "label": "南涧彝族自治县",
-        "value": "532926"
-      },
-      {
-        "label": "巍山彝族回族自治县",
-        "value": "532927"
-      },
-      {
-        "label": "永平县",
-        "value": "532928"
-      },
-      {
-        "label": "云龙县",
-        "value": "532929"
-      },
-      {
-        "label": "洱源县",
-        "value": "532930"
-      },
-      {
-        "label": "剑川县",
-        "value": "532931"
-      },
-      {
-        "label": "鹤庆县",
-        "value": "532932"
-      }
-    ],
-    [{
-        "label": "瑞丽市",
-        "value": "533102"
-      },
-      {
-        "label": "芒市",
-        "value": "533103"
-      },
-      {
-        "label": "梁河县",
-        "value": "533122"
-      },
-      {
-        "label": "盈江县",
-        "value": "533123"
-      },
-      {
-        "label": "陇川县",
-        "value": "533124"
-      }
-    ],
-    [{
-        "label": "泸水市",
-        "value": "533301"
-      },
-      {
-        "label": "福贡县",
-        "value": "533323"
-      },
-      {
-        "label": "贡山独龙族怒族自治县",
-        "value": "533324"
-      },
-      {
-        "label": "兰坪白族普米族自治县",
-        "value": "533325"
-      }
-    ],
-    [{
-        "label": "香格里拉市",
-        "value": "533401"
-      },
-      {
-        "label": "德钦县",
-        "value": "533422"
-      },
-      {
-        "label": "维西傈僳族自治县",
-        "value": "533423"
-      }
-    ]
-  ],
-  [
-    [{
-        "label": "城关区",
-        "value": "540102"
-      },
-      {
-        "label": "堆龙德庆区",
-        "value": "540103"
-      },
-      {
-        "label": "林周县",
-        "value": "540121"
-      },
-      {
-        "label": "当雄县",
-        "value": "540122"
-      },
-      {
-        "label": "尼木县",
-        "value": "540123"
-      },
-      {
-        "label": "曲水县",
-        "value": "540124"
-      },
-      {
-        "label": "达孜县",
-        "value": "540126"
-      },
-      {
-        "label": "墨竹工卡县",
-        "value": "540127"
-      },
-      {
-        "label": "格尔木藏青工业园区",
-        "value": "540171"
-      },
-      {
-        "label": "拉萨经济技术开发区",
-        "value": "540172"
-      },
-      {
-        "label": "西藏文化旅游创意园区",
-        "value": "540173"
-      },
-      {
-        "label": "达孜工业园区",
-        "value": "540174"
-      }
-    ],
-    [{
-        "label": "桑珠孜区",
-        "value": "540202"
-      },
-      {
-        "label": "南木林县",
-        "value": "540221"
-      },
-      {
-        "label": "江孜县",
-        "value": "540222"
-      },
-      {
-        "label": "定日县",
-        "value": "540223"
-      },
-      {
-        "label": "萨迦县",
-        "value": "540224"
-      },
-      {
-        "label": "拉孜县",
-        "value": "540225"
-      },
-      {
-        "label": "昂仁县",
-        "value": "540226"
-      },
-      {
-        "label": "谢通门县",
-        "value": "540227"
-      },
-      {
-        "label": "白朗县",
-        "value": "540228"
-      },
-      {
-        "label": "仁布县",
-        "value": "540229"
-      },
-      {
-        "label": "康马县",
-        "value": "540230"
-      },
-      {
-        "label": "定结县",
-        "value": "540231"
-      },
-      {
-        "label": "仲巴县",
-        "value": "540232"
-      },
-      {
-        "label": "亚东县",
-        "value": "540233"
-      },
-      {
-        "label": "吉隆县",
-        "value": "540234"
-      },
-      {
-        "label": "聂拉木县",
-        "value": "540235"
-      },
-      {
-        "label": "萨嘎县",
-        "value": "540236"
-      },
-      {
-        "label": "岗巴县",
-        "value": "540237"
-      }
-    ],
-    [{
-        "label": "卡若区",
-        "value": "540302"
-      },
-      {
-        "label": "江达县",
-        "value": "540321"
-      },
-      {
-        "label": "贡觉县",
-        "value": "540322"
-      },
-      {
-        "label": "类乌齐县",
-        "value": "540323"
-      },
-      {
-        "label": "丁青县",
-        "value": "540324"
-      },
-      {
-        "label": "察雅县",
-        "value": "540325"
-      },
-      {
-        "label": "八宿县",
-        "value": "540326"
-      },
-      {
-        "label": "左贡县",
-        "value": "540327"
-      },
-      {
-        "label": "芒康县",
-        "value": "540328"
-      },
-      {
-        "label": "洛隆县",
-        "value": "540329"
-      },
-      {
-        "label": "边坝县",
-        "value": "540330"
-      }
-    ],
-    [{
-        "label": "巴宜区",
-        "value": "540402"
-      },
-      {
-        "label": "工布江达县",
-        "value": "540421"
-      },
-      {
-        "label": "米林县",
-        "value": "540422"
-      },
-      {
-        "label": "墨脱县",
-        "value": "540423"
-      },
-      {
-        "label": "波密县",
-        "value": "540424"
-      },
-      {
-        "label": "察隅县",
-        "value": "540425"
-      },
-      {
-        "label": "朗县",
-        "value": "540426"
-      }
-    ],
-    [{
-        "label": "乃东区",
-        "value": "540502"
-      },
-      {
-        "label": "扎囊县",
-        "value": "540521"
-      },
-      {
-        "label": "贡嘎县",
-        "value": "540522"
-      },
-      {
-        "label": "桑日县",
-        "value": "540523"
-      },
-      {
-        "label": "琼结县",
-        "value": "540524"
-      },
-      {
-        "label": "曲松县",
-        "value": "540525"
-      },
-      {
-        "label": "措美县",
-        "value": "540526"
-      },
-      {
-        "label": "洛扎县",
-        "value": "540527"
-      },
-      {
-        "label": "加查县",
-        "value": "540528"
-      },
-      {
-        "label": "隆子县",
-        "value": "540529"
-      },
-      {
-        "label": "错那县",
-        "value": "540530"
-      },
-      {
-        "label": "浪卡子县",
-        "value": "540531"
-      }
-    ],
-    [{
-        "label": "那曲县",
-        "value": "542421"
-      },
-      {
-        "label": "嘉黎县",
-        "value": "542422"
-      },
-      {
-        "label": "比如县",
-        "value": "542423"
-      },
-      {
-        "label": "聂荣县",
-        "value": "542424"
-      },
-      {
-        "label": "安多县",
-        "value": "542425"
-      },
-      {
-        "label": "申扎县",
-        "value": "542426"
-      },
-      {
-        "label": "索县",
-        "value": "542427"
-      },
-      {
-        "label": "班戈县",
-        "value": "542428"
-      },
-      {
-        "label": "巴青县",
-        "value": "542429"
-      },
-      {
-        "label": "尼玛县",
-        "value": "542430"
-      },
-      {
-        "label": "双湖县",
-        "value": "542431"
-      }
-    ],
-    [{
-        "label": "普兰县",
-        "value": "542521"
-      },
-      {
-        "label": "札达县",
-        "value": "542522"
-      },
-      {
-        "label": "噶尔县",
-        "value": "542523"
-      },
-      {
-        "label": "日土县",
-        "value": "542524"
-      },
-      {
-        "label": "革吉县",
-        "value": "542525"
-      },
-      {
-        "label": "改则县",
-        "value": "542526"
-      },
-      {
-        "label": "措勤县",
-        "value": "542527"
-      }
-    ]
-  ],
-  [
-    [{
-        "label": "新城区",
-        "value": "610102"
-      },
-      {
-        "label": "碑林区",
-        "value": "610103"
-      },
-      {
-        "label": "莲湖区",
-        "value": "610104"
-      },
-      {
-        "label": "灞桥区",
-        "value": "610111"
-      },
-      {
-        "label": "未央区",
-        "value": "610112"
-      },
-      {
-        "label": "雁塔区",
-        "value": "610113"
-      },
-      {
-        "label": "阎良区",
-        "value": "610114"
-      },
-      {
-        "label": "临潼区",
-        "value": "610115"
-      },
-      {
-        "label": "长安区",
-        "value": "610116"
-      },
-      {
-        "label": "高陵区",
-        "value": "610117"
-      },
-      {
-        "label": "鄠邑区",
-        "value": "610118"
-      },
-      {
-        "label": "蓝田县",
-        "value": "610122"
-      },
-      {
-        "label": "周至县",
-        "value": "610124"
-      }
-    ],
-    [{
-        "label": "王益区",
-        "value": "610202"
-      },
-      {
-        "label": "印台区",
-        "value": "610203"
-      },
-      {
-        "label": "耀州区",
-        "value": "610204"
-      },
-      {
-        "label": "宜君县",
-        "value": "610222"
-      }
-    ],
-    [{
-        "label": "渭滨区",
-        "value": "610302"
-      },
-      {
-        "label": "金台区",
-        "value": "610303"
-      },
-      {
-        "label": "陈仓区",
-        "value": "610304"
-      },
-      {
-        "label": "凤翔县",
-        "value": "610322"
-      },
-      {
-        "label": "岐山县",
-        "value": "610323"
-      },
-      {
-        "label": "扶风县",
-        "value": "610324"
-      },
-      {
-        "label": "眉县",
-        "value": "610326"
-      },
-      {
-        "label": "陇县",
-        "value": "610327"
-      },
-      {
-        "label": "千阳县",
-        "value": "610328"
-      },
-      {
-        "label": "麟游县",
-        "value": "610329"
-      },
-      {
-        "label": "凤县",
-        "value": "610330"
-      },
-      {
-        "label": "太白县",
-        "value": "610331"
-      }
-    ],
-    [{
-        "label": "秦都区",
-        "value": "610402"
-      },
-      {
-        "label": "杨陵区",
-        "value": "610403"
-      },
-      {
-        "label": "渭城区",
-        "value": "610404"
-      },
-      {
-        "label": "三原县",
-        "value": "610422"
-      },
-      {
-        "label": "泾阳县",
-        "value": "610423"
-      },
-      {
-        "label": "乾县",
-        "value": "610424"
-      },
-      {
-        "label": "礼泉县",
-        "value": "610425"
-      },
-      {
-        "label": "永寿县",
-        "value": "610426"
-      },
-      {
-        "label": "彬县",
-        "value": "610427"
-      },
-      {
-        "label": "长武县",
-        "value": "610428"
-      },
-      {
-        "label": "旬邑县",
-        "value": "610429"
-      },
-      {
-        "label": "淳化县",
-        "value": "610430"
-      },
-      {
-        "label": "武功县",
-        "value": "610431"
-      },
-      {
-        "label": "兴平市",
-        "value": "610481"
-      }
-    ],
-    [{
-        "label": "临渭区",
-        "value": "610502"
-      },
-      {
-        "label": "华州区",
-        "value": "610503"
-      },
-      {
-        "label": "潼关县",
-        "value": "610522"
-      },
-      {
-        "label": "大荔县",
-        "value": "610523"
-      },
-      {
-        "label": "合阳县",
-        "value": "610524"
-      },
-      {
-        "label": "澄城县",
-        "value": "610525"
-      },
-      {
-        "label": "蒲城县",
-        "value": "610526"
-      },
-      {
-        "label": "白水县",
-        "value": "610527"
-      },
-      {
-        "label": "富平县",
-        "value": "610528"
-      },
-      {
-        "label": "韩城市",
-        "value": "610581"
-      },
-      {
-        "label": "华阴市",
-        "value": "610582"
-      }
-    ],
-    [{
-        "label": "宝塔区",
-        "value": "610602"
-      },
-      {
-        "label": "安塞区",
-        "value": "610603"
-      },
-      {
-        "label": "延长县",
-        "value": "610621"
-      },
-      {
-        "label": "延川县",
-        "value": "610622"
-      },
-      {
-        "label": "子长县",
-        "value": "610623"
-      },
-      {
-        "label": "志丹县",
-        "value": "610625"
-      },
-      {
-        "label": "吴起县",
-        "value": "610626"
-      },
-      {
-        "label": "甘泉县",
-        "value": "610627"
-      },
-      {
-        "label": "富县",
-        "value": "610628"
-      },
-      {
-        "label": "洛川县",
-        "value": "610629"
-      },
-      {
-        "label": "宜川县",
-        "value": "610630"
-      },
-      {
-        "label": "黄龙县",
-        "value": "610631"
-      },
-      {
-        "label": "黄陵县",
-        "value": "610632"
-      }
-    ],
-    [{
-        "label": "汉台区",
-        "value": "610702"
-      },
-      {
-        "label": "南郑区",
-        "value": "610703"
-      },
-      {
-        "label": "城固县",
-        "value": "610722"
-      },
-      {
-        "label": "洋县",
-        "value": "610723"
-      },
-      {
-        "label": "西乡县",
-        "value": "610724"
-      },
-      {
-        "label": "勉县",
-        "value": "610725"
-      },
-      {
-        "label": "宁强县",
-        "value": "610726"
-      },
-      {
-        "label": "略阳县",
-        "value": "610727"
-      },
-      {
-        "label": "镇巴县",
-        "value": "610728"
-      },
-      {
-        "label": "留坝县",
-        "value": "610729"
-      },
-      {
-        "label": "佛坪县",
-        "value": "610730"
-      }
-    ],
-    [{
-        "label": "榆阳区",
-        "value": "610802"
-      },
-      {
-        "label": "横山区",
-        "value": "610803"
-      },
-      {
-        "label": "府谷县",
-        "value": "610822"
-      },
-      {
-        "label": "靖边县",
-        "value": "610824"
-      },
-      {
-        "label": "定边县",
-        "value": "610825"
-      },
-      {
-        "label": "绥德县",
-        "value": "610826"
-      },
-      {
-        "label": "米脂县",
-        "value": "610827"
-      },
-      {
-        "label": "佳县",
-        "value": "610828"
-      },
-      {
-        "label": "吴堡县",
-        "value": "610829"
-      },
-      {
-        "label": "清涧县",
-        "value": "610830"
-      },
-      {
-        "label": "子洲县",
-        "value": "610831"
-      },
-      {
-        "label": "神木市",
-        "value": "610881"
-      }
-    ],
-    [{
-        "label": "汉滨区",
-        "value": "610902"
-      },
-      {
-        "label": "汉阴县",
-        "value": "610921"
-      },
-      {
-        "label": "石泉县",
-        "value": "610922"
-      },
-      {
-        "label": "宁陕县",
-        "value": "610923"
-      },
-      {
-        "label": "紫阳县",
-        "value": "610924"
-      },
-      {
-        "label": "岚皋县",
-        "value": "610925"
-      },
-      {
-        "label": "平利县",
-        "value": "610926"
-      },
-      {
-        "label": "镇坪县",
-        "value": "610927"
-      },
-      {
-        "label": "旬阳县",
-        "value": "610928"
-      },
-      {
-        "label": "白河县",
-        "value": "610929"
-      }
-    ],
-    [{
-        "label": "商州区",
-        "value": "611002"
-      },
-      {
-        "label": "洛南县",
-        "value": "611021"
-      },
-      {
-        "label": "丹凤县",
-        "value": "611022"
-      },
-      {
-        "label": "商南县",
-        "value": "611023"
-      },
-      {
-        "label": "山阳县",
-        "value": "611024"
-      },
-      {
-        "label": "镇安县",
-        "value": "611025"
-      },
-      {
-        "label": "柞水县",
-        "value": "611026"
-      }
-    ]
-  ],
-  [
-    [{
-        "label": "城关区",
-        "value": "620102"
-      },
-      {
-        "label": "七里河区",
-        "value": "620103"
-      },
-      {
-        "label": "西固区",
-        "value": "620104"
-      },
-      {
-        "label": "安宁区",
-        "value": "620105"
-      },
-      {
-        "label": "红古区",
-        "value": "620111"
-      },
-      {
-        "label": "永登县",
-        "value": "620121"
-      },
-      {
-        "label": "皋兰县",
-        "value": "620122"
-      },
-      {
-        "label": "榆中县",
-        "value": "620123"
-      },
-      {
-        "label": "兰州新区",
-        "value": "620171"
-      }
-    ],
-    [{
-      "label": "嘉峪关市",
-      "value": "620201"
-    }],
-    [{
-        "label": "金川区",
-        "value": "620302"
-      },
-      {
-        "label": "永昌县",
-        "value": "620321"
-      }
-    ],
-    [{
-        "label": "白银区",
-        "value": "620402"
-      },
-      {
-        "label": "平川区",
-        "value": "620403"
-      },
-      {
-        "label": "靖远县",
-        "value": "620421"
-      },
-      {
-        "label": "会宁县",
-        "value": "620422"
-      },
-      {
-        "label": "景泰县",
-        "value": "620423"
-      }
-    ],
-    [{
-        "label": "秦州区",
-        "value": "620502"
-      },
-      {
-        "label": "麦积区",
-        "value": "620503"
-      },
-      {
-        "label": "清水县",
-        "value": "620521"
-      },
-      {
-        "label": "秦安县",
-        "value": "620522"
-      },
-      {
-        "label": "甘谷县",
-        "value": "620523"
-      },
-      {
-        "label": "武山县",
-        "value": "620524"
-      },
-      {
-        "label": "张家川回族自治县",
-        "value": "620525"
-      }
-    ],
-    [{
-        "label": "凉州区",
-        "value": "620602"
-      },
-      {
-        "label": "民勤县",
-        "value": "620621"
-      },
-      {
-        "label": "古浪县",
-        "value": "620622"
-      },
-      {
-        "label": "天祝藏族自治县",
-        "value": "620623"
-      }
-    ],
-    [{
-        "label": "甘州区",
-        "value": "620702"
-      },
-      {
-        "label": "肃南裕固族自治县",
-        "value": "620721"
-      },
-      {
-        "label": "民乐县",
-        "value": "620722"
-      },
-      {
-        "label": "临泽县",
-        "value": "620723"
-      },
-      {
-        "label": "高台县",
-        "value": "620724"
-      },
-      {
-        "label": "山丹县",
-        "value": "620725"
-      }
-    ],
-    [{
-        "label": "崆峒区",
-        "value": "620802"
-      },
-      {
-        "label": "泾川县",
-        "value": "620821"
-      },
-      {
-        "label": "灵台县",
-        "value": "620822"
-      },
-      {
-        "label": "崇信县",
-        "value": "620823"
-      },
-      {
-        "label": "华亭县",
-        "value": "620824"
-      },
-      {
-        "label": "庄浪县",
-        "value": "620825"
-      },
-      {
-        "label": "静宁县",
-        "value": "620826"
-      },
-      {
-        "label": "平凉工业园区",
-        "value": "620871"
-      }
-    ],
-    [{
-        "label": "肃州区",
-        "value": "620902"
-      },
-      {
-        "label": "金塔县",
-        "value": "620921"
-      },
-      {
-        "label": "瓜州县",
-        "value": "620922"
-      },
-      {
-        "label": "肃北蒙古族自治县",
-        "value": "620923"
-      },
-      {
-        "label": "阿克塞哈萨克族自治县",
-        "value": "620924"
-      },
-      {
-        "label": "玉门市",
-        "value": "620981"
-      },
-      {
-        "label": "敦煌市",
-        "value": "620982"
-      }
-    ],
-    [{
-        "label": "西峰区",
-        "value": "621002"
-      },
-      {
-        "label": "庆城县",
-        "value": "621021"
-      },
-      {
-        "label": "环县",
-        "value": "621022"
-      },
-      {
-        "label": "华池县",
-        "value": "621023"
-      },
-      {
-        "label": "合水县",
-        "value": "621024"
-      },
-      {
-        "label": "正宁县",
-        "value": "621025"
-      },
-      {
-        "label": "宁县",
-        "value": "621026"
-      },
-      {
-        "label": "镇原县",
-        "value": "621027"
-      }
-    ],
-    [{
-        "label": "安定区",
-        "value": "621102"
-      },
-      {
-        "label": "通渭县",
-        "value": "621121"
-      },
-      {
-        "label": "陇西县",
-        "value": "621122"
-      },
-      {
-        "label": "渭源县",
-        "value": "621123"
-      },
-      {
-        "label": "临洮县",
-        "value": "621124"
-      },
-      {
-        "label": "漳县",
-        "value": "621125"
-      },
-      {
-        "label": "岷县",
-        "value": "621126"
-      }
-    ],
-    [{
-        "label": "武都区",
-        "value": "621202"
-      },
-      {
-        "label": "成县",
-        "value": "621221"
-      },
-      {
-        "label": "文县",
-        "value": "621222"
-      },
-      {
-        "label": "宕昌县",
-        "value": "621223"
-      },
-      {
-        "label": "康县",
-        "value": "621224"
-      },
-      {
-        "label": "西和县",
-        "value": "621225"
-      },
-      {
-        "label": "礼县",
-        "value": "621226"
-      },
-      {
-        "label": "徽县",
-        "value": "621227"
-      },
-      {
-        "label": "两当县",
-        "value": "621228"
-      }
-    ],
-    [{
-        "label": "临夏市",
-        "value": "622901"
-      },
-      {
-        "label": "临夏县",
-        "value": "622921"
-      },
-      {
-        "label": "康乐县",
-        "value": "622922"
-      },
-      {
-        "label": "永靖县",
-        "value": "622923"
-      },
-      {
-        "label": "广河县",
-        "value": "622924"
-      },
-      {
-        "label": "和政县",
-        "value": "622925"
-      },
-      {
-        "label": "东乡族自治县",
-        "value": "622926"
-      },
-      {
-        "label": "积石山保安族东乡族撒拉族自治县",
-        "value": "622927"
-      }
-    ],
-    [{
-        "label": "合作市",
-        "value": "623001"
-      },
-      {
-        "label": "临潭县",
-        "value": "623021"
-      },
-      {
-        "label": "卓尼县",
-        "value": "623022"
-      },
-      {
-        "label": "舟曲县",
-        "value": "623023"
-      },
-      {
-        "label": "迭部县",
-        "value": "623024"
-      },
-      {
-        "label": "玛曲县",
-        "value": "623025"
-      },
-      {
-        "label": "碌曲县",
-        "value": "623026"
-      },
-      {
-        "label": "夏河县",
-        "value": "623027"
-      }
-    ]
-  ],
-  [
-    [{
-        "label": "城东区",
-        "value": "630102"
-      },
-      {
-        "label": "城中区",
-        "value": "630103"
-      },
-      {
-        "label": "城西区",
-        "value": "630104"
-      },
-      {
-        "label": "城北区",
-        "value": "630105"
-      },
-      {
-        "label": "大通回族土族自治县",
-        "value": "630121"
-      },
-      {
-        "label": "湟中县",
-        "value": "630122"
-      },
-      {
-        "label": "湟源县",
-        "value": "630123"
-      }
-    ],
-    [{
-        "label": "乐都区",
-        "value": "630202"
-      },
-      {
-        "label": "平安区",
-        "value": "630203"
-      },
-      {
-        "label": "民和回族土族自治县",
-        "value": "630222"
-      },
-      {
-        "label": "互助土族自治县",
-        "value": "630223"
-      },
-      {
-        "label": "化隆回族自治县",
-        "value": "630224"
-      },
-      {
-        "label": "循化撒拉族自治县",
-        "value": "630225"
-      }
-    ],
-    [{
-        "label": "门源回族自治县",
-        "value": "632221"
-      },
-      {
-        "label": "祁连县",
-        "value": "632222"
-      },
-      {
-        "label": "海晏县",
-        "value": "632223"
-      },
-      {
-        "label": "刚察县",
-        "value": "632224"
-      }
-    ],
-    [{
-        "label": "同仁县",
-        "value": "632321"
-      },
-      {
-        "label": "尖扎县",
-        "value": "632322"
-      },
-      {
-        "label": "泽库县",
-        "value": "632323"
-      },
-      {
-        "label": "河南蒙古族自治县",
-        "value": "632324"
-      }
-    ],
-    [{
-        "label": "共和县",
-        "value": "632521"
-      },
-      {
-        "label": "同德县",
-        "value": "632522"
-      },
-      {
-        "label": "贵德县",
-        "value": "632523"
-      },
-      {
-        "label": "兴海县",
-        "value": "632524"
-      },
-      {
-        "label": "贵南县",
-        "value": "632525"
-      }
-    ],
-    [{
-        "label": "玛沁县",
-        "value": "632621"
-      },
-      {
-        "label": "班玛县",
-        "value": "632622"
-      },
-      {
-        "label": "甘德县",
-        "value": "632623"
-      },
-      {
-        "label": "达日县",
-        "value": "632624"
-      },
-      {
-        "label": "久治县",
-        "value": "632625"
-      },
-      {
-        "label": "玛多县",
-        "value": "632626"
-      }
-    ],
-    [{
-        "label": "玉树市",
-        "value": "632701"
-      },
-      {
-        "label": "杂多县",
-        "value": "632722"
-      },
-      {
-        "label": "称多县",
-        "value": "632723"
-      },
-      {
-        "label": "治多县",
-        "value": "632724"
-      },
-      {
-        "label": "囊谦县",
-        "value": "632725"
-      },
-      {
-        "label": "曲麻莱县",
-        "value": "632726"
-      }
-    ],
-    [{
-        "label": "格尔木市",
-        "value": "632801"
-      },
-      {
-        "label": "德令哈市",
-        "value": "632802"
-      },
-      {
-        "label": "乌兰县",
-        "value": "632821"
-      },
-      {
-        "label": "都兰县",
-        "value": "632822"
-      },
-      {
-        "label": "天峻县",
-        "value": "632823"
-      },
-      {
-        "label": "大柴旦行政委员会",
-        "value": "632857"
-      },
-      {
-        "label": "冷湖行政委员会",
-        "value": "632858"
-      },
-      {
-        "label": "茫崖行政委员会",
-        "value": "632859"
-      }
-    ]
-  ],
-  [
-    [{
-        "label": "兴庆区",
-        "value": "640104"
-      },
-      {
-        "label": "西夏区",
-        "value": "640105"
-      },
-      {
-        "label": "金凤区",
-        "value": "640106"
-      },
-      {
-        "label": "永宁县",
-        "value": "640121"
-      },
-      {
-        "label": "贺兰县",
-        "value": "640122"
-      },
-      {
-        "label": "灵武市",
-        "value": "640181"
-      }
-    ],
-    [{
-        "label": "大武口区",
-        "value": "640202"
-      },
-      {
-        "label": "惠农区",
-        "value": "640205"
-      },
-      {
-        "label": "平罗县",
-        "value": "640221"
-      }
-    ],
-    [{
-        "label": "利通区",
-        "value": "640302"
-      },
-      {
-        "label": "红寺堡区",
-        "value": "640303"
-      },
-      {
-        "label": "盐池县",
-        "value": "640323"
-      },
-      {
-        "label": "同心县",
-        "value": "640324"
-      },
-      {
-        "label": "青铜峡市",
-        "value": "640381"
-      }
-    ],
-    [{
-        "label": "原州区",
-        "value": "640402"
-      },
-      {
-        "label": "西吉县",
-        "value": "640422"
-      },
-      {
-        "label": "隆德县",
-        "value": "640423"
-      },
-      {
-        "label": "泾源县",
-        "value": "640424"
-      },
-      {
-        "label": "彭阳县",
-        "value": "640425"
-      }
-    ],
-    [{
-        "label": "沙坡头区",
-        "value": "640502"
-      },
-      {
-        "label": "中宁县",
-        "value": "640521"
-      },
-      {
-        "label": "海原县",
-        "value": "640522"
-      }
-    ]
-  ],
-  [
-    [{
-        "label": "天山区",
-        "value": "650102"
-      },
-      {
-        "label": "沙依巴克区",
-        "value": "650103"
-      },
-      {
-        "label": "新市区",
-        "value": "650104"
-      },
-      {
-        "label": "水磨沟区",
-        "value": "650105"
-      },
-      {
-        "label": "头屯河区",
-        "value": "650106"
-      },
-      {
-        "label": "达坂城区",
-        "value": "650107"
-      },
-      {
-        "label": "米东区",
-        "value": "650109"
-      },
-      {
-        "label": "乌鲁木齐县",
-        "value": "650121"
-      },
-      {
-        "label": "乌鲁木齐经济技术开发区",
-        "value": "650171"
-      },
-      {
-        "label": "乌鲁木齐高新技术产业开发区",
-        "value": "650172"
-      }
-    ],
-    [{
-        "label": "独山子区",
-        "value": "650202"
-      },
-      {
-        "label": "克拉玛依区",
-        "value": "650203"
-      },
-      {
-        "label": "白碱滩区",
-        "value": "650204"
-      },
-      {
-        "label": "乌尔禾区",
-        "value": "650205"
-      }
-    ],
-    [{
-        "label": "高昌区",
-        "value": "650402"
-      },
-      {
-        "label": "鄯善县",
-        "value": "650421"
-      },
-      {
-        "label": "托克逊县",
-        "value": "650422"
-      }
-    ],
-    [{
-        "label": "伊州区",
-        "value": "650502"
-      },
-      {
-        "label": "巴里坤哈萨克自治县",
-        "value": "650521"
-      },
-      {
-        "label": "伊吾县",
-        "value": "650522"
-      }
-    ],
-    [{
-        "label": "昌吉市",
-        "value": "652301"
-      },
-      {
-        "label": "阜康市",
-        "value": "652302"
-      },
-      {
-        "label": "呼图壁县",
-        "value": "652323"
-      },
-      {
-        "label": "玛纳斯县",
-        "value": "652324"
-      },
-      {
-        "label": "奇台县",
-        "value": "652325"
-      },
-      {
-        "label": "吉木萨尔县",
-        "value": "652327"
-      },
-      {
-        "label": "木垒哈萨克自治县",
-        "value": "652328"
-      }
-    ],
-    [{
-        "label": "博乐市",
-        "value": "652701"
-      },
-      {
-        "label": "阿拉山口市",
-        "value": "652702"
-      },
-      {
-        "label": "精河县",
-        "value": "652722"
-      },
-      {
-        "label": "温泉县",
-        "value": "652723"
-      }
-    ],
-    [{
-        "label": "库尔勒市",
-        "value": "652801"
-      },
-      {
-        "label": "轮台县",
-        "value": "652822"
-      },
-      {
-        "label": "尉犁县",
-        "value": "652823"
-      },
-      {
-        "label": "若羌县",
-        "value": "652824"
-      },
-      {
-        "label": "且末县",
-        "value": "652825"
-      },
-      {
-        "label": "焉耆回族自治县",
-        "value": "652826"
-      },
-      {
-        "label": "和静县",
-        "value": "652827"
-      },
-      {
-        "label": "和硕县",
-        "value": "652828"
-      },
-      {
-        "label": "博湖县",
-        "value": "652829"
-      },
-      {
-        "label": "库尔勒经济技术开发区",
-        "value": "652871"
-      }
-    ],
-    [{
-        "label": "阿克苏市",
-        "value": "652901"
-      },
-      {
-        "label": "温宿县",
-        "value": "652922"
-      },
-      {
-        "label": "库车县",
-        "value": "652923"
-      },
-      {
-        "label": "沙雅县",
-        "value": "652924"
-      },
-      {
-        "label": "新和县",
-        "value": "652925"
-      },
-      {
-        "label": "拜城县",
-        "value": "652926"
-      },
-      {
-        "label": "乌什县",
-        "value": "652927"
-      },
-      {
-        "label": "阿瓦提县",
-        "value": "652928"
-      },
-      {
-        "label": "柯坪县",
-        "value": "652929"
-      }
-    ],
-    [{
-        "label": "阿图什市",
-        "value": "653001"
-      },
-      {
-        "label": "阿克陶县",
-        "value": "653022"
-      },
-      {
-        "label": "阿合奇县",
-        "value": "653023"
-      },
-      {
-        "label": "乌恰县",
-        "value": "653024"
-      }
-    ],
-    [{
-        "label": "喀什市",
-        "value": "653101"
-      },
-      {
-        "label": "疏附县",
-        "value": "653121"
-      },
-      {
-        "label": "疏勒县",
-        "value": "653122"
-      },
-      {
-        "label": "英吉沙县",
-        "value": "653123"
-      },
-      {
-        "label": "泽普县",
-        "value": "653124"
-      },
-      {
-        "label": "莎车县",
-        "value": "653125"
-      },
-      {
-        "label": "叶城县",
-        "value": "653126"
-      },
-      {
-        "label": "麦盖提县",
-        "value": "653127"
-      },
-      {
-        "label": "岳普湖县",
-        "value": "653128"
-      },
-      {
-        "label": "伽师县",
-        "value": "653129"
-      },
-      {
-        "label": "巴楚县",
-        "value": "653130"
-      },
-      {
-        "label": "塔什库尔干塔吉克自治县",
-        "value": "653131"
-      }
-    ],
-    [{
-        "label": "和田市",
-        "value": "653201"
-      },
-      {
-        "label": "和田县",
-        "value": "653221"
-      },
-      {
-        "label": "墨玉县",
-        "value": "653222"
-      },
-      {
-        "label": "皮山县",
-        "value": "653223"
-      },
-      {
-        "label": "洛浦县",
-        "value": "653224"
-      },
-      {
-        "label": "策勒县",
-        "value": "653225"
-      },
-      {
-        "label": "于田县",
-        "value": "653226"
-      },
-      {
-        "label": "民丰县",
-        "value": "653227"
-      }
-    ],
-    [{
-        "label": "伊宁市",
-        "value": "654002"
-      },
-      {
-        "label": "奎屯市",
-        "value": "654003"
-      },
-      {
-        "label": "霍尔果斯市",
-        "value": "654004"
-      },
-      {
-        "label": "伊宁县",
-        "value": "654021"
-      },
-      {
-        "label": "察布查尔锡伯自治县",
-        "value": "654022"
-      },
-      {
-        "label": "霍城县",
-        "value": "654023"
-      },
-      {
-        "label": "巩留县",
-        "value": "654024"
-      },
-      {
-        "label": "新源县",
-        "value": "654025"
-      },
-      {
-        "label": "昭苏县",
-        "value": "654026"
-      },
-      {
-        "label": "特克斯县",
-        "value": "654027"
-      },
-      {
-        "label": "尼勒克县",
-        "value": "654028"
-      }
-    ],
-    [{
-        "label": "塔城市",
-        "value": "654201"
-      },
-      {
-        "label": "乌苏市",
-        "value": "654202"
-      },
-      {
-        "label": "额敏县",
-        "value": "654221"
-      },
-      {
-        "label": "沙湾县",
-        "value": "654223"
-      },
-      {
-        "label": "托里县",
-        "value": "654224"
-      },
-      {
-        "label": "裕民县",
-        "value": "654225"
-      },
-      {
-        "label": "和布克赛尔蒙古自治县",
-        "value": "654226"
-      }
-    ],
-    [{
-        "label": "阿勒泰市",
-        "value": "654301"
-      },
-      {
-        "label": "布尔津县",
-        "value": "654321"
-      },
-      {
-        "label": "富蕴县",
-        "value": "654322"
-      },
-      {
-        "label": "福海县",
-        "value": "654323"
-      },
-      {
-        "label": "哈巴河县",
-        "value": "654324"
-      },
-      {
-        "label": "青河县",
-        "value": "654325"
-      },
-      {
-        "label": "吉木乃县",
-        "value": "654326"
-      }
-    ],
-    [{
-        "label": "石河子市",
-        "value": "659001"
-      },
-      {
-        "label": "阿拉尔市",
-        "value": "659002"
-      },
-      {
-        "label": "图木舒克市",
-        "value": "659003"
-      },
-      {
-        "label": "五家渠市",
-        "value": "659004"
-      },
-      {
-        "label": "铁门关市",
-        "value": "659006"
-      }
-    ]
-  ],
-  [
-    [{
-      "label": "台北",
-      "value": "660101"
-    }],
-    [{
-      "label": "高雄",
-      "value": "660201"
-    }],
-    [{
-      "label": "基隆",
-      "value": "660301"
-    }],
-    [{
-      "label": "台中",
-      "value": "660401"
-    }],
-    [{
-      "label": "台南",
-      "value": "660501"
-    }],
-    [{
-      "label": "新竹",
-      "value": "660601"
-    }],
-    [{
-      "label": "嘉义",
-      "value": "660701"
-    }],
-    [{
-      "label": "宜兰",
-      "value": "660801"
-    }],
-    [{
-      "label": "桃园",
-      "value": "660901"
-    }],
-    [{
-      "label": "苗栗",
-      "value": "661001"
-    }],
-    [{
-      "label": "彰化",
-      "value": "661101"
-    }],
-    [{
-      "label": "南投",
-      "value": "661201"
-    }],
-    [{
-      "label": "云林",
-      "value": "661301"
-    }],
-    [{
-      "label": "屏东",
-      "value": "661401"
-    }],
-    [{
-      "label": "台东",
-      "value": "661501"
-    }],
-    [{
-      "label": "花莲",
-      "value": "661601"
-    }],
-    [{
-      "label": "澎湖",
-      "value": "661701"
-    }]
-  ],
-  [
-    [{
-      "label": "香港岛",
-      "value": "670101"
-    }],
-    [{
-      "label": "九龙",
-      "value": "670201"
-    }],
-    [{
-      "label": "新界",
-      "value": "670301"
-    }]
-  ],
-  [
-    [{
-      "label": "澳门半岛",
-      "value": "680101"
-    }],
-    [{
-      "label": "氹仔岛",
-      "value": "680201"
-    }],
-    [{
-      "label": "路环岛",
-      "value": "680301"
-    }],
-    [{
-      "label": "路氹城",
-      "value": "680401"
-    }]
-  ]
-]
-export default areaData;

تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
components/mpvue-citypicker/city-data/city.data.js


+ 0 - 1503
components/mpvue-citypicker/city-data/city.js

@@ -1,1503 +0,0 @@
-/* eslint-disable */
-var cityData = [
-  [{
-    "label": "市辖区",
-    "value": "1101"
-  }],
-  [{
-    "label": "市辖区",
-    "value": "1201"
-  }],
-  [{
-      "label": "石家庄市",
-      "value": "1301"
-    },
-    {
-      "label": "唐山市",
-      "value": "1302"
-    },
-    {
-      "label": "秦皇岛市",
-      "value": "1303"
-    },
-    {
-      "label": "邯郸市",
-      "value": "1304"
-    },
-    {
-      "label": "邢台市",
-      "value": "1305"
-    },
-    {
-      "label": "保定市",
-      "value": "1306"
-    },
-    {
-      "label": "张家口市",
-      "value": "1307"
-    },
-    {
-      "label": "承德市",
-      "value": "1308"
-    },
-    {
-      "label": "沧州市",
-      "value": "1309"
-    },
-    {
-      "label": "廊坊市",
-      "value": "1310"
-    },
-    {
-      "label": "衡水市",
-      "value": "1311"
-    }
-  ],
-  [{
-      "label": "太原市",
-      "value": "1401"
-    },
-    {
-      "label": "大同市",
-      "value": "1402"
-    },
-    {
-      "label": "阳泉市",
-      "value": "1403"
-    },
-    {
-      "label": "长治市",
-      "value": "1404"
-    },
-    {
-      "label": "晋城市",
-      "value": "1405"
-    },
-    {
-      "label": "朔州市",
-      "value": "1406"
-    },
-    {
-      "label": "晋中市",
-      "value": "1407"
-    },
-    {
-      "label": "运城市",
-      "value": "1408"
-    },
-    {
-      "label": "忻州市",
-      "value": "1409"
-    },
-    {
-      "label": "临汾市",
-      "value": "1410"
-    },
-    {
-      "label": "吕梁市",
-      "value": "1411"
-    }
-  ],
-  [{
-      "label": "呼和浩特市",
-      "value": "1501"
-    },
-    {
-      "label": "包头市",
-      "value": "1502"
-    },
-    {
-      "label": "乌海市",
-      "value": "1503"
-    },
-    {
-      "label": "赤峰市",
-      "value": "1504"
-    },
-    {
-      "label": "通辽市",
-      "value": "1505"
-    },
-    {
-      "label": "鄂尔多斯市",
-      "value": "1506"
-    },
-    {
-      "label": "呼伦贝尔市",
-      "value": "1507"
-    },
-    {
-      "label": "巴彦淖尔市",
-      "value": "1508"
-    },
-    {
-      "label": "乌兰察布市",
-      "value": "1509"
-    },
-    {
-      "label": "兴安盟",
-      "value": "1522"
-    },
-    {
-      "label": "锡林郭勒盟",
-      "value": "1525"
-    },
-    {
-      "label": "阿拉善盟",
-      "value": "1529"
-    }
-  ],
-  [{
-      "label": "沈阳市",
-      "value": "2101"
-    },
-    {
-      "label": "大连市",
-      "value": "2102"
-    },
-    {
-      "label": "鞍山市",
-      "value": "2103"
-    },
-    {
-      "label": "抚顺市",
-      "value": "2104"
-    },
-    {
-      "label": "本溪市",
-      "value": "2105"
-    },
-    {
-      "label": "丹东市",
-      "value": "2106"
-    },
-    {
-      "label": "锦州市",
-      "value": "2107"
-    },
-    {
-      "label": "营口市",
-      "value": "2108"
-    },
-    {
-      "label": "阜新市",
-      "value": "2109"
-    },
-    {
-      "label": "辽阳市",
-      "value": "2110"
-    },
-    {
-      "label": "盘锦市",
-      "value": "2111"
-    },
-    {
-      "label": "铁岭市",
-      "value": "2112"
-    },
-    {
-      "label": "朝阳市",
-      "value": "2113"
-    },
-    {
-      "label": "葫芦岛市",
-      "value": "2114"
-    }
-  ],
-  [{
-      "label": "长春市",
-      "value": "2201"
-    },
-    {
-      "label": "吉林市",
-      "value": "2202"
-    },
-    {
-      "label": "四平市",
-      "value": "2203"
-    },
-    {
-      "label": "辽源市",
-      "value": "2204"
-    },
-    {
-      "label": "通化市",
-      "value": "2205"
-    },
-    {
-      "label": "白山市",
-      "value": "2206"
-    },
-    {
-      "label": "松原市",
-      "value": "2207"
-    },
-    {
-      "label": "白城市",
-      "value": "2208"
-    },
-    {
-      "label": "延边朝鲜族自治州",
-      "value": "2224"
-    }
-  ],
-  [{
-      "label": "哈尔滨市",
-      "value": "2301"
-    },
-    {
-      "label": "齐齐哈尔市",
-      "value": "2302"
-    },
-    {
-      "label": "鸡西市",
-      "value": "2303"
-    },
-    {
-      "label": "鹤岗市",
-      "value": "2304"
-    },
-    {
-      "label": "双鸭山市",
-      "value": "2305"
-    },
-    {
-      "label": "大庆市",
-      "value": "2306"
-    },
-    {
-      "label": "伊春市",
-      "value": "2307"
-    },
-    {
-      "label": "佳木斯市",
-      "value": "2308"
-    },
-    {
-      "label": "七台河市",
-      "value": "2309"
-    },
-    {
-      "label": "牡丹江市",
-      "value": "2310"
-    },
-    {
-      "label": "黑河市",
-      "value": "2311"
-    },
-    {
-      "label": "绥化市",
-      "value": "2312"
-    },
-    {
-      "label": "大兴安岭地区",
-      "value": "2327"
-    }
-  ],
-  [{
-    "label": "市辖区",
-    "value": "3101"
-  }],
-  [{
-      "label": "南京市",
-      "value": "3201"
-    },
-    {
-      "label": "无锡市",
-      "value": "3202"
-    },
-    {
-      "label": "徐州市",
-      "value": "3203"
-    },
-    {
-      "label": "常州市",
-      "value": "3204"
-    },
-    {
-      "label": "苏州市",
-      "value": "3205"
-    },
-    {
-      "label": "南通市",
-      "value": "3206"
-    },
-    {
-      "label": "连云港市",
-      "value": "3207"
-    },
-    {
-      "label": "淮安市",
-      "value": "3208"
-    },
-    {
-      "label": "盐城市",
-      "value": "3209"
-    },
-    {
-      "label": "扬州市",
-      "value": "3210"
-    },
-    {
-      "label": "镇江市",
-      "value": "3211"
-    },
-    {
-      "label": "泰州市",
-      "value": "3212"
-    },
-    {
-      "label": "宿迁市",
-      "value": "3213"
-    }
-  ],
-  [{
-      "label": "杭州市",
-      "value": "3301"
-    },
-    {
-      "label": "宁波市",
-      "value": "3302"
-    },
-    {
-      "label": "温州市",
-      "value": "3303"
-    },
-    {
-      "label": "嘉兴市",
-      "value": "3304"
-    },
-    {
-      "label": "湖州市",
-      "value": "3305"
-    },
-    {
-      "label": "绍兴市",
-      "value": "3306"
-    },
-    {
-      "label": "金华市",
-      "value": "3307"
-    },
-    {
-      "label": "衢州市",
-      "value": "3308"
-    },
-    {
-      "label": "舟山市",
-      "value": "3309"
-    },
-    {
-      "label": "台州市",
-      "value": "3310"
-    },
-    {
-      "label": "丽水市",
-      "value": "3311"
-    }
-  ],
-  [{
-      "label": "合肥市",
-      "value": "3401"
-    },
-    {
-      "label": "芜湖市",
-      "value": "3402"
-    },
-    {
-      "label": "蚌埠市",
-      "value": "3403"
-    },
-    {
-      "label": "淮南市",
-      "value": "3404"
-    },
-    {
-      "label": "马鞍山市",
-      "value": "3405"
-    },
-    {
-      "label": "淮北市",
-      "value": "3406"
-    },
-    {
-      "label": "铜陵市",
-      "value": "3407"
-    },
-    {
-      "label": "安庆市",
-      "value": "3408"
-    },
-    {
-      "label": "黄山市",
-      "value": "3410"
-    },
-    {
-      "label": "滁州市",
-      "value": "3411"
-    },
-    {
-      "label": "阜阳市",
-      "value": "3412"
-    },
-    {
-      "label": "宿州市",
-      "value": "3413"
-    },
-    {
-      "label": "六安市",
-      "value": "3415"
-    },
-    {
-      "label": "亳州市",
-      "value": "3416"
-    },
-    {
-      "label": "池州市",
-      "value": "3417"
-    },
-    {
-      "label": "宣城市",
-      "value": "3418"
-    }
-  ],
-  [{
-      "label": "福州市",
-      "value": "3501"
-    },
-    {
-      "label": "厦门市",
-      "value": "3502"
-    },
-    {
-      "label": "莆田市",
-      "value": "3503"
-    },
-    {
-      "label": "三明市",
-      "value": "3504"
-    },
-    {
-      "label": "泉州市",
-      "value": "3505"
-    },
-    {
-      "label": "漳州市",
-      "value": "3506"
-    },
-    {
-      "label": "南平市",
-      "value": "3507"
-    },
-    {
-      "label": "龙岩市",
-      "value": "3508"
-    },
-    {
-      "label": "宁德市",
-      "value": "3509"
-    }
-  ],
-  [{
-      "label": "南昌市",
-      "value": "3601"
-    },
-    {
-      "label": "景德镇市",
-      "value": "3602"
-    },
-    {
-      "label": "萍乡市",
-      "value": "3603"
-    },
-    {
-      "label": "九江市",
-      "value": "3604"
-    },
-    {
-      "label": "新余市",
-      "value": "3605"
-    },
-    {
-      "label": "鹰潭市",
-      "value": "3606"
-    },
-    {
-      "label": "赣州市",
-      "value": "3607"
-    },
-    {
-      "label": "吉安市",
-      "value": "3608"
-    },
-    {
-      "label": "宜春市",
-      "value": "3609"
-    },
-    {
-      "label": "抚州市",
-      "value": "3610"
-    },
-    {
-      "label": "上饶市",
-      "value": "3611"
-    }
-  ],
-  [{
-      "label": "济南市",
-      "value": "3701"
-    },
-    {
-      "label": "青岛市",
-      "value": "3702"
-    },
-    {
-      "label": "淄博市",
-      "value": "3703"
-    },
-    {
-      "label": "枣庄市",
-      "value": "3704"
-    },
-    {
-      "label": "东营市",
-      "value": "3705"
-    },
-    {
-      "label": "烟台市",
-      "value": "3706"
-    },
-    {
-      "label": "潍坊市",
-      "value": "3707"
-    },
-    {
-      "label": "济宁市",
-      "value": "3708"
-    },
-    {
-      "label": "泰安市",
-      "value": "3709"
-    },
-    {
-      "label": "威海市",
-      "value": "3710"
-    },
-    {
-      "label": "日照市",
-      "value": "3711"
-    },
-    {
-      "label": "莱芜市",
-      "value": "3712"
-    },
-    {
-      "label": "临沂市",
-      "value": "3713"
-    },
-    {
-      "label": "德州市",
-      "value": "3714"
-    },
-    {
-      "label": "聊城市",
-      "value": "3715"
-    },
-    {
-      "label": "滨州市",
-      "value": "3716"
-    },
-    {
-      "label": "菏泽市",
-      "value": "3717"
-    }
-  ],
-  [{
-      "label": "郑州市",
-      "value": "4101"
-    },
-    {
-      "label": "开封市",
-      "value": "4102"
-    },
-    {
-      "label": "洛阳市",
-      "value": "4103"
-    },
-    {
-      "label": "平顶山市",
-      "value": "4104"
-    },
-    {
-      "label": "安阳市",
-      "value": "4105"
-    },
-    {
-      "label": "鹤壁市",
-      "value": "4106"
-    },
-    {
-      "label": "新乡市",
-      "value": "4107"
-    },
-    {
-      "label": "焦作市",
-      "value": "4108"
-    },
-    {
-      "label": "濮阳市",
-      "value": "4109"
-    },
-    {
-      "label": "许昌市",
-      "value": "4110"
-    },
-    {
-      "label": "漯河市",
-      "value": "4111"
-    },
-    {
-      "label": "三门峡市",
-      "value": "4112"
-    },
-    {
-      "label": "南阳市",
-      "value": "4113"
-    },
-    {
-      "label": "商丘市",
-      "value": "4114"
-    },
-    {
-      "label": "信阳市",
-      "value": "4115"
-    },
-    {
-      "label": "周口市",
-      "value": "4116"
-    },
-    {
-      "label": "驻马店市",
-      "value": "4117"
-    },
-    {
-      "label": "省直辖县级行政区划",
-      "value": "4190"
-    }
-  ],
-  [{
-      "label": "武汉市",
-      "value": "4201"
-    },
-    {
-      "label": "黄石市",
-      "value": "4202"
-    },
-    {
-      "label": "十堰市",
-      "value": "4203"
-    },
-    {
-      "label": "宜昌市",
-      "value": "4205"
-    },
-    {
-      "label": "襄阳市",
-      "value": "4206"
-    },
-    {
-      "label": "鄂州市",
-      "value": "4207"
-    },
-    {
-      "label": "荆门市",
-      "value": "4208"
-    },
-    {
-      "label": "孝感市",
-      "value": "4209"
-    },
-    {
-      "label": "荆州市",
-      "value": "4210"
-    },
-    {
-      "label": "黄冈市",
-      "value": "4211"
-    },
-    {
-      "label": "咸宁市",
-      "value": "4212"
-    },
-    {
-      "label": "随州市",
-      "value": "4213"
-    },
-    {
-      "label": "恩施土家族苗族自治州",
-      "value": "4228"
-    },
-    {
-      "label": "省直辖县级行政区划",
-      "value": "4290"
-    }
-  ],
-  [{
-      "label": "长沙市",
-      "value": "4301"
-    },
-    {
-      "label": "株洲市",
-      "value": "4302"
-    },
-    {
-      "label": "湘潭市",
-      "value": "4303"
-    },
-    {
-      "label": "衡阳市",
-      "value": "4304"
-    },
-    {
-      "label": "邵阳市",
-      "value": "4305"
-    },
-    {
-      "label": "岳阳市",
-      "value": "4306"
-    },
-    {
-      "label": "常德市",
-      "value": "4307"
-    },
-    {
-      "label": "张家界市",
-      "value": "4308"
-    },
-    {
-      "label": "益阳市",
-      "value": "4309"
-    },
-    {
-      "label": "郴州市",
-      "value": "4310"
-    },
-    {
-      "label": "永州市",
-      "value": "4311"
-    },
-    {
-      "label": "怀化市",
-      "value": "4312"
-    },
-    {
-      "label": "娄底市",
-      "value": "4313"
-    },
-    {
-      "label": "湘西土家族苗族自治州",
-      "value": "4331"
-    }
-  ],
-  [{
-      "label": "广州市",
-      "value": "4401"
-    },
-    {
-      "label": "韶关市",
-      "value": "4402"
-    },
-    {
-      "label": "深圳市",
-      "value": "4403"
-    },
-    {
-      "label": "珠海市",
-      "value": "4404"
-    },
-    {
-      "label": "汕头市",
-      "value": "4405"
-    },
-    {
-      "label": "佛山市",
-      "value": "4406"
-    },
-    {
-      "label": "江门市",
-      "value": "4407"
-    },
-    {
-      "label": "湛江市",
-      "value": "4408"
-    },
-    {
-      "label": "茂名市",
-      "value": "4409"
-    },
-    {
-      "label": "肇庆市",
-      "value": "4412"
-    },
-    {
-      "label": "惠州市",
-      "value": "4413"
-    },
-    {
-      "label": "梅州市",
-      "value": "4414"
-    },
-    {
-      "label": "汕尾市",
-      "value": "4415"
-    },
-    {
-      "label": "河源市",
-      "value": "4416"
-    },
-    {
-      "label": "阳江市",
-      "value": "4417"
-    },
-    {
-      "label": "清远市",
-      "value": "4418"
-    },
-    {
-      "label": "东莞市",
-      "value": "4419"
-    },
-    {
-      "label": "中山市",
-      "value": "4420"
-    },
-    {
-      "label": "潮州市",
-      "value": "4451"
-    },
-    {
-      "label": "揭阳市",
-      "value": "4452"
-    },
-    {
-      "label": "云浮市",
-      "value": "4453"
-    }
-  ],
-  [{
-      "label": "南宁市",
-      "value": "4501"
-    },
-    {
-      "label": "柳州市",
-      "value": "4502"
-    },
-    {
-      "label": "桂林市",
-      "value": "4503"
-    },
-    {
-      "label": "梧州市",
-      "value": "4504"
-    },
-    {
-      "label": "北海市",
-      "value": "4505"
-    },
-    {
-      "label": "防城港市",
-      "value": "4506"
-    },
-    {
-      "label": "钦州市",
-      "value": "4507"
-    },
-    {
-      "label": "贵港市",
-      "value": "4508"
-    },
-    {
-      "label": "玉林市",
-      "value": "4509"
-    },
-    {
-      "label": "百色市",
-      "value": "4510"
-    },
-    {
-      "label": "贺州市",
-      "value": "4511"
-    },
-    {
-      "label": "河池市",
-      "value": "4512"
-    },
-    {
-      "label": "来宾市",
-      "value": "4513"
-    },
-    {
-      "label": "崇左市",
-      "value": "4514"
-    }
-  ],
-  [{
-      "label": "海口市",
-      "value": "4601"
-    },
-    {
-      "label": "三亚市",
-      "value": "4602"
-    },
-    {
-      "label": "三沙市",
-      "value": "4603"
-    },
-    {
-      "label": "儋州市",
-      "value": "4604"
-    },
-    {
-      "label": "省直辖县级行政区划",
-      "value": "4690"
-    }
-  ],
-  [{
-      "label": "市辖区",
-      "value": "5001"
-    },
-    {
-      "label": "县",
-      "value": "5002"
-    }
-  ],
-  [{
-      "label": "成都市",
-      "value": "5101"
-    },
-    {
-      "label": "自贡市",
-      "value": "5103"
-    },
-    {
-      "label": "攀枝花市",
-      "value": "5104"
-    },
-    {
-      "label": "泸州市",
-      "value": "5105"
-    },
-    {
-      "label": "德阳市",
-      "value": "5106"
-    },
-    {
-      "label": "绵阳市",
-      "value": "5107"
-    },
-    {
-      "label": "广元市",
-      "value": "5108"
-    },
-    {
-      "label": "遂宁市",
-      "value": "5109"
-    },
-    {
-      "label": "内江市",
-      "value": "5110"
-    },
-    {
-      "label": "乐山市",
-      "value": "5111"
-    },
-    {
-      "label": "南充市",
-      "value": "5113"
-    },
-    {
-      "label": "眉山市",
-      "value": "5114"
-    },
-    {
-      "label": "宜宾市",
-      "value": "5115"
-    },
-    {
-      "label": "广安市",
-      "value": "5116"
-    },
-    {
-      "label": "达州市",
-      "value": "5117"
-    },
-    {
-      "label": "雅安市",
-      "value": "5118"
-    },
-    {
-      "label": "巴中市",
-      "value": "5119"
-    },
-    {
-      "label": "资阳市",
-      "value": "5120"
-    },
-    {
-      "label": "阿坝藏族羌族自治州",
-      "value": "5132"
-    },
-    {
-      "label": "甘孜藏族自治州",
-      "value": "5133"
-    },
-    {
-      "label": "凉山彝族自治州",
-      "value": "5134"
-    }
-  ],
-  [{
-      "label": "贵阳市",
-      "value": "5201"
-    },
-    {
-      "label": "六盘水市",
-      "value": "5202"
-    },
-    {
-      "label": "遵义市",
-      "value": "5203"
-    },
-    {
-      "label": "安顺市",
-      "value": "5204"
-    },
-    {
-      "label": "毕节市",
-      "value": "5205"
-    },
-    {
-      "label": "铜仁市",
-      "value": "5206"
-    },
-    {
-      "label": "黔西南布依族苗族自治州",
-      "value": "5223"
-    },
-    {
-      "label": "黔东南苗族侗族自治州",
-      "value": "5226"
-    },
-    {
-      "label": "黔南布依族苗族自治州",
-      "value": "5227"
-    }
-  ],
-  [{
-      "label": "昆明市",
-      "value": "5301"
-    },
-    {
-      "label": "曲靖市",
-      "value": "5303"
-    },
-    {
-      "label": "玉溪市",
-      "value": "5304"
-    },
-    {
-      "label": "保山市",
-      "value": "5305"
-    },
-    {
-      "label": "昭通市",
-      "value": "5306"
-    },
-    {
-      "label": "丽江市",
-      "value": "5307"
-    },
-    {
-      "label": "普洱市",
-      "value": "5308"
-    },
-    {
-      "label": "临沧市",
-      "value": "5309"
-    },
-    {
-      "label": "楚雄彝族自治州",
-      "value": "5323"
-    },
-    {
-      "label": "红河哈尼族彝族自治州",
-      "value": "5325"
-    },
-    {
-      "label": "文山壮族苗族自治州",
-      "value": "5326"
-    },
-    {
-      "label": "西双版纳傣族自治州",
-      "value": "5328"
-    },
-    {
-      "label": "大理白族自治州",
-      "value": "5329"
-    },
-    {
-      "label": "德宏傣族景颇族自治州",
-      "value": "5331"
-    },
-    {
-      "label": "怒江傈僳族自治州",
-      "value": "5333"
-    },
-    {
-      "label": "迪庆藏族自治州",
-      "value": "5334"
-    }
-  ],
-  [{
-      "label": "拉萨市",
-      "value": "5401"
-    },
-    {
-      "label": "日喀则市",
-      "value": "5402"
-    },
-    {
-      "label": "昌都市",
-      "value": "5403"
-    },
-    {
-      "label": "林芝市",
-      "value": "5404"
-    },
-    {
-      "label": "山南市",
-      "value": "5405"
-    },
-    {
-      "label": "那曲地区",
-      "value": "5424"
-    },
-    {
-      "label": "阿里地区",
-      "value": "5425"
-    }
-  ],
-  [{
-      "label": "西安市",
-      "value": "6101"
-    },
-    {
-      "label": "铜川市",
-      "value": "6102"
-    },
-    {
-      "label": "宝鸡市",
-      "value": "6103"
-    },
-    {
-      "label": "咸阳市",
-      "value": "6104"
-    },
-    {
-      "label": "渭南市",
-      "value": "6105"
-    },
-    {
-      "label": "延安市",
-      "value": "6106"
-    },
-    {
-      "label": "汉中市",
-      "value": "6107"
-    },
-    {
-      "label": "榆林市",
-      "value": "6108"
-    },
-    {
-      "label": "安康市",
-      "value": "6109"
-    },
-    {
-      "label": "商洛市",
-      "value": "6110"
-    }
-  ],
-  [{
-      "label": "兰州市",
-      "value": "6201"
-    },
-    {
-      "label": "嘉峪关市",
-      "value": "6202"
-    },
-    {
-      "label": "金昌市",
-      "value": "6203"
-    },
-    {
-      "label": "白银市",
-      "value": "6204"
-    },
-    {
-      "label": "天水市",
-      "value": "6205"
-    },
-    {
-      "label": "武威市",
-      "value": "6206"
-    },
-    {
-      "label": "张掖市",
-      "value": "6207"
-    },
-    {
-      "label": "平凉市",
-      "value": "6208"
-    },
-    {
-      "label": "酒泉市",
-      "value": "6209"
-    },
-    {
-      "label": "庆阳市",
-      "value": "6210"
-    },
-    {
-      "label": "定西市",
-      "value": "6211"
-    },
-    {
-      "label": "陇南市",
-      "value": "6212"
-    },
-    {
-      "label": "临夏回族自治州",
-      "value": "6229"
-    },
-    {
-      "label": "甘南藏族自治州",
-      "value": "6230"
-    }
-  ],
-  [{
-      "label": "西宁市",
-      "value": "6301"
-    },
-    {
-      "label": "海东市",
-      "value": "6302"
-    },
-    {
-      "label": "海北藏族自治州",
-      "value": "6322"
-    },
-    {
-      "label": "黄南藏族自治州",
-      "value": "6323"
-    },
-    {
-      "label": "海南藏族自治州",
-      "value": "6325"
-    },
-    {
-      "label": "果洛藏族自治州",
-      "value": "6326"
-    },
-    {
-      "label": "玉树藏族自治州",
-      "value": "6327"
-    },
-    {
-      "label": "海西蒙古族藏族自治州",
-      "value": "6328"
-    }
-  ],
-  [{
-      "label": "银川市",
-      "value": "6401"
-    },
-    {
-      "label": "石嘴山市",
-      "value": "6402"
-    },
-    {
-      "label": "吴忠市",
-      "value": "6403"
-    },
-    {
-      "label": "固原市",
-      "value": "6404"
-    },
-    {
-      "label": "中卫市",
-      "value": "6405"
-    }
-  ],
-  [{
-      "label": "乌鲁木齐市",
-      "value": "6501"
-    },
-    {
-      "label": "克拉玛依市",
-      "value": "6502"
-    },
-    {
-      "label": "吐鲁番市",
-      "value": "6504"
-    },
-    {
-      "label": "哈密市",
-      "value": "6505"
-    },
-    {
-      "label": "昌吉回族自治州",
-      "value": "6523"
-    },
-    {
-      "label": "博尔塔拉蒙古自治州",
-      "value": "6527"
-    },
-    {
-      "label": "巴音郭楞蒙古自治州",
-      "value": "6528"
-    },
-    {
-      "label": "阿克苏地区",
-      "value": "6529"
-    },
-    {
-      "label": "克孜勒苏柯尔克孜自治州",
-      "value": "6530"
-    },
-    {
-      "label": "喀什地区",
-      "value": "6531"
-    },
-    {
-      "label": "和田地区",
-      "value": "6532"
-    },
-    {
-      "label": "伊犁哈萨克自治州",
-      "value": "6540"
-    },
-    {
-      "label": "塔城地区",
-      "value": "6542"
-    },
-    {
-      "label": "阿勒泰地区",
-      "value": "6543"
-    },
-    {
-      "label": "自治区直辖县级行政区划",
-      "value": "6590"
-    }
-  ],
-  [{
-      "label": "台北",
-      "value": "6601"
-    },
-    {
-      "label": "高雄",
-      "value": "6602"
-    },
-    {
-      "label": "基隆",
-      "value": "6603"
-    },
-    {
-      "label": "台中",
-      "value": "6604"
-    },
-    {
-      "label": "台南",
-      "value": "6605"
-    },
-    {
-      "label": "新竹",
-      "value": "6606"
-    },
-    {
-      "label": "嘉义",
-      "value": "6607"
-    },
-    {
-      "label": "宜兰",
-      "value": "6608"
-    },
-    {
-      "label": "桃园",
-      "value": "6609"
-    },
-    {
-      "label": "苗栗",
-      "value": "6610"
-    },
-    {
-      "label": "彰化",
-      "value": "6611"
-    },
-    {
-      "label": "南投",
-      "value": "6612"
-    },
-    {
-      "label": "云林",
-      "value": "6613"
-    },
-    {
-      "label": "屏东",
-      "value": "6614"
-    },
-    {
-      "label": "台东",
-      "value": "6615"
-    },
-    {
-      "label": "花莲",
-      "value": "6616"
-    },
-    {
-      "label": "澎湖",
-      "value": "6617"
-    }
-  ],
-  [{
-      "label": "香港岛",
-      "value": "6701"
-    },
-    {
-      "label": "九龙",
-      "value": "6702"
-    },
-    {
-      "label": "新界",
-      "value": "6703"
-    }
-  ],
-  [{
-      "label": "澳门半岛",
-      "value": "6801"
-    },
-    {
-      "label": "氹仔岛",
-      "value": "6802"
-    },
-    {
-      "label": "路环岛",
-      "value": "6803"
-    },
-    {
-      "label": "路氹城",
-      "value": "6804"
-    }
-  ]
-]
-export default cityData;

+ 0 - 139
components/mpvue-citypicker/city-data/province.js

@@ -1,139 +0,0 @@
-/* eslint-disable */
-var provinceData = [{
-    "label": "北京市",
-    "value": "11"
-  },
-  {
-    "label": "天津市",
-    "value": "12"
-  },
-  {
-    "label": "河北省",
-    "value": "13"
-  },
-  {
-    "label": "山西省",
-    "value": "14"
-  },
-  {
-    "label": "内蒙古自治区",
-    "value": "15"
-  },
-  {
-    "label": "辽宁省",
-    "value": "21"
-  },
-  {
-    "label": "吉林省",
-    "value": "22"
-  },
-  {
-    "label": "黑龙江省",
-    "value": "23"
-  },
-  {
-    "label": "上海市",
-    "value": "31"
-  },
-  {
-    "label": "江苏省",
-    "value": "32"
-  },
-  {
-    "label": "浙江省",
-    "value": "33"
-  },
-  {
-    "label": "安徽省",
-    "value": "34"
-  },
-  {
-    "label": "福建省",
-    "value": "35"
-  },
-  {
-    "label": "江西省",
-    "value": "36"
-  },
-  {
-    "label": "山东省",
-    "value": "37"
-  },
-  {
-    "label": "河南省",
-    "value": "41"
-  },
-  {
-    "label": "湖北省",
-    "value": "42"
-  },
-  {
-    "label": "湖南省",
-    "value": "43"
-  },
-  {
-    "label": "广东省",
-    "value": "44"
-  },
-  {
-    "label": "广西壮族自治区",
-    "value": "45"
-  },
-  {
-    "label": "海南省",
-    "value": "46"
-  },
-  {
-    "label": "重庆市",
-    "value": "50"
-  },
-  {
-    "label": "四川省",
-    "value": "51"
-  },
-  {
-    "label": "贵州省",
-    "value": "52"
-  },
-  {
-    "label": "云南省",
-    "value": "53"
-  },
-  {
-    "label": "西藏自治区",
-    "value": "54"
-  },
-  {
-    "label": "陕西省",
-    "value": "61"
-  },
-  {
-    "label": "甘肃省",
-    "value": "62"
-  },
-  {
-    "label": "青海省",
-    "value": "63"
-  },
-  {
-    "label": "宁夏回族自治区",
-    "value": "64"
-  },
-  {
-    "label": "新疆维吾尔自治区",
-    "value": "65"
-  },
-  {
-    "label": "台湾",
-    "value": "66"
-  },
-  {
-    "label": "香港",
-    "value": "67"
-  },
-  {
-    "label": "澳门",
-    "value": "68"
-  }
-]
-export default provinceData;

+ 0 - 214
components/mpvue-citypicker/mpvueCityPicker.vue

@@ -1,214 +0,0 @@
-<template>
-  <div class="mpvue-picker">
-    <div :class="{'pickerMask':showPicker}" @click="maskClick" catchtouchmove="true"></div>
-    <div class="mpvue-picker-content " :class="{'mpvue-picker-view-show':showPicker}">
-      <div class="mpvue-picker__hd" catchtouchmove="true">
-        <div class="mpvue-picker__action" @click="pickerCancel">取消</div>
-        <div class="mpvue-picker__action" :style="{color:themeColor}" @click="pickerConfirm">确定</div>
-      </div>
-      <picker-view indicator-style="height: 40px;" class="mpvue-picker-view" :value="pickerValue" @change="pickerChange">
-        <block>
-          <picker-view-column>
-            <div class="picker-item" v-for="(item,index) in provinceDataList" :key="index">{{item.label}}</div>
-          </picker-view-column>
-          <picker-view-column>
-            <div class="picker-item" v-for="(item,index) in cityDataList" :key="index">{{item.label}}</div>
-          </picker-view-column>
-          <picker-view-column>
-            <div class="picker-item" v-for="(item,index) in areaDataList" :key="index">{{item.label}}</div>
-          </picker-view-column>
-        </block>
-      </picker-view>
-    </div>
-  </div>
-</template>
-
-<script>
-import provinceData from './city-data/province.js';
-import cityData from './city-data/city.js';
-import areaData from './city-data/area.js';
-export default {
-  data() {
-    return {
-      pickerValue: [0, 0, 0],
-      provinceDataList: [],
-      cityDataList: [],
-      areaDataList: [],
-			/* 是否显示控件 */
-			showPicker: false,
-    };
-  },
-  created() {
-    this.init()
-  },
-  props: {
-    /* 默认值 */
-    pickerValueDefault: {
-      type: Array,
-      default(){
-				return [0, 0, 0]
-			}
-    },
-    /* 主题色 */
-    themeColor: String
-  },
-	watch:{
-		pickerValueDefault(){
-			this.init();
-		}
-	},
-  methods: {
-		init() {
-			this.handPickValueDefault(); // 对 pickerValueDefault 做兼容处理
-			this.provinceDataList = provinceData;
-			this.cityDataList = cityData[this.pickerValueDefault[0]];
-			this.areaDataList = areaData[this.pickerValueDefault[0]][this.pickerValueDefault[1]];
-			this.pickerValue = this.pickerValueDefault;
-		},
-    show() {
-      setTimeout(() => {
-        this.showPicker = true;
-      }, 0);
-    },
-    maskClick() {
-      this.pickerCancel();
-    },
-    pickerCancel() {
-      this.showPicker = false;
-      this._$emit('onCancel');
-    },
-    pickerConfirm(e) {
-      this.showPicker = false;
-	  
-      this._$emit('onConfirm');
-    },
-    showPickerView() {
-      this.showPicker = true;
-    },
-    handPickValueDefault() {
-      if (this.pickerValueDefault !== [0, 0, 0]) {
-        if (this.pickerValueDefault[0] > provinceData.length - 1) {
-          this.pickerValueDefault[0] = provinceData.length - 1;
-        }
-        if (this.pickerValueDefault[1] > cityData[this.pickerValueDefault[0]].length - 1) {
-          this.pickerValueDefault[1] = cityData[this.pickerValueDefault[0]].length - 1;
-        }
-        if (this.pickerValueDefault[2] > areaData[this.pickerValueDefault[0]][this.pickerValueDefault[1]].length - 1) {
-          this.pickerValueDefault[2] = areaData[this.pickerValueDefault[0]][this.pickerValueDefault[1]].length - 1;
-        }
-      }
-    },
-    pickerChange(e) {
-      let changePickerValue = e.mp.detail.value;
-      if (this.pickerValue[0] !== changePickerValue[0]) {
-        // 第一级发生滚动
-        this.cityDataList = cityData[changePickerValue[0]];
-        this.areaDataList = areaData[changePickerValue[0]][0];
-        changePickerValue[1] = 0;
-        changePickerValue[2] = 0;
-      } else if (this.pickerValue[1] !== changePickerValue[1]) {
-        // 第二级滚动
-        this.areaDataList =
-          areaData[changePickerValue[0]][changePickerValue[1]];
-        changePickerValue[2] = 0;
-      }
-      this.pickerValue = changePickerValue;
-      this._$emit('onChange');
-    },
-    _$emit(emitName) {
-      let pickObj = {
-		name:this._getLabel(),
-        province: this.provinceDataList[this.pickerValue[0]].label,
-		city:this.cityDataList[this.pickerValue[1]].label,
-		region:this.areaDataList[this.pickerValue[2]].label,
-        value: this.pickerValue,
-        cityCode: this._getCityCode()
-      };
-      this.$emit(emitName, pickObj);
-    },
-    _getLabel() {
-      let pcikerLabel =
-        this.provinceDataList[this.pickerValue[0]].label +
-        '-' +
-        this.cityDataList[this.pickerValue[1]].label +
-        '-' +
-        this.areaDataList[this.pickerValue[2]].label;
-      return pcikerLabel;
-    },
-    _getCityCode() {
-      return this.areaDataList[this.pickerValue[2]].value;
-    }
-  }
-};
-</script>
-
-<style>
-.pickerMask {
-  position: fixed;
-  z-index: 1000;
-  top: 0;
-  right: 0;
-  left: 0;
-  bottom: 0;
-  background: rgba(0, 0, 0, 0.6);
-}
-.mpvue-picker-content {
-  position: fixed;
-  bottom: 0;
-  left: 0;
-  width: 100%;
-  transition: all 0.3s ease;
-  transform: translateY(100%);
-  z-index: 3000;
-}
-.mpvue-picker-view-show {
-  transform: translateY(0);
-}
-.mpvue-picker__hd {
-  display: flex;
-  padding: 9px 15px;
-  background-color: #fff;
-  position: relative;
-  text-align: center;
-  font-size: 17px;
-}
-.mpvue-picker__hd:after {
-  content: ' ';
-  position: absolute;
-  left: 0;
-  bottom: 0;
-  right: 0;
-  height: 1px;
-  border-bottom: 1px solid #e5e5e5;
-  color: #e5e5e5;
-  transform-origin: 0 100%;
-  transform: scaleY(0.5);
-}
-.mpvue-picker__action {
-  display: block;
-  flex: 1;
-  color: #1aad19;
-}
-.mpvue-picker__action:first-child {
-  text-align: left;
-  color: #888;
-}
-.mpvue-picker__action:last-child {
-  text-align: right;
-}
-.picker-item {
-  text-align: center;
-  line-height: 40px;
-  text-overflow: ellipsis;
-  white-space: nowrap;
-  font-size: 16px;
-}
-.mpvue-picker-view {
-  position: relative;
-  bottom: 0;
-  left: 0;
-  width: 100%;
-  height: 238px;
-  background-color: rgba(255, 255, 255, 1);
-}
-</style>

+ 0 - 246
components/tui-skeleton/tui-skeleton.vue

@@ -1,246 +0,0 @@
-<template>
-	<view class="tui-skeleton-cmomon tui-skeleton-box" :style="{width: winWidth+'px', height:winHeight+'px', backgroundColor:backgroundColor}">
-		<view class="tui-skeleton-cmomon" v-for="(item,index) in skeletonElements" :key="index" :style="{width: item.width+'px', height:item.height+'px', left: item.left+'px', top: item.top+'px',backgroundColor: skeletonBgColor,borderRadius:getRadius(item.skeletonType,borderRadius)}"></view>
-		<view class="tui-loading" :class="[getLoadingType(loadingType)]" v-if="isLoading"></view>
-	</view>
-</template>
-
-<script>
-	export default {
-		name: "tuiSkeleton",
-		props: {
-			//选择器(外层容器)
-			selector: {
-				type: String,
-				default: "tui-skeleton"
-			},
-			//外层容器背景颜色
-			backgroundColor: {
-				type: String,
-				default: "#fff"
-			},
-			//骨架元素背景颜色
-			skeletonBgColor: {
-				type: String,
-				default: "#e9e9e9"
-			},
-			//骨架元素类型:矩形,圆形,带圆角矩形["rect","circular","fillet"]
-			//默认所有,根据页面情况进行传值
-			//页面对应元素class为:tui-skeleton-rect,tui-skeleton-circular,tui-skeleton-fillet
-			//如果传入的值不在下列数组中,则为自定义class值,默认按矩形渲染
-			skeletonType: {
-				type: Array,
-				default () {
-					return ["rect", "circular", "fillet"]
-				}
-			},
-			//圆角值,skeletonType=fillet时生效
-			borderRadius: {
-				type: String,
-				default: "16rpx"
-			},
-			//骨架屏预生成数据:提前生成好的数据,当传入该属性值时,则不会再次查找子节点信息
-			preloadData: {
-				type: Array,
-				default () {
-					return []
-				}
-			},
-			//是否需要loading
-			isLoading: {
-				type: Boolean,
-				default: true
-			},
-			//loading类型[1-10]
-			loadingType: {
-				type: Number,
-				default: 1
-			}
-		},
-		created() {
-			const res = uni.getSystemInfoSync();
-			this.winWidth = res.windowWidth;
-			this.winHeight = res.windowHeight;
-			//如果有预生成数据,则直接使用
-			this.isPreload(true)
-		},
-		// #ifdef H5
-		mounted() {
-			this.$nextTick(() => {
-				this.nodesRef(`.${this.selector}`).then((res) => {
-					this.winHeight = res[0].height + Math.abs(res[0].top)
-				});
-				!this.isPreload() && this.selectorQuery()
-			})
-
-		},
-		// #endif
-		onReady() {
-			this.nodesRef(`.${this.selector}`).then((res) => {
-				if(res[0]){
-					this.winHeight = res[0].height + Math.abs(res[0].top)
-				}
-			});
-			!this.isPreload() && this.selectorQuery()
-		},
-		data() {
-			return {
-				winWidth: 375,
-				winHeight: 800,
-				skeletonElements: []
-			};
-		},
-		methods: {
-			getLoadingType: function(type) {
-				let value = 1
-				if (type && type > 0 && type < 11) {
-					value = type
-				}
-				return 'tui-loading-' + value
-			},
-			getRadius: function(type, val) {
-				let radius = "0"
-				if (type == "circular") {
-					radius = "50%"
-				} else if (type == "fillet") {
-					radius = val
-				}
-				return radius;
-			},
-			isPreload(init) {
-				let preloadData = this.preloadData || []
-				if (preloadData.length) {
-					init && (this.skeletonElements = preloadData)
-					return true
-				}
-				return false
-			},
-			async selectorQuery() {
-				let skeletonType = this.skeletonType || []
-				let nodes = []
-				for (let item of skeletonType) {
-					let className = `.${this.selector} >>> .${item}`
-					// #ifdef H5
-					className = `.${item}`
-					// #endif
-					if (~"rect_circular_fillet".indexOf(item)) {
-						// #ifndef H5
-						className = `.${this.selector} >>> .${this.selector}-${item}`
-						// #endif
-						// #ifdef H5
-						className = `.${this.selector}-${item}`
-						// #endif
-					}
-					await this.nodesRef(className).then((res) => {
-						res.map(d => {
-							d.skeletonType = item
-						})
-						nodes = nodes.concat(res)
-					})
-				}
-				this.skeletonElements = nodes
-			},
-			async nodesRef(className) {
-				return await new Promise((resolve, reject) => {
-					uni.createSelectorQuery().selectAll(className).boundingClientRect((res) => {
-						if (res) {
-							resolve(res);
-						} else {
-							reject(res)
-						}
-					}).exec();
-				})
-			}
-		}
-	}
-</script>
-
-<style>
-	.tui-skeleton-cmomon {
-		position: absolute;
-		z-index: 99999;
-		overflow: hidden;
-	}
-
-	.tui-skeleton-box {
-		left: 0;
-		top: 0;
-	}
-
-	.tui-loading {
-		display: inline-block;
-		vertical-align: middle;
-		width: 40rpx;
-		height: 40rpx;
-		background: 0 0;
-		border-radius: 50%;
-		border: 2px solid;
-		animation: tui-rotate 0.7s linear infinite;
-		position: fixed;
-		z-index: 999999;
-		left: 50%;
-		top: 50%;
-		margin-left: -20rpx;
-		margin-top: -20rpx;
-	}
-
-	.tui-loading-1 {
-		border-color: #e5e5e5 #e5e5e5 #e5e5e5 #5677fc;
-	}
-
-	.tui-loading-2 {
-		border-color: #e5e5e5 #e5e5e5 #e5e5e5 #8f8d8e;
-	}
-
-	.tui-loading-3 {
-		border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) #fff;
-	}
-
-	.tui-loading-4 {
-		border-color: #e5e5e5 #e5e5e5 #e5e5e5 #35b06a;
-	}
-
-	.tui-loading-5 {
-		border-color: #e5e5e5 #e5e5e5 #e5e5e5 #fc872d;
-	}
-
-	.tui-loading-6 {
-		border-color: #e5e5e5 #e5e5e5 #e5e5e5 #eb0909;
-	}
-
-	.tui-loading-7 {
-		border-color: #5677fc transparent #5677fc transparent;
-	}
-
-	.tui-loading-8 {
-		border-color: #35b06a transparent #35b06a transparent;
-	}
-
-	.tui-loading-9 {
-		border-color: #fc872d transparent #fc872d transparent;
-	}
-
-	.tui-loading-10 {
-		border-color: #eb0909 transparent #eb0909 transparent;
-	}
-
-	@-webkit-keyframes tui-rotate {
-		0% {
-			transform: rotate(0);
-		}
-
-		100% {
-			transform: rotate(360deg);
-		}
-	}
-
-	@keyframes tui-rotate {
-		0% {
-			transform: rotate(0);
-		}
-
-		100% {
-			transform: rotate(360deg);
-		}
-	}
-</style>

+ 0 - 228
components/tui-tabs/tui-tabs.vue

@@ -1,228 +0,0 @@
-<template>
-	<view class="tui-tabs-view" :class="[isFixed?'tui-tabs-fixed':'tui-tabs-relative',unlined?'tui-unlined':'']" :style="{height:height+'rpx',padding:`0 ${padding}rpx`,background:bgColor,top:isFixed?top+'px':'auto'}">
-		<view v-for="(item,index) in tabs" :key="index" class="tui-tabs-item" :style="{width:itemWidth}" @tap.stop="swichTabs(index)">
-			<view class="tui-tabs-title" :class="{'tui-tabs-active':currentTab==index,'tui-tabs-disabled':item.disabled}" :style="{color:currentTab==index?selectedColor:color,fontSize:size+'rpx',lineHeight:size+'rpx',fontWeight:bold && currentTab==index?'bold':'normal'}">{{item.name}}</view>
-		</view>
-		<view class="tui-tabs-slider" :style="{transform:'translateX('+scrollLeft+'px)',width:sliderWidth+'rpx',height:
-	sliderHeight+'rpx',borderRadius:sliderRadius,bottom:bottom,background:sliderBgColor,marginBottom:bottom=='50%'?('-'+sliderHeight/2+'rpx'):0}"></view>
-	</view>
-</template>
-
-<script>
-	export default {
-		name: "tuiTabs",
-		props: {
-			//标签页
-			tabs: {
-				type: Array,
-				default () {
-					return []
-				}
-			},
-			//rpx
-			height: {
-				type: Number,
-				default: 80
-			},
-			//rpx 只对左右padding起作用,上下为0
-			padding: {
-				type: Number,
-				default: 30
-			},
-			//背景色
-			bgColor: {
-				type: String,
-				default: "#FFFFFF"
-			},
-			//是否固定
-			isFixed: {
-				type: Boolean,
-				default: false
-			},
-			//px
-			top: {
-				type: Number
-					// #ifndef H5
-					,
-				default: 0
-					// #endif
-					// #ifdef H5
-					,
-				default: 44
-				// #endif
-			},
-			//是否去掉底部线条
-			unlined: {
-				type: Boolean,
-				default: false
-			},
-			//当前选项卡
-			currentTab: {
-				type: Number,
-				default: 0
-			},
-			//滑块宽度
-			sliderWidth: {
-				type: Number,
-				default: 68
-			},
-			//滑块高度
-			sliderHeight: {
-				type: Number,
-				default: 6
-			},
-			//滑块背景颜色
-			sliderBgColor: {
-				type: String,
-				default: "#5677fc"
-			},
-			sliderRadius:{
-				type: String,
-				default: "50rpx"
-			},
-			//滑块bottom
-			bottom: {
-				type: String,
-				default: "0"
-			},
-			//标签页宽度
-			itemWidth: {
-				type: String,
-				default: "25%"
-			},
-			//字体颜色
-			color: {
-				type: String,
-				default: "#666"
-			},
-			//选中后字体颜色
-			selectedColor: {
-				type: String,
-				default: "#5677fc"
-			},
-			//字体大小
-			size: {
-				type: Number,
-				default: 28
-			},
-			//选中后 是否加粗 ,未选中则无效
-			bold: {
-				type: Boolean,
-				default: false
-			}
-		},
-		watch: {
-			currentTab() {
-				this.checkCor();
-			}
-		},
-		created() {
-			setTimeout(() => {
-				// 高度自适应
-				uni.getSystemInfo({
-					success: (res) => {
-						this.winWidth = res.windowWidth;
-						this.checkCor()
-					}
-				});
-			}, 50);
-		},
-		data() {
-			return {
-				winWidth: 0,
-				scrollLeft: 0
-			};
-		},
-		methods: {
-			checkCor: function() {
-				let tabsNum = this.tabs.length
-				let padding = this.winWidth / 750 * this.padding
-				let width = this.winWidth - padding * 2
-				let left = (width / tabsNum - (this.winWidth / 750 * this.sliderWidth)) / 2 + padding
-				let scrollLeft = left
-				if (this.currentTab > 0) {
-					scrollLeft = scrollLeft + (width / tabsNum) * this.currentTab
-				}
-				this.scrollLeft = scrollLeft
-			},
-			// 点击标题切换当前页时改变样式
-			swichTabs: function(index) {
-				let item = this.tabs[index]
-				if (item && item.disabled) return;
-				if (this.currentTab == index) {
-					return false;
-				} else {
-					this.$emit("change", {
-						index: Number(index)
-					})
-				}
-			}
-		}
-	}
-</script>
-
-<style>
-	.tui-tabs-view {
-		width: 100%;
-		box-sizing: border-box;
-		display: flex;
-		align-items: center;
-		justify-content: space-between;
-		z-index: 9999;
-	}
-
-	.tui-tabs-relative {
-		position: relative;
-	}
-
-	.tui-tabs-fixed {
-		position: fixed;
-		left: 0;
-	}
-
-	.tui-tabs-fixed::before,
-	.tui-tabs-relative::before {
-		content: '';
-		position: absolute;
-		border-bottom: 1upx solid #eaeef1;
-		-webkit-transform: scaleY(0.5);
-		transform: scaleY(0.5);
-		bottom: 0;
-		right: 0;
-		left: 0;
-	}
-
-	.tui-unlined::before {
-		border-bottom: 0 !important
-	}
-
-	.tui-tabs-item {
-		display: flex;
-		align-items: center;
-		justify-content: center;
-	}
-
-	.tui-tabs-disabled {
-		opacity: .6;
-	}
-
-	.tui-tabs-title {
-		display: flex;
-		align-items: center;
-		justify-content: center;
-		position: relative;
-		z-index: 2;
-	}
-
-	.tui-tabs-active {
-		transition: all 0.15s ease-in-out;
-	}
-
-	.tui-tabs-slider {
-		position: absolute;
-		left: 0;
-		transition: all 0.15s ease-in-out;
-		z-index: 0;
-		transform: translateZ(0);
-	}
-</style>

+ 0 - 244
components/tui-tabs/tui-zxtabs.vue

@@ -1,244 +0,0 @@
-<template>
-	<view class="tui-tabs-content" :style="{width:'100%',height:CustomBar+'px',paddingTop:StatusBar+'px',background:bgColor}">
-		<view class="tui-tabs-view" :class="[isFixed?'tui-tabs-fixed':'tui-tabs-relative',unlined?'tui-unlined':'']" :style="{width:tabsWidth+'rpx',height:CustomBar+'px',paddingTop:StatusBar+'px',background:bgColor,top:isFixed?top+'px':'auto'}">
-			<view v-for="(item,index) in tabs" :key="index" class="tui-tabs-item" :style="{width:itemWidth}" @tap.stop="swichTabs(index)">
-				<view class="tui-tabs-title" :class="{'tui-tabs-active':currentTab==index,'tui-tabs-disabled':item.disabled}" :style="{color:currentTab==index?selectedColor:color,fontSize:size+'rpx',lineHeight:StatusBar+'px',fontWeight:bold && currentTab==index?'bold':'normal'}">{{item.name}}</view>
-			</view>
-			<view class="tui-tabs-slider" :style="{transform:'translateX('+scrollLeft+'px)',width:sliderWidth+'rpx',height:
-		sliderHeight+'rpx',borderRadius:sliderRadius,bottom:bottom,background:sliderBgColor,marginBottom:bottom=='50%'?('-'+sliderHeight/2+'rpx'):0}"></view>
-		</view>
-	</view>
-</template>
-
-<script>
-	export default {
-		name: "tuiTabs",
-		props: {
-			//标签页
-			tabs: {
-				type: Array,
-				default () {
-					return []
-				}
-			},
-			//rpx
-			height: {
-				type: Number,
-				default: 80
-			},
-			//rpx 只对左右padding起作用,上下为0
-			padding: {
-				type: Number,
-				default: 30
-			},
-			//背景色
-			bgColor: {
-				type: String,
-				default: "#FFFFFF"
-			},
-			//是否固定
-			isFixed: {
-				type: Boolean,
-				default: false
-			},
-			//px
-			top: {
-				type: Number
-					// #ifndef H5
-					,
-				default: 0
-					// #endif
-					// #ifdef H5
-					,
-				default: 44
-				// #endif
-			},
-			//是否去掉底部线条
-			unlined: {
-				type: Boolean,
-				default: false
-			},
-			//当前选项卡
-			currentTab: {
-				type: Number,
-				default: 0
-			},
-			//滑块宽度
-			sliderWidth: {
-				type: Number,
-				default: 68
-			},
-			//滑块高度
-			sliderHeight: {
-				type: Number,
-				default: 6
-			},
-			//滑块背景颜色
-			sliderBgColor: {
-				type: String,
-				default: "#3BDB85"
-			},
-			sliderRadius:{
-				type: String,
-				default: "50rpx"
-			},
-			//滑块bottom
-			bottom: {
-				type: String,
-				default: "0"
-			},
-			//标签页宽度
-			itemWidth: {
-				type: String,
-				default: "25%"
-			},
-			//标签父级宽度
-			tabsWidth :{
-				type: String,
-				default: "100%"
-			},
-			//字体颜色
-			color: {
-				type: String,
-				default: "#666"
-			},
-			//选中后字体颜色
-			selectedColor: {
-				type: String,
-				default: "#3BDB85"
-			},
-			//字体大小
-			size: {
-				type: Number,
-				default: 28
-			},
-			//选中后 是否加粗 ,未选中则无效
-			bold: {
-				type: Boolean,
-				default: false
-			}
-		},
-		watch: {
-			currentTab() {
-				this.checkCor();
-			}
-		},
-		created() {
-			setTimeout(() => {
-				// 高度自适应
-				uni.getSystemInfo({
-					success: (res) => {
-						this.winWidth = 200;
-						this.checkCor()
-					}
-				});
-			}, 50);
-		},
-		data() {
-			return {
-				winWidth: 0,
-				scrollLeft: 0,
-				CustomBar:this.CustomBar,// 顶部导航栏高度
-				StatusBar: this.StatusBar,//胶囊高度
-			};
-		},
-		methods: {
-			checkCor: function() {
-				let tabsNum = this.tabs.length
-				// let padding = this.winWidth / 750
-				let width = this.winWidth
-				let left = (width / tabsNum - (this.winWidth / 750 * this.sliderWidth)) / 2-5
-				let scrollLeft = left
-				if (this.currentTab > 0) {
-					scrollLeft = scrollLeft + (width / tabsNum) * this.currentTab
-				}
-				this.scrollLeft = scrollLeft
-			},
-			// 点击标题切换当前页时改变样式
-			swichTabs: function(index) {
-				let item = this.tabs[index]
-				if (item && item.disabled) return;
-				if (this.currentTab == index) {
-					return false;
-				} else {
-					this.$emit("change", {
-						index: Number(index)
-					})
-				}
-			}
-		}
-	}
-</script>
-
-<style>
-	.tui-tabs-content{
-		position: fixed;
-		top: 0;
-		left: 0;
-		box-sizing: border-box;
-		display: flex;
-		align-items: center;
-		justify-content: space-between;
-		z-index: 9999;
-	}
-	.tui-tabs-view {
-		box-sizing: border-box;
-		display: flex;
-		align-items: center;
-		justify-content: space-between;
-		z-index: 9999;
-	}
-	.tui-tabs-relative {
-		position: relative;
-	}
-
-	.tui-tabs-fixed {
-		position: fixed;
-		left: 0;
-	}
-
-	.tui-tabs-fixed::before,
-	.tui-tabs-relative::before {
-		content: '';
-		position: absolute;
-		-webkit-transform: scaleY(0.5);
-		transform: scaleY(0.5);
-		bottom: 0;
-		right: 0;
-		left: 0;
-	}
-
-	.tui-unlined::before {
-		border-bottom: 0 !important
-	}
-
-	.tui-tabs-item {
-		display: flex;
-		align-items: center;
-		justify-content: center;
-	}
-
-	.tui-tabs-disabled {
-		opacity: .6;
-	}
-
-	.tui-tabs-title {
-		display: flex;
-		align-items: center;
-		justify-content: center;
-		position: relative;
-		z-index: 2;
-	}
-
-	.tui-tabs-active {
-		transition: all 0.15s ease-in-out;
-	}
-
-	.tui-tabs-slider {
-		position: absolute;
-		left: 0;
-		transition: all 0.15s ease-in-out;
-		z-index: 0;
-		transform: translateZ(0);
-	}
-</style>

+ 0 - 27
components/u-parse/components/wxParseAudio.vue

@@ -1,27 +0,0 @@
-<template>
-  <!--增加audio标签支持-->
-  <audio
-    :id="node.attr.id"
-    :class="node.classStr"
-    :style="node.styleStr"
-    :src="node.attr.src"
-    :loop="node.attr.loop"
-    :poster="node.attr.poster"
-    :name="node.attr.name"
-    :author="node.attr.author"
-    controls></audio>
-</template>
-
-<script>
-export default {
-  name: 'wxParseAudio',
-  props: {
-    node: {
-      type: Object,
-      default() {
-        return {};
-      },
-    },
-  },
-};
-</script>

+ 0 - 86
components/u-parse/components/wxParseImg.vue

@@ -1,86 +0,0 @@
-<template>
-  <image
-    :mode="node.attr.mode"
-    :lazy-load="node.attr.lazyLoad"
-    :class="node.classStr"
-    :style="newStyleStr || node.styleStr"
-    :data-src="node.attr.src"
-    :src="node.attr.src"
-    @tap="wxParseImgTap"
-    @load="wxParseImgLoad"
-    />
-</template>
-
-<script>
-export default {
-  name: 'wxParseImg',
-  data() {
-    return {
-      newStyleStr: '',
-      preview: true,
-    };
-  },
-  props: {
-    node: {
-      type: Object,
-      default() {
-        return {};
-      },
-    },
-  },
-  methods: {
-    wxParseImgTap(e) {
-      if (!this.preview) return;
-      const { src } = e.currentTarget.dataset;
-      if (!src) return;
-      let parent = this.$parent;
-      while(!parent.preview || typeof parent.preview !== 'function') {// TODO 遍历获取父节点执行方法
-      	parent = parent.$parent;
-      }
-      parent.preview(src, e);
-    },
-    // 图片视觉宽高计算函数区
-    wxParseImgLoad(e) {
-      const { src } = e.currentTarget.dataset;
-      if (!src) return;
-      const { width, height } = e.mp.detail;
-      const recal = this.wxAutoImageCal(width, height);
-      const { imageheight, imageWidth } = recal;
-      const { padding, mode } = this.node.attr;
-      const { styleStr } = this.node;
-      const imageHeightStyle = mode === 'widthFix' ? '' : `height: ${imageheight}px;`;
-      this.newStyleStr = `${styleStr}; ${imageHeightStyle}; width: ${imageWidth}px; padding: 0 ${+padding}px;`;
-    },
-    // 计算视觉优先的图片宽高
-    wxAutoImageCal(originalWidth, originalHeight) {
-      // 获取图片的原始长宽
-      const { padding } = this.node.attr;
-      const windowWidth = this.node.$screen.width - (2 * padding);
-      const results = {};
-
-      if (originalWidth < 60 || originalHeight < 60) {
-        const { src } = this.node.attr;
-				let parent = this.$parent;
-				while(!parent.preview || typeof parent.preview !== 'function') {
-					parent = parent.$parent;
-				}
-				parent.removeImageUrl(src);
-        this.preview = false;
-      }
-
-      // 判断按照那种方式进行缩放
-      if (originalWidth > windowWidth) {
-        // 在图片width大于手机屏幕width时候
-        results.imageWidth = windowWidth;
-        results.imageheight = windowWidth * (originalHeight / originalWidth);
-      } else {
-        // 否则展示原来的数据
-        results.imageWidth = originalWidth;
-        results.imageheight = originalHeight;
-      }
-
-      return results;
-    },
-  },
-};
-</script>

+ 0 - 107
components/u-parse/components/wxParseTemplate0.vue

@@ -1,107 +0,0 @@
-<template>
-	<view>
-		<!--判断是否是标签节点-->
-		<block v-if="node.node == 'element'">
-			<block v-if="node.tag == 'button'">
-				<button type="default" size="mini">
-					<block v-for="(node, index) of node.nodes" :key="index">
-						<wx-parse-template :node="node" />
-					</block>
-				</button>
-			</block>
-
-			<!--li类型-->
-			<block v-else-if="node.tag == 'li'">
-				<view :class="node.classStr" :style="node.styleStr">
-					<block v-for="(node, index) of node.nodes" :key="index">
-						<wx-parse-template :node="node" />
-					</block>
-				</view>
-			</block>
-
-			<!--video类型-->
-			<block v-else-if="node.tag == 'video'">
-				<wx-parse-video :node="node" />
-			</block>
-
-			<!--audio类型-->
-			<block v-else-if="node.tag == 'audio'">
-				<wx-parse-audio :node="node" />
-			</block>
-
-			<!--img类型-->
-			<block v-else-if="node.tag == 'img'">
-				<wx-parse-img :node="node" />
-			</block>
-
-			<!--a类型-->
-			<block v-else-if="node.tag == 'a'">
-				<view @click="wxParseATap" :class="node.classStr" :data-href="node.attr.href" :style="node.styleStr">
-					<block v-for="(node, index) of node.nodes" :key="index">
-						<wx-parse-template :node="node" />
-					</block>
-				</view>
-			</block>
-
-			<!--table类型-->
-			<block v-else-if="node.tag == 'table'">
-				<view :class="node.classStr" class="table" :style="node.styleStr">
-					<block v-for="(node, index) of node.nodes" :key="index">
-						<wx-parse-template :node="node" />
-					</block>
-				</view>
-			</block>
-
-			<!--br类型-->
-			<block v-else-if="node.tag == 'br'">
-				<text>\n</text>
-			</block>
-
-			<!--其他标签-->
-			<block v-else>
-				<view :class="node.classStr" :style="node.styleStr">
-					<block v-for="(node, index) of node.nodes" :key="index">
-						<wx-parse-template :node="node" />
-					</block>
-				</view>
-			</block>
-
-		</block>
-
-		<!--判断是否是文本节点-->
-		<block v-else-if="node.node == 'text'">{{node.text}}</block>
-	</view>
-</template>
-
-<script>
-	import wxParseTemplate from './wxParseTemplate1';
-	import wxParseImg from './wxParseImg';
-	import wxParseVideo from './wxParseVideo';
-	import wxParseAudio from './wxParseAudio';
-
-	export default {
-		name: 'wxParseTemplate0',
-		props: {
-			node: {},
-		},
-		components: {
-			wxParseTemplate,
-			wxParseImg,
-			wxParseVideo,
-			wxParseAudio,
-		},
-		methods: {
-			wxParseATap(e) {
-				const {
-					href
-				} = e.currentTarget.dataset;// TODO currentTarget才有dataset
-				if (!href) return;
-				let parent = this.$parent;
-				while(!parent.preview || typeof parent.preview !== 'function') {// TODO 遍历获取父节点执行方法
-					parent = parent.$parent;
-				}
-				parent.navigate(href, e);
-			},
-		},
-	};
-</script>

+ 0 - 99
components/u-parse/components/wxParseTemplate1.vue

@@ -1,99 +0,0 @@
-<template>
-	<view :class="(node.tag == 'li' ? node.classStr : (node.node==='text'?'text':''))">
-		<!--判断是否是标签节点-->
-		<block v-if="node.node == 'element'">
-			<block v-if="node.tag == 'button'">
-				<button type="default" size="mini">
-					<block v-for="(node, index) of node.nodes" :key="index">
-						<wx-parse-template :node="node" />
-					</block>
-				</button>
-			</block>
-
-			<!--li类型-->
-			<block v-else-if="node.tag == 'li'">
-				<!-- <view :class="node.classStr" :style="node.styleStr"> -->
-				<view :style="node.styleStr">
-					<block v-for="(node, index) of node.nodes" :key="index">
-						<wx-parse-template :node="node" />
-					</block>
-				</view>
-			</block>
-
-			<!--video类型-->
-			<block v-else-if="node.tag == 'video'">
-				<wx-parse-video :node="node" />
-			</block>
-
-			<!--audio类型-->
-			<block v-else-if="node.tag == 'audio'">
-				<wx-parse-audio :node="node" />
-			</block>
-
-			<!--img类型-->
-			<block v-else-if="node.tag == 'img'">
-				<wx-parse-img :node="node" />
-			</block>
-
-			<!--a类型-->
-			<block v-else-if="node.tag == 'a'">
-				<view @click="wxParseATap" :class="node.classStr" :data-href="node.attr.href" :style="node.styleStr">
-					<block v-for="(node, index) of node.nodes" :key="index">
-						<wx-parse-template :node="node" />
-					</block>
-				</view>
-			</block>
-
-			<!--br类型-->
-			<block v-else-if="node.tag == 'br'">
-				<text>\n</text>
-			</block>
-
-			<!--其他标签-->
-			<block v-else>
-				<view :class="node.classStr" :style="node.styleStr">
-					<block v-for="(node, index) of node.nodes" :key="index">
-						<wx-parse-template :node="node" />
-					</block>
-				</view>
-			</block>
-
-		</block>
-
-		<!--判断是否是文本节点-->
-		<block v-else-if="node.node == 'text'">{{node.text}}</block>
-	</view>
-</template>
-
-<script>
-	import wxParseTemplate from './wxParseTemplate2';
-	import wxParseImg from './wxParseImg';
-	import wxParseVideo from './wxParseVideo';
-	import wxParseAudio from './wxParseAudio';
-
-	export default {
-		name: 'wxParseTemplate1',
-		props: {
-			node: {},
-		},
-		components: {
-			wxParseTemplate,
-			wxParseImg,
-			wxParseVideo,
-			wxParseAudio,
-		},
-		methods: {
-			wxParseATap(e) {
-				const {
-					href
-				} = e.currentTarget.dataset;
-				if (!href) return;
-				let parent = this.$parent;
-				while(!parent.preview || typeof parent.preview !== 'function') {
-					parent = parent.$parent;
-				}
-				parent.navigate(href, e);
-			},
-		},
-	};
-</script>

+ 0 - 97
components/u-parse/components/wxParseTemplate10.vue

@@ -1,97 +0,0 @@
-<template>
-	<view>
-		<!--判断是否是标签节点-->
-		<block v-if="node.node == 'element'">
-			<block v-if="node.tag == 'button'">
-				<button type="default" size="mini">
-					<block v-for="(node, index) of node.nodes" :key="index">
-						<wx-parse-template :node="node" />
-					</block>
-				</button>
-			</block>
-
-			<!--li类型-->
-			<block v-else-if="node.tag == 'li'">
-				<view :class="node.classStr" :style="node.styleStr">
-					<block v-for="(node, index) of node.nodes" :key="index">
-						<wx-parse-template :node="node" />
-					</block>
-				</view>
-			</block>
-
-			<!--video类型-->
-			<block v-else-if="node.tag == 'video'">
-				<wx-parse-video :node="node" />
-			</block>
-
-			<!--audio类型-->
-			<block v-else-if="node.tag == 'audio'">
-				<wx-parse-audio :node="node" />
-			</block>
-
-			<!--img类型-->
-			<block v-else-if="node.tag == 'img'">
-				<wx-parse-img :node="node" />
-			</block>
-
-			<!--a类型-->
-			<block v-else-if="node.tag == 'a'">
-				<view @click="wxParseATap" :class="node.classStr" :data-href="node.attr.href" :style="node.styleStr">
-					<block v-for="(node, index) of node.nodes" :key="index">
-						<wx-parse-template :node="node" />
-					</block>
-				</view>
-			</block>
-
-			<!--br类型-->
-			<block v-else-if="node.tag == 'br'">
-				<text>\n</text>
-			</block>
-
-			<!--其他标签-->
-			<block v-else>
-				<view :class="node.classStr" :style="node.styleStr">
-					<block v-for="(node, index) of node.nodes" :key="index">
-						<wx-parse-template :node="node" />
-					</block>
-				</view>
-			</block>
-		</block>
-
-		<!--判断是否是文本节点-->
-		<block v-else-if="node.node == 'text'">{{node.text}}</block>
-	</view>
-</template>
-
-<script>
-	import wxParseTemplate from './wxParseTemplate11';
-	import wxParseImg from './wxParseImg';
-	import wxParseVideo from './wxParseVideo';
-	import wxParseAudio from './wxParseAudio';
-
-	export default {
-		name: 'wxParseTemplate10',
-		props: {
-			node: {},
-		},
-		components: {
-			wxParseTemplate,
-			wxParseImg,
-			wxParseVideo,
-			wxParseAudio,
-		},
-		methods: {
-			wxParseATap(e) {
-				const {
-					href
-				} = e.currentTarget.dataset;
-				if (!href) return;
-				let parent = this.$parent;
-				while(!parent.preview || typeof parent.preview !== 'function') {
-					parent = parent.$parent;
-				}
-				parent.navigate(href, e);
-			},
-		},
-	};
-</script>

+ 0 - 87
components/u-parse/components/wxParseTemplate11.vue

@@ -1,87 +0,0 @@
-<template>
-	<view>
-		<!--判断是否是标签节点-->
-		<block v-if="node.node == 'element'">
-			<!--button类型-->
-			<block v-if="node.tag == 'button'">
-				<button type="default" size="mini">
-				</button>
-			</block>
-
-			<!--li类型-->
-			<block v-else-if="node.tag == 'li'">
-				<view :class="node.classStr" :style="node.styleStr">
-					{{node.text}}
-				</view>
-			</block>
-
-			<!--video类型-->
-			<block v-else-if="node.tag == 'video'">
-				<wx-parse-video :node="node" />
-			</block>
-
-			<!--audio类型-->
-			<block v-else-if="node.tag == 'audio'">
-				<wx-parse-audio :node="node" />
-			</block>
-
-			<!--img类型-->
-			<block v-else-if="node.tag == 'img'">
-				<wx-parse-img :node="node" />
-			</block>
-
-			<!--a类型-->
-			<block v-else-if="node.tag == 'a'">
-				<view @click="wxParseATap" :class="node.classStr" :data-href="node.attr.href" :style="node.styleStr">
-					{{node.text}}
-				</view>
-			</block>
-
-			<!--br类型-->
-			<block v-else-if="node.tag == 'br'">
-				<text>\n</text>
-			</block>
-
-			<!--其他标签-->
-			<block v-else>
-				<view :class="node.classStr" :style="node.styleStr">
-					{{node.text}}
-				</view>
-			</block>
-		</block>
-
-		<!--判断是否是文本节点-->
-		<block v-else-if="node.node == 'text'">{{node.text}}</block>
-	</view>
-</template>
-
-<script>
-	import wxParseImg from './wxParseImg';
-	import wxParseVideo from './wxParseVideo';
-	import wxParseAudio from './wxParseAudio';
-
-	export default {
-		name: 'wxParseTemplate11',
-		props: {
-			node: {},
-		},
-		components: {
-			wxParseImg,
-			wxParseVideo,
-			wxParseAudio,
-		},
-		methods: {
-			wxParseATap(e) {
-				const {
-					href
-				} = e.currentTarget.dataset;
-				if (!href) return;
-				let parent = this.$parent;
-				while(!parent.preview || typeof parent.preview !== 'function') {
-					parent = parent.$parent;
-				}
-				parent.navigate(href, e);
-			},
-		},
-	};
-</script>

+ 0 - 98
components/u-parse/components/wxParseTemplate2.vue

@@ -1,98 +0,0 @@
-<template>
-	<view>
-		<!--判断是否是标签节点-->
-		<block v-if="node.node == 'element'">
-			<block v-if="node.tag == 'button'">
-				<button type="default" size="mini">
-					<block v-for="(node, index) of node.nodes" :key="index">
-						<wx-parse-template :node="node" />
-					</block>
-				</button>
-			</block>
-
-			<!--li类型-->
-			<block v-else-if="node.tag == 'li'">
-				<view :class="node.classStr" :style="node.styleStr">
-					<block v-for="(node, index) of node.nodes" :key="index">
-						<wx-parse-template :node="node" />
-					</block>
-				</view>
-			</block>
-
-			<!--video类型-->
-			<block v-else-if="node.tag == 'video'">
-				<wx-parse-video :node="node" />
-			</block>
-
-			<!--audio类型-->
-			<block v-else-if="node.tag == 'audio'">
-				<wx-parse-audio :node="node" />
-			</block>
-
-			<!--img类型-->
-			<block v-else-if="node.tag == 'img'">
-				<wx-parse-img :node="node" />
-			</block>
-
-			<!--a类型-->
-			<block v-else-if="node.tag == 'a'">
-				<view @click="wxParseATap" :class="node.classStr" :data-href="node.attr.href" :style="node.styleStr">
-					<block v-for="(node, index) of node.nodes" :key="index">
-						<wx-parse-template :node="node" />
-					</block>
-				</view>
-			</block>
-
-			<!--br类型-->
-			<block v-else-if="node.tag == 'br'">
-				<text>\n</text>
-			</block>
-
-			<!--其他标签-->
-			<block v-else>
-				<view :class="node.classStr" :style="node.styleStr">
-					<block v-for="(node, index) of node.nodes" :key="index">
-						<wx-parse-template :node="node" />
-					</block>
-				</view>
-			</block>
-
-		</block>
-
-		<!--判断是否是文本节点-->
-		<block v-else-if="node.node == 'text'">{{node.text}}</block>
-	</view>
-</template>
-
-<script>
-	import wxParseTemplate from './wxParseTemplate3';
-	import wxParseImg from './wxParseImg';
-	import wxParseVideo from './wxParseVideo';
-	import wxParseAudio from './wxParseAudio';
-
-	export default {
-		name: 'wxParseTemplate2',
-		props: {
-			node: {},
-		},
-		components: {
-			wxParseTemplate,
-			wxParseImg,
-			wxParseVideo,
-			wxParseAudio,
-		},
-		methods: {
-			wxParseATap(e) {
-				const {
-					href
-				} = e.currentTarget.dataset;
-				if (!href) return;
-				let parent = this.$parent;
-				while(!parent.preview || typeof parent.preview !== 'function') {
-					parent = parent.$parent;
-				}
-				parent.navigate(href, e);
-			},
-		},
-	};
-</script>

+ 0 - 98
components/u-parse/components/wxParseTemplate3.vue

@@ -1,98 +0,0 @@
-<template>
-	<view>
-		<!--判断是否是标签节点-->
-		<block v-if="node.node == 'element'">
-			<block v-if="node.tag == 'button'">
-				<button type="default" size="mini">
-					<block v-for="(node, index) of node.nodes" :key="index">
-						<wx-parse-template :node="node" />
-					</block>
-				</button>
-			</block>
-
-			<!--li类型-->
-			<block v-else-if="node.tag == 'li'">
-				<view :class="node.classStr" :style="node.styleStr">
-					<block v-for="(node, index) of node.nodes" :key="index">
-						<wx-parse-template :node="node" />
-					</block>
-				</view>
-			</block>
-
-			<!--video类型-->
-			<block v-else-if="node.tag == 'video'">
-				<wx-parse-video :node="node" />
-			</block>
-
-			<!--audio类型-->
-			<block v-else-if="node.tag == 'audio'">
-				<wx-parse-audio :node="node" />
-			</block>
-
-			<!--img类型-->
-			<block v-else-if="node.tag == 'img'">
-				<wx-parse-img :node="node" />
-			</block>
-
-			<!--a类型-->
-			<block v-else-if="node.tag == 'a'">
-				<view @click="wxParseATap" :class="node.classStr" :data-href="node.attr.href" :style="node.styleStr">
-					<block v-for="(node, index) of node.nodes" :key="index">
-						<wx-parse-template :node="node" />
-					</block>
-				</view>
-			</block>
-
-			<!--br类型-->
-			<block v-else-if="node.tag == 'br'">
-				<text>\n</text>
-			</block>
-
-			<!--其他标签-->
-			<block v-else>
-				<view :class="node.classStr" :style="node.styleStr">
-					<block v-for="(node, index) of node.nodes" :key="index">
-						<wx-parse-template :node="node" />
-					</block>
-				</view>
-			</block>
-
-		</block>
-
-		<!--判断是否是文本节点-->
-		<block v-else-if="node.node == 'text'">{{node.text}}</block>
-	</view>
-</template>
-
-<script>
-	import wxParseTemplate from './wxParseTemplate4';
-	import wxParseImg from './wxParseImg';
-	import wxParseVideo from './wxParseVideo';
-	import wxParseAudio from './wxParseAudio';
-
-	export default {
-		name: 'wxParseTemplate3',
-		props: {
-			node: {},
-		},
-		components: {
-			wxParseTemplate,
-			wxParseImg,
-			wxParseVideo,
-			wxParseAudio,
-		},
-		methods: {
-			wxParseATap(e) {
-				const {
-					href
-				} = e.currentTarget.dataset;
-				if (!href) return;
-				let parent = this.$parent;
-				while(!parent.preview || typeof parent.preview !== 'function') {
-					parent = parent.$parent;
-				}
-				parent.navigate(href, e);
-			},
-		},
-	};
-</script>

+ 0 - 98
components/u-parse/components/wxParseTemplate4.vue

@@ -1,98 +0,0 @@
-<template>
-	<view>
-		<!--判断是否是标签节点-->
-		<block v-if="node.node == 'element'">
-			<block v-if="node.tag == 'button'">
-				<button type="default" size="mini">
-					<block v-for="(node, index) of node.nodes" :key="index">
-						<wx-parse-template :node="node" />
-					</block>
-				</button>
-			</block>
-
-			<!--li类型-->
-			<block v-else-if="node.tag == 'li'">
-				<view :class="node.classStr" :style="node.styleStr">
-					<block v-for="(node, index) of node.nodes" :key="index">
-						<wx-parse-template :node="node" />
-					</block>
-				</view>
-			</block>
-
-			<!--video类型-->
-			<block v-else-if="node.tag == 'video'">
-				<wx-parse-video :node="node" />
-			</block>
-
-			<!--audio类型-->
-			<block v-else-if="node.tag == 'audio'">
-				<wx-parse-audio :node="node" />
-			</block>
-
-			<!--img类型-->
-			<block v-else-if="node.tag == 'img'">
-				<wx-parse-img :node="node" />
-			</block>
-
-			<!--a类型-->
-			<block v-else-if="node.tag == 'a'">
-				<view @click="wxParseATap" :class="node.classStr" :data-href="node.attr.href" :style="node.styleStr">
-					<block v-for="(node, index) of node.nodes" :key="index">
-						<wx-parse-template :node="node" />
-					</block>
-				</view>
-			</block>
-
-			<!--br类型-->
-			<block v-else-if="node.tag == 'br'">
-				<text>\n</text>
-			</block>
-
-			<!--其他标签-->
-			<block v-else>
-				<view :class="node.classStr" :style="node.styleStr">
-					<block v-for="(node, index) of node.nodes" :key="index">
-						<wx-parse-template :node="node" />
-					</block>
-				</view>
-			</block>
-
-		</block>
-
-		<!--判断是否是文本节点-->
-		<block v-else-if="node.node == 'text'">{{node.text}}</block>
-	</view>
-</template>
-
-<script>
-	import wxParseTemplate from './wxParseTemplate5';
-	import wxParseImg from './wxParseImg';
-	import wxParseVideo from './wxParseVideo';
-	import wxParseAudio from './wxParseAudio';
-
-	export default {
-		name: 'wxParseTemplate4',
-		props: {
-			node: {},
-		},
-		components: {
-			wxParseTemplate,
-			wxParseImg,
-			wxParseVideo,
-			wxParseAudio,
-		},
-		methods: {
-			wxParseATap(e) {
-				const {
-					href
-				} = e.currentTarget.dataset;
-				if (!href) return;
-				let parent = this.$parent;
-				while(!parent.preview || typeof parent.preview !== 'function') {
-					parent = parent.$parent;
-				}
-				parent.navigate(href, e);
-			},
-		},
-	};
-</script>

+ 0 - 98
components/u-parse/components/wxParseTemplate5.vue

@@ -1,98 +0,0 @@
-<template>
-	<view>
-		<!--判断是否是标签节点-->
-		<block v-if="node.node == 'element'">
-			<block v-if="node.tag == 'button'">
-				<button type="default" size="mini">
-					<block v-for="(node, index) of node.nodes" :key="index">
-						<wx-parse-template :node="node" />
-					</block>
-				</button>
-			</block>
-
-			<!--li类型-->
-			<block v-else-if="node.tag == 'li'">
-				<view :class="node.classStr" :style="node.styleStr">
-					<block v-for="(node, index) of node.nodes" :key="index">
-						<wx-parse-template :node="node" />
-					</block>
-				</view>
-			</block>
-
-			<!--video类型-->
-			<block v-else-if="node.tag == 'video'">
-				<wx-parse-video :node="node" />
-			</block>
-
-			<!--audio类型-->
-			<block v-else-if="node.tag == 'audio'">
-				<wx-parse-audio :node="node" />
-			</block>
-
-			<!--img类型-->
-			<block v-else-if="node.tag == 'img'">
-				<wx-parse-img :node="node" />
-			</block>
-
-			<!--a类型-->
-			<block v-else-if="node.tag == 'a'">
-				<view @click="wxParseATap" :class="node.classStr" :data-href="node.attr.href" :style="node.styleStr">
-					<block v-for="(node, index) of node.nodes" :key="index">
-						<wx-parse-template :node="node" />
-					</block>
-				</view>
-			</block>
-
-			<!--br类型-->
-			<block v-else-if="node.tag == 'br'">
-				<text>\n</text>
-			</block>
-
-			<!--其他标签-->
-			<block v-else>
-				<view :class="node.classStr" :style="node.styleStr">
-					<block v-for="(node, index) of node.nodes" :key="index">
-						<wx-parse-template :node="node" />
-					</block>
-				</view>
-			</block>
-
-		</block>
-
-		<!--判断是否是文本节点-->
-		<block v-else-if="node.node == 'text'">{{node.text}}</block>
-	</view>
-</template>
-
-<script>
-	import wxParseTemplate from './wxParseTemplate6';
-	import wxParseImg from './wxParseImg';
-	import wxParseVideo from './wxParseVideo';
-	import wxParseAudio from './wxParseAudio';
-
-	export default {
-		name: 'wxParseTemplate5',
-		props: {
-			node: {},
-		},
-		components: {
-			wxParseTemplate,
-			wxParseImg,
-			wxParseVideo,
-			wxParseAudio,
-		},
-		methods: {
-			wxParseATap(e) {
-				const {
-					href
-				} = e.currentTarget.dataset;
-				if (!href) return;
-				let parent = this.$parent;
-				while(!parent.preview || typeof parent.preview !== 'function') {
-					parent = parent.$parent;
-				}
-				parent.navigate(href, e);
-			},
-		},
-	};
-</script>

+ 0 - 98
components/u-parse/components/wxParseTemplate6.vue

@@ -1,98 +0,0 @@
-<template>
-	<view>
-		<!--判断是否是标签节点-->
-		<block v-if="node.node == 'element'">
-			<block v-if="node.tag == 'button'">
-				<button type="default" size="mini">
-					<block v-for="(node, index) of node.nodes" :key="index">
-						<wx-parse-template :node="node" />
-					</block>
-				</button>
-			</block>
-
-			<!--li类型-->
-			<block v-else-if="node.tag == 'li'">
-				<view :class="node.classStr" :style="node.styleStr">
-					<block v-for="(node, index) of node.nodes" :key="index">
-						<wx-parse-template :node="node" />
-					</block>
-				</view>
-			</block>
-
-			<!--video类型-->
-			<block v-else-if="node.tag == 'video'">
-				<wx-parse-video :node="node" />
-			</block>
-
-			<!--audio类型-->
-			<block v-else-if="node.tag == 'audio'">
-				<wx-parse-audio :node="node" />
-			</block>
-
-			<!--img类型-->
-			<block v-else-if="node.tag == 'img'">
-				<wx-parse-img :node="node" />
-			</block>
-
-			<!--a类型-->
-			<block v-else-if="node.tag == 'a'">
-				<view @click="wxParseATap" :class="node.classStr" :data-href="node.attr.href" :style="node.styleStr">
-					<block v-for="(node, index) of node.nodes" :key="index">
-						<wx-parse-template :node="node" />
-					</block>
-				</view>
-			</block>
-
-			<!--br类型-->
-			<block v-else-if="node.tag == 'br'">
-				<text>\n</text>
-			</block>
-
-			<!--其他标签-->
-			<block v-else>
-				<view :class="node.classStr" :style="node.styleStr">
-					<block v-for="(node, index) of node.nodes" :key="index">
-						<wx-parse-template :node="node" />
-					</block>
-				</view>
-			</block>
-
-		</block>
-
-		<!--判断是否是文本节点-->
-		<block v-else-if="node.node == 'text'">{{node.text}}</block>
-	</view>
-</template>
-
-<script>
-	import wxParseTemplate from './wxParseTemplate7';
-	import wxParseImg from './wxParseImg';
-	import wxParseVideo from './wxParseVideo';
-	import wxParseAudio from './wxParseAudio';
-
-	export default {
-		name: 'wxParseTemplate6',
-		props: {
-			node: {},
-		},
-		components: {
-			wxParseTemplate,
-			wxParseImg,
-			wxParseVideo,
-			wxParseAudio,
-		},
-		methods: {
-			wxParseATap(e) {
-				const {
-					href
-				} = e.currentTarget.dataset;
-				if (!href) return;
-				let parent = this.$parent;
-				while(!parent.preview || typeof parent.preview !== 'function') {
-					parent = parent.$parent;
-				}
-				parent.navigate(href, e);
-			},
-		},
-	};
-</script>

+ 0 - 98
components/u-parse/components/wxParseTemplate7.vue

@@ -1,98 +0,0 @@
-<template>
-	<view>
-		<!--判断是否是标签节点-->
-		<block v-if="node.node == 'element'">
-			<block v-if="node.tag == 'button'">
-				<button type="default" size="mini">
-					<block v-for="(node, index) of node.nodes" :key="index">
-						<wx-parse-template :node="node" />
-					</block>
-				</button>
-			</block>
-
-			<!--li类型-->
-			<block v-else-if="node.tag == 'li'">
-				<view :class="node.classStr" :style="node.styleStr">
-					<block v-for="(node, index) of node.nodes" :key="index">
-						<wx-parse-template :node="node" />
-					</block>
-				</view>
-			</block>
-
-			<!--video类型-->
-			<block v-else-if="node.tag == 'video'">
-				<wx-parse-video :node="node" />
-			</block>
-
-			<!--audio类型-->
-			<block v-else-if="node.tag == 'audio'">
-				<wx-parse-audio :node="node" />
-			</block>
-
-			<!--img类型-->
-			<block v-else-if="node.tag == 'img'">
-				<wx-parse-img :node="node" />
-			</block>
-
-			<!--a类型-->
-			<block v-else-if="node.tag == 'a'">
-				<view @click="wxParseATap" :class="node.classStr" :data-href="node.attr.href" :style="node.styleStr">
-					<block v-for="(node, index) of node.nodes" :key="index">
-						<wx-parse-template :node="node" />
-					</block>
-				</view>
-			</block>
-
-			<!--br类型-->
-			<block v-else-if="node.tag == 'br'">
-				<text>\n</text>
-			</block>
-
-			<!--其他标签-->
-			<block v-else>
-				<view :class="node.classStr" :style="node.styleStr">
-					<block v-for="(node, index) of node.nodes" :key="index">
-						<wx-parse-template :node="node" />
-					</block>
-				</view>
-			</block>
-
-		</block>
-
-		<!--判断是否是文本节点-->
-		<block v-else-if="node.node == 'text'">{{node.text}}</block>
-	</view>
-</template>
-
-<script>
-	import wxParseTemplate from './wxParseTemplate8';
-	import wxParseImg from './wxParseImg';
-	import wxParseVideo from './wxParseVideo';
-	import wxParseAudio from './wxParseAudio';
-
-	export default {
-		name: 'wxParseTemplate7',
-		props: {
-			node: {},
-		},
-		components: {
-			wxParseTemplate,
-			wxParseImg,
-			wxParseVideo,
-			wxParseAudio,
-		},
-		methods: {
-			wxParseATap(e) {
-				const {
-					href
-				} = e.currentTarget.dataset;
-				if (!href) return;
-				let parent = this.$parent;
-				while(!parent.preview || typeof parent.preview !== 'function') {
-					parent = parent.$parent;
-				}
-				parent.navigate(href, e);
-			},
-		},
-	};
-</script>

+ 0 - 98
components/u-parse/components/wxParseTemplate8.vue

@@ -1,98 +0,0 @@
-<template>
-	<view>
-		<!--判断是否是标签节点-->
-		<block v-if="node.node == 'element'">
-			<block v-if="node.tag == 'button'">
-				<button type="default" size="mini">
-					<block v-for="(node, index) of node.nodes" :key="index">
-						<wx-parse-template :node="node" />
-					</block>
-				</button>
-			</block>
-
-			<!--li类型-->
-			<block v-else-if="node.tag == 'li'">
-				<view :class="node.classStr" :style="node.styleStr">
-					<block v-for="(node, index) of node.nodes" :key="index">
-						<wx-parse-template :node="node" />
-					</block>
-				</view>
-			</block>
-
-			<!--video类型-->
-			<block v-else-if="node.tag == 'video'">
-				<wx-parse-video :node="node" />
-			</block>
-
-			<!--audio类型-->
-			<block v-else-if="node.tag == 'audio'">
-				<wx-parse-audio :node="node" />
-			</block>
-
-			<!--img类型-->
-			<block v-else-if="node.tag == 'img'">
-				<wx-parse-img :node="node" />
-			</block>
-
-			<!--a类型-->
-			<block v-else-if="node.tag == 'a'">
-				<view @click="wxParseATap" :class="node.classStr" :data-href="node.attr.href" :style="node.styleStr">
-					<block v-for="(node, index) of node.nodes" :key="index">
-						<wx-parse-template :node="node" />
-					</block>
-				</view>
-			</block>
-
-			<!--br类型-->
-			<block v-else-if="node.tag == 'br'">
-				<text>\n</text>
-			</block>
-
-			<!--其他标签-->
-			<block v-else>
-				<view :class="node.classStr" :style="node.styleStr">
-					<block v-for="(node, index) of node.nodes" :key="index">
-						<wx-parse-template :node="node" />
-					</block>
-				</view>
-			</block>
-
-		</block>
-
-		<!--判断是否是文本节点-->
-		<block v-else-if="node.node == 'text'">{{node.text}}</block>
-	</view>
-</template>
-
-<script>
-	import wxParseTemplate from './wxParseTemplate9';
-	import wxParseImg from './wxParseImg';
-	import wxParseVideo from './wxParseVideo';
-	import wxParseAudio from './wxParseAudio';
-
-	export default {
-		name: 'wxParseTemplate8',
-		props: {
-			node: {},
-		},
-		components: {
-			wxParseTemplate,
-			wxParseImg,
-			wxParseVideo,
-			wxParseAudio,
-		},
-		methods: {
-			wxParseATap(e) {
-				const {
-					href
-				} = e.currentTarget.dataset;
-				if (!href) return;
-				let parent = this.$parent;
-				while(!parent.preview || typeof parent.preview !== 'function') {
-					parent = parent.$parent;
-				}
-				parent.navigate(href, e);
-			},
-		},
-	};
-</script>

+ 0 - 98
components/u-parse/components/wxParseTemplate9.vue

@@ -1,98 +0,0 @@
-<template>
-	<view>
-		<!--判断是否是标签节点-->
-		<block v-if="node.node == 'element'">
-			<block v-if="node.tag == 'button'">
-				<button type="default" size="mini">
-					<block v-for="(node, index) of node.nodes" :key="index">
-						<wx-parse-template :node="node" />
-					</block>
-				</button>
-			</block>
-
-			<!--li类型-->
-			<block v-else-if="node.tag == 'li'">
-				<view :class="node.classStr" :style="node.styleStr">
-					<block v-for="(node, index) of node.nodes" :key="index">
-						<wx-parse-template :node="node" />
-					</block>
-				</view>
-			</block>
-
-			<!--video类型-->
-			<block v-else-if="node.tag == 'video'">
-				<wx-parse-video :node="node" />
-			</block>
-
-			<!--audio类型-->
-			<block v-else-if="node.tag == 'audio'">
-				<wx-parse-audio :node="node" />
-			</block>
-
-			<!--img类型-->
-			<block v-else-if="node.tag == 'img'">
-				<wx-parse-img :node="node" />
-			</block>
-
-			<!--a类型-->
-			<block v-else-if="node.tag == 'a'">
-				<view @click="wxParseATap" :class="node.classStr" :data-href="node.attr.href" :style="node.styleStr">
-					<block v-for="(node, index) of node.nodes" :key="index">
-						<wx-parse-template :node="node" />
-					</block>
-				</view>
-			</block>
-
-			<!--br类型-->
-			<block v-else-if="node.tag == 'br'">
-				<text>\n</text>
-			</block>
-
-			<!--其他标签-->
-			<block v-else>
-				<view :class="node.classStr" :style="node.styleStr">
-					<block v-for="(node, index) of node.nodes" :key="index">
-						<wx-parse-template :node="node" />
-					</block>
-				</view>
-			</block>
-
-		</block>
-
-		<!--判断是否是文本节点-->
-		<block v-else-if="node.node == 'text'">{{node.text}}</block>
-	</view>
-</template>
-
-<script>
-	import wxParseTemplate from './wxParseTemplate10';
-	import wxParseImg from './wxParseImg';
-	import wxParseVideo from './wxParseVideo';
-	import wxParseAudio from './wxParseAudio';
-
-	export default {
-		name: 'wxParseTemplate9',
-		props: {
-			node: {},
-		},
-		components: {
-			wxParseTemplate,
-			wxParseImg,
-			wxParseVideo,
-			wxParseAudio,
-		},
-		methods: {
-			wxParseATap(e) {
-				const {
-					href
-				} = e.currentTarget.dataset;
-				if (!href) return;
-				let parent = this.$parent;
-				while(!parent.preview || typeof parent.preview !== 'function') {
-					parent = parent.$parent;
-				}
-				parent.navigate(href, e);
-			},
-		},
-	};
-</script>

+ 0 - 15
components/u-parse/components/wxParseVideo.vue

@@ -1,15 +0,0 @@
-<template>
-  <!--增加video标签支持,并循环添加-->
-  <view :class="node.classStr" :style="node.styleStr">
-    <video :class="node.classStr" class="video-video" :src="node.attr.src"></video>
-  </view>
-</template>
-
-<script>
-export default {
-  name: 'wxParseVideo',
-  props: {
-    node: {},
-  },
-};
-</script>

+ 0 - 261
components/u-parse/libs/html2json.js

@@ -1,261 +0,0 @@
-/**
- * html2Json 改造来自: https://github.com/Jxck/html2json
- *
- *
- * author: Di (微信小程序开发工程师)
- * organization: WeAppDev(微信小程序开发论坛)(http://weappdev.com)
- *               垂直微信小程序开发交流社区
- *
- * github地址: https://github.com/icindy/wxParse
- *
- * for: 微信小程序富文本解析
- * detail : http://weappdev.com/t/wxparse-alpha0-1-html-markdown/184
- */
-
-import wxDiscode from './wxDiscode';
-import HTMLParser from './htmlparser';
-
-function makeMap(str) {
-  const obj = {};
-  const items = str.split(',');
-  for (let i = 0; i < items.length; i += 1) obj[items[i]] = true;
-  return obj;
-}
-
-// Block Elements - HTML 5
-const block = makeMap('br,code,address,article,applet,aside,audio,blockquote,button,canvas,center,dd,del,dir,div,dl,dt,fieldset,figcaption,figure,footer,form,frameset,h1,h2,h3,h4,h5,h6,header,hgroup,hr,iframe,ins,isindex,li,map,menu,noframes,noscript,object,ol,output,p,pre,section,script,table,tbody,td,tfoot,th,thead,tr,ul,video');
-
-// Inline Elements - HTML 5
-const inline = makeMap('a,abbr,acronym,applet,b,basefont,bdo,big,button,cite,del,dfn,em,font,i,iframe,img,input,ins,kbd,label,map,object,q,s,samp,script,select,small,span,strike,strong,sub,sup,textarea,tt,u,var');
-
-// Elements that you can, intentionally, leave open
-// (and which close themselves)
-const closeSelf = makeMap('colgroup,dd,dt,li,options,p,td,tfoot,th,thead,tr');
-
-function removeDOCTYPE(html) {
-  const isDocument = /<body.*>([^]*)<\/body>/.test(html);
-  return isDocument ? RegExp.$1 : html;
-}
-
-function trimHtml(html) {
-  return html
-    .replace(/<!--.*?-->/gi, '')
-    .replace(/\/\*.*?\*\//gi, '')
-    .replace(/[ ]+</gi, '<')
-    .replace(/<script[^]*<\/script>/gi, '')
-    .replace(/<style[^]*<\/style>/gi, '');
-}
-
-function getScreenInfo() {
-  const screen = {};
-  wx.getSystemInfo({
-    success: (res) => {
-      screen.width = res.windowWidth;
-      screen.height = res.windowHeight;
-    },
-  });
-  return screen;
-}
-
-function html2json(html, customHandler, imageProp, host) {
-  // 处理字符串
-  html = removeDOCTYPE(html);
-  html = trimHtml(html);
-  html = wxDiscode.strDiscode(html);
-  // 生成node节点
-  const bufArray = [];
-  const results = {
-    nodes: [],
-    imageUrls: [],
-  };
-
-	const screen = getScreenInfo();
-  function Node(tag) {
-    this.node = 'element';
-    this.tag = tag;
-		
-		this.$screen = screen;
-  }
-
-  HTMLParser(html, {
-    start(tag, attrs, unary) {
-      // node for this element
-      const node = new Node(tag);
-
-      if (bufArray.length !== 0) {
-        const parent = bufArray[0];
-        if (parent.nodes === undefined) {
-          parent.nodes = [];
-        }
-      }
-
-      if (block[tag]) {
-        node.tagType = 'block';
-      } else if (inline[tag]) {
-        node.tagType = 'inline';
-      } else if (closeSelf[tag]) {
-        node.tagType = 'closeSelf';
-      }
-
-      node.attr = attrs.reduce((pre, attr) => {
-        const { name } = attr;
-        let { value } = attr;
-        if (name === 'class') {
-          node.classStr = value;
-        }
-        // has multi attibutes
-        // make it array of attribute
-        if (name === 'style') {
-          node.styleStr = value;
-        }
-        if (value.match(/ /)) {
-          value = value.split(' ');
-        }
-
-        // if attr already exists
-        // merge it
-        if (pre[name]) {
-          if (Array.isArray(pre[name])) {
-            // already array, push to last
-            pre[name].push(value);
-          } else {
-            // single value, make it array
-            pre[name] = [pre[name], value];
-          }
-        } else {
-          // not exist, put it
-          pre[name] = value;
-        }
-
-        return pre;
-      }, {});
-
-      // 优化样式相关属性
-      if (node.classStr) {
-        node.classStr += ` ${node.tag}`;
-      } else {
-        node.classStr = node.tag;
-      }
-      if (node.tagType === 'inline') {
-        node.classStr += ' inline';
-      }
-
-      // 对img添加额外数据
-      if (node.tag === 'img') {
-        let imgUrl = node.attr.src;
-        imgUrl = wxDiscode.urlToHttpUrl(imgUrl, imageProp.domain);
-        Object.assign(node.attr, imageProp, {
-          src: imgUrl || '',
-        });
-        if (imgUrl) {
-          results.imageUrls.push(imgUrl);
-        }
-      }
-
-      // 处理a标签属性
-      if (node.tag === 'a') {
-        node.attr.href = node.attr.href || '';
-      }
-
-      // 处理font标签样式属性
-      if (node.tag === 'font') {
-        const fontSize = [
-          'x-small',
-          'small',
-          'medium',
-          'large',
-          'x-large',
-          'xx-large',
-          '-webkit-xxx-large',
-        ];
-        const styleAttrs = {
-          color: 'color',
-          face: 'font-family',
-          size: 'font-size',
-        };
-        if (!node.styleStr) node.styleStr = '';
-        Object.keys(styleAttrs).forEach((key) => {
-          if (node.attr[key]) {
-            const value = key === 'size' ? fontSize[node.attr[key] - 1] : node.attr[key];
-            node.styleStr += `${styleAttrs[key]}: ${value};`;
-          }
-        });
-      }
-
-      // 临时记录source资源
-      if (node.tag === 'source') {
-        results.source = node.attr.src;
-      }
-
-      if (customHandler.start) {
-        customHandler.start(node, results);
-      }
-
-      if (unary) {
-        // if this tag doesn't have end tag
-        // like <img src="hoge.png"/>
-        // add to parents
-        const parent = bufArray[0] || results;
-        if (parent.nodes === undefined) {
-          parent.nodes = [];
-        }
-        parent.nodes.push(node);
-      } else {
-        bufArray.unshift(node);
-      }
-    },
-    end(tag) {
-      // merge into parent tag
-      const node = bufArray.shift();
-      if (node.tag !== tag) {
-        console.error('invalid state: mismatch end tag');
-      }
-
-      // 当有缓存source资源时于于video补上src资源
-      if (node.tag === 'video' && results.source) {
-        node.attr.src = results.source;
-        delete results.source;
-      }
-
-      if (customHandler.end) {
-        customHandler.end(node, results);
-      }
-
-      if (bufArray.length === 0) {
-        results.nodes.push(node);
-      } else {
-        const parent = bufArray[0];
-        if (!parent.nodes) {
-          parent.nodes = [];
-        }
-        parent.nodes.push(node);
-      }
-    },
-    chars(text) {
-      if (!text.trim()) return;
-
-      const node = {
-        node: 'text',
-        text,
-      };
-
-      if (customHandler.chars) {
-        customHandler.chars(node, results);
-      }
-
-      if (bufArray.length === 0) {
-        results.nodes.push(node);
-      } else {
-        const parent = bufArray[0];
-        if (parent.nodes === undefined) {
-          parent.nodes = [];
-        }
-        parent.nodes.push(node);
-      }
-    },
-  });
-
-  return results;
-}
-
-export default html2json;

+ 0 - 156
components/u-parse/libs/htmlparser.js

@@ -1,156 +0,0 @@
-/**
- *
- * htmlParser改造自: https://github.com/blowsie/Pure-JavaScript-HTML5-Parser
- *
- * author: Di (微信小程序开发工程师)
- * organization: WeAppDev(微信小程序开发论坛)(http://weappdev.com)
- *               垂直微信小程序开发交流社区
- *
- * github地址: https://github.com/icindy/wxParse
- *
- * for: 微信小程序富文本解析
- * detail : http://weappdev.com/t/wxparse-alpha0-1-html-markdown/184
- */
-// Regular Expressions for parsing tags and attributes
-
-const startTag = /^<([-A-Za-z0-9_]+)((?:\s+[a-zA-Z0-9_:][-a-zA-Z0-9_:.]*(?:\s*=\s*(?:(?:"[^"]*")|(?:'[^']*')|[^>\s]+))?)*)\s*(\/?)>/;
-const endTag = /^<\/([-A-Za-z0-9_]+)[^>]*>/;
-const attr = /([a-zA-Z0-9_:][-a-zA-Z0-9_:.]*)(?:\s*=\s*(?:(?:"((?:\\.|[^"])*)")|(?:'((?:\\.|[^'])*)')|([^>\s]+)))?/g;
-
-function makeMap(str) {
-  const obj = {};
-  const items = str.split(',');
-  for (let i = 0; i < items.length; i += 1) obj[items[i]] = true;
-  return obj;
-}
-
-// Empty Elements - HTML 5
-const empty = makeMap('area,base,basefont,br,col,frame,hr,img,input,link,meta,param,embed,command,keygen,source,track,wbr');
-
-// Block Elements - HTML 5
-const block = makeMap('address,code,article,applet,aside,audio,blockquote,button,canvas,center,dd,del,dir,div,dl,dt,fieldset,figcaption,figure,footer,form,frameset,h1,h2,h3,h4,h5,h6,header,hgroup,hr,iframe,ins,isindex,li,map,menu,noframes,noscript,object,ol,output,p,pre,section,script,table,tbody,td,tfoot,th,thead,tr,ul,video');
-
-// Inline Elements - HTML 5
-const inline = makeMap('a,abbr,acronym,applet,b,basefont,bdo,big,br,button,cite,del,dfn,em,font,i,iframe,img,input,ins,kbd,label,map,object,q,s,samp,script,select,small,span,strike,strong,sub,sup,textarea,tt,u,var');
-
-// Elements that you can, intentionally, leave open
-// (and which close themselves)
-const closeSelf = makeMap('colgroup,dd,dt,li,options,p,td,tfoot,th,thead,tr');
-
-// Attributes that have their values filled in disabled="disabled"
-const fillAttrs = makeMap('checked,compact,declare,defer,disabled,ismap,multiple,nohref,noresize,noshade,nowrap,readonly,selected');
-
-function HTMLParser(html, handler) {
-  let index;
-  let chars;
-  let match;
-  let last = html;
-  const stack = [];
-
-  stack.last = () => stack[stack.length - 1];
-
-  function parseEndTag(tag, tagName) {
-    // If no tag name is provided, clean shop
-    let pos;
-    if (!tagName) {
-      pos = 0;
-    } else {
-      // Find the closest opened tag of the same type
-      tagName = tagName.toLowerCase();
-      for (pos = stack.length - 1; pos >= 0; pos -= 1) {
-        if (stack[pos] === tagName) break;
-      }
-    }
-    if (pos >= 0) {
-      // Close all the open elements, up the stack
-      for (let i = stack.length - 1; i >= pos; i -= 1) {
-        if (handler.end) handler.end(stack[i]);
-      }
-
-      // Remove the open elements from the stack
-      stack.length = pos;
-    }
-  }
-
-  function parseStartTag(tag, tagName, rest, unary) {
-    tagName = tagName.toLowerCase();
-
-    if (block[tagName]) {
-      while (stack.last() && inline[stack.last()]) {
-        parseEndTag('', stack.last());
-      }
-    }
-
-    if (closeSelf[tagName] && stack.last() === tagName) {
-      parseEndTag('', tagName);
-    }
-
-    unary = empty[tagName] || !!unary;
-
-    if (!unary) stack.push(tagName);
-
-    if (handler.start) {
-      const attrs = [];
-
-      rest.replace(attr, function genAttr(matches, name) {
-        const value = arguments[2] || arguments[3] || arguments[4] || (fillAttrs[name] ? name : '');
-
-        attrs.push({
-          name,
-          value,
-          escaped: value.replace(/(^|[^\\])"/g, '$1\\"'), // "
-        });
-      });
-
-      if (handler.start) {
-        handler.start(tagName, attrs, unary);
-      }
-    }
-  }
-
-  while (html) {
-    chars = true;
-
-    if (html.indexOf('</') === 0) {
-      match = html.match(endTag);
-
-      if (match) {
-        html = html.substring(match[0].length);
-        match[0].replace(endTag, parseEndTag);
-        chars = false;
-      }
-
-      // start tag
-    } else if (html.indexOf('<') === 0) {
-      match = html.match(startTag);
-
-      if (match) {
-        html = html.substring(match[0].length);
-        match[0].replace(startTag, parseStartTag);
-        chars = false;
-      }
-    }
-
-    if (chars) {
-      index = html.indexOf('<');
-      let text = '';
-      while (index === 0) {
-        text += '<';
-        html = html.substring(1);
-        index = html.indexOf('<');
-      }
-      text += index < 0 ? html : html.substring(0, index);
-      html = index < 0 ? '' : html.substring(index);
-
-      if (handler.chars) handler.chars(text);
-    }
-
-    if (html === last) throw new Error(`Parse Error: ${html}`);
-    last = html;
-  }
-
-  // Clean up any remaining tags
-  parseEndTag();
-}
-
-export default HTMLParser;

+ 0 - 195
components/u-parse/libs/wxDiscode.js

@@ -1,195 +0,0 @@
-// HTML 支持的数学符号
-function strNumDiscode(str) {
-  str = str.replace(/&forall;/g, '∀');
-  str = str.replace(/&part;/g, '∂');
-  str = str.replace(/&exist;/g, '∃');
-  str = str.replace(/&empty;/g, '∅');
-  str = str.replace(/&nabla;/g, '∇');
-  str = str.replace(/&isin;/g, '∈');
-  str = str.replace(/&notin;/g, '∉');
-  str = str.replace(/&ni;/g, '∋');
-  str = str.replace(/&prod;/g, '∏');
-  str = str.replace(/&sum;/g, '∑');
-  str = str.replace(/&minus;/g, '−');
-  str = str.replace(/&lowast;/g, '∗');
-  str = str.replace(/&radic;/g, '√');
-  str = str.replace(/&prop;/g, '∝');
-  str = str.replace(/&infin;/g, '∞');
-  str = str.replace(/&ang;/g, '∠');
-  str = str.replace(/&and;/g, '∧');
-  str = str.replace(/&or;/g, '∨');
-  str = str.replace(/&cap;/g, '∩');
-  str = str.replace(/&cup;/g, '∪');
-  str = str.replace(/&int;/g, '∫');
-  str = str.replace(/&there4;/g, '∴');
-  str = str.replace(/&sim;/g, '∼');
-  str = str.replace(/&cong;/g, '≅');
-  str = str.replace(/&asymp;/g, '≈');
-  str = str.replace(/&ne;/g, '≠');
-  str = str.replace(/&le;/g, '≤');
-  str = str.replace(/&ge;/g, '≥');
-  str = str.replace(/&sub;/g, '⊂');
-  str = str.replace(/&sup;/g, '⊃');
-  str = str.replace(/&nsub;/g, '⊄');
-  str = str.replace(/&sube;/g, '⊆');
-  str = str.replace(/&supe;/g, '⊇');
-  str = str.replace(/&oplus;/g, '⊕');
-  str = str.replace(/&otimes;/g, '⊗');
-  str = str.replace(/&perp;/g, '⊥');
-  str = str.replace(/&sdot;/g, '⋅');
-  return str;
-}
-
-// HTML 支持的希腊字母
-function strGreeceDiscode(str) {
-  str = str.replace(/&Alpha;/g, 'Α');
-  str = str.replace(/&Beta;/g, 'Β');
-  str = str.replace(/&Gamma;/g, 'Γ');
-  str = str.replace(/&Delta;/g, 'Δ');
-  str = str.replace(/&Epsilon;/g, 'Ε');
-  str = str.replace(/&Zeta;/g, 'Ζ');
-  str = str.replace(/&Eta;/g, 'Η');
-  str = str.replace(/&Theta;/g, 'Θ');
-  str = str.replace(/&Iota;/g, 'Ι');
-  str = str.replace(/&Kappa;/g, 'Κ');
-  str = str.replace(/&Lambda;/g, 'Λ');
-  str = str.replace(/&Mu;/g, 'Μ');
-  str = str.replace(/&Nu;/g, 'Ν');
-  str = str.replace(/&Xi;/g, 'Ν');
-  str = str.replace(/&Omicron;/g, 'Ο');
-  str = str.replace(/&Pi;/g, 'Π');
-  str = str.replace(/&Rho;/g, 'Ρ');
-  str = str.replace(/&Sigma;/g, 'Σ');
-  str = str.replace(/&Tau;/g, 'Τ');
-  str = str.replace(/&Upsilon;/g, 'Υ');
-  str = str.replace(/&Phi;/g, 'Φ');
-  str = str.replace(/&Chi;/g, 'Χ');
-  str = str.replace(/&Psi;/g, 'Ψ');
-  str = str.replace(/&Omega;/g, 'Ω');
-
-  str = str.replace(/&alpha;/g, 'α');
-  str = str.replace(/&beta;/g, 'β');
-  str = str.replace(/&gamma;/g, 'γ');
-  str = str.replace(/&delta;/g, 'δ');
-  str = str.replace(/&epsilon;/g, 'ε');
-  str = str.replace(/&zeta;/g, 'ζ');
-  str = str.replace(/&eta;/g, 'η');
-  str = str.replace(/&theta;/g, 'θ');
-  str = str.replace(/&iota;/g, 'ι');
-  str = str.replace(/&kappa;/g, 'κ');
-  str = str.replace(/&lambda;/g, 'λ');
-  str = str.replace(/&mu;/g, 'μ');
-  str = str.replace(/&nu;/g, 'ν');
-  str = str.replace(/&xi;/g, 'ξ');
-  str = str.replace(/&omicron;/g, 'ο');
-  str = str.replace(/&pi;/g, 'π');
-  str = str.replace(/&rho;/g, 'ρ');
-  str = str.replace(/&sigmaf;/g, 'ς');
-  str = str.replace(/&sigma;/g, 'σ');
-  str = str.replace(/&tau;/g, 'τ');
-  str = str.replace(/&upsilon;/g, 'υ');
-  str = str.replace(/&phi;/g, 'φ');
-  str = str.replace(/&chi;/g, 'χ');
-  str = str.replace(/&psi;/g, 'ψ');
-  str = str.replace(/&omega;/g, 'ω');
-  str = str.replace(/&thetasym;/g, 'ϑ');
-  str = str.replace(/&upsih;/g, 'ϒ');
-  str = str.replace(/&piv;/g, 'ϖ');
-  str = str.replace(/&middot;/g, '·');
-  return str;
-}
-
-function strcharacterDiscode(str) {
-  // 加入常用解析
-  str = str.replace(/&nbsp;/g, ' ');
-  str = str.replace(/&ensp;/g, ' ');
-  str = str.replace(/&emsp;/g, ' ');
-  str = str.replace(/&quot;/g, "'");
-  str = str.replace(/&amp;/g, '&');
-  str = str.replace(/&lt;/g, '<');
-  str = str.replace(/&gt;/g, '>');
-  str = str.replace(/&#8226;/g, '•');
-
-  return str;
-}
-
-// HTML 支持的其他实体
-function strOtherDiscode(str) {
-  str = str.replace(/&OElig;/g, 'Œ');
-  str = str.replace(/&oelig;/g, 'œ');
-  str = str.replace(/&Scaron;/g, 'Š');
-  str = str.replace(/&scaron;/g, 'š');
-  str = str.replace(/&Yuml;/g, 'Ÿ');
-  str = str.replace(/&fnof;/g, 'ƒ');
-  str = str.replace(/&circ;/g, 'ˆ');
-  str = str.replace(/&tilde;/g, '˜');
-  str = str.replace(/&ensp;/g, '');
-  str = str.replace(/&emsp;/g, '');
-  str = str.replace(/&thinsp;/g, '');
-  str = str.replace(/&zwnj;/g, '');
-  str = str.replace(/&zwj;/g, '');
-  str = str.replace(/&lrm;/g, '');
-  str = str.replace(/&rlm;/g, '');
-  str = str.replace(/&ndash;/g, '–');
-  str = str.replace(/&mdash;/g, '—');
-  str = str.replace(/&lsquo;/g, '‘');
-  str = str.replace(/&rsquo;/g, '’');
-  str = str.replace(/&sbquo;/g, '‚');
-  str = str.replace(/&ldquo;/g, '“');
-  str = str.replace(/&rdquo;/g, '”');
-  str = str.replace(/&bdquo;/g, '„');
-  str = str.replace(/&dagger;/g, '†');
-  str = str.replace(/&Dagger;/g, '‡');
-  str = str.replace(/&bull;/g, '•');
-  str = str.replace(/&hellip;/g, '…');
-  str = str.replace(/&permil;/g, '‰');
-  str = str.replace(/&prime;/g, '′');
-  str = str.replace(/&Prime;/g, '″');
-  str = str.replace(/&lsaquo;/g, '‹');
-  str = str.replace(/&rsaquo;/g, '›');
-  str = str.replace(/&oline;/g, '‾');
-  str = str.replace(/&euro;/g, '€');
-  str = str.replace(/&trade;/g, '™');
-
-  str = str.replace(/&larr;/g, '←');
-  str = str.replace(/&uarr;/g, '↑');
-  str = str.replace(/&rarr;/g, '→');
-  str = str.replace(/&darr;/g, '↓');
-  str = str.replace(/&harr;/g, '↔');
-  str = str.replace(/&crarr;/g, '↵');
-  str = str.replace(/&lceil;/g, '⌈');
-  str = str.replace(/&rceil;/g, '⌉');
-
-  str = str.replace(/&lfloor;/g, '⌊');
-  str = str.replace(/&rfloor;/g, '⌋');
-  str = str.replace(/&loz;/g, '◊');
-  str = str.replace(/&spades;/g, '♠');
-  str = str.replace(/&clubs;/g, '♣');
-  str = str.replace(/&hearts;/g, '♥');
-
-  str = str.replace(/&diams;/g, '♦');
-  str = str.replace(/&#39;/g, "'");
-  return str;
-}
-
-function strDiscode(str) {
-  str = strNumDiscode(str);
-  str = strGreeceDiscode(str);
-  str = strcharacterDiscode(str);
-  str = strOtherDiscode(str);
-  return str;
-}
-
-function urlToHttpUrl(url, domain) {
-  if (/^\/\//.test(url)) {
-    return `https:${url}`;
-  } else if (/^\//.test(url)) {
-    return `https://${domain}${url}`;
-  }
-  return url;
-}
-
-export default {
-  strDiscode,
-  urlToHttpUrl,
-};

+ 0 - 102
components/u-parse/readme.md

@@ -1,102 +0,0 @@
-## uParse 适用于 uni-app/mpvue 的富文本解析组件
-
-> 支持 Html、Markdown 解析,Fork自: [mpvue-wxParse](https://github.com/F-loat/mpvue-wxParse)
-
-
-## 属性
-
-| 名称             | 类型          | 默认值        | 描述               |
-| -----------------|--------------- | ------------- | ----------------  |
-| loading          | Boolean        | false         | 数据加载状态       |
-| className        | String         | —             | 自定义 class 名称  |
-| content          | String         | —             | 渲染内容           |
-| noData           | String         | 数据不能为空   | 空数据时的渲染展示  |
-| startHandler     | Function       | 见源码         | 自定义 parser 函数 |
-| endHandler       | Function       | null          | 自定义 parser 函数 |
-| charsHandler     | Function       | null          | 自定义 parser 函数 |
-| imageProp        | Object         | 见下文        | 图片相关参数        |
-
-### 自定义 parser 函数具体介绍
-
-* 传入的参数为当前节点 `node` 对象及解析结果 `results` 对象,例如 `startHandler(node, results)`
-* 无需返回值,通过对传入的参数直接操作来完成需要的改动
-* 自定义函数会在原解析函数处理之后执行
-
-### imageProp 对象具体属性
-
-| 名称              | 类型           | 默认值        | 描述                |
-| -----------------|--------------- | ------------- | ------------------ |
-| mode             | String         | 'aspectFit'   | 图片裁剪、缩放的模式 |
-| padding          | Number         | 0             | 图片内边距          |
-| lazyLoad         | Boolean        | false         | 图片懒加载          |
-| domain           | String         | ''            | 图片服务域名        |
-
-## 事件
-
-| 名称             | 参数              | 描述              |
-| -----------------|----------------- | ----------------  |
-| preview          | 图片地址,原始事件 | 预览图片时触发     |
-| navigate         | 链接地址,原始事件 | 点击链接时触发     |
-
-## 基本使用方法
-
-
-``` vue
-<template>
-  <div>
-    <u-parse :content="article" @preview="preview" @navigate="navigate" />
-  </div>
-</template>
-
-<script>
-import uParse from '@/components/u-parse/u-parse.vue'
-
-export default {
-  components: {
-    uParse
-  },
-  data () {
-    return {
-      article: '<div>我是HTML代码</div>'
-    }
-  },
-  methods: {
-    preview(src, e) {
-      // do something
-    },
-    navigate(href, e) {
-      // do something
-    }
-  }
-}
-</script>
-
-<style>
-@import url("@/components/u-parse/u-parse.css");
-</style>
-```
-
-
-## 渲染 Markdown
-
-> 先将 markdown 转换为 html 即可
-
-```
-npm install marked
-```
-
-``` js
-import marked from 'marked'
-import uParse from '@/components/u-parse/u-parse.vue'
-
-export default {
-  components: {
-    uParse
-  },
-  data () {
-    return {
-      article: marked(`#hello, markdown!`)
-    }
-  }
-}
-```

+ 0 - 232
components/u-parse/u-parse.css

@@ -1,232 +0,0 @@
-/**
- * author: Di (微信小程序开发工程师)
- * organization: WeAppDev(微信小程序开发论坛)(http://weappdev.com)
- *         垂直微信小程序开发交流社区
- *
- * github地址: https://github.com/icindy/wxParse
- *
- * for: 微信小程序富文本解析
- * detail : http://weappdev.com/t/wxparse-alpha0-1-html-markdown/184
- */
-
-.wxParse {
-  width: 100%;
-  font-family: Helvetica, sans-serif;
-  font-size: 30upx;
-  color: #666;
-  line-height: 1.8;
-}
-
-.wxParse view {
-  word-break: hyphenate;
-}
-
-.wxParse .inline {
-  display: inline;
-  margin: 0;
-  padding: 0;
-}
-
-.wxParse .div {
-  margin: 0;
-  padding: 0;
-}
-
-.wxParse .h1 .text {
-  font-size: 2em;
-  margin: 0.67em 0;
-}
-.wxParse .h2 .text {
-  font-size: 1.5em;
-  margin: 0.83em 0;
-}
-.wxParse .h3 .text {
-  font-size: 1.17em;
-  margin: 1em 0;
-}
-.wxParse .h4 .text {
-  margin: 1.33em 0;
-}
-.wxParse .h5 .text {
-  font-size: 0.83em;
-  margin: 1.67em 0;
-}
-.wxParse .h6 .text {
-  font-size: 0.67em;
-  margin: 2.33em 0;
-}
-
-.wxParse .h1 .text,
-.wxParse .h2 .text,
-.wxParse .h3 .text,
-.wxParse .h4 .text,
-.wxParse .h5 .text,
-.wxParse .h6 .text,
-.wxParse .b,
-.wxParse .strong {
-  font-weight: bolder;
-}
-
-
-.wxParse .p {
-  margin: 1em 0;
-}
-
-.wxParse .i,
-.wxParse .cite,
-.wxParse .em,
-.wxParse .var,
-.wxParse .address {
-  font-style: italic;
-}
-
-.wxParse .pre,
-.wxParse .tt,
-.wxParse .code,
-.wxParse .kbd,
-.wxParse .samp {
-  font-family: monospace;
-}
-.wxParse .pre {
-  overflow: auto;
-  background: #f5f5f5;
-  padding: 16upx;
-  white-space: pre;
-  margin: 1em 0upx;
-}
-.wxParse .code {
-  display: inline;
-  background: #f5f5f5;
-}
-
-.wxParse .big {
-  font-size: 1.17em;
-}
-
-.wxParse .small,
-.wxParse .sub,
-.wxParse .sup {
-  font-size: 0.83em;
-}
-
-.wxParse .sub {
-  vertical-align: sub;
-}
-.wxParse .sup {
-  vertical-align: super;
-}
-
-.wxParse .s,
-.wxParse .strike,
-.wxParse .del {
-  text-decoration: line-through;
-}
-
-.wxParse .strong,
-.wxParse .s {
-  display: inline;
-}
-
-.wxParse .a {
-  color: deepskyblue;
-}
-
-.wxParse .video {
-  text-align: center;
-  margin: 22upx 0;
-}
-
-.wxParse .video-video {
-  width: 100%;
-}
-
-.wxParse .img {
-  display: inline-block;
-  width: 0;
-  height: 0;
-  max-width: 100%;
-  overflow: hidden;
-}
-
-.wxParse .blockquote {
-  margin: 10upx 0;
-  padding: 22upx 0 22upx 22upx;
-  font-family: Courier, Calibri, "宋体";
-  background: #f5f5f5;
-  border-left: 6upx solid #dbdbdb;
-}
-.wxParse .blockquote .p {
-  margin: 0;
-}
-
-.wxParse .ul, .wxParse .ol {
-  display: block;
-  margin: 1em 0;
-  padding-left: 33upx;
-}
-.wxParse .ol {
-  list-style-type: disc;
-}
-.wxParse .ol {
-  list-style-type: decimal;
-}
-.wxParse .ol>weixin-parse-template,.wxParse .ul>weixin-parse-template {
-  display: list-item;
-  align-items: baseline;
-  text-align: match-parent;
-}
-
-.wxParse .ol>.li,.wxParse .ul>.li {
-  display: list-item;
-  align-items: baseline;
-  text-align: match-parent;
-}
-.wxParse .ul .ul, .wxParse .ol .ul {
-  list-style-type: circle;
-}
-.wxParse .ol .ol .ul, .wxParse .ol .ul .ul, .wxParse .ul .ol .ul, .wxParse .ul .ul .ul {
-    list-style-type: square;
-}
-
-.wxParse .u {
-  text-decoration: underline;
-}
-.wxParse .hide {
-  display: none;
-}
-.wxParse .del {
-  display: inline;
-}
-.wxParse .figure {
-  overflow: hidden;
-}
-
-.wxParse .table {
-  width: 100%;
-}
-.wxParse .thead, .wxParse .tfoot, .wxParse .tr {
-  display: flex;
-  flex-direction: row;
-}
-.wxParse .tr {
-  width:100%;
-  display: flex;
-  border-right: 2upx solid #e0e0e0;
-  border-bottom: 2upx solid #e0e0e0;
-}
-.wxParse .th,
-.wxParse .td {
-  display: flex;
-  width: 1276upx;
-  overflow: auto;
-  flex: 1;
-  padding: 11upx;
-  border-left: 2upx solid #e0e0e0;
-}
-.wxParse .td:last {
-  border-top: 2upx solid #e0e0e0;
-}
-.wxParse .th {
-  background: #f0f0f0;
-  border-top: 2upx solid #e0e0e0;
-}

+ 0 - 118
components/u-parse/u-parse.vue

@@ -1,118 +0,0 @@
-<!--**
- * forked from:https://github.com/F-loat/mpvue-wxParse
- *
- * github地址: https://github.com/dcloudio/uParse
- *
- * for: uni-app框架下 富文本解析
- */-->
-
-<template>
-<!--基础元素-->
-<div class="wxParse" :class="className" v-if="!loading">
-  <block v-for="(node,index) of nodes" :key="index">
-    <wxParseTemplate :node="node" />
-  </block>
-</div>
-</template>
-
-<script>
-import HtmlToJson from './libs/html2json';
-import wxParseTemplate from './components/wxParseTemplate0';
-
-export default {
-  name: 'wxParse',
-  props: {
-    loading: {
-      type: Boolean,
-      default: false,
-    },
-    className: {
-      type: String,
-      default: '',
-    },
-    content: {
-      type: String,
-      default: '',
-    },
-    noData: {
-      type: String,
-      default: '<div style="color: red;">数据不能为空</div>',
-    },
-    startHandler: {
-      type: Function,
-      default() {
-        return (node) => {
-          node.attr.class = null;
-          node.attr.style = null;
-        };
-      },
-    },
-    endHandler: {
-      type: Function,
-      default: null,
-    },
-    charsHandler: {
-      type: Function,
-      default: null,
-    },
-    imageProp: {
-      type: Object,
-      default() {
-        return {
-          mode: 'aspectFit',
-          padding: 0,
-          lazyLoad: false,
-          domain: '',
-        };
-      },
-    },
-  },
-  components: {
-    wxParseTemplate,
-  },
-  data() {
-    return {
-      imageUrls: [],
-    };
-  },
-  computed: {
-    nodes() {
-      const {
-        content,
-        noData,
-        imageProp,
-        startHandler,
-        endHandler,
-        charsHandler,
-      } = this;
-      const parseData = content || noData;
-      const customHandler = {
-        start: startHandler,
-        end: endHandler,
-        chars: charsHandler,
-      };
-      const results = HtmlToJson(parseData, customHandler, imageProp, this);
-      this.imageUrls = results.imageUrls;
-      console.log(results)
-      return results.nodes;
-    },
-  },
-  methods: {
-    navigate(href, $event) {
-      this.$emit('navigate', href, $event);
-    },
-    preview(src, $event) {
-      if (!this.imageUrls.length) return;
-      wx.previewImage({
-        current: src,
-        urls: this.imageUrls,
-      });
-      this.$emit('preview', src, $event);
-    },
-    removeImageUrl(src) {
-      const { imageUrls } = this;
-      imageUrls.splice(imageUrls.indexOf(src), 1);
-    },
-  },
-};
-</script>

+ 0 - 546
components/uni-calendar/calendar.js

@@ -1,546 +0,0 @@
-/**
-* @1900-2100区间内的公历、农历互转
-* @charset UTF-8
-* @github  https://github.com/jjonline/calendar.js
-* @Author  Jea杨(JJonline@JJonline.Cn)
-* @Time    2014-7-21
-* @Time    2016-8-13 Fixed 2033hex、Attribution Annals
-* @Time    2016-9-25 Fixed lunar LeapMonth Param Bug
-* @Time    2017-7-24 Fixed use getTerm Func Param Error.use solar year,NOT lunar year
-* @Version 1.0.3
-* @公历转农历:calendar.solar2lunar(1987,11,01); //[you can ignore params of prefix 0]
-* @农历转公历:calendar.lunar2solar(1987,09,10); //[you can ignore params of prefix 0]
-*/
-/* eslint-disable */
-var calendar = {
-
-  /**
-      * 农历1900-2100的润大小信息表
-      * @Array Of Property
-      * @return Hex
-      */
-  lunarInfo: [0x04bd8, 0x04ae0, 0x0a570, 0x054d5, 0x0d260, 0x0d950, 0x16554, 0x056a0, 0x09ad0, 0x055d2, // 1900-1909
-    0x04ae0, 0x0a5b6, 0x0a4d0, 0x0d250, 0x1d255, 0x0b540, 0x0d6a0, 0x0ada2, 0x095b0, 0x14977, // 1910-1919
-    0x04970, 0x0a4b0, 0x0b4b5, 0x06a50, 0x06d40, 0x1ab54, 0x02b60, 0x09570, 0x052f2, 0x04970, // 1920-1929
-    0x06566, 0x0d4a0, 0x0ea50, 0x06e95, 0x05ad0, 0x02b60, 0x186e3, 0x092e0, 0x1c8d7, 0x0c950, // 1930-1939
-    0x0d4a0, 0x1d8a6, 0x0b550, 0x056a0, 0x1a5b4, 0x025d0, 0x092d0, 0x0d2b2, 0x0a950, 0x0b557, // 1940-1949
-    0x06ca0, 0x0b550, 0x15355, 0x04da0, 0x0a5b0, 0x14573, 0x052b0, 0x0a9a8, 0x0e950, 0x06aa0, // 1950-1959
-    0x0aea6, 0x0ab50, 0x04b60, 0x0aae4, 0x0a570, 0x05260, 0x0f263, 0x0d950, 0x05b57, 0x056a0, // 1960-1969
-    0x096d0, 0x04dd5, 0x04ad0, 0x0a4d0, 0x0d4d4, 0x0d250, 0x0d558, 0x0b540, 0x0b6a0, 0x195a6, // 1970-1979
-    0x095b0, 0x049b0, 0x0a974, 0x0a4b0, 0x0b27a, 0x06a50, 0x06d40, 0x0af46, 0x0ab60, 0x09570, // 1980-1989
-    0x04af5, 0x04970, 0x064b0, 0x074a3, 0x0ea50, 0x06b58, 0x05ac0, 0x0ab60, 0x096d5, 0x092e0, // 1990-1999
-    0x0c960, 0x0d954, 0x0d4a0, 0x0da50, 0x07552, 0x056a0, 0x0abb7, 0x025d0, 0x092d0, 0x0cab5, // 2000-2009
-    0x0a950, 0x0b4a0, 0x0baa4, 0x0ad50, 0x055d9, 0x04ba0, 0x0a5b0, 0x15176, 0x052b0, 0x0a930, // 2010-2019
-    0x07954, 0x06aa0, 0x0ad50, 0x05b52, 0x04b60, 0x0a6e6, 0x0a4e0, 0x0d260, 0x0ea65, 0x0d530, // 2020-2029
-    0x05aa0, 0x076a3, 0x096d0, 0x04afb, 0x04ad0, 0x0a4d0, 0x1d0b6, 0x0d250, 0x0d520, 0x0dd45, // 2030-2039
-    0x0b5a0, 0x056d0, 0x055b2, 0x049b0, 0x0a577, 0x0a4b0, 0x0aa50, 0x1b255, 0x06d20, 0x0ada0, // 2040-2049
-    /** Add By JJonline@JJonline.Cn**/
-    0x14b63, 0x09370, 0x049f8, 0x04970, 0x064b0, 0x168a6, 0x0ea50, 0x06b20, 0x1a6c4, 0x0aae0, // 2050-2059
-    0x0a2e0, 0x0d2e3, 0x0c960, 0x0d557, 0x0d4a0, 0x0da50, 0x05d55, 0x056a0, 0x0a6d0, 0x055d4, // 2060-2069
-    0x052d0, 0x0a9b8, 0x0a950, 0x0b4a0, 0x0b6a6, 0x0ad50, 0x055a0, 0x0aba4, 0x0a5b0, 0x052b0, // 2070-2079
-    0x0b273, 0x06930, 0x07337, 0x06aa0, 0x0ad50, 0x14b55, 0x04b60, 0x0a570, 0x054e4, 0x0d160, // 2080-2089
-    0x0e968, 0x0d520, 0x0daa0, 0x16aa6, 0x056d0, 0x04ae0, 0x0a9d4, 0x0a2d0, 0x0d150, 0x0f252, // 2090-2099
-    0x0d520], // 2100
-
-  /**
-      * 公历每个月份的天数普通表
-      * @Array Of Property
-      * @return Number
-      */
-  solarMonth: [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31],
-
-  /**
-      * 天干地支之天干速查表
-      * @Array Of Property trans["甲","乙","丙","丁","戊","己","庚","辛","壬","癸"]
-      * @return Cn string
-      */
-  Gan: ['\u7532', '\u4e59', '\u4e19', '\u4e01', '\u620a', '\u5df1', '\u5e9a', '\u8f9b', '\u58ec', '\u7678'],
-
-  /**
-      * 天干地支之地支速查表
-      * @Array Of Property
-      * @trans["子","丑","寅","卯","辰","巳","午","未","申","酉","戌","亥"]
-      * @return Cn string
-      */
-  Zhi: ['\u5b50', '\u4e11', '\u5bc5', '\u536f', '\u8fb0', '\u5df3', '\u5348', '\u672a', '\u7533', '\u9149', '\u620c', '\u4ea5'],
-
-  /**
-      * 天干地支之地支速查表<=>生肖
-      * @Array Of Property
-      * @trans["鼠","牛","虎","兔","龙","蛇","马","羊","猴","鸡","狗","猪"]
-      * @return Cn string
-      */
-  Animals: ['\u9f20', '\u725b', '\u864e', '\u5154', '\u9f99', '\u86c7', '\u9a6c', '\u7f8a', '\u7334', '\u9e21', '\u72d7', '\u732a'],
-
-  /**
-      * 24节气速查表
-      * @Array Of Property
-      * @trans["小寒","大寒","立春","雨水","惊蛰","春分","清明","谷雨","立夏","小满","芒种","夏至","小暑","大暑","立秋","处暑","白露","秋分","寒露","霜降","立冬","小雪","大雪","冬至"]
-      * @return Cn string
-      */
-  solarTerm: ['\u5c0f\u5bd2', '\u5927\u5bd2', '\u7acb\u6625', '\u96e8\u6c34', '\u60ca\u86f0', '\u6625\u5206', '\u6e05\u660e', '\u8c37\u96e8', '\u7acb\u590f', '\u5c0f\u6ee1', '\u8292\u79cd', '\u590f\u81f3', '\u5c0f\u6691', '\u5927\u6691', '\u7acb\u79cb', '\u5904\u6691', '\u767d\u9732', '\u79cb\u5206', '\u5bd2\u9732', '\u971c\u964d', '\u7acb\u51ac', '\u5c0f\u96ea', '\u5927\u96ea', '\u51ac\u81f3'],
-
-  /**
-      * 1900-2100各年的24节气日期速查表
-      * @Array Of Property
-      * @return 0x string For splice
-      */
-  sTermInfo: ['9778397bd097c36b0b6fc9274c91aa', '97b6b97bd19801ec9210c965cc920e', '97bcf97c3598082c95f8c965cc920f',
-    '97bd0b06bdb0722c965ce1cfcc920f', 'b027097bd097c36b0b6fc9274c91aa', '97b6b97bd19801ec9210c965cc920e',
-    '97bcf97c359801ec95f8c965cc920f', '97bd0b06bdb0722c965ce1cfcc920f', 'b027097bd097c36b0b6fc9274c91aa',
-    '97b6b97bd19801ec9210c965cc920e', '97bcf97c359801ec95f8c965cc920f', '97bd0b06bdb0722c965ce1cfcc920f',
-    'b027097bd097c36b0b6fc9274c91aa', '9778397bd19801ec9210c965cc920e', '97b6b97bd19801ec95f8c965cc920f',
-    '97bd09801d98082c95f8e1cfcc920f', '97bd097bd097c36b0b6fc9210c8dc2', '9778397bd197c36c9210c9274c91aa',
-    '97b6b97bd19801ec95f8c965cc920e', '97bd09801d98082c95f8e1cfcc920f', '97bd097bd097c36b0b6fc9210c8dc2',
-    '9778397bd097c36c9210c9274c91aa', '97b6b97bd19801ec95f8c965cc920e', '97bcf97c3598082c95f8e1cfcc920f',
-    '97bd097bd097c36b0b6fc9210c8dc2', '9778397bd097c36c9210c9274c91aa', '97b6b97bd19801ec9210c965cc920e',
-    '97bcf97c3598082c95f8c965cc920f', '97bd097bd097c35b0b6fc920fb0722', '9778397bd097c36b0b6fc9274c91aa',
-    '97b6b97bd19801ec9210c965cc920e', '97bcf97c3598082c95f8c965cc920f', '97bd097bd097c35b0b6fc920fb0722',
-    '9778397bd097c36b0b6fc9274c91aa', '97b6b97bd19801ec9210c965cc920e', '97bcf97c359801ec95f8c965cc920f',
-    '97bd097bd097c35b0b6fc920fb0722', '9778397bd097c36b0b6fc9274c91aa', '97b6b97bd19801ec9210c965cc920e',
-    '97bcf97c359801ec95f8c965cc920f', '97bd097bd097c35b0b6fc920fb0722', '9778397bd097c36b0b6fc9274c91aa',
-    '97b6b97bd19801ec9210c965cc920e', '97bcf97c359801ec95f8c965cc920f', '97bd097bd07f595b0b6fc920fb0722',
-    '9778397bd097c36b0b6fc9210c8dc2', '9778397bd19801ec9210c9274c920e', '97b6b97bd19801ec95f8c965cc920f',
-    '97bd07f5307f595b0b0bc920fb0722', '7f0e397bd097c36b0b6fc9210c8dc2', '9778397bd097c36c9210c9274c920e',
-    '97b6b97bd19801ec95f8c965cc920f', '97bd07f5307f595b0b0bc920fb0722', '7f0e397bd097c36b0b6fc9210c8dc2',
-    '9778397bd097c36c9210c9274c91aa', '97b6b97bd19801ec9210c965cc920e', '97bd07f1487f595b0b0bc920fb0722',
-    '7f0e397bd097c36b0b6fc9210c8dc2', '9778397bd097c36b0b6fc9274c91aa', '97b6b97bd19801ec9210c965cc920e',
-    '97bcf7f1487f595b0b0bb0b6fb0722', '7f0e397bd097c35b0b6fc920fb0722', '9778397bd097c36b0b6fc9274c91aa',
-    '97b6b97bd19801ec9210c965cc920e', '97bcf7f1487f595b0b0bb0b6fb0722', '7f0e397bd097c35b0b6fc920fb0722',
-    '9778397bd097c36b0b6fc9274c91aa', '97b6b97bd19801ec9210c965cc920e', '97bcf7f1487f531b0b0bb0b6fb0722',
-    '7f0e397bd097c35b0b6fc920fb0722', '9778397bd097c36b0b6fc9274c91aa', '97b6b97bd19801ec9210c965cc920e',
-    '97bcf7f1487f531b0b0bb0b6fb0722', '7f0e397bd07f595b0b6fc920fb0722', '9778397bd097c36b0b6fc9274c91aa',
-    '97b6b97bd19801ec9210c9274c920e', '97bcf7f0e47f531b0b0bb0b6fb0722', '7f0e397bd07f595b0b0bc920fb0722',
-    '9778397bd097c36b0b6fc9210c91aa', '97b6b97bd197c36c9210c9274c920e', '97bcf7f0e47f531b0b0bb0b6fb0722',
-    '7f0e397bd07f595b0b0bc920fb0722', '9778397bd097c36b0b6fc9210c8dc2', '9778397bd097c36c9210c9274c920e',
-    '97b6b7f0e47f531b0723b0b6fb0722', '7f0e37f5307f595b0b0bc920fb0722', '7f0e397bd097c36b0b6fc9210c8dc2',
-    '9778397bd097c36b0b70c9274c91aa', '97b6b7f0e47f531b0723b0b6fb0721', '7f0e37f1487f595b0b0bb0b6fb0722',
-    '7f0e397bd097c35b0b6fc9210c8dc2', '9778397bd097c36b0b6fc9274c91aa', '97b6b7f0e47f531b0723b0b6fb0721',
-    '7f0e27f1487f595b0b0bb0b6fb0722', '7f0e397bd097c35b0b6fc920fb0722', '9778397bd097c36b0b6fc9274c91aa',
-    '97b6b7f0e47f531b0723b0b6fb0721', '7f0e27f1487f531b0b0bb0b6fb0722', '7f0e397bd097c35b0b6fc920fb0722',
-    '9778397bd097c36b0b6fc9274c91aa', '97b6b7f0e47f531b0723b0b6fb0721', '7f0e27f1487f531b0b0bb0b6fb0722',
-    '7f0e397bd097c35b0b6fc920fb0722', '9778397bd097c36b0b6fc9274c91aa', '97b6b7f0e47f531b0723b0b6fb0721',
-    '7f0e27f1487f531b0b0bb0b6fb0722', '7f0e397bd07f595b0b0bc920fb0722', '9778397bd097c36b0b6fc9274c91aa',
-    '97b6b7f0e47f531b0723b0787b0721', '7f0e27f0e47f531b0b0bb0b6fb0722', '7f0e397bd07f595b0b0bc920fb0722',
-    '9778397bd097c36b0b6fc9210c91aa', '97b6b7f0e47f149b0723b0787b0721', '7f0e27f0e47f531b0723b0b6fb0722',
-    '7f0e397bd07f595b0b0bc920fb0722', '9778397bd097c36b0b6fc9210c8dc2', '977837f0e37f149b0723b0787b0721',
-    '7f07e7f0e47f531b0723b0b6fb0722', '7f0e37f5307f595b0b0bc920fb0722', '7f0e397bd097c35b0b6fc9210c8dc2',
-    '977837f0e37f14998082b0787b0721', '7f07e7f0e47f531b0723b0b6fb0721', '7f0e37f1487f595b0b0bb0b6fb0722',
-    '7f0e397bd097c35b0b6fc9210c8dc2', '977837f0e37f14998082b0787b06bd', '7f07e7f0e47f531b0723b0b6fb0721',
-    '7f0e27f1487f531b0b0bb0b6fb0722', '7f0e397bd097c35b0b6fc920fb0722', '977837f0e37f14998082b0787b06bd',
-    '7f07e7f0e47f531b0723b0b6fb0721', '7f0e27f1487f531b0b0bb0b6fb0722', '7f0e397bd097c35b0b6fc920fb0722',
-    '977837f0e37f14998082b0787b06bd', '7f07e7f0e47f531b0723b0b6fb0721', '7f0e27f1487f531b0b0bb0b6fb0722',
-    '7f0e397bd07f595b0b0bc920fb0722', '977837f0e37f14998082b0787b06bd', '7f07e7f0e47f531b0723b0b6fb0721',
-    '7f0e27f1487f531b0b0bb0b6fb0722', '7f0e397bd07f595b0b0bc920fb0722', '977837f0e37f14998082b0787b06bd',
-    '7f07e7f0e47f149b0723b0787b0721', '7f0e27f0e47f531b0b0bb0b6fb0722', '7f0e397bd07f595b0b0bc920fb0722',
-    '977837f0e37f14998082b0723b06bd', '7f07e7f0e37f149b0723b0787b0721', '7f0e27f0e47f531b0723b0b6fb0722',
-    '7f0e397bd07f595b0b0bc920fb0722', '977837f0e37f14898082b0723b02d5', '7ec967f0e37f14998082b0787b0721',
-    '7f07e7f0e47f531b0723b0b6fb0722', '7f0e37f1487f595b0b0bb0b6fb0722', '7f0e37f0e37f14898082b0723b02d5',
-    '7ec967f0e37f14998082b0787b0721', '7f07e7f0e47f531b0723b0b6fb0722', '7f0e37f1487f531b0b0bb0b6fb0722',
-    '7f0e37f0e37f14898082b0723b02d5', '7ec967f0e37f14998082b0787b06bd', '7f07e7f0e47f531b0723b0b6fb0721',
-    '7f0e37f1487f531b0b0bb0b6fb0722', '7f0e37f0e37f14898082b072297c35', '7ec967f0e37f14998082b0787b06bd',
-    '7f07e7f0e47f531b0723b0b6fb0721', '7f0e27f1487f531b0b0bb0b6fb0722', '7f0e37f0e37f14898082b072297c35',
-    '7ec967f0e37f14998082b0787b06bd', '7f07e7f0e47f531b0723b0b6fb0721', '7f0e27f1487f531b0b0bb0b6fb0722',
-    '7f0e37f0e366aa89801eb072297c35', '7ec967f0e37f14998082b0787b06bd', '7f07e7f0e47f149b0723b0787b0721',
-    '7f0e27f1487f531b0b0bb0b6fb0722', '7f0e37f0e366aa89801eb072297c35', '7ec967f0e37f14998082b0723b06bd',
-    '7f07e7f0e47f149b0723b0787b0721', '7f0e27f0e47f531b0723b0b6fb0722', '7f0e37f0e366aa89801eb072297c35',
-    '7ec967f0e37f14998082b0723b06bd', '7f07e7f0e37f14998083b0787b0721', '7f0e27f0e47f531b0723b0b6fb0722',
-    '7f0e37f0e366aa89801eb072297c35', '7ec967f0e37f14898082b0723b02d5', '7f07e7f0e37f14998082b0787b0721',
-    '7f07e7f0e47f531b0723b0b6fb0722', '7f0e36665b66aa89801e9808297c35', '665f67f0e37f14898082b0723b02d5',
-    '7ec967f0e37f14998082b0787b0721', '7f07e7f0e47f531b0723b0b6fb0722', '7f0e36665b66a449801e9808297c35',
-    '665f67f0e37f14898082b0723b02d5', '7ec967f0e37f14998082b0787b06bd', '7f07e7f0e47f531b0723b0b6fb0721',
-    '7f0e36665b66a449801e9808297c35', '665f67f0e37f14898082b072297c35', '7ec967f0e37f14998082b0787b06bd',
-    '7f07e7f0e47f531b0723b0b6fb0721', '7f0e26665b66a449801e9808297c35', '665f67f0e37f1489801eb072297c35',
-    '7ec967f0e37f14998082b0787b06bd', '7f07e7f0e47f531b0723b0b6fb0721', '7f0e27f1487f531b0b0bb0b6fb0722'],
-
-  /**
-      * 数字转中文速查表
-      * @Array Of Property
-      * @trans ['日','一','二','三','四','五','六','七','八','九','十']
-      * @return Cn string
-      */
-  nStr1: ['\u65e5', '\u4e00', '\u4e8c', '\u4e09', '\u56db', '\u4e94', '\u516d', '\u4e03', '\u516b', '\u4e5d', '\u5341'],
-
-  /**
-      * 日期转农历称呼速查表
-      * @Array Of Property
-      * @trans ['初','十','廿','卅']
-      * @return Cn string
-      */
-  nStr2: ['\u521d', '\u5341', '\u5eff', '\u5345'],
-
-  /**
-      * 月份转农历称呼速查表
-      * @Array Of Property
-      * @trans ['正','一','二','三','四','五','六','七','八','九','十','冬','腊']
-      * @return Cn string
-      */
-  nStr3: ['\u6b63', '\u4e8c', '\u4e09', '\u56db', '\u4e94', '\u516d', '\u4e03', '\u516b', '\u4e5d', '\u5341', '\u51ac', '\u814a'],
-
-  /**
-      * 返回农历y年一整年的总天数
-      * @param lunar Year
-      * @return Number
-      * @eg:var count = calendar.lYearDays(1987) ;//count=387
-      */
-  lYearDays: function (y) {
-    var i; var sum = 348
-    for (i = 0x8000; i > 0x8; i >>= 1) { sum += (this.lunarInfo[y - 1900] & i) ? 1 : 0 }
-    return (sum + this.leapDays(y))
-  },
-
-  /**
-      * 返回农历y年闰月是哪个月;若y年没有闰月 则返回0
-      * @param lunar Year
-      * @return Number (0-12)
-      * @eg:var leapMonth = calendar.leapMonth(1987) ;//leapMonth=6
-      */
-  leapMonth: function (y) { // 闰字编码 \u95f0
-    return (this.lunarInfo[y - 1900] & 0xf)
-  },
-
-  /**
-      * 返回农历y年闰月的天数 若该年没有闰月则返回0
-      * @param lunar Year
-      * @return Number (0、29、30)
-      * @eg:var leapMonthDay = calendar.leapDays(1987) ;//leapMonthDay=29
-      */
-  leapDays: function (y) {
-    if (this.leapMonth(y)) {
-      return ((this.lunarInfo[y - 1900] & 0x10000) ? 30 : 29)
-    }
-    return (0)
-  },
-
-  /**
-      * 返回农历y年m月(非闰月)的总天数,计算m为闰月时的天数请使用leapDays方法
-      * @param lunar Year
-      * @return Number (-1、29、30)
-      * @eg:var MonthDay = calendar.monthDays(1987,9) ;//MonthDay=29
-      */
-  monthDays: function (y, m) {
-    if (m > 12 || m < 1) { return -1 }// 月份参数从1至12,参数错误返回-1
-    return ((this.lunarInfo[y - 1900] & (0x10000 >> m)) ? 30 : 29)
-  },
-
-  /**
-      * 返回公历(!)y年m月的天数
-      * @param solar Year
-      * @return Number (-1、28、29、30、31)
-      * @eg:var solarMonthDay = calendar.leapDays(1987) ;//solarMonthDay=30
-      */
-  solarDays: function (y, m) {
-    if (m > 12 || m < 1) { return -1 } // 若参数错误 返回-1
-    var ms = m - 1
-    if (ms == 1) { // 2月份的闰平规律测算后确认返回28或29
-      return (((y % 4 == 0) && (y % 100 != 0) || (y % 400 == 0)) ? 29 : 28)
-    } else {
-      return (this.solarMonth[ms])
-    }
-  },
-
-  /**
-     * 农历年份转换为干支纪年
-     * @param  lYear 农历年的年份数
-     * @return Cn string
-     */
-  toGanZhiYear: function (lYear) {
-    var ganKey = (lYear - 3) % 10
-    var zhiKey = (lYear - 3) % 12
-    if (ganKey == 0) ganKey = 10// 如果余数为0则为最后一个天干
-    if (zhiKey == 0) zhiKey = 12// 如果余数为0则为最后一个地支
-    return this.Gan[ganKey - 1] + this.Zhi[zhiKey - 1]
-  },
-
-  /**
-     * 公历月、日判断所属星座
-     * @param  cMonth [description]
-     * @param  cDay [description]
-     * @return Cn string
-     */
-  toAstro: function (cMonth, cDay) {
-    var s = '\u9b54\u7faf\u6c34\u74f6\u53cc\u9c7c\u767d\u7f8a\u91d1\u725b\u53cc\u5b50\u5de8\u87f9\u72ee\u5b50\u5904\u5973\u5929\u79e4\u5929\u874e\u5c04\u624b\u9b54\u7faf'
-    var arr = [20, 19, 21, 21, 21, 22, 23, 23, 23, 23, 22, 22]
-    return s.substr(cMonth * 2 - (cDay < arr[cMonth - 1] ? 2 : 0), 2) + '\u5ea7'// 座
-  },
-
-  /**
-      * 传入offset偏移量返回干支
-      * @param offset 相对甲子的偏移量
-      * @return Cn string
-      */
-  toGanZhi: function (offset) {
-    return this.Gan[offset % 10] + this.Zhi[offset % 12]
-  },
-
-  /**
-      * 传入公历(!)y年获得该年第n个节气的公历日期
-      * @param y公历年(1900-2100);n二十四节气中的第几个节气(1~24);从n=1(小寒)算起
-      * @return day Number
-      * @eg:var _24 = calendar.getTerm(1987,3) ;//_24=4;意即1987年2月4日立春
-      */
-  getTerm: function (y, n) {
-    if (y < 1900 || y > 2100) { return -1 }
-    if (n < 1 || n > 24) { return -1 }
-    var _table = this.sTermInfo[y - 1900]
-    var _info = [
-      parseInt('0x' + _table.substr(0, 5)).toString(),
-      parseInt('0x' + _table.substr(5, 5)).toString(),
-      parseInt('0x' + _table.substr(10, 5)).toString(),
-      parseInt('0x' + _table.substr(15, 5)).toString(),
-      parseInt('0x' + _table.substr(20, 5)).toString(),
-      parseInt('0x' + _table.substr(25, 5)).toString()
-    ]
-    var _calday = [
-      _info[0].substr(0, 1),
-      _info[0].substr(1, 2),
-      _info[0].substr(3, 1),
-      _info[0].substr(4, 2),
-
-      _info[1].substr(0, 1),
-      _info[1].substr(1, 2),
-      _info[1].substr(3, 1),
-      _info[1].substr(4, 2),
-
-      _info[2].substr(0, 1),
-      _info[2].substr(1, 2),
-      _info[2].substr(3, 1),
-      _info[2].substr(4, 2),
-
-      _info[3].substr(0, 1),
-      _info[3].substr(1, 2),
-      _info[3].substr(3, 1),
-      _info[3].substr(4, 2),
-
-      _info[4].substr(0, 1),
-      _info[4].substr(1, 2),
-      _info[4].substr(3, 1),
-      _info[4].substr(4, 2),
-
-      _info[5].substr(0, 1),
-      _info[5].substr(1, 2),
-      _info[5].substr(3, 1),
-      _info[5].substr(4, 2)
-    ]
-    return parseInt(_calday[n - 1])
-  },
-
-  /**
-      * 传入农历数字月份返回汉语通俗表示法
-      * @param lunar month
-      * @return Cn string
-      * @eg:var cnMonth = calendar.toChinaMonth(12) ;//cnMonth='腊月'
-      */
-  toChinaMonth: function (m) { // 月 => \u6708
-    if (m > 12 || m < 1) { return -1 } // 若参数错误 返回-1
-    var s = this.nStr3[m - 1]
-    s += '\u6708'// 加上月字
-    return s
-  },
-
-  /**
-      * 传入农历日期数字返回汉字表示法
-      * @param lunar day
-      * @return Cn string
-      * @eg:var cnDay = calendar.toChinaDay(21) ;//cnMonth='廿一'
-      */
-  toChinaDay: function (d) { // 日 => \u65e5
-    var s
-    switch (d) {
-      case 10:
-        s = '\u521d\u5341'; break
-      case 20:
-        s = '\u4e8c\u5341'; break
-        break
-      case 30:
-        s = '\u4e09\u5341'; break
-        break
-      default :
-        s = this.nStr2[Math.floor(d / 10)]
-        s += this.nStr1[d % 10]
-    }
-    return (s)
-  },
-
-  /**
-      * 年份转生肖[!仅能大致转换] => 精确划分生肖分界线是“立春”
-      * @param y year
-      * @return Cn string
-      * @eg:var animal = calendar.getAnimal(1987) ;//animal='兔'
-      */
-  getAnimal: function (y) {
-    return this.Animals[(y - 4) % 12]
-  },
-
-  /**
-      * 传入阳历年月日获得详细的公历、农历object信息 <=>JSON
-      * @param y  solar year
-      * @param m  solar month
-      * @param d  solar day
-      * @return JSON object
-      * @eg:console.log(calendar.solar2lunar(1987,11,01));
-      */
-  solar2lunar: function (y, m, d) { // 参数区间1900.1.31~2100.12.31
-    // 年份限定、上限
-    if (y < 1900 || y > 2100) {
-      return -1// undefined转换为数字变为NaN
-    }
-    // 公历传参最下限
-    if (y == 1900 && m == 1 && d < 31) {
-      return -1
-    }
-    // 未传参  获得当天
-    if (!y) {
-      var objDate = new Date()
-    } else {
-      var objDate = new Date(y, parseInt(m) - 1, d)
-    }
-    var i; var leap = 0; var temp = 0
-    // 修正ymd参数
-    var y = objDate.getFullYear()
-    var m = objDate.getMonth() + 1
-    var d = objDate.getDate()
-    var offset = (Date.UTC(objDate.getFullYear(), objDate.getMonth(), objDate.getDate()) - Date.UTC(1900, 0, 31)) / 86400000
-    for (i = 1900; i < 2101 && offset > 0; i++) {
-      temp = this.lYearDays(i)
-      offset -= temp
-    }
-    if (offset < 0) {
-      offset += temp; i--
-    }
-
-    // 是否今天
-    var isTodayObj = new Date()
-    var isToday = false
-    if (isTodayObj.getFullYear() == y && isTodayObj.getMonth() + 1 == m && isTodayObj.getDate() == d) {
-      isToday = true
-    }
-    // 星期几
-    var nWeek = objDate.getDay()
-    var cWeek = this.nStr1[nWeek]
-    // 数字表示周几顺应天朝周一开始的惯例
-    if (nWeek == 0) {
-      nWeek = 7
-    }
-    // 农历年
-    var year = i
-    var leap = this.leapMonth(i) // 闰哪个月
-    var isLeap = false
-
-    // 效验闰月
-    for (i = 1; i < 13 && offset > 0; i++) {
-      // 闰月
-      if (leap > 0 && i == (leap + 1) && isLeap == false) {
-        --i
-        isLeap = true; temp = this.leapDays(year) // 计算农历闰月天数
-      } else {
-        temp = this.monthDays(year, i)// 计算农历普通月天数
-      }
-      // 解除闰月
-      if (isLeap == true && i == (leap + 1)) { isLeap = false }
-      offset -= temp
-    }
-    // 闰月导致数组下标重叠取反
-    if (offset == 0 && leap > 0 && i == leap + 1) {
-      if (isLeap) {
-        isLeap = false
-      } else {
-        isLeap = true; --i
-      }
-    }
-    if (offset < 0) {
-      offset += temp; --i
-    }
-    // 农历月
-    var month = i
-    // 农历日
-    var day = offset + 1
-    // 天干地支处理
-    var sm = m - 1
-    var gzY = this.toGanZhiYear(year)
-
-    // 当月的两个节气
-    // bugfix-2017-7-24 11:03:38 use lunar Year Param `y` Not `year`
-    var firstNode = this.getTerm(y, (m * 2 - 1))// 返回当月「节」为几日开始
-    var secondNode = this.getTerm(y, (m * 2))// 返回当月「节」为几日开始
-
-    // 依据12节气修正干支月
-    var gzM = this.toGanZhi((y - 1900) * 12 + m + 11)
-    if (d >= firstNode) {
-      gzM = this.toGanZhi((y - 1900) * 12 + m + 12)
-    }
-
-    // 传入的日期的节气与否
-    var isTerm = false
-    var Term = null
-    if (firstNode == d) {
-      isTerm = true
-      Term = this.solarTerm[m * 2 - 2]
-    }
-    if (secondNode == d) {
-      isTerm = true
-      Term = this.solarTerm[m * 2 - 1]
-    }
-    // 日柱 当月一日与 1900/1/1 相差天数
-    var dayCyclical = Date.UTC(y, sm, 1, 0, 0, 0, 0) / 86400000 + 25567 + 10
-    var gzD = this.toGanZhi(dayCyclical + d - 1)
-    // 该日期所属的星座
-    var astro = this.toAstro(m, d)
-
-    return { 'lYear': year, 'lMonth': month, 'lDay': day, 'Animal': this.getAnimal(year), 'IMonthCn': (isLeap ? '\u95f0' : '') + this.toChinaMonth(month), 'IDayCn': this.toChinaDay(day), 'cYear': y, 'cMonth': m, 'cDay': d, 'gzYear': gzY, 'gzMonth': gzM, 'gzDay': gzD, 'isToday': isToday, 'isLeap': isLeap, 'nWeek': nWeek, 'ncWeek': '\u661f\u671f' + cWeek, 'isTerm': isTerm, 'Term': Term, 'astro': astro }
-  },
-
-  /**
-      * 传入农历年月日以及传入的月份是否闰月获得详细的公历、农历object信息 <=>JSON
-      * @param y  lunar year
-      * @param m  lunar month
-      * @param d  lunar day
-      * @param isLeapMonth  lunar month is leap or not.[如果是农历闰月第四个参数赋值true即可]
-      * @return JSON object
-      * @eg:console.log(calendar.lunar2solar(1987,9,10));
-      */
-  lunar2solar: function (y, m, d, isLeapMonth) { // 参数区间1900.1.31~2100.12.1
-    var isLeapMonth = !!isLeapMonth
-    var leapOffset = 0
-    var leapMonth = this.leapMonth(y)
-    var leapDay = this.leapDays(y)
-    if (isLeapMonth && (leapMonth != m)) { return -1 }// 传参要求计算该闰月公历 但该年得出的闰月与传参的月份并不同
-    if (y == 2100 && m == 12 && d > 1 || y == 1900 && m == 1 && d < 31) { return -1 }// 超出了最大极限值
-    var day = this.monthDays(y, m)
-    var _day = day
-    // bugFix 2016-9-25
-    // if month is leap, _day use leapDays method
-    if (isLeapMonth) {
-      _day = this.leapDays(y, m)
-    }
-    if (y < 1900 || y > 2100 || d > _day) { return -1 }// 参数合法性效验
-
-    // 计算农历的时间差
-    var offset = 0
-    for (var i = 1900; i < y; i++) {
-      offset += this.lYearDays(i)
-    }
-    var leap = 0; var isAdd = false
-    for (var i = 1; i < m; i++) {
-      leap = this.leapMonth(y)
-      if (!isAdd) { // 处理闰月
-        if (leap <= i && leap > 0) {
-          offset += this.leapDays(y); isAdd = true
-        }
-      }
-      offset += this.monthDays(y, i)
-    }
-    // 转换闰月农历 需补充该年闰月的前一个月的时差
-    if (isLeapMonth) { offset += day }
-    // 1900年农历正月一日的公历时间为1900年1月30日0时0分0秒(该时间也是本农历的最开始起始点)
-    var stmap = Date.UTC(1900, 1, 30, 0, 0, 0)
-    var calObj = new Date((offset + d - 31) * 86400000 + stmap)
-    var cY = calObj.getUTCFullYear()
-    var cM = calObj.getUTCMonth() + 1
-    var cD = calObj.getUTCDate()
-
-    return this.solar2lunar(cY, cM, cD)
-  }
-}
-
-export default calendar

+ 0 - 152
components/uni-calendar/uni-calendar-item.vue

@@ -1,152 +0,0 @@
-<template>
-	<view class="uni-calendar-item__weeks-box" :class="{
-		'uni-calendar-item--disable':weeks.disable,
-		'uni-calendar-item--isDay':calendar.fullDate === weeks.fullDate && weeks.isDay,
-		'uni-calendar-item--checked':(calendar.fullDate === weeks.fullDate && !weeks.isDay) ,
-		'uni-calendar-item--multiple': weeks.multiple
-		}"
-	 @click="choiceDate(weeks)">
-		<view class="uni-calendar-item__weeks-box-item">
-			<text v-if="selected&&weeks.extraInfo" class="uni-calendar-item__weeks-box-circle"></text>
-			<text class="uni-calendar-item__weeks-box-text" :class="{
-				'uni-calendar-item--isDay-text': weeks.isDay,
-				'uni-calendar-item--isDay':calendar.fullDate === weeks.fullDate && weeks.isDay,
-				'uni-calendar-item--checked':calendar.fullDate === weeks.fullDate && !weeks.isDay,
-				'uni-calendar-item--multiple': weeks.multiple,
-				'uni-calendar-item--disable':weeks.disable,
-				}">{{weeks.date}}</text>
-			<text v-if="!lunar&&!weeks.extraInfo && weeks.isDay" class="uni-calendar-item__weeks-lunar-text" :class="{
-				'uni-calendar-item--isDay-text':weeks.isDay,
-				'uni-calendar-item--isDay':calendar.fullDate === weeks.fullDate && weeks.isDay,
-				'uni-calendar-item--checked':calendar.fullDate === weeks.fullDate && !weeks.isDay,
-				'uni-calendar-item--multiple': weeks.multiple,
-				}">今天</text>
-			<text v-if="lunar&&!weeks.extraInfo" class="uni-calendar-item__weeks-lunar-text" :class="{
-				'uni-calendar-item--isDay-text':weeks.isDay,
-				'uni-calendar-item--isDay':calendar.fullDate === weeks.fullDate && weeks.isDay,
-				'uni-calendar-item--checked':calendar.fullDate === weeks.fullDate && !weeks.isDay,
-				'uni-calendar-item--multiple': weeks.multiple,
-				'uni-calendar-item--disable':weeks.disable,
-				}">{{weeks.isDay?'今天': weeks.lunar.IDayCn}}</text>
-			<text v-if="weeks.extraInfo&&weeks.extraInfo.info" class="uni-calendar-item__weeks-lunar-text" :class="{
-				'uni-calendar-item--extra':weeks.extraInfo.info,
-				'uni-calendar-item--isDay-text':weeks.isDay,
-				'uni-calendar-item--isDay':calendar.fullDate === weeks.fullDate && weeks.isDay,
-				'uni-calendar-item--checked':calendar.fullDate === weeks.fullDate && !weeks.isDay,
-				'uni-calendar-item--multiple': weeks.multiple,
-				'uni-calendar-item--disable':weeks.disable,
-				}">{{weeks.extraInfo.info}}</text>
-		</view>
-	</view>
-</template>
-
-<script>
-	export default {
-		props: {
-			weeks: {
-				type: Object,
-				default () {
-					return {}
-				}
-			},
-			calendar: {
-				type: Object,
-				default: () => {
-					return {}
-				}
-			},
-			selected: {
-				type: Array,
-				default: () => {
-					return []
-				}
-			},
-			lunar: {
-				type: Boolean,
-				default: false
-			}
-		},
-		methods: {
-			choiceDate(weeks) {
-				this.$emit('change', weeks)
-			}
-		}
-	}
-</script>
-
-<style lang="scss" scoped>
-	.uni-calendar-item__weeks-box {
-		flex: 1;
-		/* #ifndef APP-NVUE */
-		display: flex;
-		/* #endif */
-		flex-direction: column;
-		justify-content: center;
-		align-items: center;
-	}
-
-	.uni-calendar-item__weeks-box-text {
-		font-size: $uni-font-size-base;
-		color: $uni-text-color;
-	}
-
-	.uni-calendar-item__weeks-lunar-text {
-		font-size: $uni-font-size-sm;
-		color: $uni-text-color;
-	}
-
-	.uni-calendar-item__weeks-box-item {
-		position: relative;
-		/* #ifndef APP-NVUE */
-		display: flex;
-		/* #endif */
-		flex-direction: column;
-		justify-content: center;
-		align-items: center;
-		width: 100rpx;
-		height: 100rpx;
-	}
-
-	.uni-calendar-item__weeks-box-circle {
-		position: absolute;
-		top: 5px;
-		right: 5px;
-		width: 8px;
-		height: 8px;
-		border-radius: 8px;
-		background-color: $uni-color-error;
-
-	}
-
-	.uni-calendar-item--disable {
-		background-color: rgba(249, 249, 249, $uni-opacity-disabled);
-		color: $uni-text-color-disable;
-	}
-
-	.uni-calendar-item--isDay-text {
-		color: $uni-color-primary;
-	}
-
-	.uni-calendar-item--isDay {
-		background-color: $uni-color-primary;
-		opacity: 0.8;
-		color: #fff;
-	}
-
-	.uni-calendar-item--extra {
-		color: $uni-color-error;
-		opacity: 0.8;
-	}
-
-	.uni-calendar-item--checked {
-		background-color: $uni-color-primary;
-		color: #fff;
-		opacity: 0.8;
-	}
-
-	.uni-calendar-item--multiple {
-		background-color: $uni-color-primary;
-		color: #fff;
-		opacity: 0.8;
-	}
-</style>

+ 0 - 402
components/uni-calendar/uni-calendar.vue

@@ -1,402 +0,0 @@
-<template>
-	<view class="uni-calendar" @touchmove.stop.prevent="clean">
-		<view v-if="!insert&&show" class="uni-calendar__mask" :class="{'uni-calendar--mask-show':aniMaskShow}" @click="clean"></view>
-		<view v-if="insert || show" class="uni-calendar__content" :class="{'uni-calendar--fixed':!insert,'uni-calendar--ani-show':aniMaskShow}">
-			<view v-if="!insert" class="uni-calendar__header uni-calendar--fixed-top">
-				<view class="uni-calendar__header-btn-box" @click="close">
-					<text class="uni-calendar__header-text uni-calendar--fixed-width">取消</text>
-				</view>
-				<view class="uni-calendar__header-btn-box" @click="confirm">
-					<text class="uni-calendar__header-text uni-calendar--fixed-width">确定</text>
-				</view>
-			</view>
-			<view class="uni-calendar__header">
-				<view class="uni-calendar__header-btn-box le" @click="pre">
-					<view class="iconfont icon-xiangzuohuabeifen"></view>
-				</view>
-				<text class="uni-calendar__header-text">{{ (nowDate.year||'') +'年'+( nowDate.month||'') +'月'}}</text>
-				<view class="uni-calendar__header-btn-box ri" @click="next">
-					<view class="iconfont icon-xiangyouhuabeifen"></view>
-				</view>
-				<!-- <text class="uni-calendar__backtoday" @click="backtoday">回到今天</text> -->
-			</view>
-		<!-- <view class="uni-calendar__box">
-				<view class="uni-calendar__box-bg">
-					<text class="uni-calendar__box-bg-text">{{nowDate.month}}</text>
-				</view>
-				<view class="uni-calendar__weeks" v-for="(item,weekIndex) in weeks" :key="weekIndex">
-					<view class="uni-calendar__weeks-item" v-for="(weeks,weeksIndex) in item" :key="weeksIndex">
-						<uni-calendar-item :weeks="weeks" :calendar="calendar" :selected="selected" :lunar="lunar" @change="choiceDate"></uni-calendar-item>
-					</view>
-				</view>
-			</view> -->
-		</view>
-	</view>
-</template>
-
-<script>
-	import Calendar from './util.js';
-	import uniCalendarItem from './uni-calendar-item.vue'
-	export default {
-		components: {
-			uniCalendarItem
-		},
-		props: {
-			/**
-			 * 当前日期
-			 */
-			date: {
-				type: String,
-				default: ''
-			},
-			/**
-			 * 打点日期
-			 */
-			selected: {
-				type: Array,
-				default () {
-					return []
-				}
-			},
-			/**
-			 * 是否开启阴历日期
-			 */
-			lunar: {
-				type: Boolean,
-				default: false
-			},
-			/**
-			 * 开始时间
-			 */
-			startDate: {
-				type: String,
-				default: ''
-			},
-			/**
-			 * 结束时间
-			 */
-			endDate: {
-				type: String,
-				default: ''
-			},
-			/**
-			 * 范围
-			 */
-			range: {
-				type: Boolean,
-				default: false
-			},
-			/**
-			 * 插入
-			 */
-			insert: {
-				type: Boolean,
-				default: true
-			}
-		},
-		data() {
-			return {
-				show: false,
-				weeks: [],
-				calendar: {},
-				nowDate: '',
-				aniMaskShow: false
-			}
-		},
-		watch: {
-			selected(newVal) {
-				this.cale.setSelectInfo(this.nowDate.fullDate, newVal)
-				this.weeks = this.cale.weeks
-			}
-		},
-		created() {
-			// 获取日历方法实例
-			this.cale = new Calendar({
-				date: this.date,
-				selected: this.selected,
-				startDate: this.startDate,
-				endDate: this.endDate,
-				range: this.range,
-			})
-			this.init(this.cale.date.fullDate)
-		},
-		methods: {
-			// 取消穿透
-			clean() {},
-			init(date) {
-				this.weeks = this.cale.weeks
-				this.nowDate = this.calendar = this.cale.getInfo(date)
-			},
-			open() {
-				this.show = true
-				this.$nextTick(() => {
-					this.aniMaskShow = true
-				})
-			},
-			close() {
-				this.aniMaskShow = false
-				this.$nextTick(() => {
-					setTimeout(() => {
-						this.show = false
-					}, 300)
-				})
-			},
-			confirm() {
-				this.setEmit('confirm')
-				this.close()
-			},
-			change() {
-				if (!this.insert) return
-				this.setEmit('change')
-			},
-			monthSwitch() {
-				let {
-					year,
-					month
-				} = this.nowDate
-				this.$emit('monthSwitch', {
-					year,
-					month:Number(month)
-				})
-			},
-			setEmit(name) {
-				let {
-					year,
-					month,
-					date,
-					fullDate,
-					lunar,
-					extraInfo
-				} = this.calendar
-				this.$emit(name, {
-					range: this.cale.multipleStatus,
-					year,
-					month,
-					date,
-					fulldate: fullDate,
-					lunar,
-					extraInfo: extraInfo || {}
-				})
-			},
-			choiceDate(weeks) {
-				if (weeks.disable) return
-				this.calendar = weeks
-				// 设置多选
-				this.cale.setMultiple(this.calendar.fullDate)
-				this.weeks = this.cale.weeks
-				this.change()
-			},
-			backtoday() {
-				this.cale.setDate(this.date)
-				this.weeks = this.cale.weeks
-				this.nowDate = this.calendar = this.cale.getInfo(this.date)
-				this.change()
-			},
-			pre() {
-				const preDate = this.cale.getDate(this.nowDate.fullDate, -1, 'month').fullDate
-				this.setDate(preDate)
-				this.monthSwitch()
-
-			},
-			next() {
-				const nextDate = this.cale.getDate(this.nowDate.fullDate, +1, 'month').fullDate
-				this.setDate(nextDate)
-				this.monthSwitch()
-			},
-			setDate(date) {
-				this.cale.setDate(date)
-				this.weeks = this.cale.weeks
-				this.nowDate = this.cale.getInfo(date)
-			}
-		}
-	}
-</script>
-
-<style lang="scss" scoped>
-	.uni-calendar {
-		/* #ifndef APP-NVUE */
-		display: flex;
-		/* #endif */
-		flex-direction: column;
-		width: 702rpx;
-		padding: 0 24rpx;
-		background: #FFFFFF;
-	}
-
-	.uni-calendar__mask {
-		position: fixed;
-		bottom: 0;
-		top: 0;
-		left: 0;
-		right: 0;
-		background-color: $uni-bg-color-mask;
-		transition-property: opacity;
-		transition-duration: 0.3s;
-		opacity: 0;
-		/* #ifndef APP-NVUE */
-		z-index: 99;
-		/* #endif */
-	}
-
-	.uni-calendar--mask-show {
-		opacity: 1
-	}
-
-	.uni-calendar--fixed {
-		position: fixed;
-		bottom: 0;
-		left: 0;
-		right: 0;
-		transition-property: transform;
-		transition-duration: 0.3s;
-		transform: translateY(460px);
-		/* #ifndef APP-NVUE */
-		z-index: 99;
-		/* #endif */
-	}
-
-	.uni-calendar--ani-show {
-		transform: translateY(0);
-	}
-
-	.uni-calendar__content {
-		background-color: #fff;
-	}
-
-	.uni-calendar__header {
-		position: relative;
-		/* #ifndef APP-NVUE */
-		display: flex;
-		/* #endif */
-		flex-direction: row;
-		justify-content: center;
-		align-items: center;
-		height: 50px;
-		border-bottom-color: #EBEBEB;
-		border-bottom-style: solid;
-		border-bottom-width: 1px;
-	}
-
-	.uni-calendar--fixed-top {
-		/* #ifndef APP-NVUE */
-		display: flex;
-		/* #endif */
-		flex-direction: row;
-		justify-content: space-between;
-		border-top-color: $uni-border-color;
-		border-top-style: solid;
-		border-top-width: 1px;
-	}
-
-	.uni-calendar--fixed-width {
-		width: 50px;
-		// padding: 0 15px;
-	}
-
-	.uni-calendar__backtoday {
-		position: absolute;
-		right: 0;
-		top: 25rpx;
-		padding: 0 5px;
-		padding-left: 10px;
-		height: 25px;
-		line-height: 25px;
-		font-size: 12px;
-		border-top-left-radius: 25px;
-		border-bottom-left-radius: 25px;
-		color: $uni-text-color;
-		background-color: $uni-bg-color-hover;
-	}
-
-	.uni-calendar__header-text {
-		text-align: center;
-		width: 100px;
-		font-size: $uni-font-size-base;
-		color: $uni-text-color;
-	}
-
-	.uni-calendar__header-btn-box {
-		/* #ifndef APP-NVUE */
-		display: flex;
-		/* #endif */
-		flex-direction: row;
-		align-items: center;
-		justify-content: center;
-		width: 50px;
-		height: 50px;
-		
-	}
-	.uni-calendar__header-btn-box.le{
-		position: absolute;
-		left:0;
-		top:0;
-		.iconfont{
-			font-size: 36rpx;
-		} 
-	}
-	.uni-calendar__header-btn-box.ri{
-		position: absolute;
-		right:0;
-		top:0;
-		.iconfont{
-			font-size: 36rpx;
-		}
-	}
-	.uni-calendar__header-btn {
-		width: 10px;
-		height: 10px;
-		border-left-color: $uni-text-color-placeholder;
-		border-left-style: solid;
-		border-left-width: 2px;
-		border-top-color: $uni-color-subtitle;
-		border-top-style: solid;
-		border-top-width: 2px;
-	}
-
-	.uni-calendar--left {
-		transform: rotate(-45deg);
-	}
-
-	.uni-calendar--right {
-		transform: rotate(135deg);
-	}
-
-
-	.uni-calendar__weeks {
-		position: relative;
-		/* #ifndef APP-NVUE */
-		display: flex;
-		/* #endif */
-		flex-direction: row;
-	}
-
-	.uni-calendar__weeks-item {
-		flex: 1;
-	}
-
-	.uni-calendar__box {
-		position: relative;
-	}
-
-	.uni-calendar__box-bg {
-		/* #ifndef APP-NVUE */
-		display: flex;
-		/* #endif */
-		justify-content: center;
-		align-items: center;
-		position: absolute;
-		top: 0;
-		left: 0;
-		right: 0;
-		bottom: 0;
-	}
-
-	.uni-calendar__box-bg-text {
-		font-size: 200px;
-		font-weight: bold;
-		color: $uni-text-color-grey;
-		opacity: 0.1;
-		text-align: center;
-		line-height: 1;
-	}
-</style>

+ 0 - 327
components/uni-calendar/util.js

@@ -1,327 +0,0 @@
-import CALENDAR from './calendar.js'
-
-class Calendar {
-	constructor({
-		date,
-		selected,
-		startDate,
-		endDate,
-		range
-	} = {}) {
-		// 当前日期
-		this.date = this.getDate(date) // 当前初入日期
-		// 打点信息
-		this.selected = selected || [];
-		// 范围开始
-		this.startDate = startDate
-		// 范围结束
-		this.endDate = endDate
-		this.range = range
-		// 多选状态
-		this.multipleStatus = {
-			before: '',
-			after: '',
-			data: []
-		}
-		// 每周日期
-		this.weeks = {}
-
-		this._getWeek(this.date.fullDate)
-	}
-
-	/**
-	 * 获取任意时间
-	 */
-	getDate(date, AddDayCount = 0, str = 'day') {
-		if (!date) {
-			date = new Date()
-		}
-		if (typeof date !== 'object') {
-			date = date.replace(/-/g, '/')
-		}
-		const dd = new Date(date)
-		switch (str) {
-			case 'day':
-				dd.setDate(dd.getDate() + AddDayCount) // 获取AddDayCount天后的日期
-				break
-			case 'month':
-				if (dd.getDate() === 31) {
-					dd.setDate(dd.getDate() + AddDayCount)
-				} else {
-					dd.setMonth(dd.getMonth() + AddDayCount) // 获取AddDayCount天后的日期
-				}
-				break
-			case 'year':
-				dd.setFullYear(dd.getFullYear() + AddDayCount) // 获取AddDayCount天后的日期
-				break
-		}
-		const y = dd.getFullYear()
-		const m = dd.getMonth() + 1 < 10 ? '0' + (dd.getMonth() + 1) : dd.getMonth() + 1 // 获取当前月份的日期,不足10补0
-		const d = dd.getDate() < 10 ? '0' + dd.getDate() : dd.getDate() // 获取当前几号,不足10补0
-		return {
-			fullDate: y + '-' + m + '-' + d,
-			year: y,
-			month: m,
-			date: d,
-			day: dd.getDay()
-		}
-	}
-
-
-	/**
-	 * 获取上月剩余天数
-	 */
-	_getLastMonthDays(firstDay, full) {
-		let dateArr = []
-		for (let i = firstDay; i > 0; i--) {
-			const beforeDate = new Date(full.year, full.month - 1, -i + 1).getDate()
-			dateArr.push({
-				date: beforeDate,
-				month: full.month - 1,
-				lunar: this.getlunar(full.year, full.month - 1, beforeDate),
-				disable: true
-			})
-		}
-		return dateArr
-	}
-	/**
-	 * 获取本月天数
-	 */
-	_currentMonthDys(dateData, full) {
-		let dateArr = []
-		let fullDate = this.date.fullDate
-		for (let i = 1; i <= dateData; i++) {
-			let isinfo = false
-			let nowDate = full.year + '-' + (full.month < 10 ?
-				full.month : full.month) + '-' + (i < 10 ?
-				'0' + i : i)
-			// 是否今天
-			let isDay = fullDate === nowDate
-			// 获取打点信息
-			let info = this.selected && this.selected.find((item) => {
-				if (this.dateEqual(nowDate, item.date)) {
-					return item
-				}
-			})
-
-			// 日期禁用
-			let disableBefore = true
-			let disableAfter = true
-			if (this.startDate) {
-				let dateCompBefore = this.dateCompare(this.startDate, fullDate)
-				disableBefore = this.dateCompare(dateCompBefore ? this.startDate : fullDate, nowDate)
-			}
-
-			if (this.endDate) {
-				let dateCompAfter = this.dateCompare(fullDate, this.endDate)
-				disableAfter = this.dateCompare(nowDate, dateCompAfter ? this.endDate : fullDate)
-			}
-
-			let multiples = this.multipleStatus.data
-			let checked = false
-			let multiplesStatus = -1
-			if (this.range) {
-				if (multiples) {
-					multiplesStatus = multiples.findIndex((item) => {
-						return this.dateEqual(item, nowDate)
-					})
-				}
-				if (multiplesStatus !== -1) {
-					checked = true
-				}
-			}
-
-			let data = {
-				fullDate: nowDate,
-				year: full.year,
-				date: i,
-				multiple: this.range ? checked : false,
-				month: full.month,
-				lunar: this.getlunar(full.year, full.month, i),
-				disable: !disableBefore || !disableAfter,
-				isDay
-			}
-			if (info) {
-				data.extraInfo = info
-			}
-
-			dateArr.push(data)
-		}
-		return dateArr
-	}
-	/**
-	 * 获取下月天数
-	 */
-	_getNextMonthDays(surplus, full) {
-		let dateArr = []
-		for (let i = 1; i < surplus + 1; i++) {
-			dateArr.push({
-				date: i,
-				month: Number(full.month) + 1,
-				lunar: this.getlunar(full.year, Number(full.month) + 1, i),
-				disable: true
-			})
-		}
-		return dateArr
-	}
-	/**
-	 * 设置日期
-	 * @param {Object} date
-	 */
-	setDate(date) {
-		this._getWeek(date)
-	}
-	/**
-	 * 获取当前日期详情
-	 * @param {Object} date
-	 */
-	getInfo(date) {
-		if (!date) {
-			date = new Date()
-		}
-		const dateInfo = this.canlender.find(item => item.fullDate === this.getDate(date).fullDate)
-		return dateInfo
-	}
-
-	/**
-	 * 比较时间大小
-	 */
-	dateCompare(startDate, endDate) {
-		// 计算截止时间
-		startDate = new Date(startDate.replace('-', '/').replace('-', '/'))
-		// 计算详细项的截止时间
-		endDate = new Date(endDate.replace('-', '/').replace('-', '/'))
-		if (startDate <= endDate) {
-			return true
-		} else {
-			return false
-		}
-	}
-
-	/**
-	 * 比较时间是否相等
-	 */
-	dateEqual(before, after) {
-		// 计算截止时间
-		before = new Date(before.replace('-', '/').replace('-', '/'))
-		// 计算详细项的截止时间
-		after = new Date(after.replace('-', '/').replace('-', '/'))
-		if (before.getTime() - after.getTime() === 0) {
-			return true
-		} else {
-			return false
-		}
-	}
-
-
-	/**
-	 * 获取日期范围内所有日期
-	 * @param {Object} begin
-	 * @param {Object} end
-	 */
-	geDateAll(begin, end) {
-		var arr = []
-		var ab = begin.split('-')
-		var ae = end.split('-')
-		var db = new Date()
-		db.setFullYear(ab[0], ab[1] - 1, ab[2])
-		var de = new Date()
-		de.setFullYear(ae[0], ae[1] - 1, ae[2])
-		var unixDb = db.getTime() - 24 * 60 * 60 * 1000
-		var unixDe = de.getTime() - 24 * 60 * 60 * 1000
-		for (var k = unixDb; k <= unixDe;) {
-			k = k + 24 * 60 * 60 * 1000
-			arr.push(this.getDate(new Date(parseInt(k))).fullDate)
-		}
-		return arr
-	}
-	/**
-	 * 计算阴历日期显示
-	 */
-	getlunar(year, month, date) {
-		return CALENDAR.solar2lunar(year, month, date)
-	}
-	/**
-	 * 设置打点
-	 */
-	setSelectInfo(data, value) {
-		this.selected = value
-		this._getWeek(data)
-	}
-
-	/**
-	 *  获取多选状态
-	 */
-	setMultiple(fullDate) {
-		let {
-			before,
-			after
-		} = this.multipleStatus
-		if (!this.range) return
-		if (before && after) {
-			this.multipleStatus.before = ''
-			this.multipleStatus.after = ''
-			this.multipleStatus.data = []
-			this._getWeek(fullDate)
-		} else {
-			if (!before) {
-				this.multipleStatus.before = fullDate
-			} else {
-				this.multipleStatus.after = fullDate
-				if (this.dateCompare(this.multipleStatus.before, this.multipleStatus.after)) {
-					this.multipleStatus.data = this.geDateAll(this.multipleStatus.before, this.multipleStatus.after);
-				} else {
-					this.multipleStatus.data = this.geDateAll(this.multipleStatus.after, this.multipleStatus.before);
-				}
-				this._getWeek(fullDate)
-			}
-		}
-	}
-
-	/**
-	 * 获取每周数据
-	 * @param {Object} dateData
-	 */
-	_getWeek(dateData) {
-		const {
-			fullDate,
-			year,
-			month,
-			date,
-			day
-		} = this.getDate(dateData)
-		let firstDay = new Date(year, month - 1, 1).getDay()
-		let currentDay = new Date(year, month, 0).getDate()
-		let dates = {
-			lastMonthDays: this._getLastMonthDays(firstDay, this.getDate(dateData)), // 上个月末尾几天
-			currentMonthDys: this._currentMonthDys(currentDay, this.getDate(dateData)), // 本月天数
-			nextMonthDays: [], // 下个月开始几天
-			weeks: []
-		}
-		let canlender = []
-		const surplus = 42 - (dates.lastMonthDays.length + dates.currentMonthDys.length)
-		dates.nextMonthDays = this._getNextMonthDays(surplus, this.getDate(dateData))
-		canlender = canlender.concat(dates.lastMonthDays, dates.currentMonthDys, dates.nextMonthDays)
-		let weeks = {}
-		// 拼接数组  上个月开始几天 + 本月天数+ 下个月开始几天
-		for (let i = 0; i < canlender.length; i++) {
-			if (i % 7 === 0) {
-				weeks[parseInt(i / 7)] = new Array(7)
-			}
-			weeks[parseInt(i / 7)][i % 7] = canlender[i]
-		}
-		this.canlender = canlender
-		this.weeks = weeks
-	}
-
-	//静态方法
-	// static init(date) {
-	// 	if (!this.instance) {
-	// 		this.instance = new Calendar(date);
-	// 	}
-	// 	return this.instance;
-	// }
-}
-
-
-export default Calendar

+ 0 - 194
components/uni-load-more/uni-load-more.vue

@@ -1,194 +0,0 @@
-<template>
-	<view class="uni-load-more">
-		<view class="uni-load-more__img" v-show="status === 'loading' && showIcon">
-			<view class="load1">
-				<view :style="{background:color}"></view>
-				<view :style="{background:color}"></view>
-				<view :style="{background:color}"></view>
-				<view :style="{background:color}"></view>
-			</view>
-			<view class="load2">
-				<view :style="{background:color}"></view>
-				<view :style="{background:color}"></view>
-				<view :style="{background:color}"></view>
-				<view :style="{background:color}"></view>
-			</view>
-			<view class="load3">
-				<view :style="{background:color}"></view>
-				<view :style="{background:color}"></view>
-				<view :style="{background:color}"></view>
-				<view :style="{background:color}"></view>
-			</view>
-		</view>
-		<text class="uni-load-more__text" :style="{color:color}">{{status === 'more' ? contentText.contentdown : (status === 'loading' ? contentText.contentrefresh : contentText.contentnomore)}}</text>
-	</view>
-</template>
-
-<script>
-	export default {
-		name: "uni-load-more",
-		props: {
-			status: {
-				//上拉的状态:more-loading前;loading-loading中;noMore-没有更多了
-				type: String,
-				default: 'more'
-			},
-			showIcon: {
-				type: Boolean,
-				default: true
-			},
-			color: {
-				type: String,
-				default: "#777777"
-			},
-			contentText: {
-				type: Object,
-				default () {
-					return {
-						contentdown: "上拉加载更多",
-						contentrefresh: "正在加载...",
-						contentnomore: "已至底部"
-					};
-				}
-			}
-		},
-		data() {
-			return {}
-		}
-	}
-</script>
-
-<style>
-	@charset "UTF-8";
-
-	.uni-load-more {
-		display: flex;
-		flex-direction: row;
-		height: 80upx;
-		align-items: center;
-		justify-content: center
-	}
-
-	.uni-load-more__text {
-		font-size: 28upx;
-		color: #999
-	}
-
-	.uni-load-more__img {
-		height: 24px;
-		width: 24px;
-		margin-right: 10px
-	}
-
-	.uni-load-more__img>view {
-		position: absolute
-	}
-
-	.uni-load-more__img>view view {
-		width: 6px;
-		height: 2px;
-		border-top-left-radius: 1px;
-		border-bottom-left-radius: 1px;
-		background: #999;
-		position: absolute;
-		opacity: .2;
-		transform-origin: 50%;
-		animation: load 1.56s ease infinite
-	}
-
-	.uni-load-more__img>view view:nth-child(1) {
-		transform: rotate(90deg);
-		top: 2px;
-		left: 9px
-	}
-
-	.uni-load-more__img>view view:nth-child(2) {
-		transform: rotate(180deg);
-		top: 11px;
-		right: 0
-	}
-
-	.uni-load-more__img>view view:nth-child(3) {
-		transform: rotate(270deg);
-		bottom: 2px;
-		left: 9px
-	}
-
-	.uni-load-more__img>view view:nth-child(4) {
-		top: 11px;
-		left: 0
-	}
-
-	.load1,
-	.load2,
-	.load3 {
-		height: 24px;
-		width: 24px
-	}
-
-	.load2 {
-		transform: rotate(30deg)
-	}
-
-	.load3 {
-		transform: rotate(60deg)
-	}
-
-	.load1 view:nth-child(1) {
-		animation-delay: 0s
-	}
-
-	.load2 view:nth-child(1) {
-		animation-delay: .13s
-	}
-
-	.load3 view:nth-child(1) {
-		animation-delay: .26s
-	}
-
-	.load1 view:nth-child(2) {
-		animation-delay: .39s
-	}
-
-	.load2 view:nth-child(2) {
-		animation-delay: .52s
-	}
-
-	.load3 view:nth-child(2) {
-		animation-delay: .65s
-	}
-
-	.load1 view:nth-child(3) {
-		animation-delay: .78s
-	}
-
-	.load2 view:nth-child(3) {
-		animation-delay: .91s
-	}
-
-	.load3 view:nth-child(3) {
-		animation-delay: 1.04s
-	}
-
-	.load1 view:nth-child(4) {
-		animation-delay: 1.17s
-	}
-
-	.load2 view:nth-child(4) {
-		animation-delay: 1.3s
-	}
-
-	.load3 view:nth-child(4) {
-		animation-delay: 1.43s
-	}
-
-	@-webkit-keyframes load {
-		0% {
-			opacity: 1
-		}
-
-		100% {
-			opacity: .2
-		}
-	}
-</style>

+ 0 - 200
components/uni-number-box.vue

@@ -1,200 +0,0 @@
-<template>
-	<view class="uni-numbox">
-		<view class="uni-numbox-minus" 
-			@click="_calcValue('subtract')"
-		>
-			<text class="iconfont icon-jianhao" :class="minDisabled?'uni-numbox-disabled': ''" ></text>
-		</view>
-		<input 
-			class="uni-numbox-value" 
-			type="number" 
-			:disabled="disabled"
-			:value="inputValue" 
-			
-			@blur="_onBlur"
-		>
-		<view 
-			class="uni-numbox-plus" 
-			@click="_calcValue('add')"
-		>
-			<text class="iconfont icon-jiahao" :class="maxDisabled?'uni-numbox-disabled': ''" ></text>
-		</view>
-	</view>
-</template>
-<script>
-	export default {
-		name: 'uni-number-box',
-		props: {
-			isMax: {
-				type: Boolean,
-				default: false
-			},
-			isMin: {
-				type: Boolean,
-				default: false
-			},
-			index: {
-				type: Number,
-				default: 0
-			},
-			value: {
-				type: Number,
-				default: 0
-			},
-			min: {
-				type: Number,
-				default: -Infinity
-			},
-			max: {
-				type: Number,
-				default: Infinity
-			},
-			step: {
-				type: Number,
-				default: 1
-			},
-			disabled: {
-				type: Boolean,
-				default: false
-			}
-		},
-		data() {
-			return {
-				inputValue: this.value,
-				minDisabled: false,
-				maxDisabled: false
-			}
-		},
-		created(){
-			this.maxDisabled = this.isMax;
-			this.minDisabled = this.isMin;
-			console.log(this.value);
-		},
-		computed: {
-
-		},
-		watch: {
-			inputValue(number) {
-				const data = {
-					number: number,
-					index: this.index
-				}
-				this.$emit('eventChange', data);
-			}
-		},
-		methods: {
-			_calcValue(type) {
-				const scale = this._getDecimalScale();
-				let value = this.inputValue * scale;
-				let newValue = 0;
-				let step = this.step * scale;
-				
-				if(type === 'subtract'){
-					newValue = value - step;
-					if (newValue <= this.min){
-						this.minDisabled = true;
-					}
-					if(newValue < this.min){
-						newValue = this.min
-					}
-					if(newValue < this.max && this.maxDisabled === true){
-						this.maxDisabled = false;
-					}
-				}else if(type === 'add'){
-					newValue = value + step;
-					if (newValue >= this.max){
-						this.maxDisabled = true;
-					}
-					if(newValue > this.max){
-						newValue = this.max
-					}
-					if(newValue > this.min && this.minDisabled === true){
-						this.minDisabled = false;
-					}
-				}
-				if(newValue === value){
-					return;
-				}
-				this.inputValue = newValue / scale;
-			},
-			_getDecimalScale() {
-				let scale = 1;
-				// 浮点型
-				if (~~this.step !== this.step) {
-					scale = Math.pow(10, (this.step + '').split('.')[1].length);
-				}
-				return scale;
-			},
-			_onBlur(event) {
-				let value = event.detail.value;
-				if (!value) {
-					this.inputValue = 0;
-					return
-				}
-				value = +value;
-				if (value > this.max) {
-					value = this.max;
-				} else if (value < this.min) {
-					value = this.min
-				}
-
-				this.inputValue = value
-			}
-		}
-	}
-</script>
-<style>
-	.uni-numbox {
-		position:absolute;
-		left: 30upx;
-		bottom: 0;
-		display: flex;
-		justify-content: flex-start;
-		align-items: center;
-		width:230upx;
-		height: 44upx;
-		background:#FFFFFF;
-	}
-
-	.uni-numbox-minus,
-	.uni-numbox-plus {
-		margin: 0;
-		background-color: #FFFFFF;
-		width: 70upx;
-		height: 100%;
-		line-height: 44upx;
-		text-align: center;
-		position: relative;
-	}
-	.uni-numbox-minus .iconfont,
-	.uni-numbox-plus .iconfont{
-		font-size: 36upx;
-		color: #555;
-	}
-
-	.uni-numbox-minus {
-		border-right: none;
-		border-top-left-radius: 6upx;
-		border-bottom-left-radius: 6upx;
-	}
-
-	.uni-numbox-plus {
-		border-left: none;
-		border-top-right-radius: 6upx;
-		border-bottom-right-radius: 6upx;
-	}
-
-	.uni-numbox-value {
-		position: relative;
-		background-color: #f5f5f5;
-		width: 90upx;
-		height: 50upx;
-		text-align: center;
-		padding: 0;
-		font-size: 30upx;
-	}
-
-	.uni-numbox-disabled.iconfont {
-		color: #d6d6d6;
-	}
-</style>

+ 0 - 226
components/upload-images.vue

@@ -1,226 +0,0 @@
-<template>
-	<view class="upload-content">
-		<block v-for="(item, index) in imageList" :key="index">
-			<view class="upload-item">
-				<image class="upload-img" :src="item.filePath" mode="aspectFill" @click="previewImage(index)"></image>
-				<image class="upload-del-btn" 
-					@click="delImage(index)" 
-					src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACYAAAAmCAYAAACoPemuAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6RjNBODgzQjUwNDM5MTFFOUJDMjlGN0UwRTJGMjVCNjQiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6RjNBODgzQjYwNDM5MTFFOUJDMjlGN0UwRTJGMjVCNjQiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpGM0E4ODNCMzA0MzkxMUU5QkMyOUY3RTBFMkYyNUI2NCIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpGM0E4ODNCNDA0MzkxMUU5QkMyOUY3RTBFMkYyNUI2NCIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PuYQTIAAAAHNSURBVHjazJgxasMwFIbjnsD4BDmCLxDQDZrNQ5bcILlBvXvpDRLIWmiHFkyH2t0LyVbwEkPpbE/eYlUCGYQax096UuIffkIgij7ryU/vyZuYy2e+Z56K70R8lsJcOfPn5AriMCvmZ2YKdMW8EQ/hRA9iEorwXlpZtObMRySQ6kysvrFWloHUEIcmUBuHUDLccmxQskErt7wyVLdy00tQ4Q2g5De2V9kNwWjffiNDA33f/42i6E13Qj5uNptlwJD+SyODuaqqqi/KVBTFOxSKA7VtW/NxSZI8AcbE2nuraZpvKgSBk6G4drsdBOwogz1CwAghH/JEl+BUKJ1VltPHHjoIAoeE4l53YFqb+RKcBSgqyqXhtxEKZwkKB3YOThYCqjPuCDoHZwGK3mGLtdPp5LmqTI1Dqe4p26EkNqA4iE6eg2z+iQ0okyQMATvYgLIIt9Y6knTyFBIudHqIq3BpmkL60VJ9O0sXZY8MBwSLtdNGEAQ/i8XiVXcz83EcEPDbuq/fzMdYWt+6GTmMsX2rh9q3TtsxNrzXhKt1rwg6rR1Dhdjqo7QMlWOvoWTF4imxQMRF7eaL8L5ohmwrLgDB8pCQc8DlcG7y538CDABJNGPqfaJgfgAAAABJRU5ErkJggg==" 
-					mode="scaleToFill">
-				</image>
-				<view class="upload-progress" v-if="item.progress < 100">{{item.progress}}%</view>
-			</view>
-		</block>
-		<view class="upload-add-btn" v-if="rduLength > 0" @click="chooseImage"></view>
-	</view>
-</template>
-
-<script>
-export default {
-	data() {
-		return {
-			imageList: []
-		};
-	},
-	props: {
-		url: {
-			type: String,
-			value: '' //上传接口地址
-		},
-		count: {
-			type: Number,
-			value: 4 //单次可选择的图片数量
-		},
-		length: {
-			type: Number,
-			value: 50 //可上传总数量
-		}
-	},
-	computed: {
-		rduLength(){
-			return this.length - this.imageList.length;
-		}
-	},
-	methods: {
-		//选择图片
-		chooseImage: function(){
-			uni.chooseImage({
-				count: this.rduLength < this.count ? this.rduLength : this.count, //最多可以选择的图片张数,默认9
-				sizeType: ['original', 'compressed'], //original 原图,compressed 压缩图,默认二者都有
-				sourceType: ['album'], //album 从相册选图,camera 使用相机,默认二者都有
-				success: (res)=> {
-					const images = res.tempFilePaths;
-					this.uploadFiles(images);
-				}
-			});
-		},
-		//上传图片
-		async uploadFiles(images){
-			this.imageList.push({
-				filePath: images[0],
-				progress: 0
-			});
-			uni.showLoading({
-				title: '请稍后..',
-				mask: true,
-			})
-			try{
-				const uploadUrl = await this.uploadImage(images[0]);
-			}catch(err){
-				console.log(err);
-				return;
-			}
-			
-			if(uploadUrl !== false){
-				images.splice(0, 1);
-				this.imageList[this.imageList.length - 1].src = uploadUrl;
-
-				//判断是否需要继续上传
-				if(images.length > 0 && this.rduLength > 0){
-					this.uploadFiles(images);
-				}else{
-					uni.hideLoading();
-				}
-			}else{
-				//上传失败处理
-				this.imageList.pop();
-				uni.hideLoading();
-				uni.showToast({
-					title: '上传中出现问题,已终止上传',
-					icon: 'none',
-					mask: true,
-					duration: 2000
-				});
-			}
-		},
-		uploadImage: function(file){
-			return new Promise((resolve, reject)=> {
-				//发送给后端的附加参数
-				const formData = {
-					thumb_mode: 1,  
-				};
-				this.uploadTask = uni.uploadFile({
-					url: this.url, 
-					filePath: file,
-					name: 'file',
-					formData: formData,
-					success(uploadFileResult){
-						const uploadFileRes = JSON.parse(uploadFileResult.data) || {};
-						if(uploadFileRes.status === 1 && uploadFileRes.data){
-							resolve(uploadFileRes.data);
-						}else{
-							reject('接口返回错误');
-						}
-					}, 
-					fail(){
-						reject('网络链接错误');
-					}
-				});
-				//上传进度
-				this.uploadTask.onProgressUpdate((progressRes)=> {
-					this.imageList[this.imageList.length - 1].progress = progressRes.progress;
-				});
-			});
-		},
-		//删除图片
-		delImage: function(index){
-			uni.showModal({
-				content: '确定要放弃这张图片么?',
-				success: (confirmRes)=> {
-					if (confirmRes.confirm) {
-						this.imageList.splice(index, 1);
-					} 
-				}
-			});
-		},
-		//预览图片
-		previewImage: function(index){
-			const urls = [];
-			this.imageList.forEach((item)=> {
-				urls.push(item.filePath);
-			})
-			uni.previewImage({
-				current: urls[index],
-				urls: urls,
-				indicator: "number"
-			})
-		}
-	}
-}
-</script>
-
-<style lang="scss">
-	.upload-content{
-		padding:24upx 0 0 28upx;
-		background-color: #fff;
-		overflow:hidden;
-	}
-	.upload-item{
-		position: relative;
-		float:left;
-		width:150upx;
-		height:150upx;
-		margin-right:30upx;
-		margin-bottom:30upx;
-		&:nth-child(4n){
-			margin-right:0;
-		}
-		.upload-img{
-			width:100%;
-			height:100%;
-			border-radius:8upx;
-		}
-		.upload-del-btn{
-			position: absolute;
-			right:-16upx;
-			top:-14upx;
-			width:36upx;
-			height:36upx;
-			border: 4upx solid #fff;
-			border-radius: 100px;
-		}
-		.upload-progress{
-			position: absolute;
-			left:0;
-			top:0;
-			display:flex;
-			align-items:center;
-			justify-content: center;
-			width:100%;
-			height:100%;
-			background-color: rgba(0,0,0,.4);
-			color:#fff;
-			font-size:24upx;
-			border-radius:8upx;
-		}
-	}
-	.upload-add-btn {
-		position: relative;
-		float:left;
-		width: 150upx;
-		height: 150upx;
-		z-index: 99;
-		border-radius:8upx;
-		background:#f9f9f9;
-		&:before,
-		&:after {
-			content: " ";
-			position: absolute;
-			top: 50%;
-			left: 50%;
-			-webkit-transform: translate(-50%, -50%);
-			transform: translate(-50%, -50%);
-			width: 4upx;
-			height: 60upx;
-			background-color: #d6d6d6;
-		}
-		&:after {
-			width: 60upx;
-			height: 4upx;
-		}
-		&:active {
-			background-color: #f7f7f7;
-		}
-	}
-
-</style>

+ 0 - 15
components/w-picker/city-data/area.js

@@ -1,15 +0,0 @@
-// /* eslint-disable */
-// const areaData = [] ;
-
-// uni.request({
-// 	url: 'http://192.168.1.22:8107/personal/town',
-// 	data:{},
-// 	success(response){
-// 		console.log(JSON.stringify(response.data));
-// 		if(response.data.code == '1'){
-// 			areaData = response.data;
-// 		}
-// 	}
-// })
-
-// export default areaData;

+ 0 - 15
components/w-picker/city-data/city.js

@@ -1,15 +0,0 @@
-// /* eslint-disable */
-// const cityData = [] ;
-
-// uni.request({
-// 	url: 'http://192.168.1.22:8107/personal/city',
-// 	data:{},
-// 	success(response){
-// 		console.log(JSON.stringify(response.data));
-// 		if(response.data.code == '1'){
-// 			cityData = response.data;
-// 		}
-// 	}
-// })
-
-// export default cityData;

+ 0 - 15
components/w-picker/city-data/province.js

@@ -1,15 +0,0 @@
-// /* eslint-disable */
-// const provinceData = [] ;
-
-// uni.request({
-// 	url: 'http://192.168.1.22:8107/personal/address',
-// 	data:{},
-// 	success(response){
-// 		console.log(JSON.stringify(response.data));
-// 		if(response.data.code == '1'){
-// 			provinceData = response.data;
-// 		}
-// 	}
-// })
-
-// export default provinceData;

+ 0 - 587
components/w-picker/w-picker.js

@@ -1,587 +0,0 @@
-const forMatNum=(num)=>{
-	return num<10?'0'+num:num+'';
-}
-const initPicker={
-	//日期
-	date:{
-		init(start,end,mode="date",step,value,flag,disabled){
-			let aToday=new Date();
-			let tYear,tMonth,tDay,tHours,tMinutes,tSeconds,defaultVal=[];
-			let initstartDate=new Date(start.toString());
-			let endDate=new Date(end.toString());
-			if(start>end){
-				initstartDate=new Date(end.toString());
-				endDate=new Date(start.toString());
-			};
-			let startYear=initstartDate.getFullYear();
-			let startMonth=initstartDate.getMonth()+1;
-			let endYear=endDate.getFullYear();
-			let years=[],months=[],days=[],hours=[],minutes=[],seconds=[],areas=[],returnArr=[];
-			let curMonth=flag?value[1]*1:(value[1]+1);
-			let dYear=aToday.getFullYear();
-			let dMonth=aToday.getMonth()+1;
-			let dDate=aToday.getDate();
-			let totalDays=new Date(startYear,curMonth,0).getDate();
-			let dvalObj={};
-			switch(mode){
-				case "half":
-				case "date":
-				case "yearMonth":
-					let curYear=value[0];
-					let curMonth=value[1];
-					if(disabled){
-						for(let s=startYear;s<=dYear;s++){
-							years.push(s+'');
-						};
-						if(curYear==dYear){
-							for(let m=1;m<=dMonth;m++){
-								months.push(forMatNum(m));
-							};
-						}else{
-							for(let m=1;m<=12;m++){
-								months.push(forMatNum(m));
-							};
-						}
-						if(curMonth==dMonth){
-							for(let d=1;d<=dDate;d++){
-								days.push(forMatNum(d));
-							}
-						}else{
-							for(let d=1;d<=totalDays;d++){
-								days.push(forMatNum(d));
-							}
-						}
-						
-					}else{
-						for(let s=startYear;s<=endYear;s++){
-							years.push(s+'');
-						};
-						for(let m=1;m<=12;m++){
-							months.push(forMatNum(m));
-						};
-						for(let d=1;d<=totalDays;d++){
-							days.push(forMatNum(d));
-						}
-					};
-					break;
-				default:
-					for(let s=startYear;s<=endYear;s++){
-						years.push(s+'');
-					};
-					for(let m=1;m<=12;m++){
-						months.push(forMatNum(m));
-					};
-					for(let d=1;d<=totalDays;d++){
-						days.push(forMatNum(d));
-					}
-					break;
-			}
-			for(let h=0;h<24;h++){
-				hours.push(forMatNum(h));
-			}
-			for(let m=0;m<60;m+=step*1){
-				minutes.push(forMatNum(m));
-			}
-			for(let s=0;s<60;s++){
-				seconds.push(forMatNum(s));
-			}
-			if(flag){
-				returnArr=[
-					years.indexOf(value[0]),
-					months.indexOf(value[1]),
-					days.indexOf(value[2]),
-					hours.indexOf(value[3]),
-					minutes.indexOf(value[4])==-1?0:minutes.indexOf(value[4]),
-					seconds.indexOf(value[5])
-				]
-			}
-			switch(mode){
-				case "range":
-					if(flag){
-						defaultVal=[returnArr[0],returnArr[1],returnArr[2],0,returnArr[0],returnArr[1],returnArr[2]];
-						return {years,months,days,defaultVal}
-					}else{
-						return {years,months,days}
-					}
-					break;
-				case "date":
-					if(flag){
-						defaultVal=[returnArr[0],returnArr[1],returnArr[2]];
-						return {years,months,days,defaultVal}
-					}else{
-						defaultVal=[
-							years.indexOf(value[0])==-1?0:years.indexOf(value[0]),
-							months.indexOf(value[1])==-1?0:months.indexOf(value[1]),
-							days.indexOf(value[2])==-1?0:days.indexOf(value[2])
-						];
-						return {years,months,days,defaultVal}
-					}
-					break;
-				case "half":
-					areas=[{
-						label:"上午",
-						value:0
-					},{
-						label:"下午",
-						value:1
-					}];
-					if(flag){
-						defaultVal=[returnArr[0],returnArr[1],returnArr[2],returnArr[3]];
-						return {years,months,days,areas,defaultVal}
-					}else{
-						let idx=0;
-						areas.map((v,k)=>{
-							if(v.label==value[3]){
-								idx=v.value;
-							}
-						})
-						defaultVal=[
-							years.indexOf(value[0])==-1?0:years.indexOf(value[0]),
-							months.indexOf(value[1])==-1?0:months.indexOf(value[1]),
-							days.indexOf(value[2])==-1?0:days.indexOf(value[2]),
-							idx
-						];
-						return {years,months,days,areas,defaultVal}
-					}
-					break;	
-				case "yearMonth":
-					if(flag){
-						defaultVal=[returnArr[0],returnArr[1]];
-						return {years,months,defaultVal}
-					}else{
-						defaultVal=[
-							years.indexOf(value[0])==-1?0:years.indexOf(value[0]),
-							months.indexOf(value[1])==-1?0:months.indexOf(value[1])
-						];
-						return {years,months,defaultVal}
-					}
-					break;
-				case "dateTime":
-					if(flag){
-						defaultVal=returnArr;
-					}else{
-						defaultVal=[
-							years.indexOf(value[0])==-1?0:years.indexOf(value[0]),
-							months.indexOf(value[1])==-1?0:months.indexOf(value[1]),
-							days.indexOf(value[2])==-1?0:days.indexOf(value[2]),
-							hours.indexOf(value[3])==-1?0:hours.indexOf(value[3]),
-							minutes.indexOf(value[4])==-1?0:minutes.indexOf(value[4]),
-							seconds.indexOf(value[5])==-1?0:seconds.indexOf(value[5])
-						];
-					}
-					return {years,months,days,hours,minutes,seconds,defaultVal}
-					break;
-				case "time":
-					if(flag){
-						defaultVal=[returnArr[3],returnArr[4],returnArr[5]];
-					}else{
-						defaultVal=[
-							hours.indexOf(value[0])==-1?0:hours.indexOf(value[0]),
-							minutes.indexOf(value[1])==-1?0:minutes.indexOf(value[1]),
-							seconds.indexOf(value[2])==-1?0:seconds.indexOf(value[2])
-						];
-					}
-					return {hours,minutes,seconds,defaultVal}
-					break;			
-			}
-		},
-		initMonths:(year,disabled)=>{
-			let aDate=new Date();
-			let dYear=aDate.getFullYear();
-			let dMonth=aDate.getMonth()+1;
-			let dDate=aDate.getDate();
-			let flag=dYear==year?true:false;
-			let months=[];
-			if(disabled){
-				if(flag){
-					for(let m=1;m<=dMonth;m++){
-						months.push(forMatNum(m));
-					};	
-				}else{
-					for(let m=1;m<=12;m++){
-						months.push(forMatNum(m));
-					};	
-				}
-			}else{
-				for(let m=1;m<=12;m++){
-					months.push(forMatNum(m));
-				};
-			};
-			return months;
-		},
-		initDays:(year,month,disabled)=>{
-			let aDate=new Date();
-			let dYear=aDate.getFullYear();
-			let dMonth=aDate.getMonth()+1;
-			let dDate=aDate.getDate();
-			let flag=(dYear==year&&dMonth==month)?true:false;
-			let totalDays=new Date(year,month,0).getDate();
-			let dates=[];
-			if(flag&&disabled){
-				for(let d=1;d<=dDate;d++){
-					dates.push(forMatNum(d));
-				};			
-			}else{
-				for(let d=1;d<=totalDays;d++){
-					dates.push(forMatNum(d));
-				};
-			};
-			return dates;
-		},
-	},
-	//短期日期上下午
-	limitHour:{
-		init(dayStep=7,dVal){
-			let startDate=new Date();
-			let date=[],areas=[],hours=[];
-			let hour=new Date().getHours();
-			let weeks=["周日","周一","周二","周三","周四","周五","周六"];
-			let arrs=[];
-			let defaultVal=[];
-			let d=0,a=0,h=0;
-			for(let i=0;i<dayStep;i++){
-				let year,month,day,weekday;
-				year=startDate.getFullYear();
-				month=forMatNum(startDate.getMonth()+1);
-				day=forMatNum(startDate.getDate());
-				weekday=weeks[startDate.getDay()];
-				let label="";
-				switch(i){
-					case 0:
-						label="今天";
-						break;
-					case 1:
-						label="明天"
-						break;
-					case 2:
-						label="后天"
-						break;
-					default:
-						label=month+"月"+day+"日"+" "+weekday;
-						break;
-				}
-				date.push({
-					label:label,
-					value:year+"-"+month+"-"+day,
-					today:i==0?true:false
-				})
-				startDate.setDate(startDate.getDate()+1);
-			}
-			if(hour>12){
-				areas=[{
-					label:"下午",
-					value:1
-				}]
-			}else{
-				areas=[{
-					label:"上午",
-					value:0
-				},{
-					label:"下午",
-					value:1
-				}]
-			};
-			for(let k=hour>12?hour-12:hour;k<=12;k++){
-				hours.push({
-					label:forMatNum(k),
-					value:forMatNum(hour>12?k+12:k)
-				})
-			};
-			date.map((v,k)=>{
-				if(v.label==dVal[0]){
-					d=k
-				}
-			})
-			if(d!=0){
-				areas=this.initAreas(date[d]);
-				hours=this.initHours(date[d],areas[a]);
-			}
-			areas.map((v,k)=>{
-				if(v.label==dVal[1]){
-					a=k
-				}
-			})
-			hours.map((v,k)=>{
-				if(v.label==dVal[2]){
-					h=k
-				}
-			});
-			defaultVal=[d,a,h]
-			return {date,areas,hours,defaultVal};
-		},
-		initAreas(date){
-			let areas=[];
-			let hour=new Date().getHours();
-			if(date.today){
-				if(hour>12){
-					areas=[{
-						label:"下午",
-						value:1
-					}]
-				}else{
-					areas=[{
-						label:"上午",
-						value:0
-					},{
-						label:"下午",
-						value:1
-					}]
-				};
-			}else{
-				areas=[{
-					label:"上午",
-					value:0
-				},{
-					label:"下午",
-					value:1
-				}]
-			}
-			return areas;
-		},
-		initHours(dateCol,hourCol){
-			let hours=[];
-			let hour=new Date().getHours();
-			if(dateCol.today){
-				if(hourCol.value==1&&hour<=12){
-					for(let k=1;k<=12;k++){
-						hours.push({
-							label:forMatNum(k),
-							value:forMatNum(hourCol.value==1?k+12:k)
-						})
-					};
-				}else{
-					for(let k=hour>12?hour-12:hour;k<=12;k++){
-						hours.push({
-							label:forMatNum(k),
-							value:forMatNum(hourCol.value==1?k+12:k)
-						})
-					};
-				}
-				
-			}else{
-				for(let k=1;k<=12;k++){
-					hours.push({
-						label:forMatNum(k),
-						value:forMatNum(hourCol.value==1?k+12:k)
-					})
-				};
-			};
-			return hours
-		}
-	},
-	//短期日期时间初始化
-	limit:{
-		init(dayStep=7,startHour=8,endHour=20,minuteStep=1,afterStep=30,dVal){
-			let startDate=new Date();
-			let bsDate=new Date(new Date().getTime()+afterStep*60*1000);
-			let date=[],hours=[],minutes=[];
-			let hour=bsDate.getHours();
-			let minute=Math.floor(bsDate.getMinutes()/minuteStep)*minuteStep;
-			let weeks=["周日","周一","周二","周三","周四","周五","周六"];
-			let d=0,h=0,m=0;
-			let defaultVal=[];
-			for(let i=0;i<dayStep;i++){
-				let year,month,day,weekday;
-				year=startDate.getFullYear();
-				month=forMatNum(startDate.getMonth()+1);
-				day=forMatNum(startDate.getDate());
-				weekday=weeks[startDate.getDay()];
-				let label="";
-				switch(i){
-					case 0:
-						label="今天";
-						break;
-					case 1:
-						label="明天"
-						break;
-					case 2:
-						label="后天"
-						break;
-					default:
-						label=month+"月"+day+"日"+" "+weekday;
-						break;
-				}
-				date.push({
-					label:label,
-					value:year+"-"+month+"-"+day,
-					flag:i==0?true:false
-				})
-				startDate.setDate(startDate.getDate()+1);
-			}
-			if(hour<startHour){
-				hour=startHour;
-			};
-			if(hour>endHour){
-				hour=endHour;
-			};
-			for(let k=hour*1;k<=endHour*1;k++){
-				hours.push({
-					label:forMatNum(k),
-					value:forMatNum(k),
-					flag:k==hour?true:false
-				})
-			};
-			for(let j=minute;j<60;j+=minuteStep*1){
-				minutes.push({
-					label:forMatNum(j),
-					value:forMatNum(j)
-				});
-			}
-			date.map((v,k)=>{
-				if(v.label==dVal[0]){
-					d=k
-				}
-			})
-			if(d!=0){
-				hours=this.initHours(startHour=8,endHour=20,minuteStep=1,afterStep=30,date[d].value);
-			}
-			hours.map((v,k)=>{
-				if(v.label==dVal[1]){
-					h=k
-				}
-			})
-			minutes.map((v,k)=>{
-				if(v.label==dVal[2]){
-					m=k
-				}
-			})
-			defaultVal=[d,h,m];
-			return {date,hours,minutes,defaultVal};
-		},
-		initHours(startHour=8,endHour=20,minuteStep=1,afterStep=30,date){
-			let hours=[];
-			let arr=date.split("-");
-			let aDate=new Date();
-			let dYear=aDate.getFullYear();
-			let dMonth=aDate.getMonth()+1;
-			let dDate=aDate.getDate();
-			let bsDate=new Date(new Date().getTime()+afterStep*60*1000);
-			let hour=bsDate.getHours();
-			let flag=(dYear==arr[0]&&dMonth==arr[1]&&dDate==arr[2])?true:false;
-			if(hour>endHour){
-				hour=endHour;
-			};
-			if(flag){
-				for(let k=hour*1;k<=endHour*1;k++){
-					hours.push({
-						label:forMatNum(k),
-						value:forMatNum(k),
-						flag:k==hour?true:false
-					})
-				};			
-			}else{
-				for(let k=startHour*1;k<=endHour*1;k++){
-					hours.push({
-						label:forMatNum(k),
-						value:forMatNum(k),
-						flag:false
-					})
-				}			
-			};
-			return hours;
-		},
-		initMinutes(startHour=8,endHour=20,minuteStep=1,afterStep=30,date,hour){
-			let minutes=[];
-			let bsDate=new Date(new Date().getTime()+afterStep*60*1000);
-			let arr=date.split("-");
-			let aDate=new Date();
-			let dYear=aDate.getFullYear();
-			let dMonth=aDate.getMonth()+1;
-			let dDate=aDate.getDate();
-			let dHour=bsDate.getHours();;
-			let minute=Math.floor(bsDate.getMinutes()/minuteStep)*minuteStep;
-			let flag=(dYear==arr[0]&&dMonth==arr[1]&&dDate==arr[2])?true:false;
-			if(flag){
-				if(hour==dHour){
-					for(let j=minute;j<60;j+=minuteStep*1){
-						minutes.push({
-							label:forMatNum(j),
-							value:forMatNum(j)
-						});
-					}	
-				}else{
-					for(let j=0;j<60;j+=minuteStep*1){
-						minutes.push({
-							label:forMatNum(j),
-							value:forMatNum(j)
-						})
-					}
-				}
-						
-			}else{
-				for(let j=0;j<60;j+=minuteStep*1){
-					minutes.push({
-						label:forMatNum(j),
-						value:forMatNum(j)
-					})
-				}			
-			}
-			return minutes;
-		}
-	},
-	//选择区间初始化
-	range:{
-		init(start,end,value,flag){
-			let aToday=new Date();
-			let tYear,tMonth,tDay,tHours,tMinutes,tSeconds,defaultVal=[];
-			let initstartDate=new Date(start.toString());
-			let endDate=new Date(end.toString());
-			if(start>end){
-				initstartDate=new Date(end.toString());
-				endDate=new Date(start.toString());
-			};
-			let startYear=initstartDate.getFullYear();
-			let startMonth=initstartDate.getMonth()+1;
-			let endYear=endDate.getFullYear();
-			let fyears=[],fmonths=[],fdays=[],tyears=[],tmonths=[],tdays=[],returnArr=[];
-			let curMonth=flag?value[1]*1:(value[1]+1);
-			let totalDays=new Date(startYear,curMonth,0).getDate();
-			for(let s=startYear;s<=endYear;s++){
-				fyears.push(s+'');
-			};
-			for(let m=1;m<=12;m++){
-				fmonths.push(forMatNum(m));
-			};
-			for(let d=1;d<=totalDays;d++){
-				fdays.push(forMatNum(d));
-			};
-			for(let s=startYear;s<=endYear;s++){
-				tyears.push(s+'');
-			};
-			for(let m=1;m<=12;m++){
-				tmonths.push(forMatNum(m));
-			};
-			for(let d=1;d<=totalDays;d++){
-				tdays.push(forMatNum(d));
-			};
-			defaultVal=[
-				fyears.indexOf(value[0])==-1?0:fyears.indexOf(value[0]),
-				fmonths.indexOf(value[1])==-1?0:fmonths.indexOf(value[1]),
-				fdays.indexOf(value[2])==-1?0:fdays.indexOf(value[2]),
-				0,
-				tyears.indexOf(value[4])==-1?0:tyears.indexOf(value[4]),
-				tmonths.indexOf(value[5])==-1?0:tmonths.indexOf(value[5]),
-				tdays.indexOf(value[6])==-1?0:tdays.indexOf(value[6])
-			];
-			return {
-				fyears,
-				fmonths,
-				fdays,
-				tyears,
-				tmonths,
-				tdays,
-				defaultVal
-			}
-		},
-		initDays(year,month){
-			let totalDays=new Date(year,month,0).getDate();
-			let dates=[];
-			for(let d=1;d<=totalDays;d++){
-				dates.push(forMatNum(d));
-			};
-			return dates;
-		}
-	}
-}
-
-export default initPicker

+ 0 - 992
components/w-picker/w-picker.vue

@@ -1,992 +0,0 @@
-<template>
-	<view class="w-picker">
-		<view class="mask" :class="{'show':showPicker}" @tap="maskTap" @touchmove.stop.prevent catchtouchmove="true"></view>
-		<view class="w-picker-cnt" :class="{'show':showPicker}">
-			<view class="w-picker-hd" @touchmove.stop.prevent catchtouchmove="true">
-			  <view class="w-picker-btn" @tap="pickerCancel">取消</view>
-			  <view class="w-picker-btn" :style="{'color':themeColor}" @tap="pickerConfirm">确定</view>
-			</view>
-			<view class="w-picker-view" v-if="mode=='linkage'">
-				<picker-view :indicator-style="itemHeight" :value="pickVal" @change="bindChange">
-					<picker-view-column v-for="(col,colIndex) in data" :key="colIndex">
-						<view class="w-picker-item" v-for="(item,index) in col" :key="index">{{item.label}}</view>
-					</picker-view-column>
-				</picker-view>
-			</view>
-			<view class="w-picker-view" v-if="mode=='half'">
-				<picker-view :indicator-style="itemHeight" :value="pickVal" @change="bindChange">
-					<picker-view-column>
-						<view class="w-picker-item" v-for="(item,index) in data.years" :key="index">{{item}}年</view>
-					</picker-view-column>
-					<picker-view-column>
-						<view class="w-picker-item" v-for="(item,index) in data.months" :key="index">{{item}}月</view>
-					</picker-view-column>
-					<picker-view-column>
-						<view class="w-picker-item" v-for="(item,index) in data.days" :key="index">{{item}}日</view>
-					</picker-view-column>
-					<picker-view-column>
-						<view class="w-picker-item" v-for="(item,index) in data.areas" :key="index">{{item.label}}</view>
-					</picker-view-column>
-				</picker-view>
-			</view>
-			<view class="w-picker-view" v-if="mode=='date'">
-				<picker-view :indicator-style="itemHeight" :value="pickVal" @change="bindChange">
-					<picker-view-column>
-						<view class="w-picker-item" v-for="(item,index) in data.years" :key="index">{{item}}年</view>
-					</picker-view-column>
-					<picker-view-column>
-						<view class="w-picker-item" v-for="(item,index) in data.months" :key="index">{{item}}月</view>
-					</picker-view-column>
-					<picker-view-column>
-						<view class="w-picker-item" v-for="(item,index) in data.days" :key="index">{{item}}日</view>
-					</picker-view-column>
-				</picker-view>
-			</view>
-			<view class="w-picker-view" v-if="mode=='yearMonth'">
-				<picker-view :indicator-style="itemHeight" :value="pickVal" @change="bindChange">
-					<picker-view-column>
-						<view class="w-picker-item" v-for="(item,index) in data.years" :key="index">{{item}}年</view>
-					</picker-view-column>
-					<picker-view-column>
-						<view class="w-picker-item" v-for="(item,index) in data.months" :key="index">{{item}}月</view>
-					</picker-view-column>
-				</picker-view>
-			</view>
-			<view class="w-picker-view" v-if="mode=='dateTime'">
-				<picker-view :indicator-style="itemHeight" :value="pickVal" @change="bindChange">
-					<picker-view-column>
-						<view class="w-picker-item" v-for="(item,index) in data.years" :key="index">{{item}}年</view>
-					</picker-view-column>
-					<picker-view-column>
-						<view class="w-picker-item" v-for="(item,index) in data.months" :key="index">{{item}}月</view>
-					</picker-view-column>
-					<picker-view-column >
-						<view class="w-picker-item" v-for="(item,index) in data.days" :key="index">{{item}}日</view>
-					</picker-view-column>
-					<picker-view-column>
-						<view class="w-picker-item" v-for="(item,index) in data.hours" :key="index">{{item}}时</view>
-					</picker-view-column>
-					<picker-view-column>
-						<view class="w-picker-item" v-for="(item,index) in data.minutes" :key="index">{{item}}分</view>
-					</picker-view-column>
-					<picker-view-column>
-						<view class="w-picker-item" v-for="(item,index) in data.seconds" :key="index">{{item}}秒</view>
-					</picker-view-column>
-				</picker-view>
-			</view>
-			<view class="w-picker-view" v-if="mode=='range'">
-				<picker-view :indicator-style="itemHeight" :value="pickVal" @change="bindChange">
-					<picker-view-column>
-						<view class="w-picker-item" v-for="(item,index) in data.fyears" :key="index">{{item}}</view>
-					</picker-view-column>
-					<picker-view-column>
-						<view class="w-picker-item" v-for="(item,index) in data.fmonths" :key="index">{{item}}</view>
-					</picker-view-column>
-					<picker-view-column>
-						<view class="w-picker-item" v-for="(item,index) in data.fdays" :key="index">{{item}}</view>
-					</picker-view-column>
-					<picker-view-column>
-						<view class="w-picker-item">-</view>
-					</picker-view-column>
-					<picker-view-column>
-						<view class="w-picker-item" v-for="(item,index) in data.tyears" :key="index">{{item}}</view>
-					</picker-view-column>
-					<picker-view-column>
-						<view class="w-picker-item" v-for="(item,index) in data.tmonths" :key="index">{{item}}</view>
-					</picker-view-column>
-					<picker-view-column>
-						<view class="w-picker-item" v-for="(item,index) in data.tdays" :key="index">{{item}}</view>
-					</picker-view-column>
-				</picker-view>
-			</view>
-			<view class="w-picker-view" v-if="mode=='time'">
-				<picker-view :indicator-style="itemHeight" :value="pickVal" @change="bindChange">
-					<picker-view-column>
-						<view class="w-picker-item" v-for="(item,index) in data.hours" :key="index">{{item}}时</view>
-					</picker-view-column>
-					<picker-view-column>
-						<view class="w-picker-item" v-for="(item,index) in data.minutes" :key="index">{{item}}分</view>
-					</picker-view-column>
-					<picker-view-column>
-						<view class="w-picker-item" v-for="(item,index) in data.seconds" :key="index">{{item}}秒</view>
-					</picker-view-column>
-				</picker-view>
-			</view>
-			<view class="w-picker-view" v-if="mode=='region'">
-				<picker-view :indicator-style="itemHeight" :value="pickVal" @change="bindChange">
-					<picker-view-column>
-						<view class="w-picker-item" v-for="(item,index) in data.provinces" :key="index">{{item.label}}</view>
-					</picker-view-column>
-					<picker-view-column>
-						<view class="w-picker-item" v-for="(item,index) in data.citys" :key="index">{{item.label}}</view>
-					</picker-view-column>
-					<picker-view-column v-if="!hideArea">
-						<view class="w-picker-item" v-for="(item,index) in data.areas" :key="index">{{item.label}}</view>
-					</picker-view-column>
-				</picker-view>
-			</view>
-			<view class="w-picker-view" v-if="mode=='selector'">
-				<picker-view :indicator-style="itemHeight" :value="pickVal" @change="bindChange">
-					<picker-view-column>
-						<view class="w-picker-item" v-for="(item,index) in data" :key="index">{{item.label}}</view>
-					</picker-view-column>
-				</picker-view>
-			</view>
-			<view class="w-picker-view" v-if="mode=='limit'">
-				<picker-view :indicator-style="itemHeight" :value="pickVal" @change="bindChange">
-					<picker-view-column>
-						<view class="w-picker-item" v-for="(item,index) in data.date" :key="index">{{item.label}}</view>
-					</picker-view-column>
-					<picker-view-column>
-						<view class="w-picker-item" v-for="(item,index) in data.hours" :key="index">{{item.label}}时</view>
-					</picker-view-column>
-					<picker-view-column>
-						<view class="w-picker-item" v-for="(item,index) in data.minutes" :key="index">{{item.label}}分</view>
-					</picker-view-column>
-				</picker-view>
-			</view>
-			<view class="w-picker-view" v-if="mode=='limitHour'">
-				<picker-view :indicator-style="itemHeight" :value="pickVal" @change="bindChange">
-					<picker-view-column>
-						<view class="w-picker-item" v-for="(item,index) in data.date" :key="index">{{item.label}}</view>
-					</picker-view-column>
-					<picker-view-column>
-						<view class="w-picker-item" v-for="(item,index) in data.areas" :key="index">{{item.label}}</view>
-					</picker-view-column>
-					<picker-view-column>
-						<view class="w-picker-item" v-for="(item,index) in data.hours" :key="index">{{item.label}}时</view>
-					</picker-view-column>
-				</picker-view>
-			</view>
-		</view>
-	</view>
-</template>
-
-<script>
-	import provinces from './city-data/province.js';
-	import citys from './city-data/city.js';
-	import areas from './city-data/area.js';
-	import initPicker from "./w-picker.js";
-	function oneOf (value, validList) {
-		for (let i = 0; i < validList.length; i++) {
-		  if (value === validList[i]) {
-			return true;
-		  }
-		}
-		throw new Error('mode无效,请选择有效的mode!');
-		return false;
-	}
-	export default {
-		data() {
-			return {
-				result:[],
-				data:{},
-				checkArr:[],
-				checkValue:[],
-				pickVal:[],
-				showPicker:false,
-				resultStr:"",
-				itemHeight:`height: ${uni.upx2px(88)}px;`
-			};
-		},
-		computed:{
-			
-		},
-		props:{
-			mode:{
-				type:String,
-				validator(mode){
-					let modeList=['half','date', 'dateTime', 'yearMonth','time','region','selector','limit','limitHour','range','linkage'];//过滤无效mode;
-					return oneOf(mode,modeList);
-				},
-				default(){
-					return "date"
-				}
-			},
-			themeColor:{
-				type:String,
-				default(){
-					return "#f5a200"
-				}
-			},
-			startYear:{
-				type:[String,Number],
-				default(){
-					return "1970"
-				}
-			},
-			endYear:{
-				type:[String,Number],
-				default(){
-					return new Date().getFullYear()+''
-				}
-			},
-			defaultVal:{
-				type:Array,
-				default(){
-					return [0,0,0,0,0,0,0]
-				}
-			},
-			areaCode:{
-				type:Array,
-				default(){
-					return null
-				}
-			},
-			hideArea:{//隐藏省市区三级联动   地区列
-				type:Boolean,
-				default:false
-			},
-			step:{
-				type:[String,Number],
-				default:1
-			},
-			current:{
-				type:Boolean,
-				default:false
-			},
-			selectList:{
-				type:Array,
-				default(){
-					return [];
-				}
-			},
-			//以下参数仅对mode==limit有效
-			dayStep:{
-				type:[String,Number],
-				default:7
-			},
-			startHour:{
-				type:[String,Number],
-				default:8
-			},
-			endHour:{
-				type:[String,Number],
-				default:20
-			},
-			minuteStep:{
-				type:[String,Number],
-				default:10
-			},
-			afterStep:{
-				type:[String,Number],
-				default:30
-			},
-			disabledAfter:{
-				type:Boolean,
-				default:false
-			},
-			linkList:{
-				type:Array,
-				default(){
-					return []
-				}
-			},
-			value:{
-				type:Array,
-				default(){
-					return null
-				}
-			},
-			level:{
-				type:[Number,String],
-				default:2
-			}
-		},
-		watch:{
-			mode(){
-				this.initData();
-			},
-			selectList(){
-				this.initData();
-			},
-			linkList(){
-				this.initData();
-			}
-		},
-		methods:{
-			getLinkageVal(value,flag){
-				let dval=[];
-				let arr=value;
-				let list=this.linkList;
-				let lev=this.level;
-				let k=0;
-				let checkArr=[];
-				let checkValue=[];
-				let resultStr="";
-				let data=[];
-				switch(lev){
-					case 2:
-						dval=[0,0];
-						break;
-					case 3:
-						dval=[0,0,0];
-						break;
-				}
-				const getData=(obj,key,str)=>{
-					if(key<lev){
-						data.push(obj);
-						if(arr.length==7){
-							let item=obj[0];
-							checkArr.push(item.label);
-							checkValue.push(item.value);
-							resultStr+=item.label;
-							if(item.children){
-								getData(item.children,key+=1);
-							}
-						}else{
-							obj.map((v,j)=>{
-								if(flag?v.value==arr[key]:v.label==arr[key]){
-									dval[key]=j;
-									checkArr.push(v.label);
-									checkValue.push(v.value);
-									resultStr+=v.label;
-									if(v.children){
-										getData(v.children,key+=1);
-									}
-								}
-							});
-						}
-						return {
-							data,
-							dval,
-							checkArr,
-							checkValue,
-							resultStr
-						};
-					}else{
-						return false;
-					}
-				};
-				return getData(list,k);
-			},
-			getRegionVal(value,useCode){
-				let province=value[0];
-				let city=value[1];
-				let a=0,b=0,c=0,dval=[];
-				let _this=this;
-				provinces.map((v,k)=>{
-					if(useCode?v.value==province:v.label==province){
-						a=k;
-					}
-				})
-				citys[a].map((v,k)=>{
-					if(useCode?v.value==city:v.label==city){
-						b=k;
-					}
-				})
-				if(!_this.hideArea){
-					let area=value[2];
-					areas[a][b].map((v,k)=>{
-						if(useCode?v.value==area:v.label==area){
-							c=k;
-						}
-					})
-					dval=[a,b,c];
-				}else{
-					dval=[a,b];
-				}
-				return dval;
-			},
-			useCurrent(){
-				let aToday=new Date();
-				let tYear=aToday.getFullYear().toString();
-				let tMonth=this.formatNum(aToday.getMonth()+1).toString();
-				let tDay=this.formatNum(aToday.getDate()).toString();
-				let tHours=this.formatNum(aToday.getHours()).toString();
-				let tMinutes=this.formatNum(aToday.getMinutes()).toString();
-				let tSeconds=this.formatNum(aToday.getSeconds()).toString();
-				if(this.current){
-					return [tYear,tMonth,tDay,tHours,(Math.floor(tMinutes/this.step)*this.step).toString(),tSeconds];
-				}else{
-					return this.defaultVal;
-				}
-			},
-			formatNum(num){
-				return num<10?'0'+num:num+'';
-			},
-			maskTap(){
-				this.showPicker = false;
-			},
-			show(){
-				this.showPicker = true;
-			},
-			hide(){
-				this.showPicker = false;
-			},
-			pickerCancel(){
-				this.$emit("cancel",{
-					checkArr:this.checkArr,
-					defaultVal:this.pickVal
-				});
-				this.showPicker = false;
-			},
-			pickerConfirm(e){
-				switch(this.mode){
-					case "range":
-						let checkArr=this.checkArr;
-						let fDateTime=new Date(checkArr[0],checkArr[1],checkArr[2]);
-						let tDateTime=new Date(checkArr[3],checkArr[4],checkArr[5]);
-						let dVal=this.pickVal;
-						if(fDateTime>tDateTime){
-							this.checkArr=[checkArr[3],checkArr[4],checkArr[5],checkArr[0],checkArr[1],checkArr[2]];
-							this.pickVal=[dVal[4],dVal[5],dVal[6],0,dVal[0],dVal[1],dVal[2]];
-							this.$emit("confirm",{
-								checkArr:this.checkArr,
-								from:checkArr[3]+"-"+checkArr[4]+"-"+checkArr[5],
-								to:checkArr[0]+"-"+checkArr[1]+"-"+checkArr[2],
-								defaultVal:this.pickVal,
-								result:this.resultStr
-							});
-						}else{
-							this.$emit("confirm",{
-								checkArr:this.checkArr,
-								from:checkArr[0]+"-"+checkArr[1]+"-"+checkArr[2],
-								to:checkArr[3]+"-"+checkArr[4]+"-"+checkArr[5],
-								defaultVal:this.pickVal,
-								result:this.resultStr
-							});
-						}
-						break;
-					case "limit":
-						let aTime=new Date().getTime();
-						let bTime=new Date(this.resultStr.replace(/-/g,'/')).getTime();
-						if(aTime>bTime){
-							uni.showModal({
-								title:"提示",
-								content:"选择时间必须大于当前时间",
-								confirmColor:this.themeColor
-							});
-							return;
-						}
-						this.$emit("confirm",{
-							checkArr:this.checkArr,
-							defaultVal:this.pickVal,
-							result:this.resultStr
-						});
-						break;
-					case "region":
-					case "linkage":
-						this.$emit("confirm",{
-							checkArr:this.checkArr,
-							checkValue:this.checkValue,
-							defaultVal:this.pickVal,
-							result:this.resultStr
-						});
-						break;
-					default:
-						this.$emit("confirm",{
-							checkArr:this.checkArr,
-							defaultVal:this.pickVal,
-							result:this.resultStr
-						});
-						break;
-				}
-				this.showPicker = false;
-			},
-			bindChange(val){
-				let _this=this;
-				let arr=val.detail.value;
-				let year="",month="",day="",hour="",minute="",second="",note=[],province,city,area;
-				let checkArr=_this.checkArr;
-				let days=[];
-				let months=[];
-				let mode=_this.mode;
-				let col1,col2,col3,d,a,h,m;
-				let xDate=new Date().getTime();
-				switch(mode){
-					case "limitHour":
-						col1=_this.data.date[arr[0]];
-						col2=_this.data.areas[arr[1]];
-						col3=_this.data.hours[arr[2]];
-						if(col1.value!=checkArr[0].value){
-							arr[1]=0;
-							arr[2]=0;
-							let areas=initPicker.limitHour.initAreas(col1);
-							_this.data.areas=areas;
-							let hours=initPicker.limitHour.initHours(col1,_this.data.areas[arr[1]]);
-							_this.data.hours=hours;
-						};
-						if(col2.value!=checkArr[1].value){
-							arr[2]=0;
-							let hours=initPicker.limitHour.initHours(col1,_this.data.areas[arr[1]]);
-							_this.data.hours=hours;
-						};
-						d=_this.data.date[arr[0]]||_this.data.date[_this.data.date.length-1];
-						a=_this.data.areas[arr[1]]||_this.data.areas[_this.data.areas.length-1];
-						h=_this.data.hours[arr[2]]||_this.data.hours[_this.data.hours.length-1];
-						_this.checkArr=[d,a,h];
-						_this.resultStr=`${d.value+' '+a.label+' '+h.label+"时"}`;
-						break;
-					case "limit":
-						col1=_this.data.date[arr[0]];
-						col2=_this.data.hours[arr[1]];
-						if(col1.value!=checkArr[0].value){
-							let hours=initPicker.limit.initHours(_this.startHour,_this.endHour,_this.minuteStep,_this.afterStep,col1.value);
-							let minutes=initPicker.limit.initMinutes(_this.startHour,_this.endHour,_this.minuteStep,_this.afterStep,col1.value,col2.value);
-							_this.data.hours=hours;
-							_this.data.minutes=minutes;
-						};
-						if(col2.value!=checkArr[1].value){
-							let minutes=initPicker.limit.initMinutes(_this.startHour,_this.endHour,_this.minuteStep,_this.afterStep,col1.value,col2.value);
-							_this.data.minutes=minutes;
-						};
-						d=_this.data.date[arr[0]]||_this.data.date[_this.data.date.length-1];
-						h=_this.data.hours[arr[1]]||_this.data.hours[_this.data.hours.length-1];
-						m=_this.data.minutes[arr[2]]||_this.data.minutes[_this.data.minutes.length-1];
-						_this.checkArr=[d,h,m];
-						_this.resultStr=`${d.value+' '+h.value+':'+m.value+":"+"00"}`;
-						break;
-					case "range":
-						let fyear=_this.data.fyears[arr[0]]||_this.data.fyears[_this.data.fyears.length-1];
-						let fmonth=_this.data.fmonths[arr[1]]||_this.data.fmonths[_this.data.fmonths.length-1];
-						let fday=_this.data.fdays[arr[2]]||_this.data.fdays[_this.data.fdays.length-1];
-						let tyear=_this.data.tyears[arr[4]]||_this.data.tyears[_this.data.tyears.length-1];
-						let tmonth=_this.data.tmonths[arr[5]]||_this.data.tmonths[_this.data.tmonths.length-1];
-						let tday=_this.data.tdays[arr[6]]||_this.data.tdays[_this.data.tdays.length-1];
-						if(fyear!=checkArr[0]){
-							days=initPicker.range.initDays(fyear,fmonth);
-							_this.data.fdays=days;
-						};
-						if(fmonth!=checkArr[1]){
-							days=initPicker.range.initDays(fyear,fmonth);
-							_this.data.fdays=days;
-						};
-						if(tyear!=checkArr[3]){
-							days=initPicker.range.initDays(tyear,tmonth);
-							_this.data.tdays=days;
-						};
-						if(tmonth!=checkArr[4]){
-							days=initPicker.range.initDays(tyear,tmonth);
-							_this.data.tdays=days;
-						};
-						_this.checkArr=[fyear,fmonth,fday,tyear,tmonth,tday];
-						_this.resultStr=`${fyear+'-'+fmonth+'-'+fday+'至'+tyear+'-'+tmonth+'-'+tday}`;
-						break;
-					case "half":
-						year=_this.data.years[arr[0]]||_this.data.years[_this.data.years.length-1];
-						month=_this.data.months[arr[1]]||_this.data.months[_this.data.months.length-1];
-						day=_this.data.days[arr[2]]||_this.data.days[_this.data.days.length-1];
-						area=_this.data.areas[arr[3]]||_this.data.areas[_this.data.areas.length-1];
-						if(year!=checkArr[0]){
-							months=initPicker.date.initMonths(year,_this.disabledAfter);
-							days=initPicker.date.initDays(year,month,_this.disabledAfter);
-							if(_this.disabledAfter){
-								arr[1]=arr[1]>(months.length-1)?months.length-1:arr[1];
-								arr[2]=arr[2]>(days.length-1)?days.length-1:arr[2];
-								month=_this.data.months[arr[1]]||_this.data.months[_this.data.months.length-1];
-								day=_this.data.days[arr[2]]||_this.data.days[_this.data.days.length-1];
-							}
-							_this.data.days=days;
-							_this.data.months=months;
-						};
-						if(month!=checkArr[1]){
-							days=initPicker.date.initDays(year,month,_this.disabledAfter);
-							arr[2]=arr[2]>(days.length-1)?days.length-1:arr[2];
-							day=_this.data.days[arr[2]]||_this.data.days[_this.data.days.length-1];
-							_this.data.days=days;
-						};
-						_this.checkArr=[year,month,day,area];
-						_this.resultStr=`${year+'-'+month+'-'+day+area.label}`;
-						break;		
-					case "date":
-						year=_this.data.years[arr[0]]||_this.data.years[_this.data.years.length-1];
-						month=_this.data.months[arr[1]]||_this.data.months[_this.data.months.length-1];
-						day=_this.data.days[arr[2]]||_this.data.days[_this.data.days.length-1];
-						if(year!=checkArr[0]){
-							months=initPicker.date.initMonths(year,_this.disabledAfter);
-							days=initPicker.date.initDays(year,month,_this.disabledAfter);
-							if(_this.disabledAfter){
-								arr[1]=arr[1]>(months.length-1)?months.length-1:arr[1];
-								arr[2]=arr[2]>(days.length-1)?days.length-1:arr[2];
-								month=_this.data.months[arr[1]]||_this.data.months[_this.data.months.length-1];
-								day=_this.data.days[arr[2]]||_this.data.days[_this.data.days.length-1];
-							}
-							_this.data.days=days;
-							_this.data.months=months;
-						};
-						if(month!=checkArr[1]){
-							days=initPicker.date.initDays(year,month,_this.disabledAfter);
-							arr[2]=arr[2]>(days.length-1)?days.length-1:arr[2];
-							day=_this.data.days[arr[2]]||_this.data.days[_this.data.days.length-1];
-							_this.data.days=days;
-						};
-						_this.checkArr=[year,month,day];
-						_this.resultStr=`${year+'-'+month+'-'+day}`;
-						break;
-					case "yearMonth":
-						year=_this.data.years[arr[0]]||_this.data.years[_this.data.years.length-1];
-						month=_this.data.months[arr[1]]||_this.data.months[_this.data.months.length-1];
-						if(year!=checkArr[0]){
-							if(_this.disabledAfter){
-								arr[1]=arr[1]>(months.length-1)?months.length-1:arr[1];
-								month=_this.data.months[arr[1]]||_this.data.months[_this.data.months.length-1];
-							}
-							months=initPicker.date.initMonths(year,_this.disabledAfter);
-							_this.data.months=months;
-						};
-						_this.checkArr=[year,month];
-						_this.resultStr=`${year+'-'+month}`;
-						break;
-					case "dateTime":
-						year=_this.data.years[arr[0]]||_this.data.years[_this.data.years.length-1];
-						month=_this.data.months[arr[1]]||_this.data.months[_this.data.months.length-1];
-						day=_this.data.days[arr[2]]||_this.data.days[_this.data.days.length-1];
-						hour=_this.data.hours[arr[3]]||_this.data.hours[_this.data.hours.length-1];
-						minute=_this.data.minutes[arr[4]]||_this.data.minutes[_this.data.minutes.length-1];
-						second=_this.data.seconds[arr[5]]||_this.data.seconds[_this.data.seconds.length-1];
-						if(year!=checkArr[0]){
-							arr[2]=0;
-							days=initPicker.date.initDays(year,month);
-							day=_this.data.days[arr[2]]||_this.data.days[_this.data.days.length-1];
-							_this.data.days=days;
-						};
-						if(month!=checkArr[1]){
-							arr[2]=0;
-							days=initPicker.date.initDays(year,month);
-							day=_this.data.days[arr[2]]||_this.data.days[_this.data.days.length-1];
-							_this.data.days=days;
-						};
-						_this.checkArr=[year,month,day,hour,minute,second];
-						_this.resultStr=`${year+'-'+month+'-'+day+' '+hour+':'+minute+':'+second}`;
-						break;
-					case "time":
-						hour=_this.data.hours[arr[0]]||_this.data.hours[_this.data.hours.length-1];
-						minute=_this.data.minutes[arr[1]]||_this.data.minutes[_this.data.minutes.length-1];
-						second=_this.data.seconds[arr[2]]||_this.data.seconds[_this.data.seconds.length-1];
-						_this.checkArr=[hour,minute,second];
-						_this.resultStr=`${hour+':'+minute+':'+second}`;
-						break;
-					case "linkage":
-						let c1,c2,c3;
-						let list=this.linkList;
-						c1=_this.data[0][arr[0]]||_this.data[0][0];
-						c2=_this.data[1][arr[1]]||_this.data[1][0];
-						if(this.level==3){
-							c3=_this.data[2][arr[2]]||_this.data[2][0];
-							if(c1.label!=checkArr[0]){
-								arr[1] = 0;
-								arr[2] = 0;
-								_this.data[1]=list[arr[0]].children;
-								_this.data[2]=list[arr[0]].children[arr[1]].children;
-								c2=_this.data[1][arr[1]]||_this.data[1][0];
-								c3=_this.data[2][arr[2]]||_this.data[2][0];
-							};
-							if(c2.label!=checkArr[1]){
-								arr[2] = 0;
-								_this.data[2]=list[arr[0]].children[arr[1]].children;
-								c3=_this.data[2][arr[2]]||_this.data[2][0];
-							};
-							_this.checkArr=[c1.label,c2.label,c3.label];
-							_this.checkValue=[
-								_this.data[0][arr[0]]?_this.data[0][arr[0]].value:_this.data[0][0].value,
-								_this.data[1][arr[1]]?_this.data[1][arr[1]].value:_this.data[1][0].value,
-								_this.data[2][arr[2]]?_this.data[2][arr[2]].value:_this.data[2][0].value
-							];
-							_this.resultStr=c1.label+c2.label+c3.label;
-						}else{
-							if(c1.label!=checkArr[0]){
-								_this.data[1]=list[arr[0]].children;
-								arr[1] = 0;
-								c2=_this.data[1][arr[1]]||_this.data[1][0];
-							};
-							_this.checkArr=[c1.label,c2.label];
-							_this.checkValue=[
-								_this.data[0][arr[0]]?_this.data[0][arr[0]].value:_this.data[0][0].value,
-								_this.data[1][arr[1]]?_this.data[1][arr[1]].value:_this.data[1][0].value
-							];
-							_this.resultStr=c1.label+c2.label;
-						}
-						break;
-					case "region":
-						province=_this.data.provinces[arr[0]]||_this.data.provinces[0];
-						city=_this.data.citys[arr[1]]||_this.data.citys[0];
-						if(!_this.hideArea){
-							area=_this.data.areas[arr[2]]||_this.data.areas[0];
-						}
-						
-						if(province.label!=checkArr[0]){
-							_this.data.citys = citys[arr[0]]||citys[0];
-							if(!_this.hideArea){
-								_this.data.areas = areas[arr[0]][0]||areas[0][0];
-							}
-							arr[1] = 0;
-							arr[2] = 0;
-							city=_this.data.citys[arr[1]]||_this.data.citys[0];
-							if(!_this.hideArea){
-								area=_this.data.areas[arr[2]]||_this.data.areas[0];
-							}
-						};
-						if(city.label!=checkArr[1]&&!_this.hideArea){
-							_this.data.areas = areas[arr[0]][arr[1]]||areas[0][0];
-							arr[2]=0;
-							area=_this.data.areas[arr[2]]||_this.data.areas[0];
-						};
-						if(!_this.hideArea){
-							_this.checkArr=[province.label,city.label,area.label];
-							_this.checkValue=[
-								_this.data.provinces[arr[0]]?_this.data.provinces[arr[0]].value:_this.data.provinces[0].value,
-								_this.data.citys[arr[1]]?_this.data.citys[arr[1]].value:_this.data.citys[0].value,
-								_this.data.areas[arr[2]]?_this.data.areas[arr[2]].value:_this.data.areas[0].value
-							];
-							_this.resultStr=province.label+city.label+area.label;
-						}else{
-							_this.checkArr=[province.label,city.label];
-							_this.checkValue=[
-								_this.data.provinces[arr[0]]?_this.data.provinces[arr[0]].value:_this.data.provinces[0].value,
-								_this.data.citys[arr[1]]?_this.data.citys[arr[1]].value:_this.data.citys[0].value
-							];
-							_this.resultStr=province.label+city.label;
-						};
-						break;
-					case "selector":
-						_this.checkArr=_this.data[arr[0]]||_this.data[_this.data.length-1];
-						_this.resultStr=_this.data[arr[0]]?_this.data[arr[0]].label:_this.data[_this.data.length-1].label;
-						break;	
-				}
-				_this.$nextTick(()=>{
-					_this.pickVal=arr;
-				})
-			},
-			initData(){
-				let _this=this;
-				let data={};
-				let mode=_this.mode;
-				let year,month,day,hour,minute,second,province,city,area;
-				let col1,col2,col3;
-				let dVal=[];
-				switch(mode){
-					case "linkage":
-						let init;
-						if(_this.value){
-							init=_this.getLinkageVal(_this.value,true);
-						}else{
-							init=_this.getLinkageVal(_this.defaultVal);
-						}
-						dVal=init.dval;
-						data=init.data;
-						_this.checkArr=init.checkArr;
-						_this.checkValue=init.checkValue;
-						_this.resultStr=init.resultStr;
-						break;
-					case "region":
-						if(_this.areaCode){
-							dVal=_this.getRegionVal(_this.areaCode,true);
-						}else{
-							dVal=_this.getRegionVal(_this.defaultVal);
-						}
-						if(_this.hideArea){
-							data={
-								provinces:provinces,
-								citys:citys[dVal[0]]
-							};
-						}else{
-							data={
-								provinces:provinces,
-								citys:citys[dVal[0]],
-								areas:areas[dVal[0]][dVal[1]]
-							};
-						};
-						break;
-					case "selector":
-						let idx=0;
-						data=_this.selectList;
-						_this.selectList.map((v,k)=>{
-							if(v.label==this.defaultVal[0]){
-								idx=k;
-							}
-						})
-						dVal=[idx];
-						break;
-					case "limit":
-						data=initPicker.limit.init(_this.dayStep,_this.startHour,_this.endHour,_this.minuteStep,_this.afterStep,this.defaultVal);
-						dVal=data.defaultVal||_this.defaultVal;
-						break;
-					case "limitHour":
-						data=initPicker.limitHour.init(_this.dayStep,this.defaultVal);
-						dVal=data.defaultVal||_this.defaultVal;
-						break;	
-					case "range":
-						data=initPicker.range.init(_this.startYear,_this.endYear,_this.useCurrent(),_this.current);
-						dVal=data.defaultVal||_this.defaultVal;
-						break;
-					default:
-						data=initPicker.date.init(_this.startYear,_this.endYear,_this.mode,_this.step,_this.useCurrent(),_this.current,_this.disabledAfter);
-						dVal=data.defaultVal||_this.defaultVal;
-						break;
-				}
-				_this.data=data;
-				switch(mode){
-					case "limitHour":
-						col1=data.date[dVal[0]]||data.date[data.date.length-1];
-						col2=data.areas[dVal[2]]||data.areas[data.areas.length-1];
-						col3=data.hours[dVal[1]]||data.hours[data.hours.length-1];
-						_this.checkArr=[col1,col2,col3];
-						_this.resultStr=`${col1.value+' '+col2.label+' '+col3.label+'时'}`;
-						break;
-					case "limit":
-						col1=data.date[dVal[0]]||data.date[data.date.length-1];
-						col2=data.hours[dVal[1]]||data.hours[data.hours.length-1];
-						col3=data.minutes[dVal[2]]||data.minutes[data.minutes.length-1];
-						_this.checkArr=[col1,col2,col3];
-						_this.resultStr=`${col1.value+' '+col2.value+':'+col3.value+":"+"00"}`;
-						break;
-					case "range":
-						let fYear=data.fyears[dVal[0]]||data.fyears[data.fyears.length-1];
-						let fmonth=data.fmonths[dVal[1]]||data.fmonths[data.fmonths.length-1];
-						let fday=data.fdays[dVal[2]]||data.fdays[data.fdays.length-1];
-						let tYear=data.tyears[dVal[4]]||data.tyears[data.tyears.length-1];
-						let tmonth=data.tmonths[dVal[5]]||data.tmonths[data.tmonths.length-1];
-						let tday=data.tdays[dVal[6]]||data.tdays[data.tdays.length-1];
-						_this.checkArr=[fYear,fmonth,fday,tYear,tmonth,tday];
-						_this.resultStr=`${fYear+'-'+fmonth+'-'+fday+'至'+tYear+'-'+tmonth+'-'+tday}`;
-						break;
-					case "half":
-						year=data.years[dVal[0]]||data.years[data.years.length-1];
-						month=data.months[dVal[1]]||data.months[data.months.length-1];
-						day=data.days[dVal[2]]||data.days[data.days.length-1];
-						area=data.areas[dVal[3]]||data.areas[data.areas.length-1];
-						_this.checkArr=[year,month,day,area];
-						_this.resultStr=`${year+'-'+month+'-'+day+' '+area.label}`;
-						break;	
-					case "date":
-						year=data.years[dVal[0]]||data.years[data.years.length-1];
-						month=data.months[dVal[1]]||data.months[data.months.length-1];
-						day=data.days[dVal[2]]||data.days[data.days.length-1];
-						_this.checkArr=[year,month,day];
-						_this.resultStr=`${year+'-'+month+'-'+day}`;
-						break;
-					case "yearMonth":
-						year=data.years[dVal[0]]||data.years[data.years.length-1];
-						month=data.months[dVal[1]]||data.months[data.months.length-1];
-						_this.checkArr=[year,month];
-						_this.resultStr=`${year+'-'+month}`;
-						break;
-					case "dateTime":
-						year=data.years[dVal[0]]||data.years[data.years.length-1];
-						month=data.months[dVal[1]]||data.months[data.months.length-1];
-						day=data.days[dVal[2]]||data.days[data.days.length-1];
-						hour=data.hours[dVal[3]]||data.hours[data.hours.length-1];
-						minute=data.minutes[dVal[4]]||data.minutes[data.minutes.length-1];
-						second=data.seconds[dVal[5]]||data.seconds[data.seconds.length-1];
-						_this.resultStr=`${year+'-'+month+'-'+day+' '+hour+':'+minute+':'+second}`;
-						_this.checkArr=[year,month,day,hour,minute];
-						break;
-					case "time":
-						hour=data.hours[dVal[0]]||data.hours[data.hours.length-1];
-						minute=data.minutes[dVal[1]]||data.minutes[data.minutes.length-1];
-						second=data.seconds[dVal[2]]||data.seconds[data.seconds.length-1];
-						_this.checkArr=[hour,minute,second];
-						_this.resultStr=`${hour+':'+minute+':'+second}`;
-						break;
-					case "region":
-						province=data.provinces[dVal[0]];
-						city=data.citys[dVal[1]];
-						if(!_this.hideArea){
-							area=data.areas[dVal[2]];
-							_this.checkArr=[province.label,city.label,area.label];
-							_this.checkValue=[province.value,city.value,area.value];
-							_this.resultStr=province.label+city.label+area.label;
-						}else{
-							_this.checkArr=[province.label,city.label];
-							_this.checkValue=[province.value,city.value];
-							_this.resultStr=province.label+city.label;
-						}
-						break;
-					case "selector":
-						_this.checkArr=data[dVal[0]]||data[data.length-1];
-						_this.resultStr=data[dVal[0]].label||data[data.length-1].label;
-						break;
-				}
-				_this.$nextTick(()=>{
-					_this.pickVal=dVal;
-				})
-			}
-		},
-		mounted() {
-			this.initData();
-		}
-	}
-</script>
-
-<style lang="scss">
-	.w-picker{
-		position: relative;
-		z-index: 888;
-		.mask {
-		  position: fixed;
-		  z-index: 1000;
-		  top: 0;
-		  right: 0;
-		  left: 0;
-		  bottom: 0;
-		  background: rgba(0, 0, 0, 0.6);
-		  visibility: hidden;
-		  opacity: 0;
-		  transition: all 0.3s ease;
-		}
-		.mask.show{
-			visibility: visible;
-			opacity: 1;
-		}
-		.w-picker-cnt {
-		  position: fixed;
-		  bottom: 0;
-		  left: 0;
-		  width: 100%;
-		  transition: all 0.3s ease;
-		  transform: translateY(100%);
-		  z-index: 3000;
-		}
-		.w-picker-cnt.show {
-		  transform: translateY(0);
-		}
-		.w-picker-hd {
-		  display: flex;
-		  align-items: center;
-		  padding: 0 30upx;
-		  height: 88upx;
-		  background-color: #fff;
-		  position: relative;
-		  text-align: center;
-		  font-size: 32upx;
-		  justify-content: space-between;
-		  .w-picker-btn{
-		  	font-size: 30upx;
-		  }
-		}
-		
-		.w-picker-hd:after {
-		  content: ' ';
-		  position: absolute;
-		  left: 0;
-		  bottom: 0;
-		  right: 0;
-		  height: 1px;
-		  border-bottom: 1px solid #e5e5e5;
-		  color: #e5e5e5;
-		  transform-origin: 0 100%;
-		  transform: scaleY(0.5);
-		}
-		.w-picker-item {
-		  text-align: center;
-		  width: 100%;
-		  height: 88upx;
-		  line-height: 88upx;
-		  text-overflow: ellipsis;
-		  white-space: nowrap;
-		  font-size: 30upx;
-		}
-		.w-picker-view {
-		  width: 100%;
-		  height: 476upx;
-		  overflow: hidden;
-		  background-color: rgba(255, 255, 255, 1);
-		  z-index: 666;
-		}
-		picker-view{
-			height: 100%;
-		}
-	}
-
-</style>

+ 0 - 154
components/waterFill/feng-flow.vue

@@ -1,154 +0,0 @@
-<template>
-	<view>
-		<view class="feng_flow">
-			<view class="flow_block">
-				<view class="flow_item" v-for="(item, i1) in lists1" :key="i1">
-					<image :src="item.pic" mode="widthFix" style="width: 100%;"></image>
-					<view class="flow_item_con">
-						<view class="flow_item_title">¥{{ item.price }}</view>
-						<view class="flow_item_des">{{ item.id }}{{ item.yishujia }}</view>
-						<view class="flow_item_des">{{ item.timu }}</view>
-						<view class="flow_item_des">{{ item.nianfen }}</view>
-						<view class="flow_item_des">{{ item.caizhi }}</view>
-						<view class="flow_item_des">{{ item.chicun }}</view>
-					</view>
-				</view>
-			</view>
-			<view class="flow_block">
-				<view class="flow_item" v-for="(item2, i2) in lists2" :key="i2">
-					<image :src="item2.pic" mode="widthFix" style="width: 100%;"></image>
-					<view class="flow_item_con">
-						<view class="flow_item_title">¥{{ item2.price }}</view>
-						<view class="flow_item_des">{{ item2.id }}{{ item2.yishujia }}</view>
-						<view class="flow_item_des">{{ item2.timu }}</view>
-						<view class="flow_item_des">{{ item2.nianfen }}</view>
-						<view class="flow_item_des">{{ item2.caizhi }}</view>
-						<view class="flow_item_des">{{ item2.chicun }}</view>
-					</view>
-					
-				</view>
-			</view>
-		</view>
-		<view class="feng_flow" style="display: none;">
-			<view class="flow_block">
-				<view class="flow_item" v-for="(data,da_i) in dataLists" :key="da_i">
-					<image :src="data.pic" @error="imgError" @load="imgLoad" :id="da_i" mode="widthFix" style="width:100%;"></image>
-				</view>
-			</view>
-			<view class="flow_block"></view>
-		</view>
-	</view>
-</template>
-
-<script>
-export default {
-	name: 'fengFlow',
-	props: {
-		dataLists: {
-			default: []
-		}
-	},
-	data() {
-		return {
-			lists1: [],
-			lists2: [],
-			list1Height:0,
-			list2Height:0,
-			tmp_data:[],
-			loaded:[], //图片加载成功数组
-			loadErr:[], //图片加载失败数组
-			showLoad:false
-		};
-	},
-	methods: {
-		//处理数据
-		refresData(){
-			this.hideLoadFlag()
-			if(this.loaded.length + this.loadErr.length < this.tmp_data.length) return;
-			const that = this
-			this.tmp_data.map((da,di)=>{
-				if(that.list1Height > that.list2Height){
-					that.list2Height += da.img_height
-					that.lists2.push(da)
-				}else{
-					that.list1Height += da.img_height
-					that.lists1.push(da)
-				}
-				
-			})
-		},
-		//图片加载完成补齐数据
-		imgLoad(e){
-			this.loaded.push(e.target.id)
-			//存储数据
-			this.tmp_data[e.target.id]['img_width'] = e.detail.width
-			this.tmp_data[e.target.id]['img_height'] = e.detail.height
-			
-		},
-		//图片未加载成功触发
-		imgError(e){
-			console.log(e)
-			this.loadErr.push(e.target.id)
-		},
-		showLoadFlag(){
-			if(!this.showLoad){
-				this.showLoad = true
-				uni.showLoading({
-					title:'loading...',
-					mask:'none'
-				})
-			}
-		},
-		hideLoadFlag(){
-			if(this.showLoad) {
-				uni.hideLoading();
-				this.showLoad = false;
-			}
-		}
-	},
-	mounted() {
-		const that = this
-		that.tmp_data = that.dataLists
-		that.showLoadFlag()
-	},
-	watch: {
-		dataLists() {
-			console.log('数据变了触发');
-			this.loaded = []
-			this.loadErr = []
-			this.tmp_data = this.dataLists
-			this.showLoadFlag()
-		},
-		loaded(){
-			console.log('加载标记变化')
-			//最后一个加载完成负责刷新数据
-			this.refresData()
-		},
-		loadErr(){
-			//最后一个加载完成负责刷新数据
-			this.refresData()
-		}
-	}
-};
-</script>
-
-<style>
-.feng_flow {
-	display: flex;
-	padding:15upx;
-}
-.flow_block {
-	display: flex;
-	flex: 1;
-	flex-direction: column;
-}
-.flow_item {
-	margin:15upx;
-	border-radius: 20upx;
-	background:#f4f4f4;
-	overflow: hidden;
-}
-.flow_item_con{padding:10upx 20upx 20upx;}
-.flow_item_title{position: relative;font-size:32upx;font-weight: 700;margin-bottom:5upx;}
-.flow_item_des{font-size:24upx;}
-</style>

+ 0 - 169
components/waterFill/u-waterfall.vue

@@ -1,169 +0,0 @@
-<template>
-	<view class="u-waterfall">
-		<view id="u-left-column" class="u-column"><slot name="left" :leftList="leftList"></slot></view>
-		<view id="u-right-column" class="u-column"><slot name="right" :rightList="rightList"></slot></view>
-	</view>
-</template>
-
-<script>
-/**
- * waterfall 瀑布流
- * @description 这是一个瀑布流形式的组件,内容分为左右两列,结合uView的懒加载组件效果更佳。相较于某些只是奇偶数左右分别,或者没有利用vue作用域插槽的做法,uView的瀑布流实现了真正的 组件化,搭配LazyLoad 懒加载和loadMore 加载更多组件,让您开箱即用,眼前一亮。
- * @tutorial https://www.uviewui.com/components/waterfall.html
- * @property {Array} flow-list 用于渲染的数据
- * @property {String Number} add-time 单条数据添加到队列的时间间隔,单位ms,见上方注意事项说明(默认200)
- * @example <u-waterfall :flowList="flowList"></u-waterfall>
- */
-export default {
-	name: "u-waterfall",
-	props: {
-		value: {
-			// 瀑布流数据
-			type: Array,
-			required: true,
-			default: function() {
-				return [];
-			}
-		},
-		// 每次向结构插入数据的时间间隔,间隔越长,越能保证两列高度相近,但是对用户体验越不好
-		// 单位ms
-		addTime: {
-			type: [Number, String],
-			default: 200
-		},
-		// id值,用于清除某一条数据时,根据此idKey名称找到并移除,如数据为{idx: 22, name: 'lisa'}
-		// 那么该把idKey设置为idx
-		idKey: {
-			type: String,
-			default: 'id'
-		}
-	},
-	provide() {
-		return {
-			uWaterfall: this
-		}
-	},
-	data() {
-		return {
-			leftList: [],
-			rightList: [],
-			tempList: [],
-			children: []
-		}
-	},
-	watch: {
-		copyFlowList(nVal, oVal) {
-			// 取差值,即这一次数组变化新增的部分
-			let startIndex = Array.isArray(oVal) && oVal.length > 0 ? oVal.length : 0;
-			// 拼接上原有数据
-			this.tempList = this.tempList.concat(this.cloneData(nVal.slice(startIndex)));
-			this.splitData();
-		}
-	},
-	mounted() {	
-		this.tempList = this.cloneData(this.copyFlowList);
-		this.splitData();
-	},
-	computed: {
-		// 破坏flowList变量的引用,否则watch的结果新旧值是一样的
-		copyFlowList() {
-			return this.cloneData(this.value);
-		}
-	},
-	methods: {
-		async splitData() {
-			if (!this.tempList.length) return;
-			let leftRect = await this.$uGetRect('#u-left-column');
-			let rightRect = await this.$uGetRect('#u-right-column');
-			// 如果左边小于或等于右边,就添加到左边,否则添加到右边
-			let item = this.tempList[0];
-			// 解决多次快速上拉后,可能数据会乱的问题,因为经过上面的两个await节点查询阻塞一定时间,加上后面的定时器干扰
-			// 数组可能变成[],导致此item值可能为undefined
-			if(!item) return ;
-			if (leftRect.height < rightRect.height) {
-				this.leftList.push(item);
-			} else if (leftRect.height > rightRect.height) {
-				this.rightList.push(item);
-			} else {
-				// 这里是为了保证第一和第二张添加时,左右都能有内容
-				// 因为添加第一张,实际队列的高度可能还是0,这时需要根据队列元素长度判断下一个该放哪边
-				if (this.leftList.length <= this.rightList.length) {
-					this.leftList.push(item);
-				} else {
-					this.rightList.push(item);
-				}
-			}
-			// console.log(this.rightList)
-			// 移除临时列表的第一项
-			this.tempList.splice(0, 1);
-			// 如果临时数组还有数据,继续循环
-			if (this.tempList.length) {
-				setTimeout(() => {
-					this.splitData();
-				}, this.addTime)
-			}
-		},
-		cloneData(data) {// 复制而不是引用对象和数组
-			return JSON.parse(JSON.stringify(data));
-		},
-		$uGetRect(selector, all) {
-			return new Promise(resolve => {
-				uni.createSelectorQuery().
-				in(this)[all ? 'selectAll' : 'select'](selector)
-					.boundingClientRect(rect => {
-						if (all && Array.isArray(rect) && rect.length) {
-							resolve(rect)
-						}
-						if (!all && rect) {
-							resolve(rect)
-						}
-					})
-					.exec()
-			})
-		},
-		modify(id, key, value) {// 修改某条数据的某个属性
-			// 如果findIndex找不到合适的条件,就会返回-1
-			let index = -1;
-			index = this.leftList.findIndex(val => val[this.idKey] == id);
-			if(index != -1) {
-				// 如果index不等于-1,说明已经找到了要找的id,修改对应key的值
-				this.leftList[index][key] = value;
-			} else {
-				// 同理于上方面的方法
-				index = this.rightList.findIndex(val => val[this.idKey] == id);
-				if(index != -1) this.rightList[index][key] = value;
-			}
-			// 修改父组件的数据中的对应id的条目
-			index = this.value.findIndex(val => val[this.idKey] == id);
-			if(index != -1) {
-				// 首先复制一份value的数据
-				let data = this.cloneData(this.value);
-				// 修改对应索引的key属性的值为value
-				data[index][key] = value;
-				// 修改父组件通过v-model绑定的变量的值
-				this.$emit('input', data);
-			}
-		}
-	}
-}
-</script>
-
-<style lang="scss" scoped>
-
-.u-waterfall {
-	display: flex;
-	flex-direction: row;
-	align-items: flex-start;
-}
-
-.u-column {
-	display: flex;
-	flex: 1;
-	flex-direction: column;
-	height: auto;
-}
-
-.u-image {
-	width: 100%;
-}
-</style>

+ 0 - 246
components/waterFill/waterFill.vue

@@ -1,246 +0,0 @@
-<template>
-	<view class="flow-box" :style="'height: ' + loadingTop + 'px'">
-		<view class="item"
-			  :class="left[index] == 1 ? 'left' : ''"
-			  :style="'top:' + top[index] + 'px;'"
-			  v-for="(item, index) in newList" :key="index"
-			  :data-index="index"
-			  @click="detail(item.id)">
-			<view class="tui-pro-item" hover-class="hover" :hover-start-time="150">
-				<image :src="item.pic" class="tui-pro-img" mode="widthFix" />
-				<view class="tui-pro-content">
-					<view class="tui-pro-tit">{{item.name}}</view>
-					<view class="tui-pro-tit subTitle">{{item.subTitle}}</view>
-					<view>
-						<view class="tui-pro-price">
-							<text class="tui-sale-price">¥{{item.price}}</text>
-							<text class="tui-factory-price">¥{{item.originalPrice}}</text>
-						</view>
-						<view class="tui-pro-pay">{{item.stock}}人付款</view>
-					</view>
-				</view>
-			</view>
-		</view>
-<!-- 		<view class="loading" v-show="loading" :style="'top: ' + loadingTop + 'px'" >
-			<image src="/static/loading.gif" style="width: 80rpx; height: 80rpx;"></image>
-		</view> -->
-	</view>
-</template>
-
-<script>
-	export default {
-		props: {
-			// 数据列表
-			list: {
-				type: Array,
-				default() {
-					return []
-				}
-			},
-			// 加载动画
-			loading: {
-				type: Boolean,
-				default: false
-			}
-		},
-		data() {
-			return {
-				mark: 0,
-				newList: [],
-				boxHeight: [],
-				top: [], 
-				left: [],
-				loadingTop: 0
-			}
-		},
-		watch: {
-			// 数据
-			list: function (newVal, oldVal) {
-				this.mark = oldVal.length;
-				if (newVal != oldVal) {
-					this.newList = this.list;
-					this.$nextTick(function () {
-						setTimeout(() => {
-							this.waterFall();
-						}, 120)
-					})
-				}
-			}
-		},
-		created() {
-			this.newList = this.list;
-			this.waterFall();
-		},
-		methods: {
-			// 瀑布流定位
-			waterFall() {
-				const query = uni.createSelectorQuery().in(this);
-				query.selectAll('.flow-box .item').boundingClientRect(res => {
-					let len = this.newList.length;
-					console.log(this.newList)
-					let height = 0;
-					for (let i = this.mark; i < len; i++) {
-						height = res[i].height;
-						if (i < 2) {
-							this.$set(this.newList[i], 'top', 0);
-							this.$set(this.newList[i], 'left', i);
-							this.boxHeight.push(height);
-							this.top.push(0);
-							this.left.push(i);
-						} else {
-							let minHeight = this.boxHeight[0];
-							let index = 0;
-							if (minHeight > this.boxHeight[1]) {
-								minHeight = this.boxHeight[1];
-								index = 1;
-							}
-							this.boxHeight[index] = minHeight + height + 5;
-							this.top.push(minHeight + 5);
-							this.left.push(index);
-							this.$set(this.newList[i], 'top', minHeight + 5);
-							this.$set(this.newList[i], 'left', index);
-							this.loadingTop = this.boxHeight[index];
-						}
-					}
-				}).exec();
-			},
-			detail: function(id) {
-				this.$api.navigateTo(`/pages/goods/productDetail?id=${id}`)
-			}
-		}
-	}
-</script>
-
-<style lang="scss" scoped>
-	.flow-box {
-		position: relative;
-		color: #1a1a1a;
-		padding-bottom: var(--window-bottom);
-	}
-	.flow-box .item {
-		position: absolute;
-		left: 0;
-		width:350rpx;
-		border: 1rpx solid #f9f9f9;
-		background: #fff;
-		border-radius: 10rpx;
-	}
-	.flow-box .left {
-		left: 360rpx;
-	}
-	.flow-box .pic {
-		background: #f6f6f6;
-		position: relative;
-		.image{
-			width: 100%; 
-			display: block;
-			border-radius: 12rpx 12rpx 0 0;
-		}
-		.flow-site{
-			height: 40rpx;
-			padding: 0 15rpx;
-			border-radius: 20rpx;
-			background: rgba(0,0,0,.3);
-			position: absolute;
-			left: 20rpx;
-			bottom: 20rpx;
-			line-height: 40rpx;
-			color: #FFFFFF;
-			.iconfont{
-				font-size: $font-size-24;
-			}
-			.text{
-				font-size: $font-size-24;
-				margin:0 8rpx;
-			}
-		}
-	}
-	.flow-box .content {
-		padding:10rpx;
-		display: flex;
-		justify-content: space-between;
-		flex-wrap: wrap;
-		border-radius: 0 0 12rpx 12rpx;
-		&.bg{
-			background: #FED100;
-		}
-		.content-title{
-			width: 100%;
-			font-size: $font-size-24;
-			font-weight: bold;
-			line-height: 30rpx;
-			color: #333333;
-			text-overflow:ellipsis;
-			display: -webkit-box;
-			word-break: break-all;
-			-webkit-box-orient: vertical;
-			-webkit-line-clamp: 2;
-			overflow: hidden;
-			margin-bottom: 10rpx;
-		}
-		.content-hot{
-			height: 40rpx;
-			margin-bottom: 10rpx;
-			.hot{
-				height: 40rpx;
-				padding: 0 15rpx;
-				border-radius: 6rpx;
-				background: #FFF0E6;
-				line-height: 40rpx;
-				font-size: $font-size-24;
-				color:#F07A22;
-				text-align: center;
-			}	
-		}
-		.content-text{
-			width: 100%;
-			font-size: $font-size-24;
-			line-height: 30rpx;
-			color: #333333;
-			text-overflow:ellipsis;
-			display: -webkit-box;
-			word-break: break-all;
-			-webkit-box-orient: vertical;
-			-webkit-line-clamp: 2;
-			overflow: hidden;
-			margin-bottom: 10rpx;
-		}
-		.content-price{
-			font-size: $font-size-24;
-			line-height: 30rpx;
-			color: #333333;
-			.price{
-				color: #E84F13;
-			}
-		}
-		.content-rank{
-			line-height: 30rpx;
-			font-size: 22rpx;
-			color: #333333;
-			margin-bottom: 10rpx;
-		}
-		.content-make{
-			line-height: 30rpx;
-			font-size: 22rpx;
-			color: #666;
-		}
-	}
-	.flow-box .content text {
-		width: 100%;
-		font-size: 24rpx;
-		margin-bottom: 20rpx;
-	}
-	.flow-box .user {
-		display: flex;
-		width: 220rpx;
-		overflow: hidden;
-		font-size: 26rpx;
-		color: #666;
-	}
-	.loading {
-		position: absolute;
-		width: 100%;
-		text-align: center;
-		padding: 20rpx 0;
-	}
-</style>

برخی فایل ها در این مقایسه diff نمایش داده نمی شوند زیرا تعداد فایل ها بسیار زیاد است