whx 4 settimane fa
parent
commit
30cf677ed6
100 ha cambiato i file con 1553 aggiunte e 322 eliminazioni
  1. 1 1
      virgo.wzfrontend/workark_wx/components/common/upload.vue
  2. 20 0
      virgo.wzfrontend/workark_wx/pages.json
  3. 22 3
      virgo.wzfrontend/workark_wx/pages/index/index.vue
  4. 29 0
      virgo.wzfrontend/workark_wx/pages/pdf/pdf.vue
  5. 46 0
      virgo.wzfrontend/workark_wx/request/api/workark.js
  6. 298 18
      virgo.wzfrontend/workark_wx/static/scss/common.scss
  7. 68 0
      virgo.wzfrontend/workark_wx/subPages/indexPage/contractList/contractList.vue
  8. 105 0
      virgo.wzfrontend/workark_wx/subPages/indexPage/invoiceDetail/invoiceDetail.vue
  9. 67 0
      virgo.wzfrontend/workark_wx/subPages/indexPage/invoiceList/invoiceList.vue
  10. 47 174
      virgo.wzfrontend/workark_wx/subPages/indexPage/orderDetail/orderDetail.vue
  11. 1 82
      virgo.wzfrontend/workark_wx/subPages/indexPage/orderList/orderList.vue
  12. 2 2
      virgo.wzfrontend/workark_wx/subPages/workarkPage/components/sureOrder.vue
  13. 10 4
      virgo.wzfrontend/workark_wx/subPages/workarkPage/paymentStatus/paymentStatus.vue
  14. 14 3
      virgo.wzfrontend/workark_wx/subPages/workarkPage/workarkDetail/workarkDetail.vue
  15. 7 0
      virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/app.json
  16. 1 1
      virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/common/main.wxss
  17. 7 7
      virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/common/vendor.js
  18. 10 0
      virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/components/common/upload.js
  19. 6 0
      virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/components/common/upload.json
  20. 1 0
      virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/components/common/upload.wxml
  21. 1 1
      virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/pages/index/index.js
  22. 5 1
      virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/pages/index/index.json
  23. 1 1
      virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/pages/index/index.wxml
  24. 1 0
      virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/pages/index/index.wxss
  25. 1 1
      virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/pages/message/message.js
  26. 1 1
      virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/pages/message/message.wxml
  27. 1 1
      virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/pages/message/message.wxss
  28. BIN
      virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/static/images/empty/null.png
  29. 186 1
      virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/static/scss/common.scss
  30. 1 1
      virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/subPages/chatPage/chat/chat.js
  31. 1 0
      virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/subPages/chatPage/chat/chat.json
  32. 1 1
      virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/subPages/chatPage/chat/chat.wxml
  33. 1 1
      virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/subPages/chatPage/chat/chat.wxss
  34. 10 0
      virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/subPages/indexPage/components/processItem.js
  35. 7 0
      virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/subPages/indexPage/components/processItem.json
  36. 1 0
      virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/subPages/indexPage/components/processItem.wxml
  37. 1 0
      virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/subPages/indexPage/orderDetail/orderDetail.js
  38. 8 0
      virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/subPages/indexPage/orderDetail/orderDetail.json
  39. 1 0
      virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/subPages/indexPage/orderDetail/orderDetail.wxml
  40. 1 0
      virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/subPages/indexPage/orderDetail/orderDetail.wxss
  41. 1 0
      virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/subPages/indexPage/orderList/orderList.js
  42. 6 0
      virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/subPages/indexPage/orderList/orderList.json
  43. 1 0
      virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/subPages/indexPage/orderList/orderList.wxml
  44. 1 0
      virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/subPages/indexPage/orderList/orderList.wxss
  45. 1 1
      virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/uni_modules/uv-popup/components/uv-popup/uv-popup.js
  46. 10 0
      virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/uni_modules/uv-steps/components/uv-steps-item/uv-steps-item.js
  47. 7 0
      virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/uni_modules/uv-steps/components/uv-steps-item/uv-steps-item.json
  48. 1 0
      virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/uni_modules/uv-steps/components/uv-steps-item/uv-steps-item.wxml
  49. 1 0
      virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/uni_modules/uv-steps/components/uv-steps-item/uv-steps-item.wxss
  50. 10 0
      virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/uni_modules/uv-steps/components/uv-steps/uv-steps.js
  51. 4 0
      virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/uni_modules/uv-steps/components/uv-steps/uv-steps.json
  52. 1 0
      virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/uni_modules/uv-steps/components/uv-steps/uv-steps.wxml
  53. 1 0
      virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/uni_modules/uv-steps/components/uv-steps/uv-steps.wxss
  54. 10 0
      virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/uni_modules/uv-upload/components/uv-preview-video/uv-preview-video.js
  55. 6 0
      virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/uni_modules/uv-upload/components/uv-preview-video/uv-preview-video.json
  56. 1 0
      virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/uni_modules/uv-upload/components/uv-preview-video/uv-preview-video.wxml
  57. 1 0
      virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/uni_modules/uv-upload/components/uv-preview-video/uv-preview-video.wxss
  58. 10 0
      virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/uni_modules/uv-upload/components/uv-upload/uv-upload.js
  59. 8 0
      virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/uni_modules/uv-upload/components/uv-upload/uv-upload.json
  60. 1 0
      virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/uni_modules/uv-upload/components/uv-upload/uv-upload.wxml
  61. 1 0
      virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/uni_modules/uv-upload/components/uv-upload/uv-upload.wxss
  62. 10 0
      virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/uni_modules/z-paging/components/z-paging-empty-view/z-paging-empty-view.js
  63. 4 0
      virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/uni_modules/z-paging/components/z-paging-empty-view/z-paging-empty-view.json
  64. 1 0
      virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/uni_modules/z-paging/components/z-paging-empty-view/z-paging-empty-view.wxml
  65. 1 0
      virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/uni_modules/z-paging/components/z-paging-empty-view/z-paging-empty-view.wxss
  66. 10 0
      virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/uni_modules/z-paging/components/z-paging/components/z-paging-load-more.js
  67. 4 0
      virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/uni_modules/z-paging/components/z-paging/components/z-paging-load-more.json
  68. 1 0
      virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/uni_modules/z-paging/components/z-paging/components/z-paging-load-more.wxml
  69. 1 0
      virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/uni_modules/z-paging/components/z-paging/components/z-paging-load-more.wxss
  70. 10 0
      virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/uni_modules/z-paging/components/z-paging/components/z-paging-refresh.js
  71. 4 0
      virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/uni_modules/z-paging/components/z-paging/components/z-paging-refresh.json
  72. 1 0
      virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/uni_modules/z-paging/components/z-paging/components/z-paging-refresh.wxml
  73. 1 0
      virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/uni_modules/z-paging/components/z-paging/components/z-paging-refresh.wxss
  74. 382 0
      virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/uni_modules/z-paging/components/z-paging/wxs/z-paging-wxs.wxs
  75. 10 0
      virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/uni_modules/z-paging/components/z-paging/z-paging.js
  76. 14 0
      virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/uni_modules/z-paging/components/z-paging/z-paging.json
  77. 2 0
      virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/uni_modules/z-paging/components/z-paging/z-paging.wxml
  78. 1 0
      virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/uni_modules/z-paging/components/z-paging/z-paging.wxss
  79. 1 1
      virgo.wzfrontend/workark_wx/unpackage/dist/dev/.sourcemap/mp-weixin/common/main.js.map
  80. 1 1
      virgo.wzfrontend/workark_wx/unpackage/dist/dev/.sourcemap/mp-weixin/common/vendor.js.map
  81. 1 1
      virgo.wzfrontend/workark_wx/unpackage/dist/dev/.sourcemap/mp-weixin/components/common/upload.js.map
  82. 1 1
      virgo.wzfrontend/workark_wx/unpackage/dist/dev/.sourcemap/mp-weixin/components/login/imageCode.js.map
  83. 1 1
      virgo.wzfrontend/workark_wx/unpackage/dist/dev/.sourcemap/mp-weixin/pages/index/index.js.map
  84. 1 1
      virgo.wzfrontend/workark_wx/unpackage/dist/dev/.sourcemap/mp-weixin/pages/login/login.js.map
  85. 1 1
      virgo.wzfrontend/workark_wx/unpackage/dist/dev/.sourcemap/mp-weixin/pages/message/message.js.map
  86. 1 1
      virgo.wzfrontend/workark_wx/unpackage/dist/dev/.sourcemap/mp-weixin/pages/my/my.js.map
  87. 1 0
      virgo.wzfrontend/workark_wx/unpackage/dist/dev/.sourcemap/mp-weixin/pages/pdf/pdf.js.map
  88. 1 1
      virgo.wzfrontend/workark_wx/unpackage/dist/dev/.sourcemap/mp-weixin/pages/workark/workark.js.map
  89. 1 1
      virgo.wzfrontend/workark_wx/unpackage/dist/dev/.sourcemap/mp-weixin/subPages/chatPage/chat/chat.js.map
  90. 1 0
      virgo.wzfrontend/workark_wx/unpackage/dist/dev/.sourcemap/mp-weixin/subPages/indexPage/contractDetail/contractDetail.js.map
  91. 1 0
      virgo.wzfrontend/workark_wx/unpackage/dist/dev/.sourcemap/mp-weixin/subPages/indexPage/contractList/contractList.js.map
  92. 1 0
      virgo.wzfrontend/workark_wx/unpackage/dist/dev/.sourcemap/mp-weixin/subPages/indexPage/invoiceDetail/invoiceDetail.js.map
  93. 1 0
      virgo.wzfrontend/workark_wx/unpackage/dist/dev/.sourcemap/mp-weixin/subPages/indexPage/invoiceList/invoiceList.js.map
  94. 1 1
      virgo.wzfrontend/workark_wx/unpackage/dist/dev/.sourcemap/mp-weixin/subPages/indexPage/orderDetail/orderDetail.js.map
  95. 1 1
      virgo.wzfrontend/workark_wx/unpackage/dist/dev/.sourcemap/mp-weixin/subPages/indexPage/orderList/orderList.js.map
  96. 1 1
      virgo.wzfrontend/workark_wx/unpackage/dist/dev/.sourcemap/mp-weixin/subPages/workarkPage/components/sureOrder.js.map
  97. 1 1
      virgo.wzfrontend/workark_wx/unpackage/dist/dev/.sourcemap/mp-weixin/subPages/workarkPage/coupon/coupon.js.map
  98. 1 1
      virgo.wzfrontend/workark_wx/unpackage/dist/dev/.sourcemap/mp-weixin/subPages/workarkPage/paymentStatus/paymentStatus.js.map
  99. 1 1
      virgo.wzfrontend/workark_wx/unpackage/dist/dev/.sourcemap/mp-weixin/subPages/workarkPage/workarkDetail/workarkDetail.js.map
  100. 0 0
      virgo.wzfrontend/workark_wx/unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/kevy-result-page/components/kevy-result-page/kevy-result-page.js.map

