Browse Source

update .gitignore

张文飞 3 năm trước cách đây
mục cha
commit
70144ddf9e
34 tập tin đã thay đổi với 3570 bổ sung5490 xóa
  1. 1 0
      .gitignore
  2. 1 1
      App.vue
  3. 528 528
      components/bory-datePicker/index.vue
  4. 30 30
      components/charts/blueHorBarChartTwo.vue
  5. 4 4
      components/subComponents/dmChengjiao2Screen.vue
  6. 14 14
      components/subComponents/dmExplainPicker.vue
  7. 375 375
      components/subComponents/dmHexiaoScreenPicker.vue
  8. 215 215
      components/subComponents/dmTimeLevelScreen.vue
  9. 28 28
      components/utils/util.js
  10. 0 5
      node_modules/vue-count-to/.babelrc
  11. 0 2
      node_modules/vue-count-to/.eslintignore
  12. 0 318
      node_modules/vue-count-to/.eslintrc.js
  13. 0 67
      node_modules/vue-count-to/README.md
  14. BIN
      node_modules/vue-count-to/countDemo.gif
  15. 0 185
      node_modules/vue-count-to/demo/index.css
  16. 0 153
      node_modules/vue-count-to/demo/index.html
  17. 0 2
      node_modules/vue-count-to/dist/vue-count-to.min.js
  18. 0 1
      node_modules/vue-count-to/dist/vue-count-to.min.js.map
  19. 0 65
      node_modules/vue-count-to/package.json
  20. 0 5
      node_modules/vue-count-to/src/index.js
  21. 0 46
      node_modules/vue-count-to/src/requestAnimationFrame.js
  22. 0 191
      node_modules/vue-count-to/src/vue-countTo.vue
  23. 0 87
      node_modules/vue-count-to/webpack.config.js
  24. 0 21
      node_modules/weixin-js-sdk/README.md
  25. 0 898
      node_modules/weixin-js-sdk/index.js
  26. 0 2
      node_modules/weixin-js-sdk/index.original.js
  27. 0 40
      node_modules/weixin-js-sdk/package.json
  28. 149 0
      package-lock.json
  29. 2 0
      package.json
  30. 1235 1235
      pages/homePage/homePage.vue
  31. 554 554
      pages/houseDetail/houseDetail.vue
  32. 361 361
      pages/reportPage/reportPage.vue
  33. 24 8
      pages/webviewPage/webviewPage.vue
  34. 49 49
      util/api.js

+ 1 - 0
.gitignore

@@ -2,3 +2,4 @@ unpackage/dist
 .hbuilderx
 uni_modules
 changelog.md
+node_modules

+ 1 - 1
App.vue

@@ -12,7 +12,7 @@
 			 *    bug: 如果之前去掉code,则会进入(一)进入了死循环;
 			 *    想法:先去让他带着code去regist,成功则说明是新的code,失败则去掉code进入(一)
 			 */
-			if(!code){
+			if(!code&&false){
 				let url =  href.split('#')[0];
 				url = encodeURIComponent(url);
 				url = "https://open.weixin.qq.com/connect/oauth2/authorize?appid="+config.appid+"&redirect_uri="+url+"&response_type=code&scope=snsapi_userinfo&state=123&connect_redirect=1#wechat_redirect"

Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 528 - 528
components/bory-datePicker/index.vue


+ 30 - 30
components/charts/blueHorBarChartTwo.vue

@@ -3,25 +3,25 @@
 		<!-- #ifdef APP-PLUS || H5 -->
 		<view class="top-Section">
 			<!-- <view class="title">{{title}}</view> -->
-			<view class="title" v-if="type=='default'">{{title}}</view>
-			<view class="leftBtn" v-if="type=='type1'" @click='leftBtnAction'>
-				<view class="btnName">
-					{{title}}
-				</view>
-				<image class="btnIcon" src="../../static/icons/icon_drop_black@2x.png" mode=""></image>
-			</view>
-			<view  class="rightBtn">
-				<view style="display: flex;"   @click="exportAction" v-if="isShowExport" >
-					<view class="btnName" style="margin-right: 1px;cursor: pointer;">导出</view>
-					<image class="icon_export" src="../../static/icons/icon_export@2x.png" mode=""></image>
-				</view>
-				
-				<view style="display: flex;margin-left: 0rpx;"  @click="rightBtnAction" v-if="rightTitle.length > 0">
-					<view class="btnName">
-						{{rightTitle}}
-					</view>
-					<image class="btnIcon" src="../../static/icons/icon_dropDown@2x.png" mode=""></image>
-				</view>
+			<view class="title" v-if="type=='default'">{{title}}</view>
+			<view class="leftBtn" v-if="type=='type1'" @click='leftBtnAction'>
+				<view class="btnName">
+					{{title}}
+				</view>
+				<image class="btnIcon" src="../../static/icons/icon_drop_black@2x.png" mode=""></image>
+			</view>
+			<view  class="rightBtn">
+				<view style="display: flex;"   @click="exportAction" v-if="isShowExport" >
+					<view class="btnName" style="margin-right: 1px;cursor: pointer;">导出</view>
+					<image class="icon_export" src="../../static/icons/icon_export@2x.png" mode=""></image>
+				</view>
+				
+				<view style="display: flex;margin-left: 0rpx;"  @click="rightBtnAction" v-if="rightTitle.length > 0">
+					<view class="btnName">
+						{{rightTitle}}
+					</view>
+					<image class="btnIcon" src="../../static/icons/icon_dropDown@2x.png" mode=""></image>
+				</view>
 			</view>
 			
 		</view>
@@ -79,7 +79,7 @@
 			isShowMore: {
 				type: Boolean,
 				default: false
-			},
+			},
 			isShowExport: {
 				type: Boolean,
 				default: false
@@ -88,9 +88,9 @@
 				type: String,
 				default: "数据"
 			},
-			type: {
-				type: String,
-				default: 'default'
+			type: {
+				type: String,
+				default: 'default'
 			}
 		},
 		data() {
@@ -285,11 +285,11 @@
 			getMoreDataAction() {
 				this.$emit('chartGetMoreDataAction', this.chartId)
 			},
-			leftBtnAction() {
-				this.$emit('chartLeftBtnAction', this.chartId)
-			},
-			exportAction(){
-				this.$emit('exportAction',this.chartId)
+			leftBtnAction() {
+				this.$emit('chartLeftBtnAction', this.chartId)
+			},
+			exportAction(){
+				this.$emit('exportAction',this.chartId)
 			},
 			showAllName(e) {
 				// console.log('名字打印:', e)
@@ -437,10 +437,10 @@
 					margin-top: 2rpx;
 					width: 30rpx;
 					height: 30rpx;
-				}
+				}
 				.icon_export {
 					color: #000000;
-					margin-right: 20rpx;
+					margin-right: 20rpx;
 					margin-left: 10rpx;
 					margin-top: 2rpx;
 					width: 26rpx;

+ 4 - 4
components/subComponents/dmChengjiao2Screen.vue

@@ -118,10 +118,10 @@
 			screenDateAction(val, start, end) {
 				// this.$emit('screenDateAction', val, start, end)
 				this.tempDefaultParameter = {
-					value: this.tempDefaultParameter.value,
-					dateType: val,
-					startDate: start,
-					endDate: end,
+					value: this.tempDefaultParameter.value,
+					dateType: val,
+					startDate: start,
+					endDate: end,
 					terminal: this.tempDefaultParameter.terminal
 				}
 			},

+ 14 - 14
components/subComponents/dmExplainPicker.vue

@@ -164,20 +164,20 @@
 							des: '时间范围内,小程序用户产生以下行为的总浏览量,客户每浏览1个页面即产生1个浏览量'
 						}
 					]
-				} else if (this.title == '浏览时长') {
-					this.dataList = [
-						{
-							title: '',
-							des: '在当前时间范围内,客户单次在项目内浏览时长(当天数据当天无法查看,仅能查看截止至昨天的数据)'
-						}
-					]
-				} else if (this.title == '用户转化明细') {
-					this.dataList = [
-						{
-							title: '',
-							des: '在当前时间范围内,IM咨询及视频看房接通情况(当天数据当天无法查看,仅能查看截止至昨天的数据)'
-						}
-					]
+				} else if (this.title == '浏览时长') {
+					this.dataList = [
+						{
+							title: '',
+							des: '在当前时间范围内,客户单次在项目内浏览时长(当天数据当天无法查看,仅能查看截止至昨天的数据)'
+						}
+					]
+				} else if (this.title == '用户转化明细') {
+					this.dataList = [
+						{
+							title: '',
+							des: '在当前时间范围内,IM咨询及视频看房接通情况(当天数据当天无法查看,仅能查看截止至昨天的数据)'
+						}
+					]
 				}
 				
 				// 获电

+ 375 - 375
components/subComponents/dmHexiaoScreenPicker.vue

