liukang 2 năm trước cách đây
mục cha
commit
7df42cd7df
100 tập tin đã thay đổi với 905 bổ sung523 xóa
  1. 21 19
      components/news-module/news-module.vue
  2. 11 0
      page_index/pages/bidding/bidding.vue
  3. 2 0
      page_index/pages/purchase/orderDetail.vue
  4. 31 91
      page_index/pages/purchase/purchase.vue
  5. 17 44
      page_mine/pages/collect/collect.vue
  6. 58 9
      page_mine/pages/member/index.vue
  7. 51 8
      page_mine/pages/service/joinPerson.vue
  8. 373 0
      page_mine/pages/service/perfect.vue
  9. 11 1
      page_mine/pages/setting/rules.vue
  10. 1 1
      page_mine/pages/wallet/add.vue
  11. 36 3
      page_mine/pages/wallet/withdrawal.vue
  12. 12 1
      page_shop/pages/address/add.vue
  13. 15 4
      page_shop/pages/address/list.vue
  14. 138 138
      page_shop/pages/good/detail.vue
  15. 17 2
      page_shop/pages/good/submit.vue
  16. 31 8
      page_shop/pages/mine/cart.vue
  17. 5 14
      page_shop/pages/mine/collect.vue
  18. 26 113
      page_shop/pages/order/list.vue
  19. 14 0
      page_shop/pages/order/refund.vue
  20. 7 0
      pages.json
  21. 7 12
      pages/tabbar/index/index.vue
  22. 1 1
      pages/tabbar/mine/mine.vue
  23. 20 54
      pages/tabbar/shop/shop.vue
  24. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/common/main.js.map
  25. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/common/runtime.js.map
  26. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/common/vendor.js.map
  27. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/components/menuList/menuList.js.map
  28. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/components/my-canvas/my-canvas.js.map
  29. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/components/my-order/my-order.js.map
  30. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/components/news-module/news-module.js.map
  31. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/components/order-top/order-top.js.map
  32. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/components/share-model/share-model.js.map
  33. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/node-modules/uview-ui/components/u--text/u--text.js.map
  34. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/node-modules/uview-ui/components/u--textarea/u--textarea.js.map
  35. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/node-modules/uview-ui/components/u-avatar/u-avatar.js.map
  36. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/node-modules/uview-ui/components/u-badge/u-badge.js.map
  37. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/node-modules/uview-ui/components/u-checkbox-group/u-checkbox-group.js.map
  38. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/node-modules/uview-ui/components/u-checkbox/u-checkbox.js.map
  39. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/node-modules/uview-ui/components/u-code/u-code.js.map
  40. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/node-modules/uview-ui/components/u-column-notice/u-column-notice.js.map
  41. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/node-modules/uview-ui/components/u-count-down/u-count-down.js.map
  42. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/node-modules/uview-ui/components/u-datetime-picker/u-datetime-picker.js.map
  43. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/node-modules/uview-ui/components/u-grid-item/u-grid-item.js.map
  44. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/node-modules/uview-ui/components/u-grid/u-grid.js.map
  45. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/node-modules/uview-ui/components/u-icon/u-icon.js.map
  46. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/node-modules/uview-ui/components/u-index-anchor/u-index-anchor.js.map
  47. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/node-modules/uview-ui/components/u-index-item/u-index-item.js.map
  48. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/node-modules/uview-ui/components/u-index-list/u-index-list.js.map
  49. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/node-modules/uview-ui/components/u-input/u-input.js.map
  50. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/node-modules/uview-ui/components/u-line/u-line.js.map
  51. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/node-modules/uview-ui/components/u-link/u-link.js.map
  52. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/node-modules/uview-ui/components/u-loading-icon/u-loading-icon.js.map
  53. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/node-modules/uview-ui/components/u-modal/u-modal.js.map
  54. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/node-modules/uview-ui/components/u-navbar/u-navbar.js.map
  55. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/node-modules/uview-ui/components/u-notice-bar/u-notice-bar.js.map
  56. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/node-modules/uview-ui/components/u-number-box/u-number-box.js.map
  57. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/node-modules/uview-ui/components/u-overlay/u-overlay.js.map
  58. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/node-modules/uview-ui/components/u-parse/node/node.js.map
  59. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/node-modules/uview-ui/components/u-parse/u-parse.js.map
  60. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/node-modules/uview-ui/components/u-picker/u-picker.js.map
  61. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/node-modules/uview-ui/components/u-popup/u-popup.js.map
  62. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/node-modules/uview-ui/components/u-radio-group/u-radio-group.js.map
  63. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/node-modules/uview-ui/components/u-radio/u-radio.js.map
  64. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/node-modules/uview-ui/components/u-read-more/u-read-more.js.map
  65. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/node-modules/uview-ui/components/u-row-notice/u-row-notice.js.map
  66. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/node-modules/uview-ui/components/u-safe-bottom/u-safe-bottom.js.map
  67. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/node-modules/uview-ui/components/u-search/u-search.js.map
  68. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/node-modules/uview-ui/components/u-status-bar/u-status-bar.js.map
  69. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/node-modules/uview-ui/components/u-steps-item/u-steps-item.js.map
  70. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/node-modules/uview-ui/components/u-steps/u-steps.js.map
  71. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/node-modules/uview-ui/components/u-swipe-action-item/u-swipe-action-item.js.map
  72. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/node-modules/uview-ui/components/u-swipe-action/u-swipe-action.js.map
  73. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/node-modules/uview-ui/components/u-swiper-indicator/u-swiper-indicator.js.map
  74. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/node-modules/uview-ui/components/u-swiper/u-swiper.js.map
  75. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/node-modules/uview-ui/components/u-switch/u-switch.js.map
  76. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/node-modules/uview-ui/components/u-tabs/u-tabs.js.map
  77. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/node-modules/uview-ui/components/u-text/u-text.js.map
  78. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/node-modules/uview-ui/components/u-textarea/u-textarea.js.map
  79. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/node-modules/uview-ui/components/u-toolbar/u-toolbar.js.map
  80. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/node-modules/uview-ui/components/u-transition/u-transition.js.map
  81. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/node-modules/uview-ui/components/u-upload/u-upload.js.map
  82. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/page_index/pages/bidding/bidDetail.js.map
  83. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/page_index/pages/bidding/bidding.js.map
  84. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/page_index/pages/demand/collect.js.map
  85. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/page_index/pages/demand/delivery.js.map
  86. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/page_index/pages/demand/demand.js.map
  87. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/page_index/pages/demand/perfect.js.map
  88. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/page_index/pages/demand/publish.js.map
  89. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/page_index/pages/demand/recruitDetail.js.map
  90. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/page_index/pages/demand/wantedDetail.js.map
  91. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/page_index/pages/index/changeCity.js.map
  92. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/page_index/pages/index/newDetail.js.map
  93. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/page_index/pages/index/noticeDetail.js.map
  94. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/page_index/pages/index/noticeList.js.map
  95. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/page_index/pages/index/search.js.map
  96. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/page_index/pages/index/weather.js.map
  97. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/page_index/pages/purchase/orderDetail.js.map
  98. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/page_index/pages/purchase/purchase.js.map
  99. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/page_index/pages/purchase/receivingDetail.js.map
  100. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/page_index/pages/purchase/release.js.map

+ 21 - 19
components/news-module/news-module.vue

@@ -1,23 +1,24 @@
 <template>
 	<view class="news_module vflex">
 		<block v-for="(item,index) in pageList" :key="index">
-			<view class="news_box">
+			<!-- <view class="news_box">
 				<view class="news_title">
-					{{item.ad.title}}
+					{{item.title}}
 				</view>
-				<view v-if="item.ad.images !== ''" class="imgList hflex acenter jbetween">
-					<image :src="item.ad.images" mode="aspectFill" class="img2"></image>
+				<view v-if="item.images !== ''" class="imgList hflex acenter jbetween">
+					<image :src="item.images" mode="aspectFill" class="img2"></image>
 				</view>
 				<view class="hflex acenter bottom">
-					<view class="bottom_text3">广告</view>
-					<view class="bottom_text2" v-if="item.ad.source">{{item.ad.source}}</view>
+					<view class="bottom_text3" v-if="item.category">{{item.category.name}}</view>
+					<view class="bottom_text3" v-else>广告</view>
+					<view class="bottom_text2" v-if="item.source">{{item.source}}</view>
 				</view>
-			</view>
+			</view> -->
 			<view class="" >
-				<block v-for="(item1,index1) in item.xw" :key="index1">
-					<view class="news_box" @click="toDetail(item1.id)">
+				<!-- <block v-for="(item1,index1) in item.xw" :key="index1"> -->
+					<view class="news_box" @click="toDetail(item.id)">
 						<view class="news_title">
-							{{item1.title}}
+							{{item.title}}
 						</view>
 						<!-- <view class="hflex acenter user" v-if="item2.user">
 							<view class="avatar_box">
@@ -28,24 +29,25 @@
 								V
 							</view>
 						</view> -->
-						<view v-if="item1.images.length > 2" class="imgList hflex acenter jbetween">
-							<block v-for="(item2,index2) in item1.images" :key="index2">
-								<image :src="item2" mode="aspectFill" class="img" @tap.stop="priveImg(index,index1,index2)"></image>
+						<view v-if="item.images.length > 2" class="imgList hflex acenter jbetween">
+							<block v-for="(item2,index2) in item.images" :key="index2">
+								<image :src="item2" mode="aspectFill" class="img" @tap.stop="priveImg(index,index2)"></image>
 							</block>
 						</view>
-						<view v-if="item1.images.length == 1 && !item1.has_img" class="imgList hflex acenter jcenter">
-							<image :src="item1.images" mode="aspectFill" class="img2"></image>
+						<view v-if="item.images.length == 1 && !item.has_img" class="imgList hflex acenter jcenter">
+							<image :src="item.images" mode="aspectFill" class="img2"></image>
 						</view>
 						<!-- <view v-if="item.video" class="imgList">
 							<video :src="item.video" controls></video>
 						</view> -->
 						<view class="hflex acenter bottom">
-							<view class="bottom_text">{{item1.category.name}}</view>
-							<view class="bottom_text2">{{item1.source}}</view>
-							<view class="bottom_text2" v-if="item1.comments_count > 0">{{item1.comments_count}}评论</view>
+							<view class="bottom_text" v-if="item.category">{{item.category.name}}</view>
+							<view class="bottom_text3" v-else>广告</view>
+							<view class="bottom_text2">{{item.source}}</view>
+							<view class="bottom_text2" v-if="item.comments_count > 0">{{item.comments_count}}评论</view>
 						</view>
 					</view>