+ 1 - 1
virgo.wzfrontend/workark_wx/components/common/upload.vue

@@ -144,7 +144,7 @@
 							projectId: _self.$store.getters.project.id || 0,
 							organizationId: _self.$store.getters.project.id || 0,
 							fileName: item.name,
-							date: _self.$dayjs().format('YYYY-MM-DD HH:mm:ss')
+							date: _self.$uv.timeFormat(new Date(),'yyyy-mm-dd hh:MM:ss')
 						});
 						uni.setStorageSync('downliadFile', JSON.stringify(file));
 						_self.$toast('下载成功');

+ 20 - 0
virgo.wzfrontend/workark_wx/pages.json

@@ -34,6 +34,11 @@
 		"style": {
 			"navigationBarTitleText": "消息"
 		}
+	}, {
+		"path": "pages/pdf/pdf",
+		"style": {
+			"navigationBarTitleText": ""
+		}
 	}],
 	"subPackages": [{
 		"root": "subPages/workarkPage",
@@ -73,6 +78,21 @@
 			"style": {
 				"navigationBarTitleText": "订单详情"
 			}
+		}, {
+			"path": "contractList/contractList",
+			"style": {
+				"navigationBarTitleText": "合同列表"
+			}
+		}, {
+			"path": "invoiceList/invoiceList",
+			"style": {
+				"navigationBarTitleText": "发票列表"
+			}
+		}, {
+			"path": "invoiceDetail/invoiceDetail",
+			"style": {
+				"navigationBarTitleText": "发票详情"
+			}
 		}]
 	}],
 	"tabBar": {

+ 22 - 3
virgo.wzfrontend/workark_wx/pages/index/index.vue

@@ -15,7 +15,7 @@
 					<view class="item-title">{{item.name}}</view>
 					<view class="item-content">
 						<view class="content-item" v-for="(serve,i) in item.children" :key="serve.id"
-							@tap="$navigateTo('/subPages/indexPage/orderList/orderList?productLevelId=' + serve.id+'&productLevelName='+serve.name)">
+							@tap="clickItem(serve)">
 							<view class="content-icon">
 								<uv-icon name="photo" color="#fff" size="60"></uv-icon>
 							</view>
@@ -36,7 +36,18 @@
 		data() {
 			return {
 				isLogin: false,
-				list: []
+				list: [],
+				arguments: [{
+					id: -1,
+					name: '财务管理',
+					children: [{
+						id: -2,
+						name: '合同管理'
+					}, {
+						id: -3,
+						name: '发票管理'
+					}]
+				}]
 			}
 		},
 		onShow() {
@@ -46,7 +57,15 @@
 		methods: {
 			async init() {
 				let productData = await getServeProductList(-1);
-				if (productData.state) this.list = productData.data;
+				if (productData.state) this.list = productData.data.concat(this.arguments);
+			},
+			clickItem(serve) {
+				let url = '';
+				if (serve.id > 0) url = '/subPages/indexPage/orderList/orderList?productLevelId=' + serve.id +
+					'&productLevelName=' + serve.name;
+				if(serve.id === -2) url = '/subPages/indexPage/contractList/contractList';
+				if(serve.id === -3) url = '/subPages/indexPage/invoiceList/invoiceList';
+				this.$navigateTo(url);
 			}
 		}
 	}

+ 29 - 0
virgo.wzfrontend/workark_wx/pages/pdf/pdf.vue

@@ -0,0 +1,29 @@
+<template>
+	<view>
+		<web-view v-if="fileUrl" :src="fileUrl"></web-view>
+	</view>
+</template>
+
+<script>
+	import config from "@/config";
+	export default {
+		data() {
+			return {
+				fileUrl: ''
+			}
+		},
+		onLoad(body) {
+			uni.setNavigationBarTitle({
+				title: body.titleName
+			});
+			this.fileUrl = config.baseUrl + '/webview/pdf/web/viewer.html?file=' + body.fileUrl;
+		},
+		methods: {
+
+		}
+	}
+</script>
+
+<style>
+
+</style>

+ 46 - 0
virgo.wzfrontend/workark_wx/request/api/workark.js

@@ -114,6 +114,17 @@ export function getOrderDetail(id) {
 		method: 'get'
 	})
 }
+/* 
+ * 通过订单编号获取订单详情
+ * 
+ * 
+ */
+export function getOrderDetailByOrderNo(orderNo) {
+	return request({
+		url: `/api/workarkOrderInfo/orderNo/${orderNo}`,
+		method: 'get'
+	})
+}
 /* 
  * 获取绑定企业合同详情
  * 
@@ -135,4 +146,39 @@ export function getProcessData(orderId) {
 		url: `/api/workarkProce/list/${orderId}`,
 		method: 'get'
 	})
+}
+/* 
+ * 获取签订合同列表
+ * 
+ * 
+ */
+export function getContractListByQueryAndPage(currPage, pageSize, data) {
+	return request({
+		url: `/file/workarkContract/pdf/${currPage}/${pageSize}`,
+		method: 'post',
+		data: data
+	})
+}
+/* 
+ * 通过条件分页获取发票列表
+ * 
+ * 
+ */
+export function getInvoiceListByQueryAndPage(currPage, pageSize, data) {
+	return request({
+		url: `/api/workarkInvoice/${currPage}/${pageSize}`,
+		method: 'post',
+		data: data
+	})
+}
+/* 
+ * 通过ID获取发票详情
+ * 
+ * 
+ */
+export function getInvoiceDetailById(id) {
+	return request({
+		url: `/api/workarkInvoice/details/${id}`,
+		method: 'get'
+	})
 }

+ 298 - 18
virgo.wzfrontend/workark_wx/static/scss/common.scss

@@ -1,21 +1,3 @@
-//底部按钮
-.hui-button-box {
-	background-color: #ffffff;
-	box-shadow: 0px 2px 10px rgba(3, 3, 3, 0.1);
-	position: fixed;
-	bottom: 0;
-	left: 0;
-	right: 0;
-	height: 100rpx;
-	display: flex;
-	align-items: center;
-	justify-content: flex-end;
-	padding-bottom: 0;
-	padding-bottom: constant(safe-area-inset-bottom);  
-	padding-bottom: env(safe-area-inset-bottom);
-	padding-right: 40rpx;
-	padding-left: 40rpx;
-}
 
 .text-flex {
 	display: flex;
@@ -67,6 +49,304 @@
 		background-color: $uv-error;
 	}
 }