@@ -1,126 +1,126 @@
-<template>
-	<dm-pop-view ref="popView" title="更多筛选" :isShowConfirm="false" :maskTapHide='true'>
-		<scroll-view class="screen_container" scroll-y="true">
-			<view class="screen-items" v-for="(item, idx) in dataList" :key="idx">
-				<block v-if="!(idx == 1 && screenValue == 1)">
-					<view class="screen_item_title">{{item.title}}</view>
-					<view class="level_tag_view">
-						<text class="level_tag" :style="{ color: item1.isSelect ? '#fff' : '#666', 'background-color': item1.isSelect ? themeColor : '#F1F5F9' }"
-						 v-for="(item1, idx1) in item.subList" :key="idx1" @click="selectAction(item1, idx)">
-							{{item1.title}}
-						</text>
-					</view>
-				</block>
-			</view>
-		</scroll-view>
-
-		<view class="bottom_btn">
-			<text class="reset_btn" :style="`background-color: ${themeColor25};`" @click="resetAction">重置</text>
-			<text class="pop_btn" :style="`background-color: ${themeColor};`" @click="sureAction">确定</text>
-		</view>
-
-	</dm-pop-view>
-</template>
-
-<script>
-	import dmPopView from './dmPopView.vue';
-	let app = getApp()
-
-	export default {
-		props: {
-			screenValue: {
-				type: [String, Number],
-				default: 0
-			},
-			houseId: {
-				type: [String, Number],
-				default: ''
-			},
-			isSingleProject: {
-				type: Boolean,
-				default: false
-			},
-			isBrand: Boolean,
-			defaultParameter: Object
-		},
-		data() {
-			return {
-				themeColor: null,
-				fuzhuColor: null,
-				themeColor50: null,
-				themeColor25: null,
-				fuzhuColor50: null,
-				dataList: [],
-				brandId: ''
-			}
-		},
-		mounted() {
-			this.themeColor = app.globalData.themeColor
-			this.themeColor50 = app.globalData.themeColor50
-			this.themeColor25 = app.globalData.themeColor25
-			this.fuzhuColor = app.globalData.fuzhuColor
-			this.fuzhuColor50 = app.globalData.fuzhuColor50
-			let that = this;
-			uni.getStorage({
-				//获得保存在本地的用户信息
-				key: 'userInfo',
-				success: res => {
-					if (res.data) {
-						//有数据,已登录
-						that.brandId = res.data.brandId;
-						that.reloadDatahandle()
-					}
-				}
-			});
-		},
-		methods: {
-			async dataHandle() {
-				if (!this.isSingleProject) {
-					return
-				}
-				var houseIds = []
-				if (this.houseId != '' && this.houseId != null) {
-					houseIds = [this.houseId]
-				}
-				var self = this
-				let res = await this.$myRequest({
-					url: '/elab-marketing-user/activity_ticket_record/get_ticket_activity',
-					data: {
-						brandId: self.brandId,
-						isBrand: self.isBrand,
-						dateType: self.defaultParameter.dateType,
-						maxDate: self.defaultParameter.endDate,
-						minDate: self.defaultParameter.startDate,
-						houseIds: houseIds,
-						type: self.screenValue + 1
-					}
-				})
-				if (res.data.success) {
-					var tempList = [{
-						title: '全部',
-						isSelect: true,
-						id: 0
-					}]
-					res.data.list.forEach((item, idx) => {
-						var data = {
-							title: item.activityName,
-							isSelect: false,
-							id: item.activityId
-						}
-						tempList.push(data)
-					})
-					this.dataList[3].subList = tempList
-					this.dataList.forEach((item, idx) => {
-						item.subList.forEach((item1, idx1) => {
-							if (item1.hasOwnProperty('idx')) {
-								item1.idx = idx1
-							} else {
-								item1['idx'] = idx1
-							}
-						})
-					})
-				}
-			},
+<template>
+	<dm-pop-view ref="popView" title="更多筛选" :isShowConfirm="false" :maskTapHide='true'>
+		<scroll-view class="screen_container" scroll-y="true">
+			<view class="screen-items" v-for="(item, idx) in dataList" :key="idx">
+				<block v-if="!(idx == 1 && screenValue == 1)">
+					<view class="screen_item_title">{{item.title}}</view>
+					<view class="level_tag_view">
+						<text class="level_tag" :style="{ color: item1.isSelect ? '#fff' : '#666', 'background-color': item1.isSelect ? themeColor : '#F1F5F9' }"
+						 v-for="(item1, idx1) in item.subList" :key="idx1" @click="selectAction(item1, idx)">
+							{{item1.title}}
+						</text>
+					</view>
+				</block>
+			</view>
+		</scroll-view>
+
+		<view class="bottom_btn">
+			<text class="reset_btn" :style="`background-color: ${themeColor25};`" @click="resetAction">重置</text>
+			<text class="pop_btn" :style="`background-color: ${themeColor};`" @click="sureAction">确定</text>
+		</view>
+
+	</dm-pop-view>
+</template>
+
+<script>
+	import dmPopView from './dmPopView.vue';
+	let app = getApp()
+
+	export default {
+		props: {
+			screenValue: {
+				type: [String, Number],
+				default: 0
+			},
+			houseId: {
+				type: [String, Number],
+				default: ''
+			},
+			isSingleProject: {
+				type: Boolean,
+				default: false
+			},
+			isBrand: Boolean,
+			defaultParameter: Object
+		},
+		data() {
+			return {
+				themeColor: null,
+				fuzhuColor: null,
+				themeColor50: null,
+				themeColor25: null,
+				fuzhuColor50: null,
+				dataList: [],
+				brandId: ''
+			}
+		},
+		mounted() {
+			this.themeColor = app.globalData.themeColor
+			this.themeColor50 = app.globalData.themeColor50
+			this.themeColor25 = app.globalData.themeColor25
+			this.fuzhuColor = app.globalData.fuzhuColor
+			this.fuzhuColor50 = app.globalData.fuzhuColor50
+			let that = this;
+			uni.getStorage({
+				//获得保存在本地的用户信息
+				key: 'userInfo',
+				success: res => {
+					if (res.data) {
+						//有数据,已登录
+						that.brandId = res.data.brandId;
+						that.reloadDatahandle()
+					}
+				}
+			});
+		},
+		methods: {
+			async dataHandle() {
+				if (!this.isSingleProject) {
+					return
+				}
+				var houseIds = []
+				if (this.houseId != '' && this.houseId != null) {
+					houseIds = [this.houseId]
+				}
+				var self = this
+				let res = await this.$myRequest({
+					url: '/elab-marketing-user/activity_ticket_record/get_ticket_activity',
+					data: {
+						brandId: self.brandId,
+						isBrand: self.isBrand,
+						dateType: self.defaultParameter.dateType,
+						maxDate: self.defaultParameter.endDate,
+						minDate: self.defaultParameter.startDate,
+						houseIds: houseIds,
+						type: self.screenValue + 1
+					}
+				})
+				if (res.data.success) {
+					var tempList = [{
+						title: '全部',
+						isSelect: true,
+						id: 0
+					}]
+					res.data.list.forEach((item, idx) => {
+						var data = {
+							title: item.activityName,
+							isSelect: false,
+							id: item.activityId
+						}
+						tempList.push(data)
+					})
+					this.dataList[3].subList = tempList
+					this.dataList.forEach((item, idx) => {
+						item.subList.forEach((item1, idx1) => {
+							if (item1.hasOwnProperty('idx')) {
+								item1.idx = idx1
+							} else {
+								item1['idx'] = idx1
+							}
+						})
+					})
+				}
+			},
 			
 			async getActiveTypeDatahandle() {
 				if (!this.isSingleProject) {
@@ -170,117 +170,117 @@
 				}
 			},
 				
-			show() {
-				this.$refs.popView.show()
-			},
-			reloadDataList() {
-				this.dataList = [{
-						title: '排序',
-						subList: [{
-								title: '获券时间倒序',
-								isSelect: true,
-								id: 0
-							},
-							{
-								title: '获券时间正序',
-								isSelect: false,
-								id: 1
-							}
-						]
-					},
-					{
-						title: '奖券状态',
-						subList: [{
-								title: '全部',
-								isSelect: true,
-								id: 0
-							},
-							{
-								title: '可使用',
-								isSelect: false,
-								id: 1
-							},
-							{
-								title: '已使用',
-								isSelect: false,
-								id: 2
-							},
-							{
-								title: '已过期',
-								isSelect: false,
-								id: 3
-							}
-						]
-					},
-					{
-						title: '活动类型',
-						subList: []
-					},
-					{
-						title: '活动名称',
-						subList: []
-					}
-				]
-
-				this.dataList.forEach((item, idx) => {
-					item.subList.forEach((item1, idx1) => {
-						if (item1.hasOwnProperty('idx')) {
-							item1.idx = idx1
-						} else {
-							item1['idx'] = idx1
-						}
-					})
-				})
-
-			},
-			selectAction(e, index) {
-				this.dataList.forEach((item, idx) => {
-					if (index == idx) {
-						if (index > 1) {
-							var isHave = false
-							if (e.id != 0) {
-								item.subList.forEach((item1, idx1) => {
-									if (item1.idx == 0) {
-										item1.isSelect = false
-									}
-									if (item1.idx == e.idx) {
-										item1.isSelect = !item1.isSelect
-									}
-									if (item1.isSelect) {
-										isHave = true
-									}
-								})
-								if (!isHave) {
-									item.subList[0].isSelect = true
-								}
-							} else {
-								item.subList.forEach((item1, idx1) => {
-									item1.isSelect = false
-									if (item1.idx == 0) {
-										item1.isSelect = true
-									}
-								})
-							}
-						} else {
-							item.subList.forEach((item1, idx1) => {
-								item1.isSelect = item1.idx == e.idx ? true : false
-							})
-						}
-					}
-				})
-			},
-			sureAction() {
-				this.$emit('selectScreenAction', this.dataList)
-				this.$refs.popView.hide()
-			},
-			resetAction() {
+			show() {
+				this.$refs.popView.show()
+			},
+			reloadDataList() {
+				this.dataList = [{
+						title: '排序',
+						subList: [{
+								title: '获券时间倒序',
+								isSelect: true,
+								id: 0
+							},
+							{
+								title: '获券时间正序',
+								isSelect: false,
+								id: 1
+							}
+						]
+					},
+					{
+						title: '奖券状态',
+						subList: [{
+								title: '全部',
+								isSelect: true,
+								id: 0
+							},
+							{
+								title: '可使用',
+								isSelect: false,
+								id: 1
+							},
+							{
+								title: '已使用',
+								isSelect: false,
+								id: 2
+							},
+							{
+								title: '已过期',
+								isSelect: false,
+								id: 3
+							}
+						]
+					},
+					{
+						title: '活动类型',
+						subList: []
+					},
+					{
+						title: '活动名称',
+						subList: []
+					}
+				]
+
+				this.dataList.forEach((item, idx) => {
+					item.subList.forEach((item1, idx1) => {
+						if (item1.hasOwnProperty('idx')) {
+							item1.idx = idx1
+						} else {
+							item1['idx'] = idx1
+						}
+					})
+				})
+
+			},
+			selectAction(e, index) {
+				this.dataList.forEach((item, idx) => {
+					if (index == idx) {
+						if (index > 1) {
+							var isHave = false
+							if (e.id != 0) {
+								item.subList.forEach((item1, idx1) => {
+									if (item1.idx == 0) {
+										item1.isSelect = false
+									}
+									if (item1.idx == e.idx) {
+										item1.isSelect = !item1.isSelect
+									}
+									if (item1.isSelect) {
+										isHave = true
+									}
+								})
+								if (!isHave) {
+									item.subList[0].isSelect = true
+								}
+							} else {
+								item.subList.forEach((item1, idx1) => {
+									item1.isSelect = false
+									if (item1.idx == 0) {
+										item1.isSelect = true
+									}
+								})
+							}
+						} else {
+							item.subList.forEach((item1, idx1) => {
+								item1.isSelect = item1.idx == e.idx ? true : false
+							})
+						}
+					}
+				})
+			},
+			sureAction() {
+				this.$emit('selectScreenAction', this.dataList)
+				this.$refs.popView.hide()
+			},
+			resetAction() {
 				this.dataList.forEach((item, idx) => {
 					item.subList.forEach((item1, idx1) => {
 						item1.isSelect = idx1 == 0 ? true: false
 					})
 				})
 				this.$emit('selectScreenAction', this.dataList)
-				this.$refs.popView.hide()
+				this.$refs.popView.hide()
 			},
 			reloadDatahandle() {
 				this.reloadDataList()
@@ -295,152 +295,152 @@
 				// 		self.reloadDataList()
 				// 	}
 				// })
-			}
-		},
-		components: {
-			dmPopView
-		},
-		watch: {
-			screenValue: {
+			}
+		},
+		components: {
+			dmPopView
+		},
+		watch: {
+			screenValue: {
 				handler(e) {
-					this.reloadDatahandle()
-				},
-				immediate: true
-			},
-			houseId: {
-				handler(e) {
-					this.reloadDatahandle()
-				},
-				immediate: true
-			},
-			isSingleProject: {
-				handler(e) {
-					if (e) {
-						this.reloadDatahandle()
-					}
-				},
-				immediate: true
-			},
-			defaultParameter: {
-				handler(e) {
-					this.reloadDatahandle()
-				},
-				deep: true,
-				immediate: true
-			}
-		}
-	}
-</script>
-
-<style scoped lang="scss">
-	.screen_container {
-		position: relative;
-		margin-bottom: 190rpx;
-		width: 750rpx;
-		max-height: 1000rpx;
-
-		.screen_item_title {
-			margin-left: 30rpx;
-			margin-top: 54rpx;
-			line-height: 44rpx;
-			font-size: 32rpx;
-			font-family: Verdana, Verdana-Bold;
-			font-weight: 700;
-			text-align: left;
-			color: #454545;
-		}
-
-		.level_tag_view {
-			margin-left: 30rpx;
-			margin-top: 0rpx;
-			display: flex;
-			flex-wrap: wrap;
-			align-content: center;
-			align-items: center;
-
-			.level_tag {
-				padding: 0 26rpx;
-				box-sizing: border-box;
-				margin-right: 16rpx;
-				min-width: 220rpx;
-				height: 72rpx;
-				border-radius: 12rpx;
-				margin-top: 20rpx;
-				display: flex;
-				flex-direction: column;
-				justify-content: center;
-				align-items: center;
-
-				.level_tag_title {
-					font-size: 28rpx;
-					font-family: Verdana, Verdana-Regular;
-					font-weight: 400;
-					text-align: center;
-				}
-
-				.level_tag_subTitle {
-					margin-top: -5rpx;
-					font-size: 20rpx;
-					font-family: Verdana, Verdana-Regular;
-					font-weight: 400;
-					text-align: center;
-				}
-			}
-		}
-	}
-
-	// .bottom_btn {
-	// 	display: flex;
-	// 	justify-content: center;
-	// 	position: fixed;
-	// 	width: 100%;
-	// 	left: 0;
-	// 	bottom: 60rpx;
-
-	// 	.text {
-	// 		width: 260rpx;
-	// 		height: 84rpx;
-	// 		border-radius: 42rpx;
-	// 		line-height: 84rpx;
-	// 		font-size: 32rpx;
-	// 		font-family: Verdana, Verdana-Regular;
-	// 		font-weight: 400;
-	// 		text-align: center;
-	// 		color: #ffffff;
-	// 	}
-	// }
-
-	.bottom_btn {
-		display: flex;
-		justify-content: center;
-		position: fixed;
-		width: 100%;
-		left: 0;
-		bottom: 60rpx;
-
-		.reset_btn {
-			width: 156rpx;
-			height: 80rpx;
-			border-radius: 40rpx;
-			font-size: 28rpx;
-			font-family: Verdana, Verdana-Bold;
-			font-weight: 700;
-			text-align: center;
-			line-height: 80rpx;
-			color: #666666;
-		}
-
-		.pop_btn {
-			margin-left: 30rpx;
-			width: 444rpx;
-			height: 80rpx;
-			border-radius: 40rpx;
-			font-size: 28rpx;
-			font-family: Verdana, Verdana-Bold;
-			font-weight: 700;
-			text-align: center;
-			line-height: 80rpx;
-			color: #ffffff;
-		}
-	}
+					this.reloadDatahandle()
+				},
+				immediate: true
+			},
+			houseId: {
+				handler(e) {
+					this.reloadDatahandle()
+				},
+				immediate: true
+			},
+			isSingleProject: {
+				handler(e) {
+					if (e) {
+						this.reloadDatahandle()
+					}
+				},
+				immediate: true
+			},
+			defaultParameter: {
+				handler(e) {
+					this.reloadDatahandle()
+				},
+				deep: true,
+				immediate: true
+			}
+		}
+	}
+</script>
+
+<style scoped lang="scss">
+	.screen_container {
+		position: relative;
+		margin-bottom: 190rpx;
+		width: 750rpx;
+		max-height: 1000rpx;
+
+		.screen_item_title {
+			margin-left: 30rpx;
+			margin-top: 54rpx;
+			line-height: 44rpx;
+			font-size: 32rpx;
+			font-family: Verdana, Verdana-Bold;
+			font-weight: 700;
+			text-align: left;
+			color: #454545;
+		}
+
+		.level_tag_view {
+			margin-left: 30rpx;
+			margin-top: 0rpx;
+			display: flex;
+			flex-wrap: wrap;
+			align-content: center;
+			align-items: center;
+
+			.level_tag {
+				padding: 0 26rpx;
+				box-sizing: border-box;
+				margin-right: 16rpx;
+				min-width: 220rpx;
+				height: 72rpx;
+				border-radius: 12rpx;
+				margin-top: 20rpx;
+				display: flex;
+				flex-direction: column;
+				justify-content: center;
+				align-items: center;
+
+				.level_tag_title {
+					font-size: 28rpx;
+					font-family: Verdana, Verdana-Regular;
+					font-weight: 400;
+					text-align: center;
+				}
+
+				.level_tag_subTitle {
+					margin-top: -5rpx;
+					font-size: 20rpx;
+					font-family: Verdana, Verdana-Regular;
+					font-weight: 400;
+					text-align: center;
+				}
+			}
+		}
+	}
+
+	// .bottom_btn {
+	// 	display: flex;
+	// 	justify-content: center;
+	// 	position: fixed;
+	// 	width: 100%;
+	// 	left: 0;
+	// 	bottom: 60rpx;
+
+	// 	.text {
+	// 		width: 260rpx;
+	// 		height: 84rpx;
+	// 		border-radius: 42rpx;
+	// 		line-height: 84rpx;
+	// 		font-size: 32rpx;
+	// 		font-family: Verdana, Verdana-Regular;
+	// 		font-weight: 400;
+	// 		text-align: center;
+	// 		color: #ffffff;
+	// 	}
+	// }
+
+	.bottom_btn {
+		display: flex;
+		justify-content: center;
+		position: fixed;
+		width: 100%;
+		left: 0;
+		bottom: 60rpx;
+
+		.reset_btn {
+			width: 156rpx;
+			height: 80rpx;
+			border-radius: 40rpx;
+			font-size: 28rpx;
+			font-family: Verdana, Verdana-Bold;
+			font-weight: 700;
+			text-align: center;
+			line-height: 80rpx;
+			color: #666666;
+		}
+
+		.pop_btn {
+			margin-left: 30rpx;
+			width: 444rpx;
+			height: 80rpx;
+			border-radius: 40rpx;
+			font-size: 28rpx;
+			font-family: Verdana, Verdana-Bold;
+			font-weight: 700;
+			text-align: center;
+			line-height: 80rpx;
+			color: #ffffff;
+		}
+	}
 </style>

+ 215 - 215
components/subComponents/dmTimeLevelScreen.vue