-				</block>
+				<!-- </block> -->
 				
 			</view>
 		</block>

+ 11 - 0
page_index/pages/bidding/bidding.vue

@@ -267,12 +267,23 @@
 		},
 		onLoad() {
 			that = this
+			that.getList()
 		},
 		methods: {
 			// 返回
 			leftClick() {
 				$api.jump(-1)
 			},
+			getList() {
+				$api.req({
+					url: '/data/api.Bidding/index',
+					data: {
+						limit: that.limit,
+						page: that.page,
+						b_type: 
+					}
+				})
+			},
 			// 切换tabs
 			changeTab(index) {
 				that.tab_active = index

+ 2 - 0
page_index/pages/purchase/orderDetail.vue

@@ -276,11 +276,13 @@
 				fileList1: [],
 				index: 0,
 				share_show: false,
+				tab: '',
 			}
 		},
 		onLoad(options) {
 			that = this
 			that.id = options.id
+			that.tab = options.tab
 		},
 		methods: {
 			// 收藏

+ 31 - 91
page_index/pages/purchase/purchase.vue

@@ -18,19 +18,22 @@
 				<block v-for="(item,index) in pageList" :key="index">
 					<view class="order_box">
 						<view class="order_top hflex acenter">
-							<image src="/static/images/comment/order_type1.png"  v-if="item.type == 0" class="order_img"></image>
-							<image src="/static/images/comment/order_type2.png"  v-if="item.type == 1" class="order_img"></image>
-							<image src="/static/images/comment/order_type3.png"  v-if="item.type == 2" class="order_img"></image>
-							<image src="/static/images/comment/order_type4.png"  v-if="item.type == 3" class="order_img"></image>
+							<image src="/static/images/comment/order_type1.png"  v-if="item.tab == 1" class="order_img"></image>
+							<image src="/static/images/comment/order_type2.png"  v-if="item.tab == 2" class="order_img"></image>
+							<image src="/static/images/comment/order_type3.png"  v-if="item.tab == 3" class="order_img"></image>
+							<image src="/static/images/comment/order_type4.png"  v-if="item.tab == 4" class="order_img"></image>
 							<view class="order_title">{{item.real_name}}</view>
 						</view>
 						<view class="">
-							<block v-for="(item2,inx) in item.item" :key="inx">
+							<block v-for="(item2,inx) in item.items" :key="inx">
 								<view class="order_item">
 									<view class="item_name">{{item2.name}}</view>
-									<view class="hflex acenter ">
+									<view class="hflex acenter " v-if="item.tab !== 4">
 										<view class="text_style1 padR-20" >规格:{{item2.spec}}</view>
-										<view class="text_style1">数量:{{item2.number}}</view>
+										<view class="text_style1">数量:{{item2.number}}桶	</view>
+									</view>
+									<view class="hflex acenter " v-else>
+										<view class="text_style1 padR-20" >数量/吨位:{{item2.weight}}吨</view>
 									</view>
 								</view>
 							</block>
@@ -100,86 +103,7 @@
 				],
 				sort_index: 1,
 				pageList: [
-					{
-						index: 1,
-						type: 0,
-						name: '福建船舶有限公司',
-						order: [
-							{
-								id: 1,
-								name: '聚酰胺/非离子表面活性剂Lutensol XP',
-								norm: '15kg/桶',
-								num: '10桶'
-							},
-							{
-								id: 2,
-								name: '聚酰胺/非离子表面活性剂Lutensol XP',
-								norm: '15kg/桶',
-								num: '10桶'
-							}
-						],
-						date: '2022-11-14 12:34'
-					},
-					{
-						index: 2,
-						type: 1,
-						name: '福建船舶有限公司',
-						order: [
-							{
-								id: 1,
-								name: '聚酰胺/非离子表面活性剂Lutensol XP',
-								norm: '15kg/桶',
-								num: '10桶'
-							},
-							{
-								id: 2,
-								name: '聚酰胺/非离子表面活性剂Lutensol XP',
-								norm: '15kg/桶',
-								num: '10桶'
-							}
-						],
-						date: '2022-11-14 12:34'
-					},
-					{
-						index: 3,
-						type: 2,
-						name: '福建船舶有限公司',
-						order: [
-							{
-								id: 1,
-								name: '聚酰胺/非离子表面活性剂Lutensol XP',
-								norm: '15kg/桶',
-								num: '10桶'
-							},
-							{
-								id: 2,
-								name: '聚酰胺/非离子表面活性剂Lutensol XP',
-								norm: '15kg/桶',
-								num: '10桶'
-							}
-						],
-						date: '2022-11-14 12:34'
-					},
-					{
-						index: 4,
-						type: 3,
-						name: '福建船舶有限公司',
-						order: [
-							{
-								id: 1,
-								name: '聚酰胺/非离子表面活性剂Lutensol XP',
-								norm: '15kg/桶',
-								num: '10桶'
-							},
-							{
-								id: 2,
-								name: '聚酰胺/非离子表面活性剂Lutensol XP',
-								norm: '15kg/桶',
-								num: '10桶'
-							}
-						],
-						date: '2022-11-14 12:34'
-					}
+					
 				],
 				pageList2: [
 					{
@@ -190,7 +114,9 @@
 						address: '山东省济南市历下区历元大街188号解放军家 属院东省济南市'
 					}
 				],
-				
+				page: 1,
+				limit: 10,
+				tab_active: 0,
 			}
 		},
 		onLoad() {
@@ -205,10 +131,19 @@
 			},
 			getList() {
 				$api.req({
-					url: '/data/api.auth.Offer/purchase_order'
+					url: '/data/api.auth.Purchase/list',
+					data: {
+						page: that.page,
+						limit: that.limit,
+						tab: Number(that.tab_active) + 1,
+						sort: that.sort_index,
+						sort_dir: 'asc',
+						longitude: uni.getStorageSync('userLocation').split(',')[0],
+						latitude: uni.getStorageSync('userLocation').split(',')[1]
+					}
 				}, function(res) {
 					if(res.code == 1) {
-						that.pageList = res.data.list
+						that.pageList = res.data.data
 					}
 				})
 			},
@@ -223,6 +158,9 @@
 			// 切换tabs
 			changeTabs(e) {
 				console.log(e);
+				that.tab_active = e.index
+				that.pageList = []
+				that.getList()
 			},
 			// 切换排序
 			changeSort(index) {
@@ -231,10 +169,12 @@
 				} else {
 					that.sort_index = 1
 				}
+				that.pageList = []
+				that.getList()
 			},
 			// 查看订单详情
 			toDetail(id) {
-				$api.jump('/page_index/pages/purchase/orderDetail?id=' + id)
+				$api.jump('/page_index/pages/purchase/orderDetail?id=' + id + '&tab=' + that.tab_active)
 			},
 			// 发布
 			release() {

+ 17 - 44
page_mine/pages/collect/collect.vue

@@ -76,51 +76,9 @@
 				],
 				active: 1,
 				pageList: [
-					{
-						index: 1,
-						type: 0,
-						name: '福建船舶有限公司',
-						order: [
-							{
-								id: 1,
-								name: '聚酰胺/非离子表面活性剂Lutensol XP',
-								norm: '15kg/桶',
-								num: '10桶'
-							},
-							{
-								id: 2,
-								name: '聚酰胺/非离子表面活性剂Lutensol XP',
-								norm: '15kg/桶',
-								num: '10桶'
-							},
-						],
-						date: '2022-11-14 12:34'
-					},
-				],
-				pageList1: [
-					{
-						id: 1,
-						img: '/static/images/mine/avatar2.jpg',
-						name: '上海黄浦区造船厂',
-						cc:'江南船厂',
-						zhcc: '综合船厂',
-						cz: '船长7',
-						jxg: '机械工23',
-						juli: '19.2km',
-						addr: '智城路与中晟大街交汇处',
-					},
-					{
-						id: 2,
-						img: '/static/images/mine/avatar1.jpg',
-						name: '南通振华装备制造有限公司',
-						cc:'江南船厂',
-						zhcc: '综合船厂',
-						cz: '船长7',
-						jxg: '机械工23',
-						juli: '21.2km',
-						addr: '临沂市兰山区解放路东段27号',
-					}
+					
 				],
+				
 				shadowStyle: {
 					backgroundImage: "none",
 				},
@@ -128,11 +86,26 @@
 		},
 		onLoad() {
 			that = this
+			that.getList() 
 		},
 		methods: {
+			getList() {
+				$api.req({
+					url: '/data/api.auth.Center/mycollection',
+					method: 'POST',
+					data: {
+						type: that.active + 2
+					}
+				}, function(res) {
+					if(res.code == 1) {
+						that.pageList = res.data.data
+					}
+				})
+			},
 			// 切换tabs
 			changeTabs(id) {
 				that.active = id
+				that.getList() 
 			},
 			load() {
 				this.$refs.uReadMore.init();

+ 58 - 9
page_mine/pages/member/index.vue

@@ -1,7 +1,7 @@
 <template>
 	<view class="content">
 		<view class="top">
-			<view class="text" v-if="is_member">会员已与{{member_date}}过期</view>
+			<view class="text" v-if="member_date!==''">会员已与{{member_date}}过期</view>
 			<view class="text" v-else>开通会员,立享多种特权</view>
 		</view>
 		<view class="box">
@@ -42,7 +42,7 @@
 								<view class="box_right">余额支付(¥{{amount}})</view>
 							</view>
 							<view class="hflex acenter">
-								<view class="info">{{info}}</view>
+								<view class="info" v-if="combination">{{info}}</view>
 								<u-radio name="1" shape="circle"></u-radio>
 							</view>
 						</view>
@@ -65,10 +65,9 @@
 				agree1: '',
 				pay_show: false,
 				price: 0,
-				is_member: 1,
-				member_date: '2022-12-01',
+				member_date: '',
 				amount: '',
-				info: '',
+				info: '需组合支付',
 				checkValue: [
 					{
 						name:'wx',
@@ -77,13 +76,14 @@
 						name: 'yue'
 					}
 				],
-				data: ''
+				data: '',
+				pay_data: [],
+				combination: false
 			}
 		},
 		onLoad() {
 			that = this
 			that.getData() 
-			that.getPay()
 		},
 		methods: {
 			getData() {
@@ -95,8 +95,16 @@
 						that.price = res.data.price
 						that.text = res.data.user_vip_des
 						that.data = res.data.user_vip_agreement
+						var pages = getCurrentPages()
+						var prePage = pages[pages.length - 2]
+						that.member_date = prePage.$vm.user.vip_datetime
+						that.amount = prePage.$vm.user.money
+						if(Number(that.amount) < Number(that.price)) {
+							that.combination = true
+						}
 					}
 				})
