liukang 2 years ago
parent
commit
808bfbd59a
100 changed files with 2606 additions and 1603 deletions
  1. 1 1
      App.vue
  2. 0 31
      common/amap-wx.130.js
  3. 1 1
      components/chat/inputbar/suit/main/main.vue
  4. 1 1
      components/chat/msglist/msglist.css
  5. 1 1
      components/news-module/news-module.vue
  6. 5 5
      components/share-model/share-model.vue
  7. 1 1
      main.js
  8. 34 13
      page_index/pages/bidding/bidDetail.vue
  9. 5 5
      page_index/pages/bidding/bidding.vue
  10. 6 4
      page_index/pages/demand/demand.vue
  11. 10 1
      page_index/pages/demand/perfect.vue
  12. 10 2
      page_index/pages/demand/publish.vue
  13. 35 30
      page_index/pages/demand/recruitDetail.vue
  14. 25 21
      page_index/pages/demand/wantedDetail.vue
  15. 5 5
      page_index/pages/index/newDetail.vue
  16. 1 1
      page_index/pages/index/noticeList.vue
  17. 47 36
      page_index/pages/purchase/orderDetail.vue
  18. 5 5
      page_index/pages/purchase/purchase.vue
  19. 1 1
      page_index/pages/purchase/receivingDetail.vue
  20. 1 1
      page_index/pages/repair/orderDetail.vue
  21. 10 7
      page_index/pages/repair/receivingOrder.vue
  22. 20 19
      page_index/pages/repair/repair.vue
  23. 2 2
      page_index/pages/repair/repairDetail.vue
  24. 11 4
      page_index/pages/repair/repairOrder.vue
  25. 1 1
      page_index/pages/resources/resourDetail.vue
  26. 89 14
      page_shop/pages/address/add.vue
  27. 4 1
      page_shop/pages/base/base.vue
  28. 8 8
      page_shop/pages/collect/collect.vue
  29. 1107 1105
      page_shop/pages/good/detail.vue
  30. 2 2
      page_shop/pages/good/shop.vue
  31. 1 1
      page_shop/pages/good/shopDetail.vue
  32. 15 6
      page_shop/pages/good/submit.vue
  33. 7 1
      page_shop/pages/good/submit2.vue
  34. 1 1
      page_shop/pages/member/index.vue
  35. 236 0
      page_shop/pages/message/chat.css
  36. 591 2
      page_shop/pages/message/message.vue
  37. 1 1
      page_shop/pages/mine/cart.vue
  38. 3 0
      page_shop/pages/mine/chat.css
  39. 1 86
      page_shop/pages/mine/chat.vue
  40. 4 4
      page_shop/pages/mine/mine.vue
  41. 10 0
      page_shop/pages/mine/search.vue
  42. 4 4
      page_shop/pages/order/apply.vue
  43. 36 9
      page_shop/pages/order/detail.vue
  44. 5 0
      page_shop/pages/order/list.vue
  45. 8 7
      page_shop/pages/order/offer.vue
  46. 5 0
      page_shop/pages/order/orderdetail.vue
  47. 1 1
      page_shop/pages/order/paySuccess.vue
  48. 1 1
      page_shop/pages/order/refundDetail.vue
  49. 2 2
      page_shop/pages/order/repairDetail.vue
  50. 1 1
      page_shop/pages/order/repairDetail2.vue
  51. 14 7
      page_shop/pages/service/applyMaintenance.vue
  52. 25 11
      page_shop/pages/service/demand.vue
  53. 63 37
      page_shop/pages/service/joinPerson.vue
  54. 8 0
      page_shop/pages/service/perfect.vue
  55. 11 3
      page_shop/pages/service/release.vue
  56. 11 3
      page_shop/pages/service/settledMerchants.vue
  57. 11 3
      page_shop/pages/service/settledShipyard.vue
  58. 1 0
      page_shop/pages/setting/editpwd.vue
  59. 1 1
      page_shop/pages/wallet/wallet.vue
  60. 0 0
      page_shop/static/image/mine/avatar1.png
  61. 0 0
      page_shop/static/image/mine/balance.png
  62. 0 0
      page_shop/static/image/mine/bg.png
  63. BIN
      page_shop/static/image/mine/btn_right.png
  64. 0 0
      page_shop/static/image/mine/collect.png
  65. BIN
      page_shop/static/image/mine/huiyuan.png
  66. 0 0
      page_shop/static/image/mine/member_bg.png
  67. BIN
      page_shop/static/image/mine/member_icon.png
  68. BIN
      page_shop/static/image/mine/message.png
  69. BIN
      page_shop/static/image/mine/message1.png
  70. BIN
      page_shop/static/image/mine/notice.png
  71. 0 0
      page_shop/static/image/mine/order1.png
  72. 0 0
      page_shop/static/image/mine/order2.png
  73. 0 0
      page_shop/static/image/mine/order3.png
  74. 0 0
      page_shop/static/image/mine/order4.png
  75. 0 0
      page_shop/static/image/mine/order5.png
  76. BIN
      page_shop/static/image/mine/real-bg.png
  77. 0 0
      page_shop/static/image/mine/service1.png
  78. 0 0
      page_shop/static/image/mine/service2.png
  79. 0 0
      page_shop/static/image/mine/service3.png
  80. 0 0
      page_shop/static/image/mine/service4.png
  81. 0 0
      page_shop/static/image/mine/service5.png
  82. 0 0
      page_shop/static/image/mine/service6.png
  83. 0 0
      page_shop/static/image/mine/service7.png
  84. 0 0
      page_shop/static/image/mine/service8.png
  85. BIN
      page_shop/static/image/mine/tips_yellow.png
  86. BIN
      page_shop/static/image/mine/vip_bg.png
  87. BIN
      page_shop/static/image/mine/vip_bg2.png
  88. 6 5
      pages/chatroom/chatroom.vue
  89. 4 3
      pages/login/code_login.vue
  90. 3 2
      pages/login/forgot_pwd.vue
  91. 1 2
      pages/login/password_login.vue
  92. 12 28
      pages/login/register.vue
  93. 1 1
      pages/tabbar/index/index.vue
  94. 28 18
      pages/tabbar/mine/mine.vue
  95. 16 15
      pages/tabbar/shipyard/detail.vue
  96. 1 1
      pages/tabbar/shipyard/news.vue
  97. 1 1
      pages/tabbar/shipyard/shipyard.vue
  98. 3 3
      pages/tabbar/shop/shop.vue
  99. 3 3
      pages/user/map.vue
  100. BIN
      static/images/code.jpg

+ 1 - 1
App.vue

@@ -75,7 +75,7 @@
 	    },
 	  });
 	}
-	import amap from './common/amap-wx.130.js'
+	import amap from '@/static/js/amap-wx.130.js'
 	var amapPlugin = new amap.AMapWX({  
 		key: 'bb69713f3c3d3c85e2662d313daa47b9'
 	});  

+ 0 - 31
common/amap-wx.130.js

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

+ 1 - 1
components/chat/inputbar/suit/main/main.vue

@@ -149,7 +149,7 @@ export default {
           disp.fire("em.chat.sendSuccess", id, me.userMessage);
         },
         fail(id, serverMsgId) {
-          console.log("失败了");
+          console.log("失败了",id+serverMsgId);
         },
       });
 	  

+ 1 - 1
components/chat/msglist/msglist.css

@@ -55,7 +55,7 @@
 	width: 72rpx;
 	height: 72rpx;
 	margin: 0 20rpx 0 0;
-	border-radius: 6rpx;
+	border-radius: 50%;
 	float: left;
 }
 

+ 1 - 1
components/news-module/news-module.vue

@@ -51,7 +51,7 @@
 				
 			</view>
 		</block>
-		<!-- <u-empty icon="/static/images/comment/zhan.png" text="暂时没有数据哦"> -->
+		<!-- <u-empty icon="https://ship-expert.zhousi.hdlkeji.com/common/zhan.png" text="暂时没有数据哦"> -->
 	</view>
 </template>
 

+ 5 - 5
components/share-model/share-model.vue

@@ -11,7 +11,7 @@
 		<u-parse :content="pageData.content" style="box-sizing: border-box;padding: 0 30rpx;"></u-parse>
 		<view class="box hflex acenter jbetween">
 			<view class="hflex acenter ">
-				<image class="box_icon" src="/static/images/comment/icon_pdf.png"></image>
+				<image class="box_icon" src="https://ship-expert.zhousi.hdlkeji.com/common/icon_pdf.png"></image>
 				<view class="text_style1">{{pageData.fujian}}</view>
 			</view>
 			<view class="down hflex acenter jcenter">
@@ -32,15 +32,15 @@
 			<view class="share_bottom">
 				<view class="hflex acenter jbetween">
 					<button class="vflex acenter jcenter bottom_item" open-type="share">
-						<image src="/static/images/comment/wx.png" class="item_icon"></image>
+						<image src="https://ship-expert.zhousi.hdlkeji.com/common/wx.png" class="item_icon"></image>
 						<view class="item_text">微信好友</view>
 					</button>
 					<!-- <button class="vflex acenter jcenter bottom_item" open-type="share">
-						<image src="/static/images/comment/moments.png" class="item_icon"></image>
+						<image src="https://ship-expert.zhousi.hdlkeji.com/common/moments.png" class="item_icon"></image>
 						<view class="item_text">朋友圈</view>
 					</button> -->
 					<view class="vflex acenter jcenter bottom_item" @click="saveImg">
-						<image src="/static/images/comment/download.png" class="item_icon"></image>
+						<image src="https://ship-expert.zhousi.hdlkeji.com/common/download.png" class="item_icon"></image>
 						<view class="item_text">保存图片</view>
 					</view>
 				</view>
@@ -58,7 +58,7 @@
 			return {
 				pageData: {
 					title: '在高质量发展中扎实推动共同富裕!',
-					src: '/static/images/mine/avatar1.jpg',
+					src: 'https://ship-expert.zhousi.hdlkeji.com/common/avatar1.jpg',
 					name: '船百知官方账号',
 					is_collect: 0,
 					

+ 1 - 1
main.js

@@ -10,7 +10,7 @@ const app = new Vue({
 import uView from "uview-ui";
 Vue.use(uView);
 
-var amapFile = require('@/common/amap-wx.130.js');
+var amapFile = require('@/static/js/amap-wx.130.js');
 app.$mount()
 // #endif
 

+ 34 - 13
page_index/pages/bidding/bidDetail.vue

@@ -49,20 +49,20 @@
 					<view class="text2">附件:</view>
 					<u-icon name="attach" color="#cacaca" size="14"></u-icon>
 					<view class="blue">{{item.filename}}</view>
-					<image src="/static/images/comment/down.png" class="down_img" @click="down(item.fileurl)"></image>
+					<image src="https://ship-expert.zhousi.hdlkeji.com/common/down.png" class="down_img" @click="down(item.fileurl)"></image>
 				</view>
 			</block>
 		</view>
 		<view class="bottom">
 			<view class="bottom_btn" @click="share('Poster1')">分享</view>
 		</view>
-		<scroll-view class="share_content" :scroll-y="true" :class="share_show?'':'share_content1'">
+		<view class="share_content" :class="share_show?'':'share_content1'">
 			<!-- <view style="width: 100%;height: 168rpx;"></view> -->
 			<view class="share_box vflex">
 				
-				<view class="Poster1 pos_title2" :data-enode="pageData.title">{{pageData.title}}</view>
+				<view class="Poster1 pos_title2" data-etype="textarea" :data-enode="pageData.title">{{pageData.title}}</view>
 				<view class="pos_title1">
-					<u-parse class="Poster1 pos_title1" :data-enode="pageData.summary" :content="pageData.summary"></u-parse>
+					<view class="Poster1 pos_title1" data-etype="textarea" :data-enode="pageData.summary">{{pageData.summary}}</view>
 				</view>
 				<view class="hflex acenter jbetween">
 					<view class="Poster1 left" :data-enode="'招标单位' + pageData.com_name">招标单位:{{pageData.com_name}}</view>
@@ -78,28 +78,29 @@
 						<view class="share_name Poster1" style="margin: 54rpx 0 20rpx;" data-enode="船百知">船百知</view>
 						<view class="share_text Poster1" style="margin: 0 0 36rpx;" data-enode="船百知伴你一起杨帆启航,驶向成功彼岸">船百知伴你一起杨帆启航,驶向成功彼岸</view>
 					</view>
+					<image class="Poster1" data-etype="image" :data-enode="style.code" :src="style.code" style="width: 136rpx;height: 136rpx;"></image>
 					<!-- <image class="Poster1" data-etype="image" :data-enode="pageData.contact_headimg" :src="pageData.contact_headimg" style="width: 136rpx;height: 136rpx;"></image> -->
 				</view>
 			</view>
 			<evils-el-poster width="325" height="467" @on-error="onError" :list="list" backgroundColor="rgb(255, 255, 255)" @on-success="onSuccess" ref="Eposter"></evils-el-poster>
 			<view class="share_bottom">
-				<view class="hflex acenter jbetween">
+				<view class="hflex acenter jcenter">
 					<button class="vflex acenter jcenter bottom_item" open-type="share">
-						<image src="/static/images/comment/wx.png" class="item_icon"></image>
+						<image src="https://ship-expert.zhousi.hdlkeji.com/common/wx.png" class="item_icon"></image>
 						<view class="item_text">微信好友</view>
 					</button>
 					<!-- <button class="vflex acenter jcenter bottom_item" open-type="share">
-						<image src="/static/images/comment/moments.png" class="item_icon"></image>
+						<image src="https://ship-expert.zhousi.hdlkeji.com/common/moments.png" class="item_icon"></image>
 						<view class="item_text">朋友圈</view>
 					</button> -->
 					<view class="vflex acenter jcenter bottom_item" @click="saveImg">
-						<image src="/static/images/comment/download.png" class="item_icon"></image>
+						<image src="https://ship-expert.zhousi.hdlkeji.com/common/download.png" class="item_icon"></image>
 						<view class="item_text">保存图片</view>
 					</view>
 				</view>
 				<view class="share_cancel" @click="close">取消</view>
 			</view>
-		</scroll-view>
+		</view>
 	</view>
 </template>
 
@@ -115,9 +116,11 @@
 				share_show: false,
 				list: {},
 				style: {
-					img1: '/static/images/comment/down2.png',
-					img2: '/static/images/comment/line.png',
+					img1: 'https://ship-expert.zhousi.hdlkeji.com/common/down2.png',
+					img2: 'https://ship-expert.zhousi.hdlkeji.com/common/line.png',
+					code: 'https://ship-expert.zhousi.hdlkeji.com/common/code.jpg'
 				},
+				
 			}
 		},
 		onLoad(options) {
@@ -156,6 +159,9 @@
 						var time2 = that.pageData.pl_time_start.split(' ')
 						that.pageData.create_time = time[0]
 						that.pageData.pl_time_start = time2[0]
+						that.pageData.summary = that.pageData.summary.replace(/<.*?>/g,"")
+						that.pageData.summary = that.pageData.summary.replace(/&ldquo;/g,"“")
+						that.pageData.summary = that.pageData.summary.replace(/&rdquo;/g,"”")
 						// var data = new Date((that.pageData.create_time).getTime()).format("yyyy-MM-dd")
 					}
 				})
@@ -440,8 +446,15 @@
 				box-orient: vertical;
 				line-clamp: 3;
 				-webkit-line-clamp: 3; */
-				width: 100%;
-				height: 108rpx;
+				text-overflow: ellipsis;
+				overflow: hidden;
+				display: -webkit-box;
+				-webkit-box-orient: vertical;
+				box-orient: vertical;
+				line-clamp: 5;
+				-webkit-line-clamp: 5;
+				max-width: 100%;
+				height: 200rpx;
 				overflow: hidden;
 				margin: 16rpx 0 28rpx;
 			}
@@ -460,6 +473,14 @@
 				line-height: 26rpx;
 			}
 			.pos_title2 {
+				text-overflow: ellipsis;
+				overflow: hidden;
+				display: -webkit-box;
+				-webkit-box-orient: vertical;
+				box-orient: vertical;
+				line-clamp: 2;
+				-webkit-line-clamp: 2;
+				max-width: 100%;
 				font-size: 30rpx;
 				font-weight: 500;
 				color: #222222;

+ 5 - 5
page_index/pages/bidding/bidding.vue

@@ -27,8 +27,8 @@
 				</view>
 				<view class="hflex acenter " @click="screen">
 					<view class="tabs_item" :class="screen_show? 'tab_active' : ''">筛选</view>
-					<image src="/static/images/comment/screen.png" class="screen_icon" v-show="!screen_show"></image>
-					<image src="/static/images/comment/screen_active.png" class="screen_icon" v-show="screen_show"></image>
+					<image src="https://ship-expert.zhousi.hdlkeji.com/common/screen.png" class="screen_icon" v-show="!screen_show"></image>
+					<image src="https://ship-expert.zhousi.hdlkeji.com/common/screen_active.png" class="screen_icon" v-show="screen_show"></image>
 				</view>
 			</view>
 			<view class="drop" v-show="screen_show">
@@ -130,7 +130,7 @@
 							<view class="item_name">{{item.title}}</view>
 						</view>
 						<view class="hflex acenter cell">
-							<image src="/static/images/comment/company.png" class="item_icon"></image>
+							<image src="https://ship-expert.zhousi.hdlkeji.com/common/company.png" class="item_icon"></image>
 							<view class="text_style1">招标单位</view>
 							<view class="text_style1">{{item.com_name}}</view>
 						</view>
@@ -580,7 +580,7 @@
 							height: 28rpx;
 							float: left;
 							margin: 7rpx 10rpx 0 0;
-							background: url('/static/images/comment/green_bg.png') no-repeat;
+							background: url('https://ship-expert.zhousi.hdlkeji.com/common/green_bg.png') no-repeat;
 							background-size: 100%;
 							font-size: 16rpx;
 							font-weight: normal;
@@ -593,7 +593,7 @@
 							height: 28rpx;
 							float: left;
 							margin: 7rpx 10rpx 0 0;
-							background: url('/static/images/comment/blue_bg.png') no-repeat;
+							background: url('https://ship-expert.zhousi.hdlkeji.com/common/blue_bg.png') no-repeat;
 							background-size: 100%;
 							font-size: 16rpx;
 							font-weight: normal;

+ 6 - 4
page_index/pages/demand/demand.vue

@@ -68,7 +68,7 @@
 									<view style="padding: 0 8rpx;">|</view>
 									<view class="text_style1">{{item.schooling}}</view>
 								</view>
-								<view class="item_box1 hflex acenter">应聘岗位<view style="padding: 0 8rpx;">|</view>{{item.job_application}}</view>
+								<view class="item_box1 text_hide hflex acenter">应聘岗位<view style="padding: 0 8rpx;">|</view>{{item.job_application}}</view>
 							</view>
 						</view>
 						<view class="item_btn1" @click.stop="into_chatroom(index)">打招呼</view>
@@ -76,7 +76,7 @@
 				</block>
 			</view>
 			<!-- <view class="list" v-if="tab_active == 1 && pageList.length <= 0">
-				<u-empty icon="/static/images/comment/zhan.png" text="暂时没有数据哦">
+				<u-empty icon="https://ship-expert.zhousi.hdlkeji.com/common/zhan.png" text="暂时没有数据哦">
 			</view> -->
 			
 		</view>
@@ -110,7 +110,7 @@
 				<view class="popup1_btn" @click="close">我知道了</view>
 			</view>
 		</u-modal>
-		<!-- <u-empty icon="/static/images/comment/zhan.png" text="暂时没有数据哦"> -->
+		<!-- <u-empty icon="https://ship-expert.zhousi.hdlkeji.com/common/zhan.png" text="暂时没有数据哦"> -->
 	</view>
 </template>
 
@@ -498,6 +498,8 @@
 						padding: 12rpx 0;
 					}
 					.item_box1 {
+						max-width: 350rpx;
+						width: max-content;
 						margin-top: 8rpx;
 						background: #EDF0FF;
 						border-radius: 8rpx;
@@ -646,7 +648,7 @@
 		}
 		.u-modal {
 			width: 530rpx !important;
-			background: url('/static/images/comment/eject.png') no-repeat;
+			background: url('https://ship-expert.zhousi.hdlkeji.com/common/eject.png') no-repeat;
 			background-size: 100%;
 		}
 	}

+ 10 - 1
page_index/pages/demand/perfect.vue

@@ -138,7 +138,7 @@
 						</view>
 					</view>
 					<u-upload :fileList="certificate.certificate_img" @afterRead="afterRead" @delete="deletePic" :maxCount="1" name="1" multiple :previewFullImage="true" width="100" height="100">
-						<image src="/static/images/comment/upload.png" style="width: 200rpx;height: 200rpx;"></image>
+						<image src="https://ship-expert.zhousi.hdlkeji.com/common/upload.png" style="width: 200rpx;height: 200rpx;"></image>
 					</u-upload>
 					<!-- <view class="upload vflex acenter jcenter" @click="uploadImg" v-if="certificate.certificate_img == ''">
 						<u-icon name="plus" color="#CACACA" size="25"></u-icon>