@@ -1,122 +1,122 @@
-<template>
-	<view class="timeContainer">
-		<view class="title">{{title}}</view>
-		<view class="subTitle">{{subTitle}}</view>
-
-		<view class="bottomSection">
-			<view class="selValue" @click="selectTimeLevelAction">
-				{{selValue.title}}
-			</view>
-			<view class="rightSection">
-				<image class="bottimIcon" src="../../static/icons/icon_aboutUs_DropDown.png" mode=""></image>
-				<view class="line"></view>
-				<view class="sort" :style="`background-color: ${sortType==0 ? '#fff': '#F7F8F9'}; color: ${sortType==0 ? '#333333': '#999999'};`"
-				 @click="sortAction(0)">正序</view>
-				<view class="desSort" :style="`background-color: ${sortType==1 ? '#fff': '#F7F8F9'}; color: ${sortType==1 ? '#333333': '#999999'};`"
-				 @click="sortAction(1)">倒序</view>
-			</view>
-		</view>
-		<dm-picker-view ref="timeLevelPicker" :options="timeLevelList" :value="selValue.value" @confirm="confirm" title="筛选时间维度"></dm-picker-view>
-	</view>
-</template>
-
-<script>
-	import dmPickerView from './dmPickerView.vue'
-
-	export default {
-		props: {
-			title: {
-				type: String,
-				default: '筛选时间维度'
-			},
-			subTitle: {
-				type: String,
-				default: '倒序表示最近到最远排列'
-			},
-			sortType: {
-				type: [Number, String],
-				default: '1'
-			},
-			queryDateType: {
-				type: [Number, String],
-				default: 2
-			},
-			isChengjiao2: {
-				type: Boolean,
-				default: false
-			}
-		},
-		data() {
-			return {
-				selValue: Object,
-				timeLevelList: []
-			}
-		},
-		mounted() {
-
-		},
-		methods: {
-			selectTimeLevelAction() {
-				this.$refs.timeLevelPicker.show()
-			},
-			confirm(e) {
-				this.selValue = e.selItem
-				this.$emit('queryDateTypeAction', e.selItem.value)
-			},
-			sortAction(e) {
-				// this.sortType = e
-				this.$emit('sortTypeAction', e)
-			},
-			reloadTimeLevelList() {
-				if (this.isChengjiao2) {
-					this.timeLevelList = [{
-							title: '最新成交时间',
-							value: 0
-						},
-						{
-							title: '按认购时间',
-							value: 1
-						},
-						{
-							title: '按签约时间',
-							value: 2
-						},
-						{
-							title: '按已结首付时间',
-							value: 3
-						},
-						{
-							title: '按已结全款时间',
-							value: 4
-						}
-					]
-				} else {
-					this.timeLevelList = [{
-							'title': '按首次报备时间',
-							'value': '1'
-						},
-						{
-							'title': '按最新报备时间',
-							'value': '2'
-						},
-						{
-							'title': '按客户动态时间',
-							'value': '3'
-						},
-						{
-							'title': '按保护期截止时间',
-							'value': '4'
-						}
-					]
-					this.selValue = {
-						title: '按最新报备时间',
-						value: '2'
-					}
-				}
-			}
-		},
-		watch: {
-			queryDateType: {
+<template>
+	<view class="timeContainer">
+		<view class="title">{{title}}</view>
+		<view class="subTitle">{{subTitle}}</view>
+
+		<view class="bottomSection">
+			<view class="selValue" @click="selectTimeLevelAction">
+				{{selValue.title}}
+			</view>
+			<view class="rightSection">
+				<image class="bottimIcon" src="../../static/icons/icon_aboutUs_DropDown.png" mode=""></image>
+				<view class="line"></view>
+				<view class="sort" :style="`background-color: ${sortType==0 ? '#fff': '#F7F8F9'}; color: ${sortType==0 ? '#333333': '#999999'};`"
+				 @click="sortAction(0)">正序</view>
+				<view class="desSort" :style="`background-color: ${sortType==1 ? '#fff': '#F7F8F9'}; color: ${sortType==1 ? '#333333': '#999999'};`"
+				 @click="sortAction(1)">倒序</view>
+			</view>
+		</view>
+		<dm-picker-view ref="timeLevelPicker" :options="timeLevelList" :value="selValue.value" @confirm="confirm" title="筛选时间维度"></dm-picker-view>
+	</view>
+</template>
+
+<script>
+	import dmPickerView from './dmPickerView.vue'
+
+	export default {
+		props: {
+			title: {
+				type: String,
+				default: '筛选时间维度'
+			},
+			subTitle: {
+				type: String,
+				default: '倒序表示最近到最远排列'
+			},
+			sortType: {
+				type: [Number, String],
+				default: '1'
+			},
+			queryDateType: {
+				type: [Number, String],
+				default: 2
+			},
+			isChengjiao2: {
+				type: Boolean,
+				default: false
+			}
+		},
+		data() {
+			return {
+				selValue: Object,
+				timeLevelList: []
+			}
+		},
+		mounted() {
+
+		},
+		methods: {
+			selectTimeLevelAction() {
+				this.$refs.timeLevelPicker.show()
+			},
+			confirm(e) {
+				this.selValue = e.selItem
+				this.$emit('queryDateTypeAction', e.selItem.value)
+			},
+			sortAction(e) {
+				// this.sortType = e
+				this.$emit('sortTypeAction', e)
+			},
+			reloadTimeLevelList() {
+				if (this.isChengjiao2) {
+					this.timeLevelList = [{
+							title: '最新成交时间',
+							value: 0
+						},
+						{
+							title: '按认购时间',
+							value: 1
+						},
+						{
+							title: '按签约时间',
+							value: 2
+						},
+						{
+							title: '按已结首付时间',
+							value: 3
+						},
+						{
+							title: '按已结全款时间',
+							value: 4
+						}
+					]
+				} else {
+					this.timeLevelList = [{
+							'title': '按首次报备时间',
+							'value': '1'
+						},
+						{
+							'title': '按最新报备时间',
+							'value': '2'
+						},
+						{
+							'title': '按客户动态时间',
+							'value': '3'
+						},
+						{
+							'title': '按保护期截止时间',
+							'value': '4'
+						}
+					]
+					this.selValue = {
+						title: '按最新报备时间',
+						value: '2'
+					}
+				}
+			}
+		},
+		watch: {
+			queryDateType: {
 				handler(e) {
 					this.reloadTimeLevelList()
 					if (this.isChengjiao2) {
@@ -125,101 +125,101 @@
 					else {
 						this.selValue = this.timeLevelList[parseInt(this.queryDateType - 1)]
 					}
-					this.$forceUpdate()
-				},
-				immediate: true
-			},
-			isChengjiao2: {
-				handler(e) {
-					this.reloadTimeLevelList()
-				},
-				immediate: true
-			}
-		},
-		components: {
-			dmPickerView
-		}
-	}
-</script>
-
-<style scoped lang="scss">
-	.timeContainer {
-		width: 100%;
-		padding: 0 30rpx;
-		box-sizing: border-box;
-		font-family: Verdana;
-
-		.title {
-			color: #454545;
-			font-size: 32rpx;
-			font-weight: bold;
-		}
-
-		.subTitle {
-			color: #999999;
-			font-size: 24rpx;
-			margin-top: 8rpx;
-		}
-
-		.bottomSection {
-			margin-top: 20rpx;
-			height: 94rpx;
-			background-color: #F1F5F9;
-			border-radius: 16rpx;
-			display: flex;
-			align-items: center;
-			padding: 0 30rpx;
-			box-sizing: border-box;
-			justify-content: space-between;
-
-			.selValue {
-				color: #333333;
+					this.$forceUpdate()
+				},
+				immediate: true
+			},
+			isChengjiao2: {
+				handler(e) {
+					this.reloadTimeLevelList()
+				},
+				immediate: true
+			}
+		},
+		components: {
+			dmPickerView
+		}
+	}
+</script>
+
+<style scoped lang="scss">
+	.timeContainer {
+		width: 100%;
+		padding: 0 30rpx;
+		box-sizing: border-box;
+		font-family: Verdana;
+
+		.title {
+			color: #454545;
+			font-size: 32rpx;
+			font-weight: bold;
+		}
+
+		.subTitle {
+			color: #999999;
+			font-size: 24rpx;
+			margin-top: 8rpx;
+		}
+
+		.bottomSection {
+			margin-top: 20rpx;
+			height: 94rpx;
+			background-color: #F1F5F9;
+			border-radius: 16rpx;
+			display: flex;
+			align-items: center;
+			padding: 0 30rpx;
+			box-sizing: border-box;
+			justify-content: space-between;
+
+			.selValue {
+				color: #333333;
 				font-size: 28rpx;
-				flex-grow: 1;
-			}
-
-			.rightSection {
-				display: flex;
-				align-items: center;
-
-				.bottimIcon {
-					width: 14rpx;
-					height: 9rpx;
-				}
-
-				.line {
-					width: 2rpx;
-					height: 52rpx;
-					background-color: #EFEFEF;
-					margin-left: 37rpx;
-				}
-
-				.sort {
-					color: #333333;
-					font-size: 28rpx;
-					background-color: #FFFFFF;
-					border: 2rpx solid #EFEFEF;
-					border-radius: 26rpx;
-					width: 90rpx;
-					height: 52rpx;
-					line-height: 52rpx;
-					text-align: center;
-					margin-left: 37rpx;
-				}
-
-				.desSort {
-					color: #333333;
-					font-size: 28rpx;
-					background-color: #FFFFFF;
-					border: 2rpx solid #EFEFEF;
-					border-radius: 26rpx;
-					width: 90rpx;
-					height: 52rpx;
-					line-height: 52rpx;
-					text-align: center;
-				}
-			}
-
-		}
-	}
+				flex-grow: 1;
+			}
+
+			.rightSection {
+				display: flex;
+				align-items: center;
+
+				.bottimIcon {
+					width: 14rpx;
+					height: 9rpx;
+				}
+
+				.line {
+					width: 2rpx;
+					height: 52rpx;
+					background-color: #EFEFEF;
+					margin-left: 37rpx;
+				}
+
+				.sort {
+					color: #333333;
+					font-size: 28rpx;
+					background-color: #FFFFFF;
+					border: 2rpx solid #EFEFEF;
+					border-radius: 26rpx;
+					width: 90rpx;
+					height: 52rpx;
+					line-height: 52rpx;
+					text-align: center;
+					margin-left: 37rpx;
+				}
+
+				.desSort {
+					color: #333333;
+					font-size: 28rpx;
+					background-color: #FFFFFF;
+					border: 2rpx solid #EFEFEF;
+					border-radius: 26rpx;
+					width: 90rpx;
+					height: 52rpx;
+					line-height: 52rpx;
+					text-align: center;
+				}
+			}
+
+		}
+	}
 </style>

+ 28 - 28
components/utils/util.js

@@ -74,35 +74,35 @@ export const addZero = (num)=>{
 	return num < 10 ? '0'+num : num;
 }
 
-/**
- *  YYYY 2020
- * 	MM   01-12
- * 	DD   01-31
- * 	HH	 01-24
- * 	mm   00-59
- * 	ss   00-59
- * 	根据传入的时间数组和类型转化为不同格式的时间字符串
+/**
+ *  YYYY 2020
+ * 	MM   01-12
+ * 	DD   01-31
+ * 	HH	 01-24
+ * 	mm   00-59
+ * 	ss   00-59
+ * 	根据传入的时间数组和类型转化为不同格式的时间字符串
  */
-export const formateTime = (array, type)=>{
-		const types = [
-			"YYYY",
-			"YYYY-MM",
-			"YYYY-MM-DD",
-			"YYYY-MM-DD HH:mm",
-			"YYYY-MM-DD HH:mm:ss",
-		];
-		const index = types.findIndex((item) => item === type);
-		if (index > -1) {
-			const len = index;
-			if (len > 2) {
-				array.length = len + 2;
-				return `${array.slice(0, 3).join("-")} ${array.slice(3).join(":")}`;
-			} else {
-				array.length = len + 1;
-				return `${array.slice(0, 3).join("-")}`;
-			}
-		}
-		return "";
+export const formateTime = (array, type)=>{
+		const types = [
+			"YYYY",
+			"YYYY-MM",
+			"YYYY-MM-DD",
+			"YYYY-MM-DD HH:mm",
+			"YYYY-MM-DD HH:mm:ss",
+		];
+		const index = types.findIndex((item) => item === type);
+		if (index > -1) {
+			const len = index;
+			if (len > 2) {
+				array.length = len + 2;
+				return `${array.slice(0, 3).join("-")} ${array.slice(3).join(":")}`;
+			} else {
+				array.length = len + 1;
+				return `${array.slice(0, 3).join("-")}`;
+			}
+		}
+		return "";
 	}
 
 /**

+ 0 - 5
node_modules/vue-count-to/.babelrc

@@ -1,5 +0,0 @@
-
-{
-  "presets": ["es2015", "stage-2"],
-  "plugins": ["transform-runtime"]
-}

+ 0 - 2
node_modules/vue-count-to/.eslintignore

@@ -1,2 +0,0 @@
-build/*.js
-config/*.js

+ 0 - 318
node_modules/vue-count-to/.eslintrc.js

@@ -1,318 +0,0 @@
-module.exports = {
-    root: true,
-    parser: 'babel-eslint',
-    parserOptions: {
-        sourceType: 'module'
-    },
-    env: {
-        browser: true,
-        node: true
-    },
-    extends: 'eslint:recommended',
-    // required to lint *.vue files
-    plugins: [
-        'html'
-    ],
-    // check if imports actually resolve
-    'settings': {
-        'import/resolver': {
-            'webpack': {
-                'config': 'build/webpack.base.conf.js'
-            }
-        }
-    },
-    // add your custom rules here
-    'rules': {
-        // don't require .vue extension when importing
-        // 'import/extensions': ['error', 'always', {
-        //     'js': 'never',
-        //     'vue': 'never'
-        // }],
-        // allow debugger during development
-        'no-debugger': process.env.NODE_ENV === 'production' ? 2 : 0,
-        /*
-         * Possible Errors
-         */
-
-        // disallow unnecessary parentheses
-        'no-extra-parens': ['error', 'all', {'nestedBinaryExpressions': false}],
-
-        // disallow negating the left operand of relational operators
-        'no-unsafe-negation': 'error',
-
-        // enforce valid JSDoc comments
-        'valid-jsdoc': 'off',
-
-        /*
-         * Best Practices
-         */
-
-        // enforce return statements in callbacks of array methods
-        'array-callback-return': 'error',
-
-        // enforce consistent brace style for all control statements
-        curly: ['error', 'multi-line'],
-
-        // enforce consistent newlines before and after dots
-        'dot-location': ['error', 'property'],
-
-        // enforce dot notation whenever possible
-        'dot-notation': 'error',
-
-        // require the use of === and !==
-        'eqeqeq': ['error', 'smart'],
-
-        // disallow the use of arguments.caller or arguments.callee
-        'no-caller': 'error',
-
-        // disallow empty functions
-        'no-empty-function': 'error',
-
-        // disallow unnecessary calls to .bind()
-        'no-extra-bind': 'error',
-
-        // disallow unnecessary labels
-        'no-extra-label': 'error',
-
-        // disallow leading or trailing decimal points in numeric literals
-        'no-floating-decimal': 'error',
-
-        // disallow assignments to native objects or read-only global variables
-        'no-global-assign': 'error',
-
-        // disallow the use of eval()-like methods
-        'no-implied-eval': 'error',
-
-        // disallow the use of the __iterator__ property
-        'no-iterator': 'error',
-
-        // disallow unnecessary nested blocks
-        'no-lone-blocks': 'error',
-
-        // disallow multiple spaces
-        'no-multi-spaces': 'error',
-
-        // disallow new operators with the String, Number, and Boolean objects
-        'no-new-wrappers': 'error',
-
-        // disallow octal escape sequences in string literals
-        'no-octal-escape': 'error',
-
-        // disallow the use of the __proto__ property
-        'no-proto': 'error',
-
-        // disallow comparisons where both sides are exactly the same
-        'no-self-compare': 'error',
-
-        // disallow throwing literals as exceptions
-        'no-throw-literal': 'error',
-
-        // disallow unused expressions
-        'no-unused-expressions': 'error',
-
-        // disallow unnecessary calls to .call() and .apply()
-        'no-useless-call': 'error',
-
-        // disallow unnecessary concatenation of literals or template literals
-        'no-useless-concat': 'error',
-
-        // disallow unnecessary escape characters
-        'no-useless-escape': 'error',
-
-        // disallow void operators
-        'no-void': 'error',
-
-        // require parentheses around immediate function invocations
-        'wrap-iife': 'error',
-
-        // require or disallow “Yoda” conditions
-        yoda: 'error',
-
-        /*
-         * Variables
-         */
-
-        // disallow labels that share a name with a variable
-        'no-label-var': 'error',
-
-        // disallow initializing variables to undefined
-        'no-undef-init': 'error',
-        'no-undef': 'off',
-        // disallow the use of variables before they are defined
-        'no-use-before-define': 'error',
-
-        /*
-         * Node.js and CommonJS
-         */
-
-        // disallow new operators with calls to require
-        'no-new-require': 'error',
-
-        /*
-         * Stylistic Issues
-         */
-
-        // enforce consistent spacing inside array brackets
-        'array-bracket-spacing': 'error',
-
-        // enforce consistent spacing inside single-line blocks
-        'block-spacing': 'error',
-
-        // enforce consistent brace style for blocks
-        'brace-style': ['error', '1tbs', {'allowSingleLine': true}],
-
-        // require or disallow trailing commas
-        'comma-dangle': 'error',
-
-        // enforce consistent spacing before and after commas
-        'comma-spacing': 'error',
-
-        // enforce consistent comma style
-        'comma-style': 'error',
-
-        // enforce consistent spacing inside computed property brackets
-        'computed-property-spacing': 'error',
-
-        // require or disallow spacing between function identifiers and their invocations
-        'func-call-spacing': 'error',
-
-        // enforce consistent indentation
-        indent: ['error', 2, {SwitchCase: 1}],
-
-        // enforce the consistent use of either double or single quotes in JSX attributes
-        'jsx-quotes': 'error',
-
-        // enforce consistent spacing between keys and values in object literal properties
-        'key-spacing': 'error',
-
-        // enforce consistent spacing before and after keywords
-        'keyword-spacing': 'error',
-
-        // enforce consistent linebreak style
-        'linebreak-style': 'error',
-
-        // require or disallow newlines around directives
-        'lines-around-directive': 'error',
-
-        // require constructor names to begin with a capital letter
-        'new-cap': 'off',
-
-        // require parentheses when invoking a constructor with no arguments
-        'new-parens': 'error',
-
-        // disallow Array constructors
-        'no-array-constructor': 'error',
-
-        // disallow Object constructors
-        'no-new-object': 'error',
-
-        // disallow trailing whitespace at the end of lines
-        'no-trailing-spaces': 'error',
-
-        // disallow ternary operators when simpler alternatives exist
-        'no-unneeded-ternary': 'error',
-
-        // disallow whitespace before properties
-        'no-whitespace-before-property': 'error',
-
-        // enforce consistent spacing inside braces
-        'object-curly-spacing': ['error', 'always'],
-
-        // require or disallow padding within blocks
-        'padded-blocks': ['error', 'never'],
-
-        // require quotes around object literal property names
-        'quote-props': ['error', 'as-needed'],
-
-        // enforce the consistent use of either backticks, double, or single quotes
-        quotes: ['error', 'single'],
-
-        // enforce consistent spacing before and after semicolons
-        'semi-spacing': 'error',
-
-        // require or disallow semicolons instead of ASI
-        // semi: ['error', 'never'],
-
-        // enforce consistent spacing before blocks
-        'space-before-blocks': 'error',
-
-        'no-console': 'off',
-
-        // enforce consistent spacing before function definition opening parenthesis
-        'space-before-function-paren': ['error', 'never'],
-
-        // enforce consistent spacing inside parentheses
-        'space-in-parens': 'error',
-
-        // require spacing around infix operators
-        'space-infix-ops': 'error',
-
-        // enforce consistent spacing before or after unary operators
-        'space-unary-ops': 'error',
-
-        // enforce consistent spacing after the // or /* in a comment
-        'spaced-comment': 'error',
-
-        // require or disallow Unicode byte order mark (BOM)
-        'unicode-bom': 'error',
-
-
-        /*
-         * ECMAScript 6
-         */
-
-        // require braces around arrow function bodies
-        'arrow-body-style': 'error',
-
-        // require parentheses around arrow function arguments
-        'arrow-parens': ['error', 'as-needed'],
-
-        // enforce consistent spacing before and after the arrow in arrow functions
-        'arrow-spacing': 'error',
-
-        // enforce consistent spacing around * operators in generator functions
-        'generator-star-spacing': ['error', 'after'],
-
-        // disallow duplicate module imports
-        'no-duplicate-imports': 'error',
-
-        // disallow unnecessary computed property keys in object literals
-        'no-useless-computed-key': 'error',
-
-        // disallow unnecessary constructors
-        'no-useless-constructor': 'error',
-
-        // disallow renaming import, export, and destructured assignments to the same name
-        'no-useless-rename': 'error',
-
-        // require let or const instead of var
-        'no-var': 'error',
-
-        // require or disallow method and property shorthand syntax for object literals
-        'object-shorthand': 'error',
-
-        // require arrow functions as callbacks
-        'prefer-arrow-callback': 'error',
-
-        // require const declarations for variables that are never reassigned after declared
-        'prefer-const': 'error',
-
-        // disallow parseInt() in favor of binary, octal, and hexadecimal literals
-        'prefer-numeric-literals': 'error',
-
-        // require rest parameters instead of arguments
-        'prefer-rest-params': 'error',
-
-        // require spread operators instead of .apply()
-        'prefer-spread': 'error',
-
-        // enforce spacing between rest and spread operators and their expressions
-        'rest-spread-spacing': 'error',
-
-        // require or disallow spacing around embedded expressions of template strings
-        'template-curly-spacing': 'error',
-
-        // require or disallow spacing around the * in yield* expressions
-        'yield-star-spacing': 'error'
-    }
-}