+
+.common-list {
+	padding: 30rpx;
+	box-sizing: border-box;
+
+	.common-item {
+		background-color: #ffffff;
+		border-radius: 16rpx;
+		box-shadow: 0px 1px 12px rgba(3, 3, 3, 0.08);
+		padding: 30rpx;
+		position: relative;
+		margin-bottom: 30rpx;
+
+		.icon {
+			position: absolute;
+			top: 30rpx;
+			right: 30rpx;
+		}
+
+		.title {
+			font-size: 32rpx;
+			font-weight: 600;
+		}
+
+		.date {
+			font-size: 24rpx;
+			color: $uv-content-color;
+			margin: 10rpx 0;
+		}
+
+		.space {
+			font-size: 24rpx;
+		}
+
+		.other {
+			margin-top: 20rpx;
+
+			.item {
+				margin-top: 16rpx;
+			}
+
+			.label {
+				color: $uv-content-color;
+				font-size: 24rpx;
+			}
+
+			.value {
+				margin-top: 6rpx;
+				font-weight: 400;
+			}
+		}
+
+		.state {
+			margin-top: 20rpx;
+			display: flex;
+			justify-content: space-between;
+
+			.create {
+				height: 48rpx;
+				border-radius: 48rpx;
+				border: 1px solid $uv-primary;
+				display: flex;
+				align-items: center;
+				color: $uv-primary;
+				padding: 0 10rpx;
+
+				.name {
+					font-size: 24rpx;
+					flex: 1;
+					max-width: 150rpx;
+					min-width: 70rpx;
+					overflow: hidden;
+					margin-left: 10rpx;
+					line-height: 36rpx;
+					padding-right: 10rpx;
+				}
+			}
+		}
+	}
+}
+
+//底部按钮
+.hui-button-box {
+	background-color: #ffffff;
+	box-shadow: 0px 2px 10px rgba(3, 3, 3, 0.1);
+	position: fixed;
+	bottom: 0;
+	left: 0;
+	right: 0;
+	height: 100rpx;
+	display: flex;
+	align-items: center;
+	justify-content: flex-end;
+	padding-bottom: 0;
+	padding-bottom: constant(safe-area-inset-bottom);  
+	padding-bottom: env(safe-area-inset-bottom);
+	padding-right: 40rpx;
+	padding-left: 40rpx;
+	
+	.hui-button-view{
+		height: 100rpx;
+		display: flex;
+		align-items: center;
+	}
+	
+	.hui-button {
+		height: 68rpx;
+		border-radius: 68rpx;
+		color: #ffffff;
+		background: $uv-primary;
+		border: 1px solid  $uv-primary;
+		flex: 1;
+		display: flex;
+		align-items: center;
+		justify-content: center;
+		margin: 0 30rpx;
+		&.hui-button-light{
+			color: $uv-primary;
+			background: #fff;
+		}
+	}
+	
+	.hui-button-icon{
+		margin-right: 10rpx;
+	}
+}
+
+//详情
+.hui-detail {
+	padding: 30rpx;
+
+	.detail-box {
+		background-color: #ffffff;
+		border-radius: 16rpx;
+		box-shadow: 0px 1px 12px rgba(3, 3, 3, 0.08);
+		padding: 30rpx;
+		position: relative;
+		margin-bottom: 30rpx;
+
+		&.file-box {
+			padding-bottom: 20rpx;
+		}
+	}
+
+	.sub-title {
+		display: flex;
+		align-items: center;
+		margin-left: -8rpx;
+
+		.sub-label {
+			font-size: 32rpx;
+			font-weight: 600;
+			margin-left: 14rpx;
+		}
+	}
+
+	.title-box {
+		padding-left: 90rpx;
+		position: relative;
+		min-height: 88rpx;
+
+		.title-icon {
+			width: 70rpx;
+			height: 70rpx;
+			text-align: center;
+			line-height: 70rpx;
+			background: $uv-primary;
+			border-radius: 70rpx;
+			position: absolute;
+			left: 0;
+			top: 50%;
+			margin-top: -35rpx;
+		}
+
+		.title {
+			font-size: 32rpx;
+			font-weight: 600;
+			margin-bottom: 8rpx;
+		}
+
+		.date {
+			font-size: 24rpx;
+			color: $uv-content-color;
+		}
+	}
+
+	.other {
+		margin-top: 20rpx;
+
+		.item {
+			margin-top: 16rpx;
+		}
+
+		.label {
+			color: $uv-content-color;
+			font-size: 24rpx;
+		}
+
+		.value {
+			margin-top: 10rpx;
+			font-weight: 400;
+		}
+
+		.file-item {
+			background-color: #ededed;
+			height: 80rpx;
+			display: flex;
+			align-items: center;
+			border-radius: 12rpx;
+			padding: 0 14rpx;
+		}
+
+		.file-name {
+			flex: 1;
+			width: 0;
+			margin-left: 10rpx;
+		}
+
+		.contarct-item {
+			background-color: #ededed;
+			border-radius: 12rpx;
+			padding: 20rpx;
+			margin-bottom: 20rpx;
+		}
+
+		.contarct-content {
+			display: flex;
+			justify-content: space-between;
+			align-items: center;
+			margin-bottom: 16rpx;
+
+			&.last {
+				margin-bottom: 0rpx;
+
+				.content-item {
+					flex: 1;
+					width: 0;
+				}
+			}
+
+			.content-title {
+				font-size: 32rpx;
+				font-weight: 500;
+			}
+
+			.content-label {
+				color: $uv-content-color;
+				font-size: 24rpx;
+			}
+
+			.content-value {
+				font-weight: 400;
+				margin-left: 6rpx;
+				flex: 1;
+				width: 0;
+			}
+
+			.content-item {
+				overflow: hidden;
+				display: flex;
+				align-items: center;
+
+				&.content-title {
+					flex: 1;
+					width: 0;
+				}
+			}
+		}
+	}
+
+	.state {
+		margin-top: 20rpx;
+		display: flex;
+		justify-content: space-between;
+
+		.create {
+			height: 48rpx;
+			border-radius: 48rpx;
+			border: 1px solid $uv-primary;
+			display: flex;
+			align-items: center;
+			color: $uv-primary;
+			padding: 0 10rpx;
+
+			.name {
+				font-size: 24rpx;
+				flex: 1;
+				max-width: 150rpx;
+				min-width: 70rpx;
+				overflow: hidden;
+				margin-left: 10rpx;
+				line-height: 36rpx;
+				padding-right: 10rpx;
+			}
+		}
+	}
+}
+	
 .process-box{
 	
 	.process-set-item {

+ 68 - 0
virgo.wzfrontend/workark_wx/subPages/indexPage/contractList/contractList.vue

@@ -0,0 +1,68 @@
+<template>
+	<view class="order-list">
+		<z-paging ref="paging" v-model="dataList" @query="queryList">
+			<view class="common-list">
+				<view class="common-item" v-for="(item,index) in dataList" :key="item.id">
+					<view class="title">{{item.contractName}}</view>
+					<view class="date">{{item.createDate}}</view>
+					<view class="other">
+						<view class="item">
+							<view class="label">订单编号</view>
+							<view class="value">{{item.orderNo}}</view>
+						</view>
+						<view class="item">
+							<view class="label">签约时间</view>
+							<view class="value">{{item.updateDate}}</view>
+						</view>
+					</view>
+					<view class="state">
+						<view class="tag">
+							<view class="status-tag info" v-if="!item.state">待客户确认</view>
+							<view class="status-tag warning" v-if="item.state === 1">服务商签署</view>
+							<view class="status-tag warning" v-if="item.state === 2">待客户签署</view>
+							<view class="status-tag success" v-if="item.state === 3">已签约</view>
+						</view>
+						<view class="tag">
+							<view class="status-tag primary"
+								@tap="$navigateTo('/subPages/indexPage/orderDetail/orderDetail?orderNo='+item.orderNo)">
+								查看订单
+							</view>
+						</view>
+					</view>
+					<view class="icon">
+						<uni-icons custom-prefix="iconfont" :type="menu.iconClass" color="#08979c" size="30">
+						</uni-icons>
+					</view>
+				</view>
+			</view>
+		</z-paging>
+	</view>
+</template>
+
+<script>
+	import {
+		getContractListByQueryAndPage
+	} from '@/request/api/workark.js'
+	export default {
+		data() {
+			return {
+				dataList: [],
+				productLevelId: ''
+			}
+		},
+		onLoad(body) {
+			this.productLevelId = body.productLevelId;
+		},
+		methods: {
+			async queryList(index, size) {
+				let orderData = await getContractListByQueryAndPage(index, size, {
+					payOrganizationId: this.$store.getters.organization.id
+				})
+				if (orderData.state) return this.$refs.paging.complete(orderData.data.dataList);
+				this.$refs.paging.complete(false);
+			}
+		}
+	}
+</script>
+
+<style lang="scss" scoped></style>

+ 105 - 0
virgo.wzfrontend/workark_wx/subPages/indexPage/invoiceDetail/invoiceDetail.vue

@@ -0,0 +1,105 @@
+<template>
+	<view class="invoice-detail">
+		<view class="hui-detail">
+			<view class="detail-box">
+				<view class="title-box">
+					<view class="title">{{detail.name}}</view>
+					<view class="date">{{detail.createTime}}</view>
+					<view class="title-icon">
+						<uni-icons type="icon-hetongwendang" custom-prefix="iconfont" color="#fff" size="18">
+						</uni-icons>
+					</view>
+				</view>
+				<view class="other">
+					<view class="item">
+						<view class="label">订单编号</view>
+						<view class="value"> {{detail.orderNo}}</view>
+					</view>
+					<view class="item">
+						<view class="label">纳税人识别号</view>
+						<view class="value">{{detail.taxpayerIdentificationNumber}}</view>
+					</view>
+					<view class="item">
+						<view class="label">注册电话</view>
+						<view class="value"> {{detail.phone}}</view>
+					</view>
+					<view class="item">
+						<view class="label">开户银行</view>
+						<view class="value">{{detail.bankAccount}}</view>
+					</view>
+					<view class="item">
+						<view class="label">银行账号</view>
+						<view class="value"> {{detail.bankAccountNumber}}</view>
+					</view>
+					<view class="item" v-if="detail.state === 1">
+						<view class="label">发票内容</view>
+						<view class="value">{{detail.content}}</view>
+					</view>
+					<view class="item">
+						<view class="label">发票金额</view>
+						<view class="value color-error"> {{detail.amount || '-'}}</view>
+					</view>
+					<view class="item">
+						<view class="label">注册地址</view>
+						<view class="value">{{detail.address}}</view>
+					</view>
+					<view class="item">
+						<view class="label">订单编号</view>
+						<view class="value"> {{detail.orderNo}}</view>
+					</view>
+					<view class="item" v-if="detail.state === 1">
+						<view class="label">发票文件</view>
+						<view class="value">
+							<upload :list="detail.file ? JSON.parse(detail.file) : []" type="preview">
+							</upload>
+						</view>
+					</view>
+				</view>
+				<view class="state">
+					<view class="tag">
+						<view class="status-tag info" v-if="!detail.state">开具中</view>
+						<view class="status-tag success" v-else>已开具</view>
+					</view>
+					<view class="tag">
+						<view class="status-tag primary"
+							@tap.stop="$navigateTo('/subPages/indexPage/orderDetail/orderDetail?orderNo='+detail.orderNo)">
+							查看订单
+						</view>
+					</view>
+				</view>
+			</view>
+		</view>
+	</view>
+</template>
+
+<script>
+	import {
+		getInvoiceDetailById
+	} from '@/request/api/workark.js'
+	import upload from '@/components/common/upload.vue';
+	export default {
+		data() {
+			return {
+				invoiceId: '',
+				detail: {}
+			}
+		},
+		onLoad(body) {
+			this.invoiceId = body.invoiceId;
+			if (this.invoiceId) this.init();
+		},
+		methods: {
+			async init() {
+				let invoiceData = await getInvoiceDetailById(this.invoiceId);
+				if (invoiceData.state) this.detail = invoiceData.data;
+			}
+		},
+		components: {
+			upload
+		}
+	}
+</script>
+
+<style lang="scss" scoped>
+
+</style>

+ 67 - 0
virgo.wzfrontend/workark_wx/subPages/indexPage/invoiceList/invoiceList.vue

@@ -0,0 +1,67 @@
+<template>
+	<view class="order-list">
+		<z-paging ref="paging" v-model="dataList" @query="queryList">
+			<view class="common-list">
+				<view class="common-item" v-for="(item,index) in dataList" :key="item.id"
+					@tap.stop="$navigateTo('/subPages/indexPage/invoiceDetail/invoiceDetail?invoiceId='+item.id)">
+					<view class="title">{{item.name}}</view>
+					<view class="date">{{item.createTime}}</view>
+					<view class="other">
+						<view class="item">
+							<view class="label">纳税人识别号</view>
+							<view class="value">{{item.taxpayerIdentificationNumber}}</view>
+						</view>
+						<view class="item">
+							<view class="label">发票金额</view>
+							<view class="value color-error">{{item.amount || '-'}}</view>
+						</view>
+					</view>
+					<view class="state">
+						<view class="tag">
+							<view class="status-tag info" v-if="!item.state">开具中</view>
+							<view class="status-tag success" v-else>已开具</view>
+						</view>
+						<view class="tag">
+							<view class="status-tag primary"
+								@tap.stop="$navigateTo('/subPages/indexPage/orderDetail/orderDetail?orderNo='+item.orderNo)">
+								查看订单
+							</view>
+						</view>
+					</view>
+					<view class="icon">
+						<uni-icons custom-prefix="iconfont" :type="menu.iconClass" color="#08979c" size="30">
+						</uni-icons>
+					</view>
+				</view>
+			</view>
+		</z-paging>
+	</view>
+</template>
+
+<script>
+	import {
+		getInvoiceListByQueryAndPage
+	} from '@/request/api/workark.js'
+	export default {
+		data() {
+			return {
+				dataList: [],
+				productLevelId: ''
+			}
+		},
+		onLoad(body) {
+			this.productLevelId = body.productLevelId;
+		},
+		methods: {
+			async queryList(index, size) {
+				let orderData = await getInvoiceListByQueryAndPage(index, size, {
+					organizationId: this.$store.getters.organization.id
+				})
+				if (orderData.state) return this.$refs.paging.complete(orderData.data.dataList);
+				this.$refs.paging.complete(false);
+			}
+		}
+	}
+</script>
+
+<style lang="scss" scoped></style>

+ 47 - 174
virgo.wzfrontend/workark_wx/subPages/indexPage/orderDetail/orderDetail.vue

@@ -33,7 +33,7 @@
 					</view>
 				</view>
 			</view>
-			<view class="detail-box" v-if="!orderData.proceId">
+			<view class="detail-box" v-if="orderData.contractId">
 				<view class="sub-title file-box">
 					<uni-icons type="map-filled" class="inherit-icons" size="24" color="#08979c"></uni-icons>
 					<text class="sub-label">订单合同</text>
@@ -46,7 +46,7 @@
 					<view class="item" v-if="orderData.contractId">
 						<view class="label">合同内容</view>
 						<view class="value">
-							<text class="color-primary">查看合同</text>
+							<text class="color-primary" @tap="lookContract">查看合同</text>
 						</view>
 					</view>
 					<view class="item">
@@ -63,7 +63,7 @@
 					</view>
 				</view>
 			</view>
-			<view class="detail-box">
+			<view class="detail-box" v-if="contractProcessList.length > 0">
 				<view class="sub-title file-box">
 					<uni-icons type="map-filled" class="inherit-icons" size="24" color="#08979c"></uni-icons>
 					<text class="sub-label">订单过程</text>
@@ -86,9 +86,11 @@
 		getOrderDetail,
 		getBindContract,
 		getProcessData,
+		getOrderDetailByOrderNo,
 		getWxPay
 	} from '@/request/api/workark.js'
 	import processItem from '@/subPages/indexPage/components/processItem.vue';
+	import config from '@/config';
 	export default {
 		components: {
 			processItem
@@ -96,6 +98,7 @@
 		data() {
 			return {
 				orderId: '',
+				orderNo: '',
 				orderData: {},
 				operationBtn: [],
 				contractNode: {},
@@ -105,16 +108,28 @@
 		},
 		onLoad(body) {
 			this.orderId = body.orderId;
-			if (this.orderId) this.init();
+			this.orderNo = body.orderNo;
+			this.init();
 		},
 		methods: {
 			async init() {
-				let orderData = await getOrderDetail(this.orderId);
+				this.operationBtn = [];
+				let orderData = {};
+				if (this.orderId) {
+					orderData = await getOrderDetail(this.orderId);
+				} else if (this.orderNo) {
+					orderData = await getOrderDetailByOrderNo(this.orderNo);
+				}
 				if (!orderData.state) return;
 				this.orderData = orderData.data;
 				this.current = this.returnCurrent();
 				this.initProcessData();
 				if (this.orderData.contractId) this.initBindContract();
+				if (this.orderData.orderStatus === '未支付') this.operationBtn = [{
+					id: 4,
+					type: 'primary',
+					name: '立即支付'
+				}]
 			},
 			async initBindContract() {
 				let contractNode = await getBindContract(this.orderData.contractId);
@@ -127,6 +142,29 @@
 				this.contractProcessList = contractProcess.data;
 				this.updateParentStatus(this.contractProcessList);
 			},
+			async operation(item) {
+				if (item.id === 4) {
+					uni.showLoading({
+						title: '订单支付中...'
+					})
+					let wxConfig = await getWxPay(this.orderData.orderNo, uni.getStorageSync('openId'));
+					uni.requestPayment({
+						provider: 'wxpay',
+						timeStamp: wxConfig.data.timeStamp,
+						nonceStr: wxConfig.data.nonceStr,
+						package: wxConfig.data.prepayId,
+						signType: wxConfig.data.signType,
+						paySign: wxConfig.data.paySign,
+						success: res => {
+							this.init();
+							uni.hideLoading();
+						},
+						fail: err => {
+							uni.hideLoading();
+						}
+					});
+				}
+			},
 			returnCurrent() {
 				if (!this.orderData.contractId) return 0;
 				if (this.orderData.contractStatus === 0) return 1;
@@ -134,6 +172,10 @@
 				if (this.orderData.contractStatus === 2) return 3;
 				if (this.orderData.contractStatus === 3) return 5;
 			},
+			lookContract() {
+				let url = `${config.baseUrl}/file/workarkContract/pdf/show/${this.orderData.contractId}`;
+				this.$navigateTo('/pages/pdf/pdf?fileUrl=' + url + '&titleName=' + this.contractNode.contractName);
+			},
 			updateParentStatus(nodes) {
 				nodes.forEach(node => {
 					if (node.type !== 3) {
@@ -162,174 +204,5 @@
 </script>
 
 <style lang="scss" scoped>
-	//详情
-	.hui-detail {
-		padding: 30rpx;
-
-		.detail-box {
-			background-color: #ffffff;
-			border-radius: 16rpx;
-			box-shadow: 0px 1px 12px rgba(3, 3, 3, 0.08);
-			padding: 30rpx;
-			position: relative;
-			margin-bottom: 30rpx;
-
-			&.file-box {
-				padding-bottom: 20rpx;
-			}
-		}
-
-		.sub-title {
-			display: flex;
-			align-items: center;
-			margin-left: -8rpx;
-
-			.sub-label {
-				font-size: 32rpx;
-				font-weight: 600;
-				margin-left: 14rpx;
-			}
-		}
-
-		.title-box {
-			padding-left: 90rpx;
-			position: relative;
-			min-height: 88rpx;
-
-			.title-icon {
-				width: 70rpx;
-				height: 70rpx;
-				text-align: center;
-				line-height: 70rpx;
-				background: $uv-primary;
-				border-radius: 70rpx;
-				position: absolute;
-				left: 0;
-				top: 50%;
-				margin-top: -35rpx;
-			}
-
-			.title {
-				font-size: 32rpx;
-				font-weight: 600;
-				margin-bottom: 8rpx;
-			}
-
-			.date {
-				font-size: 24rpx;
-				color: $uv-content-color;
-			}
-		}
-
-		.other {
-			margin-top: 20rpx;
-
-			.item {
-				margin-top: 16rpx;
-			}
-
-			.label {
-				color: $uv-content-color;
-				font-size: 24rpx;
-			}
-
-			.value {
-				margin-top: 10rpx;
-				font-weight: 400;
-			}
 
-			.file-item {
-				background-color: #ededed;
-				height: 80rpx;
-				display: flex;
-				align-items: center;
-				border-radius: 12rpx;
-				padding: 0 14rpx;
-			}
-
-			.file-name {
-				flex: 1;
-				width: 0;
-				margin-left: 10rpx;
-			}
-
-			.contarct-item {
-				background-color: #ededed;
-				border-radius: 12rpx;
-				padding: 20rpx;
-				margin-bottom: 20rpx;
-			}
-
-			.contarct-content {
-				display: flex;
-				justify-content: space-between;
-				align-items: center;
-				margin-bottom: 16rpx;
-
-				&.last {
-					margin-bottom: 0rpx;
-
-					.content-item {
-						flex: 1;
-						width: 0;
-					}
-				}
-
-				.content-title {
-					font-size: 32rpx;
-					font-weight: 500;
-				}
-
-				.content-label {
-					color: $uv-content-color;
-					font-size: 24rpx;
-				}
-
-				.content-value {
-					font-weight: 400;
-					margin-left: 6rpx;
-					flex: 1;
-					width: 0;
-				}
-
-				.content-item {
-					overflow: hidden;
-					display: flex;
-					align-items: center;
-
-					&.content-title {
-						flex: 1;
-						width: 0;
-					}
-				}
-			}
-		}
-
-		.state {
-			margin-top: 20rpx;
-			display: flex;
-			justify-content: space-between;
-
-			.create {
-				height: 48rpx;
-				border-radius: 48rpx;
-				border: 1px solid $uv-primary;
-				display: flex;
-				align-items: center;
-				color: $uv-primary;
-				padding: 0 10rpx;
-
-				.name {
-					font-size: 24rpx;
-					flex: 1;
-					max-width: 150rpx;
-					min-width: 70rpx;
-					overflow: hidden;
-					margin-left: 10rpx;
-					line-height: 36rpx;
-					padding-right: 10rpx;
-				}
-			}
-		}
-	}
 </style>

+ 1 - 82
virgo.wzfrontend/workark_wx/subPages/indexPage/orderList/orderList.vue

@@ -65,85 +65,4 @@
 	}
 </script>
 
-<style lang="scss" scoped>
-
-	.common-list {
-		padding: 30rpx;
-		box-sizing: border-box;
-
-		.common-item {
-			background-color: #ffffff;
-			border-radius: 16rpx;
-			box-shadow: 0px 1px 12px rgba(3, 3, 3, 0.08);
-			padding: 30rpx;
-			position: relative;
-			margin-bottom: 30rpx;
-
-			.icon {
-				position: absolute;
-				top: 30rpx;
-				right: 30rpx;
-			}
-
-			.title {
-				font-size: 32rpx;
-				font-weight: 600;
-			}
-
-			.date {
-				font-size: 24rpx;
-				color: $uv-content-color;
-				margin: 10rpx 0;
-			}
-
-			.space {
-				font-size: 24rpx;
-			}
-
-			.other {
-				margin-top: 20rpx;
-
-				.item {
-					margin-top: 16rpx;
-				}
-
-				.label {
-					color: $uv-content-color;
-					font-size: 24rpx;
-				}
-
-				.value {
-					margin-top: 6rpx;
-					font-weight: 400;
-				}
-			}
-
-			.state {
-				margin-top: 20rpx;
-				display: flex;
-				justify-content: space-between;
-
-				.create {
-					height: 48rpx;
-					border-radius: 48rpx;
-					border: 1px solid $uv-primary;
-					display: flex;
-					align-items: center;
-					color: $uv-primary;
-					padding: 0 10rpx;
-
-					.name {
-						font-size: 24rpx;
-						flex: 1;
-						max-width: 150rpx;
-						min-width: 70rpx;
-						overflow: hidden;
-						margin-left: 10rpx;
-						line-height: 36rpx;
-						padding-right: 10rpx;
-					}
-				}
-			}
-		}
-	}
-</style>
+<style lang="scss" scoped></style>

+ 2 - 2
virgo.wzfrontend/workark_wx/subPages/workarkPage/components/sureOrder.vue

@@ -135,10 +135,10 @@
 						signType: wxConfig.data.signType,
 						paySign: wxConfig.data.paySign,
 						success: res => {
-							this.paymentCallback('success', orderData.id);
+							this.paymentCallback('success', orderData.data.id);
 						},
 						fail: err => {
-							this.paymentCallback('warning', orderData.id);
+							this.paymentCallback('warning', orderData.data.id);
 						}
 					});
 				}

+ 10 - 4
virgo.wzfrontend/workark_wx/subPages/workarkPage/paymentStatus/paymentStatus.vue

@@ -20,13 +20,13 @@
 				details: [],
 				primarColor: '',
 				primaryBtnText: '',
-				orderId: '72',
+				orderId: '',
 				orderData: {},
 				codeUrlFailureTime: ''
 			}
 		},
 		onLoad(body) {
-			// this.orderId = body.orderId;
+			this.orderId = body.orderId;
 			if (this.orderId) this.init();
 		},
 		methods: {
@@ -66,8 +66,11 @@
 			},
 			async primaryBtnClick() {
 				if (this.type === 'success') {
-
+					this.$navigateTo('/subPages/indexPage/orderDetail/orderDetail?orderId=' + this.orderData.id)
 				} else if (this.type === 'warning') {
+					uni.showLoading({
+						title: '订单支付中...'
+					})
 					let wxConfig = await getWxPay(this.orderData.orderNo, uni.getStorageSync('openId'));
 					uni.requestPayment({
 						provider: 'wxpay',
@@ -78,8 +81,11 @@
 						paySign: wxConfig.data.paySign,
 						success: res => {
 							this.init();
+							uni.hideLoading();
 						},
-						fail: err => {}
+						fail: err => {
+							uni.hideLoading();
+						}
 					});
 				}
 			},

+ 14 - 3
virgo.wzfrontend/workark_wx/subPages/workarkPage/workarkDetail/workarkDetail.vue

@@ -35,8 +35,12 @@
 			</view>
 		</view>
 		<view class="hui-button-box">
-			<view class="icon-kefu" @click="openChat">
-				<uv-icon name="kefu-ermai" color="primary" size="50" label="客服" labelPos="bottom" labelSize="20">
+			<view class="icon-kefu" @tap="lookContract" v-if="detail.contract">
+				<uv-icon name="order" color="primary" size="50" label="合同" labelPos="bottom" labelSize="20">
+				</uv-icon>
+			</view>
+			<view class="icon-kefu" @tap="openChat">
+				<uv-icon name="server-man" color="primary" size="50" label="客服" labelPos="bottom" labelSize="20">
 				</uv-icon>
 			</view>
 			<uv-button type="primary" text="立即购买" @tap="$refs.popup.open()">
@@ -58,7 +62,8 @@
 		getServeListByQuery,
 		getCustomerServeDetail
 	} from '@/request/api/workark.js'
-	import sureOrder from '@/subPages/workarkPage/components/sureOrder.vue'
+	import sureOrder from '@/subPages/workarkPage/components/sureOrder.vue';
+	import config from '@/config';
 	export default {
 		components: {
 			sureOrder
@@ -110,6 +115,12 @@
 					this.$navigateTo('/subPages/chatPage/chat/chat?userId=' + customerServe.data.customerId +
 						'&userName=' + customerServe.data.nickName)
 				}
+			},
+			lookContract() {
+				if (!this.detail.contract) return;
+				let contract = JSON.parse(this.detail.contract);
+				if (contract.length === 0) return;
+				this.$navigateTo('/pages/pdf/pdf?fileUrl=' + contract[0].url + '&titleName=' + contract[0].name);
 			}
 		},
 	}