@@ -293,6 +293,10 @@
 			},
 			// 保存
 			save() {
+				uni.showLoading({
+					title: '保存中',
+					mask:true
+				})
 				if(that.index == '1') {
 					if($api.formCheck(that.base_info.avatar,"required") && $api.formCheck(that.base_info.name,"truename") && $api.formCheck(that.base_info.date_birth,"required") && $api.formCheck(that.base_info.edu,"required")
 					 && $api.formCheck(that.base_info.start_working_time,"required") && $api.formCheck(that.base_info.phone,"mobile")&& $api.formCheck(that.base_info.email,"email")) {
@@ -311,6 +315,7 @@
 								email: that.base_info.email
 							}
 						}, function(res) {
+							uni.hideLoading()
 							if(res.code == 1) {
 								$api.info(res.info)
 								$api.jump(-1)
@@ -333,6 +338,7 @@
 								work_nature: that.job_inte.work_nature,
 							}
 						}, function(res) {
+							uni.hideLoading()
 							if(res.code == 1) {
 								$api.info(res.info)
 								$api.jump(-1)
@@ -361,6 +367,7 @@
 								work_experience: work_experience
 							}
 						}, function(res) {
+							uni.hideLoading()
 							if(res.code == 1) {
 								$api.info(res.info)
 								$api.jump(-1)
@@ -384,6 +391,7 @@
 								professional_skills: professional_skills
 							}
 						}, function(res) {
+							uni.hideLoading()
 							if(res.code == 1) {
 								$api.info(res.info)
 								$api.jump(-1)
@@ -408,6 +416,7 @@
 								certificate: certificate
 							}
 						}, function(res) {
+							uni.hideLoading()
 							if(res.code == 1) {
 								$api.info(res.info)
 								$api.jump(-1)

+ 10 - 2
page_index/pages/demand/publish.vue

@@ -305,8 +305,11 @@
 			},
 			// 发布
 			publish() {
-				
-				if($api.formCheck(that.IDNumber, 'identity') && $api.formCheck(that.phone, 'mobile') && $api.formCheck(that.code, 'code4')) {
+				uni.showLoading({
+					title: '发布中',
+					mask: true
+				})
+				if($api.formCheck(that.IDNumber, 'identity') && $api.formCheck(that.phone, 'mobile') && $api.formCheck(that.code, 'code6')) {
 					$api.req({
 						url: '/data/api.auth.DemandLabor/applyjob',
 						method: 'POST',
@@ -319,6 +322,7 @@
 							area: uni.getStorageSync("location").district,
 						}
 					}, function(res) {
+						
 						if(res.code == 1) {
 							$api.req({
 								url: '/data/api.auth.DemandLabor/subapplyjob',
@@ -329,6 +333,7 @@
 									code: that.code
 								}
 							}, function(res) {
+								uni.hideLoading()
 								if(res.code == 1) {
 									$api.info(res.info)
 									that.close()
@@ -341,6 +346,8 @@
 					})
 					
 					
+				} else {
+					uni.hideLoading()
 				}
 			},
 			// 打开弹窗
@@ -404,6 +411,7 @@
 					})
 					$api.req({
 						url: '/data/api.Login/sendsms',
+						method: 'POST',
 						data: {
 							phone: that.phone,
 							type: 4

+ 35 - 30
page_index/pages/demand/recruitDetail.vue

@@ -69,33 +69,35 @@
 			<view class="text2">{{pageData.remark}}</view>
 		</view>
 		<view class="bottom hflex acenter jbetween">
-			<view class="vflex acenter" @click="collect">
-				<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>	
-			<view class="vflex acenter" @click="share('Poster1')">
-				<image src="/static/images/comment/share.png" mode="" class="bottom_img"></image>	
-				<view class="text_style1">分享</view>	
-			</view>	
+			<view class="hflex acenter">
+				<view class="vflex acenter" style="margin-right: 20rpx;" @click="collect">
+					<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>	
+				<view class="vflex acenter" @click="share('Poster1')">
+					<image src="https://ship-expert.zhousi.hdlkeji.com/common/share.png" mode="" class="bottom_img"></image>	
+					<view class="text_style1">分享</view>	
+				</view>	
+			</view>
 			<view class="left_btn hflex acenter jcenter" @click="like">
 				<u-icon name="heart" color="#506DFF" size="20" v-if="pageData.is_like == 0"></u-icon>
 				<u-icon name="heart-fill" color="#506DFF" size="20" v-else></u-icon>
 				<view class="btn_text">感兴趣</view>
 			</view>
-			<view class="right_btn hflex acenter jcenter" @click="into_chatroom" v-if="pageData.type == 1">
-				<image src="/static/images/comment/chat.png" class="btn_icon"></image>
+			<view class="right_btn hflex acenter jcenter" @click="into_chatroom" v-if="pageData.huanxinID">
+				<image src="https://ship-expert.zhousi.hdlkeji.com/common/chat.png" class="btn_icon"></image>
 				<view class="btn_text2">立即沟通</view>
 			</view>
 		</view>
-		<scroll-view class="share_content" :scroll-y="true" :class="share_show?'':'share_content1'">
+		<view class="share_content" :class="share_show?'':'share_content1'">
 			<!-- <view style="width: 100%;height: 168rpx;"></view> -->
 			<view class="share_box vflex">
 				<view class="hflex acenter">
 					<image class="Poster1 pos_img" data-etype="image" :data-enode="posImg" :src="posImg"></image>
 					<view class="vflex">
 						<view class="Poster1 pos_title" :data-enode="pageData.title">{{pageData.title}}</view>
-						<view class="Poster1 pos_subtitle" :data-enode="pageData.salary_start">{{pageData.salary_start}}-{{pageData.salary_end}}</view>
+						<view class="Poster1 pos_subtitle" :data-enode="pageData.salary_start+'-'+pageData.salary_end">{{pageData.salary_start}}-{{pageData.salary_end}}</view>
 					</view>
 				</view>
 				<view class="Poster1 pos_title2" data-enode="职位描述">职位描述</view>
@@ -121,28 +123,29 @@
 						<view class="share_name Poster1" style="margin: 54rpx 0 20rpx;" data-enode="船百知">船百知</view>
 						<view class="share_text Poster1" style="margin: 0 0 36rpx;" data-enode="船百知伴你一起杨帆启航,驶向成功彼岸">船百知伴你一起杨帆启航,驶向成功彼岸</view>
 					</view>
+					<image class="Poster1" data-etype="image" :data-enode="style.code" :src="style.code" style="width: 136rpx;height: 136rpx;"></image>
 					<!-- <image class="Poster1" data-etype="image" :data-enode="pageData.contact_headimg" :src="pageData.contact_headimg" style="width: 136rpx;height: 136rpx;"></image> -->
 				</view>
 			</view>
 			<evils-el-poster width="325" height="467" @on-error="onError" :list="list" backgroundColor="rgb(255, 255, 255)" @on-success="onSuccess" ref="Eposter"></evils-el-poster>
 			<view class="share_bottom">
-				<view class="hflex acenter jbetween">
+				<view class="hflex acenter jcenter">
 					<button class="vflex acenter jcenter bottom_item" open-type="share">
-						<image src="/static/images/comment/wx.png" class="item_icon"></image>
+						<image src="https://ship-expert.zhousi.hdlkeji.com/common/wx.png" class="item_icon"></image>
 						<view class="item_text">微信好友</view>
 					</button>
 					<!-- <button class="vflex acenter jcenter bottom_item" open-type="share">
-						<image src="/static/images/comment/moments.png" class="item_icon"></image>
+						<image src="https://ship-expert.zhousi.hdlkeji.com/common/moments.png" class="item_icon"></image>
 						<view class="item_text">朋友圈</view>
 					</button> -->
 					<view class="vflex acenter jcenter bottom_item" @click="saveImg">
-						<image src="/static/images/comment/download.png" class="item_icon"></image>
+						<image src="https://ship-expert.zhousi.hdlkeji.com/common/download.png" class="item_icon"></image>
 						<view class="item_text">保存图片</view>
 					</view>
 				</view>
 				<view class="share_cancel" @click="close">取消</view>
 			</view>
-		</scroll-view>
+		</view>
 	</view>
 </template>
 
@@ -155,11 +158,12 @@
 				pageData: {},
 				id: '',
 				share_show: false,
-				posImg: '/static/images/comment/company2.png',
+				posImg: 'https://ship-expert.zhousi.hdlkeji.com/common/company2.png',
 				list: {},
 				style: {
-					img1: '/static/images/comment/down2.png',
-					img2: '/static/images/comment/line.png',
+					img1: 'https://ship-expert.zhousi.hdlkeji.com/common/down2.png',
+					img2: 'https://ship-expert.zhousi.hdlkeji.com/common/line.png',
+					code: 'https://ship-expert.zhousi.hdlkeji.com/common/code.jpg'
 				},
 			}
 		},
@@ -167,6 +171,14 @@
 			that = this
 			that.id = options.id
 			that.getData()
+			let view = uni.createSelectorQuery().in(this).select(".Poster1");
+			
+			view.fields({
+			  size: true,
+			  rect: true,
+			  scrollOffset: true
+			}, data => {
+			}).exec();
 		},
 		onShareAppMessage(res) {
 			console.log(res);
@@ -266,14 +278,7 @@
 				});
 			},
 			share(elClass) {
-				let view = uni.createSelectorQuery().in(this).select(".Poster1");
 				
-				view.fields({
-				  size: true,
-				  rect: true,
-				  scrollOffset: true
-				}, data => {
-				}).exec();
 				that.share_show = true
 				that.$refs.Eposter.createForElRect(elClass,false)
 			},
@@ -281,7 +286,7 @@
 				that.share_show = false
 			},
 			onSuccess(e) {
-				console.log(e);
+				console.log('返回的地址',e);
 				that.tempImage = e
 			},
 			onError(err) {
@@ -289,7 +294,7 @@
 				console.log(err);
 			},
 			saveImg() {
-				console.log(that.tempImage);
+				console.log('准备保存的图片',that.tempImage);
 				uni.authorize({
 				    scope: 'scope.writePhotosAlbum',
 				    success() {

+ 25 - 21
page_index/pages/demand/wantedDetail.vue

@@ -108,26 +108,28 @@
 			<view class="text_style1">{{remarks}}</view>
 		</view>
 		<view class="bottom hflex acenter jbetween">
-			<view class="vflex acenter" @click="collect">
-				<u-icon name="star" color="#444444" size="20" v-if="is_collect == 0"></u-icon>
-				<u-icon name="star-fill" color="#506DFF" size="20" v-else></u-icon>
-				<view class="text_style1">收藏</view>	
-			</view>	
-			<view class="vflex acenter" @click="share('Poster1')">
-				<image src="/static/images/comment/share.png" mode="" class="bottom_img"></image>	
-				<view class="text_style1">分享</view>	
-			</view>	
+			<view class="hflex acenter">
+				<view class="vflex acenter" style="margin-right: 20px;" @click="collect">
+					<u-icon name="star" color="#444444" size="20" v-if="is_collect == 0"></u-icon>
+					<u-icon name="star-fill" color="#506DFF" size="20" v-else></u-icon>
+					<view class="text_style1">收藏</view>	
+				</view>	
+				<view class="vflex acenter" @click="share('Poster1')">
+					<image src="https://ship-expert.zhousi.hdlkeji.com/common/share.png" mode="" class="bottom_img"></image>	
+					<view class="text_style1">分享</view>	
+				</view>	
+			</view>
 			<view class="left_btn hflex acenter jcenter" @click="like">
 				<u-icon name="heart" color="#506DFF" size="20" v-if="is_like == 0"></u-icon>
 				<u-icon name="heart-fill" color="#506DFF" size="20" v-else></u-icon>
 				<view class="btn_text">感兴趣</view>
-			</view>
-			<view class="right_btn hflex acenter jcenter" @click="into_chatroom">
-				<image src="/static/images/comment/chat.png" class="btn_icon"></image>
+			</view> 
+			<view class="right_btn hflex acenter jcenter" @click="into_chatroom" v-if="pageData.huanxinID">
+				<image src="https://ship-expert.zhousi.hdlkeji.com/common/chat.png" class="btn_icon"></image>
 				<view class="btn_text2">立即沟通</view>
 			</view>
 		</view>
-		<scroll-view class="share_content" :scroll-y="true" :class="share_show?'':'share_content1'">
+		<view class="share_content" :class="share_show?'':'share_content1'">
 			<!-- <view style="width: 100%;height: 168rpx;"></view> -->
 			<view class="share_box vflex">
 				<view class="hflex acenter">
@@ -158,28 +160,29 @@
 						<view class="share_name Poster1" style="margin: 54rpx 0 20rpx;" data-enode="船百知">船百知</view>
 						<view class="share_text Poster1" style="margin: 0 0 36rpx;" data-enode="船百知伴你一起杨帆启航,驶向成功彼岸">船百知伴你一起杨帆启航,驶向成功彼岸</view>
 					</view>
-					<image class="Poster1" data-etype="image" :data-enode="base_info.avatar" :src="base_info.avatar" style="width: 136rpx;height: 136rpx;"></image>
+					<image class="Poster1" data-etype="image" :data-enode="style.code" :src="style.code" style="width: 136rpx;height: 136rpx;"></image>
+					<!-- <image class="Poster1" data-etype="image" :data-enode="base_info.avatar" :src="base_info.avatar" style="width: 136rpx;height: 136rpx;"></image> -->
 				</view>
 			</view>
 			<evils-el-poster width="325" height="467" @on-error="onError" :list="list" backgroundColor="rgb(255, 255, 255)" @on-success="onSuccess" ref="Eposter"></evils-el-poster>
 			<view class="share_bottom">
-				<view class="hflex acenter jbetween">
+				<view class="hflex acenter jcenter">
 					<button class="vflex acenter jcenter bottom_item" open-type="share">
-						<image src="/static/images/comment/wx.png" class="item_icon"></image>
+						<image src="https://ship-expert.zhousi.hdlkeji.com/common/wx.png" class="item_icon"></image>
 						<view class="item_text">微信好友</view>
 					</button>
 					<!-- <button class="vflex acenter jcenter bottom_item" open-type="share">
-						<image src="/static/images/comment/moments.png" class="item_icon"></image>
+						<image src="https://ship-expert.zhousi.hdlkeji.com/common/moments.png" class="item_icon"></image>
 						<view class="item_text">朋友圈</view>
 					</button> -->
 					<view class="vflex acenter jcenter bottom_item" @click="saveImg">
-						<image src="/static/images/comment/download.png" class="item_icon"></image>
+						<image src="https://ship-expert.zhousi.hdlkeji.com/common/download.png" class="item_icon"></image>
 						<view class="item_text">保存图片</view>
 					</view>
 				</view>
 				<view class="share_cancel" @click="close">取消</view>
 			</view>
-		</scroll-view>
+		</view>
 	</view>
 </template>
 
@@ -212,8 +215,9 @@
 				share_show: false,
 				list: {},
 				style: {
-					img1: '/static/images/comment/down2.png',
-					img2: '/static/images/comment/line.png',
+					img1: 'https://ship-expert.zhousi.hdlkeji.com/common/down2.png',
+					img2: 'https://ship-expert.zhousi.hdlkeji.com/common/line.png',
+					code: 'https://ship-expert.zhousi.hdlkeji.com/common/code.jpg'
 				},
 				pageData: {}
 			}

+ 5 - 5
page_index/pages/index/newDetail.vue

@@ -20,7 +20,7 @@
 					<view class="hflex">
 						<image :src="item.user.headimg" class="headimg"></image>
 						<view class="comment_right">
-							<view class="comment_name">{{item.uer.name}}</view>
+							<view class="comment_name">{{item.user.nickname}}</view>
 							<view class="comment_content">{{item.content}}</view>
 							<view class="comment_date">{{item.create_time}}</view>
 						</view>
@@ -30,13 +30,13 @@
 		</view>
 		<view class="bottom hflex acenter jbetween">
 			<view class="hflex acenter" @click="getLike">
-				<image src="/static/images/comment/dianzan1.png" class="dianzan" v-if="!pageData.is_liked"></image>
-				<image src="/static/images/comment/dianzan2.png" class="dianzan" v-else></image>
+				<image src="https://ship-expert.zhousi.hdlkeji.com/common/dianzan1.png" class="dianzan" v-if="!pageData.is_liked"></image>
+				<image src="https://ship-expert.zhousi.hdlkeji.com/common/dianzan2.png" class="dianzan" v-else></image>
 				<view class="dz_text">{{!pageData.is_liked?'点赞':pageData.likes_count}}</view>
 			</view>
 			<view class="hflex acenter ">
 				<u-input v-model="message" border="none" placeholder="我来说两句" shape="circle"></u-input>
-				<image src="/static/images/comment/comment.png" class="comment_icon" @click="send"></image>
+				<image src="https://ship-expert.zhousi.hdlkeji.com/common/comment.png" class="comment_icon" @click="send"></image>
 				<view class="dz_text">{{comment.total == 0?'评论':comment.total}}</view>
 			</view>
 		</view>
@@ -156,7 +156,7 @@
 <style lang="scss" scoped>
 	.content::v-deep {
 		position: relative;
-		background: url('../../../static/images/comment/background.png') no-repeat;
+		background: url('https://ship-expert.zhousi.hdlkeji.com/common/background.png') no-repeat;
 		background-size: 100%;
 		.tile {
 			box-sizing: border-box;

+ 1 - 1
page_index/pages/index/noticeList.vue

@@ -12,7 +12,7 @@
 						<view class="text_style1">{{item.create_time}}</view>
 						<view class="hflex acenter" @click="toDetail(item.id)">
 							<view class="text_style2">查看详情</view>
-							<image src="/static/images/comment/right.png" mode="widthFix" style="width: 28rpx;"></image>
+							<image src="https://ship-expert.zhousi.hdlkeji.com/common/right.png" mode="widthFix" style="width: 28rpx;"></image>
 						</view>
 					</view>
 				</view>

+ 47 - 36
page_index/pages/purchase/orderDetail.vue

@@ -60,18 +60,20 @@
 							<view class="text_style2 padR-20" v-if="item.spec">规格型号:{{item.spec}}</view>
 							<view class="text_style2" v-if="item.number">生产数量:{{item.number}}</view>
 						</view>
-						<block v-for="(item2,index2) in item.enclosure" :key="index2">
-							<view class="hflex acenter jbetween" style="margin-top: 20rpx;">
-								<view class="hflex acenter">
-									<image :src="item2.icon" class="item_img"></image>
-									<view class="text_style1">{{item2.filename}}</view>
+						<view class="vflex">
+							<block v-for="(item2,index2) in item.enclosure" :key="index2">
+								<view class="hflex acenter jbetween" style="margin-top: 20rpx;">
+									<view class="hflex acenter" v-if="item2.filename">
+										<image :src="item2.icon" class="item_img"></image>
+										<view class="text_style1">{{item2.filename}}</view>
+									</view>
+									<view class="hflex acenter jcenter item_btn1" v-if="item2.fileurl">
+										<u-icon name="download" color="#506DFF" size="10"></u-icon>
+										<view @click.stop="download(index,index2)">下载附件</view>
+									</view>
 								</view>
-								<view class="hflex acenter jcenter item_btn1">
-									<u-icon name="download" color="#506DFF" size="10"></u-icon>
-									<view @click.stop="download(index,index2)">下载附件</view>
-								</view>
-							</view>
-						</block>
+							</block>
+						</view>
 					</view>
 					<view class="list_item" v-if="tab == 3">
 						<view class="item_title cell">{{item.name}}</view>
@@ -135,7 +137,7 @@
 					<view class="text_style1">收藏</view>	
 				</view>	
 				<view class="vflex acenter" @click="share('Poster1')">
-					<image src="/static/images/comment/share.png" mode="" class="bottom_img"></image>	
+					<image src="https://ship-expert.zhousi.hdlkeji.com/common/share.png" mode="" class="bottom_img"></image>	
 					<view class="text_style1">分享</view>	
 				</view>	
 			</view>
@@ -157,7 +159,7 @@
 					<u-input v-model="offer" placeholder="填写你的报价" border="none"></u-input>
 				</view>
 				<view class="hflex acenter">
-					<image src="/static/images/comment/icon_tips.png" style="width: 24rpx;height: 24rpx;padding-right: 6rpx"></image>
+					<image src="https://ship-expert.zhousi.hdlkeji.com/common/icon_tips.png" style="width: 24rpx;height: 24rpx;padding-right: 6rpx"></image>
 					<view class="popup_info">报价可先不填,可等评估后再填写</view>
 				</view>
 				<view class="input_bg hflex acenter" v-if="tab == 2 || tab == 3">
@@ -178,7 +180,7 @@
 				</view>
 				<view class="hflex acenter" style="padding-bottom: 20rpx;">
 					<view class="price">上传图片及资质证明图片</view>
-					<image src="/static/images/comment/icon_tips.png" style="width: 24rpx;height: 24rpx;padding-right: 6rpx"></image>
+					<image src="https://ship-expert.zhousi.hdlkeji.com/common/icon_tips.png" style="width: 24rpx;height: 24rpx;padding-right: 6rpx"></image>
 					<view class="popup_info">最多上传9张图片</view>
 				</view>
 				<u-upload :fileList="fileList1" @afterRead="afterRead" @delete="deletePic" name="1" multiple :maxCount="9"></u-upload>
@@ -224,7 +226,7 @@
 				<view class="popup_btn" @click="toDetail(index)">查看详情</view>
 			</view>
 		</u-popup>
-		<scroll-view class="share_content" :scroll-y="true" :class="share_show?'':'share_content1'">
+		<view class="share_content" :class="share_show?'':'share_content1'">
 			<!-- <view style="width: 100%;height: 168rpx;"></view> -->
 			<view class="share_box vflex">
 				<text class="share_name Poster1" style="margin: 40rpx 0 28rpx;" :data-enode="pageData.merchant.company">{{pageData.merchant.company}}</text>
@@ -232,22 +234,21 @@
 					<view class="Poster1 share_cell" data-enode="商品明细">商品明细</view>
 					<block v-if="tab !== 4">
 						<!-- <block v-for="(item,index) in pageData.items" :key="index"> -->
-						<view class="item_title Poster1" :data-enode="item[0].name">{{item[0].name}}</view>
+						<view class="item_title Poster1" :data-enode="pageData.items[0].name">{{pageData.items[0].name}}</view>
 						<view class="hflex acenter">
-							<view class="text_style2 padR-20 Poster1" :data-enode="'规格:'+item[0].spec">规格:{{item[0].spec}}</view>
-							<view class="text_style2 Poster1" :data-enode="'数量:'+item[0].number">数量:{{item[0].number}}</view>
+							<view class="text_style2 padR-20 Poster1" :data-enode="'规格:'+pageData.items[0].spec">规格:{{pageData.items[0].spec}}</view>
+							<view class="text_style2 Poster1" :data-enode="'数量:'+pageData.items[0].number">数量:{{pageData.items[0].number}}</view>
 						</view>
 						<!-- </block> -->
 					</block>
 					<block v-if="tab == 4">
 						<!-- <block v-for="(item,index) in pageData.items" :key="index"> -->
-						<view class="item_title Poster1" :data-enode="item[0].name">{{item[0].name}}</view>
+						<view class="item_title Poster1" :data-enode="pageData.items[0].name">{{pageData.items[0].name}}</view>
 						<view class="hflex acenter cell">
-							<view class="text_style2 padR-20 Poster1" :data-enode="'数量/吨位:'+item[0].weight">数量/吨位:{{item[0].weight}}</view>
+							<view class="text_style2 padR-20 Poster1" :data-enode="'数量/吨位:'+pageData.items[0].weight">数量/吨位:{{pageData.items[0].weight}}</view>
 						</view>
 						<!-- </block> -->
 					</block>
-					<view class="share_text Poster1" data-enode="更多商品详情请去APP中查看">更多商品详情请去APP中查看</view>
 				</view>
 				<view class="share_label Poster1" :data-enode="'交货日期' + pageData.post_time" v-if="tab !== 3">交货日期:{{pageData.post_time}}</view>
 				<view class="Poster1 share_label" :data-enode="'包装形式' + pageData.form" v-else>包装形式:{{pageData.form}}</view>
@@ -261,34 +262,35 @@
 						<view class="share_name Poster1" style="margin: 54rpx 0 20rpx;" data-enode="船百知">船百知</view>
 						<view class="share_text Poster1" style="margin: 0 0 36rpx;" data-enode="船百知伴你一起杨帆启航,驶向成功彼岸">船百知伴你一起杨帆启航,驶向成功彼岸</view>
 					</view>
-					<image class="Poster1" data-etype="image" :data-enode="share_img" :src="share_img" style="width: 136rpx;height: 136rpx;"></image>
+					<image class="Poster1" data-etype="image" :data-enode="style.code" :src="style.code" style="width: 136rpx;height: 136rpx;" shape="10"></image>
+					<!-- <image class="Poster1" data-etype="image" :data-enode="share_img" :src="share_img" style="width: 136rpx;height: 136rpx;"></image> -->
 				</view>
 			</view>
 			<evils-el-poster width="325" height="467" @on-error="onError" :list="list" backgroundColor="rgb(255, 255, 255)" @on-success="onSuccess" ref="Eposter"></evils-el-poster>
 			<view class="share_bottom">
-				<view class="hflex acenter jbetween">
+				<view class="hflex acenter jcenter">
 					<button class="vflex acenter jcenter bottom_item" open-type="share">
-						<image src="/static/images/comment/wx.png" class="item_icon"></image>
+						<image src="https://ship-expert.zhousi.hdlkeji.com/common/wx.png" class="item_icon"></image>
 						<view class="item_text">微信好友</view>
 					</button>
 					<!-- <button class="vflex acenter jcenter bottom_item" open-type="share">
-						<image src="/static/images/comment/moments.png" class="item_icon"></image>
+						<image src="https://ship-expert.zhousi.hdlkeji.com/common/moments.png" class="item_icon"></image>
 						<view class="item_text">朋友圈</view>
 					</button> -->
 					<view class="vflex acenter jcenter bottom_item" @click="saveImg">
-						<image src="/static/images/comment/download.png" class="item_icon"></image>
+						<image src="https://ship-expert.zhousi.hdlkeji.com/common/download.png" class="item_icon"></image>
 						<view class="item_text">保存图片</view>
 					</view>
 				</view>
 				<view class="share_cancel" @click="close">取消</view>
 			</view>
-		</scroll-view>
+		</view>
 		<u-popup :show="down_show" mode="center" @close="close">
 			<view class="popu">
 				<view class="popu_top hflex acenter jbetween">
 					<view></view>
 					<view class="popu_title">下载文件</view>
-					<image src="/static/images/comment/close.png" style="width: 32rpx;height: 32rpx;" @click="close"></image>
+					<image src="https://ship-expert.zhousi.hdlkeji.com/common/close.png" style="width: 32rpx;height: 32rpx;" @click="close"></image>
 				</view>
 				<view class="file_bg hflex acenter">
 					<image :src="pageData.items[index1].enclosure[index2].icon" class="file_icon"></image>
@@ -326,8 +328,9 @@
 				id2: '',
 				list: [],
 				style: {
-					img1: '/static/images/comment/down2.png',
-					img2: '/static/images/comment/line.png',
+					img1: 'https://ship-expert.zhousi.hdlkeji.com/common/down2.png',
+					img2: 'https://ship-expert.zhousi.hdlkeji.com/common/line.png',
+					code: 'https://ship-expert.zhousi.hdlkeji.com/common/code.jpg'
 				},
 				tempImage:'',
 				down_show:false,
@@ -423,8 +426,16 @@
 				})
 			},
 			chat() {
-				var tab = Number(that.tab) + 1
-				$api.jump('/page_index/pages/purchase/chat?id=' + that.id + '&tab=' + tab)
+				var my = uni.getStorageSync("myUsername");
+				var nameList = {
+				  myName: my,
+				  your: that.pageData.huanxinID,
+				};
+				uni.navigateTo({
+				  url: "/pages/chatroom/chatroom?username=" + JSON.stringify(nameList),
+				});
+				/* var tab = Number(that.tab) + 1
+				$api.jump('/page_index/pages/purchase/chat?id=' + that.id + '&tab=' + tab) */
 			},
 			// 打开填写报价信息
 			start(id) {
@@ -683,7 +694,7 @@
 
 <style lang="scss" scoped>
 	.content::v-deep {
-		background: url('/static/images/comment/background.png') #f4f4f4 no-repeat;
+		background: url('https://ship-expert.zhousi.hdlkeji.com/common/background.png') #f4f4f4 no-repeat;
 		background-size: 100%;
 		.box {
 			margin: 20rpx auto 0;
@@ -958,7 +969,7 @@
 				background: #FFFFFF;
 				border-radius: 20rpx;
 				box-sizing: border-box;
-				// padding: 0 40rpx;
+				padding: 48rpx 35rpx 0;
 				.share_name {
 					width: 100%;
 					font-size: 32rpx;
@@ -1031,7 +1042,7 @@
 					}
 				}
 			}
-			.canvas {
+			/* .canvas {
 				position: absolute;
 				top: 128rpx;
 				left: 50rpx;
@@ -1039,7 +1050,7 @@
 				min-height: 494rpx;
 				background: #FFFFFF;
 				border-radius: 20rpx;
-			}
+			} */
 			.share_bottom {
 				position: fixed;
 				bottom: 0;

+ 5 - 5
page_index/pages/purchase/purchase.vue

@@ -18,10 +18,10 @@
 				<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.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>
+							<image src="https://ship-expert.zhousi.hdlkeji.com/common/order_type1.png"  v-if="item.tab == 1" class="order_img"></image>
+							<image src="https://ship-expert.zhousi.hdlkeji.com/common/order_type2.png"  v-if="item.tab == 2" class="order_img"></image>
+							<image src="https://ship-expert.zhousi.hdlkeji.com/common/order_type3.png"  v-if="item.tab == 3" class="order_img"></image>
+							<image src="https://ship-expert.zhousi.hdlkeji.com/common/order_type4.png"  v-if="item.tab == 4" class="order_img"></image>
 							<view class="order_title">{{item.merchant.company}}</view>
 						</view>
 						<view class="" v-if="item.items.length < 3">
@@ -84,7 +84,7 @@
 				</view>
 			</block>
 			<view class="add">
-				<image src="/static/images/comment/add.png" class="add_img" @click="release"></image>
+				<image src="https://ship-expert.zhousi.hdlkeji.com/common/add.png" class="add_img" @click="release"></image>
 			</view>
 		</view>
 	</view>

+ 1 - 1
page_index/pages/purchase/receivingDetail.vue

@@ -66,7 +66,7 @@
 
 <style lang="scss" scoped>
 	.content {
-		background: url('/static/images/comment/background.png') #f4f4f4 no-repeat;
+		background: url('https://ship-expert.zhousi.hdlkeji.com/common/background.png') #f4f4f4 no-repeat;
 		background-size: 100%;
 		padding: 0 30rpx;
 		.box {

+ 1 - 1
page_index/pages/repair/orderDetail.vue

@@ -47,7 +47,7 @@
 					<u-input v-model="offer" placeholder="填写你的报价" border="none"></u-input>
 				</view>
 				<view class="hflex acenter">
-					<image src="/static/images/comment/icon_tips.png" style="width: 24rpx;height: 24rpx;padding-right: 6rpx"></image>
+					<image src="https://ship-expert.zhousi.hdlkeji.com/common/icon_tips.png" style="width: 24rpx;height: 24rpx;padding-right: 6rpx"></image>
 					<view class="popup_info">报价可先不填,可等评估后再填写</view>
 				</view>
 				<view class="hflex acenter" style="padding:30rpx 0 20rpx;">

+ 10 - 7
page_index/pages/repair/receivingOrder.vue

@@ -13,8 +13,8 @@
 				<view class="label">营业执照照片</view>
 				<view class="upload hflex acenter jcenter">
 					<u-upload :fileList="fileList1" @afterRead="afterRead" @delete="deletePic" :maxCount="1" name="1" multiple :previewFullImage="true" width="530rpx" height="324rpx">
-						<image src="/static/images/comment/upload-business.png" style="width: 530rpx;height: 324rpx;"></image>
-						<image class="upload_img" src="/static/images/comment/upload-top.png"></image>
+						<image src="https://ship-expert.zhousi.hdlkeji.com/common/upload-business.png" style="width: 530rpx;height: 324rpx;"></image>
+						<image class="upload_img" src="https://ship-expert.zhousi.hdlkeji.com/common/upload-top.png"></image>
 					</u-upload>
 				</view>
 			</view>
@@ -22,12 +22,12 @@
 				<view class="label">身份证正反面</view>
 				<view class="hflex acenter jbetween" style="margin-top: 28rpx;">
 					<u-upload :fileList="fileList2" @afterRead="afterRead" @delete="deletePic" :maxCount="1" name="2" multiple :previewFullImage="true" width="310rpx" height="188rpx">
-						<image src="/static/images/comment/upload-just.png" style="width: 310rpx;height: 188rpx;"></image>
+						<image src="https://ship-expert.zhousi.hdlkeji.com/common/upload-just.png" style="width: 310rpx;height: 188rpx;"></image>
 					</u-upload>
 					<view class="upload2">
 						<u-upload :fileList="fileList3" @afterRead="afterRead" @delete="deletePic" :maxCount="1" name="3" multiple :previewFullImage="true" width="310rpx" height="188rpx">
-							<image src="/static/images/comment/upload-back.png" style="width: 310rpx;height: 188rpx;"></image>
-							<image class="upload_img2" src="/static/images/comment/upload-top.png"></image>
+							<image src="https://ship-expert.zhousi.hdlkeji.com/common/upload-back.png" style="width: 310rpx;height: 188rpx;"></image>
+							<image class="upload_img2" src="https://ship-expert.zhousi.hdlkeji.com/common/upload-top.png"></image>
 						</u-upload>
 					</view>
 				</view>
@@ -88,8 +88,10 @@
 		methods: {
 			// 立即发布
 			open() {
-				console.log(that.fileList1);
-				console.log(that.fileList1[0].url);
+				uni.showLoading({
+					title: '发布中',
+					mask: true
+				})
 				if($api.formCheck(that.name,'required') && $api.formCheck(that.work,'required') && $api.formCheck(that.fileList1,'required') && $api.formCheck(that.fileList2,'required') && $api.formCheck(that.fileList3,'required')
 					 && $api.formCheck(that.phone,'mobile') && $api.formCheck(that.email,'required') && $api.formCheck(that.address,'required')&& $api.formCheck(that.resume,'required')&& $api.formCheck(that.speciality,'required')) {
 					$api.req({
@@ -112,6 +114,7 @@
 							id: that.id
 						}
 					}, function(res) {
+						uni.hideLoading()
 						if(res.code == 1) {
 							$api.info(res.info)
 						}

+ 20 - 19
page_index/pages/repair/repair.vue

@@ -14,7 +14,7 @@
 						<view class="hflex dm_scroll" id="dm1" :style="'--dom-width:' + domWidth + ';' ">
 							<view class="hflex acenter dm1">
 								<block v-for="(item,index) in bullet_chat" :key="index">
-									<view class="hflex acenter dm">
+									<view class="hflex acenter dm" @click="orderDetail(item.id)">
 										<image :src="item.user.headimg" mode="aspectFill" class="dm_img"></image>
 										<view class="dm_text hflex text_hide">{{item.describe}}</view>
 									</view>
@@ -26,7 +26,7 @@
 						<view class="hflex dm_scroll"  id="dm1" :style="'--dom-width:' + domWidth + ';' ">
 							<view class="hflex acenter dm1">
 								<block v-for="(item,index) in bullet_chat" :key="index">
-									<view class="hflex acenter dm">
+									<view class="hflex acenter dm" @click="orderDetail(item.id)">
 										<image :src="item.user.headimg" mode="aspectFill" class="dm_img"></image>
 										<view class="dm_text hflex text_hide">{{item.describe}}</view>
 									</view>
@@ -34,7 +34,7 @@
 							</view>
 							<view class="hflex acenter ">
 								<block v-for="(item,index) in bullet_chat" :key="index">
-									<view class="hflex acenter dm">
+									<view class="hflex acenter dm" @click="orderDetail(item.id)">
 										<image :src="item.user.headimg" mode="aspectFill" class="dm_img"></image>
 										<view class="dm_text hflex text_hide">{{item.describe}}</view>
 									</view>
@@ -47,7 +47,7 @@
 						<view class="hflex dm_scroll" :style="'--dom-width:' + domWidth + ';' ">
 							<view class="hflex acenter dm1">
 								<block v-for="(item,index) in bullet_chat" :key="index">
-									<view class="hflex acenter dm">
+									<view class="hflex acenter dm" @click="orderDetail(item.id)">
 										<image :src="item.user.headimg" mode="aspectFill" class="dm_img"></image>
 										<view class="dm_text hflex text_hide">{{item.describe}}</view>
 									</view>
@@ -59,7 +59,7 @@
 						<view class="hflex dm_scroll1" :style="'--dom-width:' + domWidth + ';' ">
 							<view class="hflex acenter dm1">
 								<block v-for="(item,index) in bullet_chat" :key="index">
-									<view class="hflex acenter dm">
+									<view class="hflex acenter dm" @click="orderDetail(item.id)">
 										<image :src="item.user.headimg" mode="aspectFill" class="dm_img"></image>
 										<view class="dm_text hflex text_hide">{{item.describe}}</view>
 									</view>
@@ -67,7 +67,7 @@
 							</view>
 							<view class="hflex acenter ">
 								<block v-for="(item,index) in bullet_chat" :key="index">
-									<view class="hflex acenter dm">
+									<view class="hflex acenter dm" @click="orderDetail(item.id)">
 										<image :src="item.user.headimg" mode="aspectFill" class="dm_img"></image>
 										<view class="dm_text hflex text_hide">{{item.describe}}</view>
 									</view>
@@ -89,11 +89,11 @@
 						<view class="list_item" @tap.stop="orderDetail(item.id)">
 							<view class="item_top hflex acenter jbetween">
 								<view class="hflex acenter" v-if="item.quick == 1">
-									<image src="/static/images/comment/repair1.png" class="top_img"></image>
+									<image src="https://ship-expert.zhousi.hdlkeji.com/common/repair1.png" class="top_img"></image>
 									<view class="top_text">普修</view>
 								</view>
 								<view class="hflex acenter" v-if="item.quick == 2">
-									<image src="/static/images/comment/repair2.png" class="top_img"></image>
+									<image src="https://ship-expert.zhousi.hdlkeji.com/common/repair2.png" class="top_img"></image>
 									<view class="">快修</view>
 								</view>
 								<view class="top_btn" @click.stop="meetOrder(item.id,index)" v-if="item.status == 1">接单</view>
@@ -149,7 +149,7 @@
 							<view class="text_style1"style="padding-left: 8rpx;">{{item.phone}}</view>
 						</view>
 						<view class="hflex acenter cell">
-							<image src="/static/images/comment/company.png" class="item_icon"></image>
+							<image src="https://ship-expert.zhousi.hdlkeji.com/common/company.png" class="item_icon"></image>
 							<view class="text_style1" style="padding-left: 16rpx;">{{item.company_name}}</view>
 						</view>
 						<view class="hflex astart cell">
@@ -161,24 +161,24 @@
 			</block>
 		</view>
 		<view class="add" v-show="!repair_show">
-			<image src="/static/images/comment/add.png" @click="openRelease" class="add_img"></image>
+			<image src="https://ship-expert.zhousi.hdlkeji.com/common/add.png" @click="openRelease" class="add_img"></image>
 		</view>
 		<view class="add2" v-show="repair_show">
 			<view class="add vflex aend">
 				<view class="hflex acenter jcenter release_box" @click="receivingOrder">
-					<image src="/static/images/comment/repair_icon1.png" class="box_img"></image>
+					<image src="https://ship-expert.zhousi.hdlkeji.com/common/repair_icon1.png" class="box_img"></image>
 					<view class="box_text">维修工发布接单需求</view>
 				</view>
 				<view class="hflex acenter jcenter release_box" @click="repairOrder">
-					<image src="/static/images/comment/repair_icon2.png" class="box_img"></image>
+					<image src="https://ship-expert.zhousi.hdlkeji.com/common/repair_icon2.png" class="box_img"></image>
 					<view class="box_text">船老板发布维修订单</view>
 				</view>
-				<image src="/static/images/comment/close.png" @click="close" class="add_img"></image>
+				<image src="https://ship-expert.zhousi.hdlkeji.com/common/close.png" @click="close" class="add_img"></image>
 			</view>
 		</view>
 		<u-modal :show="show_tips" :closeOnClickOverlay="true" :showConfirmButton="false">
 			<view class="popup1">
-				<image src="/static/images/comment/small-bell.png" class="popup_img"></image>
+				<image src="https://ship-expert.zhousi.hdlkeji.com/common/small-bell.png" class="popup_img"></image>
 				<view class="popup1_title">温馨提示</view>
 				<view class="popup1_text">您还不是维修工,不能参与报价,可立即申请成为维修工</view>
 				<view class="popup1_btn" @click="toApply">立即申请</view>
@@ -193,7 +193,7 @@
 					<u-input v-model="offer" placeholder="填写你的报价" border="none"></u-input>
 				</view>
 				<view class="hflex acenter">
-					<image src="/static/images/comment/icon_tips.png" style="width: 24rpx;height: 24rpx;padding-right: 6rpx"></image>
+					<image src="https://ship-expert.zhousi.hdlkeji.com/common/icon_tips.png" style="width: 24rpx;height: 24rpx;padding-right: 6rpx"></image>
 					<view class="popup_info">报价可先不填,可等评估后再填写</view>
 				</view>
 				<view class="hflex acenter" style="padding:30rpx 0 20rpx;">
@@ -298,9 +298,7 @@
 			that.getList2()
 		},
 		mounted() {
-			setTimeout(() => {
-				that.getWidth()
-			}, 500)
+			
 			
 		},
 		methods: {
@@ -326,6 +324,9 @@
 					if(res.code == 1) {
 						console.log(res);
 						that.bullet_chat = res.data
+						setTimeout(() => {
+							that.getWidth()
+						}, 500)
 					}
 				})
 			},
@@ -881,7 +882,7 @@
 		}
 		.u-modal {
 			width: 530rpx !important;
-			background: url('/static/images/comment/eject.png') no-repeat;
+			background: url('https://ship-expert.zhousi.hdlkeji.com/common/eject.png') no-repeat;
 			background-size: 100%;
 			overflow: unset !important; 
 		}

+ 2 - 2
page_index/pages/repair/repairDetail.vue

@@ -14,7 +14,7 @@
 				<view class="text_style1">{{pageData.email}}<span class="copy" @click="copy"> | 复制</span></view>
 			</view>
 			<view class="hflex acenter cell">
-				<image src="/static/images/comment/company.png" class="icon"></image>
+				<image src="https://ship-expert.zhousi.hdlkeji.com/common/company.png" class="icon"></image>
 				<view class="text_style1">{{pageData.company_name}}</view>
 			</view>
 			<view class="hflex acenter cell">
@@ -87,7 +87,7 @@
 
 <style lang="scss" scoped>
 	.content {
-		background: url('/static/images/comment/background.png') #F4F4F4 no-repeat;
+		background: url('https://ship-expert.zhousi.hdlkeji.com/common/background.png') #F4F4F4 no-repeat;
 		background-size: 100%;
 		padding: 0 30rpx;
 		.box {

+ 11 - 4
page_index/pages/repair/repairOrder.vue

@@ -5,7 +5,7 @@
 				<view class="label required">产品图片</view>
 				<view>
 					<u-upload :fileList="fileList1" @afterRead="afterRead" @delete="deletePic" :maxCount="9" name="1" multiple :previewFullImage="true" width="200rpx" height="200rpx">
-						<image src="/static/images/comment/add-img.png" style="width: 200rpx;height: 200rpx;"></image>
+						<image src="https://ship-expert.zhousi.hdlkeji.com/common/add-img.png" style="width: 200rpx;height: 200rpx;"></image>
 					</u-upload>
 				</view>
 			</view>
@@ -70,9 +70,11 @@
 		},
 		onLoad(options) {
 			that = this
-			var data = JSON.parse(options.data)
-			that.getData(data)
-			console.log(data);
+			if(options.data) {
+				var data = JSON.parse(options.data)
+				that.getData(data)
+				console.log(data);
+			}
 		},
 		onReady() {
 			// 微信小程序需要用此写法
@@ -292,6 +294,10 @@
 			},
 			// 立即发布
 			release() {
+				uni.showLoading({
+					title: '发布中',
+					mask:true
+				})
 				if($api.formCheck(that.fileList1,'required') &&$api.formCheck(that.fault,'required') && $api.formCheck(that.startTime,'required') && $api.formCheck(that.endTime,'required')&& $api.formCheck(that.endTime,'required') ) {
 					$api.req({
 						url: '/data/api.auth.ShipEngineMaintenance/subrepair',
@@ -309,6 +315,7 @@
 							id: that.id
 						}
 					}, function(res) {
+						uni.hideLoading()
 						if(res.code == 1) {
 							$api.info(res.info)
 							$api.jump(-1)

+ 1 - 1
page_index/pages/resources/resourDetail.vue

@@ -1,7 +1,7 @@
 <template>
 	<view class="content">
 		<view class="top hflex acenter">
-			<image src="/static/images/comment/company1.png" class="top_img"></image>
+			<image src="https://ship-expert.zhousi.hdlkeji.com/common/company1.png" class="top_img"></image>
 			<view class="top_text">{{pageData.title}}</view>
 		</view>
 		<view class="box">

+ 89 - 14
page_shop/pages/address/add.vue

@@ -9,16 +9,14 @@
 				<view class="left">手机号码</view>
 				<u-input v-model="phone" border="none" placeholder="请填写收货人手机号码"></u-input>
 			</view>
-			<picker @change="bindPickerChange" mode="region">
-				<view class="hflex acenter jbetween item">
-					<view class="left">所在地区</view>
-					<u-input v-model="areas" border="none" disabled disabledColor="#fff" placeholder="请选择所在地区"></u-input>
-					<u-icon name="map-fill" color="#506DFF" size="13"></u-icon>
-				</view>
-			</picker>
+			<view class="hflex acenter jbetween item" @click.stop="openmap">
+				<view class="left">所在地区</view>
+				<u-input v-model="addressObj.province + addressObj.city + addressObj.area" border="none" disabled disabledColor="#fff" placeholder="请选择所在地区"></u-input>
+				<u-icon name="map-fill" color="#506DFF" size="13"></u-icon>
+			</view>
 			<view class="hflex acenter jbetween item">
 				<view class="left">详细地址</view>
-				<u-input v-model="address" border="none" placeholder="请输入街道、楼牌号"></u-input>
+				<u-input v-model="addressObj.address" border="none" placeholder="请输入街道、楼牌号"></u-input>
 			</view>
 			<view class="hflex acenter jbetween item">
 				<view class="left">设为默认地址</view>
@@ -48,7 +46,8 @@
 				address: '',
 				is_active: false,
 				is_edit: 0,
-				id: ''
+				id: '',
+				addressObj: {}
 			}
 		},
 		onLoad(options) {
@@ -88,13 +87,88 @@
 				that.area = e.detail.value[2]
 				that.areas = e.detail.value[0] + e.detail.value[1] + e.detail.value[2]
 			},
+			openmap() {
+				console.log('选择地址');
+				uni.getLocation({
+					type: 'wgs84',
+					success: (res)=>{
+						console.log(res);
+						if(res.longitude && res.latitude){
+							$api.jump('/pages/user/map?lng='+res.longitude+'&lat='+res.latitude)
+						}
+					},
+					fail:()=>{
+						uni.getSetting({
+							success: (res) => {
+								console.log(res);
+								var status = res.authSetting;
+								if(!status['scope.userLocation']){
+									uni.showModal({
+										title:"是否授权当前位置",
+										content:"需要获取您的地理位置,请确认授权,否则地图功能将无法使用",
+										success:(tip)=>{
+											if(tip.confirm){
+												uni.openSetting({
+													success:(data)=>{
+														if(data.authSetting['scope.userLocation']===true){
+															uni.showToast({
+																title:"授权成功",
+																icon:"success",
+																duration:1000
+															})
+															uni.getLocation({
+																type: 'wgs84',
+																success: (res)=>{
+																	console.log('当前位置的经度:' + res.longitude);
+																	console.log('当前位置的纬度:' + res.latitude);
+																	$api.jump('/pages/user/map?lng='+res.longitude+'&lat='+res.latitude)
+																}
+															})
+														}else{
+															uni.showToast({
+																title:"授权失败",
+																icon:"none",
+																duration:1000
+															})
+														}
+													}
+												})
+											}
+										}
+									})
+								}else{
+									uni.getLocation({
+										type: 'wgs84',
+										success: (res)=>{
+											console.log('当前位置的经度:' + res.longitude);
+											console.log('当前位置的纬度:' + res.latitude);
+											$api.jump('/pages/user/map?lng='+res.longitude+'&lat='+res.latitude)
+										}
+									})
+								}
+							},
+							fail: (res) => {
+								uni.showToast({
+									title:"调用授权窗口失败",
+									icon:"none",
+									duration:1000
+								})
+							}
+						})
+					}
+				})
+			},
 			// 设置默认地址
 			change(e) {
 				that.is_active = e
 			},
 			// 添加收获地址
 			addAddress() {
-				if($api.formCheck(that.name,'required') && $api.formCheck(that.phone,'phone') && $api.formCheck(that.area,'required') && $api.formCheck(that.address,'required')) {
+				uni.showLoading({
+					title: '添加中',
+					mask:true
+				})
+				if($api.formCheck(that.name,'required') && $api.formCheck(that.phone,'phone') && $api.formCheck(that.addressObj.address,'required')) {
 					$api.req({
 						url: '/data/api.User/add_address',
 						method: 'POST',
@@ -102,14 +176,15 @@
 							type: that.is_active?1:0,
 							name: that.name,
 							phone: that.phone,
-							province: that.province,
-							city: that.city,
-							area: that.area,
-							address: that.address
+							province: that.addressObj.province,
+							city: that.addressObj.city,
+							area: that.addressObj.area,
+							address: that.addressObj.address
 						}
 					}, function(res) {
 						$api.info(res.info)
 						if(res.code == 1) {
+							uni.hideLoading()
 							if(that.is_active) {
 								uni.setStorageSync('address_id',that.id)
 							}

+ 4 - 1
page_shop/pages/base/base.vue

@@ -43,7 +43,7 @@
 		<u-popup :show="norm_show" @close="close" mode="bottom" :round="20" :closeable="true">
 			<view class="popu">
 				<view class="hflex acenter">
-					<image :src="pageList[index].cover" class="popu_img" mode="aspectFill"></image>
+					<image :src="pageList[good_index].items[norm_active].show_image?pageList[good_index].items[norm_active].show_image:pageList[good_index].cover" class="popu_img" mode="aspectFill"></image>
 					<view class="vflex jbetween popu_right">
 						<view class="popu_price">¥{{pageList[index].items[norm_active].price_selling?pageList[index].items[norm_active].price_selling:pageList[index].price_selling}}</view>
 						<view class="popu_norm text_hide">{{normStr?normStr:'选择规格'}}</view>
@@ -201,6 +201,9 @@
 				that.norm_show = false
 				that.num = 1
 			},
+			toDetail2(id) {
+				$api.jump('/page_shop/pages/good/detail?id=' + id)
+			},
 			// 选择规格
 			selectNorm(index,index2) {
 				for(var i=0;i<that.pageList[that.index].specs[index].list.length;i++) {

+ 8 - 8
page_shop/pages/collect/collect.vue

@@ -8,18 +8,18 @@
 		<view class="">
 			<view v-if="active == 1">
 				<block v-for="(item,index) in pageList" :key="index">
-					<view class="order_box" @click="toDetail(index)">
-						<view class="order_top hflex acenter">
-							<image src="/static/images/comment/order_type1.png"  v-if="item.info.tab == 1" class="order_img"></image>
-							<image src="/static/images/comment/order_type2.png"  v-if="item.info.tab == 2" class="order_img"></image>
-							<image src="/static/images/comment/order_type3.png"  v-if="item.info.tab == 3" class="order_img"></image>
-							<image src="/static/images/comment/order_type4.png"  v-if="item.info.tab == 4" class="order_img"></image>
+					<view class="order_box">
+						<view class="order_top hflex acenter" @click.stop="toDetail(index)">
+							<image src="https://ship-expert.zhousi.hdlkeji.com/common/order_type1.png"  v-if="item.info.tab == 1" class="order_img"></image>
+							<image src="https://ship-expert.zhousi.hdlkeji.com/common/order_type2.png"  v-if="item.info.tab == 2" class="order_img"></image>
+							<image src="https://ship-expert.zhousi.hdlkeji.com/common/order_type3.png"  v-if="item.info.tab == 3" class="order_img"></image>
+							<image src="https://ship-expert.zhousi.hdlkeji.com/common/order_type4.png"  v-if="item.info.tab == 4" class="order_img"></image>
 							<view class="order_title">{{item.info.merchant.company}}</view>
 						</view>
 						<view class="">
 							<u-read-more closeText="展开更多" :shadowStyle="shadowStyle" ref="uReadMore" :toggle="true" openText="收起" showHeight="150" backgroundImage="none">
 								<block v-for="(item2,inx) in item.info.items" :key="inx" @load="load">
-									<view class="order_item">
+									<view class="order_item" @click.stop="toDetail(index)">
 										<view class="item_name">{{item2.name}}</view>
 										<view class="hflex acenter " v-if="item.info.tab !== 4">
 											<view class="text_style1 padR-20" >规格:{{item2.spec}}</view>
@@ -32,7 +32,7 @@
 								</block>
 							</u-read-more>
 						</view>
-						<view class="hflex acenter jbetween order_bottom">
+						<view class="hflex acenter jbetween order_bottom" @click.stop="toDetail(index)">
 							<view class="text_style1">发布时间</view>
 							<view class="text_style1">{{item.info.create_time}}</view>
 						</view>

+ 1107 - 1105
page_shop/pages/good/detail.vue

@@ -1,1106 +1,1108 @@
-<template>
-	<view class="content">
-		<u-navbar title=" " @leftClick="leftClick" height="44px" bgColor="#F5F5F5" :placeholder="true">
-			<view class="hflex acenter" slot="center">
-				<view class="nav_item" @click="changeNav(1)" :class="nav_active == 1?'nav_active': '' ">商品</view>
-				<view class="nav_item" @click="changeNav(2)" :class="nav_active == 2?'nav_active': '' ">详情</view>
-			</view>
-		</u-navbar>
-		<view class="swiper">
-			<u-swiper :list="pageData.cover" 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 }}/{{ len >= 0 ? len : 0}}</text>
-				</view>
-			</u-swiper>
-		</view>
-		<view class="box">
-			<view class="hflex acenter jbetween">
-				<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_collection == 0"></u-icon>
-						<u-icon name="star-fill" color="#506DFF" size="20" v-else></u-icon>
-						<view class="text_style1">收藏</view>	
-					</view>	
-					<view class="vflex acenter" style="margin-left: 42rpx;"  @click="share('Poster1')">
-						<image src="/static/images/comment/share.png" class="bottom_img"></image>	
-						<view class="text_style1">分享</view>	
-					</view>	
-				</view>
-			</view>
-			<view class="name">{{pageData.name}}</view>
-		</view>
-		<view class="box">
-			<view class="hflex acenter jbetween" @click="openNorm">
-				<view class="hflex acenter">
-					<view class="label">选择</view>
-					<view class="text_style2">{{normStr?normStr:'选择规格'}}</view>
-				</view>
-				<u-icon name="arrow-right" color="#000" size="14"></u-icon>
-			</view>
-			<view class="hflex acenter jbetween pad-20" @click="openAddr">
-				<view class="hflex acenter">
-					<view class="label">配送</view>
-					<view class="text_style2">{{delivery?delivery:'选择配送地址'}}</view>
-				</view>
-				<u-icon name="arrow-right" color="#000" size="14"></u-icon>
-			</view>
-		</view>
-		<view class="box1">
-			<view class="title">商品图文详情</view>
-			<!-- <block v-for="(item,index) in pageData.detail" :key="index">
-				<image :src="item" mode="widthFix" class="detail_img"></image>
-			</block> -->
-			<u-parse :content="pageData.content"></u-parse>
-			<view class="vflex acenter jcenter">
-				<view v-for="(item,index) in pageData.slider" :key="index" class="cell">
-					<image :src="item.url" style="width: 100%;" mode="aspectFit" v-if="item.type == 'img'"></image>
-					<video :src="item.url" v-else></video>
-				</view>
-			</view>
-		</view>
-		<view class="bottom hflex acenter jbetween">
-			<view class="vflex acenter" @click="toShop">
-				<image src="/static/images/shop/shop_icon.png" class="bottom_img"></image>
-				<view class="text_style1">店铺</view>	
-			</view>	
-			<view class="vflex acenter" @click="into_chatroom">
-				<image src="/static/images/shop/customer_icon.png" class="bottom_img"></image>	
-				<view class="text_style1">客服</view>	
-				<!-- <button class="text_style1" style="border: none;background: rgba(0, 0, 0, 0);" open-type="contact" @contact="handleContact">客服</button> -->
-			</view>	
-			<view class="vflex acenter" @click="toCart">
-				<image src="/static/images/shop/cart_icon.png" class="bottom_img"></image>	
-				<view class="text_style1">购物车</view>	
-			</view>	
-			<view class="hflex acenter">
-				<view class="btn1" @click="addCart">加入购物车</view>
-				<view class="btn2" @click="buy">立即购买</view>
-			</view>
-		</view>
-		<u-popup :show="norm_show" @close="close" mode="bottom" :round="20" :closeable="true">
-			<view class="popu">
-				<view class="hflex acenter">
-					<image :src="pageData.cover" class="popu_img" mode="aspectFill"></image>
-					<view class="vflex jbetween popu_right">
-						<view class="popu_price">¥{{pageData.items[norm_active].price_selling?pageData.items[norm_active].price_selling:pageData.price_selling}}</view>
-						<view class="popu_norm text_hide">{{normStr?normStr:'选择规格'}}</view>
-					</view>
-				</view>
-				<view class="" v-for="(item,index) in pageData.specs" :key="index">
-					<view class="popu_title">{{item.name}}</view>
-					<view class="hflex acenter fwrap">
-						<block v-for="(item2,index2) in item.list" :key="index2">
-							<view class="popu_box" @click="selectNorm(index,index2)" :class="item2.select?'sele_active':''" v-if="item2.show && item2.check">{{item2.name}}</view>
-							<view class="popu_box popu_box2" v-else @click="selectNorm2">{{item2.name}}</view>
-						</block>
-					</view>
-				</view>
-				<view class="hflex acenter jbetween">
-					<view class="popu_title">数量</view>
-					<u-number-box v-model="pageData.num" @change="changeNum"></u-number-box>
-				</view>
-				<view class="sure_btn" @click="sure">确定</view>
-			</view>
-		</u-popup>
-		<u-popup :show="addr_show" @close="close" mode="bottom" :round="20" :closeable="true">
-			<view class="popu">
-				<view class="hflex acenter jcenter popu_title" style="text-align: center;">配送地址</view>
-				<view v-if="deliveryList.length > 0">
-					<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>
-							<view class="popu_right2">
-								<view class="hflex acenter">
-									<view class="popu_name">{{item.name}}</view>
-									<view class="popu_phone">{{item.phone}}</view>
-								</view>
-								<view class="popu_addr">{{item.province}} {{item.city}} {{item.area}} {{item.address}}</view>
-							</view>
-						</view>
-					</block>
-				</view>
-				<view class="address vflex acenter jcenter" v-else>
-					<image src="/static/images/shop/no_addr.png" class="address_img"></image>
-					<view class="address_text">暂无地址</view>
-				</view>
-				<view class="sure_btn" @click="select">选择其他收货地址</view>
-			</view>
-		</u-popup>
-		<scroll-view class="share_content" :scroll-y="true" :class="share_show?'':'share_content1'">
-			<view class="share_box vflex">
-				<image class="Poster1 cover" :data-enode="pageData.cover[0]" data-etype="image" :src="pageData.cover[0]"></image>
-				<view class="Poster1 share_price" :data-enode="'¥' + pageData.price_selling">¥{{pageData.price_selling}}</view>
-				<view class="Poster1 share_name text_hide" :data-enode="pageData.name">{{pageData.name}}</view>
-				<view class="hflex acenter share_text jcenter Poster1" style=" margin: 0 200rpx 12rpx;" data-enode="长按或扫码查看">长按或扫码查看</view>
-				<view style="width: 100%;" class="vflex acenter jcenter">
-					<image class="Poster1" style="width: 25rpx;height: 20rpx;" :data-enode="style.img1" data-etype="image" :src="style.img1"></image>
-					<image class="Poster1" style="width: 100%;height: 2rpx;margin: 30rpx 0;" :data-enode="style.img2" data-etype="image" :src="style.img2"></image>
-				</view>
-				<view class="hflex acenter jbetween">
-					<view class="vflex">
-						<view class="share_name Poster1" style="margin: 54rpx 20rpx 20rpx;" data-enode="船百知">船百知</view>
-						<view class="share_text Poster1" style="margin: 0 20rpx 36rpx;" data-enode="船百知伴你一起杨帆启航,驶向成功彼岸">船百知伴你一起杨帆启航,驶向成功彼岸</view>
-					</view>
-				</view>
-			</view>
-			<evils-el-poster width="325" height="520" @on-error="onError" :list="list" backgroundColor="rgb(255, 255, 255)" @on-success="onSuccess" ref="Eposter"></evils-el-poster>
-			<view class="share_bottom">
-				<view class="hflex acenter jbetween">
-					<button class="vflex acenter jcenter bottom_item" open-type="share">
-						<image src="/static/images/comment/wx.png" class="item_icon"></image>
-						<view class="item_text">微信好友</view>
-					</button>
-					<!-- <button class="vflex acenter jcenter bottom_item" open-type="share">
-						<image src="/static/images/comment/moments.png" class="item_icon"></image>
-						<view class="item_text">朋友圈</view>
-					</button> -->
-					<view class="vflex acenter jcenter bottom_item" @click="saveImg">
-						<image src="/static/images/comment/download.png" class="item_icon"></image>
-						<view class="item_text">保存图片</view>
-					</view>
-				</view>
-				<view class="share_cancel" @click="closed">取消</view>
-			</view>
-		</scroll-view>
-	</view>
-</template>
-
-<script>
-	import $api from '@/static/js/api.js'
-	var that = ''
-	export default {
-		data() {
-			return {
-				nav_active: 1,
-				currentNum: 0,
-				pageData: {
-					
-				},
-				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: '',
-				list: [],
-				style: {
-					img1: '/static/images/comment/down2.png',
-					img2: '/static/images/comment/line.png',
-				},
-				share_show: false,
-				tempImage:'',
-				item_id: '',
-				normType: 0,
-				len: 0,
-				max_num: 1
-			}
-		},
-		onLoad(options) {
-			that = this
-			that.id = options.id
-			that.getData()
-			
-		},
-		onShow() {
-			that.getAddr()
-		},
-		onPageScroll(e) {
-			if(e.scrollTop < 530) {
-				that.nav_active = 1
-			} else {
-				that.nav_active = 2
-			}
-		},
-		onShareAppMessage(res) {
-			console.log(res);
-		    if (res.from === 'button') {// 来自页面内分享按钮
-		        console.log(res.target)
-		    }
-		    return {
-		        title: '船百知', //分享的名称
-		    }
-		},
-		onShareTimeline(res) {
-			console.log(res);
-		    return {
-		        title: '船百知',
-		        type: 0,
-		        summary: "",
-		    }
-		},
-		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
-						var slider = []
-						that.pageData.cover = that.pageData.cover.split('|')
-						that.len = that.pageData.cover.length
-						for(var i=0;i<that.pageData.slider.length;i++) {
-							var temp = that.pageData.slider[i].substr(-3,3)
-							var sliders = ''
-							if(temp == 'jpg' || temp == "png") {
-								sliders = "img"
-							} else {
-								sliders = 'video'
-							}
-							console.log(sliders);
-							var data = {
-								type: sliders,
-								url: that.pageData.slider[i]
-							}
-							slider.push(data)
-						}
-						that.pageData.slider = slider
-						console.log(that.pageData);
-						that.$set(that.pageData,'num',1)
-					}
-				})
-			},
-			getAddr() {
-				$api.req({
-					url: '/data/api.User/address_list'
-				}, function(res) {
-					if(res.code == 1) {
-						that.deliveryList = res.data.data
-						var address_id = uni.getStorageSync('address_id')
-						for(var i=0;i<that.deliveryList.length;i++) {
-							if(that.deliveryList[i].id == address_id) {
-								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.deliveryList[i],'checked',false)
-							}
-						} 
-						
-					}
-				})
-			},
-			// 返回
-			leftClick() {
-				$api.jump(-1)
-			},
-			// 切换导航栏
-			changeNav(index) {
-				that.nav_active = index
-				if(index == 1) {
-					uni.pageScrollTo({
-						scrollTop: 0,
-						duration: 300
-					});
-				} else {
-					uni.pageScrollTo({
-						scrollTop: 530,
-						duration: 300
-					});
-				}
-			},
-			// 收藏
-			collect() {
-				if(that.pageData.is_collection == 0) {
-					that.pageData.is_collection = 1
-					$api.req({
-						url: '/data/api.Goods/collection',
-						data: {
-							goods_id: that.pageData.id,
-						}
-					}, function(res) {
-						if(res.code == 1) {
-							$api.info(res.info)
-						}
-					})
-					// $api.info('收藏成功')
-				} else {
-					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)
-						}
-					})
-				}
-			},
-			share(elClass) {
-				let view = uni.createSelectorQuery().in(this).select(".Poster1");
-				
-				view.fields({
-				  size: true,
-				  rect: true,
-				  scrollOffset: true
-				}, data => {
-				}).exec();
-				that.share_show = true
-				that.$refs.Eposter.createForElRect(elClass,false)
-			},
-			// 打开规格
-			openNorm() {
-				that.norm_show = true
-				that.normType = 1
-			},
-			// 打开配送
-			openAddr() {
-				that.addr_show = true
-			},
-			// 选择规格
-			selectNorm(index,index2) {
-				for(var i=0;i<that.pageData.specs[index].list.length;i++) {
-					if(i == index2) {
-						that.$set(that.pageData.specs[index].list[i],'select',true)
-					} else {
-						that.$set(that.pageData.specs[index].list[i],'select',false)
-					}
-				}
-				that.normStr = ''
-				that.item_id = ''
-				for(var i=0;i<that.pageData.specs.length;i++) {
-					for(var j=0;j<that.pageData.specs[i].list.length;j++) {
-						if(that.pageData.specs[i].list[j].select) {
-							that.normStr += that.pageData.specs[i].name+'::'+that.pageData.specs[i].list[j].name+';;'
-							// that.item_id += 
-						}
-					}
-				}
-				that.normStr = that.normStr.substring(0, that.normStr.length-2)
-				for(var i=0;i<that.pageData.items.length;i++) {
-					if(that.pageData.items[i].goods_spec == that.normStr) {
-						that.norm_active = i
-						that.max_num = that.pageData.items[that.norm_active].stock_total
-						that.normStr = $api.resetspec(that.normStr)
-						return
-					} else {
-						that.norm_active = -1
-					}
-				}
-				that.normStr = $api.resetspec(that.normStr)
-				// that.norm_active = index2
-				// that.normStr = that.pageData.items[index].goods_spec
-				// that.normStr = that.norm + ' ' + that.color + ' ' + 'X' + that.pageData.norm.num
-			},
-			selectNorm2() {
-				$api.info('该规格已下架,请重新选择')
-			},
-			// 选择颜色
-			selectColor(index) {
-				that.color_active = index
-				that.color = that.pageData.norm.colorList[index].name
-				that.normStr = that.norm + ' ' + that.color + ' ' + 'X' + that.pageData.norm.num
-			},
-			// 选择数量
-			changeNum(e) {
-				that.pageData.num = e.value
-				
-			},
-			// 选择地址
-			selectAddr(index) {
-				for(var i=0;i<that.deliveryList.length;i++) {
-					if(i == index) {
-						console.log(i);
-						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.deliveryList[i],'checked',0)
-					}
-				}
-			},
-			// 加入购物车
-			addCart() {
-				if(that.max_num < that.pageData.num) {
-					$api.info("商品库存不足")
-					return
-				}
-				if(that.norm == '' && that.color == '') {
-					that.is_buy = 0
-					that.norm_show = true
-					// that.openNorm()
-				} else {
-					$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.deliveryList.length == 0) {
-					$api.info('请先选择配送地址')
-					return
-				} */
-				if(that.max_num < that.pageData.num) {
-					$api.info("商品库存不足")
-					return
-				}
-				console.log(that.norm_active);
-				if(that.norm_active == -1) {
-					that.is_buy = 1
-					that.norm_show = true
-				} else {
-					var url = ''
-					var data = {
-						admin_id: that.pageData.admin_id,
-						admin_name: that.pageData.admin_name,
-						code: that.pageData.code,
-						create_at: that.pageData.create_at,
-						cover: that.pageData.cover,
-						id: that.pageData.id,
-						items: that.pageData.items,
-						name: that.pageData.name,
-						num_read: that.pageData.num_read,
-						price_selling: that.pageData.price_selling,
-						price_market: that.pageData.price_market,
-					}
-					if(that.deliveryList.length>0) {
-						url = '/page_shop/pages/good/submit?pageData=' + JSON.stringify(data) + '&item_id=' + that.norm_active + '&buy_num=' + that.pageData.num + '&address_id=' + that.deliveryList[that.address_active].id
-					} else {
-						url = '/page_shop/pages/good/submit?pageData=' + JSON.stringify(data) + '&item_id=' + that.norm_active + '&buy_num=' + that.pageData.num
-					}
-					$api.jump(url)
-					/* $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.close()
-							var order_id = res.data.order_id
-							var pay_no = res.data.pay_no
-							$api.jump('/page_shop/pages/good/submit?order_id=' + order_id + '&address_id=' + that.deliveryList[that.address_active].id + '&pay_no=' +pay_no)
-						}
-					}) */
-				}
-			},
-			// 确定选择规格
-			sure() {
-				if(that.max_num < that.pageData.num) {
-					$api.info("商品库存不足")
-					return
-				}
-				for(var i=0;i<that.pageData.specs.length;i++) {
-					for(var j=0;j<that.pageData.specs[i].list.length;j++) {
-						if(!that.pageData.specs[i].list[j].select && that.norm_active == -1) {
-							$api.info('该规格已下架,请重新选择')
-							return
-						}
-					}
-				}
-				
-				console.log(that.norm_active);
-				if(that.norm_active == -1) {
-					$api.info('请选择规格')
-					return
-				}
-				
-				if(that.normType == 1) {
-					that.close()
-					return
-				}
-				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.norm_active = -1
-							that.close()
-						}
-					})
-				} else {
-					var url = ''
-					var data = {
-						admin_id: that.pageData.admin_id,
-						admin_name: that.pageData.admin_name,
-						code: that.pageData.code,
-						create_at: that.pageData.create_at,
-						cover: that.pageData.cover,
-						id: that.pageData.id,
-						items: that.pageData.items,
-						name: that.pageData.name,
-						num_read: that.pageData.num_read,
-						price_selling: that.pageData.price_selling,
-						price_market: that.pageData.price_market,
-					}
-					if(that.deliveryList.length>0) {
-						url = '/page_shop/pages/good/submit?pageData=' + JSON.stringify(data) + '&item_id=' + that.norm_active + '&buy_num=' + that.pageData.num + '&address_id=' + that.deliveryList[that.address_active].id
-					} else {
-						url = '/page_shop/pages/good/submit?pageData=' + JSON.stringify(data) + '&item_id=' + that.norm_active + '&buy_num=' + that.pageData.num
-					}
-					
-					$api.jump(url)
-					that.close()
-					/* if(that.deliveryList.length == 0) {
-						$api.info('请先选择配送地址')
-						return
-					}
-					$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.close()
-							var order_id = res.data.order_id
-							var pay_no = res.data.pay_no
-							$api.jump('/page_shop/pages/good/submit?order_id=' + order_id + '&address_id=' + that.deliveryList[that.address_active].id + '&pay_no= ' +pay_no)
-						}
-					}) */
-					
-				}
-			},
-			// 关闭弹窗
-			close() {
-				that.norm_show = false
-				that.addr_show = false
-				that.normType = 0
-			},
-			closed() {
-				that.share_show = false
-			},
-			// 选择其他收货地址
-			select() {
-				$api.jump('/page_shop/pages/address/list?select=true')
-			},
-			// 店铺
-			toShop() {
-				$api.jump('/page_shop/pages/good/shop?id=' + that.pageData.admin_id)
-			},
-			into_chatroom() {
-				var my = uni.getStorageSync("myUsername");
-				var nameList = {
-				  myName: my,
-				  your: that.pageData.huanxinID,
-				};
-				uni.navigateTo({
-				  url: "/pages/chatroom/chatroom?username=" + JSON.stringify(nameList),
-				});
-			},
-			// 购物车
-			toCart() {
-				$api.jump('/page_shop/pages/mine/cart')
-			},
-			onSuccess(e) {
-				console.log(e);
-				that.tempImage = e
-			},
-			onError(err) {
-				console.log('发生错误');
-				console.log(err);
-			},
-			saveImg() {
-				console.log(that.tempImage);
-				uni.authorize({
-				    scope: 'scope.writePhotosAlbum',
-				    success() {
-				        uni.saveImageToPhotosAlbum({
-				        	filePath: that.tempImage,
-				        	success: function () {
-				        		console.log('save success');
-								$api.info('保存成功')
-								that.close()
-				        	}
-				        });
-				    }
-				})
-			},
-		},
-	}
-</script>
-
-<style lang="scss" scoped>
-	.content::v-deep {
-		background: #F5F5F5;
-		.nav_item {
-			font-size: 32rpx;
-			font-weight: 500;
-			color: #999999;
-			line-height: 50rpx;
-			margin-right: 88rpx;
-		}
-		.nav_active {
-			color: #222222;
-			position: relative;
-		}
-		.nav_active::after {
-			content: "";
-			position: absolute;
-			bottom: -8rpx;
-			left: 11rpx;
-			width: 40rpx;
-			height: 8rpx;
-			background: #506DFF;
-			border-radius: 6rpx;
-		}
-		.swiper {
-			width: 690rpx;
-			margin: 0 auto 10rpx;
-			.indicator {
-				@include flex(row);
-				justify-content: center;
-		
-			}
-		
-			.indicator-num {
-				padding: 4rpx 0;
-				background-color: rgba(0, 0, 0, 0.6);
-				border-radius: 20rpx;
-				width: 72rpx;
-				@include flex;
-				justify-content: center;
-		
-				&__text {
-					 color: #FFFFFF;
-					 font-size: 24rpx;
-					 font-weight: 400;
-					 line-height: 30rpx;
-				 }
-			}	
-		}
-		.box {
-			margin: 10rpx auto;
-			width: 690rpx;
-			background: #FFFFFF;
-			border-radius: 16rpx;
-			box-sizing: border-box;
-			padding: 26rpx 20rpx;
-			
-			.price {
-				font-size: 32rpx;
-				font-weight: bold;
-				color: #FF5959;
-				line-height: 38rpx;
-			}
-			.name {
-				margin-top: 20rpx;
-				font-size: 36rpx;
-				font-weight: 500;
-				color: #222222;
-				line-height: 50rpx;
-			}
-			.bottom_img {
-				width: 40rpx;
-				height: 40rpx;
-			}
-			.pad-20 {
-				padding: 40rpx 0 0;
-			} 
-			.label {
-				font-size: 26rpx;
-				font-weight: 400;
-				color: #979797;
-				line-height: 36rpx;
-				padding-right: 32rpx;
-			}
-			.text_style2 {
-				font-size: 26rpx;
-				font-weight: 400;
-				color: #333333;
-				line-height: 36rpx;
-			}
-			
-		}
-		.box1 {
-			width: 690rpx;
-			background: #FFFFFF;
			border-radius: 16rpx;
-			margin: 10rpx auto 186rpx;
-			box-sizing: border-box;
-			padding: 26rpx 20rpx;
-			.title {
-				font-size: 30rpx;
-				font-weight: 400;
-				color: #222222;
-				line-height: 42rpx;
-				width: 100%;
-				text-align: center;
-				padding: 30rpx 0;
-			}
-			.cell {
-				width: 100%;
-				margin-top: 20rpx;
-			}
-			.detail_img {
-				width: 100%;
-				padding-bottom: 20rpx;
-			}
-		}
-		.text_style1 {
-			font-size: 20rpx;
-			font-weight: 400;
-			color: #444444;
-			margin-top: 6rpx;
-		}
-		button {
-			line-height: unset;
-		}
-		button::after {
-			border: none;
-		}
-		.bottom {
-			width: 100%;
-			// z-index: 9;
-			position: fixed;
-			bottom: 0;
-			height: 166rpx;
-			background: #FFFFFF;
-			box-sizing: border-box;
-			padding: 8rpx 30rpx 74rpx;
-			
-			.btn1 {
-				width: 220rpx;
-				height: 72rpx;
-				background: #FFCA43;
-				border-radius: 38rpx 0px 0px 38rpx;
-				font-size: 28rpx;
-				font-weight: 500;
-				color: #FFFFFF;
-				text-align: center;
-				line-height: 72rpx;
-			}
-			.btn2 {
-				width: 220rpx;
-				height: 72rpx;
-				background: #506DFF;
-				border-radius: 0px 38rpx 38rpx 0px;
-				font-size: 28rpx;
-				font-weight: 500;
-				color: #FFFFFF;
-				text-align: center;
-				line-height: 72rpx;
-			}
-			.bottom_img {
-				width: 40rpx;
-				height: 40rpx;
-			}
-			
-		}
-		.popu {
-			background: #FFFFFF;
-			box-sizing: border-box;
-			padding: 48rpx 30rpx;
-			.popu_img {
-				width: 160rpx;
-				height: 160rpx;
-				border-radius: 12rpx;
-				margin-right: 20rpx;
-			}
-			
-			.popu_right {
-				height: 124rpx;
-				margin: 20rpx 0 16rpx;
-				.popu_price {
-					font-size: 28rpx;
-					font-weight: 400;
-					color: #FF4747;
-					line-height: 34rpx;
-				}
-				.popu_norm {
-					max-width: 450rpx;
-					font-size: 24rpx;
-					font-weight: 400;
-					color: #A7A7A7;
-					line-height: 34rpx;
-				}
-			}
-			.popu_title {
-				font-size: 28rpx;
-				font-weight: 600;
-				color: #222222;
-				line-height: 40rpx;
-				margin: 15rpx 0;
-				text-overflow: ellipsis;
-				overflow: hidden;
-				display: -webkit-box;
-				-webkit-box-orient: vertical;
-				box-orient: vertical;
-				line-clamp: 2;
-				-webkit-line-clamp: 2;
-			}
-			.address {
-				.address_img {
-					width: 200rpx;
-					height: 200rpx;
-					border-radius: 50%;
-					margin-bottom: 20rpx;
-				}
-				.address_text {
-					text-align: center;
-					font-size: 28rpx;
-					color: #222222;
-					line-height: 40rpx;
-				}
-			}
-			.box_bg {
-				background: #F5F5F5;
-				border-radius: 16rpx;
-				box-sizing: border-box;
-				padding: 24rpx 20rpx;
-				margin: 10rpx 0;
-				.check_img {
-					width: 24rpx;
-					height: 24rpx;
-				}
-				.popu_right2 {
-					padding-left: 30rpx;
-					
-					.popu_name {
-						font-size: 28rpx;
-						font-weight: 500;
-						color: #222222;
-						line-height: 40rpx;
-					}
-					.popu_phone {
-						padding-left: 16rpx;
-						font-size: 22rpx;
-						font-weight: 400;
-						color: #999999;
-						line-height: 16px;
-					}
-					.popu_addr {
-						padding: 16rpx 0 0;
-						font-size: 24rpx;
-						font-weight: 400;
-						color: #444444;
-						line-height: 34rpx;
-					}
-				}
-			}
-			
-			.popu_box {
-				background: #F4F4F4;
-				border-radius: 8rpx;
-				font-size: 26rpx;
-				font-weight: 400;
-				color: #222222;
-				line-height: 36rpx;
-				padding: 7rpx 36rpx;
-				margin: 0 22rpx 28rpx 0;
-				text-overflow: ellipsis;
-				overflow: hidden;
-				display: -webkit-box;
-				-webkit-box-orient: vertical;
-				box-orient: vertical;
-				line-clamp: 2;
-				-webkit-line-clamp: 2;
-			}
-			.popu_box2 {
-				background-color: #5b5b5b;
-			}
-			// .popu_box:nth-child(4n+4) {
-			// 	margin: 0 0 28rpx 0;
-			// }
-			.sele_active {
-				background: #F1F4FF;
-				border: 1px solid #5471FF;
-				color: #506DFF;
-			}
-			.sure_btn {
-				width: 100%;
-				height: 84rpx;
-				background: #506DFF;
-				border-radius: 42rpx;
-				font-size: 36rpx;
-				font-weight: 500;
-				color: #FFFFFF;
-				line-height: 84rpx;
-				text-align: center;
-				margin-top: 94rpx;
-			}
-			
-		}
-		.share_content {
-			position: fixed;
-			top: 0;
-			left: 0;
-			z-index: 99;
-			width: 100vw;
-			height: 100vh;
-			background: rgba(0,0,0,0.5);
-			backdrop-filter: blur(5px);
-			padding: 0 0 0;
-			.cover {
-				width: 100%;
-				margin: 0 auto;
-				height: 520rpx;
-				// opacity:0
-			}
-			.share_price {
-				font-size: 28rpx;
-				font-weight: 400;
-				color: #FF5959;
-				line-height: 34rpx;
-				margin: 6rpx 20rpx 12rpx;
-			}
-			.share_box {
-				// margin: 130rpx auto 0;
-				// width: 650rpx;
-				// background: #FFFFFF;
-				// border-radius: 20rpx;
-				// box-sizing: border-box;
-				// z-index: -999;
-				// // opacity: 0;
-				// padding: 0 40rpx;
-				margin: 130rpx auto 0;
-				width: 650rpx;
-				background: #FFFFFF;
-				border-radius: 20rpx;
-				box-sizing: border-box;
-				padding: 48rpx 35rpx 0;
-				
-				.share_name {
-					max-width: 500rpx;
-					font-size: 30rpx;
-					font-weight: 400;
-					color: #222222;
-					line-height: 42rpx;
-					margin: 0 20rpx 44rpx;
-				}
-				.share_label {
-					width: 100%;
-					font-size: 28rpx;
-					font-weight: 400;
-					color: #222222;
-					line-height: 40rpx;
-				}
-				.share_text {
-					width: 100%;
-					font-size: 24rpx;
-					font-weight: 400;
-					color: #999999;
-					line-height: 34rpx;
-					text-overflow: ellipsis;
-					overflow: hidden;
-					display: -webkit-box;
-					-webkit-box-orient: vertical;
-					box-orient: vertical;
-					line-clamp: 5;
-					-webkit-line-clamp: 5;
-				}
-				.box_bottom {
-					width: 100%;
-					padding: 34rpx 0 16rpx;
-					border-top: 1rpx dashed #C3C3C3;
-					
-					.bottom_left1 {
-						font-size: 32rpx;
-						font-weight: 500;
-						color: #222222;
-						line-height: 44rpx;
-						padding-bottom: 20rpx;
-						
-					}
-					.bottom_left2 {
-						font-size: 22rpx;
-						font-weight: 400;
-						color: #999999;
-						line-height: 32rpx;
-					}
-					.bottom_right {
-						width: 136rpx;
-						height: 136rpx;
-					}
-				}
-			}
-			/* .canvas2 {
-				position: absolute;
-				top: 188rpx;
-				left: 50rpx;
-				width: 650rpx;
-				min-height: 494rpx;
-				background: #FFFFFF;
-				border-radius: 20rpx;
-				// z-index: 9;
-			} */
-			.share_bottom {
-				position: fixed;
-				bottom: 0;
-				width: 100%;
-				height: 388rpx;
-				background: #F5F7FF;
-				border-radius: 40rpx 40rpx 0px 0px;
-				z-index: 99;
-				.bottom_item {
-					width: 33%;
-					margin: 50rpx 0 90rpx;
-					border: none !important;
-					background-color: #F5F7FF !important;
-					
-					
-					.item_icon {
-						width: 76rpx;
-						height: 76rpx;
-					}
-					.item_text {
-						font-size: 26rpx;
-						font-weight: 400;
-						color: #333333;
-						line-height: 36rpx;
-						margin-top: 12rpx;
-					}
-				}
-				button::after {
-					border: none !important;
-				}
-				.share_cancel {
-					width: 100%;
-					text-align: center;
-					font-size: 32rpx;
-					font-weight: 400;
-					color: #333333;
-					line-height: 44rpx;
-				}
-			}
-		}
-		.share_content1 {
-			z-index: -99 !important;
-		}
-	}
+<template>
+	<view class="content">
+		<u-navbar title=" " @leftClick="leftClick" height="44px" bgColor="#F5F5F5" :placeholder="true">
+			<view class="hflex acenter" slot="center">
+				<view class="nav_item" @click="changeNav(1)" :class="nav_active == 1?'nav_active': '' ">商品</view>
+				<view class="nav_item" @click="changeNav(2)" :class="nav_active == 2?'nav_active': '' ">详情</view>
+			</view>
+		</u-navbar>
+		<view class="swiper">
+			<u-swiper :list="pageData.cover" 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 }}/{{ len >= 0 ? len : 0}}</text>
+				</view>
+			</u-swiper>
+		</view>
+		<view class="box">
+			<view class="hflex acenter jbetween">
+				<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_collection == 0"></u-icon>
+						<u-icon name="star-fill" color="#506DFF" size="20" v-else></u-icon>
+						<view class="text_style1">收藏</view>	
+					</view>	
+					<view class="vflex acenter" style="margin-left: 42rpx;"  @click="share('Poster1')">
+						<image src="https://ship-expert.zhousi.hdlkeji.com/common/share.png" class="bottom_img"></image>	
+						<view class="text_style1">分享</view>	
+					</view>	
+				</view>
+			</view>
+			<view class="name">{{pageData.name}}</view>
+		</view>
+		<view class="box">
+			<view class="hflex acenter jbetween" @click="openNorm">
+				<view class="hflex acenter">
+					<view class="label">选择</view>
+					<view class="text_style2">{{normStr?normStr:'选择规格'}}</view>
+				</view>
+				<u-icon name="arrow-right" color="#000" size="14"></u-icon>
+			</view>
+			<view class="hflex acenter jbetween pad-20" @click="openAddr">
+				<view class="hflex acenter">
+					<view class="label">配送</view>
+					<view class="text_style2">{{delivery?delivery:'选择配送地址'}}</view>
+				</view>
+				<u-icon name="arrow-right" color="#000" size="14"></u-icon>
+			</view>
+		</view>
+		<view class="box1">
+			<view class="title">商品图文详情</view>
+			<!-- <block v-for="(item,index) in pageData.detail" :key="index">
+				<image :src="item" mode="widthFix" class="detail_img"></image>
+			</block> -->
+			<u-parse :content="pageData.content"></u-parse>
+			<view class="vflex acenter jcenter">
+				<view v-for="(item,index) in pageData.slider" :key="index" class="cell">
+					<image :src="item.url" style="width: 100%;" mode="aspectFit" v-if="item.type == 'img'"></image>
+					<video :src="item.url" v-else></video>
+				</view>
+			</view>
+		</view>
+		<view class="bottom hflex acenter jbetween">
+			<view class="vflex acenter" @click="toShop">
+				<image src="/static/images/shop/shop_icon.png" class="bottom_img"></image>
+				<view class="text_style1">店铺</view>	
+			</view>	
+			<view class="vflex acenter" @click="into_chatroom">
+				<image src="/static/images/shop/customer_icon.png" class="bottom_img"></image>	
+				<view class="text_style1">客服</view>	
+				<!-- <button class="text_style1" style="border: none;background: rgba(0, 0, 0, 0);" open-type="contact" @contact="handleContact">客服</button> -->
+			</view>	
+			<view class="vflex acenter" @click="toCart">
+				<image src="/static/images/shop/cart_icon.png" class="bottom_img"></image>	
+				<view class="text_style1">购物车</view>	
+			</view>	
+			<view class="hflex acenter">
+				<view class="btn1" @click="addCart">加入购物车</view>
+				<view class="btn2" @click="buy">立即购买</view>
+			</view>
+		</view>
+		<u-popup :show="norm_show" @close="close" mode="bottom" :round="20" :closeable="true">
+			<view class="popu">
+				<view class="hflex acenter">
+					<image :src="pageData.items[norm_active].show_image?pageData.items[norm_active].show_image:pageData.cover" class="popu_img" mode="aspectFill"></image>
+					<view class="vflex jbetween popu_right">
+						<view class="popu_price">¥{{pageData.items[norm_active].price_selling?pageData.items[norm_active].price_selling:pageData.price_selling}}</view>
+						<view class="popu_norm text_hide">{{normStr?normStr:'选择规格'}}</view>
+					</view>
+				</view>
+				<view class="" v-for="(item,index) in pageData.specs" :key="index">
+					<view class="popu_title">{{item.name}}</view>
+					<view class="hflex acenter fwrap">
+						<block v-for="(item2,index2) in item.list" :key="index2">
+							<view class="popu_box" @click="selectNorm(index,index2)" :class="item2.select?'sele_active':''" v-if="item2.show && item2.check">{{item2.name}}</view>
+							<view class="popu_box popu_box2" v-else @click="selectNorm2">{{item2.name}}</view>
+						</block>
+					</view>
+				</view>
+				<view class="hflex acenter jbetween">
+					<view class="popu_title">数量</view>
+					<u-number-box v-model="pageData.num" @change="changeNum"></u-number-box>
+				</view>
+				<view class="sure_btn" @click="sure">确定</view>
+			</view>
+		</u-popup>
+		<u-popup :show="addr_show" @close="close" mode="bottom" :round="20" :closeable="true">
+			<view class="popu">
+				<view class="hflex acenter jcenter popu_title" style="text-align: center;">配送地址</view>
+				<view v-if="deliveryList.length > 0">
+					<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>
+							<view class="popu_right2">
+								<view class="hflex acenter">
+									<view class="popu_name">{{item.name}}</view>
+									<view class="popu_phone">{{item.phone}}</view>
+								</view>
+								<view class="popu_addr">{{item.province}} {{item.city}} {{item.area}} {{item.address}}</view>
+							</view>
+						</view>
+					</block>
+				</view>
+				<view class="address vflex acenter jcenter" v-else>
+					<image src="/static/images/shop/no_addr.png" class="address_img"></image>
+					<view class="address_text">暂无地址</view>
+				</view>
+				<view class="sure_btn" @click="select">选择其他收货地址</view>
+			</view>
+		</u-popup>
+		<view class="share_content" :class="share_show?'':'share_content1'">
+			<view class="share_box vflex">
+				<image class="Poster1 cover" :data-enode="pageData.cover[0]" data-etype="image" :src="pageData.cover[0]"></image>
+				<view class="Poster1 share_price" :data-enode="'¥' + pageData.price_selling">¥{{pageData.price_selling}}</view>
+				<view class="Poster1 share_name text_hide" :data-enode="pageData.name">{{pageData.name}}</view>
+				<view class="hflex acenter share_text jcenter Poster1" style=" margin: 0 200rpx 12rpx;" data-enode="长按或扫码查看">长按或扫码查看</view>
+				<view style="width: 100%;" class="vflex acenter jcenter">
+					<image class="Poster1" style="width: 25rpx;height: 20rpx;" :data-enode="style.img1" data-etype="image" :src="style.img1"></image>
+					<image class="Poster1" style="width: 100%;height: 2rpx;margin: 30rpx 0;" :data-enode="style.img2" data-etype="image" :src="style.img2"></image>
+				</view>
+				<view class="hflex acenter jbetween">
+					<view class="vflex">
+						<view class="share_name Poster1" style="margin: 54rpx 20rpx 20rpx;" data-enode="船百知">船百知</view>
+						<view class="share_text Poster1" style="margin: 0 20rpx 36rpx;" data-enode="船百知伴你一起杨帆启航,驶向成功彼岸">船百知伴你一起杨帆启航,驶向成功彼岸</view>
+					</view>
+					<image class="Poster1" data-etype="image" :data-enode="style.code" :src="style.code" style="width: 136rpx;height: 136rpx;"></image>
+				</view>
+			</view>
+			<evils-el-poster width="325" height="520" @on-error="onError" :list="list" backgroundColor="rgb(255, 255, 255)" @on-success="onSuccess" ref="Eposter"></evils-el-poster>
+			<view class="share_bottom">
+				<view class="hflex acenter jcenter">
+					<button class="vflex acenter jcenter bottom_item" open-type="share">
+						<image src="https://ship-expert.zhousi.hdlkeji.com/common/wx.png" class="item_icon"></image>
+						<view class="item_text">微信好友</view>
+					</button>
+					<!-- <button class="vflex acenter jcenter bottom_item" open-type="share">
+						<image src="https://ship-expert.zhousi.hdlkeji.com/common/moments.png" class="item_icon"></image>
+						<view class="item_text">朋友圈</view>
+					</button> -->
+					<view class="vflex acenter jcenter bottom_item" @click="saveImg">
+						<image src="https://ship-expert.zhousi.hdlkeji.com/common/download.png" class="item_icon"></image>
+						<view class="item_text">保存图片</view>
+					</view>
+				</view>
+				<view class="share_cancel" @click="closed">取消</view>
+			</view>
+		</view>
+	</view>
+</template>
+
+<script>
+	import $api from '@/static/js/api.js'
+	var that = ''
+	export default {
+		data() {
+			return {
+				nav_active: 1,
+				currentNum: 0,
+				pageData: {
+					
+				},
+				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: '',
+				list: [],
+				style: {
+					img1: 'https://ship-expert.zhousi.hdlkeji.com/common/down2.png',
+					img2: 'https://ship-expert.zhousi.hdlkeji.com/common/line.png',
+					code: 'https://ship-expert.zhousi.hdlkeji.com/common/code.jpg'
+				},
+				share_show: false,
+				tempImage:'',
+				item_id: '',
+				normType: 0,
+				len: 0,
+				max_num: 1
+			}
+		},
+		onLoad(options) {
+			that = this
+			that.id = options.id
+			that.getData()
+			
+		},
+		onShow() {
+			that.getAddr()
+		},
+		onPageScroll(e) {
+			if(e.scrollTop < 530) {
+				that.nav_active = 1
+			} else {
+				that.nav_active = 2
+			}
+		},
+		onShareAppMessage(res) {
+			console.log(res);
+		    if (res.from === 'button') {// 来自页面内分享按钮
+		        console.log(res.target)
+		    }
+		    return {
+		        title: '船百知', //分享的名称
+		    }
+		},
+		onShareTimeline(res) {
+			console.log(res);
+		    return {
+		        title: '船百知',
+		        type: 0,
+		        summary: "",
+		    }
+		},
+		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
+						var slider = []
+						that.pageData.cover = that.pageData.cover.split('|')
+						that.len = that.pageData.cover.length
+						for(var i=0;i<that.pageData.slider.length;i++) {
+							var temp = that.pageData.slider[i].substr(-3,3)
+							var sliders = ''
+							if(temp == 'jpg' || temp == "png") {
+								sliders = "img"
+							} else {
+								sliders = 'video'
+							}
+							console.log(sliders);
+							var data = {
+								type: sliders,
+								url: that.pageData.slider[i]
+							}
+							slider.push(data)
+						}
+						that.pageData.slider = slider
+						console.log(that.pageData);
+						that.$set(that.pageData,'num',1)
+					}
+				})
+			},
+			getAddr() {
+				$api.req({
+					url: '/data/api.User/address_list'
+				}, function(res) {
+					if(res.code == 1) {
+						that.deliveryList = res.data.data
+						var address_id = uni.getStorageSync('address_id')
+						for(var i=0;i<that.deliveryList.length;i++) {
+							if(that.deliveryList[i].id == address_id) {
+								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.deliveryList[i],'checked',false)
+							}
+						} 
+						
+					}
+				})
+			},
+			// 返回
+			leftClick() {
+				$api.jump(-1)
+			},
+			// 切换导航栏
+			changeNav(index) {
+				that.nav_active = index
+				if(index == 1) {
+					uni.pageScrollTo({
+						scrollTop: 0,
+						duration: 300
+					});
+				} else {
+					uni.pageScrollTo({
+						scrollTop: 530,
+						duration: 300
+					});
+				}
+			},
+			// 收藏
+			collect() {
+				if(that.pageData.is_collection == 0) {
+					that.pageData.is_collection = 1
+					$api.req({
+						url: '/data/api.Goods/collection',
+						data: {
+							goods_id: that.pageData.id,
+						}
+					}, function(res) {
+						if(res.code == 1) {
+							$api.info(res.info)
+						}
+					})
+					// $api.info('收藏成功')
+				} else {
+					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)
+						}
+					})
+				}
+			},
+			share(elClass) {
+				let view = uni.createSelectorQuery().in(this).select(".Poster1");
+				
+				view.fields({
+				  size: true,
+				  rect: true,
+				  scrollOffset: true
+				}, data => {
+				}).exec();
+				that.share_show = true
+				that.$refs.Eposter.createForElRect(elClass,false)
+			},
+			// 打开规格
+			openNorm() {
+				that.norm_show = true
+				that.normType = 1
+			},
+			// 打开配送
+			openAddr() {
+				that.addr_show = true
+			},
+			// 选择规格
+			selectNorm(index,index2) {
+				for(var i=0;i<that.pageData.specs[index].list.length;i++) {
+					if(i == index2) {
+						that.$set(that.pageData.specs[index].list[i],'select',true)
+					} else {
+						that.$set(that.pageData.specs[index].list[i],'select',false)
+					}
+				}
+				that.normStr = ''
+				that.item_id = ''
+				for(var i=0;i<that.pageData.specs.length;i++) {
+					for(var j=0;j<that.pageData.specs[i].list.length;j++) {
+						if(that.pageData.specs[i].list[j].select) {
+							that.normStr += that.pageData.specs[i].name+'::'+that.pageData.specs[i].list[j].name+';;'
+							// that.item_id += 
+						}
+					}
+				}
+				that.normStr = that.normStr.substring(0, that.normStr.length-2)
+				for(var i=0;i<that.pageData.items.length;i++) {
+					if(that.pageData.items[i].goods_spec == that.normStr) {
+						that.norm_active = i
+						that.max_num = that.pageData.items[that.norm_active].stock_total
+						that.normStr = $api.resetspec(that.normStr)
+						return
+					} else {
+						that.norm_active = -1
+					}
+				}
+				that.normStr = $api.resetspec(that.normStr)
+				// that.norm_active = index2
+				// that.normStr = that.pageData.items[index].goods_spec
+				// that.normStr = that.norm + ' ' + that.color + ' ' + 'X' + that.pageData.norm.num
+			},
+			selectNorm2() {
+				$api.info('该规格已下架,请重新选择')
+			},
+			// 选择颜色
+			selectColor(index) {
+				that.color_active = index
+				that.color = that.pageData.norm.colorList[index].name
+				that.normStr = that.norm + ' ' + that.color + ' ' + 'X' + that.pageData.norm.num
+			},
+			// 选择数量
+			changeNum(e) {
+				that.pageData.num = e.value
+				
+			},
+			// 选择地址
+			selectAddr(index) {
+				for(var i=0;i<that.deliveryList.length;i++) {
+					if(i == index) {
+						console.log(i);
+						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.deliveryList[i],'checked',0)
+					}
+				}
+			},
+			// 加入购物车
+			addCart() {
+				if(that.max_num < that.pageData.num) {
+					$api.info("商品库存不足")
+					return
+				}
+				if(that.norm == '' && that.color == '') {
+					that.is_buy = 0
+					that.norm_show = true
+					// that.openNorm()
+				} else {
+					$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.deliveryList.length == 0) {
+					$api.info('请先选择配送地址')
+					return
+				} */
+				if(that.max_num < that.pageData.num) {
+					$api.info("商品库存不足")
+					return
+				}
+				console.log(that.norm_active);
+				if(that.norm_active == -1) {
+					that.is_buy = 1
+					that.norm_show = true
+				} else {
+					var url = ''
+					var data = {
+						admin_id: that.pageData.admin_id,
+						admin_name: that.pageData.admin_name,
+						code: that.pageData.code,
+						create_at: that.pageData.create_at,
+						cover: that.pageData.cover,
+						id: that.pageData.id,
+						items: that.pageData.items,
+						name: that.pageData.name,
+						num_read: that.pageData.num_read,
+						price_selling: that.pageData.price_selling,
+						price_market: that.pageData.price_market,
+					}
+					if(that.deliveryList.length>0) {
+						url = '/page_shop/pages/good/submit?pageData=' + JSON.stringify(data) + '&item_id=' + that.norm_active + '&buy_num=' + that.pageData.num + '&address_id=' + that.deliveryList[that.address_active].id
+					} else {
+						url = '/page_shop/pages/good/submit?pageData=' + JSON.stringify(data) + '&item_id=' + that.norm_active + '&buy_num=' + that.pageData.num
+					}
+					$api.jump(url)
+					/* $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.close()
+							var order_id = res.data.order_id
+							var pay_no = res.data.pay_no
+							$api.jump('/page_shop/pages/good/submit?order_id=' + order_id + '&address_id=' + that.deliveryList[that.address_active].id + '&pay_no=' +pay_no)
+						}
+					}) */
+				}
+			},
+			// 确定选择规格
+			sure() {
+				if(that.max_num < that.pageData.num) {
+					$api.info("商品库存不足")
+					return
+				}
+				for(var i=0;i<that.pageData.specs.length;i++) {
+					for(var j=0;j<that.pageData.specs[i].list.length;j++) {
+						if(!that.pageData.specs[i].list[j].select && that.norm_active == -1) {
+							$api.info('该规格已下架,请重新选择')
+							return
+						}
+					}
+				}
+				
+				console.log(that.norm_active);
+				if(that.norm_active == -1) {
+					$api.info('请选择规格')
+					return
+				}
+				
+				if(that.normType == 1) {
+					that.close()
+					return
+				}
+				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.norm_active = -1
+							that.close()
+						}
+					})
+				} else {
+					var url = ''
+					var data = {
+						admin_id: that.pageData.admin_id,
+						admin_name: that.pageData.admin_name,
+						code: that.pageData.code,
+						create_at: that.pageData.create_at,
+						cover: that.pageData.cover,
+						id: that.pageData.id,
+						items: that.pageData.items,
+						name: that.pageData.name,
+						num_read: that.pageData.num_read,
+						price_selling: that.pageData.price_selling,
+						price_market: that.pageData.price_market,
+					}
+					if(that.deliveryList.length>0) {
+						url = '/page_shop/pages/good/submit?pageData=' + JSON.stringify(data) + '&item_id=' + that.norm_active + '&buy_num=' + that.pageData.num + '&address_id=' + that.deliveryList[that.address_active].id
+					} else {
+						url = '/page_shop/pages/good/submit?pageData=' + JSON.stringify(data) + '&item_id=' + that.norm_active + '&buy_num=' + that.pageData.num
+					}
+					
+					$api.jump(url)
+					that.close()
+					/* if(that.deliveryList.length == 0) {
+						$api.info('请先选择配送地址')
+						return
+					}
+					$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.close()
+							var order_id = res.data.order_id
+							var pay_no = res.data.pay_no
+							$api.jump('/page_shop/pages/good/submit?order_id=' + order_id + '&address_id=' + that.deliveryList[that.address_active].id + '&pay_no= ' +pay_no)
+						}
+					}) */
+					
+				}
+			},
+			// 关闭弹窗
+			close() {
+				that.norm_show = false
+				that.addr_show = false
+				that.normType = 0
+			},
+			closed() {
+				that.share_show = false
+			},
+			// 选择其他收货地址
+			select() {
+				$api.jump('/page_shop/pages/address/list?select=true')
+			},
+			// 店铺
+			toShop() {
+				$api.jump('/page_shop/pages/good/shop?id=' + that.pageData.admin_id)
+			},
+			into_chatroom() {
+				var my = uni.getStorageSync("myUsername");
+				var nameList = {
+				  myName: my,
+				  your: that.pageData.huanxinID,
+				};
+				uni.navigateTo({
+				  url: "/pages/chatroom/chatroom?username=" + JSON.stringify(nameList),
+				});
+			},
+			// 购物车
+			toCart() {
+				$api.jump('/page_shop/pages/mine/cart')
+			},
+			onSuccess(e) {
+				console.log(e);
+				that.tempImage = e
+			},
+			onError(err) {
+				console.log('发生错误');
+				console.log(err);
+			},
+			saveImg() {
+				console.log(that.tempImage);
+				uni.authorize({
+				    scope: 'scope.writePhotosAlbum',
+				    success() {
+				        uni.saveImageToPhotosAlbum({
+				        	filePath: that.tempImage,
+				        	success: function () {
+				        		console.log('save success');
+								$api.info('保存成功')
+								that.close()
+				        	}
+				        });
+				    }
+				})
+			},
+		},
+	}
+</script>
+
+<style lang="scss" scoped>
+	.content::v-deep {
+		background: #F5F5F5;
+		.nav_item {
+			font-size: 32rpx;
+			font-weight: 500;
+			color: #999999;
+			line-height: 50rpx;
+			margin-right: 88rpx;
+		}
+		.nav_active {
+			color: #222222;
+			position: relative;
+		}
+		.nav_active::after {
+			content: "";
+			position: absolute;
+			bottom: -8rpx;
+			left: 11rpx;
+			width: 40rpx;
+			height: 8rpx;
+			background: #506DFF;
+			border-radius: 6rpx;
+		}
+		.swiper {
+			width: 690rpx;
+			margin: 0 auto 10rpx;
+			.indicator {
+				@include flex(row);
+				justify-content: center;
+		
+			}
+		
+			.indicator-num {
+				padding: 4rpx 0;
+				background-color: rgba(0, 0, 0, 0.6);
+				border-radius: 20rpx;
+				width: 72rpx;
+				@include flex;
+				justify-content: center;
+		
+				&__text {
+					 color: #FFFFFF;
+					 font-size: 24rpx;
+					 font-weight: 400;
+					 line-height: 30rpx;
+				 }
+			}	
+		}
+		.box {
+			margin: 10rpx auto;
+			width: 690rpx;
+			background: #FFFFFF;
+			border-radius: 16rpx;
+			box-sizing: border-box;
+			padding: 26rpx 20rpx;
+			
+			.price {
+				font-size: 32rpx;
+				font-weight: bold;
+				color: #FF5959;
+				line-height: 38rpx;
+			}
+			.name {
+				margin-top: 20rpx;
+				font-size: 36rpx;
+				font-weight: 500;
+				color: #222222;
+				line-height: 50rpx;
+			}
+			.bottom_img {
+				width: 40rpx;
+				height: 40rpx;
+			}
+			.pad-20 {
+				padding: 40rpx 0 0;
+			} 
+			.label {
+				font-size: 26rpx;
+				font-weight: 400;
+				color: #979797;
+				line-height: 36rpx;
+				padding-right: 32rpx;
+			}
+			.text_style2 {
+				font-size: 26rpx;
+				font-weight: 400;
+				color: #333333;
+				line-height: 36rpx;
+			}
+			
+		}
+		.box1 {
+			width: 690rpx;
+			background: #FFFFFF;			border-radius: 16rpx;
+			margin: 10rpx auto 186rpx;
+			box-sizing: border-box;
+			padding: 26rpx 20rpx;
+			.title {
+				font-size: 30rpx;
+				font-weight: 400;
+				color: #222222;
+				line-height: 42rpx;
+				width: 100%;
+				text-align: center;
+				padding: 30rpx 0;
+			}
+			.cell {
+				width: 100%;
+				margin-top: 20rpx;
+			}
+			.detail_img {
+				width: 100%;
+				padding-bottom: 20rpx;
+			}
+		}
+		.text_style1 {
+			font-size: 20rpx;
+			font-weight: 400;
+			color: #444444;
+			margin-top: 6rpx;
+		}
+		button {
+			line-height: unset;
+		}
+		button::after {
+			border: none;
+		}
+		.bottom {
+			width: 100%;
+			// z-index: 9;
+			position: fixed;
+			bottom: 0;
+			height: 166rpx;
+			background: #FFFFFF;
+			box-sizing: border-box;
+			padding: 8rpx 30rpx 74rpx;
+			
+			.btn1 {
+				width: 220rpx;
+				height: 72rpx;
+				background: #FFCA43;
+				border-radius: 38rpx 0px 0px 38rpx;
+				font-size: 28rpx;
+				font-weight: 500;
+				color: #FFFFFF;
+				text-align: center;
+				line-height: 72rpx;
+			}
+			.btn2 {
+				width: 220rpx;
+				height: 72rpx;
+				background: #506DFF;
+				border-radius: 0px 38rpx 38rpx 0px;
+				font-size: 28rpx;
+				font-weight: 500;
+				color: #FFFFFF;
+				text-align: center;
+				line-height: 72rpx;
+			}
+			.bottom_img {
+				width: 40rpx;
+				height: 40rpx;
+			}
+			
+		}
+		.popu {
+			background: #FFFFFF;
+			box-sizing: border-box;
+			padding: 48rpx 30rpx;
+			.popu_img {
+				width: 160rpx;
+				height: 160rpx;
+				border-radius: 12rpx;
+				margin-right: 20rpx;
+			}
+			
+			.popu_right {
+				height: 124rpx;
+				margin: 20rpx 0 16rpx;
+				.popu_price {
+					font-size: 28rpx;
+					font-weight: 400;
+					color: #FF4747;
+					line-height: 34rpx;
+				}
+				.popu_norm {
+					max-width: 450rpx;
+					font-size: 24rpx;
+					font-weight: 400;
+					color: #A7A7A7;
+					line-height: 34rpx;
+				}
+			}
+			.popu_title {
+				font-size: 28rpx;
+				font-weight: 600;
+				color: #222222;
+				line-height: 40rpx;
+				margin: 15rpx 0;
+				text-overflow: ellipsis;
+				overflow: hidden;
+				display: -webkit-box;
+				-webkit-box-orient: vertical;
+				box-orient: vertical;
+				line-clamp: 2;
+				-webkit-line-clamp: 2;
+			}
+			.address {
+				.address_img {
+					width: 200rpx;
+					height: 200rpx;
+					border-radius: 50%;
+					margin-bottom: 20rpx;
+				}
+				.address_text {
+					text-align: center;
+					font-size: 28rpx;
+					color: #222222;
+					line-height: 40rpx;
+				}
+			}
+			.box_bg {
+				background: #F5F5F5;
+				border-radius: 16rpx;
+				box-sizing: border-box;
+				padding: 24rpx 20rpx;
+				margin: 10rpx 0;
+				.check_img {
+					width: 24rpx;
+					height: 24rpx;
+				}
+				.popu_right2 {
+					padding-left: 30rpx;
+					
+					.popu_name {
+						font-size: 28rpx;
+						font-weight: 500;
+						color: #222222;
+						line-height: 40rpx;
+					}
+					.popu_phone {
+						padding-left: 16rpx;
+						font-size: 22rpx;
+						font-weight: 400;
+						color: #999999;
+						line-height: 16px;
+					}
+					.popu_addr {
+						padding: 16rpx 0 0;
+						font-size: 24rpx;
+						font-weight: 400;
+						color: #444444;
+						line-height: 34rpx;
+					}
+				}
+			}
+			
+			.popu_box {
+				background: #F4F4F4;
+				border-radius: 8rpx;
+				font-size: 26rpx;
+				font-weight: 400;
+				color: #222222;
+				line-height: 36rpx;
+				padding: 7rpx 36rpx;
+				margin: 0 22rpx 28rpx 0;
+				text-overflow: ellipsis;
+				overflow: hidden;
+				display: -webkit-box;
+				-webkit-box-orient: vertical;
+				box-orient: vertical;
+				line-clamp: 2;
+				-webkit-line-clamp: 2;
+			}
+			.popu_box2 {
+				background-color: #5b5b5b;
+			}
+			// .popu_box:nth-child(4n+4) {
+			// 	margin: 0 0 28rpx 0;
+			// }
+			.sele_active {
+				background: #F1F4FF;
+				border: 1px solid #5471FF;
+				color: #506DFF;
+			}
+			.sure_btn {
+				width: 100%;
+				height: 84rpx;
+				background: #506DFF;
+				border-radius: 42rpx;
+				font-size: 36rpx;
+				font-weight: 500;
+				color: #FFFFFF;
+				line-height: 84rpx;
+				text-align: center;
+				margin-top: 94rpx;
+			}
+			
+		}
+		.share_content {
+			position: fixed;
+			top: 0;
+			left: 0;
+			z-index: 99;
+			width: 100vw;
+			height: 100vh;
+			background: rgba(0,0,0,0.5);
+			backdrop-filter: blur(5px);
+			padding: 0 0 0;
+			.cover {
+				width: 100%;
+				margin: 0 auto;
+				height: 520rpx;
+				// opacity:0
+			}
+			.share_price {
+				font-size: 28rpx;
+				font-weight: 400;
+				color: #FF5959;
+				line-height: 34rpx;
+				margin: 6rpx 20rpx 12rpx;
+			}
+			.share_box {
+				// margin: 130rpx auto 0;
+				// width: 650rpx;
+				// background: #FFFFFF;
+				// border-radius: 20rpx;
+				// box-sizing: border-box;
+				// z-index: -999;
+				// // opacity: 0;
+				// padding: 0 40rpx;
+				margin: 130rpx auto 0;
+				width: 650rpx;
+				background: #FFFFFF;
+				border-radius: 20rpx;
+				box-sizing: border-box;
+				padding: 48rpx 35rpx 0;
+				
+				.share_name {
+					max-width: 500rpx;
+					font-size: 30rpx;
+					font-weight: 400;
+					color: #222222;
+					line-height: 42rpx;
+					margin: 0 20rpx 44rpx;
+				}
+				.share_label {
+					width: 100%;
+					font-size: 28rpx;
+					font-weight: 400;
+					color: #222222;
+					line-height: 40rpx;
+				}
+				.share_text {
+					width: 100%;
+					font-size: 24rpx;
+					font-weight: 400;
+					color: #999999;
+					line-height: 34rpx;
+					text-overflow: ellipsis;
+					overflow: hidden;
+					display: -webkit-box;
+					-webkit-box-orient: vertical;
+					box-orient: vertical;
+					line-clamp: 5;
+					-webkit-line-clamp: 5;
+				}
+				.box_bottom {
+					width: 100%;
+					padding: 34rpx 0 16rpx;
+					border-top: 1rpx dashed #C3C3C3;
+					
+					.bottom_left1 {
+						font-size: 32rpx;
+						font-weight: 500;
+						color: #222222;
+						line-height: 44rpx;
+						padding-bottom: 20rpx;
+						
+					}
+					.bottom_left2 {
+						font-size: 22rpx;
+						font-weight: 400;
+						color: #999999;
+						line-height: 32rpx;
+					}
+					.bottom_right {
+						width: 136rpx;
+						height: 136rpx;
+					}
+				}
+			}
+			/* .canvas2 {
+				position: absolute;
+				top: 188rpx;
+				left: 50rpx;
+				width: 650rpx;
+				min-height: 494rpx;
+				background: #FFFFFF;
+				border-radius: 20rpx;
+				// z-index: 9;
+			} */
+			.share_bottom {
+				position: fixed;
+				bottom: 0;
+				width: 100%;
+				height: 388rpx;
+				background: #F5F7FF;
+				border-radius: 40rpx 40rpx 0px 0px;
+				z-index: 99;
+				.bottom_item {
+					width: 33%;
+					margin: 50rpx 0 90rpx;
+					border: none !important;
+					background-color: #F5F7FF !important;
+					
+					
+					.item_icon {
+						width: 76rpx;
+						height: 76rpx;
+					}
+					.item_text {
+						font-size: 26rpx;
+						font-weight: 400;
+						color: #333333;
+						line-height: 36rpx;
+						margin-top: 12rpx;
+					}
+				}
+				button::after {
+					border: none !important;
+				}
+				.share_cancel {
+					width: 100%;
+					text-align: center;
+					font-size: 32rpx;
+					font-weight: 400;
+					color: #333333;
+					line-height: 44rpx;
+				}
+			}
+		}
+		.share_content1 {
+			z-index: -99 !important;
+		}
+	}
 </style>