+ 0 - 67
node_modules/vue-count-to/README.md

@@ -1,67 +0,0 @@
-# vue-countTo    [![vue2](https://img.shields.io/badge/vue-2.x-brightgreen.svg)](https://vuejs.org/) [![Gemnasium](https://img.shields.io/gemnasium/mathiasbynens/he.svg)](https://github.com/PanJiaChen/vue-countTo) [![license](https://img.shields.io/github/license/mashape/apistatus.svg)](https://github.com/PanJiaChen/vue-countTo) [![npm](https://img.shields.io/npm/v/vue-count-to.svg)](https://www.npmjs.com/package/vue-count-to)
-
-vue-countTo is a dependency-free, lightweight vue component that can be overwrited  easingFn by yourself.
-You can set startVal and endVal ,it will automatic judge count up or count down.
-It is support vue-ssr.
-It is learn from countUp.js;
-
-## [Try the demo](http://panjiachen.github.io/countTo/demo/)
-
-### How to use?
-```bash
-npm install vue-count-to
-```
-
-### Example
-
-```vue
-<template>
-  <countTo :startVal='startVal' :endVal='endVal' :duration='3000'></countTo>
-</template>
-
-<script>
-  import countTo from 'vue-count-to';
-  export default {
-    components: { countTo },
-    data () {
-      return {
-        startVal: 0,
-        endVal: 2017
-      }
-    }
-  }
-</script>
-```
-demo:
-
-![demo](https://github.com/PanJiaChen/vue-countTo/blob/master/countDemo.gif)
-
-Use CDN Script: [demo](https://github.com/PanJiaChen/vue-countTo/blob/master/demo/index.html)
-
-
-
-### Options
-|    Property    |    Description   |   type   |	default	|
-| -----------------  | ---------------- | :--------: | :----------: |
-| startVal       | the value you want to begin at |Number| 0 |
-| endVal         | the value you want to arrive at |Number | 2017 |
-| duration  | duration in millisecond | Number | 3000 |
-| autoplay     | when mounted autoplay | Boolean | true |
-| decimals     | the number of decimal places to show | Number | 0 |
-| decimal     | the split decimal | String | . |
-| separator     | the separator | String | , |
-| prefix     | the prefix | String | '' |
-| suffix     | the suffix | String | '' |
-| useEasing     | is use easing function | Boolean | true |
-| easingFn     | the easing function | Function | — |
-
-** notes: when autoplay:true , it will auto start when startVal or endVal change **
-
-
-### Functions
-| Function Name | Description   |
-| :--------:   | -----  |
-|    mountedCallback    |  when mounted will emit  mountedCallback  |
-|    start    |  start the countTo  |
-|    pause   |  pause  the countTo |
-|    reset    |  reset  the countTo |

BIN
node_modules/vue-count-to/countDemo.gif


+ 0 - 185
node_modules/vue-count-to/demo/index.css

@@ -1,185 +0,0 @@
-body {
-  margin-bottom: 200px;
-}
-
-code {
-  display: block;
-  padding: 8px 15px;
-  background-color: #f6f8fa;
-  border-radius: 5px;
-  border: 1px solid #e5e5e5;
-  overflow-x: auto;
-  font-family: Monaco, Bitstream Vera Sans Mono, Lucida Console, Terminal;
-  color: #333;
-  font-size: 12px;
-}
-
-p,
-ul,
-ol,
-table,
-pre,
-dl {
-  margin: 0 0 20px;
-}
-
-h1 {
-  color: #4AB7BD;
-  font-size: 60px;
-  text-align: center
-}
-
-h3 {
-  font-size: 36px;
-  color: #494949;
-  line-height: 1.1;
-}
-
-.github-corner:hover .octo-arm {
-  animation: octocat-wave 560ms ease-in-out
-}
-
-@keyframes octocat-wave {
-  0%,
-  100% {
-    transform: rotate(0)
-  }
-  20%,
-  60% {
-    transform: rotate(-25deg)
-  }
-  40%,
-  80% {
-    transform: rotate(10deg)
-  }
-}
-
-@media (max-width:500px) {
-  .github-corner:hover .octo-arm {
-    animation: none
-  }
-  .github-corner .octo-arm {
-    animation: octocat-wave 560ms ease-in-out
-  }
-}
-
-#app {
-  margin: 20px;
-}
-
-.container {
-  width: 980px;
-  margin-right: auto;
-  margin-left: auto;
-}
-
-.example-btn {
-  display: inline-block;
-  margin-bottom: 0;
-  font-weight: 500;
-  text-align: center;
-  -ms-touch-action: manipulation;
-  touch-action: manipulation;
-  cursor: pointer;
-  background-image: none;
-  border: 1px solid transparent;
-  white-space: nowrap;
-  line-height: 1.5;
-  padding: 4px 15px;
-  font-size: 12px;
-  border-radius: 4px;
-  -webkit-user-select: none;
-  -moz-user-select: none;
-  -ms-user-select: none;
-  user-select: none;
-  -webkit-transition: all .3s cubic-bezier(.645, .045, .355, 1);
-  transition: all .3s cubic-bezier(.645, .045, .355, 1);
-  position: relative;
-  color: rgba(0, 0, 0, .65);
-  background-color: #fff;
-  border-color: #d9d9d9;
-}
-
-.example-btn:hover {
-  color: #4AB7BD;
-  background-color: #fff;
-  border-color: #4AB7BD;
-}
-
-.example-item {
-  margin-bottom: 80px;
-}
-
-.example1 {
-  font-size: 40px;
-  color: #30B08F;
-  display: block;
-  margin: 10px 0;
-}
-
-.example2 {
-  font-size: 40px;
-  color: #E65D6E;
-  display: block;
-  margin: 10px 0;
-}
-
-.example3 {
-  font-size: 50px;
-  color: #F6416C;
-  display: block;
-  margin: 10px 0;
-  text-align: center;
-  font-size: 80px;
-  font-weight: 500;
-}
-
-.label {
-  color: #2f4f4f;
-  font-size: 16px;
-  display: inline-block;
-  margin: 15px 30px 15px 0;
-}
-
-input {
-  position: relative;
-  display: inline-block;
-  padding: 4px 7px;
-  width: 50px;
-  height: 28px;
-  cursor: text;
-  font-size: 12px;
-  line-height: 1.5;
-  color: rgba(0, 0, 0, .65);
-  background-color: #fff;
-  background-image: none;
-  border: 1px solid #d9d9d9;
-  border-radius: 4px;
-  -webkit-transition: all .3s;
-  transition: all .3s;
-}
-
-.startBtn {
-  margin-left: 20px;
-  font-size: 20px;
-  color: #30B08F;
-  background-color: #fff;
-}
-
-.startBtn:hover {
-  background-color: #30B08F;
-  color: #fff;
-  border-color: #30B08F;
-}
-
-.pause-resume-btn {
-  font-size: 20px;
-  color: #E65D6E;
-  background-color: #fff;
-}
-
-.pause-resume-btn:hover {
-  background-color: #E65D6E;
-  color: #fff;
-  border-color: #E65D6E;
-}

Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 0 - 153
node_modules/vue-count-to/demo/index.html


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 0 - 2
node_modules/vue-count-to/dist/vue-count-to.min.js


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 0 - 1
node_modules/vue-count-to/dist/vue-count-to.min.js.map


+ 0 - 65
node_modules/vue-count-to/package.json

@@ -1,65 +0,0 @@
-{
-  "_from": "vue-count-to",
-  "_id": "vue-count-to@1.0.13",
-  "_inBundle": false,
-  "_integrity": "sha512-6R4OVBVNtQTlcbXu6SJ8ENR35M2/CdWt3Jmv57jOUM+1ojiFmjVGvZPH8DfHpMDSA+ITs+EW5V6qthADxeyYOQ==",
-  "_location": "/vue-count-to",
-  "_phantomChildren": {},
-  "_requested": {
-    "type": "tag",
-    "registry": true,
-    "raw": "vue-count-to",
-    "name": "vue-count-to",
-    "escapedName": "vue-count-to",
-    "rawSpec": "",
-    "saveSpec": null,
-    "fetchSpec": "latest"
-  },
-  "_requiredBy": [
-    "#USER",
-    "/"
-  ],
-  "_resolved": "https://registry.npmjs.org/vue-count-to/-/vue-count-to-1.0.13.tgz",
-  "_shasum": "3e7573ea6e64c2b2972f64e0a2ab2e23c7590ff3",
-  "_spec": "vue-count-to",
-  "_where": "D:\\workSpace\\h5-elab-open-ownerUnion",
-  "author": {
-    "name": "Pan",
-    "email": "panfree23@gmail.com"
-  },
-  "bundleDependencies": false,
-  "deprecated": false,
-  "description": "It's a vue component that will count to a target number at a specified duration",
-  "devDependencies": {
-    "babel-core": "^6.0.0",
-    "babel-eslint": "7.1.1",
-    "babel-loader": "^6.0.0",
-    "babel-plugin-transform-runtime": "^6.15.0",
-    "babel-preset-es2015": "^6.14.0",
-    "babel-preset-stage-2": "^6.13.0",
-    "babel-runtime": "^6.11.6",
-    "cross-env": "^3.0.0",
-    "css-loader": "^0.25.0",
-    "eslint": "3.14.1",
-    "eslint-config-airbnb-base": "11.0.1",
-    "eslint-friendly-formatter": "2.0.7",
-    "eslint-import-resolver-webpack": "0.8.1",
-    "eslint-loader": "1.6.1",
-    "eslint-plugin-html": "2.0.0",
-    "eslint-plugin-import": "2.2.0",
-    "file-loader": "^0.9.0",
-    "vue-loader": "^11.1.4",
-    "vue-template-compiler": "^2.2.1",
-    "webpack": "^2.2.0",
-    "webpack-dev-server": "^2.2.0"
-  },
-  "homepage": "http://panjiachen.github.io/countTo/demo/",
-  "license": "MIT",
-  "main": "dist/vue-count-to.min.js",
-  "name": "vue-count-to",
-  "scripts": {
-    "build": "cross-env NODE_ENV=production webpack --progress --hide-modules",
-    "dev": "cross-env NODE_ENV=development webpack-dev-server --open --hot --content-base='./demo/'"
-  },
-  "version": "1.0.13"
-}

+ 0 - 5
node_modules/vue-count-to/src/index.js

@@ -1,5 +0,0 @@
-import CountTo from './vue-countTo.vue';
-export default CountTo;
-if (typeof window !== 'undefined' && window.Vue) {
-  window.Vue.component('count-to', CountTo);
-}

+ 0 - 46
node_modules/vue-count-to/src/requestAnimationFrame.js

@@ -1,46 +0,0 @@
-let lastTime = 0
-const prefixes = 'webkit moz ms o'.split(' ') // 各浏览器前缀
-
-let requestAnimationFrame
-let cancelAnimationFrame
-
-const isServer = typeof window === 'undefined'
-if (isServer) {
-  requestAnimationFrame = function() {
-    return
-  }
-  cancelAnimationFrame = function() {
-    return
-  }
-} else {
-  requestAnimationFrame = window.requestAnimationFrame
-  cancelAnimationFrame = window.cancelAnimationFrame
-  let prefix
-    // 通过遍历各浏览器前缀,来得到requestAnimationFrame和cancelAnimationFrame在当前浏览器的实现形式
-  for (let i = 0; i < prefixes.length; i++) {
-    if (requestAnimationFrame && cancelAnimationFrame) { break }
-    prefix = prefixes[i]
-    requestAnimationFrame = requestAnimationFrame || window[prefix + 'RequestAnimationFrame']
-    cancelAnimationFrame = cancelAnimationFrame || window[prefix + 'CancelAnimationFrame'] || window[prefix + 'CancelRequestAnimationFrame']
-  }
-
-  // 如果当前浏览器不支持requestAnimationFrame和cancelAnimationFrame,则会退到setTimeout
-  if (!requestAnimationFrame || !cancelAnimationFrame) {
-    requestAnimationFrame = function(callback) {
-      const currTime = new Date().getTime()
-      // 为了使setTimteout的尽可能的接近每秒60帧的效果
-      const timeToCall = Math.max(0, 16 - (currTime - lastTime))
-      const id = window.setTimeout(() => {
-        callback(currTime + timeToCall)
-      }, timeToCall)
-      lastTime = currTime + timeToCall
-      return id
-    }
-
-    cancelAnimationFrame = function(id) {
-      window.clearTimeout(id)
-    }
-  }
-}
-
-export { requestAnimationFrame, cancelAnimationFrame }

+ 0 - 191
node_modules/vue-count-to/src/vue-countTo.vue

@@ -1,191 +0,0 @@
-<template>
-    <span>
-      {{displayValue}}
-    </span>
-</template>
-<script>
-import { requestAnimationFrame, cancelAnimationFrame } from './requestAnimationFrame.js'
-export default {
-  props: {
-    startVal: {
-      type: Number,
-      required: false,
-      default: 0
-    },
-    endVal: {
-      type: Number,
-      required: false,
-      default: 2017
-    },
-    duration: {
-      type: Number,
-      required: false,
-      default: 3000
-    },
-    autoplay: {
-      type: Boolean,
-      required: false,
-      default: true
-    },
-    decimals: {
-      type: Number,
-      required: false,
-      default: 0,
-      validator(value) {
-        return value >= 0
-      }
-    },
-    decimal: {
-      type: String,
-      required: false,
-      default: '.'
-    },
-    separator: {
-      type: String,
-      required: false,
-      default: ','
-    },
-    prefix: {
-      type: String,
-      required: false,
-      default: ''
-    },
-    suffix: {
-      type: String,
-      required: false,
-      default: ''
-    },
-    useEasing: {
-      type: Boolean,
-      required: false,
-      default: true
-    },
-    easingFn: {
-      type: Function,
-      default(t, b, c, d) {
-        return c * (-Math.pow(2, -10 * t / d) + 1) * 1024 / 1023 + b;
-      }
-    }
-  },
-  data() {
-    return {
-      localStartVal: this.startVal,
-      displayValue: this.formatNumber(this.startVal),
-      printVal: null,
-      paused: false,
-      localDuration: this.duration,
-      startTime: null,
-      timestamp: null,
-      remaining: null,
-      rAF: null
-    };
-  },
-  computed: {
-    countDown() {
-      return this.startVal > this.endVal
-    }
-  },
-  watch: {
-    startVal() {
-      if (this.autoplay) {
-        this.start();
-      }
-    },
-    endVal() {
-      if (this.autoplay) {
-        this.start();
-      }
-    }
-  },
-  mounted() {
-    if (this.autoplay) {
-      this.start();
-    }
-    this.$emit('mountedCallback')
-  },
-  methods: {
-    start() {
-      this.localStartVal = this.startVal;
-      this.startTime = null;
-      this.localDuration = this.duration;
-      this.paused = false;
-      this.rAF = requestAnimationFrame(this.count);
-    },
-    pauseResume() {
-      if (this.paused) {
-        this.resume();
-        this.paused = false;
-      } else {
-        this.pause();
-        this.paused = true;
-      }
-    },
-    pause() {
-      cancelAnimationFrame(this.rAF);
-    },
-    resume() {
-      this.startTime = null;
-      this.localDuration = +this.remaining;
-      this.localStartVal = +this.printVal;
-      requestAnimationFrame(this.count);
-    },
-    reset() {
-      this.startTime = null;
-      cancelAnimationFrame(this.rAF);
-      this.displayValue = this.formatNumber(this.startVal);
-    },
-    count(timestamp) {
-      if (!this.startTime) this.startTime = timestamp;
-      this.timestamp = timestamp;
-      const progress = timestamp - this.startTime;
-      this.remaining = this.localDuration - progress;
-
-      if (this.useEasing) {
-        if (this.countDown) {
-          this.printVal = this.localStartVal - this.easingFn(progress, 0, this.localStartVal - this.endVal, this.localDuration)
-        } else {
-          this.printVal = this.easingFn(progress, this.localStartVal, this.endVal - this.localStartVal, this.localDuration);
-        }
-      } else {
-        if (this.countDown) {
-          this.printVal = this.localStartVal - ((this.localStartVal - this.endVal) * (progress / this.localDuration));
-        } else {
-          this.printVal = this.localStartVal + (this.endVal - this.localStartVal) * (progress / this.localDuration);
-        }
-      }
-      if (this.countDown) {
-        this.printVal = this.printVal < this.endVal ? this.endVal : this.printVal;
-      } else {
-        this.printVal = this.printVal > this.endVal ? this.endVal : this.printVal;
-      }
-
-      this.displayValue = this.formatNumber(this.printVal)
-      if (progress < this.localDuration) {
-        this.rAF = requestAnimationFrame(this.count);
-      } else {
-        this.$emit('callback');
-      }
-    },
-    isNumber(val) {
-      return !isNaN(parseFloat(val))
-    },
-    formatNumber(num) {
-      num = num.toFixed(this.decimals);
-      num += '';
-      const x = num.split('.');
-      let x1 = x[0];
-      const x2 = x.length > 1 ? this.decimal + x[1] : '';
-      const rgx = /(\d+)(\d{3})/;
-      if (this.separator && !this.isNumber(this.separator)) {
-        while (rgx.test(x1)) {
-          x1 = x1.replace(rgx, '$1' + this.separator + '$2');
-        }
-      }
-      return this.prefix + x1 + x2 + this.suffix;
-    }
-  },
-  destroyed() {
-    cancelAnimationFrame(this.rAF)
-  }
-};
-</script>

+ 0 - 87
node_modules/vue-count-to/webpack.config.js

@@ -1,87 +0,0 @@
-const path = require('path')
-const webpack = require('webpack')
-function resolve(dir) {
-  return path.join(__dirname, '..', dir)
-}
-module.exports = {
-  entry: './src/index.js',
-  output: {
-    path: path.resolve(__dirname, './dist'),
-    publicPath: '/dist/',
-    filename: 'vue-count-to.min.js',
-    library: 'CountTo',
-    libraryTarget: 'umd',
-    umdNamedDefine: true
-  },
-  module: {
-    rules: [
-      {
-        test: /\.(js|vue)$/,
-        loader: 'eslint-loader',
-        enforce: 'pre',
-        include: [resolve('src'), resolve('test')],
-        options: {
-          formatter: require('eslint-friendly-formatter')
-        }
-      },
-      {
-        test: /\.vue$/,
-        loader: 'vue-loader'
-      },
-      {
-        test: /\.js$/,
-        loader: 'babel-loader',
-        exclude: /node_modules/
-      },
-      {
-        test: /\.(png|jpg|gif|svg)$/,
-        loader: 'file-loader',
-        options: {
-          name: '[name].[ext]?[hash]'
-        }
-      }
-    ]
-  },
-  resolve: {
-    alias: {
-      vue$: 'vue/dist/vue.esm.js'
-    }
-  },
-  externals: {
-    vue: {
-      root: 'Vue',
-      commonjs: 'vue',
-      commonjs2: 'vue',
-      amd: 'vue'
-    }
-  },
-  devServer: {
-    historyApiFallback: true,
-    noInfo: true
-  },
-  performance: {
-    hints: false
-  },
-  devtool: '#source-map'
-}
-
-if (process.env.NODE_ENV === 'production') {
-  module.exports.devtool = '#source-map'
-  // http://vue-loader.vuejs.org/en/workflow/production.html
-  module.exports.plugins = (module.exports.plugins || []).concat([
-    new webpack.DefinePlugin({
-      'process.env': {
-        NODE_ENV: '"production"'
-      }
-    }),
-    new webpack.optimize.UglifyJsPlugin({
-      sourceMap: true,
-      compress: {
-        warnings: false
-      }
-    }),
-    new webpack.LoaderOptionsPlugin({
-      minimize: true
-    })
-  ])
-}

+ 0 - 21
node_modules/weixin-js-sdk/README.md

@@ -1,21 +0,0 @@
-微信官方 js-sdk
-----
-
-说明: 仅将官方 js-sdk 发布到 npm,支持 CommonJS,便于 browserify, webpack 等直接使用
-
-js源码: https://res.wx.qq.com/open/js/jweixin-1.6.0.js
-
-官方使用说明: https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421141115
-
-安装:
-    
-    npm install weixin-js-sdk
-    
-使用:
-    
-    var wx = require('weixin-js-sdk');
-
-### Old versions
-
-* [1.0.0](https://github.com/yanxi-me/weixin-js-sdk/tree/1.0.0)
-* [1.2.0](https://github.com/yanxi-me/weixin-js-sdk/tree/1.2.0)

+ 0 - 898
node_modules/weixin-js-sdk/index.js

@@ -1,898 +0,0 @@
-!(function(e, n) {
-  module.exports = n(e);
-})(window, function(o, e) {
-  if (!o.jWeixin) {
-    var n,
-      c = {
-        config: "preVerifyJSAPI",
-        onMenuShareTimeline: "menu:share:timeline",
-        onMenuShareAppMessage: "menu:share:appmessage",
-        onMenuShareQQ: "menu:share:qq",
-        onMenuShareWeibo: "menu:share:weiboApp",
-        onMenuShareQZone: "menu:share:QZone",
-        previewImage: "imagePreview",
-        getLocation: "geoLocation",
-        openProductSpecificView: "openProductViewWithPid",
-        addCard: "batchAddCard",
-        openCard: "batchViewCard",
-        chooseWXPay: "getBrandWCPayRequest",
-        openEnterpriseRedPacket: "getRecevieBizHongBaoRequest",
-        startSearchBeacons: "startMonitoringBeacons",
-        stopSearchBeacons: "stopMonitoringBeacons",
-        onSearchBeacons: "onBeaconsInRange",
-        consumeAndShareCard: "consumedShareCard",
-        openAddress: "editAddress"
-      },
-      a = (function() {
-        var e = {};
-        for (var n in c) e[c[n]] = n;
-        return e;
-      })(),
-      i = o.document,
-      t = i.title,
-      r = navigator.userAgent.toLowerCase(),
-      s = navigator.platform.toLowerCase(),
-      d = !(!s.match("mac") && !s.match("win")),
-      u = -1 != r.indexOf("wxdebugger"),
-      l = -1 != r.indexOf("micromessenger"),
-      p = -1 != r.indexOf("android"),
-      f = -1 != r.indexOf("iphone") || -1 != r.indexOf("ipad"),
-      m = (n =
-        r.match(/micromessenger\/(\d+\.\d+\.\d+)/) ||
-        r.match(/micromessenger\/(\d+\.\d+)/))
-        ? n[1]
-        : "",
-      g = {
-        initStartTime: L(),
-        initEndTime: 0,
-        preVerifyStartTime: 0,
-        preVerifyEndTime: 0
-      },
-      h = {
-        version: 1,
-        appId: "",
-        initTime: 0,
-        preVerifyTime: 0,
-        networkType: "",
-        isPreVerifyOk: 1,
-        systemType: f ? 1 : p ? 2 : -1,
-        clientVersion: m,
-        url: encodeURIComponent(location.href)
-      },
-      v = {},
-      S = { _completes: [] },
-      y = { state: 0, data: {} };
-    O(function() {
-      g.initEndTime = L();
-    });
-    var I = !1,
-      _ = [],
-      w = {
-        config: function(e) {
-          B("config", (v = e));
-          var t = !1 !== v.check;
-          O(function() {
-            if (t)
-              M(
-                c.config,
-                {
-                  verifyJsApiList: C(v.jsApiList),
-                  verifyOpenTagList: C(v.openTagList)
-                },
-                (function() {
-                  (S._complete = function(e) {
-                    (g.preVerifyEndTime = L()), (y.state = 1), (y.data = e);
-                  }),
-                    (S.success = function(e) {
-                      h.isPreVerifyOk = 0;
-                    }),
-                    (S.fail = function(e) {
-                      S._fail ? S._fail(e) : (y.state = -1);
-                    });
-                  var t = S._completes;
-                  return (
-                    t.push(function() {
-                      !(function() {
-                        if (
-                          !(
-                            d ||
-                            u ||
-                            v.debug ||
-                            m < "6.0.2" ||
-                            h.systemType < 0
-                          )
-                        ) {
-                          var i = new Image();
-                          (h.appId = v.appId),
-                            (h.initTime = g.initEndTime - g.initStartTime),
-                            (h.preVerifyTime =
-                              g.preVerifyEndTime - g.preVerifyStartTime),
-                            w.getNetworkType({
-                              isInnerInvoke: !0,
-                              success: function(e) {
-                                h.networkType = e.networkType;
-                                var n =
-                                  "https://open.weixin.qq.com/sdk/report?v=" +
-                                  h.version +
-                                  "&o=" +
-                                  h.isPreVerifyOk +
-                                  "&s=" +
-                                  h.systemType +
-                                  "&c=" +
-                                  h.clientVersion +
-                                  "&a=" +
-                                  h.appId +
-                                  "&n=" +
-                                  h.networkType +
-                                  "&i=" +
-                                  h.initTime +
-                                  "&p=" +
-                                  h.preVerifyTime +
-                                  "&u=" +
-                                  h.url;
-                                i.src = n;
-                              }
-                            });
-                        }
-                      })();
-                    }),
-                    (S.complete = function(e) {
-                      for (var n = 0, i = t.length; n < i; ++n) t[n]();
-                      S._completes = [];
-                    }),
-                    S
-                  );
-                })()
-              ),
-                (g.preVerifyStartTime = L());
-            else {
-              y.state = 1;
-              for (var e = S._completes, n = 0, i = e.length; n < i; ++n)
-                e[n]();
-              S._completes = [];
-            }
-          }),
-            w.invoke ||
-              ((w.invoke = function(e, n, i) {
-                o.WeixinJSBridge && WeixinJSBridge.invoke(e, x(n), i);
-              }),
-              (w.on = function(e, n) {
-                o.WeixinJSBridge && WeixinJSBridge.on(e, n);
-              }));
-        },
-        ready: function(e) {
-          0 != y.state ? e() : (S._completes.push(e), !l && v.debug && e());
-        },
-        error: function(e) {
-          m < "6.0.2" || (-1 == y.state ? e(y.data) : (S._fail = e));
-        },
-        checkJsApi: function(e) {
-          M(
-            "checkJsApi",
-            { jsApiList: C(e.jsApiList) },
-            ((e._complete = function(e) {
-              if (p) {
-                var n = e.checkResult;
-                n && (e.checkResult = JSON.parse(n));
-              }
-              e = (function(e) {
-                var n = e.checkResult;
-                for (var i in n) {
-                  var t = a[i];
-                  t && ((n[t] = n[i]), delete n[i]);
-                }
-                return e;
-              })(e);
-            }),
-            e)
-          );
-        },
-        onMenuShareTimeline: function(e) {
-          P(
-            c.onMenuShareTimeline,
-            {
-              complete: function() {
-                M(
-                  "shareTimeline",
-                  {
-                    title: e.title || t,
-                    desc: e.title || t,
-                    img_url: e.imgUrl || "",
-                    link: e.link || location.href,
-                    type: e.type || "link",
-                    data_url: e.dataUrl || ""
-                  },
-                  e
-                );
-              }
-            },
-            e
-          );
-        },
-        onMenuShareAppMessage: function(n) {
-          P(
-            c.onMenuShareAppMessage,
-            {
-              complete: function(e) {
-                "favorite" === e.scene
-                  ? M("sendAppMessage", {
-                      title: n.title || t,
-                      desc: n.desc || "",
-                      link: n.link || location.href,
-                      img_url: n.imgUrl || "",
-                      type: n.type || "link",
-                      data_url: n.dataUrl || ""
-                    })
-                  : M(
-                      "sendAppMessage",
-                      {
-                        title: n.title || t,
-                        desc: n.desc || "",
-                        link: n.link || location.href,
-                        img_url: n.imgUrl || "",
-                        type: n.type || "link",
-                        data_url: n.dataUrl || ""
-                      },
-                      n
-                    );
-              }
-            },
-            n
-          );
-        },
-        onMenuShareQQ: function(e) {
-          P(
-            c.onMenuShareQQ,
-            {
-              complete: function() {
-                M(
-                  "shareQQ",
-                  {
-                    title: e.title || t,
-                    desc: e.desc || "",
-                    img_url: e.imgUrl || "",
-                    link: e.link || location.href
-                  },
-                  e
-                );
-              }
-            },
-            e
-          );
-        },
-        onMenuShareWeibo: function(e) {
-          P(
-            c.onMenuShareWeibo,
-            {
-              complete: function() {
-                M(
-                  "shareWeiboApp",
-                  {
-                    title: e.title || t,
-                    desc: e.desc || "",
-                    img_url: e.imgUrl || "",
-                    link: e.link || location.href
-                  },
-                  e
-                );
-              }
-            },
-            e
-          );
-        },
-        onMenuShareQZone: function(e) {
-          P(
-            c.onMenuShareQZone,
-            {
-              complete: function() {
-                M(
-                  "shareQZone",
-                  {
-                    title: e.title || t,
-                    desc: e.desc || "",
-                    img_url: e.imgUrl || "",
-                    link: e.link || location.href
-                  },
-                  e
-                );
-              }
-            },
-            e
-          );
-        },
-        updateTimelineShareData: function(e) {
-          M(
-            "updateTimelineShareData",
-            { title: e.title, link: e.link, imgUrl: e.imgUrl },
-            e
-          );
-        },
-        updateAppMessageShareData: function(e) {
-          M(
-            "updateAppMessageShareData",
-            { title: e.title, desc: e.desc, link: e.link, imgUrl: e.imgUrl },
-            e
-          );
-        },
-        startRecord: function(e) {
-          M("startRecord", {}, e);
-        },
-        stopRecord: function(e) {
-          M("stopRecord", {}, e);
-        },
-        onVoiceRecordEnd: function(e) {
-          P("onVoiceRecordEnd", e);
-        },
-        playVoice: function(e) {
-          M("playVoice", { localId: e.localId }, e);
-        },
-        pauseVoice: function(e) {
-          M("pauseVoice", { localId: e.localId }, e);
-        },
-        stopVoice: function(e) {
-          M("stopVoice", { localId: e.localId }, e);
-        },
-        onVoicePlayEnd: function(e) {
-          P("onVoicePlayEnd", e);
-        },
-        uploadVoice: function(e) {
-          M(
-            "uploadVoice",
-            {
-              localId: e.localId,
-              isShowProgressTips: 0 == e.isShowProgressTips ? 0 : 1
-            },
-            e
-          );
-        },
-        downloadVoice: function(e) {
-          M(
-            "downloadVoice",
-            {
-              serverId: e.serverId,
-              isShowProgressTips: 0 == e.isShowProgressTips ? 0 : 1
-            },
-            e
-          );
-        },
-        translateVoice: function(e) {
-          M(
-            "translateVoice",
-            {
-              localId: e.localId,
-              isShowProgressTips: 0 == e.isShowProgressTips ? 0 : 1
-            },
-            e
-          );
-        },
-        chooseImage: function(e) {
-          M(
-            "chooseImage",
-            {
-              scene: "1|2",
-              count: e.count || 9,
-              sizeType: e.sizeType || ["original", "compressed"],
-              sourceType: e.sourceType || ["album", "camera"]
-            },
-            ((e._complete = function(e) {
-              if (p) {
-                var n = e.localIds;
-                try {
-                  n && (e.localIds = JSON.parse(n));
-                } catch (e) {}
-              }
-            }),
-            e)
-          );
-        },
-        getLocation: function(e) {},
-        previewImage: function(e) {
-          M(c.previewImage, { current: e.current, urls: e.urls }, e);
-        },
-        uploadImage: function(e) {
-          M(
-            "uploadImage",
-            {
-              localId: e.localId,
-              isShowProgressTips: 0 == e.isShowProgressTips ? 0 : 1
-            },
-            e
-          );
-        },
-        downloadImage: function(e) {
-          M(
-            "downloadImage",
-            {
-              serverId: e.serverId,
-              isShowProgressTips: 0 == e.isShowProgressTips ? 0 : 1
-            },
-            e
-          );
-        },
-        getLocalImgData: function(e) {
-          !1 === I
-            ? ((I = !0),
-              M(
-                "getLocalImgData",
-                { localId: e.localId },
-                ((e._complete = function(e) {
-                  if (((I = !1), 0 < _.length)) {
-                    var n = _.shift();
-                    wx.getLocalImgData(n);
-                  }
-                }),
-                e)
-              ))
-            : _.push(e);
-        },
-        getNetworkType: function(e) {
-          M(
-            "getNetworkType",
-            {},
-            ((e._complete = function(e) {
-              e = (function(e) {
-                var n = e.errMsg;
-                e.errMsg = "getNetworkType:ok";
-                var i = e.subtype;
-                if ((delete e.subtype, i)) e.networkType = i;
-                else {
-                  var t = n.indexOf(":"),
-                    o = n.substring(t + 1);
-                  switch (o) {
-                    case "wifi":
-                    case "edge":
-                    case "wwan":
-                      e.networkType = o;
-                      break;
-                    default:
-                      e.errMsg = "getNetworkType:fail";
-                  }
-                }
-                return e;
-              })(e);
-            }),
-            e)
-          );
-        },
-        openLocation: function(e) {
-          M(
-            "openLocation",
-            {
-              latitude: e.latitude,
-              longitude: e.longitude,
-              name: e.name || "",
-              address: e.address || "",
-              scale: e.scale || 28,
-              infoUrl: e.infoUrl || ""
-            },
-            e
-          );
-        },
-        getLocation: function(e) {
-          M(
-            c.getLocation,
-            { type: (e = e || {}).type || "wgs84" },
-            ((e._complete = function(e) {
-              delete e.type;
-            }),
-            e)
-          );
-        },
-        hideOptionMenu: function(e) {
-          M("hideOptionMenu", {}, e);
-        },
-        showOptionMenu: function(e) {
-          M("showOptionMenu", {}, e);
-        },
-        closeWindow: function(e) {
-          M("closeWindow", {}, (e = e || {}));
-        },
-        hideMenuItems: function(e) {
-          M("hideMenuItems", { menuList: e.menuList }, e);
-        },
-        showMenuItems: function(e) {
-          M("showMenuItems", { menuList: e.menuList }, e);
-        },
-        hideAllNonBaseMenuItem: function(e) {
-          M("hideAllNonBaseMenuItem", {}, e);
-        },
-        showAllNonBaseMenuItem: function(e) {
-          M("showAllNonBaseMenuItem", {}, e);
-        },
-        scanQRCode: function(e) {
-          M(
-            "scanQRCode",
-            {
-              needResult: (e = e || {}).needResult || 0,
-              scanType: e.scanType || ["qrCode", "barCode"]
-            },
-            ((e._complete = function(e) {
-              if (f) {
-                var n = e.resultStr;
-                if (n) {
-                  var i = JSON.parse(n);
-                  e.resultStr = i && i.scan_code && i.scan_code.scan_result;
-                }
-              }
-            }),
-            e)
-          );
-        },
-        openAddress: function(e) {
-          M(
-            c.openAddress,
-            {},
-            ((e._complete = function(e) {
-              e = (function(e) {
-                return (
-                  (e.postalCode = e.addressPostalCode),
-                  delete e.addressPostalCode,
-                  (e.provinceName = e.proviceFirstStageName),
-                  delete e.proviceFirstStageName,
-                  (e.cityName = e.addressCitySecondStageName),
-                  delete e.addressCitySecondStageName,
-                  (e.countryName = e.addressCountiesThirdStageName),
-                  delete e.addressCountiesThirdStageName,
-                  (e.detailInfo = e.addressDetailInfo),
-                  delete e.addressDetailInfo,
-                  e
-                );
-              })(e);
-            }),
-            e)
-          );
-        },
-        openProductSpecificView: function(e) {
-          M(
-            c.openProductSpecificView,
-            {
-              pid: e.productId,
-              view_type: e.viewType || 0,
-              ext_info: e.extInfo
-            },
-            e
-          );
-        },
-        addCard: function(e) {
-          for (var n = e.cardList, i = [], t = 0, o = n.length; t < o; ++t) {
-            var r = n[t],
-              a = { card_id: r.cardId, card_ext: r.cardExt };
-            i.push(a);
-          }
-          M(
-            c.addCard,
-            { card_list: i },
-            ((e._complete = function(e) {
-              var n = e.card_list;
-              if (n) {
-                for (var i = 0, t = (n = JSON.parse(n)).length; i < t; ++i) {
-                  var o = n[i];
-                  (o.cardId = o.card_id),
-                    (o.cardExt = o.card_ext),
-                    (o.isSuccess = !!o.is_succ),
-                    delete o.card_id,
-                    delete o.card_ext,
-                    delete o.is_succ;
-                }
-                (e.cardList = n), delete e.card_list;
-              }
-            }),
-            e)
-          );
-        },
-        chooseCard: function(e) {
-          M(
-            "chooseCard",
-            {
-              app_id: v.appId,
-              location_id: e.shopId || "",
-              sign_type: e.signType || "SHA1",
-              card_id: e.cardId || "",
-              card_type: e.cardType || "",
-              card_sign: e.cardSign,
-              time_stamp: e.timestamp + "",
-              nonce_str: e.nonceStr
-            },
-            ((e._complete = function(e) {
-              (e.cardList = e.choose_card_info), delete e.choose_card_info;
-            }),
-            e)
-          );
-        },
-        openCard: function(e) {
-          for (var n = e.cardList, i = [], t = 0, o = n.length; t < o; ++t) {
-            var r = n[t],
-              a = { card_id: r.cardId, code: r.code };
-            i.push(a);
-          }
-          M(c.openCard, { card_list: i }, e);
-        },
-        consumeAndShareCard: function(e) {
-          M(
-            c.consumeAndShareCard,
-            { consumedCardId: e.cardId, consumedCode: e.code },
-            e
-          );
-        },
-        chooseWXPay: function(e) {
-          M(c.chooseWXPay, V(e), e);
-        },
-        openEnterpriseRedPacket: function(e) {
-          M(c.openEnterpriseRedPacket, V(e), e);
-        },
-        startSearchBeacons: function(e) {
-          M(c.startSearchBeacons, { ticket: e.ticket }, e);
-        },
-        stopSearchBeacons: function(e) {
-          M(c.stopSearchBeacons, {}, e);
-        },
-        onSearchBeacons: function(e) {
-          P(c.onSearchBeacons, e);
-        },
-        openEnterpriseChat: function(e) {
-          M(
-            "openEnterpriseChat",
-            { useridlist: e.userIds, chatname: e.groupName },
-            e
-          );
-        },
-        launchMiniProgram: function(e) {
-          M(
-            "launchMiniProgram",
-            {
-              targetAppId: e.targetAppId,
-              path: (function(e) {
-                if ("string" == typeof e && 0 < e.length) {
-                  var n = e.split("?")[0],
-                    i = e.split("?")[1];
-                  return (n += ".html"), void 0 !== i ? n + "?" + i : n;
-                }
-              })(e.path),
-              envVersion: e.envVersion
-            },
-            e
-          );
-        },
-        openBusinessView: function(e) {
-          M(
-            "openBusinessView",
-            {
-              businessType: e.businessType,
-              queryString: e.queryString || "",
-              envVersion: e.envVersion
-            },
-            ((e._complete = function(n) {
-              if (p) {
-                var e = n.extraData;
-                if (e)
-                  try {
-                    n.extraData = JSON.parse(e);
-                  } catch (e) {
-                    n.extraData = {};
-                  }
-              }
-            }),
-            e)
-          );
-        },
-        miniProgram: {
-          navigateBack: function(e) {
-            (e = e || {}),
-              O(function() {
-                M(
-                  "invokeMiniProgramAPI",
-                  { name: "navigateBack", arg: { delta: e.delta || 1 } },
-                  e
-                );
-              });
-          },
-          navigateTo: function(e) {
-            O(function() {
-              M(
-                "invokeMiniProgramAPI",
-                { name: "navigateTo", arg: { url: e.url } },
-                e
-              );
-            });
-          },
-          redirectTo: function(e) {
-            O(function() {
-              M(
-                "invokeMiniProgramAPI",
-                { name: "redirectTo", arg: { url: e.url } },
-                e
-              );
-            });
-          },
-          switchTab: function(e) {
-            O(function() {
-              M(
-                "invokeMiniProgramAPI",
-                { name: "switchTab", arg: { url: e.url } },
-                e
-              );
-            });
-          },
-          reLaunch: function(e) {
-            O(function() {
-              M(
-                "invokeMiniProgramAPI",
-                { name: "reLaunch", arg: { url: e.url } },
-                e
-              );
-            });
-          },
-          postMessage: function(e) {
-            O(function() {
-              M(
-                "invokeMiniProgramAPI",
-                { name: "postMessage", arg: e.data || {} },
-                e
-              );
-            });
-          },
-          getEnv: function(e) {
-            O(function() {
-              e({ miniprogram: "miniprogram" === o.__wxjs_environment });
-            });
-          }
-        }
-      },
-      T = 1,
-      k = {};
-    return (
-      i.addEventListener(
-        "error",
-        function(e) {
-          if (!p) {
-            var n = e.target,
-              i = n.tagName,
-              t = n.src;
-            if ("IMG" == i || "VIDEO" == i || "AUDIO" == i || "SOURCE" == i)
-              if (-1 != t.indexOf("wxlocalresource://")) {
-                e.preventDefault(), e.stopPropagation();
-                var o = n["wx-id"];
-                if ((o || ((o = T++), (n["wx-id"] = o)), k[o])) return;
-                (k[o] = !0),
-                  wx.ready(function() {
-                    wx.getLocalImgData({
-                      localId: t,
-                      success: function(e) {
-                        n.src = e.localData;
-                      }
-                    });
-                  });
-              }
-          }
-        },
-        !0
-      ),
-      i.addEventListener(
-        "load",
-        function(e) {
-          if (!p) {
-            var n = e.target,
-              i = n.tagName;
-            n.src;
-            if ("IMG" == i || "VIDEO" == i || "AUDIO" == i || "SOURCE" == i) {
-              var t = n["wx-id"];
-              t && (k[t] = !1);
-            }
-          }
-        },
-        !0
-      ),
-      e && (o.wx = o.jWeixin = w),
-      w
-    );
-  }
-  function M(n, e, i) {
-    o.WeixinJSBridge
-      ? WeixinJSBridge.invoke(n, x(e), function(e) {
-          A(n, e, i);
-        })
-      : B(n, i);
-  }
-  function P(n, i, t) {
-    o.WeixinJSBridge
-      ? WeixinJSBridge.on(n, function(e) {
-          t && t.trigger && t.trigger(e), A(n, e, i);
-        })
-      : B(n, t || i);
-  }
-  function x(e) {
-    return (
-      ((e = e || {}).appId = v.appId),
-      (e.verifyAppId = v.appId),
-      (e.verifySignType = "sha1"),
-      (e.verifyTimestamp = v.timestamp + ""),
-      (e.verifyNonceStr = v.nonceStr),
-      (e.verifySignature = v.signature),
-      e
-    );
-  }
-  function V(e) {
-    return {
-      timeStamp: e.timestamp + "",
-      nonceStr: e.nonceStr,
-      package: e.package,
-      paySign: e.paySign,
-      signType: e.signType || "SHA1"
-    };
-  }
-  function A(e, n, i) {
-    ("openEnterpriseChat" != e && "openBusinessView" !== e) ||
-      (n.errCode = n.err_code),
-      delete n.err_code,
-      delete n.err_desc,
-      delete n.err_detail;
-    var t = n.errMsg;
-    t ||
-      ((t = n.err_msg),
-      delete n.err_msg,
-      (t = (function(e, n) {
-        var i = e,
-          t = a[i];
-        t && (i = t);
-        var o = "ok";
-        if (n) {
-          var r = n.indexOf(":");
-          "confirm" == (o = n.substring(r + 1)) && (o = "ok"),
-            "failed" == o && (o = "fail"),
-            -1 != o.indexOf("failed_") && (o = o.substring(7)),
-            -1 != o.indexOf("fail_") && (o = o.substring(5)),
-            ("access denied" !=
-              (o = (o = o.replace(/_/g, " ")).toLowerCase()) &&
-              "no permission to execute" != o) ||
-              (o = "permission denied"),
-            "config" == i && "function not exist" == o && (o = "ok"),
-            "" == o && (o = "fail");
-        }
-        return (n = i + ":" + o);
-      })(e, t)),
-      (n.errMsg = t)),
-      (i = i || {})._complete && (i._complete(n), delete i._complete),
-      (t = n.errMsg || ""),
-      v.debug && !i.isInnerInvoke && alert(JSON.stringify(n));
-    var o = t.indexOf(":");
-    switch (t.substring(o + 1)) {
-      case "ok":
-        i.success && i.success(n);
-        break;
-      case "cancel":
-        i.cancel && i.cancel(n);
-        break;
-      default:
-        i.fail && i.fail(n);
-    }
-    i.complete && i.complete(n);
-  }
-  function C(e) {
-    if (e) {
-      for (var n = 0, i = e.length; n < i; ++n) {
-        var t = e[n],
-          o = c[t];
-        o && (e[n] = o);
-      }
-      return e;
-    }
-  }
-  function B(e, n) {
-    if (!(!v.debug || (n && n.isInnerInvoke))) {
-      var i = a[e];
-      i && (e = i),
-        n && n._complete && delete n._complete,
-        console.log('"' + e + '",', n || "");
-    }
-  }
-  function L() {
-    return new Date().getTime();
-  }
-  function O(e) {
-    l &&
-      (o.WeixinJSBridge
-        ? e()
-        : i.addEventListener &&
-          i.addEventListener("WeixinJSBridgeReady", e, !1));
-  }
-});

Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 0 - 2
node_modules/weixin-js-sdk/index.original.js


+ 0 - 40
node_modules/weixin-js-sdk/package.json

@@ -1,40 +0,0 @@
-{
-  "_from": "weixin-js-sdk",
-  "_id": "weixin-js-sdk@1.6.0",
-  "_inBundle": false,
-  "_integrity": "sha512-3IYQH7aalJGFJrwdT3epvTdR1MboMiH7vIZ5BRL2eYOJ12BNah7csoMkmSZzkq1+l92sSq29XdTCVjCJoK2sBQ==",
-  "_location": "/weixin-js-sdk",
-  "_phantomChildren": {},
-  "_requested": {
-    "type": "tag",
-    "registry": true,
-    "raw": "weixin-js-sdk",
-    "name": "weixin-js-sdk",
-    "escapedName": "weixin-js-sdk",
-    "rawSpec": "",
-    "saveSpec": null,
-    "fetchSpec": "latest"
-  },
-  "_requiredBy": [
-    "#USER",
-    "/"
-  ],
-  "_resolved": "https://registry.npmjs.org/weixin-js-sdk/-/weixin-js-sdk-1.6.0.tgz",
-  "_shasum": "ff50484d8118ce1208f11248cf4a1c0831577514",
-  "_spec": "weixin-js-sdk",
-  "_where": "D:\\workSpace\\h5-elab-open-ownerUnion",
-  "bugs": {
-    "url": "https://github.com/yanxi-com/weixin-js-sdk/issues"
-  },
-  "bundleDependencies": false,
-  "deprecated": false,
-  "description": "微信官方 js-sdk CommonJS 版",
-  "homepage": "https://github.com/yanxi-com/weixin-js-sdk#readme",
-  "main": "index.js",
-  "name": "weixin-js-sdk",
-  "repository": {
-    "type": "git",
-    "url": "git+https://github.com/yanxi-com/weixin-js-sdk.git"
-  },
-  "version": "1.6.0"
-}

+ 149 - 0
package-lock.json

@@ -4,6 +4,155 @@
   "lockfileVersion": 1,
   "requires": true,
   "dependencies": {
+    "core-js": {
+      "version": "2.3.0",
+      "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.3.0.tgz",
+      "integrity": "sha1-+rg/uwstjchfpjbEudNMdUIMbWU="
+    },
+    "core-util-is": {
+      "version": "1.0.3",
+      "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz",
+      "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ=="
+    },
+    "docx-preview": {
+      "version": "0.1.4",
+      "resolved": "https://registry.npmjs.org/docx-preview/-/docx-preview-0.1.4.tgz",
+      "integrity": "sha512-yigeZwmSqiqQOnUKfSEJ+4Z8FMxs3DUiVlVCS4R+wFeYzihPtMH9/3M+7kmg2jxtpKDvDwqfTFjOiGksbg1cEQ==",
+      "requires": {
+        "jszip": "3.1.3"
+      },
+      "dependencies": {
+        "jszip": {
+          "version": "3.1.3",
+          "resolved": "https://registry.npmjs.org/jszip/-/jszip-3.1.3.tgz",
+          "integrity": "sha1-ipIEA7KxZRwPwSa+kBktkICVfDc=",
+          "requires": {
+            "core-js": "~2.3.0",
+            "es6-promise": "~3.0.2",
+            "lie": "~3.1.0",
+            "pako": "~1.0.2",
+            "readable-stream": "~2.0.6"
+          }
+        },
+        "lie": {
+          "version": "3.1.1",
+          "resolved": "https://registry.npmjs.org/lie/-/lie-3.1.1.tgz",
+          "integrity": "sha1-mkNrLMd0bKWd56QfpGmz77dr2H4=",
+          "requires": {
+            "immediate": "~3.0.5"
+          }
+        },
+        "process-nextick-args": {
+          "version": "1.0.7",
+          "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz",
+          "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M="
+        },
+        "readable-stream": {
+          "version": "2.0.6",
+          "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz",
+          "integrity": "sha1-j5A0HmilPMySh4jaz80Rs265t44=",
+          "requires": {
+            "core-util-is": "~1.0.0",
+            "inherits": "~2.0.1",
+            "isarray": "~1.0.0",
+            "process-nextick-args": "~1.0.6",
+            "string_decoder": "~0.10.x",
+            "util-deprecate": "~1.0.1"
+          }
+        },
+        "string_decoder": {
+          "version": "0.10.31",
+          "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
+          "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ="
+        }
+      }
+    },
+    "es6-promise": {
+      "version": "3.0.2",
+      "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-3.0.2.tgz",
+      "integrity": "sha1-AQ1YWEI6XxGJeWZfRkhqlcbuK7Y="
+    },
+    "immediate": {
+      "version": "3.0.6",
+      "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz",
+      "integrity": "sha1-nbHb0Pr43m++D13V5Wu2BigN5ps="
+    },
+    "inherits": {
+      "version": "2.0.4",
+      "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
+      "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
+    },
+    "isarray": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+      "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE="
+    },
+    "jszip": {
+      "version": "3.7.1",
+      "resolved": "https://registry.npmjs.org/jszip/-/jszip-3.7.1.tgz",
+      "integrity": "sha512-ghL0tz1XG9ZEmRMcEN2vt7xabrDdqHHeykgARpmZ0BiIctWxM47Vt63ZO2dnp4QYt/xJVLLy5Zv1l/xRdh2byg==",
+      "requires": {
+        "lie": "~3.3.0",
+        "pako": "~1.0.2",
+        "readable-stream": "~2.3.6",
+        "set-immediate-shim": "~1.0.1"
+      }
+    },
+    "lie": {
+      "version": "3.3.0",
+      "resolved": "https://registry.npmjs.org/lie/-/lie-3.3.0.tgz",
+      "integrity": "sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ==",
+      "requires": {
+        "immediate": "~3.0.5"
+      }
+    },
+    "pako": {
+      "version": "1.0.11",
+      "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz",
+      "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw=="
+    },
+    "process-nextick-args": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz",
+      "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag=="
+    },
+    "readable-stream": {
+      "version": "2.3.7",
+      "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
+      "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
+      "requires": {
+        "core-util-is": "~1.0.0",
+        "inherits": "~2.0.3",
+        "isarray": "~1.0.0",
+        "process-nextick-args": "~2.0.0",
+        "safe-buffer": "~5.1.1",
+        "string_decoder": "~1.1.1",
+        "util-deprecate": "~1.0.1"
+      }
+    },
+    "safe-buffer": {
+      "version": "5.1.2",
+      "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
+      "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
+    },
+    "set-immediate-shim": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz",
+      "integrity": "sha1-SysbJ+uAip+NzEgaWOXlb1mfP2E="
+    },
+    "string_decoder": {
+      "version": "1.1.1",
+      "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
+      "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+      "requires": {
+        "safe-buffer": "~5.1.0"
+      }
+    },
+    "util-deprecate": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
+      "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8="
+    },
     "vue-count-to": {
       "version": "1.0.13",
       "resolved": "https://registry.npmjs.org/vue-count-to/-/vue-count-to-1.0.13.tgz",

+ 2 - 0
package.json

@@ -18,6 +18,8 @@
   "license": "ISC",
   "description": "",
   "dependencies": {
+    "docx-preview": "^0.1.4",
+    "jszip": "^3.7.1",
     "vue-count-to": "^1.0.13",
     "weixin-js-sdk": "^1.6.0"
   }

Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 1235 - 1235
pages/homePage/homePage.vue


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 554 - 554
pages/houseDetail/houseDetail.vue


+ 361 - 361
pages/reportPage/reportPage.vue

@@ -1,51 +1,51 @@
-<template>
-
-	<view class="content">
-		<view class="headerSection">
-			<view class="sectionA">
-				<view class="left">
-					<view class="name">今日可提现</view>
-					<view class="value" :style="`color: ${color2};`">¥{{headerInfo.canCashOut || 0.00}}</view>
-					<!-- <num-run :value="700"></num-run> -->
-				</view>
-				<view class="right">
-					<view class="txRecord" :style="`color: ${color2};`" @click="txRecordList">提现记录></view>
-					<view class="txRequest" :style="`background-color: ${color1};`" @click="requestWithDrawal">提现申请</view>
-				</view>
-			</view>
-			<view class="sectionB">
-				<view class="item1" v-for="(item, idx) in shouyiList" :key="idx">
-					<view class="name">{{item.title}}</view>
-					<view class="value">¥{{item.value}}</view>
-					<view class="des" v-if="idx == 1">
-						(手续费¥{{item.subValue}})
-					</view>
-					<view class="rightLine" v-if="idx < 2"></view>
-				</view>
-			</view>
-		</view>
-
-		<view class="screenSection">
-			<view class="sectionA">
-				<view class="title">我的收益明细</view>
-				<view class="dataScreen">
-					<block v-if="listParmas.startDate">
+<template>
+
+	<view class="content">
+		<view class="headerSection">
+			<view class="sectionA">
+				<view class="left">
+					<view class="name">今日可提现</view>
+					<view class="value" :style="`color: ${color2};`">¥{{headerInfo.canCashOut || 0.00}}</view>
+					<!-- <num-run :value="700"></num-run> -->
+				</view>
+				<view class="right">
+					<view class="txRecord" :style="`color: ${color2};`" @click="txRecordList">提现记录></view>
+					<view class="txRequest" :style="`background-color: ${color1};`" @click="requestWithDrawal">提现申请</view>
+				</view>
+			</view>
+			<view class="sectionB">
+				<view class="item1" v-for="(item, idx) in shouyiList" :key="idx">
+					<view class="name">{{item.title}}</view>
+					<view class="value">¥{{item.value}}</view>
+					<view class="des" v-if="idx == 1">
+						(手续费¥{{item.subValue}})
+					</view>
+					<view class="rightLine" v-if="idx < 2"></view>
+				</view>
+			</view>
+		</view>
+
+		<view class="screenSection">
+			<view class="sectionA">
+				<view class="title">我的收益明细</view>
+				<view class="dataScreen">
+					<block v-if="listParmas.startDate">
 						<text @click="dataScreenAction">{{listParmas.startDate + '-' + listParmas.endDate}}</text>
-						<text @click="clearDate" :style="`margin-left: 10px; color: ${color2};`">清空</text>
-					</block>
-					<block v-else>
-						<text @click="dataScreenAction">时间选择</text>
-						<image src="../../static/icons/icon_dropDown@2x.png" mode="aspectFit"></image>
-					</block>
-				</view>
-			</view>
-			<view class="sectionB">
-				<view class="item" v-for="(item, idx) in tabList" :key="idx" :style="`background-color: ${item.isSelect ? color1: '#fff'}; color: ${item.isSelect ? '#fff': '#B1B1B1'};`"
-				 @click="selectTab(item)">
-					{{item.typeName}}
-				</view>
-			</view>
-		</view>
+						<text @click="clearDate" :style="`margin-left: 10px; color: ${color2};`">清空</text>
+					</block>
+					<block v-else>
+						<text @click="dataScreenAction">时间选择</text>
+						<image src="../../static/icons/icon_dropDown@2x.png" mode="aspectFit"></image>
+					</block>
+				</view>
+			</view>
+			<view class="sectionB">
+				<view class="item" v-for="(item, idx) in tabList" :key="idx" :style="`background-color: ${item.isSelect ? color1: '#fff'}; color: ${item.isSelect ? '#fff': '#B1B1B1'};`"
+				 @click="selectTab(item)">
+					{{item.typeName}}
+				</view>
+			</view>
+		</view>
 		
 		<view class="listSection">
 			<view class="top-Section">
@@ -85,118 +85,118 @@
 		
 		<backHome></backHome>
 		
-		<dm-calendar-picker-view ref='calendarPickerView' @confirmSelDate='confirmSelDate'></dm-calendar-picker-view>
-	    <dmWithDrawalRecord ref='withDrawalRecord' :alreadyCashOut='headerInfo.alreadyCashOut'></dmWithDrawalRecord>
-		<dmWithDrawal ref='withDrawal' :canCashOut='headerInfo.canCashOut' @updata="getData"></dmWithDrawal>
-		<login-notice></login-notice>
-		<login></login>
-	</view>
-
-</template>
-
-<script>
-	import numRun from '../../components/numRun/numRun.vue'
+		<dm-calendar-picker-view ref='calendarPickerView' @confirmSelDate='confirmSelDate'></dm-calendar-picker-view>
+	    <dmWithDrawalRecord ref='withDrawalRecord' :alreadyCashOut='headerInfo.alreadyCashOut'></dmWithDrawalRecord>
+		<dmWithDrawal ref='withDrawal' :canCashOut='headerInfo.canCashOut' @updata="getData"></dmWithDrawal>
+		<login-notice></login-notice>
+		<login></login>
+	</view>
+
+</template>
+
+<script>
+	import numRun from '../../components/numRun/numRun.vue'
 	import dmCalendarPickerView from '../../components/subComponents/dmCalendarPickerView.vue'
 	import moment from '../../static/moment.min.js'
-	import dmWithDrawalRecord from '../../components/subComponents/dmWithDrawalRecord.vue' 
-	import dmWithDrawal from '../../components/subComponents/dmWithDrawal.vue'
-	import backHome from "@/components/backHome/backHome.vue"
-	let app = getApp();
-	export default {
-		data() {
-			return {
-				headerInfo: {
-					alreadyCashOut: 0.00,
-					canCashOut: 0.00,
-					serviceFee: 0.00,
-					todayIncome: 0.00,
-					totalIncome: 0.00
-				},
-				shouyiList: [{
-						title: '今日收益',
-						value: 0,
-						des: ''
-					},
-					{
-						title: '总收益',
-						value: 0,
-						subValue: 20,
-						des: ''
-					},
-					{
-						title: '累计已提现',
-						value: 0,
-						des: ''
-					}
-				],
-
-				color1: '',
-				color2: '',
-				tabList: [],
-				listParmas: {
-					endDate: "",
-					pageNo: 1,
-					pageSize: 20,
-					startDate: "",
-					type: 0
+	import dmWithDrawalRecord from '../../components/subComponents/dmWithDrawalRecord.vue' 
+	import dmWithDrawal from '../../components/subComponents/dmWithDrawal.vue'
+	import backHome from "@/components/backHome/backHome.vue"
+	let app = getApp();
+	export default {
+		data() {
+			return {
+				headerInfo: {
+					alreadyCashOut: 0.00,
+					canCashOut: 0.00,
+					serviceFee: 0.00,
+					todayIncome: 0.00,
+					totalIncome: 0.00
+				},
+				shouyiList: [{
+						title: '今日收益',
+						value: 0,
+						des: ''
+					},
+					{
+						title: '总收益',
+						value: 0,
+						subValue: 20,
+						des: ''
+					},
+					{
+						title: '累计已提现',
+						value: 0,
+						des: ''
+					}
+				],
+
+				color1: '',
+				color2: '',
+				tabList: [],
+				listParmas: {
+					endDate: "",
+					pageNo: 1,
+					pageSize: 20,
+					startDate: "",
+					type: 0
 				},
 				dataList: [],
 				noMore: true,
-				totalIncome: 0.00
-			}
-		},
-		mounted() {
-			this.color1 = app.globalData.color1;
-			this.color2 = app.globalData.color2;
-			this.getData()
-			uni.$on("request",()=>{
-				this.getData()
-			})
-		},
-		methods: {
-			getData(){
-				this.getReportHeader()
-				this.getReportMenu()
-			},
-			// 表头数据
-			async getReportHeader() {
-				const res = await this.$myRequest({
-					url: '/report/header',
-					method: 'GET'
-				});
-				if (res && res.data.success) {
-					console.log('表头res:', res)
-					this.headerInfo = res.data.single || {
-						alreadyCashOut: 0.00,
-						canCashOut: 0.00,
-						serviceFee: 0.00,
-						todayIncome: 0.00,
-						totalIncome: 0.00
-					}
-					this.shouyiList[0].value = this.headerInfo.todayIncome || 0.00
-					this.shouyiList[1].value = this.headerInfo.totalIncome || 0.00
-					this.shouyiList[2].value = this.headerInfo.alreadyCashOut || 0.00
-					this.shouyiList[1].subValue = this.headerInfo.serviceFee || 0.00
-				}
-			},
-
-			async getReportMenu() {
-				const res = await this.$myRequest({
-					url: '/report/nav',
-					method: 'GET'
-				});
-				if (res && res.data.success) {
-					console.log('菜单res:', res)
-					var tempList = res.data.list || []
-					tempList.forEach((item, idx) => {
-						item['isSelect'] = idx == 0 ? true : false
-					})
+				totalIncome: 0.00
+			}
+		},
+		mounted() {
+			this.color1 = app.globalData.color1;
+			this.color2 = app.globalData.color2;
+			this.getData()
+			uni.$on("request",()=>{
+				this.getData()
+			})
+		},
+		methods: {
+			getData(){
+				this.getReportHeader()
+				this.getReportMenu()
+			},
+			// 表头数据
+			async getReportHeader() {
+				const res = await this.$myRequest({
+					url: '/report/header',
+					method: 'GET'
+				});
+				if (res && res.data.success) {
+					console.log('表头res:', res)
+					this.headerInfo = res.data.single || {
+						alreadyCashOut: 0.00,
+						canCashOut: 0.00,
+						serviceFee: 0.00,
+						todayIncome: 0.00,
+						totalIncome: 0.00
+					}
+					this.shouyiList[0].value = this.headerInfo.todayIncome || 0.00
+					this.shouyiList[1].value = this.headerInfo.totalIncome || 0.00
+					this.shouyiList[2].value = this.headerInfo.alreadyCashOut || 0.00
+					this.shouyiList[1].subValue = this.headerInfo.serviceFee || 0.00
+				}
+			},
+
+			async getReportMenu() {
+				const res = await this.$myRequest({
+					url: '/report/nav',
+					method: 'GET'
+				});
+				if (res && res.data.success) {
+					console.log('菜单res:', res)
+					var tempList = res.data.list || []
+					tempList.forEach((item, idx) => {
+						item['isSelect'] = idx == 0 ? true : false
+					})
 					this.tabList = tempList
 					if (this.tabList.length > 0) {
 						this.selectTab(this.tabList[0])
-					}
-				}
-			},
+					}
+				}
+			},
 			
 			selectTab(e) {
 				this.tabList.forEach((item, idx) => {
@@ -204,9 +204,9 @@
 					if (e.type == item.type) {
 						item.isSelect = true
 					}
-				})
+				})
 				this.listParmas.type = e.type
-				this.pullDownRefresh(true)
+				this.pullDownRefresh(true)
 			},
 			
 			async getReportList() {
@@ -230,7 +230,7 @@
 					this.totalIncome = '0.00'
 					uni.stopPullDownRefresh();
 				}
-			},
+			},
 			
 			dataScreenAction() {
 				this.$refs.calendarPickerView.show()
@@ -274,12 +274,12 @@
 				uni.navigateBack({
 					delta: 1
 				})
-			},
-			txRecordList(){
-				this.$refs.withDrawalRecord.show();
-			},
-			requestWithDrawal(){
-				this.$refs.withDrawal.show()
+			},
+			txRecordList(){
+				this.$refs.withDrawalRecord.show();
+			},
+			requestWithDrawal(){
+				this.$refs.withDrawal.show()
 			}
 		},
 		