+ 7 - 0
virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/app.json

@@ -22,6 +22,13 @@
       "pages": [
         "chat/chat"
       ]
+    },
+    {
+      "root": "subPages/indexPage",
+      "pages": [
+        "orderList/orderList",
+        "orderDetail/orderDetail"
+      ]
     }
   ],
   "window": {

File diff suppressed because it is too large
+ 1 - 1
virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/common/main.wxss


File diff suppressed because it is too large
+ 7 - 7
virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/common/vendor.js


File diff suppressed because it is too large
+ 10 - 0
virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/components/common/upload.js


+ 6 - 0
virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/components/common/upload.json

@@ -0,0 +1,6 @@
+{
+  "usingComponents": {
+    "uv-upload": "/uni_modules/uv-upload/components/uv-upload/uv-upload"
+  },
+  "component": true
+}

+ 1 - 0
virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/components/common/upload.wxml

@@ -0,0 +1 @@
+<view class="upload-index"><uv-upload class="vue-ref" vue-id="00863568-1" accept="{{accept}}" fileList="{{fileList}}" name="1" multiple="{{true}}" maxCount="{{type==='insert'?5:$root.g0}}" deletable="{{type==='insert'}}" width="160" height="160" data-ref="update" data-event-opts="{{[['^afterRead',[['afterRead']]],['^delete',[['deletePic']]],['^clickPreview',[['clickFile']]]]}}" bind:afterRead="__e" bind:delete="__e" bind:clickPreview="__e" bind:__l="__l"></uv-upload></view>

File diff suppressed because it is too large
+ 1 - 1
virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/pages/index/index.js


+ 5 - 1
virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/pages/index/index.json

@@ -1,4 +1,8 @@
 {
   "navigationBarTitleText": "首页",
-  "usingComponents": {}
+  "usingComponents": {
+    "uv-empty": "/uni_modules/uv-empty/components/uv-empty/uv-empty",
+    "uv-button": "/uni_modules/uv-button/components/uv-button/uv-button",
+    "uv-icon": "/uni_modules/uv-icon/components/uv-icon/uv-icon"
+  }
 }

File diff suppressed because it is too large
+ 1 - 1
virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/pages/index/index.wxml


File diff suppressed because it is too large
+ 1 - 0
virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/pages/index/index.wxss


File diff suppressed because it is too large
+ 1 - 1
virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/pages/message/message.js


File diff suppressed because it is too large
+ 1 - 1
virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/pages/message/message.wxml


File diff suppressed because it is too large
+ 1 - 1
virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/pages/message/message.wxss


BIN
virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/static/images/empty/null.png


+ 186 - 1
virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/static/scss/common.scss

@@ -21,4 +21,189 @@
 	display: flex;
 	justify-content: space-between;
 	align-items: center;
-}
+}
+
+.color-primary{
+	color: $uv-primary;
+}
+
+.color-success{
+	color: $uv-success;
+}
+
+.color-warning{
+	color: $uv-warning;
+}
+
+.color-error {
+	color: $uv-error;
+}
+//通用列表
+.status-tag {
+	height: 52rpx;
+	border-radius: 52rpx;
+	line-height: 52rpx;
+	padding: 0 30rpx;
+	font-size: 24rpx;
+	color: #fff;
+
+	&.success {
+		background-color: $uv-success;
+	}
+
+	&.primary {
+		background-color: $uv-primary;
+	}
+
+	&.info {
+		background-color: $uv-info;
+	}
+
+	&.warning {
+		background-color: $uv-warning;
+	}
+
+	&.error {
+		background-color: $uv-error;
+	}
+}
+.process-box{
+	
+	.process-set-item {
+		padding-left: 80rpx;
+		position: relative;
+	}
+	
+	.process-item-title {
+		padding: 10rpx 0;
+		display: flex;
+		align-items: center;
+		
+		.label {
+			font-weight: bold;
+		}
+	}
+	
+	.process-item-content {
+		padding: 5px 0;
+	}
+	
+	.process-set-state {
+		width: 20px;
+		height: 20px;
+		border-radius: 50%;
+		position: absolute;
+		left: 7px;
+		top: 6px;
+		display: flex;
+		align-items: center;
+		justify-content: center;
+	
+		.el-icon-success {
+			font-size: 20px;
+		}
+	
+		&.info {
+			background: rgba(144, 157, 143, 0.4);
+	
+			.process-set-state-1 {
+				background: rgba(144, 157, 143, 1);
+			}
+	
+			.process-set-state-2 {
+				background: rgba(144, 157, 143, 0.6);
+			}
+		}
+	
+		&.waiting {
+			background: rgba(255, 125, 0, 0.4);
+	
+			.process-set-state-1 {
+				background: rgba(255, 125, 0, 1);
+			}
+	
+			.process-set-state-2 {
+				background: rgba(255, 125, 0, 0.6);
+			}
+	
+			.el-icon-success {
+				color: rgba(255, 125, 0, 1);
+			}
+		}
+	
+		&.success {
+			background: rgba(0, 180, 42, 0.4);
+	
+			.process-set-state-1 {
+				background: rgba(0, 180, 42, 1);
+			}
+	
+			.process-set-state-2 {
+				background: rgba(0, 180, 42, 0.6);
+			}
+		}
+	
+		&.error {
+			background: rgba(245, 63, 63, 0.4);
+	
+			.process-set-state-1 {
+				background: rgba(245, 63, 63, 1);
+			}
+	
+			.process-set-state-2 {
+				background: rgba(245, 63, 63, 0.6);
+			}
+		}
+	
+		&.state-last {
+			background: #fff;
+		}
+	}
+	
+	.process-set-state-1 {
+		width: 8px;
+		height: 8px;
+		border-radius: 50%;
+	}
+	
+	.process-set-state-2 {
+		width: 14px;
+		height: 14px;
+		border-radius: 50%;
+		display: flex;
+		align-items: center;
+		justify-content: center;
+	}
+	
+	.line {
+		position: absolute;
+		left: 16px;
+		width: 2px;
+	
+		&.info {
+			background: rgba(144, 157, 143, 0.4);
+		}
+	
+		&.waiting {
+			background: rgba(255, 125, 0, 0.4);
+		}
+	
+		&.success {
+			background: rgba(0, 180, 42, 0.4);
+		}
+	
+		&.error {
+			background: rgba(245, 63, 63, 0.4);
+		}
+	}
+	
+	.line-top {
+		top: 0;
+		height: 6px;
+	}
+	
+	.line-bottom {
+		top: 26px;
+		bottom: 0;
+	}
+}