+				
 			},
 			// 阅读并同意
 			checkboxChange(n) {
@@ -125,8 +133,49 @@
 			},
 			// 立即支付
 			pay() {
-				if(that.agree1) {
-					that.pay_show = true
+				if (that.agree1 !== '') {
+					$api.req({
+						url: '/data/api.auth.Center/channel',
+						method: 'POST',
+						data: {
+							type: 1,
+							from: 1
+						}
+					}, function(res) {
+						if(res.code == 1) {
+							var data = {}
+							if(that.agree1 == 0) {
+								var payment = res.data[0]
+								data = {
+									pay_code: payment.code
+								}
+								
+							} else {
+								if(!that.combination) {
+									var payment = res.data[1]
+									data = {
+										pay_code: payment.code
+									}
+								} else {
+									data = {
+										pay_code: res.data[1].code,
+										difference_pay_code: res.data[0].code
+									} 
+								}
+								
+							}
+							$api.req({
+								url: '/data/api.auth.Center/openvip',
+								method: 'POST',
+								data: data,
+							}, function(res) {
+								if(res.code == 1) {
+									console.log(res);
+								}
+							})
+						}
+					})
+					
 				} else {
 					$api.info('请先选择支付方式')
 				}

+ 51 - 8
page_mine/pages/service/joinPerson.vue

@@ -45,6 +45,10 @@
 					<view class="left">详细地址</view>
 					<u-input v-model="userInfo.address" placeholder="街道,楼牌号等" inputAlign="right" border="none"></u-input>
 				</view>
+				<view class="hflex acenter jbetween cell">
+					<view class="left">毕业院校</view>
+					<u-input v-model="userInfo.school" placeholder="请输入您的毕业院校" inputAlign="right" border="none"></u-input>
+				</view>
 				<picker @change="bindEduChange" :value="index" :range="educationList">
 					<view class="hflex acenter jbetween cell">
 						<view class="left">学历</view>
@@ -52,11 +56,19 @@
 					</view>
 				</picker>
 				<view class="hflex acenter jbetween cell">
+					<view class="left">专业</view>
+					<u-input v-model="userInfo.major" placeholder="请输入您的专业" inputAlign="right" border="none"></u-input>
+				</view>
+				<view class="hflex acenter jbetween cell">
+					<view class="left">工作年限</view>
+					<u-input v-model="userInfo.year" placeholder="请输入您的工作年限" inputAlign="right" border="none"></u-input>
+				</view>
+				<view class="hflex acenter jbetween cell">
 					<view class="left">个人特长</view>
 					<u-input v-model="userInfo.specialty" placeholder="请输入您的特长" inputAlign="right" border="none"></u-input>
 				</view>
 				<view class="hflex acenter jbetween cell">
-					<view class="left">技能</view>
+					<view class="left">专业技能</view>
 					<u-input v-model="userInfo.skill" placeholder="请输入您的技能描述" inputAlign="right" border="none"></u-input>
 				</view>
 				<picker @change="bindTitleChange" :value="index" :range="titleList" range-key="name">
@@ -68,9 +80,29 @@
 			</view>
 			<view class="box">
 				<view class="box_title">简历及相关信息</view>
-				<view class="box_title">工作履历</view>
-				<view class="box_subTitle">请填写您近年来的工作经历</view>
-				<u-input v-model="userInfo.work" border="bottom"></u-input>
+				<view class="hflex acenter jbetween">
+					<view class="box_title">工作经历</view>
+					<view class="hflex acenter" @click="perfect(3)">
+						<u-icon name="plus-circle-fill" color="#555555" size="12"></u-icon>
+						<view class="text_style1">添加</view>
+					</view>
+				</view>
+				<block v-for="(item,index) in userInfo.work" :key="index">
+					<view class="padT-26" @click="editInfo(item.id)">
+						<view class="hflex acenter jbetween">
+							<view class="box_title">{{item.content.company_name}}</view>
+							<u-icon name="arrow-right" color="#555555" size="12"></u-icon>
+						</view>
+						<view class="hflex acenter padT-26">
+							<view class="box_subTitle padR-24">{{item.content.on_job_start}}-{{item.content.on_job_end}}</view>
+							<view class="box_subTitle">{{item.content.postion_name}}</view>
+						</view>
+						<view class="hflex fwrap padT-26 box_subTitle">工作内容:{{item.content.company_content}}</view>
+					</view>
+				</block>
+				<view class="box_title">培训经历</view>
+				<view class="box_subTitle">请详细描述您的培训经历</view>
+				<u-input v-model="userInfo.train" border="bottom"></u-input>
 				<view class="box_title">资质证书</view>
 				<view class="box_subTitle">至少上传一张专业证书(包含毕业证书),证书请完整展示姓名,证书名称,证书日期及有效期</view>
 				<view class="upload">
@@ -78,9 +110,6 @@
 						<image src="/static/images/comment/upload.png" style="width: 220rpx;height: 220rpx;"></image>
 					</u-upload>
 				</view>
-				<view class="box_title">培训经历</view>
-				<view class="box_subTitle">请详细描述您的培训经历</view>
-				<u-input v-model="userInfo.train" border="bottom"></u-input>
 				<view class="bottom" v-if="state == 0">
 					<view class="btn" @click="submit">提交</view>
 				</view>
@@ -118,6 +147,9 @@
 					phone: '',	//电话
 					email: '',	//邮箱
 					region: '',	//所在地区
+					school: '',
+					major: '',
+					year: '',
 					province: '',
 					city:'',
 					area: '',
@@ -172,7 +204,7 @@
 						train: pooltalent.pxjl,
 						id: pooltalent.id
 					}
-					var imgs = pooltalent.zz_imgs.split(',')
+					var imgs = pooltalent.zz_imgs
 					let obj = {}
 					for(let key in imgs) {
 						obj[key] = imgs[key]
@@ -289,6 +321,14 @@
 			edit() {
 				that.state = 0
 			},
+			// 添加或完善
+			perfect(index) {
+				$api.jump('/page_mine/pages/service/perfect')
+			},
+			// 修改工作经历
+			editInfo(id) {
+				$api.jump('/page_mine/pages/service/perfect?id='+ id)
+			},
 			// 返回
 			result() {
 				$api.jump(-1)
@@ -322,7 +362,10 @@
 							city: u.city,
 							area: u.area,
 							address: u.address,
+							graduate_school: u.school,
 							xl: u.education,
+							major: u.major,
+							working_life: u.year,
 							tc: u.specialty,
 							jn: u.skill,
 							zc_id: u.title_id,

+ 373 - 0
page_mine/pages/service/perfect.vue

@@ -0,0 +1,373 @@
+<template>
+	<view class="content vflex jbetween">
+		<view >
+			<view class="box">
+				<view class="cell">
+					<view class="label">公司名称</view>
+					<u-input v-model="experience.content.company_name" border="none" placeholder="请输入"></u-input>
+				</view>
+				<view class="cell">
+					<view class="label">职位名称</view>
+					<u-input v-model="experience.content.postion_name" border="none" placeholder="请输入"></u-input>
+				</view>
+				<view class="cell">
+					<view class="label">在职时间</view>
+					<view class="hflex acenter jbetween">
+						<view @click="open('time1')">
+							<u-input v-model="experience.content.on_job_start" border="none" placeholder="入职时间"></u-input>
+						</view>
+						<u-datetime-picker :minDate="minDate" title="入职时间" :show="show_time1" v-model="newDate" ref="datetimePicker" @confirm="confirmTime1" @cancel="cancel" :formatter="formatter" mode="year-month"></u-datetime-picker>
+						<view style="margin: 0 20rpx;">-</view>
+						<view @click="open('time2')">
+							<u-input v-model="experience.content.on_job_end" border="none" placeholder="离职时间"></u-input>
+						</view>
+						<u-datetime-picker :minDate="minDate" title="离职时间" :show="show_time2" v-model="newDate" ref="datetimePicker" @confirm="confirmTime2" @cancel="cancel" :formatter="formatter" mode="year-month"></u-datetime-picker>
+					</view>
+				</view>
+				<view class="cell">
+					<view class="label">工作内容</view>
+					<u-input v-model="experience.content.company_content" border="none" placeholder="请详细描述你在公司的主要工作内容以及…" suffixIcon="arrow-right"></u-input>
+				</view>
+			</view>
+		</view>
+		<view class="hflex acenter jcenter">
+			<view class="save del" @click="del">删除</view>
+			<view class="save" @click="save">保存</view>
+		</view>
+	</view>
+</template>
+
+<script>
+	import $api from '@/static/js/api.js'
+	var that = ''
+	export default {
+		data() {
+			return {
+				
+				experience: {
+					content: {
+						company_name: '',
+						postion_name: '',
+						on_job_start: '',
+						on_job_end: '',
+						company_content: '',
+					}
+					
+				},
+				
+				salary_show: false,
+				birthday_show: false,
+				work_show: false,
+				nature_show: false,
+				show_time1: false,
+				show_time2: false,
+				degree_show: false,
+				education_show: false,
+				certificate_show: false,
+				newDate: Number(new Date()),
+				minDate: new Date('1980-01-01'),
+				id: ''
+			}
+		},
+		onLoad(options) {
+			that = this
+			if(options.id) {
+				that.id = options.id
+				that.getData()
+			}
+			console.log(that.id);
+			
+			
+		},
+		onReady() {
+			// 微信小程序需要用此写法
+			this.$refs.datetimePicker.setFormatter(this.formatter)
+		},
+		methods: {
+			
+			getData() {
+				var pages = getCurrentPages()
+				var prePage = pages[pages.length - 2]
+				
+				var experienceList = prePage.$vm.userInfo.work
+				for(var i=0;i<experienceList.length;i++) {
+					if(that.id == experienceList[i].id) {
+						that.experience =experienceList[i]
+					}
+				}
+				console.log(that.experience);
+				
+			},
+			// 保存
+			save() {
+				if($api.formCheck(that.experience.content.company_name,"required") && $api.formCheck(that.experience.content.postion_name,"required") && $api.formCheck(that.experience.content.on_job_start,"required")
+				 && $api.formCheck(that.experience.content.on_job_end,"required") && $api.formCheck(that.experience.content.company_content,"required")) {
+					var work_experience = {
+						company_name: that.experience.content.company_name,
+						postion_name: that.experience.content.postion_name,
+						on_job_start: that.experience.content.on_job_start,
+						on_job_end: that.experience.content.on_job_end,
+						company_content: that.experience.content.company_content
+					}
+					work_experience = JSON.stringify(work_experience)
+					console.log(that.id);
+					$api.req({
+						url: '/data/api.auth.Center/adduppooltalentchild',
+						method: 'POST',
+						data: {
+							id: that.id,
+							content: work_experience
+						}
+					}, function(res) {
+						if(res.code == 1) {
+							if(that.id) {
+								var pages = getCurrentPages()
+								var prePage = pages[pages.length - 2]
+								var list = prePage.$vm.userInfo.work
+								for(var i=0;i<list.length;i++) {
+									if(list[i].id == that.id) {
+										list[i] = work_experience
+									}
+								}
+								prePage.$vm.userInfo.work=list
+							} else {
+								var pages = getCurrentPages()
+								var prePage = pages[pages.length - 2]
+								prePage.$vm.userInfo.work.push(work_experience)
+							}
+							$api.info(res.info)
+							$api.jump(-1)
+						}
+					})
+				}
+				
+			},
+			del() {
+				$api.req({
+					url: '/data/api.auth.Center/delpooltalentchild',
+					method: 'POST',
+					data: {
+						id: that.id
+					}
+				}, function(res) {
+					if(res.code == 1) {
+						var pages = getCurrentPages()
+						var prePage = pages[pages.length - 2]
+						var list = prePage.$vm.userInfo.work
+						for(var i=0;i<list.length;i++) {
+							if(list[i].id == that.id) {
+								list.splice(i,1)
+							}
+						}
+						prePage.$vm.userInfo.work=list
+						$api.info(res.info)
+						$api.jump(-1)
+					}
+				})
+			},
+			// 打开
+			open(e) {
+				console.log(e);
+				switch(e) {
+					case 'birthday' : 
+						that.birthday_show = true;
+						break;
+					case 'work_date' :
+						that.work_show = true;
+						break;
+					case 'salary' :
+						that.salary_show = true;
+						break;
+					case 'work_nature' :
+						that.nature_show = true;
+						break;
+					case 'time1' :
+						that.show_time1 = true;
+						break;
+					case 'time2' :
+						that.show_time2 = true;
+						break;
+					case 'skills_degree' :
+						that.degree_show = true;
+						break;
+					case 'certificate_date' :
+						that.certificate_show = true;
+						break;
+					case 'education' :
+						that.education_show = true;
+						break;
+				}
+			},
+			// 格式化日期
+			formatter(type, value) {
+				if (type === 'year') {
+					return `${value}年`
+				}
+				if (type === 'month') {
+					return `${value}月`
+				}
+				if (type === 'day') {
+					return `${value}日`
+				}
+				return value
+			},
+			// 确定选择生日
+			confirmAge(e) {
+				that.base_info.date_birth = $api.formatDate(e)
+				that.cancel()
+			},
+			// 确定选择参加工作时间
+			confirmWork(e) {
+				that.base_info.start_working_time = $api.formatDate(e)
+				that.cancel()
+			},
+			confirmSalary(e) {
+				console.log(e);
+				var index1 = e.indexs[0]
+				var index2 = e.indexs[1]
+				if (index1 - index2 > 2) {
+					$api.info('请选择正确的薪资范围')
+				} else {
+					that.job_inte.salary = e.value[0] + '-' + e.value[1]
+					that.cancel()
+				}
+				
+			},
+			// 选择工作性质
+			confirmNature(e) {
+				console.log(e);
+				that.job_inte.work_nature = e.value[0]
+				that.cancel()
+			},
+			// 选择在职时间1
+			confirmTime1(e) {
+				that.experience.content.on_job_start = $api.formatDate(e)
+				that.cancel()
+			},
+			// 选择在职时间2
+			confirmTime2(e) {
+				that.experience.content.on_job_end = $api.formatDate(e)
+				that.cancel()
+			},
+			// 选择技能掌握程度
+			confirmSkill(e) {
+				that.skills.skills_degree = e.value[0]
+				that.cancel()
+			},
+			// 选择证书获得时间
+			confirmDate(e) {
+				that.certificate.certificate_date = $api.formatDate(e)
+				that.cancel()
+			},
+			/* // 选择学历
+			changeHandler(e) {
+				const {
+					columnIndex,
+					value,
+					values, // values为当前变化列的数组内容
+					index,
+					// 微信小程序无法将picker实例传出来,只能通过ref操作
+					picker = this.$refs.uPicker
+				} = e
+				console.log(e);
+				// 当第一列值发生变化时,变化第二列(后一列)对应的选项
+				if (e.index == 3 || e.index == 4) {
+					// picker为选择器this实例,变化第二列对应的选项
+					console.log(this.educationList2);
+					picker.setColumnValues(1, this.educationList2[0])
+				}
+			}, */
+			// 选择学历
+			confirmEdu(e) {
+				console.log(e);
+				if(e.indexs.length > 1) {
+					that.base_info.edu = e.value[0] 
+				} else {
+					that.base_info.edu = e.value[0]
+				}
+				that.cancel()
+			},
+			// 关闭选择器
+			cancel() {
+				that.birthday_show = false
+				that.work_show = false
+				that.salary_show = false
+				that.nature_show = false
+				that.show_time1 = false
+				that.show_time2 = false
+				that.degree_show = false
+				that.certificate_show = false
+				that.education_show = false
+			},
+		},
+	}
+</script>
+
+<style lang="scss" scoped>
+	.content {
+		background: #F4F4F4;
+		padding: 20rpx 30rpx 0;
+		.box {
+			width: 100%;
+			background: #FFFFFF;
+			border-radius: 20rpx;
+			box-sizing: border-box;
+			padding: 30rpx 20rpx;
+			.cell {
+				width: 100%;
+				padding: 28rpx 0;
+				border-bottom: 1rpx solid #F4F4F4;
+				.label {
+					font-size: 26rpx;
+					font-weight: 400;
+					color: #888888;
+					padding-bottom: 28rpx;
+					margin-right: 14rpx;
+				}
+				.label_img {
+					width: 20rpx;
+					height: 20rpx;
+					margin: 0 4rpx 0 14rpx;
+				}
+				.label2 {
+					font-size: 20rpx;
+					font-weight: 400;
+					color: #B1B1B1;
+				}
+				.upload {
+					width: 200rpx;
+					height: 200rpx;
+					background: #F5F5F5;
+					border-radius: 20rpx;
+					.text_style1 {
+						margin-top: 18rpx;
+						font-size: 24rpx;
+						font-weight: 400;
+						color: #ADADAD;
+					}
+				}
+			}
+			.cell:nth-last-child(1) {
+				border: none;
+			}
+		}
+		.save {
+			width: 45%;
+			height: 84rpx;
+			background: #506DFF;
+			border-radius: 42rpx;
+			font-size: 36rpx;
+			text-align: center;
+			margin: 56rpx auto;
+			font-weight: 500;
+			color: #FFFFFF;
+			line-height: 84rpx;
+		}
+		.del {
+			background: #fff;
+			border: 1rpx solid #506DFF;
+			color: #506DFF;
+			margin-right: 40rpx;
+		}
+	}
+</style>

+ 11 - 1
page_mine/pages/setting/rules.vue

@@ -17,9 +17,19 @@
 		},
 		onLoad() {
 			that = this
+			that.getData()
 		},
 		methods: {
-			
+			getData() {
+				$api.req({
+					url: '/data/api.auth.Center/getplatformrules',
+					method: 'POST',
+				}, function(res) {
+					if(res.code ==1) {
+						that.text = res.data.platform_rules
+					}
+				})
+			}
 		},
 	}
 </script>

+ 1 - 1
page_mine/pages/wallet/add.vue

@@ -51,7 +51,7 @@
 			bind() {
 				$api.req({
 					url: '/data/api.auth.Center/bind_bank',
-					methods: 'POST',
+					method: 'POST',
 					data: {
 						name: that.card_name,
 						id_card: that.card_no,

+ 36 - 3
page_mine/pages/wallet/withdrawal.vue

@@ -6,7 +6,7 @@
 			<view class="hflex acenter jbetween cell">
 				<view class="text_style2">提现至</view>
 				<view class="hflex acenter" @click="open">
-					<view class="text_style3" v-if="bank.length > 0">{{bank[0].card_name}}({{bank[0].card_no}})</view>
+					<view class="text_style3" v-if="bank.length > 0">{{bank[active].card_name}}({{bank[active].card_no}})</view>
 					<view class="text_style3" v-else>选择银行卡</view>
 					<u-icon name="arrow-right" color="#000" size="10"></u-icon>
 				</view>
@@ -65,7 +65,7 @@
 	export default {
 		data() {
 			return {
-				money: '1008.06',
+				money: '',
 				value: '',
 				service: 0.01,
 				service_money: 0,
@@ -73,12 +73,15 @@
 				bank: [
 				],
 				active: 0,
+				max_money: '',
+				min_money: '',
 				show: false
 			}
 		},
 		onLoad() {
 			that = this 
 			that.getList()
+			that.getData()
 		},
 		methods: {
 			getList() {
@@ -98,6 +101,21 @@
 					}
 				})
 			},
+			getData() {
+				$api.req({
+					url: '/data/api.auth.Center/getwithinfo',
+					method: 'POST',
+					
+				}, function(res) {
+					if(res.code == 1) {
+						that.money = res.data.money
+						that.max_money = res.data.withdraw_max_price
+						that.min_money = res.data.withdraw_min_price
+						that.service = res.data.poundage_proportion / 100
+						
+					}
+				})
+			},
 			// 全部体系那
 			all() {
 				that.value = that.money
@@ -114,7 +132,22 @@
 			// 立即提现
 			withdraw() {
 				if(that.value > 0) {
-					
+					if(Number(that.value) > Number(that.max_money) || Number(that.value) < Number(that.min_money)) {
+						$api.info('请选择在'+that.min_money+'与'+that.max_money+'之间')
+					} else {
+						$api.req({
+							url: '/data/api.auth.Center/withdraw',
+							method: 'POST',
+							data: {
+								money: that.value,
+								bind_id: that.bank[that.active].id
+							}
+						},function(res) {
+							if(res.code == 1) {
+								$api.info(res.info)
+							}
+						})
+					}
 				} else {
 					$api.info("请输入提现金额")
 				}

+ 12 - 1
page_shop/pages/address/add.vue

@@ -55,7 +55,7 @@
 			that = this
 			if(options.index) {
 				that.getPredata(options.index)
-				
+				that.id = options.id
 			}
 		},
 		methods: {
@@ -110,6 +110,9 @@
 					}, function(res) {
 						$api.info(res.info)
 						if(res.code == 1) {
+							if(that.is_active) {
+								uni.setStorageSync('address_id',that.id)
+							}
 							$api.jump(1,-1)
 						}
 					})
@@ -123,6 +126,7 @@
 						url: '/data/api.User/save_address',
 						method: 'POST',
 						data: {
+							id: that.id,
 							type: that.is_active?1:0,
 							name: that.name,
 							phone: that.phone,
@@ -134,6 +138,9 @@
 					}, function(res) {
 						$api.info(res.info)
 						if(res.code == 1) {
+							if(that.is_active) {
+								uni.setStorageSync('address_id',that.id)
+							}
 							$api.jump(1,-1)
 						}
 					})
@@ -148,6 +155,10 @@
 					}
 				}, function(res) {
 					if(res.code == 1) {
+						var address_id = uni.getStorageSync('address_id')
+						if(that.id == address_id) {
+							uni.removeStorageSync('address_id')
+						}
 						$api.info(res.info)
 						$api.jump(-1)
 					}

+ 15 - 4
page_shop/pages/address/list.vue

@@ -84,10 +84,21 @@
 			setDefault(id) {
 				for(var i=0;i<that.pageList.length;i++) {
 					if(id == that.pageList[i].id) {
-						console.log(i);
-						that.$set(that.pageList[i],'is_default',1)
+						that.pageList[i].type = 1
+						$api.req({
+							url: '/data/api.User/address_def',
+							method: 'POST',
+							data: {
+								id: id
+							}
+						}, function(res) {
+							if(res.code == 1) {
+								$api.info(res.info)
+								uni.setStorageSync('address_id',id)
+							}
+						})
 					} else {
-						that.$set(that.pageList[i],'is_default',0)
+						that.pageList[i].type = 0
 					}
 				}
 			},
@@ -101,7 +112,7 @@
 				that.del_id = id
 			},
 			edit(index) {
-				$api.jump('/page_shop/pages/address/add?index=' + index)
+				$api.jump('/page_shop/pages/address/add?index=' + index + '&id=' + that.pageList[index].id)
 			},
 			close() {
 				that.del_show = false

+ 138 - 138
page_shop/pages/good/detail.vue

@@ -7,18 +7,18 @@
 			</view>
 		</u-navbar>
 		<view class="swiper">
-			<u-swiper :list="pageData.imgList" height="300" @change="e => currentNum = e.current" :autoplay="false" indicatorStyle="right: 20px">
+			<u-swiper :list="pageData.slider" height="300" @change="e => currentNum = e.current" :autoplay="false" indicatorStyle="right: 20px">
 				<view slot="indicator" class="indicator-num">
-					<text class="indicator-num__text">{{ currentNum + 1 }}/{{ pageData.imgList.length }}</text>
+					<text class="indicator-num__text">{{ currentNum + 1 }}/{{ pageData.slider.length }}</text>
 				</view>
 			</u-swiper>
 		</view>
 		<view class="box">
 			<view class="hflex acenter jbetween">
-				<view class="price">¥{{pageData.price}}</view>
+				<view class="price">¥{{pageData.price_selling}}</view>
 				<view class="hflex acenter">
 					<view class="vflex acenter" @click="collect">
-						<u-icon name="star" color="#444444" size="20" v-if="pageData.is_collect == 0"></u-icon>
+						<u-icon name="star" color="#444444" size="20" v-if="pageData.is_collection == 0"></u-icon>
 						<u-icon name="star-fill" color="#506DFF" size="20" v-else></u-icon>
 						<view class="text_style1">收藏</view>	
 					</view>	
@@ -48,9 +48,10 @@
 		</view>
 		<view class="box1">
 			<view class="title">商品图文详情</view>
-			<block v-for="(item,index) in pageData.detail" :key="index">
+			<!-- <block v-for="(item,index) in pageData.detail" :key="index">
 				<image :src="item" mode="widthFix" class="detail_img"></image>
-			</block>
+			</block> -->
+			<u-parse :content="pageData.content"></u-parse>
 		</view>
 		<view class="bottom hflex acenter jbetween">
 			<view class="vflex acenter" @click="toShop">
@@ -73,27 +74,27 @@
 		<u-popup :show="norm_show" @close="close" mode="bottom" :round="20" :closeable="true">
 			<view class="popu">
 				<view class="hflex acenter">
-					<image :src="pageData.imgList[0]" class="popu_img" mode="aspectFill"></image>
+					<image :src="pageData.cover" class="popu_img" mode="aspectFill"></image>
 					<view class="vflex jbetween popu_right">
-						<view class="popu_price">¥{{pageData.price}}</view>
+						<view class="popu_price">¥{{pageData.price_selling}}</view>
 						<view class="popu_norm">{{normStr?normStr:'选择规格'}}</view>
 					</view>
 				</view>
 				<view class="popu_title">规格</view>
 				<view class="hflex acenter fwrap">
-					<block v-for="(item,index) in pageData.norm.normList" :key="index">
-						<view class="popu_box" @click="selectNorm(item.index)" :class="norm_active == item.index?'sele_active':''">{{item.name}}</view>
+					<block v-for="(item,index) in pageData.items" :key="index">
+						<view class="popu_box" @click="selectNorm(index)" :class="norm_active == index?'sele_active':''">{{item.goods_spec}}</view>
 					</block>
 				</view>
-				<view class="popu_title">颜色</view>
+				<!-- <view class="popu_title">颜色</view>
 				<view class="hflex acenter fwrap">
 					<block v-for="(item,index) in pageData.norm.colorList" :key="index">
 						<view class="popu_box" @click="selectColor(item.index)" :class="color_active == item.index?'sele_active':''">{{item.name}}</view>
 					</block>
-				</view>
+				</view> -->
 				<view class="hflex acenter jbetween">
 					<view class="popu_title">数量</view>
-					<u-number-box v-model="pageData.norm.num" @change="changeNum"></u-number-box>
+					<u-number-box v-model="pageData.num" @change="changeNum"></u-number-box>
 				</view>
 				<view class="sure_btn" @click="sure">确定</view>
 			</view>
@@ -102,7 +103,7 @@
 			<view class="popu">
 				<view class="hflex acenter jcenter popu_title">配送地址</view>
 				<view>
-					<block v-for="(item,index) in pageData.delivery" :key="index">
+					<block v-for="(item,index) in deliveryList" :key="index">
 						<view class="box_bg hflex acenter" @click="selectAddr(index)">
 							<image v-if="item.checked == 1" src="/static/images/shop/checked.png" class="check_img"></image>
 							<u-icon v-else name="map-fill" color="#b2b2b2" size="12"></u-icon>
@@ -131,111 +132,28 @@
 				nav_active: 1,
 				currentNum: 0,
 				pageData: {
-					imgList: [
-						'/static/images/index/class_img1.png',
-						'/static/images/index/class_img1.png',
-						'/static/images/index/class_img1.png',
-					],
-					price: '699.33',
-					name: 'TCL 电视 55英寸 4K超清护眼防蓝光超薄金属全面屏 远程语音',
-					norm: {
-						normList: [
-							{
-								index: 0,
-								name: '3kw单相手启动'
-							},
-							{
-								index: 1,
-								name: '3kw单相手启动'
-							},
-							{
-								index: 2,
-								name: '3kw单相手启动'
-							},
-							{
-								index: 3,
-								name: '3kw单相手启动'
-							},
-							{
-								index: 4,
-								name: '3kw单相手启动'
-							},
-							{
-								index: 5,
-								name: '3kw单相手启动'
-							}
-						],
-						colorList: [
-							{
-								index: 0,
-								name: '褐色'
-							},
-							{
-								index: 1,
-								name: '白色'
-							},
-							{
-								index: 2,
-								name: '黑色'
-							},
-							{
-								index: 3,
-								name: '粉色'
-							},
-							{
-								index: 4,
-								name: '午夜色'
-							},
-							{
-								index: 5,
-								name: '红色'
-							}
-						],
-						num: 1
-					},
-					delivery: [
-						{
-							index: 0,
-							name: '张大成',
-							phone: '198****2345',
-							address: '河北省 保定市 莲池区 未来石4号楼20221室',
-							delivery: '河北省 保定市 莲池区',
-							is_default: 1
-						},
-						{
-							index: 1,
-							name: '张大成',
-							phone: '198****2345',
-							address: '河北省 保定市 莲池区 未来石4号楼20221室',
-							delivery: '河北省 保定市 莲池区',
-							is_default: 0
-						},
-						{
-							index: 2,
-							name: '张大成',
-							phone: '198****2345',
-							address: '河北省 保定市 莲池区 未来石4号楼20221室',
-							delivery: '河北省 保定市 莲池区',
-							is_default: 0
-						}
-					],
-					detail: ['/static/images/index/class_img1.png','/static/images/index/class_img2.png','/static/images/index/class_img1.png','/static/images/index/class_img2.png',],
-					is_collect: 0,
+					
 				},
 				normStr: '',
 				norm: '',
 				color: '',
 				delivery: '',
+				deliveryList: [],
+				address_active: 0,
 				norm_show: false,
 				addr_show: false,
 				norm_active: -1,
 				color_active:-1,
 				is_buy: 0,
+				id: '',
+				order_no: '',
 			}
 		},