@@ -297,209 +297,209 @@
 		
 		watch: {
 			
-		},
-		components: {
+		},
+		components: {
 			numRun,
-			dmCalendarPickerView,
-			dmWithDrawalRecord,
-			dmWithDrawal,
-			backHome
-		}
-	}
-</script>
-
-<style lang="scss" scoped>
-	page {
-		width: 100vw;
-		// height: 100vh;
-	}
-
-	.content {
-		width: 100%;
+			dmCalendarPickerView,
+			dmWithDrawalRecord,
+			dmWithDrawal,
+			backHome
+		}
+	}
+</script>
+
+<style lang="scss" scoped>
+	page {
+		width: 100vw;
+		// height: 100vh;
+	}
+
+	.content {
+		width: 100%;
 		// height: 100%;
 		// max-height: 100%;
-		// overflow-y: scroll;
-		background-color: #F5F5F7;
-		padding: 20rpx 20rpx 100rpx 20rpx;
-		box-sizing: border-box;
-
-		.headerSection {
-			width: 100%;
-			height: 352rpx;
-			background-color: #fff;
-			border-radius: 16rpx;
-			padding: 32rpx 30rpx 16rpx 48rpx;
-			box-sizing: border-box;
-
-			.sectionA {
-				display: flex;
-				align-items: center;
-				justify-content: space-between;
-
-				.left {
-					.name {
-						font-size: 32rpx;
-						font-family: Verdana, Verdana-Regular;
-						font-weight: 400;
-						text-align: left;
-						color: #2c2c2c;
-						line-height: 40px;
-					}
-
-					.value {
-						margin-left: -12rpx;
-						font-size: 64rpx;
-						font-family: DIN Alternate, DIN Alternate-Bold;
-						font-weight: 700;
-						text-align: left;
-					}
-				}
-
-
-				.right {
-
-					.txRecord {
-						font-size: 24rpx;
-						font-family: Verdana, Verdana-Regular;
-						font-weight: 400;
-						text-align: right;
-					}
-
-					.txRequest {
-						margin-top: 32rpx;
-						width: 178rpx;
-						height: 60rpx;
-						border-radius: 12rpx;
-
-						font-size: 28rpx;
-						font-family: Verdana, Verdana-Bold;
-						font-weight: 700;
-						text-align: center;
-						color: #ffffff;
-						line-height: 60rpx;
-					}
-
-				}
-
-			}
-
-			.sectionB {
-				margin-top: 40rpx;
-				display: flex;
-				justify-content: space-between;
-				align-items: flex-start;
-
-				.item1 {
-					width: calc((100% - 90rpx) / 3);
-					position: relative;
-					height: 110rpx;
-
-					.name {
-						font-size: 24rpx;
-						font-family: Verdana, Verdana-Regular;
-						font-weight: 400;
-						text-align: left;
-						color: #999999;
-					}
-
-					.value {
-						font-size: 32rpx;
-						font-family: DIN Alternate, DIN Alternate-Bold;
-						font-weight: 700;
-						text-align: left;
-						color: #262626;
-					}
-
-					.des {
-						font-size: 20rpx;
-						font-family: Verdana, Verdana-Regular;
-						font-weight: 400;
-						text-align: left;
-						color: #cecece;
-						white-space: nowrap;
-						margin-left: -15rpx;
-					}
-
-					.rightLine {
-						position: absolute;
-						right: 0;
-						width: 2rpx;
-						height: 60rpx;
-						border-right: 2rpx dashed #7f7f7f;
-						top: calc((100% - 60rpx) / 2);
-						opacity: 0.2;
-					}
-				}
-			}
-
-		}
-
-		.screenSection {
-			margin-top: 60rpx;
-			width: 100%;
-			padding: 20rpx;
-			box-sizing: border-box;
-
-			.sectionA {
-				display: flex;
-				justify-content: space-between;
-				align-items: center;
-
-				.title {
-					font-size: 28rpx;
-					font-family: Verdana, Verdana-Bold;
-					font-weight: 700;
-					text-align: left;
-					color: #262626;
-				}
-
-				.dataScreen {
-					display: flex;
-					align-items: center;
-					font-size: 24rpx;
-					font-family: Verdana, Verdana-Regular;
-					font-weight: 400;
-					text-align: right;
-					color: #262626;
-
-					image {
-						margin-left: 10rpx;
-						width: 30rpx;
-						height: 30rpx;
-					}
-				}
-			}
-
+		// overflow-y: scroll;
+		background-color: #F5F5F7;
+		padding: 20rpx 20rpx 100rpx 20rpx;
+		box-sizing: border-box;
+
+		.headerSection {
+			width: 100%;
+			height: 352rpx;
+			background-color: #fff;
+			border-radius: 16rpx;
+			padding: 32rpx 30rpx 16rpx 48rpx;
+			box-sizing: border-box;
+
+			.sectionA {
+				display: flex;
+				align-items: center;
+				justify-content: space-between;
+
+				.left {
+					.name {
+						font-size: 32rpx;
+						font-family: Verdana, Verdana-Regular;
+						font-weight: 400;
+						text-align: left;
+						color: #2c2c2c;
+						line-height: 40px;
+					}
+
+					.value {
+						margin-left: -12rpx;
+						font-size: 64rpx;
+						font-family: DIN Alternate, DIN Alternate-Bold;
+						font-weight: 700;
+						text-align: left;
+					}
+				}
+
+
+				.right {
+
+					.txRecord {
+						font-size: 24rpx;
+						font-family: Verdana, Verdana-Regular;
+						font-weight: 400;
+						text-align: right;
+					}
+
+					.txRequest {
+						margin-top: 32rpx;
+						width: 178rpx;
+						height: 60rpx;
+						border-radius: 12rpx;
+
+						font-size: 28rpx;
+						font-family: Verdana, Verdana-Bold;
+						font-weight: 700;
+						text-align: center;
+						color: #ffffff;
+						line-height: 60rpx;
+					}
+
+				}
+
+			}
+
 			.sectionB {
-				width: 100%;
-				margin-top: 24rpx;
-				display: flex;
-				align-items: center;
-				justify-content: flex-start;
-				flex-wrap: nowrap;
-				overflow-x: scroll;
-
-				.item {
-					width: 160rpx;
-					min-width: 160rpx;
-					height: 70rpx;
-					border-radius: 8rpx;
-
-					font-size: 24rpx;
-					font-family: Verdana, Verdana-Bold;
-					font-weight: 700;
-					text-align: center;
-					line-height: 70rpx;
-					margin-right: 10rpx;
-				}
-			}
-
-			.sectionB::-webkit-scrollbar {
-				display: none;
-				/* Chrome Safari */
-			}
-
-		}
+				margin-top: 40rpx;
+				display: flex;
+				justify-content: space-between;
+				align-items: flex-start;
+
+				.item1 {
+					width: calc((100% - 90rpx) / 3);
+					position: relative;
+					height: 110rpx;
+
+					.name {
+						font-size: 24rpx;
+						font-family: Verdana, Verdana-Regular;
+						font-weight: 400;
+						text-align: left;
+						color: #999999;
+					}
+
+					.value {
+						font-size: 32rpx;
+						font-family: DIN Alternate, DIN Alternate-Bold;
+						font-weight: 700;
+						text-align: left;
+						color: #262626;
+					}
+
+					.des {
+						font-size: 20rpx;
+						font-family: Verdana, Verdana-Regular;
+						font-weight: 400;
+						text-align: left;
+						color: #cecece;
+						white-space: nowrap;
+						margin-left: -15rpx;
+					}
+
+					.rightLine {
+						position: absolute;
+						right: 0;
+						width: 2rpx;
+						height: 60rpx;
+						border-right: 2rpx dashed #7f7f7f;
+						top: calc((100% - 60rpx) / 2);
+						opacity: 0.2;
+					}
+				}
+			}
+
+		}
+
+		.screenSection {
+			margin-top: 60rpx;
+			width: 100%;
+			padding: 20rpx;
+			box-sizing: border-box;
+
+			.sectionA {
+				display: flex;
+				justify-content: space-between;
+				align-items: center;
+
+				.title {
+					font-size: 28rpx;
+					font-family: Verdana, Verdana-Bold;
+					font-weight: 700;
+					text-align: left;
+					color: #262626;
+				}
+
+				.dataScreen {
+					display: flex;
+					align-items: center;
+					font-size: 24rpx;
+					font-family: Verdana, Verdana-Regular;
+					font-weight: 400;
+					text-align: right;
+					color: #262626;
+
+					image {
+						margin-left: 10rpx;
+						width: 30rpx;
+						height: 30rpx;
+					}
+				}
+			}
+
+			.sectionB {
+				width: 100%;
+				margin-top: 24rpx;
+				display: flex;
+				align-items: center;
+				justify-content: flex-start;
+				flex-wrap: nowrap;
+				overflow-x: scroll;
+
+				.item {
+					width: 160rpx;
+					min-width: 160rpx;
+					height: 70rpx;
+					border-radius: 8rpx;
+
+					font-size: 24rpx;
+					font-family: Verdana, Verdana-Bold;
+					font-weight: 700;
+					text-align: center;
+					line-height: 70rpx;
+					margin-right: 10rpx;
+				}
+			}
+
+			.sectionB::-webkit-scrollbar {
+				display: none;
+				/* Chrome Safari */
+			}
+
+		}
 		
 		.listSection {
 			padding: 30rpx;
@@ -654,6 +654,6 @@
 				}
 			}
 		}