File diff suppressed because it is too large
+ 1 - 1
virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/subPages/chatPage/chat/chat.js


+ 1 - 0
virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/subPages/chatPage/chat/chat.json

@@ -1,6 +1,7 @@
 {
   "navigationBarTitleText": "",
   "usingComponents": {
+    "uv-safe-bottom": "/uni_modules/uv-safe-bottom/components/uv-safe-bottom/uv-safe-bottom",
     "uv-icon": "/uni_modules/uv-icon/components/uv-icon/uv-icon"
   }
 }

File diff suppressed because it is too large
+ 1 - 1
virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/subPages/chatPage/chat/chat.wxml


File diff suppressed because it is too large
+ 1 - 1
virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/subPages/chatPage/chat/chat.wxss


File diff suppressed because it is too large
+ 10 - 0
virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/subPages/indexPage/components/processItem.js


+ 7 - 0
virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/subPages/indexPage/components/processItem.json

@@ -0,0 +1,7 @@
+{
+  "component": true,
+  "usingComponents": {
+    "process-item": "/subPages/indexPage/components/processItem",
+    "upload": "/components/common/upload"
+  }
+}

File diff suppressed because it is too large
+ 1 - 0
virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/subPages/indexPage/components/processItem.wxml


File diff suppressed because it is too large
+ 1 - 0
virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/subPages/indexPage/orderDetail/orderDetail.js