-		onLoad() {
+		onLoad(options) {
 			that = this
+			that.id = options.id
 			that.getAddr()
+			that.getData()
 			
 		},
 		onPageScroll(e) {
@@ -246,19 +164,32 @@
 			}
 		},
 		methods: {
+			getData() {
+				$api.req({
+					url: '/data/api.Goods/Goods_info',
+					data: {
+						goods_id: that.id
+					}
+				}, function(res) {
+					if(res.code == 1) {
+						that.pageData = res.data
+						that.$set(that.pageData,'num',1)
+					}
+				})
+			},
 			getAddr() {
 				$api.req({
 					url: '/data/api.User/address_list'
 				}, function(res) {
 					if(res.code == 1) {
-						console.log(res);
-						that.pageData.delivery = res.data.data
-						for(var i=0;i<that.pageData.delivery.length;i++) {
-							if(that.pageData.delivery[i].type == 1) {
-								that.delivery = that.pageData.delivery[i].province+that.pageData.delivery[i].city+that.pageData.delivery[i].area
-								that.$set(that.pageData.delivery[i],'checked',true)
+						that.deliveryList = res.data.data
+						for(var i=0;i<that.deliveryList.length;i++) {
+							if(that.deliveryList[i].type == 1) {
+								that.delivery = that.deliveryList[i].province+that.deliveryList[i].city+that.deliveryList[i].area
+								that.$set(that.deliveryList[i],'checked',true)
+								that.address_active = i
 							} else {
-								that.$set(that.pageData.delivery[i],'checked',true)
+								that.$set(that.deliveryList[i],'checked',false)
 							}
 						} 
 						
@@ -286,22 +217,31 @@
 			},
 			// 收藏
 			collect() {
-				if(that.pageData.is_collect == 0) {
-					that.pageData.is_collect = 1
+				if(that.pageData.is_collection == 0) {
+					that.pageData.is_collection = 1
 					$api.req({
 						url: '/data/api.Goods/collection',
 						data: {
-							goods_id: '4',
+							goods_id: that.pageData.id,
 						}
 					}, function(res) {
 						if(res.code == 1) {
-							console.log(res);
+							$api.info(res.info)
 						}
 					})
 					// $api.info('收藏成功')
 				} else {
-					that.pageData.is_collect = 0
-					$api.info('取消收藏')
+					that.pageData.is_collection = 0
+					$api.req({
+						url: '/data/api.Goods/cancel_collection',
+						data: {
+							goods_id: that.pageData.id,
+						}
+					}, function(res) {
+						if(res.code == 1) {
+							$api.info(res.info)
+						}
+					})
 				}
 			},
 			// 打开规格
@@ -315,8 +255,8 @@
 			// 选择规格
 			selectNorm(index) {
 				that.norm_active = index
-				that.norm = that.pageData.norm.normList[index].name
-				that.normStr = that.norm + ' ' + that.color + ' ' + 'X' + that.pageData.norm.num
+				that.normStr = that.pageData.items[index].goods_spec
+				// that.normStr = that.norm + ' ' + that.color + ' ' + 'X' + that.pageData.norm.num
 			},
 			// 选择颜色
 			selectColor(index) {
@@ -326,55 +266,115 @@
 			},
 			// 选择数量
 			changeNum(e) {
-				that.pageData.norm.num = e.value
-				that.normStr = that.norm + ' ' + that.color + ' ' + 'X' + that.pageData.norm.num
+				that.pageData.num = e.value
+				
 			},
 			// 选择地址
 			selectAddr(index) {
-				for(var i=0;i<that.pageData.delivery.length;i++) {
+				for(var i=0;i<that.deliveryList.length;i++) {
 					if(i == index) {
 						console.log(i);
-						that.$set(that.pageData.delivery[i],'checked',1)
-						that.delivery = that.pageData.delivery[i].delivery
+						that.$set(that.deliveryList[i],'checked',1)
+						that.address_active = i
+						that.delivery = that.deliveryList[i].province+that.deliveryList[i].city+that.deliveryList[i].area + that.deliveryList[i].address
+						that.close()
 					} else {
-						that.$set(that.pageData.delivery[i],'checked',0)
+						that.$set(that.deliveryList[i],'checked',0)
 					}
 				}
 			},
 			// 加入购物车
 			addCart() {
 				if(that.norm == '' && that.color == '') {
+					that.is_buy = 0
 					that.openNorm()
 				} else {
-					$api.info('加入购物车成功')
-					that.close()
+					$api.req({
+						url: '/data/api.Goods/cart_add',
+						method: 'POST',
+						data: {
+							admin_id: that.pageData.admin_id,
+							goods_id: that.pageData.id,
+							item_id: that.pageData.items[that.norm_active].id,
+							num: that.pageData.num
+						}
+					}, function(res) {
+						if(res.code == 1) {
+							$api.info('加入购物车成功')
+							that.close()
+						}
+					})
+					
 				}
 			},
 			// 立即购买
 			buy() {
 				
-				if(that.norm == '' && that.color == '') {
+				if(that.normStr == '') {
 					that.is_buy = 1
 					that.openNorm()
 				} else {
-					$api.jump('/page_shop/pages/good/submit')
-					that.close()
+					$api.req({
+						url: '/data/api.Order/order_create',
+						method: 'POST',
+						data: {
+							admin_id: that.pageData.admin_id,
+							item_id: that.pageData.items[that.norm_active].id,
+							num: that.pageData.num,
+							address_id: that.deliveryList[that.address_active].id
+						}
+					}, function(res) {
+						if(res.code == 1) {
+							$api.info(res.info)
+							that.order_no = res.data
+							$api.jump('/page_shop/pages/good/submit?order_no='+that.order_no)
+							that.close()
+						}
+					})
 				}
 			},
 			// 确定选择规格
 			sure() {
-				console.log(that.norm);
-				console.log(that.color);
-				if(that.norm == '' || that.color == '') {
+				if(that.normStr == '') {
 					$api.info('请选择规格')
 					return
 				}
-				if(that.is_buy == 1) {
-					that.buy()
+				if(that.is_buy == 0) {
+					$api.req({
+						url: '/data/api.Goods/cart_add',
+						method: 'POST',
+						data: {
+							admin_id: that.pageData.admin_id,
+							goods_id: that.pageData.id,
+							item_id: that.pageData.items[that.norm_active].id,
+							num: that.pageData.num
+						}
+					}, function(res) {
+						if(res.code == 1) {
+							$api.info('加入购物车成功')
+							that.close()
+						}
+					})
 				} else {
-					that.addCart()
+					$api.req({
+						url: '/data/api.Order/order_create',
+						method: 'POST',
+						data: {
+							admin_id: that.pageData.admin_id,
+							item_id: that.pageData.items[that.norm_active].id,
+							num: that.pageData.num,
+							address_id: that.deliveryList[that.address_active].id
+						}
+					}, function(res) {
+						if(res.code == 1) {
+							$api.info(res.info)
+							that.order_no = res.data
+							$api.jump('/page_shop/pages/good/submit?order_no='+that.order_no)
+							that.close()
+						}
+					})
+					
 				}
-				
 			},
 			// 关闭弹窗
 			close() {

+ 17 - 2
page_shop/pages/good/submit.vue

@@ -100,13 +100,28 @@
 				amount: '29.90',
 				freight: '0.00',
 				total: '29.90',
+				order_no: '',
 			}
 		},
-		onLoad() {
+		onLoad(options) {
 			that = this
+			that.order_no = options.order_no
+			that.getData()
 		},
 		methods: {
-			
+			getData() {
+				$api.req({
+					url: '/data/api.Order/order_info',
+					method: 'POST',
+					data: {
+						order_id: that.order_no,
+					}
+				}, function(res) {
+					if(res.code == 1) {
+						$api.info(res.info)
+					}
+				})
+			}
 		},
 	}
 </script>

+ 31 - 8
page_shop/pages/mine/cart.vue

@@ -24,7 +24,7 @@
 					<block v-for="(item2,index2) in item.goods_item" :key="index2">
 						<u-checkbox-group placement="column" @change="checkboxChange(index,index2)">
 							<u-swipe-action>
-								<u-swipe-action-item :options="options2" @click="deleteCart">
+								<u-swipe-action-item :options="options2" @click="deleteCart(index,index2)">
 									<view class="hflex acenter cell">
 										<u-checkbox v-model="item2.id" :value="item2.id" :checked="item2.checked" shape="circle"></u-checkbox>
 										<image :src="item2.cover" mode="aspectFill" class="img"></image>
@@ -53,8 +53,8 @@
 			</view>
 			<view class="hflex aend" v-if="is_manager == 0">
 				<view class="bottom_num">已选{{num?num:0}}件</view>
-				<view class="bottom_total">合计:<span class="text-blue">¥{{total}}</span></view>
-				<view class="btn">一键结算</view>
+				<view class="bottom_total hflex acenter jcenter">合计:<span class="text-blue">¥{{total}}</span></view>
+				<view class="btn" @click="buy">一键结算</view>
 			</view>
 			<view class="hflex aend" v-if="is_manager == 1">
 				<view class="btn2" @click="batchDelete">删除</view>
@@ -196,12 +196,11 @@
 				})
 			},
 			// 删除
-			deleteCart(e) {
-				console.log(e);
+			deleteCart(index,index2) {
 				$api.req({
 					url: '/data/api.Goods/goods_cart_del',
 					data: {
-						cart_ids: that.pageList[e.index].id
+						cart_ids: that.pageList[index].goods_item[index2].id
 					}
 				}, function(res) {
 					if(res.code == 1) {
@@ -219,6 +218,7 @@
 						}
 					}
 				}
+				cart_ids = cart_ids.toString()
 				$api.req({
 					url: '/data/api.Goods/goods_cart_del',
 					data: {
@@ -230,6 +230,29 @@
 						that.getCart()
 					}
 				})
+			},
+			buy() {
+				var cart_ids = []
+				for(var i = 0;i<that.pageList.length;i++) {
+					for (var j=0;j<that.pageList[i].goods_item.length;j++) {
+						if(that.pageList[i].goods_item[j].checked) {
+							cart_ids.push(that.pageList[i].goods_item[j].id)
+						}
+					}
+				}
+				cart_ids = cart_ids.toString()
+				$api.req({
+					url: '/data/api.Order/crat_create',
+					method: 'POST',
+					data: {
+						cart_ids: cart_ids,
+						address_id: uni.getStorageSync('address_id')?uni.getStorageSync('address_id'): '',
+					}
+				}, function(res) {
+					if(res.code == 1) {
+						$api.info(res.info)
+					}
+				})
 			}
 		},
 	}
@@ -339,7 +362,7 @@
 		}
 		.bottom {
 			width: 100%;
-			z-index: 9;
+			z-index: 9999;
 			position: fixed;
 			bottom: 0;
 			height: 166rpx;
@@ -361,7 +384,7 @@
 				padding-bottom: 16rpx;
 			}
 			.text-blue {
-				font-size: 44rpx;
+				font-size: 34rpx;
 				font-weight: 400;
 				color: #5270FF;
 			}

+ 5 - 14
page_shop/pages/mine/collect.vue

@@ -1,7 +1,7 @@
 <template>
 	<view class="content">
 		<view class="top hflex acenter jbetween">
-			<view class="left">共<span class="text_red">{{length}}</span>件商品</view>
+			<view class="left">共<span class="text_red">{{total}}</span>件商品</view>
 			<view class="left" :class="is_manager?'text_blue':''" @click="manager">{{is_manager?'完成':'编辑'}}</view>
 		</view>
 		<view class="box">
@@ -11,11 +11,11 @@
 						<u-checkbox v-model="item.id" :value="item.id" :checked="item.checked" shape="circle"></u-checkbox>
 					</u-checkbox-group>
 					<view class="">
-						<image :src="item.img" mode="aspectFill" class="img"></image>
+						<image :src="item.cover" mode="aspectFill" class="img"></image>
 					</view>
 					<view class="vflex" style="margin-left: 24rpx;">
 						<view class="name">{{item.name}}</view>
-						<view class="price">¥{{item.price}}</view>
+						<view class="price">¥{{item.price_selling}}</view>
 					</view>
 				</view>
 			</block>
@@ -41,16 +41,7 @@
 			return {
 				length: 0,
 				pageList: [
-					{
-						img: '/static/images/mine/avatar1.jpg',
-						name: '兰蔻小黑瓶50ml全新肌底液精华液化妆品护肤全套礼盒…',
-						price: 1298
-					},
-					{
-						img: '/static/images/index/class_img4.png',
-						name: '兰蔻小黑瓶50ml全新肌底液精华液化妆品护肤全套礼盒…',
-						price: 1298
-					}
+					
 				],
 				is_manager: 0,
 				all: '',
@@ -118,7 +109,7 @@
 						coll_ids.push(that.pageList[i].id)
 					}
 				}
-				console.log('得了特',coll_ids);
+				coll_ids = coll_ids.toString()
 				$api.req({
 					url: '/data/api.Goods/del_collection',
 					data: {

+ 26 - 113
page_shop/pages/order/list.vue

@@ -17,54 +17,58 @@
 				<view class="box_item">
 					<view class="hflex acenter jbetween cell">
 						<view class="hflex acenter" @click="toShop(item.id)">
-							<view class="title">{{item.name}}</view>
+							<view class="title">{{item.admin_name}}</view>
 							<u-icon color="#B5B5B5" name="arrow-right" size="10"></u-icon>
 						</view>
-						<view class="text-blue">{{item.stateName}}</view>
+						<view class="text-blue" v-if="item.status == 0">已取消</view>
+						<view class="text-blue" v-if="item.status == 2">待支付</view>
+						<view class="text-blue" v-if="item.status == 3">待发货</view>
+						<view class="text-blue" v-if="item.status == 4">待收货</view>
+						<view class="text-blue" v-if="item.status == 5">已完成</view>
 					</view>
 					<view @click="toOrderDetail(item.id)">
-						<view class="hflex acenter" v-if="item.good.length == 1">
+						<view class="hflex acenter" v-if="item.goods_item.length == 1">
 							<view>
-								<image :src="item.good[0].img" mode="aspectFill" class="img"></image>
+								<image :src="item.goods_item[0].goods_cover" mode="aspectFill" class="img"></image>
 							</view>	
 							<view class="img_right">
 								<view class="hflex acenter jbetween">
-									<view class="name text_hide">{{item.good[0].name}}</view>
-									<view class="price">¥{{item.good[0].price}}</view>
+									<view class="name text_hide">{{item.goods_item[0].goods_name}}</view>
+									<view class="price">¥{{item.goods_item[0].price_selling}}</view>
 								</view>
 								<view class="hflex jbetween" style="padding-top: 12rpx;">
-									<view class="norm">{{item.good[0].norm}}</view>
-									<view class="num">X{{item.good[0].num}}</view>
+									<view class="norm">{{item.goods_item[0].goods_spec}}</view>
+									<view class="num">X{{item.goods_item[0].number_goods}}</view>
 								</view>
 							</view>
 						</view>
 						<view class="scroll_img" v-else>
 							<scroll-view scroll-x="true" style="white-space: nowrap;" class="imgs hflex">
-								<block v-for="(item2,index2) in item.good" :key="index2">
+								<block v-for="(item2,index2) in item.goods_item" :key="index2">
 									<view class="imgs_item">
-										<image :src="item2.img" class="img"></image>
+										<image :src="item2.goods_cover" class="img"></image>
 									</view>
 								</block>
 							</scroll-view>
-							<view class="img_leng">共{{item.good.length}}件</view>
+							<view class="img_leng">共{{item.goods_item.length}}件</view>
 						</view>
 					</view>
-					<view class="hflex acenter jend cell">
-						<view class="price">实付款:¥{{item.pay}}</view>
+					<view class="hflex acenter jend cell" v-if="item.payment_status == 2">
+						<view class="price">实付款:¥{{item.payment_amount}}</view>
 					</view>
 					<view class="hflex acenter jend cell">
-						<block v-if="item.state == 0">
+						<block v-if="item.status == 2">
 							<view class="btn1">取消订单</view>
 							<view class="btn1 btn2">立即支付</view>
 						</block>
-						<block v-if="item.state == 1">
+						<block v-if="item.status == 3">
 							<view class="btn1" @click="toApply(item.id)">申请退款</view>
 							<view class="btn1 btn2">提醒发货</view>
 						</block>
-						<block v-if="item.state == 2">
+						<block v-if="item.status == 4">
 							<view class="btn1 btn2">确认收货</view>
 						</block>
-						<block v-if="item.state == 3">
+						<block v-if="item.status == 5">
 							<!-- <view class="btn1">发表评价</view> -->
 							<view class="btn1 btn2">再次购买</view>
 						</block>
@@ -98,106 +102,12 @@
 				],
 				tab_active: 0,
 				pageList: [
-					{
-						id: 1,
-						name: '江南造船厂',
-						state: 0,
-						stateName: '待支付',
-						good: [
-							{
-								id:2,
-								img: '/static/images/index/class_img3.png',
-								name: 'wanpy顽皮鲜封包猫咪鸡胸…',
-								price: 29.90,
-								norm: '网络类型:无需合约机;颜色:黑色;尺寸:12寸;配置:128G',
-								num: 1,
-								
-							}
-						],
-						pay: 29.90
-					},
-					{
-						id: 3,
-						name: '福东海官方自营旗舰店',
-						state: 1,
-						stateName: '待发货',
-						good: [
-							{
-								id:2,
-								img: '/static/images/index/class_img3.png',
-								name: 'wanpy顽皮鲜封包猫咪鸡胸…',
-								price: 29.90,
-								norm: '网络类型:无需合约机;颜色:黑色;尺寸:12寸;配置:128G',
-								num: 1,
-								
-							},
-							{
-								id:2,
-								img: '/static/images/index/class_img3.png',
-								name: 'wanpy顽皮鲜封包猫咪鸡胸…',
-								price: 29.90,
-								norm: '网络类型:无需合约机;颜色:黑色;尺寸:12寸;配置:128G',
-								num: 1,
-							},
-							{
-								id:2,
-								img: '/static/images/index/class_img3.png',
-								name: 'wanpy顽皮鲜封包猫咪鸡胸…',
-								price: 29.90,
-								norm: '网络类型:无需合约机;颜色:黑色;尺寸:12寸;配置:128G',
-								num: 1,
-							},
-							{
-								id:2,
-								img: '/static/images/index/class_img3.png',
-								name: 'wanpy顽皮鲜封包猫咪鸡胸…',
-								price: 29.90,
-								norm: '网络类型:无需合约机;颜色:黑色;尺寸:12寸;配置:128G',
-								num: 1,
-							}
-						],
-						pay: 29.90
-					},
-					{
-						id: 4,
-						name: '江南造船厂',
-						state: 2,
-						stateName: '待收货',
-						good: [
-							{
-								id:2,
-								img: '/static/images/index/class_img3.png',
-								name: 'wanpy顽皮鲜封包猫咪鸡胸…',
-								price: 29.90,
-								norm: '网络类型:无需合约机;颜色:黑色;尺寸:12寸;配置:128G',
-								num: 1,
-							}
-						],
-						pay: 29.90
-					},
-					{
-						id: 5,
-						name: '江南造船厂',
-						state: 3,
-						stateName: '已完成',
-						good: [
-							{
-								id:2,
-								img: '/static/images/index/class_img3.png',
-								name: 'wanpy顽皮鲜封包猫咪鸡胸…',
-								price: 29.90,
-								norm: '网络类型:无需合约机;颜色:黑色;尺寸:12寸;配置:128G',
-								num: 1,
-							}
-						],
-						pay: 29.90
-					},
 				]
 			}
 		},
 		onLoad(options) {
 			that = this
-			that.tab_active = options.id
+			that.tab_active = Number(options.id)
 			that.getList()
 		},
 		methods: {
@@ -213,16 +123,19 @@
 					method: 'POST',
 					data: {
 						order_name: that.keyword?that.keyword: '',
-						status: that.tab_active
+						status: that.tab_active + 1
 					}
 				}, function(res) {
 					if(res.code == 1) {
 						console.log(res);
+						that.pageList = res.data.list
 					} 
 				})
 			},
 			changeTab(index) {
 				that.tab_active = index
+				that.pageList = []
+				that.getList()
 			},
 			// 店铺
 			toShop(id) {

+ 14 - 0
page_shop/pages/order/refund.vue

@@ -156,8 +156,22 @@
 		},
 		onLoad() {
 			that = this
+			that.getList()
 		},
 		methods: {
+			getList() {
+				$api.req({
+					url: '/data/api.Order/order_list',
+					method: 'POST',
+					data: {
+						status: 5
+					}
+				}, function(res) {
+					if(res.code == 1) {
+						that.pageList = res.data.list
+					}
+				})
+			},
 			// 店铺
 			toShop(id) {
 				$api.jump('/page_shop/pages/good/shop?id=' + id)

+ 7 - 0
pages.json

@@ -486,6 +486,13 @@
 					}
 				},
 				{
+					"path": "pages/service/perfect",
+					"style": {
+						"navigationBarTitleText": "工作经历",
+						"navigationBarBackgroundColor": "#fff"
+					}
+				},
+				{
 					"path": "pages/service/applyMaintenance",
 					"style": {
 						"navigationBarTitleText": "申请维修工",

+ 7 - 12
pages/tabbar/index/index.vue

@@ -244,20 +244,15 @@
 					}
 				}, function(res) {
 					if(res.code == 1) {
-						for(var i=0;i<res.data.news.length;i++) {
-							for(var j=0;j<res.data.news[i].xw.length;j++) {
-								if(res.data.news[i].xw[j].images == "") {
-									that.$set(res.data.news[i].xw[j],'has_img',true)
-									console.log('没有图片');
-								}else {
-									res.data.news[i].xw[j].images = res.data.news[i].xw[j].images.split('|')
-									console.log('长度',res.data.news[i].xw[j].images.length);
-								}
-								
+						for(var i=0;i<res.data.data.length;i++) {
+							if(res.data.data[i].images == "") {
+								that.$set(res.data.data[i],'has_img',true)
+							}else {
+								res.data.data[i].images = res.data.data[i].images.split('|')
 							}
 						}
-						that.pageList = res.data.news
-						that.exad = res.data.exad.join(',')
+						that.pageList = res.data.data
+						// that.exad = res.data.exad.join(',')
 						
 					}
 				})

+ 1 - 1
pages/tabbar/mine/mine.vue

@@ -59,7 +59,7 @@
 			</view>
 			<view class="box_right vflex" @click="toCollect">
 				<view class="left_title">我的收藏</view>
-				<view class="left_num" v-if="login">{{user.collect_num ? user.collect_num : 0}}</view>
+				<view class="left_num" v-if="login">{{user.collection_count ? user.collection_count : 0}}</view>
 				<view class="left_num" v-else>**</view>
 				<view class="right_bottom">你收藏的宝藏都在这里</view>
 			</view>

+ 20 - 54
pages/tabbar/shop/shop.vue

@@ -28,14 +28,18 @@
 		<view class="list hflex acenter fwrap">
 			<block v-for="(item,index) in pageList" :key="index">
 				<view class="list_item" @click="toDetail(item.id)">
-					<image :src="item.img" mode="aspectFill" class="item_img"></image>
+					<image :src="item.cover" mode="aspectFill" class="item_img"></image>
 					<view style="box-sizing: border-box;padding: 12rpx 10rpx 0;">
 						<view class="item_name">{{item.name}}</view>
-						<view class="hflex acenter " style="padding-top: 12rpx;">
-							<view class="item_type">{{item.material}}</view>
-							<view class="item_type">{{item.parts}}</view>
+						<view class="hflex acenter " style="padding-top: 12rpx;" v-if="item.items.length !== 0">
+							<view class="item_type">{{item.items[0].goods_spec}}</view>
+							<!-- <view class="item_type">{{item.parts}}</view> -->
 						</view>
-						<view class="item_price">¥{{item.price}}</view>
+						<view class="hflex acenter " style="padding-top: 12rpx;" v-else>
+							<view class="item_type"></view>
+							<!-- <view class="item_type">{{item.parts}}</view> -->
+						</view>
+						<view class="item_price">¥{{item.price_selling}}</view>
 					</view>
 				</view>
 			</block>
@@ -68,55 +72,6 @@
 				],
 				baseList: [],
 				pageList: [
-					{
-						id: 1,
-						img: '/static/images/index/class_img4.png',
-						name: '王思聪同款王思聪同款豪华游艇大型钓鱼船户外海上滑梯水豪华游艇大型钓鱼船户外海上滑梯水',
-						material: '玻璃钢',
-						parts: '氧气罐',
-						price: '9928.00',
-					},
-					{
-						id: 1,
-						img: '/static/images/index/class_img4.png',
-						name: '王思聪同款王思聪同款豪华游艇大型钓鱼船户外海上滑梯水豪华游艇大型钓鱼船户外海上滑梯水',
-						material: '玻璃钢',
-						parts: '氧气罐',
-						price: '9928.00',
-					},
-					{
-						id: 1,
-						img: '/static/images/index/class_img4.png',
-						name: '王思聪同款王思聪同款豪华游艇大型钓鱼船户外海上滑梯水豪华游艇大型钓鱼船户外海上滑梯水',
-						material: '玻璃钢',
-						parts: '氧气罐',
-						price: '9928.00',
-					},
-					{
-						id: 1,
-						img: '/static/images/index/class_img4.png',
-						name: '王思聪同款王思聪同款豪华游艇大型钓鱼船户外海上滑梯水豪华游艇大型钓鱼船户外海上滑梯水',
-						material: '玻璃钢',
-						parts: '氧气罐',
-						price: '9928.00',
-					},
-					{
-						id: 1,
-						img: '/static/images/index/class_img4.png',
-						name: '王思聪同款王思聪同款豪华游艇大型钓鱼船户外海上滑梯水豪华游艇大型钓鱼船户外海上滑梯水',
-						material: '玻璃钢',
-						parts: '氧气罐',
-						price: '9928.00',
-					},
-					{
-						id: 1,
-						img: '/static/images/index/class_img4.png',
-						name: '王思聪同款王思聪同款豪华游艇大型钓鱼船户外海上滑梯水豪华游艇大型钓鱼船户外海上滑梯水',
-						material: '玻璃钢',
-						parts: '氧气罐',
-						price: '9928.00',
-					},
-					
 				]
 			}
 		},