-		
-	}
+		
+	}
 </style>

+ 24 - 8
pages/webviewPage/webviewPage.vue

@@ -1,10 +1,13 @@
 <template>
 	<view>
-		<web-view :webview-styles="webviewStyles" :src="url"></web-view>
+		<view ref='file' v-if="word"></view>
+		<web-view v-else :webview-styles="webviewStyles" :src="url"></web-view>
 	</view>
 </template>
 
 <script>
+	const docx = require('docx-preview');
+	window.JSZip = require('jszip')
 	export default {
 		data() {
 			return {
@@ -15,6 +18,7 @@
 					}
 				},
 				type: "",
+				word: false,
 			};
 		},
 		onLoad(param) {
@@ -40,25 +44,37 @@
 					data: {},
 				})
 				if (res.data.success) {
-					const curryUrl =  this.curry("/hybrid/html/web/viewer.html?file=")
+					const curryUrl = this.curry("/hybrid/html/web/viewer.html?file=")
 					if (this.type == '1') { //使用协议
+						this.isWord(res.data.single.userUseProtocol);
 						this.url = curryUrl(res.data.single.userUseProtocol);
 					} else if (this.type == '2') { //隐私协议
-					    this.url = curryUrl(res.data.single.userPrivacyProtocol);
+						this.isWord(res.data.single.userPrivacyProtocol);
+						this.url = curryUrl(res.data.single.userPrivacyProtocol);
 					} else if (this.type == '3') { //业主注册协议
+						this.isWord(res.data.single.ownerRegistProtocol);
 						this.url = curryUrl(res.data.single.ownerRegistProtocol);
 					}
 				}
 			},