+ 8 - 0
virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/subPages/indexPage/orderDetail/orderDetail.json

@@ -0,0 +1,8 @@
+{
+  "navigationBarTitleText": "订单详情",
+  "usingComponents": {
+    "uv-steps": "/uni_modules/uv-steps/components/uv-steps/uv-steps",
+    "uv-steps-item": "/uni_modules/uv-steps/components/uv-steps-item/uv-steps-item",
+    "process-item": "/subPages/indexPage/components/processItem"
+  }
+}

File diff suppressed because it is too large
+ 1 - 0
virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/subPages/indexPage/orderDetail/orderDetail.wxml


File diff suppressed because it is too large
+ 1 - 0
virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/subPages/indexPage/orderDetail/orderDetail.wxss


File diff suppressed because it is too large
+ 1 - 0
virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/subPages/indexPage/orderList/orderList.js


+ 6 - 0
virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/subPages/indexPage/orderList/orderList.json

@@ -0,0 +1,6 @@
+{
+  "navigationBarTitleText": "订单列表",
+  "usingComponents": {
+    "z-paging": "/uni_modules/z-paging/components/z-paging/z-paging"
+  }
+}

File diff suppressed because it is too large
+ 1 - 0
virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/subPages/indexPage/orderList/orderList.wxml


File diff suppressed because it is too large
+ 1 - 0
virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/subPages/indexPage/orderList/orderList.wxss


File diff suppressed because it is too large
+ 1 - 1
virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/uni_modules/uv-popup/components/uv-popup/uv-popup.js


File diff suppressed because it is too large
+ 10 - 0
virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/uni_modules/uv-steps/components/uv-steps-item/uv-steps-item.js


+ 7 - 0
virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/uni_modules/uv-steps/components/uv-steps-item/uv-steps-item.json

@@ -0,0 +1,7 @@
+{
+  "usingComponents": {
+    "uv-icon": "/uni_modules/uv-icon/components/uv-icon/uv-icon",
+    "uv-text": "/uni_modules/uv-text/components/uv-text/uv-text"
+  },
+  "component": true
+}

File diff suppressed because it is too large
+ 1 - 0
virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/uni_modules/uv-steps/components/uv-steps-item/uv-steps-item.wxml


File diff suppressed because it is too large
+ 1 - 0
virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/uni_modules/uv-steps/components/uv-steps-item/uv-steps-item.wxss


File diff suppressed because it is too large
+ 10 - 0
virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/uni_modules/uv-steps/components/uv-steps/uv-steps.js


+ 4 - 0
virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/uni_modules/uv-steps/components/uv-steps/uv-steps.json

@@ -0,0 +1,4 @@
+{
+  "usingComponents": {},
+  "component": true
+}

+ 1 - 0
virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/uni_modules/uv-steps/components/uv-steps/uv-steps.wxml

@@ -0,0 +1 @@
+<view class="{{['data-v-a0156d18','uv-steps','uv-steps--'+direction]}}" style="{{$root.s0}}"><slot></slot></view>

+ 1 - 0
virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/uni_modules/uv-steps/components/uv-steps/uv-steps.wxss

@@ -0,0 +1 @@
+view.data-v-a0156d18, scroll-view.data-v-a0156d18, swiper-item.data-v-a0156d18{display:flex;flex-direction:column;flex-shrink:0;flex-grow:0;flex-basis:auto;align-items:stretch;align-content:flex-start}.uv-steps.data-v-a0156d18{display:flex;flex-direction:row}.uv-steps--column.data-v-a0156d18{flex-direction:column}.uv-steps--row.data-v-a0156d18{flex-direction:row;flex:1}

File diff suppressed because it is too large
+ 10 - 0
virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/uni_modules/uv-upload/components/uv-preview-video/uv-preview-video.js


+ 6 - 0
virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/uni_modules/uv-upload/components/uv-preview-video/uv-preview-video.json

@@ -0,0 +1,6 @@
+{
+  "usingComponents": {
+    "uv-popup": "/uni_modules/uv-popup/components/uv-popup/uv-popup"
+  },
+  "component": true
+}

+ 1 - 0
virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/uni_modules/uv-upload/components/uv-preview-video/uv-preview-video.wxml

@@ -0,0 +1 @@
+<uv-popup bind:change="__e" vue-id="8e00faee-1" data-ref="popup" data-event-opts="{{[['^change',[['change']]]]}}" class="data-v-5c90ac64 vue-ref" bind:__l="__l" vue-slots="{{['default']}}"><block wx:if="{{show}}"><view class="video-view data-v-5c90ac64"><video class="video data-v-5c90ac64" src="{{getSec}}" autoplay="{{autoplay}}"></video></view></block></uv-popup>

+ 1 - 0
virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/uni_modules/uv-upload/components/uv-preview-video/uv-preview-video.wxss

@@ -0,0 +1 @@
+.video-view.data-v-5c90ac64{width:750rpx}.video-view .video.data-v-5c90ac64{width:750rpx}

File diff suppressed because it is too large
+ 10 - 0
virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/uni_modules/uv-upload/components/uv-upload/uv-upload.js


+ 8 - 0
virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/uni_modules/uv-upload/components/uv-upload/uv-upload.json

@@ -0,0 +1,8 @@
+{
+  "usingComponents": {
+    "uv-icon": "/uni_modules/uv-icon/components/uv-icon/uv-icon",
+    "uv-loading-icon": "/uni_modules/uv-loading-icon/components/uv-loading-icon/uv-loading-icon",
+    "uv-preview-video": "/uni_modules/uv-upload/components/uv-preview-video/uv-preview-video"
+  },
+  "component": true
+}

File diff suppressed because it is too large
+ 1 - 0
virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/uni_modules/uv-upload/components/uv-upload/uv-upload.wxml


File diff suppressed because it is too large
+ 1 - 0
virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/uni_modules/uv-upload/components/uv-upload/uv-upload.wxss


File diff suppressed because it is too large
+ 10 - 0
virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/uni_modules/z-paging/components/z-paging-empty-view/z-paging-empty-view.js


+ 4 - 0
virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/uni_modules/z-paging/components/z-paging-empty-view/z-paging-empty-view.json

@@ -0,0 +1,4 @@
+{
+  "usingComponents": {},
+  "component": true
+}

File diff suppressed because it is too large
+ 1 - 0
virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/uni_modules/z-paging/components/z-paging-empty-view/z-paging-empty-view.wxml


File diff suppressed because it is too large
+ 1 - 0
virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/uni_modules/z-paging/components/z-paging-empty-view/z-paging-empty-view.wxss


File diff suppressed because it is too large
+ 10 - 0
virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/uni_modules/z-paging/components/z-paging/components/z-paging-load-more.js


+ 4 - 0
virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/uni_modules/z-paging/components/z-paging/components/z-paging-load-more.json

@@ -0,0 +1,4 @@
+{
+  "usingComponents": {},
+  "component": true
+}

File diff suppressed because it is too large
+ 1 - 0
virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/uni_modules/z-paging/components/z-paging/components/z-paging-load-more.wxml


File diff suppressed because it is too large
+ 1 - 0
virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/uni_modules/z-paging/components/z-paging/components/z-paging-load-more.wxss


File diff suppressed because it is too large
+ 10 - 0
virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/uni_modules/z-paging/components/z-paging/components/z-paging-refresh.js


+ 4 - 0
virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/uni_modules/z-paging/components/z-paging/components/z-paging-refresh.json

@@ -0,0 +1,4 @@
+{
+  "usingComponents": {},
+  "component": true
+}

File diff suppressed because it is too large
+ 1 - 0
virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/uni_modules/z-paging/components/z-paging/components/z-paging-refresh.wxml


File diff suppressed because it is too large
+ 1 - 0
virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/uni_modules/z-paging/components/z-paging/components/z-paging-refresh.wxss


+ 382 - 0
virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/uni_modules/z-paging/components/z-paging/wxs/z-paging-wxs.wxs