@@ -127,6 +82,7 @@
 				that.city = city
 			}
 			that.getCate()
+			that.getList()
 		},
 		onPageScroll(e) {
 			if(e.scrollTop != 0) {
@@ -147,6 +103,16 @@
 					}
 				})
 			},
+			getList() {
+				$api.req({
+					url: '/data/api.Goods/getGoods',
+				}, function(res) {
+					if(res.code == 1) {
+						console.log(res);
+						that.pageList = res.data.list
+					}
+				})
+			},
 			// banner图跳转
 			toBanner() {
 				

Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/common/main.js.map


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/common/runtime.js.map


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/common/vendor.js.map


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/components/menuList/menuList.js.map


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/components/my-canvas/my-canvas.js.map


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/components/my-order/my-order.js.map


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/components/news-module/news-module.js.map


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/components/order-top/order-top.js.map


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/components/share-model/share-model.js.map


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/node-modules/uview-ui/components/u--text/u--text.js.map


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/node-modules/uview-ui/components/u--textarea/u--textarea.js.map


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/node-modules/uview-ui/components/u-avatar/u-avatar.js.map


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/node-modules/uview-ui/components/u-badge/u-badge.js.map


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/node-modules/uview-ui/components/u-checkbox-group/u-checkbox-group.js.map


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/node-modules/uview-ui/components/u-checkbox/u-checkbox.js.map


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/node-modules/uview-ui/components/u-code/u-code.js.map


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/node-modules/uview-ui/components/u-column-notice/u-column-notice.js.map


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/node-modules/uview-ui/components/u-count-down/u-count-down.js.map


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/node-modules/uview-ui/components/u-datetime-picker/u-datetime-picker.js.map


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/node-modules/uview-ui/components/u-grid-item/u-grid-item.js.map


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/node-modules/uview-ui/components/u-grid/u-grid.js.map


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/node-modules/uview-ui/components/u-icon/u-icon.js.map


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/node-modules/uview-ui/components/u-index-anchor/u-index-anchor.js.map


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/node-modules/uview-ui/components/u-index-item/u-index-item.js.map


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/node-modules/uview-ui/components/u-index-list/u-index-list.js.map


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/node-modules/uview-ui/components/u-input/u-input.js.map


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/node-modules/uview-ui/components/u-line/u-line.js.map


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/node-modules/uview-ui/components/u-link/u-link.js.map


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/node-modules/uview-ui/components/u-loading-icon/u-loading-icon.js.map


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/node-modules/uview-ui/components/u-modal/u-modal.js.map


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/node-modules/uview-ui/components/u-navbar/u-navbar.js.map


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/node-modules/uview-ui/components/u-notice-bar/u-notice-bar.js.map


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/node-modules/uview-ui/components/u-number-box/u-number-box.js.map


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/node-modules/uview-ui/components/u-overlay/u-overlay.js.map


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/node-modules/uview-ui/components/u-parse/node/node.js.map


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/node-modules/uview-ui/components/u-parse/u-parse.js.map


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/node-modules/uview-ui/components/u-picker/u-picker.js.map


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/node-modules/uview-ui/components/u-popup/u-popup.js.map


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/node-modules/uview-ui/components/u-radio-group/u-radio-group.js.map


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/node-modules/uview-ui/components/u-radio/u-radio.js.map


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/node-modules/uview-ui/components/u-read-more/u-read-more.js.map


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/node-modules/uview-ui/components/u-row-notice/u-row-notice.js.map


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/node-modules/uview-ui/components/u-safe-bottom/u-safe-bottom.js.map


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/node-modules/uview-ui/components/u-search/u-search.js.map


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/node-modules/uview-ui/components/u-status-bar/u-status-bar.js.map


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/node-modules/uview-ui/components/u-steps-item/u-steps-item.js.map


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/node-modules/uview-ui/components/u-steps/u-steps.js.map


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/node-modules/uview-ui/components/u-swipe-action-item/u-swipe-action-item.js.map


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/node-modules/uview-ui/components/u-swipe-action/u-swipe-action.js.map


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/node-modules/uview-ui/components/u-swiper-indicator/u-swiper-indicator.js.map


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/node-modules/uview-ui/components/u-swiper/u-swiper.js.map


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/node-modules/uview-ui/components/u-switch/u-switch.js.map


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/node-modules/uview-ui/components/u-tabs/u-tabs.js.map


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/node-modules/uview-ui/components/u-text/u-text.js.map


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/node-modules/uview-ui/components/u-textarea/u-textarea.js.map


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/node-modules/uview-ui/components/u-toolbar/u-toolbar.js.map


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/node-modules/uview-ui/components/u-transition/u-transition.js.map


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/node-modules/uview-ui/components/u-upload/u-upload.js.map


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/page_index/pages/bidding/bidDetail.js.map


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/page_index/pages/bidding/bidding.js.map


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/page_index/pages/demand/collect.js.map


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/page_index/pages/demand/delivery.js.map


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/page_index/pages/demand/demand.js.map


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/page_index/pages/demand/perfect.js.map


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/page_index/pages/demand/publish.js.map


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/page_index/pages/demand/recruitDetail.js.map


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/page_index/pages/demand/wantedDetail.js.map


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/page_index/pages/index/changeCity.js.map


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/page_index/pages/index/newDetail.js.map


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/page_index/pages/index/noticeDetail.js.map


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/page_index/pages/index/noticeList.js.map


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/page_index/pages/index/search.js.map


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/page_index/pages/index/weather.js.map


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/page_index/pages/purchase/orderDetail.js.map


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/page_index/pages/purchase/purchase.js.map


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/page_index/pages/purchase/receivingDetail.js.map


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/page_index/pages/purchase/release.js.map


Một số tệp đã không được hiển thị bởi vì quá nhiều tập tin thay đổi trong này khác