+ 2 - 2
page_shop/pages/good/shop.vue

@@ -68,7 +68,7 @@
 		<u-popup :show="norm_show" @close="close" mode="bottom" :round="20" :closeable="true">
 			<view class="popu">
 				<view class="hflex acenter">
-					<image :src="pageList[good_index].cover" class="popu_img" mode="aspectFill"></image>
+					<image :src="pageList[good_index].items[norm_active].show_image?pageList[good_index].items[norm_active].show_image:pageList[good_index].cover" class="popu_img" mode="aspectFill"></image>
 					<view class="vflex jbetween popu_right">
 						<view class="popu_price">¥{{pageList[good_index].items[norm_active].price_selling?pageList[good_index].items[norm_active].price_selling:pageList[good_index].price_selling}}</view>
 						<view class="popu_norm text_hide">{{normStr?normStr:'选择规格'}}</view>
@@ -307,7 +307,7 @@
 	.content {
 		position: relative;
 		.top {
-			background: url('../../../static/images/comment/nav_bg.png') no-repeat;
+			background: url('https://ship-expert.zhousi.hdlkeji.com/common/nav_bg.png') no-repeat;
 			background-size: 100%;
 			box-sizing: border-box;
 			padding: 30rpx;

+ 1 - 1
page_shop/pages/good/shopDetail.vue

@@ -71,7 +71,7 @@
 		background: #F4F4F4;
 		position: relative;
 		.top {
-			background: url('../../../static/images/comment/nav_bg.png') no-repeat;
+			background: url('https://ship-expert.zhousi.hdlkeji.com/common/nav_bg.png') no-repeat;
 			background-size: 100%;
 			box-sizing: border-box;
 			padding: 30rpx;

+ 15 - 6
page_shop/pages/good/submit.vue

@@ -27,7 +27,7 @@
 			<view class="box">
 				<view class="title">{{pageData.admin_name}}</view>
 				<view class="hflex acenter cell">
-					<image :src="pageData.cover" mode="aspectFill" class="img"></image>
+					<image :src="pageData.items[item_id].show_image" mode="aspectFill" class="img"></image>
 					<view class="img_right">
 						<view class="hflex acenter jbetween">
 							<view class="item_name text_hide" style="width: 374rpx;">{{pageData.name}}</view>
@@ -52,7 +52,7 @@
 					<view class="title">{{item.nickname}}</view>
 					<block v-for="(item2,index2) in item.goods_item" :key="index">
 						<view class="hflex acenter cell">
-							<image :src="item2.cover" mode="aspectFill" class="img"></image>
+							<image :src="item2.show_image" mode="aspectFill" class="img"></image>
 							<view class="img_right">
 								<view class="hflex acenter jbetween">
 									<view class="item_name text_hide" style="width: 374rpx;">{{item2.name}}</view>
@@ -145,6 +145,7 @@
 			}
 			if(options.pageData) {
 				that.pageData = JSON.parse(options.pageData)
+				console.log('that.pageData',that.pageData);
 				that.item_id = options.item_id
 				that.buy_num = Number(options.buy_num)
 				// pageData.items[item_id].goods_spec = $api.resetspec(pageData.items[item_id].goods_spec)
@@ -182,9 +183,11 @@
 				})
 			},
 			count() {
-				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].num) {
+				console.log(that.pageList);
+				for(var i=0;i<that.pageList.length;i++) {
+					for(var j=0;j<that.pageList[i].goods_item.length;j++) {
+						console.log(that.pageList[i].goods_item[j]);
+						if(that.pageList[i].goods_item[j].num != 0) {
 							that.total += Number(that.pageList[i].goods_item[j].price_selling) * Number(that.pageList[i].goods_item[j].num)
 						} else {
 							that.total += Number(that.pageList[i].goods_item[j].price_selling) * Number(that.pageList[i].goods_item[j].stock_sales)
@@ -222,6 +225,11 @@
 					$api.info("请先选择地址")
 					return
 				}
+				var openid = uni.getStorageSync('openid1')
+				if(!openid) {
+					$api.info("登录验证有误,请重新登录")
+					return
+				}
 				if(that.item_id) {
 					$api.req({
 						url: '/data/api.Order/order_create',
@@ -280,7 +288,8 @@
 						method: 'POST',
 						data: {
 							cart_ids: that.cart_ids,
-							address_id: that.address_id
+							address_id: that.address_id,
+							order_remark: that.remarks
 						}
 					}, function(res) {
 						if(res.code == 1) {

+ 7 - 1
page_shop/pages/good/submit2.vue

@@ -175,6 +175,11 @@
 					$api.info("请先选择地址")
 					return
 				}
+				var openid = uni.getStorageSync('openid1')
+				if(!openid) {
+					$api.info("登录验证有误,请重新登录")
+					return
+				}
 				if(that.item_id) {
 					$api.req({
 						url: '/data/api.Order/order_create',
@@ -233,7 +238,8 @@
 						method: 'POST',
 						data: {
 							cart_ids: that.cart_ids,
-							address_id: that.address_id
+							address_id: that.address_id,
+							order_remark: that.remarks
 						}
 					}, function(res) {
 						if(res.code == 1) {

+ 1 - 1
page_shop/pages/member/index.vue

@@ -262,7 +262,7 @@
 	.content {
 		background-color: #e4e8f4;
 		.top {
-			background: url('/static/images/mine/member_bg.png') no-repeat;
+			background: url('https://ship-expert.zhousi.hdlkeji.com/common/member_bg.png') no-repeat;
 			background-size: 100%;
 			width: 100%;
 			height: 480rpx;

+ 236 - 0
page_shop/pages/message/chat.css

@@ -0,0 +1,236 @@
+page{
+	width: 100%;
+	overflow: hidden;
+}
+.chat_title{
+	position: fixed;
+	background-color: #fff;
+	width: 100%;
+	z-index: 9;
+	top: 0;
+	height: 128rpx;
+}
+.chat_title text{
+	line-height: 96rpx;
+	font-size: 64rpx;
+	font-weight: 400;
+	margin-left: 32rpx;
+}
+
+.search,.search_input {
+	width: 100%;
+	height: 88rpx;
+	background-color: #f2f2f2;
+	display: flex;
+	align-items: center;
+	top: 0;
+	left: 0;
+}
+
+
+.search {
+	justify-content: space-around;
+}
+.search_input {
+	justify-content: space-around;	
+}
+.search view, .search_input view {
+	height: 64rpx;
+	line-height: 64rpx;
+	background-color: #fff;
+	border-radius: 17px;
+	text-align: center;
+	display: flex;
+	align-items: center;
+	margin: 0 32rpx;
+}
+.search view {
+	width: 100%;
+	justify-content: center;
+	align-items: center;
+	background-color: #fff;
+}
+.search image {
+	display: block;
+	width: 5%;
+	height: 50%;
+}
+.search_input view {
+	padding-left: 24rpx;
+	text-align: left;
+	flex: 1;
+	margin: 0 28rpx 0 32rpx;
+}
+.search icon,.search_input icon {
+	display: inline-block;
+	margin: 8rpx 12rpx 0;
+	font-size: 24rpx;
+}
+.search text {
+	font-size: 30rpx;
+	color: #9B9B9B;
+}
+
+.search_input text {
+	display: inline-block;
+	height: 60rpx;
+	line-height: 60rpx;
+	font-size: 30rpx;
+	color: #0873DE;
+	margin-right: 32rpx;
+}
+.search_input input {
+	font-size: 28rpx;
+	width: 90%;
+}
+.mask {
+	background-color: black;
+	opacity: 0.4;
+	position: fixed;
+	top: 80rpx;
+	left: 0;
+	right: 0;
+	bottom: 0;
+}
+.chat_list_wraper{
+	/* padding: 270rpx 0; */
+	box-sizing: border-box; 
+	height: 100%;
+	/* position: fixed; */
+	overflow: hidden;
+}
+
+.chat_list {
+	width: 100%;
+	height: 128rpx;
+	overflow: hidden;
+}
+.tap_mask{
+	width: 100%;
+	overflow: hidden;
+}
+.list_box{
+	/* margin: 0 32rpx; */
+	height: 126rpx;
+	border-bottom: 0.5px #E5E5E5 solid;
+	display: flex;
+}
+.list_left {
+	width: 63%;
+	height: 100%;
+	float: left;
+	display: flex;
+	flex-direction: row;
+	align-items: center;
+	flex: 1;
+}
+.list_text {
+	width: 60%;
+	height: 100%;
+	float: left;
+	font-size: 28rpx;
+}
+.list_pic {
+	margin-right: 20rpx;
+}
+.list_pic image {
+	display: block;
+	width: 88rpx;
+	height: 88rpx;
+	border-radius: 50%;
+}
+.list_user,.list_user2{
+	font-size: 34rpx;
+	color: #000;
+	position: relative;
+	top: 22rpx;
+	overflow: hidden;
+	max-width: 350rpx;
+	display: inline-block;
+	text-overflow: ellipsis;
+	white-space: nowrap;
+}
+.list_user2{
+	top: 40rpx !important;
+}
+.em-msgNum {
+	position: absolute;
+	left: 64rpx;
+	top: 20rpx;
+	min-width: 28rpx;
+	border-radius: 14rpx;
+	background: #f04134;
+	color: #fff;
+	line-height: 28rpx;
+	font-size: 25rpx;
+	text-align: center;
+	padding: 3rpx;
+	z-index: 999;
+}
+.list_word {
+	height: 40rpx;
+	display: block;
+	margin-top: 0;
+	overflow: hidden;
+    text-overflow: ellipsis;
+    white-space: nowrap;
+    position: absolute;
+    width: 70%;
+    font-size: 24rpx;
+    color: #9B9B9B;
+    top: 66rpx;
+}
+.list_right {
+	width: 240rpx;
+	height: 100%;
+	float: right;
+	font-size: 24rpx;
+	text-align: right;
+}
+.list_right text:first-child {
+	display: block;
+	line-height: 60rpx;
+	margin: 12rpx auto auto auto;
+}
+.list_right text:last-child {
+	height: 40rpx; 
+	font-size: 26rpx;
+	color: #CFCFCF;
+	display: block;
+	margin-top: 4rpx;
+}
+
+.chat_noChat{
+	text-align: center;
+	font-size: 30rpx;
+	color: #9B9B9B;
+	margin-top: 400rpx;
+}
+.ctbg{
+	width: 138px;
+    height: 106px;
+    display: block;
+    margin: 20rpx auto;
+}
+/* .main_title_hide{
+	top: -128rpx;
+	transition: top 0.5s;
+}
+.main_title_show{
+	top: 0;
+	transition: top 0.5s;
+} */
+/* .goTop{
+	top: 0rpx;
+	transition: top 0.5s;
+	padding-bottom: 104rpx!important;
+}
+.goTopX{
+	top: 0rpx;
+	transition: top 0.5s;
+	padding-bottom: 140rpx!important;
+}
+.goback{
+	top: 128rpx;
+	transition: top 0.5s;
+} */

+ 591 - 2
page_shop/pages/message/message.vue

@@ -30,10 +30,109 @@
 				</view>
 			</view>
 		</view>
+		<view class="chat_list_wraper">
+			<scroll-view scroll-y="true"
+				:class="'chat_list_wraper ' + (gotop ? (isIPX ? 'goTopX' : 'goTop') : 'goback')"
+				:style="'padding-bottom: ' + (isIPX ? '270rpx' : '226rpx')">
+				<view class="search_input" v-if="search_chats">
+					<view>
+						<icon type="search" size="12"></icon>
+						<input placeholder="搜索" placeholder-style="color:#9B9B9B;line-height:21px;font-size:15px;"
+							auto-focus confirm-type="search" type="text" @confirm="onSearch" @input="onInput"
+							:value="input_code" />
+						<icon type="clear" size="12" @tap.stop="clearInput" v-if="show_clear"></icon>
+					</view>
+					<text @tap="cancel">取消</text>
+				</view>
+		
+				<view v-for="(item, index) in arr" :key="index" class="chat_list" :data-item="item" @tap.stop="del_chat"
+					@longpress="longpress">
+					<swipe-delete>
+						<view class="tap_mask" @tap.stop="into_chatRoom" :data-item="item">
+							<!-- 消息列表 -->
+							<view class="list_box">
+								<view class="list_left" :data-username="item.your.nickname">
+									<view class="list_pic">
+										<view class="em-msgNum"
+											v-if="item.unReadCount > 0 || item.unReadCount == '99+'">
+											{{ item.unReadCount }}</view>
+		
+										<image :src="item.your.avatarurl?item.your.avatarurl:'/static/images/theme2x.png'"></image>
+									</view>
+									<view class="list_text">
+										<text class="list_user text_hide">{{item.your.nickname?item.your.nickname:item.username}}</text>
+										<text class="list_word" v-if="item.msg.data[0].data">{{
+								item.msg.data[0].data
+							  }}</text>
+										<text class="list_word" v-if="item.msg.type == 'img'">[图片]</text>
+										<text class="list_word" v-if="item.msg.type == 'audio'">[语音]</text>
+										<!-- <text class="list_word" v-if="item.msg.type == 'video'"
+								>[视频]</text
+							  > -->
+									</view>
+								</view>
+								<view class="list_right">
+									<text :data-username="item.username">{{ item.time }}</text>
+								</view>
+							</view>
+						</view>
+					</swipe-delete>
+				</view>
+		
+				<long-press-modal :winSize="winSize" :popButton="popButton" @change="pickerMenuChange"
+					:showPop="showPop" @hidePop="hidePop" :popStyle="popStyle" />
+				<view v-if="!arr" class="chat_noChat">
+					<image class="ctbg" src="/static/images/ctbg.png"></image>
+					暂无聊天消息
+				</view>
+				<!-- </view> -->
+			</scroll-view>
+			<!-- bug: margin-bottom 不生效 需要加一个空标签-->
+			<view style="height: 1px"></view>
+		
+			<view class="mask" @tap="close_mask" v-if="show_mask"></view>
+		
+			<!-- <view :class="isIPX ? 'chatRoom_tab_X' : 'chatRoom_tab'"> -->
+				<!-- <view class="tableBar">
+					<view v-if="unReadSpotNum > 0 || unReadSpotNum == '99+'"
+						:class="'em-unread-spot ' +(unReadSpotNum == '99+' ? 'em-unread-spot-litleFont' : '')">
+						{{ unReadSpotNum == '99+'?unReadSpotNum:unReadSpotNum+ unReadTotalNotNum }}</view>
+					<image :class="unReadSpotNum > 0 || unReadSpotNum == '99+' ? 'haveSpot' : ''"
+						src="@/static/images/sessionhighlight2x.png"></image>
+					<text class="activeText">消息</text>
+				</view>
+		
+				<view class="tableBar" @tap="tab_contacts">
+					<image src="/static/images/comtacts2x.png"></image>
+					<text>联系人</text>
+				</view> -->
+		
+				<!-- <view class="tableBar" @tap="tab_notification">
+			<view v-if="unReadTotalNotNum > 0" class="em-unread-spot">{{
+			  unReadTotalNotNum
+			}}</view>
+			<image
+			  :class="unReadTotalNotNum > 0 ? 'haveSpot' : ''"
+			  src="/static/images/notice.png"
+			></image>
+			<text>通知</text>
+		  </view> -->
+		
+				<!-- <view class="tableBar" @tap="tab_setting">
+				<image src="/static/images/setting2x.png"></image>
+				<text>我的</text>
+			</view> -->
+			<!-- </view> -->
+		</view>
 	</view>
 </template>
 
 <script>
+	let disp = require("@/utils/broadcast");
+	var WebIM = require("@/utils/WebIM")["default"];
+	let isfirstTime = true;
+	import swipeDelete from "@/components/swipedelete/swipedelete";
+	import longPressModal from "@/components/longPressModal/index";
 	import $api from '@/static/js/api.js'
 	var that = ''
 	export default {
@@ -46,14 +145,99 @@
 				page: 1,
 				total: 1,
 				notice_num: 0,
-				message_num:0
+				message_num:0,
+				search_btn: true,
+				search_chats: false,
+				show_mask: false,
+				yourname: "",
+				unReadSpotNum: 0,
+				unReadNoticeNum: 0,
+				messageNum: 0,
+				unReadTotalNotNum: 0,
+				arr: [],
+				show_clear: false,
+				member: "",
+				isIPX: false,
+				gotop: false,
+				input_code: "",
+				
+				groupName: {},
+				winSize: {},
+				popButton: ["删除该聊天"],
+				showPop: false,
+				popStyle: "",
+				currentVal: ''
 			}
 		},
+		components: {
+			swipeDelete,
+			longPressModal,
+		},
+		props: {},
+		
 		onLoad() {
 			that = this
+			this.getWindowSize();
+			this.getWindowSize();
+			
+			let me = this;
+			//监听加好友申请
+			disp.on("em.subscribe", function() {
+				me.getChatList();
+				/* me.setData({
+					messageNum: getApp().globalData.saveFriendList.length,
+					unReadTotalNotNum: getApp().globalData.saveFriendList.length +
+						getApp().globalData.saveGroupInvitedList.length,
+				}); */
+			});
+			
+			//监听解散群
+			disp.on("em.invite.deleteGroup", function() {
+				me.listGroups();
+				me.getRoster();
+				me.getChatList();
+				me.messageNum= getApp().globalData.saveFriendList.length
+			});
+			
+			//监听未读消息数
+			disp.on("em.unreadspot", function(message) {
+				me.getChatList();
+				me.unReadSpotNum= getApp().globalData.unReadMessageNum > 99 ?
+						"99+" :
+						getApp().globalData.unReadMessageNum
+			});
+			
+			//监听未读加群“通知”
+			disp.on("em.invite.joingroup", function() {
+				me.unReadNoticeNum= getApp().globalData.saveGroupInvitedList.length
+				me.unReadTotalNotNum= getApp().globalData.saveFriendList.length +
+					getApp().globalData.saveGroupInvitedList.length
+			});
+			
+			disp.on("em.contacts.remove", function() {
+				me.getChatList();
+				me.getRoster();
+			});
+			
+			this.getRoster();
 		},
 		onShow() {
 			that.getNum()
+			uni.hideHomeButton();
+			this.getChatList();
+			this.unReadSpotNum =
+				getApp().globalData.unReadMessageNum > 99 ?
+				"99+" :
+				getApp().globalData.unReadMessageNum
+			this.messageNum = getApp().globalData.saveFriendList.length
+			this.unReadNoticeNum = getApp().globalData.saveGroupInvitedList.length
+			this.unReadTotalNotNum =
+				getApp().globalData.saveFriendList.length +
+				getApp().globalData.saveGroupInvitedList.length
+			
+			if (getApp().globalData.isIPX) {
+				this.isIPX = true
+			}
 		},
 		methods: {
 			getNum() {
@@ -82,12 +266,417 @@
 					that.getList()
 				}
 				
-			}
+			},
+			listGroups() {
+				var me = this;
+				return WebIM.conn.getGroup({
+					limit: 50,
+					success: function(res) {
+						let groupName = {};
+						let listGroup = res.data || [];
+						listGroup.forEach((item) => {
+							groupName[item.groupid] = item.groupname;
+						});
+			
+						me.groupName= groupName,
+						uni.setStorage({
+							key: "listGroup",
+							data: res.data,
+						});
+						me.getChatList();
+					},
+					error: function(err) {
+						console.log(err);
+					},
+				});
+			},
+			
+			getRoster() {
+				let me = this;
+				let rosters = {
+					success(roster) {
+						var member = [];
+						for (let i = 0; i < roster.length; i++) {
+							if (roster[i].subscription == "both") {
+								member.push(roster[i]);
+							}
+						}
+						uni.setStorage({
+							key: "member",
+							data: member,
+						});
+						me.member= member
+						me.listGroups();
+						//if(!systemReady){
+						disp.fire("em.main.ready");
+						//systemReady = true;
+						//}
+						me.arr= me.getChatList(),
+						me.unReadSpotNum= getApp().globalData.unReadMessageNum > 99 ?
+							"99+" :
+							getApp().globalData.unReadMessageNum
+					},
+					error(err) {
+						console.log(err);
+					},
+				};
+				WebIM.conn.getRoster(rosters);
+			},
+			
+			// 包含陌生人版本
+			getChatList() {
+				var myName = uni.getStorageSync("myUsername");
+				var array = [];
+				const me = this;
+				uni.getStorageInfo({
+					success: function(res) {
+						let storageKeys = res.keys;
+						let newChatMsgKeys = [];
+						let historyChatMsgKeys = [];
+						let len = myName.length;
+						storageKeys.forEach((item) => {
+							if (item.slice(-len) == myName && item.indexOf("rendered_") == -1) {
+								newChatMsgKeys.push(item);
+							} else if (
+								item.slice(-len) == myName &&
+								item.indexOf("rendered_") > -1
+							) {
+								
+								historyChatMsgKeys.push(item);
+							} else if (item === "INFORM") {
+								newChatMsgKeys.push(item);
+							}
+						});
+			
+						cul.call(me, newChatMsgKeys, historyChatMsgKeys);
+					},
+				});
+			
+				function cul(newChatMsgKeys, historyChatMsgKeys) {
+					let array = [];
+					let lastChatMsg;
+					for (let i = historyChatMsgKeys.length; i > 0, i--;) {
+						let index = newChatMsgKeys.indexOf(historyChatMsgKeys[i].slice(9));
+						if (index > -1) {
+							let newChatMsgs = uni.getStorageSync(newChatMsgKeys[index]) || [];
+							if (newChatMsgKeys.includes()) {}
+							if (newChatMsgs.length) {
+								lastChatMsg = newChatMsgs[newChatMsgs.length - 1];
+								lastChatMsg.unReadCount = newChatMsgs.length;
+								if (lastChatMsg.unReadCount > 99) {
+									lastChatMsg.unReadCount = "99+";
+								}
+								let dateArr = lastChatMsg.time.split(" ")[0].split("-");
+								let timeArr = lastChatMsg.time.split(" ")[1].split(":");
+								let month = dateArr[2] < 10 ? "0" + dateArr[2] : dateArr[2];
+								lastChatMsg.dateTimeNum = `${dateArr[1]}${month}${timeArr[0]}${timeArr[1]}${timeArr[2]}`;
+								lastChatMsg.time = `${dateArr[1]}月${dateArr[2]}日 ${timeArr[0]}:${timeArr[1]}`;
+								newChatMsgKeys.splice(index, 1);
+							} else {
+								let historyChatMsgs = uni.getStorageSync(historyChatMsgKeys[i]);
+								if (historyChatMsgs.length) {
+									lastChatMsg = historyChatMsgs[historyChatMsgs.length - 1];
+									let dateArr = lastChatMsg.time.split(" ")[0].split("-");
+									let timeArr = lastChatMsg.time.split(" ")[1].split(":");
+									let month = dateArr[2] < 10 ? "0" + dateArr[2] : dateArr[2];
+									lastChatMsg.dateTimeNum =
+										`${dateArr[1]}${month}${timeArr[0]}${timeArr[1]}${timeArr[2]}`;
+									lastChatMsg.time = `${dateArr[1]}月${dateArr[2]}日 ${timeArr[0]}:${timeArr[1]}`;
+								}
+							}
+						} else {
+							let historyChatMsgs = uni.getStorageSync(historyChatMsgKeys[i]);
+							if (historyChatMsgs.length) {
+								lastChatMsg = historyChatMsgs[historyChatMsgs.length - 1];
+								let dateArr = lastChatMsg.time.split(" ")[0].split("-");
+								let timeArr = lastChatMsg.time.split(" ")[1].split(":");
+								let month = dateArr[2] < 10 ? "0" + dateArr[2] : dateArr[2];
+								lastChatMsg.dateTimeNum = `${dateArr[1]}${month}${timeArr[0]}${timeArr[1]}${timeArr[2]}`;
+								lastChatMsg.time = `${dateArr[1]}月${dateArr[2]}日 ${timeArr[0]}:${timeArr[1]}`;
+							}
+						}
+						if (
+							lastChatMsg &&
+							(lastChatMsg.chatType == "groupchat" ||
+								lastChatMsg.chatType == "chatRoom")
+						) {
+							lastChatMsg.groupName = me.groupName[lastChatMsg.info.to];
+						}
+						lastChatMsg && lastChatMsg.username != myName &&
+							array.push(lastChatMsg);
+					}
+			
+					for (let i = newChatMsgKeys.length; i > 0, i--;) {
+						let newChatMsgs = uni.getStorageSync(newChatMsgKeys[i]) || [];
+						if (newChatMsgs.length) {
+							lastChatMsg = newChatMsgs[newChatMsgs.length - 1];
+							lastChatMsg.unReadCount = newChatMsgs.length;
+							if (lastChatMsg.unReadCount > 99) {
+								lastChatMsg.unReadCount = "99+";
+							}
+							let dateArr = lastChatMsg.time.split(" ")[0].split("-");
+							let timeArr = lastChatMsg.time.split(" ")[1].split(":");
+							let month = dateArr[2] < 10 ? "0" + dateArr[2] : dateArr[2];
+							lastChatMsg.dateTimeNum = `${dateArr[1]}${month}${timeArr[0]}${timeArr[1]}${timeArr[2]}`;
+							lastChatMsg.time = `${dateArr[1]}月${dateArr[2]}日 ${timeArr[0]}:${timeArr[1]}`;
+							if (
+								lastChatMsg.chatType == "groupchat" ||
+								lastChatMsg.chatType == "chatRoom"
+							) {
+								lastChatMsg.groupName = me.groupName[lastChatMsg.info.to];
+							}
+							lastChatMsg.username != myName && array.push(lastChatMsg);
+						}
+					}
+			
+					array.sort((a, b) => {
+						return b.dateTimeNum - a.dateTimeNum;
+					});
+					
+					this.arr= array
+					console.log(this.arr);
+				}
+			},
+			
+			openSearch: function() {
+				this.search_btn= false
+				this.search_chats= true
+				this.gotop= true
+			},
+			
+			onSearch: function(val) {
+				let searchValue = val.detail.value;
+				var myName = uni.getStorageSync("myUsername");
+				const me = this;
+				let serchList = [];
+				let arr = [];
+				uni.getStorageInfo({
+					success: function(res) {
+						let storageKeys = res.keys;
+						let chatKeys = [];
+						let len = myName.length;
+						storageKeys.forEach((item) => {
+							if (item.slice(-len) == myName) {
+								chatKeys.push(item);
+							}
+						});
+						chatKeys.forEach((item, index) => {
+							if (item.indexOf(searchValue) != -1) {
+								serchList.push(item);
+							}
+						});
+						let lastChatMsg = "";
+						serchList.forEach((item, index) => {
+							let chatMsgs = uni.getStorageSync(item) || [];
+							if (chatMsgs.length) {
+								lastChatMsg = chatMsgs[chatMsgs.length - 1];
+			
+								let dateArr = lastChatMsg.time.split(" ")[0].split("-");
+								let timeArr = lastChatMsg.time.split(" ")[1].split(":");
+								let month = dateArr[2] < 10 ? "0" + dateArr[2] : dateArr[2];
+								lastChatMsg.dateTimeNum =
+									`${dateArr[1]}${month}${timeArr[0]}${timeArr[1]}${timeArr[2]}`;
+								lastChatMsg.time =
+									`${dateArr[1]}月${dateArr[2]}日 ${timeArr[0]}:${timeArr[1]}`;
+								arr.push(lastChatMsg);
+							}
+						});
+						me.arr = arr
+					},
+				});
+			},
+			leftClick() {},
+			cancel: function() {
+				this.getChatList();
+				this.search_btn= true
+				this.search_chats= false
+				//arr: this.getChatList(),
+				this.unReadSpotNum= getApp().globalData.unReadMessageNum > 99 ? "99+" : getApp().globalData.unReadMessageNum
+				this.gotop= false
+			},
+			clearInput: function() {
+				this.input_code= ""
+				this.show_clear= false
+			},
+			onInput: function(e) {
+				let inputValue = e.detail.value;
+				if (inputValue) {
+					this.show_clear= true
+				} else {
+					this.show_clear= false
+				}
+			},
+			tab_contacts: function() {
+				uni.redirectTo({
+					url: "../main/main?myName=" + uni.getStorageSync("myUsername"),
+				});
+			},
+			close_mask: function() {
+				this.search_btn= true
+				this.search_chats= false
+				this.show_mask= false
+			},
+			tab_setting: function() {
+				uni.redirectTo({
+					url: "../setting/setting",
+				});
+			},
+			tab_notification: function() {
+				uni.redirectTo({
+					url: "../notification/notification",
+				});
+			},
+			into_chatRoom: function(event) {
+				let detail = event.currentTarget.dataset.item;
+				if (
+					detail.chatType == "groupchat" ||
+					detail.chatType == "chatRoom" ||
+					detail.groupName
+				) {
+					this.into_groupChatRoom(detail);
+				} else {
+					this.into_singleChatRoom(detail);
+				}
+			},
+			// 单聊
+			into_singleChatRoom: function(detail) {
+				var my = uni.getStorageSync("myUsername");
+				var nameList = {
+					myName: my,
+					your: detail.username,
+				};
+				uni.navigateTo({
+					url: "/pages/chatroom/chatroom?username=" + JSON.stringify(nameList),
+				});
+			},
+			// 群聊 和 聊天室 (两个概念)
+			into_groupChatRoom: function(detail) {
+				var my = uni.getStorageSync("myUsername");
+				var nameList = {
+					myName: my,
+					your: detail.groupName,
+					groupId: detail.info.to,
+				};
+				uni.navigateTo({
+					url: "../groupChatRoom/groupChatRoom?username=" + JSON.stringify(nameList),
+				});
+			},
+			
+			into_inform: function() {
+				uni.redirectTo({
+					url: "../notification/notification",
+				});
+			},
+			
+			removeAndRefresh: function(event) {
+				let removeId = event.currentTarget.dataset.item.info.from
+				let ary = getApp().globalData.saveFriendList
+				let idx
+				if (ary.length > 0) {
+					ary.forEach((v, k) => {
+						if (v.from == removeId) {
+							idx = k
+						}
+					})
+					getApp().globalData.saveFriendList.splice(idx, 1);
+				}
+				uni.removeStorageSync('INFORM')
+			},
+			
+			del_chat: function(event) {
+				let detail = event.currentTarget.dataset.item;
+				let nameList = {};
+				let me = this;
+				// 删除当前选中群组聊天列表
+				if (detail.chatType == "groupchat" || detail.chatType == "chatRoom") {
+					nameList = {
+						your: detail.info.to,
+					};
+					//删除当前选中通知列表
+				} else if (detail.chatType === "INFORM") {
+					nameList = {
+						your: "INFORM",
+					};
+				}
+				//删除当前选中好友聊天列表
+				else {
+					nameList = {
+						your: detail.username,
+					};
+				}
+				var myName = uni.getStorageSync("myUsername");
+				var currentPage = getCurrentPages();
+			
+				uni.showModal({
+					title: "确认删除?",
+					confirmText: "删除",
+					success: function(res) {
+						if (res.confirm) {
+							uni.removeStorageSync(nameList.your + myName);
+							uni.removeStorageSync("rendered_" + nameList.your + myName);
+							nameList.your === 'INFORM' && me.removeAndRefresh(event);
+							// if (Object.keys(currentPage[0]).length>0) {
+							//   currentPage[0].onShow();
+							// }
+							disp.fire("em.chat.session.remove");
+							me.getChatList();
+						}
+					},
+					fail: function(err) {
+						console.log('删除列表', err);
+					},
+				});
+			},
+			longpress: function(e) {
+				//将当前选中的值存在data中方便后续操作
+				this.currentVal = e
+				let [touches, style, index] = [e.touches[0], "", e.currentTarget.dataset.index, ];
+			
+				/* 因 非H5端不兼容 style 属性绑定 Object ,所以拼接字符 */
+				if (touches.clientY > this.winSize.height / 2) {
+					style = `bottom:${this.winSize.height - touches.clientY}px;`;
+				} else {
+					style = `top:${touches.clientY}px;`;
+				}
+				if (touches.clientX > this.winSize.witdh / 2) {
+					style += `right:${this.winSize.witdh - touches.clientX}px`;
+				} else {
+					style += `left:${touches.clientX}px`;
+				}
+			
+				this.popStyle = style;
+				// this.pickerUserIndex = Number(index);
+				this.showShade = true;
+				this.$nextTick(() => {
+					setTimeout(() => {
+						this.showPop = true;
+					}, 10);
+				});
+			},
+			/* 获取窗口尺寸 */
+			getWindowSize() {
+				uni.getSystemInfo({
+					success: (res) => {
+						this.winSize = {
+							witdh: res.windowWidth,
+							height: res.windowHeight,
+						};
+					},
+				});
+			},
+			hidePop() {
+				this.showPop = false;
+			},
+			pickerMenuChange() {
+				console.log("当前选中>>", this.currentVal);
+				this.del_chat(this.currentVal)
+			},
 		},
 	}
 </script>
 
 <style lang="scss" scoped>
+	@import "./chat.css";
 	.content {
 		padding: 0 30rpx;
 		background-color: #fff;

+ 1 - 1
page_shop/pages/mine/cart.vue

@@ -26,7 +26,7 @@
 								<u-swipe-action-item :options="options2" @click="deleteCart(index,index2)" :autoClose="true">
 									<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>
+										<image :src="item2.show_image" mode="aspectFill" class="img"></image>
 										<view class="vflex img_right">
 											<view class="item_name text_hide" style="max-width: 450rpx;">{{item2.name}}</view>
 											<view class="norm">{{item2.goods_spec}}</view>

+ 3 - 0
page_shop/pages/mine/chat.css

@@ -137,8 +137,10 @@ page{
 	display: block;
 	width: 88rpx;
 	height: 88rpx;
+	border-radius: 50%;
 }
 .list_user,.list_user2{
+	max-width: 350rpx;
 	font-size: 34rpx;
 	color: #000;
 	position: relative;
@@ -147,6 +149,7 @@ page{
 	width: 350rpx;
 	display: inline-block;
 	text-overflow: ellipsis;
+	white-space: nowrap;
 }
 .list_user2{
 	top: 40rpx !important;

+ 1 - 86
page_shop/pages/mine/chat.vue

@@ -34,30 +34,6 @@
 				<view v-for="(item, index) in arr" :key="index" class="chat_list" :data-item="item" @tap.stop="del_chat"
 					@longpress="longpress">
 					<swipe-delete>
-						<!-- 通知模块 -->
-						<!-- <view class="tap_mask" @tap.stop="into_inform" :data-item="item"
-							v-if="item.chatType == 'INFORM'">
-							<view class="list_box">
-								<view class="list_left">
-									<view class="list_pic">
-										<view v-if="unReadTotalNotNum > 0" class="em-unread-spot2">{{
-								unReadTotalNotNum
-							  }}</view>
-										<image :class="unReadTotalNotNum > 0 ? 'haveSpot' : ''"
-											src="/static/images/inform.png"></image>
-									</view>
-									<view class="list_text">
-										<text class="list_user"> 系统通知 </text>
-										<text class="list_word"
-											v-if="item.chatType == 'INFORM'">申请通知来自:{{ item.info.from }}</text>
-									</view>
-								</view>
-								<view class="list_right">
-									<text :data-username="item.username">{{ item.time }}</text>
-								</view>
-							</view>
-						</view> -->
-
 						<view class="tap_mask" @tap.stop="into_chatRoom" :data-item="item">
 							<!-- 消息列表 -->
 							<view class="list_box">
@@ -70,13 +46,7 @@
 										<image :src="item.your.avatarurl?item.your.avatarurl:'/static/images/theme2x.png'"></image>
 									</view>
 									<view class="list_text">
-										<text class="list_user">{{
-								item.chatType == "groupchat" ||
-								item.chatType == "chatRoom" ||
-								item.groupName
-								  ? item.groupName
-								  : item.username
-							  }}</text>
+										<text class="list_user text_hide">{{item.your.nickname?item.your.nickname:item.username}}</text>
 										<text class="list_word" v-if="item.msg.data[0].data">{{
 								item.msg.data[0].data
 							  }}</text>
@@ -302,61 +272,6 @@
 				WebIM.conn.getRoster(rosters);
 			},
 
-			/* // // 不包含陌生人版本
-			// getChatList() {
-			//   var array = [];
-			//   var member = uni.getStorageSync("member");
-			//   var myName = uni.getStorageSync("myUsername");
-			//   var listGroups = uni.getStorageSync('listGroup') || [];
-
-			//   for (let i = 0; i < member.length; i++) {
-			//     let newChatMsgs = uni.getStorageSync(member[i].name + myName) || [];
-			//     let historyChatMsgs = uni.getStorageSync("rendered_" + member[i].name + myName) || [];
-			//     let curChatMsgs = historyChatMsgs.concat(newChatMsgs);
-
-			//     if (curChatMsgs.length) {
-			//       let lastChatMsg = curChatMsgs[curChatMsgs.length - 1];
-			//       lastChatMsg.unReadCount = newChatMsgs.length;
-
-			//       if (lastChatMsg.unReadCount > 99) {
-			//         lastChatMsg.unReadCount = "99+";
-			//       }
-
-			//       let dateArr = lastChatMsg.time.split(' ')[0].split('-');
-			//       let timeArr = lastChatMsg.time.split(' ')[1].split(':');
-			//       let month = dateArr[2] < 10 ? '0' + dateArr[2] : dateArr[2];
-			//       lastChatMsg.dateTimeNum = `${dateArr[1]}${month}${timeArr[0]}${timeArr[1]}${timeArr[2]}`;
-			//       lastChatMsg.time = `${dateArr[1]}月${dateArr[2]}日 ${timeArr[0]}:${timeArr[1]}`;
-			//       array.push(lastChatMsg);
-			//     }
-			//   }
-
-			//   for(let i = 0; i < listGroups.length; i++){
-			//  let newChatMsgs = uni.getStorageSync(listGroups[i].groupid + myName) || [];
-			//  let historyChatMsgs = uni.getStorageSync("rendered_" + listGroups[i].groupid + myName) || [];
-			//  let curChatMsgs = historyChatMsgs.concat(newChatMsgs);
-			//  if(curChatMsgs.length){
-			//    let lastChatMsg = curChatMsgs[curChatMsgs.length - 1];
-			//    lastChatMsg.unReadCount = newChatMsgs.length;
-			//    if(lastChatMsg.unReadCount > 99) {
-			//      lastChatMsg.unReadCount = "99+";
-			//    }
-			//    let dateArr = lastChatMsg.time.split(' ')[0].split('-')
-			//    let timeArr = lastChatMsg.time.split(' ')[1].split(':')
-			//    let month = dateArr[2] < 10 ? '0' + dateArr[2] : dateArr[2]
-			//    lastChatMsg.time = `${dateArr[1]}月${dateArr[2]}日 ${timeArr[0]}:${timeArr[1]}`
-			//    lastChatMsg.dateTimeNum = `${dateArr[1]}${month}${timeArr[0]}${timeArr[1]}${timeArr[2]}`
-			//    lastChatMsg.groupName = listGroups[i].groupname
-			//    array.push(lastChatMsg);
-			//  }
-			// }
-
-			//   array.sort((a, b) => {
-			//     return b.dateTimeNum - a.dateTimeNum;
-			//   });
-			//   return array;
-			// }, */
-
 			// 包含陌生人版本
 			getChatList() {
 				var myName = uni.getStorageSync("myUsername");

+ 4 - 4
page_shop/pages/mine/mine.vue

@@ -58,22 +58,22 @@
 				],
 				orderList: [
 					{
-						src: '/static/images/shop/order_icon1.png',
+						src: 'https://ship-expert.zhousi.hdlkeji.com/common/order_icon1.png',
 						name: '待付款',
 						id: 1,
 					},
 					{
-						src: '/static/images/shop/order_icon2.png',
+						src: 'https://ship-expert.zhousi.hdlkeji.com/common/order_icon2.png',
 						name: '待发货',
 						id: 2,
 					},
 					{
-						src: '/static/images/shop/order_icon3.png',
+						src: 'https://ship-expert.zhousi.hdlkeji.com/common/order_icon3.png',
 						name: '待收货',
 						id: 3,
 					},
 					{
-						src: '/static/images/shop/order_icon4.png',
+						src: 'https://ship-expert.zhousi.hdlkeji.com/common/order_icon4.png',
 						name: '退款/售后',
 						id: 4,
 					}

+ 10 - 0
page_shop/pages/mine/search.vue

@@ -77,8 +77,18 @@
 			if(!that.history) {
 				that.history = []
 			}
+			that.getHotList()
 		},
 		methods: {
+			getHotList() {
+				$api.req({
+					url: '/data/api.Goods/hotsearch'
+				}, function(res) {
+					if(res.code == 1) {
+						that.hotList = res.data	
+					}
+				})
+			},
 			search(e) {
 				that.page = 1
 				that.searchList = []

+ 4 - 4
page_shop/pages/order/apply.vue

@@ -124,13 +124,13 @@
 				typeList: [
 					{
 						name: '仅退款',
-						icon1: '/static/images/comment/select2.png',
-						icon2: '/static/images/comment/select1.png',
+						icon1: 'https://ship-expert.zhousi.hdlkeji.com/common/select2.png',
+						icon2: 'https://ship-expert.zhousi.hdlkeji.com/common/select1.png',
 					},
 					{
 						name: '退货退款',
-						icon1: '/static/images/comment/select2.png',
-						icon2: '/static/images/comment/select1.png',
+						icon1: 'https://ship-expert.zhousi.hdlkeji.com/common/select2.png',
+						icon2: 'https://ship-expert.zhousi.hdlkeji.com/common/select1.png',
 					}
 				],
 				stateList: [

+ 36 - 9
page_shop/pages/order/detail.vue

@@ -57,7 +57,7 @@
 								<view class="offer_btn" v-else-if="!item.user_order.amount" @click="toOffer(index)">立即报价</view>
 							</view>
 						</view>
-						<view class="hflex acenter jbetween offer" v-if="item.status == 3 && pageData.tab == 1">
+						<view class="hflex acenter jbetween offer" v-if="item.status == 3 && pageData.tab == 1 && item.offer_id == item.user_order.id">
 							<view class="hflex acenter">
 								<view class="offer_title">订单报价:</view>
 								<view class="offer_text2" style="color: #999999;" v-if="item.offer_id != item.user_order.id">不可报价</view>
@@ -69,9 +69,35 @@
 								<view class="offer_btn" v-if="item.offer_id == item.user_order.id" @click="open(index,-1)">下载文件</view>
 							</view>
 						</view>
+						<view class="hflex acenter jbetween offer" v-if="item.offer_id != item.user_order.id && pageData.tab == 1 && item.user_order &&item.status == 3">
+							<view class="hflex acenter">
+								<view class="offer_title">订单报价:</view>
+								<view class="offer_text" v-if="item.user_order.amount">{{item.user_order.amount}}</view>
+								<view class="offer_text2" v-else>暂未报价</view>
+							</view>
+							<view class="hflex acenter">
+								<view class="offer_btn" @click="toOffer(index)">查看详情</view>
+								<!-- <view class="offer_btn offer_btn1" v-if="item.offer_id != item.user_order.id">已匹配</view>
+								<view class="offer_btn" v-if="item.offer_id == item.user_order.id" @click="open(index,-1)">下载文件</view> -->
+							</view>
+						</view>
+						<view class="hflex acenter jbetween offer" v-if="item.status == 3 && pageData.tab == 1 && !item.user_order">
+							<view class="hflex acenter">
+								<view class="offer_title">订单报价:</view>
+								<view class="offer_text" v-if="item.user_order">{{item.user_order.amount}}</view>
+								<view class="offer_text2" v-else>暂未报价</view>
+							</view>
+							<view class="hflex acenter">
+								<view class="offer_btn offer_btn1" v-if="item.offer_id != item.user_order.id">已匹配</view>
+							</view>
+								<!-- <view class="offer_btn offer_btn1" v-if="item.offer_id != item.user_order.id">已匹配</view>
+								<view class="offer_btn" v-if="item.offer_id == item.user_order.id" @click="open(index,-1)">下载文件</view>
+							</view>
+						</view>
 						<!-- <view class="hflex acenter jend offer" v-if="!item.user_order && item.status==3">
 							<view class="offer_btn" v-if="item.status==3" @click="open(index,-1)">下载文件</view>
 						</view> -->
+						</view>
 					</block>
 				</view>
 				<view class="text_style1 cell" v-if="pageData.standard_tech"><span class="label">生产技术标准:</span>{{pageData.standard_tech}}</view>
@@ -82,9 +108,10 @@
 						<view class="offer_text" v-if="pageData.user_order.amount">{{pageData.user_order.amount}}</view>
 						<view class="offer_text2" v-else>暂未报价</view>
 					</view>
-					<view class="offer_btn" v-if="pageData.user_order.amount && pageData.offer_id == pageData.user_order.id" @click="toOffer(-1)">查看详情</view>
-					<view class="offer_btn offer_btn1" v-if="pageData.status == 3 && pageData.offer_id != pageData.user_order.id">已匹配</view>
-					<view class="offer_btn" v-if="!pageData.user_order.amount" @click="toOffer(-1)">立即报价</view>
+					<view class="offer_btn" v-if="pageData.user_order.amount || pageData.offer_id == pageData.user_order.id" @click="toOffer(-1)">查看详情</view>
+					<view class="offer_btn offer_btn1" v-else-if="pageData.status == 3 && pageData.offer_id != pageData.user_order.id" @click="toOffer(-1)">查看详情</view>
+					<view class="offer_btn offer_btn1" v-else-if="pageData.status == 3 && !pageData.user_order.amount">已匹配</view>
+					<view class="offer_btn" v-else-if="!pageData.user_order.amount" @click="toOffer(-1)">立即报价</view>
 				</view>
 				<view class="text_style2" v-if="pageData.post_address">交货地址:{{pageData.post_address}}</view>
 				<view class="text_style2" v-if="pageData.post_time">交货日期:{{pageData.post_time}}</view>
@@ -107,7 +134,7 @@
 		<view class="" v-if="pageData.type == 2">
 			<view class="bottom hflex acenter jbetween" v-if="pageData.tab != 1 && pageData.status == 3">
 				<view class="left_btn hflex acenter jcenter" @click="open(index1,-1)">
-					<image src="/static/images/comment/down-blue.png" style="width: 44rpx;height: 44rpx;margin-right: 8rpx;"></image>
+					<image src="https://ship-expert.zhousi.hdlkeji.com/common/down-blue.png" style="width: 44rpx;height: 44rpx;margin-right: 8rpx;"></image>
 					<view>下载文件</view>
 				</view>
 				<view class="right_btn hflex acenter jcenter" @click="chat">查看回复</view>
@@ -116,7 +143,7 @@
 		<view v-else>
 			<view class="bottom hflex acenter jbetween" v-if="pageData.tab != 1 && pageData.status == 3">
 				<view class="left_btn hflex acenter jcenter" style="width: 100%;" @click="open(index1,-1)">
-					<image src="/static/images/comment/down-blue.png" style="width: 44rpx;height: 44rpx;margin-right: 8rpx;"></image>
+					<image src="https://ship-expert.zhousi.hdlkeji.com/common/down-blue.png" style="width: 44rpx;height: 44rpx;margin-right: 8rpx;"></image>
 					<view>下载文件</view>
 				</view>
 			</view>
@@ -126,7 +153,7 @@
 				<view class="popu_top hflex acenter jbetween">
 					<view></view>
 					<view class="popu_title">下载文件</view>
-					<image src="/static/images/comment/close.png" style="width: 32rpx;height: 32rpx;" @click="close"></image>
+					<image src="https://ship-expert.zhousi.hdlkeji.com/common/close.png" style="width: 32rpx;height: 32rpx;" @click="close"></image>
 				</view>
 				<view class="file_bg hflex acenter" v-if="index2 != -1">
 					<image :src="pageData.items[index1].enclosure[index2].icon" class="file_icon"></image>
@@ -154,7 +181,7 @@
 					<u-input v-model="offer" placeholder="填写你的报价" border="none"></u-input>
 				</view>
 				<view class="hflex acenter">
-					<image src="/static/images/comment/icon_tips.png" style="width: 24rpx;height: 24rpx;padding-right: 6rpx"></image>
+					<image src="https://ship-expert.zhousi.hdlkeji.com/common/icon_tips.png" style="width: 24rpx;height: 24rpx;padding-right: 6rpx"></image>
 					<view class="popup_info">报价可先不填,可等评估后再填写</view>
 				</view>
 				<view class="input_bg hflex acenter" v-if="tab == 2 || tab == 3">
@@ -175,7 +202,7 @@
 				</view>
 				<view class="hflex acenter" style="padding-bottom: 20rpx;">
 					<view class="price">上传图片及资质证明图片</view>
-					<image src="/static/images/comment/icon_tips.png" style="width: 24rpx;height: 24rpx;padding-right: 6rpx"></image>
+					<image src="https://ship-expert.zhousi.hdlkeji.com/common/icon_tips.png" style="width: 24rpx;height: 24rpx;padding-right: 6rpx"></image>
 					<view class="popup_info">最多上传9张图片</view>
 				</view>
 				<u-upload :fileList="fileList1" @afterRead="afterRead" @delete="deletePic" name="1" multiple :maxCount="9"></u-upload>

+ 5 - 0
page_shop/pages/order/list.vue

@@ -267,6 +267,11 @@
 				that.cancel_show = true
 			},
 			pay(index) {
+				var openid = uni.getStorageSync('openid1')
+				if(!openid) {
+					$api.info("登录验证有误,请重新登录")
+					return
+				}
 				$api.req({
 					url: '/data/api.auth.Center/channel',
 					method: 'POST',

+ 8 - 7
page_shop/pages/order/offer.vue

@@ -1,17 +1,17 @@
 <template>
 	<view class="content">
-		<view v-if="pageData.user_order">
+		<view v-if="pageData.user_order && pageData.statue != 3">
 			<view class="box">
 				<view class="title">报价记录</view>
 				<block v-for="(item,index) in pageData.user_order.amounts" :key="index">
 					<view class="offer_detail hflex acenter" v-if="item.user_id == userId">
 						<view class="offer_left">第{{index + 1}}次报价</view>
-						<view class="offer_money">{{item.amount}}</view>
+						<view class="offer_money">{{item.amount?item.amount:'暂无报价'}}</view>
 					</view>
 				</block>
 			</view>
 		</view>
-		<view v-else>
+		<view v-else-if="!pageData.user_order && pageData.item[index].statue != 3">
 			<view class="box">
 				<view class="title">报价记录</view>
 				<block v-for="(item,index1) in pageData.items[index].user_order.amounts" :key="index1">
@@ -22,6 +22,7 @@
 				</block>
 			</view>
 		</view>
+		
 		<view class="box" v-if="pageData.tab == 1 && pageData.items[index].status !=3">
 			<view class="title">订单报价</view>
 			<view class="input hflex acenter">
@@ -79,11 +80,11 @@
 			</view>
 		</view>
 		<view v-if="pageData.user_order">
-			<view class="box" v-if="pageData.offer_id == item.user_order.id">
+			<view class="box" v-if="pageData.status == 3">
 				<view class="title">报价信息</view>
 				<view class="hflex acenter cell" >
 					<view class="left">价格</view>
-					<view class="right" style="font-size: 32rpx;color: #222222;">{{money}}</view>
+					<view class="right" style="font-size: 32rpx;color: #222222;">{{money?money:'暂无报价'}}</view>
 				</view>
 				<view class="hflex acenter cell" v-if="lead_time">
 					<view class="left">货期</view>
@@ -115,12 +116,12 @@
 				</block>
 			</view>
 		</view>
-		<view class="" v-else>
+		<view class="" v-if="pageData.items[index].user_order">
 			<view class="box" v-if="pageData.items[index].status == 3">
 				<view class="title">报价信息</view>
 				<view class="hflex acenter cell" >
 					<view class="left">价格</view>
-					<view class="right" style="font-size: 32rpx;color: #222222;">{{money}}</view>
+					<view class="right" style="font-size: 32rpx;color: #222222;">{{money?money:'暂无报价'}}</view>
 				</view>
 				<view class="hflex acenter cell" v-if="lead_time">
 					<view class="left">货期</view>

+ 5 - 0
page_shop/pages/order/orderdetail.vue

@@ -302,6 +302,11 @@
 			},
 			// 确认付款
 			payOrder() {
+				var openid = uni.getStorageSync('openid1')
+				if(!openid) {
+					$api.info("登录验证有误,请重新登录")
+					return
+				}
 				$api.req({
 					url: '/data/api.auth.Center/channel',
 					method: 'POST',

+ 1 - 1
page_shop/pages/order/paySuccess.vue

@@ -36,7 +36,7 @@
 			},
 			// 查看订单
 			toDetail() {
-				$api.jump('/page_shop/pages/order/detail?id=' + that.id)
+				$api.jump('/page_shop/pages/order/orderdetail?id=' + that.id)
 			},
 		},
 	}

+ 1 - 1
page_shop/pages/order/refundDetail.vue

@@ -60,7 +60,7 @@
 				<view class="hflex acenter jbetween popu_top">
 					<view></view>
 					<view class="popu_title">填写快递信息</view>
-					<image src="/static/images/comment/close.png" style="width: 48rpx;height: 48rpx;"></image>
+					<image src="https://ship-expert.zhousi.hdlkeji.com/common/close.png" style="width: 48rpx;height: 48rpx;"></image>
 				</view>
 				<u-input v-model="company.express_name" border="none" placeholder="请填写快递公司名称"></u-input>
 				<u-input v-model="company.express_no" border="none" placeholder="请填写快递单号"></u-input>

+ 2 - 2
page_shop/pages/order/repairDetail.vue

@@ -120,13 +120,13 @@
 		</view>
 		<view class="bottom" v-if="pageData.status !== 1">
 			<view class="btn hflex acenter jcenter" v-if="type == 1 && pageData.status == 3"  @click="openDown">
-				<image src="/static/images/comment/down-fff.png" style="width: 33rpx; height: 33rpx;"></image>
+				<image src="https://ship-expert.zhousi.hdlkeji.com/common/down-fff.png" style="width: 33rpx; height: 33rpx;"></image>
 				<view>下载文件</view>
 			</view>
 			<view class="btn hflex acenter jcenter" :class="active == -1 ? 'btn1' : ''" v-if="type == 1 && pageData.status == 2" @click="match">匹配维修工</view>
 			<view class="hflex acenter jcenter" v-if="type == 2">
 				<view class="left_btn hflex acenter jcenter" @click="openDown">
-					<image src="/static/images/comment/down-blue.png" style="width: 33rpx; height: 33rpx;"></image>
+					<image src="https://ship-expert.zhousi.hdlkeji.com/common/down-blue.png" style="width: 33rpx; height: 33rpx;"></image>
 					<view>下载文件</view>
 				</view>
 				<view class="right_btn hflex acenter jcenter" @click="toChat(item.repair_id,index)">查看回复</view>

+ 1 - 1
page_shop/pages/order/repairDetail2.vue

@@ -96,7 +96,7 @@
 		<view class="bottom">
 			<view class="hflex acenter jcenter" v-if="pageData.repair.status == 3">
 				<view class="left_btn hflex acenter jcenter" @click="openDown">
-					<image src="/static/images/comment/down-blue.png" style="width: 33rpx; height: 33rpx;"></image>
+					<image src="https://ship-expert.zhousi.hdlkeji.com/common/down-blue.png" style="width: 33rpx; height: 33rpx;"></image>
 					<view>下载文件</view>
 				</view>
 				<view class="right_btn hflex acenter jcenter" @click="toChat(pageData.repair.id)">查看回复</view>

+ 14 - 7
page_shop/pages/service/applyMaintenance.vue

@@ -37,7 +37,7 @@
 					<view class="img_title">身份证人像面照片</view>
 					<view class="upload_img hflex acenter jcenter">
 						<u-upload :fileList="userInfo.fileList1" @afterRead="afterRead" @delete="deletePic" :maxCount="1" name="1" multiple :previewFullImage="true" width="550rpx" height="324rpx">
-							<image src="/static/images/comment/upload-just.png" style="width: 550rpx;height: 324rpx;"></image>
+							<image src="https://ship-expert.zhousi.hdlkeji.com/common/upload-just.png" style="width: 550rpx;height: 324rpx;"></image>
 						</u-upload>
 					</view>
 				</view>
@@ -45,7 +45,7 @@
 					<view class="img_title">身份证国徽面照片</view>
 					<view class="upload_img hflex acenter jcenter">
 						<u-upload :fileList="userInfo.fileList2" @afterRead="afterRead" @delete="deletePic" :maxCount="1" name="2" multiple :previewFullImage="true" width="550rpx" height="324rpx">
-							<image src="/static/images/comment/upload-back.png" style="width: 550rpx;height: 324rpx;"></image>
+							<image src="https://ship-expert.zhousi.hdlkeji.com/common/upload-back.png" style="width: 550rpx;height: 324rpx;"></image>
 						</u-upload>
 					</view>
 				</view>
@@ -59,7 +59,7 @@
 					<view class="img_title">营业执照(必填)</view>
 					<view class="upload_img hflex acenter jcenter">
 						<u-upload :fileList="userInfo.fileList3" @afterRead="afterRead" @delete="deletePic" :maxCount="1" name="3" multiple :previewFullImage="true" width="550rpx" height="324rpx">
-							<image src="/static/images/comment/upload-business.png" style="width: 550rpx;height: 324rpx;"></image>
+							<image src="https://ship-expert.zhousi.hdlkeji.com/common/upload-business.png" style="width: 550rpx;height: 324rpx;"></image>
 						</u-upload>
 					</view>
 				</view>
@@ -67,7 +67,7 @@
 					<view class="img_title">厂家授权(非必填)</view>
 					<view class="upload_img hflex acenter jcenter">
 						<u-upload :fileList="userInfo.fileList4" @afterRead="afterRead" @delete="deletePic" :maxCount="1" name="4" multiple :previewFullImage="true" width="550rpx" height="324rpx">
-							<image src="/static/images/comment/upload-business.png" style="width: 550rpx;height: 324rpx;"></image>
+							<image src="https://ship-expert.zhousi.hdlkeji.com/common/upload-business.png" style="width: 550rpx;height: 324rpx;"></image>
 						</u-upload>
 					</view>
 				</view>
@@ -82,19 +82,19 @@
 			</view>
 			<view v-if="current == 2" class="box vflex acenter jcenter">
 				<view v-if="state == 1" class="vflex acenter jcenter">
-					<image src="/static/images/comment/wait.png" class="box1_img"></image>
+					<image src="https://ship-expert.zhousi.hdlkeji.com/common/wait.png" class="box1_img"></image>
 					<view class="box1_title">审核中</view>
 					<view class="box1_subTitle">预计审核时间3个工作日</view>
 					<view class="box1_subTitle">请留意当前页面变动</view>
 					<view class="btn" @click="result">返回</view>
 				</view>
 				<view v-if="state == 2" class="vflex acenter jcenter">
-					<image src="/static/images/comment/wait.png" class="box1_img"></image>
+					<image src="https://ship-expert.zhousi.hdlkeji.com/common/wait.png" class="box1_img"></image>
 					<view class="box1_title">已通过</view>
 					<view class="btn" @click="result">返回</view>
 				</view>
 				<view v-if="state == 3" class="vflex acenter jcenter">
-					<image src="/static/images/comment/error.png" class="box1_img"></image>
+					<image src="https://ship-expert.zhousi.hdlkeji.com/common/error.png" class="box1_img"></image>
 					<view class="box1_title">审核失败</view>
 					<view class="box1_subTitle">驳回原因</view>
 					<view class="box1_subTitle">{{reason}}<span style="color: #506dff;margin-left: 8rpx;" @click="edit">立即修改></span></view>
@@ -298,6 +298,10 @@
 				}
 			},
 			submit() {
+				uni.showLoading({
+					title: '上传中',
+					mask: true
+				})
 				var u = that.userInfo
 				// that.current = that.current + 1
 				if ($api.formCheck(that.fileList3,'required') && $api.formCheck(that.userInfo.achievement,'required')) {
@@ -324,8 +328,11 @@
 							$api.info(res.info)
 							that.current = that.current + 1
 						}
+						uni.hideLoading()
 					})
 					
+				} else {
+					uni.hideLoading()
 				}
 			},
 			edit() {

+ 25 - 11
page_shop/pages/service/demand.vue

@@ -59,8 +59,8 @@
 						<view class="label">营业执照照片</view>
 						<view class="upload hflex acenter jcenter">
 							<u-upload :fileList="fileList3" @afterRead="afterRead" @delete="deletePic" :maxCount="1" name="3" multiple :previewFullImage="true" width="530rpx" height="324rpx">
-								<image src="/static/images/comment/upload-business.png" style="width: 530rpx;height: 324rpx;"></image>
-								<image class="upload_img" src="/static/images/comment/upload-top.png"></image>
+								<image src="https://ship-expert.zhousi.hdlkeji.com/common/upload-business.png" style="width: 530rpx;height: 324rpx;"></image>
+								<image class="upload_img" src="https://ship-expert.zhousi.hdlkeji.com/common/upload-top.png"></image>
 							</u-upload>
 						</view>
 					</view>
@@ -68,12 +68,12 @@
 						<view class="label">身份证正反面</view>
 						<view class="hflex acenter jbetween" style="margin-top: 28rpx;">
 							<u-upload :fileList="fileList4" @afterRead="afterRead" @delete="deletePic" :maxCount="1" name="4" multiple :previewFullImage="true" width="310rpx" height="188rpx">
-								<image src="/static/images/comment/upload-just.png" style="width: 310rpx;height: 188rpx;"></image>
+								<image src="https://ship-expert.zhousi.hdlkeji.com/common/upload-just.png" style="width: 310rpx;height: 188rpx;"></image>
 							</u-upload>
 							<view class="upload2">
 								<u-upload :fileList="fileList5" @afterRead="afterRead" @delete="deletePic" :maxCount="1" name="5" multiple :previewFullImage="true" width="310rpx" height="188rpx">
-									<image src="/static/images/comment/upload-back.png" style="width: 310rpx;height: 188rpx;"></image>
-									<image class="upload_img2" src="/static/images/comment/upload-top.png"></image>
+									<image src="https://ship-expert.zhousi.hdlkeji.com/common/upload-back.png" style="width: 310rpx;height: 188rpx;"></image>
+									<image class="upload_img2" src="https://ship-expert.zhousi.hdlkeji.com/common/upload-top.png"></image>
 								</u-upload>
 							</view>
 						</view>
@@ -127,6 +127,8 @@
 				is_write1: 0,
 				is_write2: 0,
 				purchase: {
+					description: '',
+					hidden: false
 				},
 				repair: {},
 				fileList1: [],
@@ -151,13 +153,14 @@
 					}
 				}, function(res) {
 					if(res.code == 1) {
-						if(JSON.stringify(res.data) == "[]" &&that.tab_active == 0) {
+						console.log(!res.data);
+						if(!res.data &&that.tab_active == 0) {
 							that.is_write1 = 0
 						} 
-						if(JSON.stringify(res.data) !== "[]" &&that.tab_active == 0) {
+						if(res.data &&that.tab_active == 0) {
 							that.is_write1 = 1
 							that.purchase = res.data
-							if(that.purchase.hidden == 2) {
+							if(res.data.hidden == 2) {
 								that.purchase.hidden = false
 							} else {
 								that.purchase.hidden = true
@@ -302,7 +305,9 @@
 				})	 
 			},
 			publish() {
+				
 				var imgs = ''
+				var imgs2 = ''
 				if(that.fileList2.length == 1) {
 					imgs = that.fileList2[0].url
 				} else if (that.fileList2.length > 1) {
@@ -313,13 +318,22 @@
 							imgs += that.fileList2[i].url + ','
 						}
 					}
-				} 
+				} else if(that.fileList2.length == 0) {
+					$api.info('请上传证书')
+					return 
+				}
+				if(that.fileList1.length == 0) {
+					$api.info('请上传营业执照或身份证')
+					return 
+				} else {
+					imgs2 = that.fileList1[0].url
+				}
 				$api.req({
 					url: '/data/api.auth.Center/subpurchaseacceptance',
 					method: 'POST',
 					data: {
-						description	: that.purchase.description,
-						business_img: that.fileList1[0].url,
+						description	: that.purchase? that.purchase.description : '',
+						business_img: imgs2,
 						imgs: imgs,
 						hidden: that.purchase.hidden?2:1,
 						province: uni.getStorageSync('location').province,

+ 63 - 37
page_shop/pages/service/joinPerson.vue

@@ -2,7 +2,7 @@
 	<view class="content">
 		<view class="" v-if="state == 0 || state == 2">
 			<view class="top hflex acenter" v-if="state == 2">
-				<image src="/static/images/comment/person.png" class="top_img"></image>
+				<image src="https://ship-expert.zhousi.hdlkeji.com/common/person.png" class="top_img"></image>
 				<view class="top_text">你已成功加入人才库</view>
 			</view>
 			<view class="box" style="margin-top: 20rpx;">
@@ -106,8 +106,8 @@
 				<view class="box_title">资质证书</view>
 				<view class="box_subTitle">至少上传一张专业证书(包含毕业证书),证书请完整展示姓名,证书名称,证书日期及有效期</view>
 				<view class="upload">
-					<u-upload :fileList="userInfo.imgList" @afterRead="afterRead" @delete="deletePic" :maxCount="10" name="1" multiple :previewFullImage="true" width="110" height="110">
-						<image src="/static/images/comment/upload.png" style="width: 220rpx;height: 220rpx;"></image>
+					<u-upload :fileList="userInfo.fileList1" @afterRead="afterRead" @delete="deletePic" :maxCount="9" name="1" multiple width="100" height="100">
+						<image src="https://ship-expert.zhousi.hdlkeji.com/common/upload.png" style="width: 200rpx;height: 200rpx;"></image>
 					</u-upload>
 				</view>
 				<view class="bottom" v-if="state == 0">
@@ -116,14 +116,14 @@
 			</view>
 		</view>
 		<view class="box1 vflex acenter" v-if="state == 1">
-			<image src="/static/images/comment/wait.png" class="box1_img"></image>
+			<image src="https://ship-expert.zhousi.hdlkeji.com/common/wait.png" class="box1_img"></image>
 			<view class="box1_title">审核中</view>
 			<view class="box1_subTitle">预计审核时间3个工作日</view>
 			<view class="box1_subTitle">请留意当前页面变动</view>
 			<view class="btn" @click="result">返回</view>
 		</view>
 		<view class="box1 vflex acenter" v-if="state == 3">
-			<image src="/static/images/comment/error.png" class="box1_img"></image>
+			<image src="https://ship-expert.zhousi.hdlkeji.com/common/error.png" class="box1_img"></image>
 			<view class="box1_title">审核失败</view>
 			<view class="box1_subTitle">驳回原因</view>
 			<view class="box1_subTitle">{{reason}}<span style="color: #506dff;margin-left: 8rpx;" @click="edit">立即修改></span></view>
@@ -159,8 +159,8 @@
 					skill: '',	//技能
 					title: '',	//职称
 					title_id: '',
-					work: '',	//工作经历
-					imgList: [],	//资质证明
+					work: [],	//工作经历
+					fileList1: [],	//资质证明
 					train: '',	//培训经历
 				},
 				sexList: ['男','女'],
@@ -168,16 +168,17 @@
 				educationList: ['初中及以下','中专/中技','高中','大专','本科','硕士','博士'],
 				titleList: [],
 				state: 0,	//0 未加入,1 待审核,2 审核成功, 3审核失败
-				reason: '资料填写不完整',	//驳回原因
+				reason: '',	//驳回原因
 			}
 		},
 		onLoad() {
 			that = this
 			that.getzclist()
 			that.getageList()
+			that.getPrepage()
 		},
 		onShow() {
-			that.getPrepage()
+			that.getWork()
 		},
 		methods: {
 			getPrepage() {
@@ -192,11 +193,11 @@
 							that.userInfo = {
 								name: pooltalent.name,	//姓名
 								sex: pooltalent.sex,	//性别
-								age: pooltalent.age,	//年龄
+								age: pooltalent.age?pooltalent.age:'',	//年龄
 								place: pooltalent.jg,	//籍贯
 								phone: pooltalent.phone,	//电话
 								email: pooltalent.email,	//邮箱
-								region: pooltalent.province + pooltalent.city + pooltalent.area,	//所在地区
+								region: pooltalent.province? pooltalent.province + pooltalent.city + pooltalent.area:'',	//所在地区
 								province: pooltalent.province,
 								city:pooltalent.city,
 								area: pooltalent.area,
@@ -207,8 +208,8 @@
 								education: pooltalent.xl,	//学历
 								specialty: pooltalent.tc,	//特长
 								skill: pooltalent.jn,	//技能
-								title: pooltalent.zc.name,	//职称
-								title_id: pooltalent.zc.id,
+								title: pooltalent.zc?pooltalent.zc.name:'',	//职称
+								title_id: pooltalent.zc?pooltalent.zc.id:'',
 								work: pooltalent.gzll,	//工作经历
 								train: pooltalent.pxjl,
 								id: pooltalent.id
@@ -218,18 +219,18 @@
 							for(let key in imgs) {
 								obj[key] = imgs[key]
 							}
-							var imgList = Object.keys(obj).map(item => ({
+							var fileList1 = Object.keys(obj).map(item => ({
 								url: obj[item]
 							}))
-							for(let i in imgList) {
-								console.log(imgList[i].url.length);
-								if(imgList[i].url.length <= 1) {
-									console.log(imgList[i]);
-									imgList.splice(i, 1)
+							for(let i in fileList1) {
+								console.log(fileList1[i].url.length);
+								if(fileList1[i].url.length <= 1) {
+									console.log(fileList1[i]);
+									fileList1.splice(i, 1)
 								}
 							}
-							that.userInfo.imgList = imgList
-							
+							that.userInfo.fileList1 = fileList1
+							console.log(that.userInfo.fileList1);
 							that.state = pooltalent.audit
 							that.reason = pooltalent.why
 						}
@@ -247,6 +248,18 @@
 					}
 				})
 			},
+			getWork() {
+				var data = uni.getStorageSync('work_experience')
+				if(!data) {
+					return
+				}
+				var work = {
+					content: JSON.parse(data)
+				}
+				that.userInfo.work.push(work)
+				// console.log(that.userInfo.work);
+				uni.removeStorageSync('work_experience')
+			},
 			getageList() {
 				for(var i=18;i<=60;i++) {
 					that.ageList.push(i)
@@ -278,9 +291,8 @@
 			},
 			// 删除图片
 			deletePic(event) {
-				console.log(event);
-				that.userInfo.imgList.splice(event.index, 1)
-				console.log(that.userInfo.imgList);
+				this.userInfo[`fileList${event.name}`].splice(event.index, 1)
+				this.$forceUpdate()
 			},
 			// 新增图片
 			async afterRead(event) {
@@ -290,27 +302,29 @@
 				})
 				// 当设置 multiple 为 true 时, file 为数组格式,否则为对象格式
 				let lists = [].concat(event.file)
-				let imgListLen = that.userInfo.imgList.length
+				let fileListLen = this.userInfo[`fileList${event.name}`].length
 				lists.map((item) => {
-					that.userInfo.imgList.push({
+					this.userInfo[`fileList${event.name}`].push({
 						...item,
 						status: 'uploading',
 						message: '上传中'
 					})
 				})
 				for (let i = 0; i < lists.length; i++) {
-					const result = await that.uploadFilePromise(lists[i].url)
-					let item = that.userInfo.imgList[imgListLen]
-					that.userInfo.imgList.splice(imgListLen, 1, Object.assign(item, {
+					const result = await this.uploadFilePromise(lists[i].url)
+					let item = this.userInfo[`fileList${event.name}`][fileListLen]
+					this.userInfo[`fileList${event.name}`].splice(fileListLen, 1, Object.assign(item, {
 						status: 'success',
 						message: '',
 						url: result.url
 					}))
-					imgListLen++
+					fileListLen++
 					if(lists.length - 1 == i) {
 						uni.hideLoading()
 					}
 				}
+				console.log(that.userInfo.fileList1);
+				this.$forceUpdate()
 			},
 			// 上传图片
 			uploadFilePromise(url) {
@@ -354,15 +368,24 @@
 			},
 			// 提交
 			submit() {
+				uni.showLoading({
+					title: '上传中',
+					mask: true
+				})
 				var u = that.userInfo
 				var zz_imgs = ""
-				if ($api.formCheck(u.name,'truename') && $api.formCheck(u.sex,'required') && $api.formCheck(u.age,'required') && $api.formCheck(u.phone,'mobile') && $api.formCheck(u.email,'email')) {
-					if(u.imgList.length > 0) {
-						for(var i=0;i<u.imgList.length;i++) {
-							if(i == u.imgList.length - 1) {
-								zz_imgs += u.imgList[i].url
+				
+ 				if ($api.formCheck(u.name,'truename') && $api.formCheck(u.sex,'required') && $api.formCheck(u.age,'required') && $api.formCheck(u.phone,'mobile') && $api.formCheck(u.email,'email')) {
+					if(u.fileList1.length == 0) {
+						$api.info('请上传资质证书!')
+						return
+					}
+					if(u.fileList1.length > 0) {
+						for(var i=0;i<u.fileList1.length;i++) {
+							if(i == u.fileList1.length - 1) {
+								zz_imgs += u.fileList1[i].url
 							} else {
-								zz_imgs += u.imgList[i].url + ','
+								zz_imgs += u.fileList1[i].url + ','
 							}
 						}
 					}
@@ -398,8 +421,11 @@
 							that.state = 1
 							// $api.jump('/pages/tabbar/mine/mine',3)
 						}
+						uni.hideLoading()
 					})
-				} 
+				} else {
+					uni.hideLoading()
+				}
 			}
 		},
 	}

+ 8 - 0
page_shop/pages/service/perfect.vue

@@ -100,6 +100,10 @@
 			},
 			// 保存
 			save() {
+				uni.showLoading({
+					title: '上传中',
+					mask: true
+				})
 				if($api.formCheck(that.experience.content.company_name,"required") && $api.formCheck(that.experience.content.position_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.job_description,"required")) {
 					var work_experience = {
@@ -110,6 +114,7 @@
 						job_description: that.experience.content.job_description
 					}
 					work_experience = JSON.stringify(work_experience)
+					uni.setStorageSync('work_experience',work_experience)
 					console.log(that.id);
 					$api.req({
 						url: '/data/api.auth.Center/adduppooltalentchild',
@@ -119,6 +124,7 @@
 							content: work_experience
 						}
 					}, function(res) {
+						uni.hideLoading()
 						if(res.code == 1) {
 							/* if(that.id) {
 								var pages = getCurrentPages()
@@ -142,6 +148,8 @@
 							$api.jump(-1)
 						}
 					})
+				} else {
+					uni.hideLoading()
 				}
 				
 			},

+ 11 - 3
page_shop/pages/service/release.vue

@@ -142,7 +142,7 @@
 		</block>
 		<block v-if="state == 1">
 			<view class="box1 vflex acenter">
-				<image src="/static/images/comment/wait.png" class="box1_img"></image>
+				<image src="https://ship-expert.zhousi.hdlkeji.com/common/wait.png" class="box1_img"></image>
 				<view class="box1_title">审核中</view>
 				<view class="box1_subTitle">预计审核时间3个工作日</view>
 				<view class="box1_subTitle">请留意当前页面变动</view>
@@ -151,7 +151,7 @@
 		</block>
 		<block v-if="state == 3">
 			<view class="box1 vflex acenter">
-				<image src="/static/images/comment/wait.png" class="box1_img"></image>
+				<image src="https://ship-expert.zhousi.hdlkeji.com/common/wait.png" class="box1_img"></image>
 				<view class="box1_title">审核失败</view>
 				<view class="box1_subTitle">驳回原因:</view>
 				<view class="box1_subTitle">{{why}}</view>
@@ -355,7 +355,11 @@
 			},
 			// 发布
 			publish() {
-				if($api.formCheck(that.IDNumber, 'identity') && $api.formCheck(that.phone, 'mobile') && $api.formCheck(that.code, 'code4')) {
+				uni.showLoading({
+					title:"上传中",
+					mask:true
+				})
+				if($api.formCheck(that.IDNumber, 'identity') && $api.formCheck(that.phone, 'mobile') && $api.formCheck(that.code, 'code6')) {
 					$api.req({
 						url: '/data/api.auth.DemandLabor/applyjob',
 						method: 'POST',
@@ -375,6 +379,7 @@
 									code: that.code
 								}
 							}, function(res) {
+								uni.hideLoading()
 								if(res.code == 1) {
 									$api.info(res.info)
 									that.close()
@@ -391,6 +396,8 @@
 					})
 					
 					
+				} else {
+					uni.hideLoading()
 				}
 			},
 			// 打开弹窗
@@ -415,6 +422,7 @@
 					})
 					$api.req({
 						url: '/data/api.Login/sendsms',
+						method: 'POST',
 						data: {
 							phone: that.phone,
 							type: 4

+ 11 - 3
page_shop/pages/service/settledMerchants.vue

@@ -51,7 +51,7 @@
 					<view class="left" style="width: 60%;">上传营业执照</view>
 					<view class="upload_img vflex acenter jcenter">
 						<u-upload :fileList="info.fileList3" @afterRead="afterRead" @delete="deletePic" :maxCount="1" name="3" multiple :previewFullImage="true" width="550rpx" height="324rpx">
-							<image src="/static/images/comment//upload-business.png" style="width: 550rpx;height: 324rpx;"></image>
+							<image src="https://ship-expert.zhousi.hdlkeji.com/common//upload-business.png" style="width: 550rpx;height: 324rpx;"></image>
 						</u-upload>
 						<view class="hflex acenter ">
 							<u-icon name="camera" color="#999999" size="16"></u-icon>
@@ -72,7 +72,7 @@
 		</view>
 		<view v-if="state == 1">
 			<view class="box1 vflex acenter jcenter">
-				<image src="/static/images/comment/wait.png" class="box1_img"></image>
+				<image src="https://ship-expert.zhousi.hdlkeji.com/common/wait.png" class="box1_img"></image>
 				<view class="box1_title">审核中</view>
 				<view class="box1_subTitle">预计审核时间3个工作日</view>
 				<view class="box1_subTitle">请留意当前页面变动</view>
@@ -81,7 +81,7 @@
 		</view>
 		<view v-if="state == 3">
 			<view class="box1 vflex acenter jcenter">
-				<image src="/static/images/comment/error.png" class="box1_img"></image>
+				<image src="https://ship-expert.zhousi.hdlkeji.com/common/error.png" class="box1_img"></image>
 				<view class="box1_title">审核失败</view>
 				<view class="box1_subTitle">驳回原因</view>
 				<view class="box1_subTitle">{{reason}}<span style="color: #506dff;margin-left: 8rpx;" @click="edit">立即修改></span></view>
@@ -336,6 +336,10 @@
 				that.agree = !that.agree
 			},
 			settled() {
+				uni.showLoading({
+					title: '上传中',
+					mask: true
+				})
 				var business_img = ""
 				if ($api.formCheck(that.info.name,'required')&&$api.formCheck(that.addressObj.address,'required')&&$api.formCheck(that.info.contacts,'required')&&$api.formCheck(that.info.phone,'phone')&&$api.formCheck(that.info.introduction,'required')) {
 					if(that.agree) {
@@ -364,6 +368,7 @@
 								id: that.info.id?that.info.id: ''
 							}
 						}, function(res) {
+							uni.hideLoading()
 							if(res.code == 1) {
 								$api.info(res.info)
 								that.state = 1
@@ -371,7 +376,10 @@
 						})
 					}else {
 						$api.info('请先阅读并同意《商家入驻规则》')
+						uni.hideLoading()
 					}
+				} else {
+					uni.hideLoading()
 				}
 			},
 			edit() {

+ 11 - 3
page_shop/pages/service/settledShipyard.vue

@@ -59,7 +59,7 @@
 					<view class="img_title">上传营业执照</view>
 					<view class="upload_img vflex acenter jcenter">
 						<u-upload :fileList="info.fileList3" @afterRead="afterRead" @delete="deletePic" :maxCount="1" name="3" multiple :previewFullImage="true" width="550rpx" height="324rpx">
-							<image src="/static/images/comment/upload-business.png" style="width: 550rpx;height: 324rpx;"></image>
+							<image src="https://ship-expert.zhousi.hdlkeji.com/common/upload-business.png" style="width: 550rpx;height: 324rpx;"></image>
 						</u-upload>
 						<view class="hflex acenter ">
 							<u-icon name="camera" color="#999999" size="16"></u-icon>
@@ -80,7 +80,7 @@
 		</view>
 		<view v-if="state == 1">
 			<view class="box1 vflex acenter jcenter">
-				<image src="/static/images/comment/wait.png" class="box1_img"></image>
+				<image src="https://ship-expert.zhousi.hdlkeji.com/common/wait.png" class="box1_img"></image>
 				<view class="box1_title">审核中</view>
 				<view class="box1_subTitle">预计审核时间3个工作日</view>
 				<view class="box1_subTitle">请留意当前页面变动</view>
@@ -89,7 +89,7 @@
 		</view>
 		<view v-if="state == 3">
 			<view class="box1 vflex acenter jcenter">
-				<image src="/static/images/comment/error.png" class="box1_img"></image>
+				<image src="https://ship-expert.zhousi.hdlkeji.com/common/error.png" class="box1_img"></image>
 				<view class="box1_title">审核失败</view>
 				<view class="box1_subTitle">驳回原因</view>
 				<view class="box1_subTitle">{{reason}}<span style="color: #506dff;margin-left: 8rpx;" @click="edit">立即修改></span></view>
@@ -350,6 +350,10 @@
 				that.agree = !that.agree
 			},
 			settled() {
+				uni.showLoading({
+					title: '提交中',
+					mask: true
+				})
 				var business_img = ""
 				console.log(that.fileList2);
 				if ($api.formCheck(that.info.name,'required')&&$api.formCheck(that.addressObj.address,'required')&&$api.formCheck(that.info.fileList1,'required')&&$api.formCheck(that.info.contacts,'required')&&$api.formCheck(that.info.phone,'phone')&&$api.formCheck(that.info.introduction,'required')) {
@@ -376,6 +380,7 @@
 								id: that.info.id?that.info.id: ''
 							}
 						}, function(res) {
+							uni.hideLoading()
 							if(res.code == 1) {
 								$api.info(res.info)
 								that.state = 1
@@ -383,7 +388,10 @@
 						})
 					}else {
 						$api.info('请先阅读并同意《船厂入驻规则》')
+						uni.hideLoading()
 					}
+				} else {
+					uni.hideLoading()
 				}
 			},
 			edit() {

+ 1 - 0
page_shop/pages/setting/editpwd.vue

@@ -36,6 +36,7 @@
 						}, function(res) {
 							if(res.code == 1) {
 								console.log(res);
+								$api.info('修改成功')
 							}
 						})
 					} else {

+ 1 - 1
page_shop/pages/wallet/wallet.vue

@@ -79,7 +79,7 @@
 			height: 284rpx;
 			box-sizing: border-box;
 			padding: 25rpx 0;
-			background: url('/static/images/comment/bg.png') no-repeat;
+			background: url('https://ship-expert.zhousi.hdlkeji.com/common/bg1.png') no-repeat;
 			background-size: 100%;
 			.text1 {
 				box-sizing: border-box;

+ 0 - 0
static/images/mine/avatar1.png → page_shop/static/image/mine/avatar1.png


+ 0 - 0
static/images/mine/balance.png → page_shop/static/image/mine/balance.png


+ 0 - 0
static/images/mine/bg.png → page_shop/static/image/mine/bg.png


BIN
page_shop/static/image/mine/btn_right.png


+ 0 - 0
static/images/mine/collect.png → page_shop/static/image/mine/collect.png


BIN
page_shop/static/image/mine/huiyuan.png


+ 0 - 0
static/images/mine/member_bg.png → page_shop/static/image/mine/member_bg.png


BIN
page_shop/static/image/mine/member_icon.png


BIN
page_shop/static/image/mine/message.png


BIN
page_shop/static/image/mine/message1.png


BIN
page_shop/static/image/mine/notice.png


+ 0 - 0
static/images/mine/order1.png → page_shop/static/image/mine/order1.png


+ 0 - 0
static/images/mine/order2.png → page_shop/static/image/mine/order2.png


+ 0 - 0
static/images/mine/order3.png → page_shop/static/image/mine/order3.png


+ 0 - 0
static/images/mine/order4.png → page_shop/static/image/mine/order4.png


+ 0 - 0
static/images/mine/order5.png → page_shop/static/image/mine/order5.png


BIN
page_shop/static/image/mine/real-bg.png


+ 0 - 0
static/images/mine/service1.png → page_shop/static/image/mine/service1.png


+ 0 - 0
static/images/mine/service2.png → page_shop/static/image/mine/service2.png


+ 0 - 0
static/images/mine/service3.png → page_shop/static/image/mine/service3.png


+ 0 - 0
static/images/mine/service4.png → page_shop/static/image/mine/service4.png


+ 0 - 0
static/images/mine/service5.png → page_shop/static/image/mine/service5.png


+ 0 - 0
static/images/mine/service6.png → page_shop/static/image/mine/service6.png


+ 0 - 0
static/images/mine/service7.png → page_shop/static/image/mine/service7.png


+ 0 - 0
static/images/mine/service8.png → page_shop/static/image/mine/service8.png


BIN
page_shop/static/image/mine/tips_yellow.png


BIN
page_shop/static/image/mine/vip_bg.png


BIN
page_shop/static/image/mine/vip_bg2.png


+ 6 - 5
pages/chatroom/chatroom.vue

@@ -31,12 +31,13 @@ export default {
 	let title = ''
 	uni.WebIM.conn.fetchUserInfoById(username.your, 'nickname').then((res) => {
 	    title = res.data[username.your].nickname
+		uni.setNavigationBarTitle({
+		  title: title
+		});
 	})
-    uni.setNavigationBarTitle({
-      title: title
-    });
-	this.getList()
-	this.getUser()
+    
+	/* this.getList()
+	this.getUser() */
   },
 
   onUnload() {

+ 4 - 3
pages/login/code_login.vue

@@ -67,8 +67,9 @@
 					})
 					$api.req({
 						url: '/data/api.Login/sendsms',
+						method: 'POST',
 						data: {
-							phone: that.userInfo.phone,
+							phone: that.userInfo.name,
 							type: 1
 						}
 					}, function(res) {
@@ -110,7 +111,7 @@
 			},
 			// 登录
 			login() {
-				if ($api.formCheck(that.userInfo.name,"phone") && $api.formCheck(that.code, "code4")) {
+				if ($api.formCheck(that.userInfo.name,"phone") && $api.formCheck(that.code, "code6")) {
 					if (!that.agree) {
 						$api.info('请先阅读并同意用户协议和隐私协议')
 					} else {
@@ -165,10 +166,10 @@
 																  }).then((res2) => {
 																    console.log("login success",res2);
 																    wx.setStorageSync("myUsername",res.data.huanxinID)
-																	$api.jump('/pages/tabbar/mine/mine',3)
 																  }).catch((reason) => {
 																    console.log("login fail", reason);
 																  });
+																  $api.jump('/pages/tabbar/mine/mine',3)
 															}
 														})
 													}

+ 3 - 2
pages/login/forgot_pwd.vue

@@ -68,8 +68,9 @@
 					})
 					$api.req({
 						url: '/data/api.Login/sendsms',
+						method: 'POST',
 						data: {
-							phone: that.userInfo.phone,
+							phone: that.userInfo.name,
 							type: 3
 						}
 					}, function(res) {
@@ -87,7 +88,7 @@
 			},
 			// 提交
 			submit() {
-				if ($api.formCheck(that.userInfo.name,"require") && $api.formCheck(that.userInfo.password, "password") && $api.formCheck(that.code, "code4")) {
+				if ($api.formCheck(that.userInfo.name,"require") && $api.formCheck(that.userInfo.password, "password") && $api.formCheck(that.code, "code6")) {
 					$api.req({
 						url: '/data/api.Login/findpwd',
 						method: 'POST',

+ 1 - 2
pages/login/password_login.vue

@@ -128,19 +128,18 @@
 															if(res.code == 1) {
 																wx.setStorageSync("token",res.data.token)
 																wx.setStorageSync("id",res.data.id)
-																$api.jump('/pages/tabbar/mine/mine',3)
 																var options = { 
 																  user: res.data.huanxinID,
 																  pwd: '12345678',
 																  appKey: uni.WebIM.config.appkey,
 																  success: function (res2) {
 																	wx.setStorageSync("myUsername",res.data.huanxinID)
-																	$api.jump('/pages/tabbar/mine/mine',3)
 																  },
 																  error: function(){
 																  }
 																};
 																uni.WebIM.conn.open(options);
+																$api.jump('/pages/tabbar/mine/mine',3)
 															} else {
 																$api.info(res.info)
 															}

+ 12 - 28
pages/login/register.vue

@@ -53,7 +53,7 @@
 				tips: '',
 				agree: false,
 				pwd_type: 'password',
-				show_pwd: false,
+				show: false,
 				showProtocol: false,
 				protocolTitle: '',
 				protocolContent: '',
@@ -68,6 +68,14 @@
 			}
 		},
 		methods: {
+			// 查看密码
+			show_pwd() {
+				if(that.pwd_type == 'text') {
+					that.pwd_type = 'password'
+				} else {
+					that.pwd_type = 'text'
+				}
+			},
 			// 验证码文字
 			codeChange(text) {
 				that.tips = text
@@ -80,6 +88,7 @@
 					})
 					$api.req({
 						url: '/data/api.Login/sendsms',
+						method: 'POST',
 						data: {
 							phone: that.userInfo.phone,
 							type: 2
@@ -122,7 +131,7 @@
 			},
 			// 提交
 			submit() {
-				if ($api.formCheck(that.userInfo.name,"required") && $api.formCheck(that.userInfo.phone,"phone") && $api.formCheck(that.userInfo.code, "code4") && $api.formCheck(that.userInfo.password,"password")) {
+				if ($api.formCheck(that.userInfo.name,"required") && $api.formCheck(that.userInfo.phone,"phone") && $api.formCheck(that.userInfo.code, "code6") && $api.formCheck(that.userInfo.password,"password")) {
 					if (!that.agree) {
 						$api.info('请先阅读并同意用户协议和隐私协议')
 					} else {
@@ -140,32 +149,7 @@
 							if(res.code == 1) {
 								wx.setStorageSync("token",res.data.token)
 								wx.setStorageSync("id",res.data.id)
-								var options = { 
-								    username: res.data.id,
-								    password: '123456',
-								    nickname: res.data.nickname,
-								    appKey: uni.WebIM.config.appkey,
-								    success: function () {
-										$api.jump('/pages/tabbar/mine/mine',3)
-									},  
-								    error: function (err) {
-								        let errorData = JSON.parse(err.data);
-								        if (errorData.error === 'duplicate_unique_property_exists') {
-								            console.log('用户已存在!');
-								        } else if (errorData.error === 'illegal_argument') {
-								            if (errorData.error_description === 'USERNAME_TOO_LONG') {
-								                console.log('用户名超过64个字节!')
-								            }else{
-								                console.log('用户名不合法!')
-								            }
-								        } else if (errorData.error === 'unauthorized') {
-								            console.log('注册失败,无权限!')
-								        } else if (errorData.error === 'resource_limited') {
-								            console.log('您的App用户注册数量已达上限,请升级至企业版!')
-								        }
-								    }, 
-								}; 
-								uni.WebIM.conn.registerUser(options);
+								$api.jump('/pages/tabbar/mine/mine',3)
 								// uni.WebIM.conn.registerUser({
 								// 	/** 用户 ID。 */
 								// 	username: res.data.id,

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

@@ -55,7 +55,7 @@
 			<news-module :pageList="pageList" @toDetail="toNews"></news-module>
 		</view>
 		<!-- <view class="boxs" v-else>
-			<u-empty icon="/static/images/comment/zhan.png" text="暂时没有数据哦">
+			<u-empty icon="https://ship-expert.zhousi.hdlkeji.com/common/zhan.png" text="暂时没有数据哦">
 		</view> -->
 	</view>
 </template>

+ 28 - 18
pages/tabbar/mine/mine.vue

@@ -3,7 +3,7 @@
 		<view class="hflex acenter jbetween user">
 			<view class="hflex acenter" v-if="!login">
 				<view class="avatar_box">
-					<image src="/static/images/mine/avatar1.png" mode="aspectFill" class="avatar"></image>
+					<image src="https://ship-expert.zhousi.hdlkeji.com/common/avatar1.png" mode="aspectFill" class="avatar"></image>
 				</view>
 				<view class="hflex acenter" @click="toLogin">
 					<view class="text_style1">立即登录</view>
@@ -92,6 +92,7 @@
 <script>
 	import $api from '@/static/js/api.js'
 	var that = ''
+	const app = getApp()
 	export default {
 		data() {
 			return {
@@ -100,74 +101,74 @@
 				order: [
 					{
 						id: 1,
-						img: '/static/images/mine/order1.png',
+						img: 'https://ship-expert.zhousi.hdlkeji.com/common/order1.png',
 						text: '生产订单',
 						url: '/page_shop/pages/order/production'
 					},
 					{
 						id: 2,
-						img: '/static/images/mine/order2.png',
+						img: 'https://ship-expert.zhousi.hdlkeji.com/common/order2.png',
 						text: '外协订单',
 						url: '/page_shop/pages/order/outsourcing'
 					},
 					{
 						id: 3,
-						img: '/static/images/mine/order3.png',
+						img: 'https://ship-expert.zhousi.hdlkeji.com/common/order3.png',
 						text: '采购订单',
 						url: '/page_shop/pages/order/purchase'
 					},
 					{
 						id: 4,
-						img: '/static/images/mine/order4.png',
+						img: 'https://ship-expert.zhousi.hdlkeji.com/common/order4.png',
 						text: '海运订单',
 						url: '/page_shop/pages/order/oceanShipping'
 					},
 					{
 						id: 5,
-						img: '/static/images/mine/order5.png',
+						img: 'https://ship-expert.zhousi.hdlkeji.com/common/order5.png',
 						text: '维修订单',
 						url: '/page_shop/pages/order/repair'
 					},
 				],
 				serviceList: [
 					{
-						img: '/static/images/mine/service1.png',
+						img: 'https://ship-expert.zhousi.hdlkeji.com/common/service1.png',
 						text: '加入人才库',
 						url: '/page_shop/pages/service/joinPerson'
 					},
 					{
-						img: '/static/images/mine/service2.png',
+						img: 'https://ship-expert.zhousi.hdlkeji.com/common/service2.png',
 						text: '成为维修工',
 						url: '/page_shop/pages/service/applyMaintenance'
 					},
 					{
 						url: '/page_shop/pages/service/settledShipyard',
-						img: '/static/images/mine/service3.png',
+						img: 'https://ship-expert.zhousi.hdlkeji.com/common/service3.png',
 						text: '入驻船厂',
 					},
 					{
 						url: '/page_shop/pages/service/settledMerchants',
-						img: '/static/images/mine/service4.png',
+						img: 'https://ship-expert.zhousi.hdlkeji.com/common/service4.png',
 						text: '入驻商家',
 					},
 					{
 						url: '/page_shop/pages/setting/realname',
-						img: '/static/images/mine/service5.png',
+						img: 'https://ship-expert.zhousi.hdlkeji.com/common/service5.png',
 						text: '实名认证',
 					},
 					{
 						url: '/page_shop/pages/service/release',
-						img: '/static/images/mine/service6.png',
+						img: 'https://ship-expert.zhousi.hdlkeji.com/common/service6.png',
 						text: '我的发布',
 					},
 					{
 						url: '/page_shop/pages/service/demand',
-						img: '/static/images/mine/service7.png',
+						img: 'https://ship-expert.zhousi.hdlkeji.com/common/service7.png',
 						text: '我的需求',
 					},
 					{
 						url: '/page_shop/pages/service/feed/feedback',
-						img: '/static/images/mine/service8.png',
+						img: 'https://ship-expert.zhousi.hdlkeji.com/common/service8.png',
 						text: '意见反馈',
 					},
 				],
@@ -208,11 +209,20 @@
 					if(res.code == 1) {
 						that.user = res.data
 						uni.setStorageSync('maintenance', false)
+						uni.setStorageSync('myUsername', res.data.huanxinID)
+						uni.setStorageSync('openid1', res.data.openid1)
 						if(that.user.maintenance) {
 							if(that.user.maintenance.audit == 2) {
 								uni.setStorageSync('maintenance', true)
 							}
 						}
+						app.HXlogin()
+						
+						let option = {
+						    nickname: res.data.nickname,
+						    avatarurl: res.data.headimg,
+						}
+						uni.WebIM.conn.updateOwnUserInfo(option);
 					} else {
 						that.login = false
 						that.user = {}
@@ -306,7 +316,7 @@
 							if(that.user.is_auth == 1) {
 								url = that.serviceList[index].url
 							} else {
-								url = '/page_shop/pages/setting/webview?url=' + encodeURIComponent('https://ship-expert.zhousi.hdlkeji.com/h5/#/?token=' + uni.getStorageSync('token').token)
+								url = '/page_shop/pages/setting/webview?url=' + encodeURIComponent('https://ship-expert.zhousi.hdlkeji.com/aliH5/h5/#/?token=' + uni.getStorageSync('token').token)
 							}
 						 break;
 						case 5:
@@ -332,7 +342,7 @@
 
 <style lang="scss" scoped>
 	.content {
-		background:url('/static/images/mine/bg.png') no-repeat;
+		background:url('https://ship-expert.zhousi.hdlkeji.com/common/bg.png') no-repeat;
 		background-size: 100%;
 		padding: 0 30rpx;
 		.user {
@@ -449,7 +459,7 @@
 			width: 100%;
 			margin-bottom: 20rpx;
 			.box_left {
-				background: url('/static/images/mine/balance.png') no-repeat;
+				background: url('https://ship-expert.zhousi.hdlkeji.com/common/balance.png') no-repeat;
 				background-size: 100%;
 				box-sizing: border-box;
 				padding: 16rpx 24rpx;
@@ -466,7 +476,7 @@
 				}
 			}
 			.box_right {
-				background: url('/static/images/mine/collect.png') no-repeat;
+				background: url('https://ship-expert.zhousi.hdlkeji.com/common/collect.png') no-repeat;
 				background-size: 100%;
 				box-sizing: border-box;
 				padding: 16rpx 24rpx;

+ 16 - 15
pages/tabbar/shipyard/detail.vue

@@ -71,12 +71,12 @@
 				<view class="text_style1">收藏</view>	
 			</view>	
 			<view class="vflex acenter" @click="share('Poster1')">
-				<image src="/static/images/comment/share.png" mode="" class="bottom_img"></image>	
+				<image src="https://ship-expert.zhousi.hdlkeji.com/common/share.png" mode="" class="bottom_img"></image>	
 				<view class="text_style1">分享</view>	
 			</view>	
 			<view class="bottom_btn" @click="into_chatroom">私信聊聊</view>
 		</view>
-		<scroll-view class="share_content" :scroll-y="true" :class="share_show?'':'share_content1'">
+		<view class="share_content" :class="share_show?'':'share_content1'">
 			<!-- <view style="width: 100%;height: 168rpx;"></view> -->
 			<view class="share_box vflex Poster1">
 				<text class="share_name Poster1" style="margin: 40rpx 0 28rpx;" :data-enode="pageData.name">{{pageData.name}}</text>
@@ -86,36 +86,36 @@
 				<view class="share_text Poster1" style="margin: 0 0 42rpx;" data-etype="textarea" :data-enode="pageData.product_intro">{{pageData.product_intro}}</view>
 				<view class="hflex acenter share_text jcenter Poster1" style=" margin: 0 190rpx 12rpx;" data-enode="长按或扫码查看">长按或扫码查看</view>
 				<view style="width: 100%;" class="vflex acenter jcenter">
-					<image class="Poster1" style="width: 25rpx;height: 20rpx;" :data-enode="style.img1" data-etype="image" :src="style.img1"></image>
-					<image class="Poster1" style="width: 100%;height: 2rpx;margin: 30rpx 0;" :data-enode="style.img2" data-etype="image" :src="style.img2"></image>
+					<image class="Poster1" style="width: 25rpx;height: 20rpx;" :data-enode="style.img1" data-etype="image" :src="style.img1" shape="10"></image>
+					<image class="Poster1" style="width: 100%;height: 2rpx;margin: 30rpx 0;" :data-enode="style.img2" data-etype="image" :src="style.img2" shape="10"></image>
 				</view>
 				<view class="hflex acenter jbetween">
 					<view class="vflex">
 						<view class="share_name Poster1" style="margin: 54rpx 0 20rpx;" data-enode="船百知">船百知</view>
 						<view class="share_text Poster1" style="margin: 0 0 36rpx;" data-enode="船百知伴你一起杨帆启航,驶向成功彼岸">船百知伴你一起杨帆启航,驶向成功彼岸</view>
 					</view>
-					<!-- <image class="Poster1" data-etype="image" :data-enode="pageData.img" :src="pageData.img" style="width: 136rpx;height: 136rpx;"></image> -->
+					<image class="Poster1" data-etype="image" :data-enode="style.code" :src="style.code" style="width: 136rpx;height: 136rpx;" shape="10"></image>
 				</view>
 			</view>
-			<evils-el-poster width="325" height="467" @on-error="onError" :list="list" backgroundColor="rgba(0, 0, 0,0)" @on-success="onSuccess" ref="Eposter"></evils-el-poster>
+			<evils-el-poster width="325" height="467" @on-error="onError" :list="list" backgroundColor="rgb(255,255,255)" @on-success="onSuccess" ref="Eposter"></evils-el-poster>
 			<view class="share_bottom">
-				<view class="hflex acenter jbetween">
+				<view class="hflex acenter jcenter">
 					<button class="vflex acenter jcenter bottom_item" open-type="share">
-						<image src="/static/images/comment/wx.png" class="item_icon"></image>
+						<image src="https://ship-expert.zhousi.hdlkeji.com/common/wx.png" class="item_icon"></image>
 						<view class="item_text">微信好友</view>
 					</button>
 					<!-- <button class="vflex acenter jcenter bottom_item" open-type="share">
-						<image src="/static/images/comment/moments.png" class="item_icon"></image>
+						<image src="https://ship-expert.zhousi.hdlkeji.com/common/moments.png" class="item_icon"></image>
 						<view class="item_text">朋友圈</view>
 					</button> -->
 					<view class="vflex acenter jcenter bottom_item" @click="saveImg">
-						<image src="/static/images/comment/download.png" class="item_icon"></image>
+						<image src="https://ship-expert.zhousi.hdlkeji.com/common/download.png" class="item_icon"></image>
 						<view class="item_text">保存图片</view>
 					</view>
 				</view>
 				<view class="share_cancel" @click="close">取消</view>
 			</view>
-		</scroll-view>
+		</view>
 	</view>
 </template>
 
@@ -127,8 +127,9 @@
 			return {
 				list: [],
 				style: {
-					img1: '/static/images/comment/down2.png',
-					img2: '/static/images/comment/line.png',
+					img1: 'https://ship-expert.zhousi.hdlkeji.com/common/down2.png',
+					img2: 'https://ship-expert.zhousi.hdlkeji.com/common/line.png',
+					code: 'https://ship-expert.zhousi.hdlkeji.com/common/code.jpg'
 				},
 				pageData: {
 				},
@@ -202,7 +203,7 @@
 				$api.req({
 					url: '/data/api.ShipYard/jobs',
 					data: {
-						id: that.id
+						shipyard_id: that.id
 					}
 				}, function(res) {
 					that.pageList = res.data.data
@@ -304,7 +305,7 @@
 	.content {
 		position: relative;
 		.top {
-			background: url('../../../static/images/comment/nav_bg.png') no-repeat;
+			background: url('https://ship-expert.zhousi.hdlkeji.com/common/nav_bg.png') no-repeat;
 			background-size: 100%;
 			box-sizing: border-box;
 			padding: 30rpx;

+ 1 - 1
pages/tabbar/shipyard/news.vue

@@ -25,7 +25,7 @@
 			<news-module :pageList="pageList" @toDetail="toDetail"></news-module>
 		</view>
 		<!-- <view class="boxs" v-else>
-			<u-empty icon="/static/images/comment/zhan.png" text="暂时没有数据哦">
+			<u-empty icon="https://ship-expert.zhousi.hdlkeji.com/common/zhan.png" text="暂时没有数据哦">
 		</view> -->
 	</view>
 </template>

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

@@ -32,7 +32,7 @@
 				</block>
 			</view>
 			<!-- <view  v-else>
-				<u-empty icon="/static/images/comment/zhan.png" text="暂时没有数据哦">
+				<u-empty icon="https://ship-expert.zhousi.hdlkeji.com/common/zhan.png" text="暂时没有数据哦">
 			</view> -->
 		</view>
 	</view>

+ 3 - 3
pages/tabbar/shop/shop.vue

@@ -47,10 +47,10 @@
 		<view class="suspension">
 			<view @click="toCart" class="img_box">
 				<u-badge numberType="overflow" max="99" :value="cart_num"></u-badge>
-				<image src="/static/images/shop/cart.png" class="susp_icon"></image>
+				<image src="https://ship-expert.zhousi.hdlkeji.com/common/cart.png" class="susp_icon"></image>
 			</view>
 			<view @click="toCenter">
-				<image src="/static/images/shop/center.png" class="susp_icon"></image>
+				<image src="https://ship-expert.zhousi.hdlkeji.com/common/center.png" class="susp_icon"></image>
 			</view>
 		</view>
 	</view>
@@ -229,7 +229,7 @@
 
 <style lang="scss" scoped>
 	.content::v-deep {
-		background: url('/static/images/shop/shop_bg.png') #F5F5F5 no-repeat;
+		background: url('https://ship-expert.zhousi.hdlkeji.com/common/shop_bg.png') #F5F5F5 no-repeat;
 		background-size: 100%;
 		padding: 0 30rpx;
 		position: relative;

+ 3 - 3
pages/user/map.vue

@@ -28,7 +28,7 @@
 
 <script>
 // 引入高德地图api提供的微信小程序的接口
-	import amapFile from '../../common/amap-wx.130.js'
+	import amapFile from '@/static/js/amap-wx.130.js'
 	// 创建地图
 	var myAmapFun = new amapFile.AMapWX({key: 'bb69713f3c3d3c85e2662d313daa47b9'});
 	import $api from '../../static/js/api.js'
@@ -121,7 +121,7 @@
 					myAmapFun.getRegeo({
 						location:add.location,
 						success: (data)=>{
-							console.log("获取当前定位信息",data);
+							console.log("获取当前定位信息",data[0].regeocodeData.addressComponent.city.length == 0);
 							this.selectIndex = index;
 							var location = add.location.split(",");
 							this.selectAddr = {
@@ -129,7 +129,7 @@
 								latitude:location[1],
 								longitude:location[0],
 								province: data[0].regeocodeData.addressComponent.province,
-								city: data[0].regeocodeData.addressComponent.city,
+								city: data[0].regeocodeData.addressComponent.city.length == 0?data[0].regeocodeData.addressComponent.province:data[0].regeocodeData.addressComponent.city,
 								area: data[0].regeocodeData.addressComponent.district
 							};
 							this.markers[0].latitude = +location[1];

BIN
static/images/code.jpg


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