@@ -0,0 +1,382 @@
+// [z-paging]微信小程序、QQ小程序、app-vue、h5上使用wxs实现自定义下拉刷新,降低逻辑层与视图层的通信折损,提升性能
+
+var currentDis = 0;
+var isPCFlag = -1;
+var startY = -1;
+
+// 监听js层传过来的数据
+function propObserver(newVal, oldVal, ownerIns, ins) {
+	var state = ownerIns.getState() || {};
+	state.currentIns = ins;
+	var dataset = ins.getDataset();
+	var loading = dataset.loading == true;
+	// 如果是下拉刷新结束,更新transform
+	if (newVal && newVal.indexOf('end') != -1) {
+		var transition = newVal.split('end')[0];
+		_setTransform('translateY(0px)', ins, false, transition);
+		state.moveDis = 0;
+		state.oldMoveDis = 0;
+		currentDis = 0;
+	} else if (newVal && newVal.indexOf('begin') != -1) {
+		// 如果是下拉刷新开始,更新transform
+		var refresherThreshold = ins.getDataset().refresherthreshold;
+		_setTransformValue(refresherThreshold, ins, state, false);
+	}
+}
+
+// touch开始
+function touchstart(e, ownerIns) {
+	var ins = _getIns(ownerIns);
+	var state = {};
+	var dataset = {};
+	ownerIns.callMethod('_handleListTouchstart');
+	if (ins) {
+		state = ins.getState();
+		dataset = ins.getDataset();
+		if (_touchDisabled(e, ins, 0)) return;
+	}
+	var isTouchEnded = state.isTouchEnded;
+	state.oldMoveDis = 0;
+	var touch = _getTouch(e);
+	var loading = _isTrue(dataset.loading);
+	state.startY = touch.touchY;
+	startY = state.startY;
+	state.lastTouch = touch;
+	if (!loading && isTouchEnded) {
+		state.isTouchmoving = false;
+	}
+	state.isTouchEnded = false;
+	// 通知js层touch开始
+	ownerIns.callMethod('_handleRefresherTouchstart', touch);
+}
+
+// touch中
+function touchmove(e, ownerIns) {
+	var touch = _getTouch(e);
+	var ins = _getIns(ownerIns);
+	var dataset = ins.getDataset();
+	var refresherThreshold = dataset.refresherthreshold;
+	var refresherF2Threshold = dataset.refresherf2threshold;
+	var refresherF2Enabled = _isTrue(dataset.refresherf2enabled);
+	var isIos = _isTrue(dataset.isios);
+	var state = ins.getState();
+	var watchTouchDirectionChange = _isTrue(dataset.watchtouchdirectionchange);
+	var moveDisObj = {};
+	var moveDis = 0;
+	var prevent = false;
+	// 如果需要监听touch方向的改变
+	if (watchTouchDirectionChange) {
+		moveDisObj = _getMoveDis(e, ins);
+		moveDis = moveDisObj.currentDis;
+		prevent = moveDisObj.isDown;
+		var direction = prevent ? 'top' : 'bottom';
+		// 确保只在touch方向改变时通知一次js层,而不是touchmove中持续通知
+		if (prevent == state.oldTouchDirection && prevent != state.oldEmitedTouchDirection) {
+			ownerIns.callMethod('_handleTouchDirectionChange', { direction: direction }); 
+			state.oldEmitedTouchDirection = prevent;
+		}
+		state.oldTouchDirection = prevent;
+	}
+	// 判断是否允许下拉刷新
+	if (_touchDisabled(e, ins, 1)) {
+		_handlePullingDown(state, ownerIns, false);
+		return true;
+	}
+	// 判断下拉刷新的角度是否在要求范围内
+	if (!_getAngleIsInRange(e, touch, state, dataset)) {
+		_handlePullingDown(state, ownerIns, false);
+		return true;
+	}
+	moveDisObj = _getMoveDis(e, ins);
+	moveDis = moveDisObj.currentDis;
+	prevent = moveDisObj.isDown;
+	if (moveDis < 0) {
+		// moveDis小于0,将transform重置为0
+		_setTransformValue(0, ins, state, false);
+		_handlePullingDown(state, ownerIns, false);
+		return true;
+	}
+	if (prevent && !state.disabledBounce) {
+		// 如果是用户下拉并且需要触发下拉刷新,需要通知js层将列表禁止滚动,防止在下拉刷新过程中列表也可以滚动导致的下拉刷新偏移过大的问题(在下拉刷新过程中仅通知一次)
+		ownerIns.callMethod('_handleScrollViewBounce', { bounce: false });
+		state.disabledBounce = true;
+		_handlePullingDown(state, ownerIns, prevent);
+		return !prevent;
+	}
+	// 更新transform
+	_setTransformValue(moveDis, ins, state, false);
+	var oldRefresherStatus = state.refresherStatus;
+	var oldIsTouchmoving = _isTrue(dataset.oldistouchmoving);
+	var hasTouchmove = _isTrue(dataset.hastouchmove);
+	var isTouchmoving = state.isTouchmoving;
+	state.refresherStatus = moveDis >= refresherThreshold ? (refresherF2Enabled && moveDis > refresherF2Threshold ? 'goF2' : 'releaseToRefresh') : 'default';
+	if (!isTouchmoving) {
+		state.isTouchmoving = true;
+		isTouchmoving = true;
+	}
+	if (state.isTouchEnded) {
+		state.isTouchEnded = false;
+	}
+	// 如果需要实时监听下拉位置偏移,则需要实时通知js层,此操作会使wxs层与js层频繁通信从而导致在一些性能较差设备中下拉刷新卡顿
+	if (hasTouchmove) {
+		ownerIns.callMethod('_handleWxsPullingDown', { moveDis: moveDis, diffDis: moveDisObj.diffDis });
+	}
+	// 在下拉刷新状态改变时通知js层
+	if (oldRefresherStatus == undefined || oldRefresherStatus != state.refresherStatus || oldIsTouchmoving != isTouchmoving) {
+		ownerIns.callMethod('_handleRefresherTouchmove', moveDis, touch);
+	}
+	_handlePullingDown(state, ownerIns, prevent);
+	return !prevent;
+}
+
+// touch结束
+function touchend(e, ownerIns) {
+	var touch = _getTouch(e);
+	var ins = _getIns(ownerIns);
+	var dataset = ins.getDataset();
+	var state = ins.getState();
+	if (state.disabledBounce) {
+		// 通知js允许列表滚动
+		ownerIns.callMethod('_handleScrollViewBounce', { bounce: true });
+		state.disabledBounce = false;
+	}
+	if (_touchDisabled(e, ins, 2)) return;
+	state.reachMaxAngle = true;
+	state.hitReachMaxAngleCount = 0;
+	state.fixedIsTopHitCount = 0;
+	if (!state.isTouchmoving) return;
+	var oldRefresherStatus = state.refresherStatus;
+	var oldMoveDis = state.moveDis;
+	var refresherThreshold = ins.getDataset().refresherthreshold;
+	var moveDis = _getMoveDis(e, ins).currentDis;
+	if (!(moveDis >= refresherThreshold && oldRefresherStatus === 'releaseToRefresh')) {
+		state.isTouchmoving = false;
+	}
+	// 通知js层touch结束
+	ownerIns.callMethod('_handleRefresherTouchend', moveDis);
+	state.isTouchEnded = true;
+	if (oldMoveDis < refresherThreshold) return;
+	var animate = false;
+	if (moveDis >= refresherThreshold) {
+		moveDis = refresherThreshold;
+		animate = true;
+	}
+	_setTransformValue(moveDis, ins, state, animate);
+}
+
+// #ifdef H5
+// 判断是否是pc平台
+function isPC() {
+	if (!navigator) return false;
+	if (isPCFlag != -1) return isPCFlag;
+	var agents = ["Android", "iPhone", "SymbianOS", "Windows Phone", "iPad", "iPod"];
+	isPCFlag = agents.every(function(item) { return navigator.userAgent.indexOf(item) < 0 });
+	return isPCFlag;
+}
+
+var movable = false;
+
+// 在pc平台监听mousedown、mousemove、mouseup等相关事件并转为对应touch事件处理,使得在pc平台也支持通过鼠标进行下拉刷新
+
+function mousedown(e, ins) {
+	if (!isPC()) return;
+	touchstart(e, ins);
+	movable = true;
+}
+
+function mousemove(e, ins) {
+	if (!isPC() || !movable) return;
+	touchmove(e, ins);
+}
+
+function mouseup(e, ins) {
+	if (!isPC()) return;
+	touchend(e, ins);
+	movable = false;
+}
+
+function mouseleave(e, ins) {
+	if (!isPC()) return;
+	movable = false;
+}
+// #endif
+
+
+// 修改视图层transform
+function _setTransformValue(value, ins, state, animate) {
+	value = value || 0;
+	if (state.moveDis == value) return;
+	state.moveDis = value;
+	_setTransform('translateY(' + value + 'px)', ins, animate, '');
+}
+
+// 设置视图层transform,直接在视图层操作下拉刷新,使得js层不需要频繁和视图层通信,从而大大提升下拉刷新性能
+function _setTransform(transform, ins, animate, transition) {
+	var dataset = ins.getDataset();
+	if (_isTrue(dataset.refreshernotransform)) return;
+	transform = transform == 'translateY(0px)' ? 'none' : transform;
+	ins.requestAnimationFrame(function() {
+		var stl = { 'transform': transform };
+		if (animate) {
+			stl['transition'] = 'transform .1s linear';
+		}
+		if (transition.length) {
+			stl['transition'] = transition;
+		}
+		ins.setStyle(stl);
+	})
+}
+
+// 进一步处理下拉刷新的偏移数据
+function _getMoveDis(e, ins) {
+	var state = ins.getState();
+	var refresherThreshold = parseFloat(ins.getDataset().refresherthreshold);
+	var refresherOutRate = parseFloat(ins.getDataset().refresheroutrate);
+	var refresherPullRate = parseFloat(ins.getDataset().refresherpullrate);
+	var touch = _getTouch(e);
+	var currentStartY = !state.startY || state.startY == 'NaN' ? startY : state.startY;
+	var moveDis = touch.touchY - currentStartY;
+	var oldMoveDis = state.oldMoveDis || 0;
+	state.oldMoveDis = moveDis;
+	// 获取当前下拉刷新位置与上次的偏移量
+	var diffDis = moveDis - oldMoveDis;
+	if (diffDis > 0) {
+		// 对偏移量进行进一步处理,通过refresherPullRate等配置进行约束
+		diffDis = diffDis * refresherPullRate;
+		if (currentDis > refresherThreshold) {
+			diffDis = diffDis * (1 - refresherOutRate);
+		}
+	}
+	// 控制diffDis过大的情况,比如进入页面突然猛然下拉,此时diffDis不应进行太大的偏移
+	diffDis = diffDis > 100 ? diffDis / 100 : (diffDis > 20 ? diffDis / 2.2 : diffDis);
+	currentDis += diffDis;
+	currentDis = Math.max(0, currentDis);
+	return {
+		currentDis: currentDis,
+		diffDis: diffDis,
+		isDown: diffDis > 0
+	};
+}
+
+// 获取经过统一格式包装的当前touch对象
+function _getTouch(e) {
+	var touch = e;
+	if (e.touches && e.touches.length) {
+		touch = e.touches[0];
+	} else if (e.changedTouches && e.changedTouches.length) {
+		touch = e.changedTouches[0];
+	} else if (e.datail && e.datail != {}) {
+		touch = e.datail;
+	}
+	return {
+		touchX: touch.clientX,
+		touchY: touch.clientY
+	};
+}
+
+// 获取当前currentIns
+function _getIns(ownerIns) {
+	var ins = ownerIns.getState().currentIns;
+	if (!ins) {
+		ownerIns.callMethod('_handlePropUpdate');
+	}
+	return ins;
+}
+
+// 判断当前状态是否允许下拉刷新
+function _touchDisabled(e, ins, processTag) {
+	var dataset = ins.getDataset();
+	var state = ins.getState();
+	var loading = _isTrue(dataset.loading);
+	var useChatRecordMode = _isTrue(dataset.usechatrecordmode);
+	var refresherEnabled = _isTrue(dataset.refresherenabled);
+	var useCustomRefresher = _isTrue(dataset.usecustomrefresher);
+	var usePageScroll = _isTrue(dataset.usepagescroll);
+	var pageScrollTop = parseFloat(dataset.pagescrolltop);
+	var scrollTop = parseFloat(dataset.scrolltop);
+	var finalScrollTop = usePageScroll ? pageScrollTop : scrollTop;
+	var fixedIsTop = false;
+	// 是否要处理滚动到顶部scrollTop不为0时候的容错,为解决在安卓中scroll-view有概率滚动到顶部时scrollTop不为0导致下拉刷新判断异常,但此方案会导致某些情况(例如滚动到距离顶部10px处)下拉抖动,因此改为通过获取zp-scroll-view的节点信息中的scrollTop进行验证的方案
+	var handleFaultTolerantMove = false;
+	if (handleFaultTolerantMove && finalScrollTop == (state.startScrollTop || 0) && finalScrollTop <= 105) {
+		fixedIsTop = true;
+	}
+	var fixedIsTopHitCount = state.fixedIsTopHitCount || 0;
+	if (fixedIsTop) {
+		fixedIsTopHitCount ++;
+		if (fixedIsTopHitCount <= 2) {
+			fixedIsTop = false;
+		}
+		state.fixedIsTopHitCount = fixedIsTopHitCount;
+	} else {
+		state.fixedIsTopHitCount = 0;
+	}
+	if (handleFaultTolerantMove && processTag === 0) {
+		state.startScrollTop = finalScrollTop || 0;
+	}
+	if (handleFaultTolerantMove && processTag === 2) {
+		fixedIsTop = true;
+	}
+	return loading || useChatRecordMode || !refresherEnabled || !useCustomRefresher || 
+	((usePageScroll && useCustomRefresher && pageScrollTop > 5) && !fixedIsTop) || 
+	((!usePageScroll && useCustomRefresher && scrollTop > 5) && !fixedIsTop);
+}
+
+// 判断下拉刷新的角度是否在要求范围内
+function _getAngleIsInRange(e, touch, state, dataset) {
+	var maxAngle = dataset.refreshermaxangle;
+	var refresherAecc = _isTrue(dataset.refresheraecc);
+	var lastTouch = state.lastTouch;
+	var reachMaxAngle = state.reachMaxAngle;
+	var moveDis = state.oldMoveDis;
+	if (!lastTouch) return true;
+	if (maxAngle >= 0 && maxAngle <= 90 && lastTouch) {
+		// 考虑下拉刷新手势由水平移动转为垂直方向移动的情况,此时不应当只判断垂直方向角度是否符合要求,应当直接禁止以避免在swiper中使用下拉刷新时,横向切换swiper途中手未离开屏幕还可以下拉刷新的问题
+		if ((!moveDis || moveDis < 1) && !refresherAecc && reachMaxAngle != null && !reachMaxAngle) return false;
+		var x = Math.abs(touch.touchX - lastTouch.touchX);
+		var y = Math.abs(touch.touchY - lastTouch.touchY);
+		var z = Math.sqrt(Math.pow(x, 2) + Math.pow(y, 2));
+		if ((x || y) && x > 1) {
+			// 获取下拉刷新前后两次位移的角度
+			var angle = Math.asin(y / z) / Math.PI * 180;
+			if (angle < maxAngle) {
+				// 如果角度小于配置要求,则return,同时通过hitReachMaxAngleCount控制角度判断的灵敏程度以最大程度兼容各种使用场景
+				var hitReachMaxAngleCount = state.hitReachMaxAngleCount || 0;
+				state.hitReachMaxAngleCount = ++hitReachMaxAngleCount;
+				if (state.hitReachMaxAngleCount > 2) {
+					state.lastTouch = touch;
+					state.reachMaxAngle = false;
+				}
+				return false;
+			}
+		}
+	}
+	state.lastTouch = touch;
+	return true;
+}
+
+// 进一步处理是否在下拉刷新并通知js层
+function _handlePullingDown(state, ins, onPullingDown) {
+	var oldOnPullingDown = state.onPullingDown || false;
+	if (oldOnPullingDown != onPullingDown) {
+		ins.callMethod('_handleWxsPullingDownStatusChange', onPullingDown);
+	}
+	state.onPullingDown = onPullingDown;
+}
+
+// 判断js层传过来的值是否为true
+function _isTrue(value) {
+	value = (typeof(value) === 'string' ? JSON.parse(value) : value) || false;
+	return value == true || value == 'true';
+}
+
+module.exports = {
+	touchstart: touchstart,
+	touchmove: touchmove,
+	touchend: touchend,
+	mousedown: mousedown,
+	mousemove: mousemove,
+	mouseup: mouseup,
+	mouseleave: mouseleave,
+	propObserver: propObserver
+}