-			curry(baseUrl){
-				return function(url){
+			curry(baseUrl) {
+				return function(url) {
 					let index = url.lastIndexOf('.');
-					if(url.substring(index+1).indexOf('pdf')>-1){
-						return baseUrl+url;
-					}else{
+					if (url.substring(index + 1).indexOf('pdf') > -1) {
+						return baseUrl + url;
+					} else {
 						return url;
 					}
 				}
+			},
+			isWord(url) {
+				let index = url.lastIndexOf('.');
+				if (url.substring(index + 1).indexOf('docx') > -1) {
+					 this.word = true;
+					 docx.renderAsync(new Blob([url]),this.$refs.file) // 渲染到页面预览
+				} else {
+					this.word = false;
+				}
 			}
 		}
 	}

+ 49 - 49
util/api.js

@@ -1,50 +1,50 @@
-let isToLoginSend = false;
-var requestTask = null
-var elabprojectname = ''
-var elabsystem = ''
-var elabEnvironment = '';
-export const myRequest = (options) => {
-	if (!options.hasOwnProperty("showLoading")) {
-		var localDate = uni.getStorageSync('loadingStamp') || 0
-		var date = new Date().getTime()
-		if (date - localDate > 2000) {
-			uni.setStorageSync('loadingStamp', date)
-			uni.showLoading({
-				mask: true,
-				title: "正在加载中"
-			})
-		}
-	}
-	let token = getApp().globalData.token
-	if (token) {
-		options.token = token
-	} else {
-		options.token = null
-	}
-	let BASE_URL = getApp().globalData.BASE_URL;
-	return new Promise((resolve, reject) => {
-		requestTask = uni.request({
-			url: BASE_URL + options.url,
-			method: options.method || "POST",
-			data: options.data || {},
-			header: {
-				'token': options.token || null,
-			},
-			success: res => {
-				uni.hideLoading()
-				uni.hideNavigationBarLoading();
-				uni.stopPullDownRefresh();
-				if(res.data.errorCode=='401'){
-					uni.$emit('unLogin')
-				}
-				resolve(res)
-			},
-			fail: (err) => {
-				uni.hideLoading()
-				uni.hideNavigationBarLoading();
-				uni.stopPullDownRefresh();
-				reject(err)
-			}
-		})
-	})
+let isToLoginSend = false;
+var requestTask = null
+var elabprojectname = ''
+var elabsystem = ''
+var elabEnvironment = '';
+export const myRequest = (options) => {
+	if (!options.hasOwnProperty("showLoading")) {
+		var localDate = uni.getStorageSync('loadingStamp') || 0
+		var date = new Date().getTime()
+		if (date - localDate > 2000) {
+			uni.setStorageSync('loadingStamp', date)
+			uni.showLoading({
+				mask: true,
+				title: "正在加载中"
+			})
+		}
+	}
+	let token = getApp().globalData.token
+	if (token) {
+		options.token = token
+	} else {
+		options.token = null
+	}
+	let BASE_URL = getApp().globalData.BASE_URL;
+	return new Promise((resolve, reject) => {
+		requestTask = uni.request({
+			url: BASE_URL + options.url,
+			method: options.method || "POST",
+			data: options.data || {},
+			header: {
+				'token': options.token || null,
+			},
+			success: res => {
+				uni.hideLoading()
+				uni.hideNavigationBarLoading();
+				uni.stopPullDownRefresh();
+				if(res.data.errorCode=='401'){
+					uni.$emit('unLogin')
+				}
+				resolve(res)
+			},
+			fail: (err) => {
+				uni.hideLoading()
+				uni.hideNavigationBarLoading();
+				uni.stopPullDownRefresh();
+				reject(err)
+			}
+		})
+	})
 }