File diff suppressed because it is too large
+ 10 - 0
virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/uni_modules/z-paging/components/z-paging/z-paging.js


+ 14 - 0
virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/uni_modules/z-paging/components/z-paging/z-paging.json

@@ -0,0 +1,14 @@
+{
+  "componentGenerics": {
+    "scoped-slots-refresher": true,
+    "scoped-slots-cell": true,
+    "scoped-slots-chatLoading": true,
+    "scoped-slots-empty": true
+  },
+  "component": true,
+  "usingComponents": {
+    "z-paging-empty-view": "/uni_modules/z-paging/components/z-paging-empty-view/z-paging-empty-view",
+    "z-paging-refresh": "/uni_modules/z-paging/components/z-paging/components/z-paging-refresh",
+    "z-paging-load-more": "/uni_modules/z-paging/components/z-paging/components/z-paging-load-more"
+  }
+}

File diff suppressed because it is too large
+ 2 - 0
virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/uni_modules/z-paging/components/z-paging/z-paging.wxml


File diff suppressed because it is too large
+ 1 - 0
virgo.wzfrontend/workark_wx/unpackage/dist/build/mp-weixin/uni_modules/z-paging/components/z-paging/z-paging.wxss


File diff suppressed because it is too large
+ 1 - 1
virgo.wzfrontend/workark_wx/unpackage/dist/dev/.sourcemap/mp-weixin/common/main.js.map


File diff suppressed because it is too large
+ 1 - 1
virgo.wzfrontend/workark_wx/unpackage/dist/dev/.sourcemap/mp-weixin/common/vendor.js.map


File diff suppressed because it is too large
+ 1 - 1
virgo.wzfrontend/workark_wx/unpackage/dist/dev/.sourcemap/mp-weixin/components/common/upload.js.map


File diff suppressed because it is too large
+ 1 - 1
virgo.wzfrontend/workark_wx/unpackage/dist/dev/.sourcemap/mp-weixin/components/login/imageCode.js.map


File diff suppressed because it is too large
+ 1 - 1
virgo.wzfrontend/workark_wx/unpackage/dist/dev/.sourcemap/mp-weixin/pages/index/index.js.map


File diff suppressed because it is too large
+ 1 - 1
virgo.wzfrontend/workark_wx/unpackage/dist/dev/.sourcemap/mp-weixin/pages/login/login.js.map


File diff suppressed because it is too large
+ 1 - 1
virgo.wzfrontend/workark_wx/unpackage/dist/dev/.sourcemap/mp-weixin/pages/message/message.js.map


File diff suppressed because it is too large
+ 1 - 1
virgo.wzfrontend/workark_wx/unpackage/dist/dev/.sourcemap/mp-weixin/pages/my/my.js.map


File diff suppressed because it is too large
+ 1 - 0
virgo.wzfrontend/workark_wx/unpackage/dist/dev/.sourcemap/mp-weixin/pages/pdf/pdf.js.map


File diff suppressed because it is too large
+ 1 - 1
virgo.wzfrontend/workark_wx/unpackage/dist/dev/.sourcemap/mp-weixin/pages/workark/workark.js.map


File diff suppressed because it is too large
+ 1 - 1
virgo.wzfrontend/workark_wx/unpackage/dist/dev/.sourcemap/mp-weixin/subPages/chatPage/chat/chat.js.map


File diff suppressed because it is too large
+ 1 - 0
virgo.wzfrontend/workark_wx/unpackage/dist/dev/.sourcemap/mp-weixin/subPages/indexPage/contractDetail/contractDetail.js.map


File diff suppressed because it is too large
+ 1 - 0
virgo.wzfrontend/workark_wx/unpackage/dist/dev/.sourcemap/mp-weixin/subPages/indexPage/contractList/contractList.js.map


File diff suppressed because it is too large
+ 1 - 0
virgo.wzfrontend/workark_wx/unpackage/dist/dev/.sourcemap/mp-weixin/subPages/indexPage/invoiceDetail/invoiceDetail.js.map


File diff suppressed because it is too large
+ 1 - 0
virgo.wzfrontend/workark_wx/unpackage/dist/dev/.sourcemap/mp-weixin/subPages/indexPage/invoiceList/invoiceList.js.map


File diff suppressed because it is too large
+ 1 - 1
virgo.wzfrontend/workark_wx/unpackage/dist/dev/.sourcemap/mp-weixin/subPages/indexPage/orderDetail/orderDetail.js.map


File diff suppressed because it is too large
+ 1 - 1
virgo.wzfrontend/workark_wx/unpackage/dist/dev/.sourcemap/mp-weixin/subPages/indexPage/orderList/orderList.js.map


File diff suppressed because it is too large
+ 1 - 1
virgo.wzfrontend/workark_wx/unpackage/dist/dev/.sourcemap/mp-weixin/subPages/workarkPage/components/sureOrder.js.map


File diff suppressed because it is too large
+ 1 - 1
virgo.wzfrontend/workark_wx/unpackage/dist/dev/.sourcemap/mp-weixin/subPages/workarkPage/coupon/coupon.js.map


File diff suppressed because it is too large
+ 1 - 1
virgo.wzfrontend/workark_wx/unpackage/dist/dev/.sourcemap/mp-weixin/subPages/workarkPage/paymentStatus/paymentStatus.js.map


File diff suppressed because it is too large
+ 1 - 1
virgo.wzfrontend/workark_wx/unpackage/dist/dev/.sourcemap/mp-weixin/subPages/workarkPage/workarkDetail/workarkDetail.js.map


+ 0 - 0
virgo.wzfrontend/workark_wx/unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/kevy-result-page/components/kevy-result-page/kevy-result-page.js.map


Some files were not shown because too many files changed in this diff