浏览代码

perf: 优化显示

lizhaocai 3 月之前
父节点
当前提交
164af9f85c
共有 100 个文件被更改,包括 4860 次插入728 次删除
  1. 3 0
      .gitignore
  2. 158 57
      circlePages/addShare.vue
  3. 103 97
      circlePages/circle.vue
  4. 3 2
      components/basic-table/basic-table.scss
  5. 3 1
      minePages/set.vue
  6. 16 2
      pages.json
  7. 120 60
      pages/comm/comm.vue
  8. 11 6
      pages/comm/search.vue
  9. 83 0
      pages/comm/search2.vue
  10. 6 2
      pages/discovery/discovery.vue
  11. 214 159
      pages/home/home.vue
  12. 5 2
      pages/index/auth.vue
  13. 646 0
      pages/index/detail/detail.vue
  14. 147 6
      pages/index/index.vue
  15. 11 8
      pages/mine/addFeed.vue
  16. 150 39
      pages/mine/coll.vue
  17. 1 1
      pages/mine/feedback.vue
  18. 23 10
      pages/mine/mine.vue
  19. 179 98
      pages/mine/need.vue
  20. 51 18
      pages/mine/share.vue
  21. 二进制
      static/bg.png
  22. 1608 32
      tuniao-ui/iconfont.css
  23. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/circlePages/addShare.js.map
  24. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/circlePages/circle.js.map
  25. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/common/runtime.js.map
  26. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/common/vendor.js.map
  27. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/minePages/set.js.map
  28. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/comm/comm.js.map
  29. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/comm/search.js.map
  30. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/discovery/discovery.js.map
  31. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/home/home.js.map
  32. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/index/auth.js.map
  33. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/index/index.js.map
  34. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/mine/addFeed.js.map
  35. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/mine/coll.js.map
  36. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/mine/feedback.js.map
  37. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/mine/mine.js.map
  38. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/mine/need.js.map
  39. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/mine/share.js.map
  40. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/tuniao-ui/components/tn-load-more/tn-load-more.js.map
  41. 3 1
      unpackage/dist/dev/mp-weixin/app.json
  42. 1 1
      unpackage/dist/dev/mp-weixin/circlePages/addShare.js
  43. 3 4
      unpackage/dist/dev/mp-weixin/circlePages/addShare.json
  44. 1 1
      unpackage/dist/dev/mp-weixin/circlePages/addShare.wxml
  45. 1 1
      unpackage/dist/dev/mp-weixin/circlePages/circle.js
  46. 0 1
      unpackage/dist/dev/mp-weixin/circlePages/circle.json
  47. 1 1
      unpackage/dist/dev/mp-weixin/circlePages/circle.wxml
  48. 3 0
      unpackage/dist/dev/mp-weixin/circlePages/circle.wxss
  49. 1206 24
      unpackage/dist/dev/mp-weixin/common/main.wxss
  50. 1 1
      unpackage/dist/dev/mp-weixin/common/runtime.js
  51. 4 4
      unpackage/dist/dev/mp-weixin/common/vendor.js
  52. 2 2
      unpackage/dist/dev/mp-weixin/components/basic-table/basic-table.js
  53. 2 2
      unpackage/dist/dev/mp-weixin/components/basic-table/basic-table.wxss
  54. 2 2
      unpackage/dist/dev/mp-weixin/components/w-select/w-select.js
  55. 1 1
      unpackage/dist/dev/mp-weixin/minePages/set.js
  56. 1 1
      unpackage/dist/dev/mp-weixin/minePages/set.wxml
  57. 2 2
      unpackage/dist/dev/mp-weixin/pages/comm/comm.js
  58. 2 2
      unpackage/dist/dev/mp-weixin/pages/comm/comm.json
  59. 1 1
      unpackage/dist/dev/mp-weixin/pages/comm/comm.wxml
  60. 5 0
      unpackage/dist/dev/mp-weixin/pages/comm/comm.wxss
  61. 1 1
      unpackage/dist/dev/mp-weixin/pages/comm/search.js
  62. 1 1
      unpackage/dist/dev/mp-weixin/pages/comm/search.wxml
  63. 2 2
      unpackage/dist/dev/mp-weixin/pages/discovery/discovery.js
  64. 1 3
      unpackage/dist/dev/mp-weixin/pages/discovery/discovery.json
  65. 1 1
      unpackage/dist/dev/mp-weixin/pages/discovery/discovery.wxml
  66. 2 2
      unpackage/dist/dev/mp-weixin/pages/home/home.js
  67. 1 0
      unpackage/dist/dev/mp-weixin/pages/home/home.json
  68. 1 1
      unpackage/dist/dev/mp-weixin/pages/home/home.wxml
  69. 5 0
      unpackage/dist/dev/mp-weixin/pages/home/home.wxss
  70. 1 1
      unpackage/dist/dev/mp-weixin/pages/index/auth.js
  71. 1 1
      unpackage/dist/dev/mp-weixin/pages/index/index.js
  72. 1 1
      unpackage/dist/dev/mp-weixin/pages/index/index.wxml
  73. 1 1
      unpackage/dist/dev/mp-weixin/pages/login/info.js
  74. 1 1
      unpackage/dist/dev/mp-weixin/pages/login/login.js
  75. 1 1
      unpackage/dist/dev/mp-weixin/pages/mine/about.js
  76. 1 1
      unpackage/dist/dev/mp-weixin/pages/mine/addFeed.js
  77. 1 2
      unpackage/dist/dev/mp-weixin/pages/mine/addFeed.json
  78. 1 1
      unpackage/dist/dev/mp-weixin/pages/mine/addFeed.wxml
  79. 1 1
      unpackage/dist/dev/mp-weixin/pages/mine/coll.js
  80. 3 5
      unpackage/dist/dev/mp-weixin/pages/mine/coll.json
  81. 1 1
      unpackage/dist/dev/mp-weixin/pages/mine/coll.wxml
  82. 5 0
      unpackage/dist/dev/mp-weixin/pages/mine/coll.wxss
  83. 1 1
      unpackage/dist/dev/mp-weixin/pages/mine/feedback.js
  84. 1 1
      unpackage/dist/dev/mp-weixin/pages/mine/feedback.wxml
  85. 2 2
      unpackage/dist/dev/mp-weixin/pages/mine/mine.js
  86. 1 1
      unpackage/dist/dev/mp-weixin/pages/mine/mine.wxml
  87. 1 1
      unpackage/dist/dev/mp-weixin/pages/mine/need.js
  88. 0 1
      unpackage/dist/dev/mp-weixin/pages/mine/need.json
  89. 1 1
      unpackage/dist/dev/mp-weixin/pages/mine/need.wxml
  90. 1 1
      unpackage/dist/dev/mp-weixin/pages/mine/share.js
  91. 2 6
      unpackage/dist/dev/mp-weixin/pages/mine/share.json
  92. 1 1
      unpackage/dist/dev/mp-weixin/pages/mine/share.wxml
  93. 2 2
      unpackage/dist/dev/mp-weixin/tuniao-ui/components/tn-badge/tn-badge.js
  94. 2 2
      unpackage/dist/dev/mp-weixin/tuniao-ui/components/tn-button/tn-button.js
  95. 2 2
      unpackage/dist/dev/mp-weixin/tuniao-ui/components/tn-checkbox/tn-checkbox.js
  96. 2 2
      unpackage/dist/dev/mp-weixin/tuniao-ui/components/tn-empty/tn-empty.js
  97. 2 2
      unpackage/dist/dev/mp-weixin/tuniao-ui/components/tn-grid-item/tn-grid-item.js
  98. 2 2
      unpackage/dist/dev/mp-weixin/tuniao-ui/components/tn-grid/tn-grid.js
  99. 2 2
      unpackage/dist/dev/mp-weixin/tuniao-ui/components/tn-list-cell/tn-list-cell.js
  100. 0 0
      unpackage/dist/dev/mp-weixin/tuniao-ui/components/tn-loading/tn-loading.js

+ 3 - 0
.gitignore

@@ -0,0 +1,3 @@
+
+/unpackage
+/unpackage/dist

+ 158 - 57
circlePages/addShare.vue

@@ -1,29 +1,36 @@
 <template>
 	<view class="template-edit tn-safe-area-inset-bottom">
 		<!-- 顶部自定义导航 -->
-		<tn-nav-bar fixed alpha customBack>
+		<tn-nav-bar fixed customBack>
 			<view slot="back" class='tn-custom-nav-bar__back' @click="goBack">
 				<text class='icon tn-icon-left'></text>
 			</view>
-			<view slot="default" v-if="(selectValue=='个人'&&stepIndex==2)||(selectValue=='公司'&&stepIndex==3)" style="display: flex;">
+			<view slot="default" style="display: flex;">
 				<view style="flex:1;margin-left:25px">
-					<text></text>
+					<text>发布供应</text>
 				</view>
-				<view>
-					<text style="margin-right: 4px;padding: 6px 15px;background-color:#00000026;border-radius: 30px;color: #3D7EFF;" @click="saveForm(1)">暂存</text>
+				<view v-if="(selectValue=='个人'&&stepIndex==3)||(selectValue=='公司'&&stepIndex==3)">
+					<button plain="true" style="margin-right: 4px;border-radius: 24px;height:32px;line-height: 32px;font-size:15px;margin-top:4px;color:#1d60b1;border-color:#1d60b1;" @click="saveForm(1)">暂存</button>
+					<!-- <text style="margin-right: 4px;padding: 6px 15px;background-color:#00000026;border-radius: 30px;color: #3D7EFF;" @click="saveForm(1)">暂存</text> -->
 				</view>
 			</view>
 		</tn-nav-bar>
 
 		<view class="tn-safe-area-inset-bottom" :style="{paddingTop: vuex_custom_bar_height + 'px'}">
 
-			<tn-steps style="pointer-events:none" :list="selectValue=='个人'?stepList:stepList2" :current="stepIndex" mode="dotIcon"></tn-steps>
+			<tn-steps style="pointer-events:none;" :list="selectValue=='个人'?stepList:stepList2" :current="stepIndex" mode="dotIcon"></tn-steps>
 			<view v-if="stepIndex==1">
 
 				<view style="padding: 16px">
-					<uni-data-select v-model="selectValue" :localdata="selectList" @change="changeSelect"
-						:clear="false"></uni-data-select>
+					<view style="line-height: 30px;">
+						发布主体:
+						<uni-data-checkbox :multiple="false" v-model="selectValue" selectedColor="#01BEFF"
+							:localdata="[{text: '个人',value: '个人'},{text: '公司',value: '公司'}]" />
+					</view>
+					<!-- <uni-data-select v-model="selectValue" :localdata="selectList" @change="changeSelect"
+						:clear="false"></uni-data-select> -->
 				</view>
+				
 				<view v-if="selectValue=='个人'" style="padding: 16px">
 					<uni-forms :modelValue="formData" label-width="0">
 
@@ -95,19 +102,26 @@
 
 				<!-- 悬浮按钮-->
 				<view class="tn-flex tn-footerfixed">
+					<!-- <view class="tn-flex-1 justify-content-item tn-margin-sm tn-text-center">
+						<button type="default" plain="true" style="border-radius: 24px;"
+							@click="preStep()">
+							 上一步 
+						</button>
+						 
+					</view> -->
 					<view class="tn-flex-1 justify-content-item tn-margin-sm tn-text-center">
-						<tn-button backgroundColor="#3668FC" padding="40rpx 0" width="60%" shadow fontBold
+						<button type="default" plain="true" style="border-radius: 24px;"
 							@click="nextStep()">
-							<!-- <text class="tn-icon-light tn-padding-right-xs tn-color-black"></text> -->
-							<text class="tn-color-white">下一步</text>
-							<!-- <text class="tn-icon-camera tn-padding-left-xs tn-color-black"></text> -->
-						</tn-button>
+							 下一步 
+						</button>
 					</view>
 				</view>
 			</view>
 			<view v-if="stepIndex!=1">
 
 				<view style="padding: 16px" v-if="(selectValue=='公司'&&stepIndex==2)||(selectValue=='个人'&&stepIndex==2)">
+					
+					<text>发布种类:</text>
 					<uni-data-select v-model="selectValue2" :localdata="selectList2" @change="changeSelect2"
 						:clear="false"></uni-data-select>
 				</view>
@@ -117,13 +131,15 @@
 						<text v-if="selectValue4">产品种类:</text>
 						<uni-data-select v-model="selectValue4" :localdata="selectList4" @change="changeSelect4"
 							placeholder="产品种类" :clear="false" style="margin-bottom:16px"></uni-data-select>
-						<text v-if="brand">产品品牌:</text>
-						<view>
+						
+						
+						<view style="margin-top: 16px;">
+						   <text>品牌:</text>
 						   <uni-easyinput type="text"  required v-model="brand" placeholder="请输入产品品牌" />
 						</view>
 						<view style="margin-top: 16px;line-height: 30px;margin-bottom: 16px;">
 							发布的产品是否属于医疗器械?
-							<uni-data-checkbox :multiple="false" v-model="isMedical"
+							<uni-data-checkbox :multiple="false" v-model="isMedical" selectedColor="#01BEFF"
 								:localdata="[{text: '是',value: '1'},{text: '否',value: '0'}]" />
 						</view>
 
@@ -137,9 +153,11 @@
 																 产品信息{{itemIndex+1}}
 															</template>
 															<template v-slot:footer>
-																 <tn-button fontColor="tn-color-white" shape="round" backgroundColor="#3668FC" v-if="extList.length==1" @click="newItem">+新增产品</tn-button>
+																<button type="default" style="color:#1d60b1;border-color:#1d60b1;" plain="true" size="mini" v-if="(extList.length>1&&extList.length<6&&itemIndex==extList.length-1)||extList.length==1" @click="newItem">+新增产品</button>
+																<button type="warn" plain="true" size="mini" v-if="extList.length>1&&itemIndex!==extList.length-1" @click="delItem(itemIndex)">-删除产品</button>
+																<!-- <tn-button fontColor="tn-color-white" shape="round" backgroundColor="#3668FC" v-if="extList.length==1" @click="newItem">+新增产品</tn-button>
 																 <tn-button fontColor="tn-color-white" shape="round" backgroundColor="#3668FC" v-if="extList.length>1&&extList.length<6&&itemIndex==extList.length-1" @click="newItem">+新增产品</tn-button>
-																 <tn-button fontColor="tn-color-white" shape="round" backgroundColor="#FF000C" v-if="extList.length>1&&itemIndex!==extList.length-1" @click="delItem(itemIndex)">-删除产品</tn-button>
+																 <tn-button fontColor="tn-color-white" shape="round" backgroundColor="#FF000C" v-if="extList.length>1&&itemIndex!==extList.length-1" @click="delItem(itemIndex)">-删除产品</tn-button> -->
 															</template>
 														</uni-list-item>
 												</uni-list>
@@ -148,11 +166,11 @@
 										<uni-forms :modelValue="formData" label-width="0">
 											 
 											<uni-forms-item label="" name="prodName" label-width="0">
-												<uni-easyinput maxlength="50" type="text" v-model="item.prodName"
+												<uni-easyinput maxlength="50" type="text" :clearable="false" v-model="item.prodName"
 													placeholder="*请输入产品名称" />
 											</uni-forms-item>
 											<uni-forms-item label="" name="contactMethod">
-												<uni-easyinput maxlength="100" type="text" v-model="item.prodSpec"
+												<uni-easyinput maxlength="100" type="text" :clearable="false" v-model="item.prodSpec"
 													placeholder="*请输入产品型号" />
 											</uni-forms-item>
 											<uni-forms-item label="" name="phone">
@@ -200,33 +218,44 @@
 					</view>
 
 				</view>
-				<view v-if="selectValue2=='服务'">
+				<view v-if="selectValue2=='服务'&&stepIndex==2">
 					<view style="padding: 16px">
+						<text>服务类型:</text>
 						<uni-data-select v-model="selectValue3" :localdata="selectList3" @change="changeSelect3"
 							:clear="false"></uni-data-select>
 					</view>
 				</view>
-
-
+				
+				<view v-if="selectValue2=='服务'&&stepIndex==2">
+					<view style="padding: 16px">
+					   <text>品牌:</text>
+					   <uni-easyinput type="text"  required v-model="brand" placeholder="请输入服务品牌" />
+					</view>
+				</view>
+					
 				<view>
 
 
 					<!-- <view class="tn-margin tn-bg-gray--light" style="border-radius: 10rpx;padding: 20rpx 30rpx;">
 					 	<input placeholder="写下一句简短的标题" name="input" placeholder-style="color:#AAAAAA" ></input>
 					 </view> -->
-					<view v-if="selectValue2=='服务'" class="tn-margin tn-bg-gray--light tn-padding"
+					 <view v-if="selectValue2=='服务'&&stepIndex==2" style="padding: 16px;padding-bottom: 0;margin-bottom: -30rpx;">
+					    <text>服务介绍:</text>
+					 </view>
+					<view v-if="selectValue2=='服务'&&stepIndex==2" class="tn-margin tn-bg-gray--light tn-padding"
 						style="border-radius: 10rpx;">
+						
 						<textarea maxlength="500" v-model="content" placeholder="请输入服务介绍"
 							placeholder-style="color:#AAAAAA"></textarea>
 					</view>
 
-					<view class="tn-flex tn-flex-row-between tn-flex-col-center   tn-margin"  v-if="(selectValue=='公司'&&stepIndex==3)||(selectValue=='个人'&&stepIndex==2)">
+					<view class="tn-flex tn-flex-row-between tn-flex-col-center   tn-margin"  v-if="stepIndex==3">
 						<view class="tn-flex justify-content-item">
 							<view class="tn-text-center"
 								style="border-radius: 100rpx;margin-right: 8rpx;width: 45rpx;height: 45rpx;line-height: 45rpx;">
 								<text class="tn-icon-image" style="font-size: 30rpx;"></text>
 							</view>
-							<view class="tn-text-lg tn-padding-right-xs tn-text-bold">上传其他图片(若有)</view>
+							<view class="tn-text-lg tn-padding-right-xs tn-text-bold">上传其他图片(选填)</view>
 						</view>
 						<!-- <view class="justify-content-item tn-text-df tn-color-grey" @tap="clear">
 					 					<text class="tn-padding-xs">清空上传</text>
@@ -239,12 +268,16 @@
 
 
 
-					<view class="tn-margin-left tn-padding-top-xs"  v-if="(selectValue=='公司'&&stepIndex==3)||(selectValue=='个人'&&stepIndex==2)">
+					<view class="tn-margin-left tn-padding-top-xs"  v-if="stepIndex==3">
 						<uni-file-picker v-model="imgList" :limit="6" :auto-upload="false" @select="select"
 							@success="success" @delete="deleteFile">
 
 
 						</uni-file-picker>
+						<view style="margin-top: 8px;">
+							<text style="color: #999;font-size: 12px;">一次只能上传六张图片</text>
+						</view>
+						
 						<!-- <tn-image-upload-drag ref="imageUpload" :action="action" :width="236" :height="236" :formData="formData"
 					 					:fileList="fileList" :disabled="disabled" :autoUpload="autoUpload" :maxCount="maxCount"
 					 					:showUploadList="showUploadList" :showProgress="showProgress" :deleteable="deleteable"
@@ -252,13 +285,13 @@
 
 					</view>
 
-					<view class="tn-flex tn-flex-row-between tn-flex-col-center tn-padding-top-xl tn-margin"  v-if="(selectValue=='公司'&&stepIndex==3)||(selectValue=='个人'&&stepIndex==2)">
+					<view class="tn-flex tn-flex-row-between tn-flex-col-center tn-margin tn-padding-top-xs"  v-if="stepIndex==3">
 						<view class="tn-flex justify-content-item">
 							<view class="tn-text-center"
 								style="border-radius: 100rpx;margin-right: 8rpx;width: 45rpx;height: 45rpx;line-height: 45rpx;">
-								<text class="tn-icon-image" style="font-size: 30rpx;"></text>
+								<text class="tn-icon-link" style="font-size: 30rpx;"></text>
 							</view>
-							<view class="tn-text-lg tn-padding-right-xs tn-text-bold">上传相关文件(若有)</view>
+							<view class="tn-text-lg tn-padding-right-xs tn-text-bold">上传相关文件(选填)</view>
 						</view>
 						<!-- <view class="justify-content-item tn-text-df tn-color-grey" @tap="clear">
 					 					<text class="tn-padding-xs">清空上传</text>
@@ -266,17 +299,23 @@
 					 				</view> -->
 					</view>
 
-					<view class="tn-margin-left tn-padding-top-xs"  v-if="(selectValue=='公司'&&stepIndex==3)||(selectValue=='个人'&&stepIndex==2)">
+					<view class="tn-margin-left tn-padding-top-xs"  v-if="stepIndex==3">
 						<uni-file-picker v-model="fileList" :limit="3" mode="grid" file-mediatype="all"
-							file-extname="pdf,docx,doc" :auto-upload="false" @select="select" @success="success" @delete="deleteFile">
-							<tn-button shadow shape="round" fontColor="tn-color-white" size="lg"
-								backgroundColor="tn-bg-blue" :fontSize="24" height="auto"
-								padding="20rpx 36rpx">上传文件</tn-button>
-							<view style="margin-top:20px"><text class="tn-color-grey">支持格式 pdf .doc,不超过5MB。</text>
-							</view>
-							<view style="margin-top:20px" v-if="selectValue2=='产品'"><text class="tn-color-grey">如若产品属于医疗器械,请上传相关资质证明。</text>
+							file-extname="pdf,docx,doc,xls,xlsx" :auto-upload="false" @select="select" @success="success" @delete="deleteFile">
+							<view style="text-align: left;">
+								<button size="mini" style="color:#1d60b1;border-color:#1d60b1;display: inline-block;" plain="true">上传文件</button>
 							</view>
+							
+						
 						</uni-file-picker>
+						<view style="margin-top: 8px;">
+							<text style="color: #999;font-size: 12px;">一次只能上传三个文件,支持格式 pdf .doc .xls,不超过5MB。</text>
+						</view>
+						 
+						 
+						<view style="margin-top:20px" v-if="selectValue2=='产品'">
+							<text style="color: #999;font-size: 12px;">如若产品属于医疗器械,请上传相关资质证明。</text>
+						</view>
 						<!-- <tn-image-upload-drag ref="imageUpload" :action="action" :width="236" :height="236" :formData="formData"
 					 					:fileList="fileList2" :disabled="disabled" :autoUpload="autoUpload" :maxCount="maxCount"
 					 					:showUploadList="showUploadList" :showProgress="showProgress" :deleteable="deleteable"
@@ -285,31 +324,45 @@
 					</view>
 				</view>
 
-				<view label="11" name="check" style="padding:16px"  v-if="(selectValue=='公司'&&stepIndex==3)||(selectValue=='个人'&&stepIndex==2)">
-					<uni-data-checkbox :multiple="true" v-model="formInfo.agree"
+				<view label="11" name="check" style="padding:16px"  v-if="stepIndex==3">
+					<uni-data-checkbox :multiple="true" v-model="formInfo.agree" selectedColor="#01BEFF"
 						:localdata="[{text: '同意平台核查所填信息的真实性',value: '是'}]" />
 				</view>
 				
 				<!-- 悬浮按钮-->
-				<view class="tn-flex tn-footerfixed"  v-if="selectValue=='公司'">
+				<view class="tn-flex tn-footerfixed" >
 					<view class="tn-flex-1 justify-content-item tn-margin-sm tn-text-center">
-						<tn-button backgroundColor="#3668FC" padding="40rpx 0" width="60%" shadow fontBold
+						<button type="default" plain="true" style="border-radius: 24px;"
+							@click="preStep()">
+							 上一步 
+						</button>
+					</view>
+					<view class="tn-flex-1 justify-content-item tn-margin-sm tn-text-center">
+						<button type="default" plain="true" style="border-radius: 24px;"
+							@click="nextStep()">
+							 下一步 
+						</button>
+						<!-- <tn-button backgroundColor="#3668FC" padding="40rpx 0" width="60%" shadow fontBold
 							@click="nextStep()">
-							<!-- <text class="tn-icon-light tn-padding-right-xs tn-color-black"></text> -->
 							<text class="tn-color-white">下一步</text>
-							<!-- <text class="tn-icon-camera tn-padding-left-xs tn-color-black"></text> -->
-						</tn-button>
+						</tn-button> -->
 					</view>
 				</view>
 
-				<view class="tn-flex tn-footerfixed"  v-if="(stepIndex==3)||(selectValue=='个人'&&stepIndex==2)">
+				<view class="tn-flex tn-footerfixed"  v-if="(stepIndex==3)">
 					<view class="tn-flex-1 justify-content-item tn-margin-sm tn-text-center">
-						<tn-button backgroundColor="#3668FC" padding="40rpx 0" width="60%" shadow fontBold
+						<button type="default" plain="true" style="border-radius: 24px;"
+							@click="preStep()">
+							 上一步 
+						</button>
+						 
+					</view>
+					<view class="tn-flex-1 justify-content-item tn-margin-sm tn-text-center">
+						<button type="primary" style="background-color:#1d60b1;border-radius: 23px" @click="saveForm()">提交审核</button>
+						<!-- <tn-button backgroundColor="#3668FC" padding="40rpx 0" width="60%" shadow fontBold
 							@click="saveForm()">
-							<!-- <text class="tn-icon-light tn-padding-right-xs tn-color-black"></text> -->
 							<text class="tn-color-white">提交审核</text>
-							<!-- <text class="tn-icon-camera tn-padding-left-xs tn-color-black"></text> -->
-						</tn-button>
+						</tn-button> -->
 					</view>
 				</view>
 			</view>
@@ -331,7 +384,7 @@
 		data() {
 			return {
 				canSave:true,
-				isMedical: '0',
+				isMedical: '1',
 				content: '',
 				selectValue: '个人',
 				selectList: [{
@@ -426,6 +479,11 @@
 						name: '填写供应信息',
 						icon: 'trusty',
 						selectIcon: 'trusty-fill'
+					},
+					{
+						name: '上传附件',
+						icon: 'folder',
+						selectIcon: 'folder-fill'
 					}
 				],
 				stepList2 : [{
@@ -440,8 +498,8 @@
 					},
 					{
 						name: '上传附件',
-						icon: 'vip',
-						selectIcon: 'vip-fill'
+						icon: 'folder',
+						selectIcon: 'folder-fill'
 					}
 				],
 				action: 'https://www.hualigs.cn/api/upload',
@@ -481,6 +539,9 @@
 			this.getCompany();
 		},
 		methods: {
+			preStep(){
+				this.stepIndex = this.stepIndex-1;
+			},
 			nextStep() {
 				//todo 检查
 				 let that = this;
@@ -496,6 +557,18 @@
 							}
 						}
 					}
+					if(this.stepIndex==2&&that.selectValue2=='服务'){
+						 
+							if(!this.content){
+								uni.showToast({
+									title: '服务介绍必填',
+									duration: 2000,
+									icon:'none'
+								});
+								return false;
+							}
+						 
+					}
 				 
 				this.stepIndex = this.stepIndex+1;
 				
@@ -598,17 +671,45 @@
 						type: that.selectValue2=='服务'?'2':'1',
 						secType: that.selectValue3,
 						company: that.selectValue=='公司'?this.org.name:'',
+						subject: that.selectValue=='公司'?'1':'2',
 						jobTitle: this.formInfo.jobTitle,
 						contactPerson: this.formInfo.contactPerson,
 						contactMethod: this.formInfo.contactMethod,
 						contactNickName: this.formInfo.contactNickName,
 						content: that.content,
 						userNo: uni.getStorageSync('userNo'),
-						status: status==1?status:undefined
+						status: status==1?status:undefined,
+						brand: that.brand,
+				}
+				if(that.selectValue=='公司'){
+					postData.companyEntity = {};
+					postData.companyEntity.company = postData.company;
+					postData.companyEntity.jobTitle = postData.jobTitle;
+					postData.companyEntity.creditCode = this.org.creditCode;
+					
+					postData.companyEntity.contactPerson = postData.contactPerson;
+					postData.companyEntity.contactMethod = postData.contactMethod;
+					postData.companyEntity.contactNickName = postData.contactNickName;
+					
+					// postData.companyEntity.address = this.org.creditCode;
+					// postData.companyEntity.company = postData.company;
+					
+					postData.slbUserExt = {};
+					postData.slbUserExt.userContactMethod = postData.contactMethod;
+					postData.slbUserExt.contactPerson = postData.contactPerson;
+					postData.slbUserExt.contactMethod = postData.contactMethod;
+					postData.slbUserExt.contactNickName = postData.contactNickName;
+					postData.slbUserExt.userRealName = this.formInfo.userRealName;
 					
+				}else{
+					postData.slbUserExt = {};
+					postData.slbUserExt.userContactMethod = postData.contactMethod;
+					postData.slbUserExt.contactPerson = postData.contactPerson;
+					postData.slbUserExt.contactMethod = postData.contactMethod;
+					postData.slbUserExt.contactNickName = postData.contactNickName;
+					postData.slbUserExt.userRealName = this.formInfo.userRealName;
 				}
 				if(postData.type=='1'){
-					postData.brand = that.brand;
 					postData.secType = that.selectValue4;
 					postData.isMedical = that.isMedical;
 					postData.content = '';
@@ -628,12 +729,12 @@
 					that.canSave = true;
 					if (res.success) {
 						uni.showToast({
-							title: status==1?'暂存成功':'发布已提交,可在我的需求里查看审核进度',
+							title: status==1?'暂存成功':'发布已提交,请在我的供应中查看进度',
 							icon: 'none',
 							success: () => {
 								setTimeout(() => {
 									uni.redirectTo({
-										url: "/pages/mine/share"
+										url: "/pages/mine/share?tab="+(1)
 									});
 								}, 2500)
 							}

+ 103 - 97
circlePages/circle.vue

@@ -1,25 +1,26 @@
 <template>
 	<view class="template-edit tn-safe-area-inset-bottom">
 		<!-- 顶部自定义导航 -->
-		<tn-nav-bar fixed alpha customBack>
+		<tn-nav-bar fixed customBack>
 			<view slot="back" class='tn-custom-nav-bar__back' @click="goBack">
 				<text class='icon tn-icon-left'></text>
 				<!-- <text class='icon tn-icon-home-capsule-fill'></text> -->
 			</view>
 			
-			<view slot="default" v-if="stepIndex==2" style="display: flex;">
+			<view slot="default"  style="display: flex;">
 				<view style="flex:1;margin-left:25px">
-					<text></text>
+					<text>发布需求</text>
 				</view>
-				<view>
-					<text style="margin-right: 4px;padding: 6px 15px;background-color:#00000026;border-radius: 30px;color: #3D7EFF;" @click="saveForm(1)">暂存</text>
+				<view v-if="stepIndex==2">
+					<button plain="true" style="margin-right: 4px;border-radius: 24px;height:32px;line-height: 32px;font-size:15px;margin-top:4px;color:#1d60b1;border-color:#1d60b1;" @click="saveForm(1)">暂存</button>
+<!-- 					<text style="margin-right: 4px;padding: 6px 15px;background-color:#00000026;border-radius: 30px;color: #3D7EFF;" @click="saveForm(1)">暂存</text> -->
 				</view>
 			</view>
 		</tn-nav-bar>
 
 		<view class="tn-safe-area-inset-bottom" :style="{paddingTop: vuex_custom_bar_height + 'px'}">
 
-			<tn-steps style="pointer-events:none" :list="stepList" :current="stepIndex" mode="dotIcon"></tn-steps>
+			<tn-steps style="pointer-events:none;" :list="stepList" :current="stepIndex" mode="dotIcon"></tn-steps>
 			<!-- <uni-steps :options="stepList" :active="stepIndex" /> -->
 			
 			<view v-if="stepIndex==1">
@@ -69,10 +70,10 @@
 					 
 				   
 				</uni-file-picker>
-				<!-- <tn-image-upload-drag ref="imageUpload" :action="action" :width="236" :height="236" :formData="formData"
-					:fileList="fileList" :disabled="disabled" :autoUpload="autoUpload" :maxCount="maxCount"
-					:showUploadList="showUploadList" :showProgress="showProgress" :deleteable="deleteable"
-					:customBtn="customBtn" @sort-list="onSortList" /> -->
+				<view style="margin-top: 8px;">
+					<text style="color: #999;font-size: 12px;">一次只能上传六张图片</text>
+				</view>
+				
 
 			</view>
 			
@@ -92,21 +93,23 @@
 			
 			<view class="tn-margin-left tn-padding-top-xs">
 				<uni-file-picker
-					v-model="fileList" :limit="3" mode="grid" @delete="deleteFile"  file-mediatype="all" file-extname="pdf,docx,doc" :auto-upload="false" @select="select" @success="success">
+					v-model="fileList" :limit="3" mode="grid" @delete="deleteFile"  file-mediatype="all" file-extname="pdf,docx,doc,xls,xlsx" :auto-upload="false" @select="select" @success="success">
 				<!-- <button size="default">上传文件</button> -->
-				<tn-button shadow shape="round" fontColor="tn-color-white" size="lg" backgroundColor="tn-bg-blue" :fontSize="24" height="auto" padding="20rpx 36rpx">上传文件</tn-button>
-				 
+				<view style="text-align: left;">
+					<button size="mini" style="color:#1d60b1;border-color:#1d60b1;" plain="true">上传文件</button>
+				</view>
+				<!-- <tn-button shadow shape="round" fontColor="tn-color-white" size="lg" backgroundColor="tn-bg-blue" :fontSize="24" height="auto" padding="20rpx 36rpx">上传文件</tn-button>
+				 -->
 				</uni-file-picker>
-				<text class="tn-color-grey">支持格式 pdf .doc,不超过5MB。</text>
-				<!-- <tn-image-upload-drag ref="imageUpload" :action="action" :width="236" :height="236" :formData="formData"
-					:fileList="fileList2" :disabled="disabled" :autoUpload="autoUpload" :maxCount="maxCount"
-					:showUploadList="showUploadList" :showProgress="showProgress" :deleteable="deleteable"
-					:customBtn="customBtn" @sort-list="onSortList" /> -->
+				<view style="margin-top: 8px;">
+					<text style="color: #999;font-size: 12px;">一次只能上传三个文件,支持格式 pdf .doc .xls,不超过5MB。</text>
+				</view>
+				
 			
 			</view>
 			
-			<view style="padding: 16px">
-				<text v-if="selectValue">需求有效期:</text>
+			<view style="margin-top:10px;padding: 16px">
+				<text style="font-size: 16px;">需求有效期:</text>
 				<uni-data-select
 				    v-model="selectValue"
 				    :localdata="selectList"
@@ -129,20 +132,15 @@
         </view>
       </view> -->
 
-			<!-- <view class="tn-tag-content tn-margin tn-text-justify tn-padding-bottom">
-        <view v-for="(item, index) in tagList" :key="index" class="tn-tag-content__item tn-margin-right tn-round tn-text-sm tn-text-bold" :class="[`tn-bg-${item.color}--light tn-color-${item.color}`]">
-          <text class="tn-tag-content__item--prefix">#</text> {{ item.title }}
-        </view>
-      </view>  -->
+			
 
 			<!-- 悬浮按钮-->
 			<view class="tn-flex tn-footerfixed">
 				<view class="tn-flex-1 justify-content-item tn-margin-sm tn-text-center">
-					<tn-button backgroundColor="#3668FC" padding="40rpx 0" width="60%" shadow fontBold @click="nextStep()">
-						<!-- <text class="tn-icon-light tn-padding-right-xs tn-color-black"></text> -->
-						<text class="tn-color-white">下一步</text>
-						<!-- <text class="tn-icon-camera tn-padding-left-xs tn-color-black"></text> -->
-					</tn-button>
+					<button type="default" plain="true" style="border-radius: 24px;"
+						@click="nextStep()">
+						 下一步 
+					</button>
 				</view>
 			</view>
 </view>
@@ -180,25 +178,20 @@
 			</uni-forms-item>
 			
 			<uni-forms-item label="11" name="check">
-				<uni-data-checkbox :multiple="true" v-model="formInfo.agree" :localdata="[{text: '同意平台核查所填信息的真实性',value: '是'}]" />
+				<uni-data-checkbox :multiple="true" selectedColor="#01BEFF" v-model="formInfo.agree" :localdata="[{text: '同意平台核查所填信息的真实性',value: '是'}]" />
 			</uni-forms-item>
 		</uni-forms>
 	</view>
 	
 	<view class="tn-flex tn-footerfixed">
 		<view class="tn-flex-1 justify-content-item tn-margin-sm tn-text-center">
-			<tn-button backgroundColor="#3668FC" padding="40rpx 0" width="60%" shadow fontBold @click="preStep()">
-				<!-- <text class="tn-icon-light tn-padding-right-xs tn-color-black"></text> -->
-				<text class="tn-color-white">上一步</text>
-				<!-- <text class="tn-icon-camera tn-padding-left-xs tn-color-black"></text> -->
-			</tn-button>
+			<button type="default" plain="true" style="border-radius: 24px;"
+				@click="preStep()">
+				 上一步 
+			</button>
 		</view>
 		<view class="tn-flex-1 justify-content-item tn-margin-sm tn-text-center">
-			<tn-button backgroundColor="#3668FC" padding="40rpx 0" width="60%" shadow fontBold @click="saveForm()">
-				<!-- <text class="tn-icon-light tn-padding-right-xs tn-color-black"></text> -->
-				<text class="tn-color-white">提交审核</text>
-				<!-- <text class="tn-icon-camera tn-padding-left-xs tn-color-black"></text> -->
-			</tn-button>
+			<button type="primary" style="background-color:#1d60b1;border-radius: 23px" @click="saveForm()">提交审核</button>
 		</view>
 	</view>
 </view>
@@ -262,53 +255,6 @@
 						selectIcon: 'trusty-fill'
 					}
 				],
-				tagList: [{
-						color: 'red',
-						title: "元神",
-					},
-					{
-						color: 'cyan',
-						title: "LOL",
-					},
-					{
-						color: 'blue',
-						title: "速立保",
-					},
-					{
-						color: 'green',
-						title: "科技",
-					},
-					{
-						color: 'orange',
-						title: "免费",
-					},
-					{
-						color: 'purplered',
-						title: "前端",
-					},
-					{
-						color: 'purple',
-						title: "后端",
-					},
-					{
-						color: 'brown',
-						title: "UI设计",
-					},
-					{
-						color: 'yellowgreen',
-						title: "求助",
-					},
-					{
-						color: 'grey',
-						title: "吃货",
-					},
-					{
-						color: 'orangered',
-						title: "萌宠",
-					}
-				],
-				action: 'https://www.hualigs.cn/api/upload',
-				// action: '',
 				formData: {
 					apiType: 'this,ali',
 					token: 'dffc1e06e636cff0fdf7d877b6ae6a2e',
@@ -329,6 +275,7 @@
 					name:'',
 					regNumber:''
 				},
+				editItem:{}
 			}
 		},
 		watch: {
@@ -346,10 +293,44 @@
 				
 			}
 		},
-		onLoad() {
-		    this.getCompany();
+		onLoad(props) {
+			console.error(props.sid);
+			if(props.sid){
+				this.isEdit = true;
+				this.editItem = JSON.parse(uni.getStorageSync(props.sid)||'{}');
+				this.content = this.editItem.content;
+				this.fileDetailList = this.editItem.fileDetailList;
+				
+				for(let i=0;i<this.fileDetailList.length;i++){
+					this.fileDetailList[i].path = this.fileDetailList[i].ftpUrl
+					if(this.isImage(this.fileDetailList[i].fileName)){
+						this.imgList.push({
+							name: this.fileDetailList[i].fileName,
+							url: this.fileDetailList[i].ftpUrl,
+							path: this.fileDetailList[i].path
+						})
+					}else{
+						this.imgList.push({
+							name: this.fileDetailList[i].fileName,
+							url: this.fileDetailList[i].ftpUrl,
+							path: this.fileDetailList[i].path
+						})
+					}
+				}
+				
+				this.org.name = this.editItem.company;
+				this.formInfo.jobTitle = this.editItem.jobTitle;
+				this.formInfo.contactPerson = this.editItem.contactPerson;
+				this.formInfo.contactMethod = this.editItem.contactMethod;
+			}
+			this.getCompany();
 		},
 		methods: {
+			 isImage(fileName) {
+				const imageExtensions = ['jpg', 'jpeg', 'png', 'gif', 'bmp', 'webp', 'ico']
+				const extension = fileName.split('.').pop().toLowerCase();
+				return imageExtensions.includes(extension);
+			 },
 			 getCompany(){
 			 	let that = this;
 			 		request.post('/slbUserCompanyRel/show/my', {
@@ -391,6 +372,7 @@
 				 
 				this.stepIndex = 2;
 			},
+			
 			 changeSelect(e) {
 			        this.selectValue = e;
 			      },
@@ -454,7 +436,7 @@
 				
 				that.canSave = false;
 				
-				params.slbResourceDemand = JSON.stringify({
+				params.slbResourceDemand = {
 					type:'3',
 					company:this.org.name,
  					jobTitle:this.formInfo.jobTitle,
@@ -463,9 +445,30 @@
 					content:that.content,
 					userNo:uni.getStorageSync('userNo'),
 					validDate:this.selectValue,
-					status: status==1?status:undefined
-				});
-				// params.slbUserCompanyRel = JSON.stringify({
+					status: status==1?status:undefined,
+					id: that.isEdit?that.editItem.id:undefined,
+					version: that.isEdit?that.editItem.version:undefined
+				};
+				
+				params.slbResourceDemand.companyEntity = {};
+				params.slbResourceDemand.companyEntity.company = params.slbResourceDemand.company;
+				params.slbResourceDemand.companyEntity.jobTitle = params.slbResourceDemand.jobTitle;
+				params.slbResourceDemand.companyEntity.creditCode = this.org.creditCode;
+				
+				params.slbResourceDemand.companyEntity.contactPerson = params.slbResourceDemand.contactPerson;
+				params.slbResourceDemand.companyEntity.contactMethod = params.slbResourceDemand.contactMethod;
+				
+				params.slbResourceDemand.slbUserExt = {
+						contactPerson:params.slbResourceDemand.contactPerson,
+						contactMethod:params.slbResourceDemand.contactMethod,
+						userNo:uni.getStorageSync('userNo'),
+				};
+				
+				params.slbResourceDemand = JSON.stringify(params.slbResourceDemand);
+				
+				
+				// params.slbResourceDemand.companyEntity.contactNickName = params.slbResourceDemand.contactNickName;
+				// params.slbUserExt = JSON.stringify({
 				// 	jobTitle:this.formInfo.jobTitle,
 				// 	contactPerson:this.formInfo.contactPerson,
 				// 	contactMethod:this.formInfo.contactMethod,
@@ -473,16 +476,16 @@
 				// });
 				
 				params.fileDetailList = JSON.stringify(this.fileDetailList);
-				request.post('/slbResourceDemand/add', params).then(res => {
+				request.post(that.isEdit?'/slbResourceDemand/update':'/slbResourceDemand/add', params).then(res => {
 				    that.canSave = true;
 					if(res.success){
 						uni.showToast({
-							title:status?'暂存成功':'发布已提交,可在我的需求里查看审核进度',
+							title:status==1?'暂存成功':'发布已提交,请在我的需求中查看进度',
 							icon:'none',
 							success:()=>{
 								setTimeout(()=>{
 									uni.redirectTo({
-									 url: "/pages/mine/need"
+									 url: "/pages/mine/need?tab="+(1)
 									});
 								},1500)
 								
@@ -669,6 +672,9 @@
 	/deep/ .uni-forms-item__label {
 		display: none;
 	}
+	/deep/ .uni-stat__select .uni-select__input-placeholder {
+		font-size: 14px;
+	}
 
 	/* 标签内容 end*/
 </style>

+ 3 - 2
components/basic-table/basic-table.scss

@@ -63,7 +63,8 @@ $table-stripe-color: #fafafa;
 				table-layout: fixed;
 				display: table-header-group;
 				vertical-align: middle;
-				font-weight: 700;
+				font-weight: bold;
+				
 			}
 			.b-tbody {
 				display: table-row-group;
@@ -81,7 +82,7 @@ $table-stripe-color: #fafafa;
 			}
 			.b-th,
 			.b-td {
-				font-size: 28rpx;
+				font-size: 14px;
 				display: table-cell;
 				border-bottom: 1px solid $table-border;
 				padding: 8px 0;

+ 3 - 1
minePages/set.vue

@@ -15,7 +15,9 @@
 		  	v-model="value" mode="list" :auto-upload="false" @select="select" @success="success">
 		  	<image v-if="!userInfo.profilePhotoUrl" src="../static/me2.png" style="width: 100px;height: 100px;"></image>
 		  	<image v-if="userInfo.profilePhotoUrl" :src="userInfo.profilePhotoUrl" style="width: 100px;height: 100px;border-radius: 50%;"></image>
+			<view><text class="tn-color-grey">点击修改</text></view>
 		  </uni-file-picker>
+		 
 	  </view>
       <!-- <view class="tn-flex tn-flex-row-between tn-strip-bottom-min tn-padding" @click="tn('/minePages/avatar')">
         <view class="justify-content-item">
@@ -40,7 +42,7 @@
     margin-top: 16px;">
 	  		<uni-forms :modelValue="formData" label-width="100px">
 	  			<uni-forms-item label="用户昵称" name="name">
-	  				<uni-easyinput type="text" v-model="userInfo.contactNickName" placeholder="请输入昵称" />
+	  				<uni-easyinput type="text" :clearable="false" v-model="userInfo.contactNickName" placeholder="请输入昵称" />
 	  			</uni-forms-item>
 	  			<uni-forms-item label="真实姓名" name="realName">
 	  				 <uni-easyinput type="text" :clearable="false" v-model="userInfo.userRealName" placeholder="请输入姓名" />

+ 16 - 2
pages.json

@@ -53,7 +53,7 @@
 			"path" : "pages/mine/share",
 			"style" : 
 			{
-				"navigationBarTitleText" : "我的共享"
+				"navigationBarTitleText" : "我的供应"
 			}
 		},
 		{
@@ -99,6 +99,20 @@
 			{
 				"navigationBarTitleText" : "了解速立保"
 			}
+		},
+		{
+			"path" : "pages/comm/search2",
+			"style" : 
+			{
+				"navigationBarTitleText" : "搜索"
+			}
+		},
+		{
+			"path" : "pages/index/detail/detail",
+			"style" : 
+			{
+				"navigationBarTitleText" : "详情"
+			}
 		}
 		 
 	],
@@ -118,7 +132,7 @@
       	"path" : "addShare",
       	"style" : 
       	{
-      		"navigationBarTitleText" : "发布共享"
+      		"navigationBarTitleText" : "发布供应"
       	}
       }]
   }, {

+ 120 - 60
pages/comm/comm.vue

@@ -3,7 +3,7 @@
 		<tn-nav-bar customBack>
 			<view slot="back" class='tn-custom-nav-bar__back' @click="reFetchData()">
 				<text v-if="!loading" class="tn-icon-circle-arrow" style="font-size: 50rpx;"></text>
-				<tn-loading v-if="loading" :size="46"></tn-loading>
+				<view style="margin-top:6px" v-if="loading" ><tn-loading :size="46"></tn-loading></view>
 			</view>
 
 			<view slot="default" style="display: flex;">
@@ -35,21 +35,36 @@
 						</view>
 					</view>
 				</view>
+				<view style="width: 100%;" v-if="currentTab==1">
+					<view style="display: flex; padding: 10px 12px;">
+						<view
+							style="flex:1;background-color: #f8f8f8;border-radius: 18px;color: #bbb;line-height: 35px;"
+							@click="showSearch2">
+							<view>
+								<uni-icons type="search" color="#bbbbbb" size="18" style="margin: 8px;"></uni-icons>
+								<text v-if="!searchProdValue2">品牌/服务内容</text>
+								<text v-if="searchProdValue2">{{searchProdValue2}}</text>
+							</view>
+						</view>
+						<view v-if="searchProdValue2" @click="clearProd2" style="line-height: 36px;margin-left: 10px;">取消
+						</view>
+					</view>
+				</view>
 
-				<uni-search-bar radius="15" placeholder="搜索" v-if="currentTab==1" @confirm="search"
+				<!-- <uni-search-bar radius="15" placeholder="搜索" v-if="currentTab==1" @confirm="search"
 					v-model="searchValue" @blur="search" @cancel="cancel" @clear="clear" cancelButton="auto"
 					clearButton="auto">
-				</uni-search-bar>
+				</uni-search-bar> -->
 
 				<tn-tabs-swiper :list="tabList" :isScroll="false" :current="currentTab" name="tab-name"
 					@change="changeTab" style="border-bottom: 1rpx solid #f1f1f1cc;">
 				</tn-tabs-swiper>
 			</uv-sticky>
 			 
-			<view class="tn-flex tn-flex-direction-column  tn-margin-top-sm tn-margin-bottom">
+			<view class="tn-flex tn-flex-direction-column  tn-margin-top-sm ">
 
 				<!-- 图文信息 -->
-				<block v-for="(item,index) in content">
+				<block v-for="(item,index) in content" :key="item.id">
 					<view class="blogger__item" :key="index">
 						<view class="blogger__author tn-flex tn-flex-row-between tn-flex-col-center">
 							<view class="justify__author__info" @click="tn('')">
@@ -65,14 +80,14 @@
 										</view> -->
 										<view class="tn-padding-right tn-text-ellipsis">
 											<view class="tn-padding-right tn-color-grey tn-text-lg">
-												{{ item.company||'个人/'+(item.contactNickName||item.contactPerson) }}
+												{{ item.company||(item.contactNickName||item.contactPerson) }}
 											</view>
 											<!-- <view class="tn-padding-right tn-padding-left-sm tn-padding-top-xs tn-color-gray">{{ item.date }}</view> -->
 										</view>
 									</view>
 								</view>
 							</view>
-							<view v-if="item.validDate"
+							<view v-if="1==0"
 								class="blogger__author__btn justify-content-item tn-flex-col-center tn-flex-row-center">
 								<text class="" style="background: #3F51B542;font-size: 12px;
 								  padding: 8px;
@@ -84,29 +99,39 @@
 						 
 						</view>
 
-						<view v-if="item.content||item.brand"
+						<view
 							class="blogger__desc tn-margin-top-sm tn-margin-bottom-sm tn-text-justify tn-flex-col-center tn-flex-row-left"
-							@click="tn('')">
+							>
 						 
 							<!-- 不用限制长度了,因为发布的时候限制长度了-->
 							<tn-tag margin="-4px 4px 0 0" backgroundColor="#3a96d733" v-if="item.brand"
 								fontColor="#3a96d7" shape="circle">{{ item.brand }}</tn-tag>
+							<tn-tag margin="-4px 4px 0 0" backgroundColor="#3a96d733" v-if="!item.company"
+								fontColor="#3a96d7" shape="circle">个人</tn-tag>
 
 							<text v-if="item.content"
 								class="blogger__desc__content tn-flex-1 tn-text-justify tn-text-df">{{ item.content }}</text>
 
 						</view>
 
+						<!-- 内容太多疲劳了-->
+						<view v-if="item.shareExt&&item.shareExt.length>0" class="blogger__content"
+							:id="`blogger__content--${index}`">
 
+							<basic-table header-row-class-name="basic-table-header" :columns="columns" :border="true"
+								:stripe="true" :data="item.shareExt">
+
+							</basic-table>
+						</view>
 
 						<block v-if="item.imgList">
 							<view v-if="[1,2,4].indexOf(item.imgList.length) != -1" class="tn-padding-top-xs"
-								@click="tn('')">
+								>
 								<image v-for="(image_item,image_index) in item.imgList" :key="image_index"
 									class="blogger__main-image" :class="{
               'blogger__main-image--1 tn-margin-bottom-sm': item.imgList.length === 1,
               'blogger__main-image--2 tn-margin-right-sm tn-margin-bottom-sm': item.imgList.length === 2 || item.imgList.length === 4
-            }" :src="image_item.ftpUrl" mode="scaleToFill" @click="showImg(item.imgList,image_index)"></image>
+            }" :src="image_item.ftpUrl" mode="aspectFill" @click="showImg(item.imgList,image_index)"></image>
 							</view>
 							<view v-else class="tn-padding-top-xs" @click="tn('')">
 								<tn-grid hoverClass="none" :col="3">
@@ -114,13 +139,13 @@
 										<!-- #ifndef MP-WEIXIN -->
 										<tn-grid-item style="width: 30%;margin: 10rpx;">
 											<image class="blogger__main-image blogger__main-image--3"
-												:src="image_item.ftpUrl" mode="scaleToFill"></image>
+												:src="image_item.ftpUrl" mode="aspectFill" @click="showImg(item.imgList,image_index)"></image>
 										</tn-grid-item>
 										<!-- #endif-->
 										<!-- #ifdef MP-WEIXIN -->
 										<tn-grid-item style="width: 30%;margin: 10rpx;">
 											<image class="blogger__main-image blogger__main-image--3"
-												:src="image_item.ftpUrl" mode="scaleToFill"></image>
+												:src="image_item.ftpUrl" mode="aspectFill" @click="showImg(item.imgList,image_index)"></image>
 										</tn-grid-item>
 										<!-- #endif-->
 									</block>
@@ -128,21 +153,14 @@
 							</view>
 						</block>
 
-						<!-- 内容太多疲劳了-->
-						<view v-if="item.shareExt&&item.shareExt.length>0" class="blogger__content"
-							:id="`blogger__content--${index}`">
-
-							<basic-table header-row-class-name="basic-table-header" :columns="columns" :border="true"
-								:stripe="true" :data="item.shareExt">
-
-							</basic-table>
-
-
-						</view>
-						<view v-for="file in item.fileDetailList" v-if="!isImage(file.fileName)">
+						
+						<view v-for="file in item.fileDetailList" :key="file.id" v-if="!isImage(file.fileName)">
 							<view style="margin-top:10px">
 								<text class="tn-icon-link"></text>
-								<view style="display: inline-block;margin-left:8px" @click="clickLink(file.ftpUrl)">
+								<view style="display: inline-block;margin-left:8px;    white-space: nowrap;
+     
+    text-overflow: ellipsis;
+    width: 80%;" @click="clickLink(file.ftpUrl,file.fileName)">
 									{{file.fileName}}</view>
 
 							</view>
@@ -170,11 +188,19 @@
 
 
 				<!-- 边距间隔 -->
-				<view class="tn-strip-bottom"></view>
+				<!-- <view class="tn-strip-bottom"></view> -->
 				<view v-if="showEmpty&&content.length==0" style="margin-top: 32vh;">
 					<tn-empty mode="list"></tn-empty>
 				</view>
 				<!-- 广告 -->
+				<!-- 结尾 -->
+				<view v-if="content.length==totalSize&&totalSize!=0&&currentTab==0" style="background-color: #f1f1f1cc;padding: 16px 0;">
+					<tn-load-more status="nomore" :loadText="loadText"></tn-load-more>
+				</view>
+				<view v-if="content.length==totalSize&&totalSize!=0&&currentTab==1" style="background-color: #f1f1f1cc;padding: 16px 0;">
+					<tn-load-more status="nomore" :loadText="loadText2"></tn-load-more>
+				</view>
+				 
 
 
 			</view>
@@ -185,29 +211,32 @@
 
 		 
 		<tn-popup v-model="showSheet" mode="center" closeBtn="true" borderRadius="16">
-			<view class="content" style="padding: 24px 36px;font-size: 16px;line-height: 24px; width: 300px;"
+			<view class="content" style="padding: 24px 36px;font-size: 16px;line-height: 24px; width: 320px;"
 				v-if="!showContact">
-				<button @click="linkTel()" style="border-radius:30px;color:#3a96d7;background-color: #d3e3fd;"><text
+				<button @click="linkTel()" style="border-radius:30px;color:#fff;background-color: #1d60b1;"><text
 						class="tn-icon-service" style="margin-right: 12px;"></text> 联系供方</button>
 				<!-- <view>联系我们帮助对接</view> -->
 				<button v-if="!collStatus" @click="addColl"
-					style="margin-top:10px;border-radius:30px;color:#3a96d7;background-color: #d3e3fd;"><text
+					style="margin-top:10px;border-radius:30px;" type="default" plain="true"><text
 						class="tn-icon-star" style="margin-right: 12px;"></text>
 					收&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;藏</button>
 				<button v-if="collStatus" @click="delColl"
-					style="margin-top:10px;border-radius:30px;color:#3a96d7;background-color: #d3e3fd;"><text
+					style="margin-top:10px;border-radius:30px;" type="default" plain="true"><text
 						class="tn-icon-star-fill" style="margin-right: 12px;"></text> 取消收藏</button>
 				<button open-type="share"
-					style="margin-top:10px;border-radius:30px;color:#3a96d7;background-color: #d3e3fd;"><text
+					style="margin-top:10px;border-radius:30px;" type="default" plain="true" :data-coupon="curItem"><text
 						class="tn-icon-send" style="margin-right: 12px;"></text>
 					转&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;发</button>
 			</view>
-			<view class="content" style="padding: 24px 36px;font-size: 16px;line-height: 24px; width: 300px;"
-				v-if="showContact">
-				<view><text v-if="curContact.company">公司名称:{{curContact.company}}</text></view>
-				<view><text>联系人姓名:{{curContact.contactPerson}}</text> </view>
-				<view><text>联系方式:{{curContact.contactMethod}}</text> </view>
-			</view>
+			<view class="content bg-content" style="padding: 50px 36px;padding-bottom: 32px;font-size: 16px;width:320px;line-height: 24px;"
+							v-if="showContact">
+							<view><text style="font-size: 20px;font-weight: bold;" v-if="curContact.company">{{curContact.company}}</text></view>
+							<view style="margin-top:20px;
+			   font-weight: bold;
+			   font-size: 20px;"><text class="tn-icon-my-formal"></text><text style="margin-left: 6px;">{{curContact.contactPerson}}</text> </view>
+							<view style="margin-top:20px;font-size: 20px;font-weight: bold;" @click="showTel(curContact.contactMethod)"><text class="tn-icon-tel"></text>
+			<text style="margin-left: 4px;">{{curContact.contactMethod}}</text> </view>
+						</view>
 
 		</tn-popup>
 		 
@@ -222,11 +251,22 @@
 			return {
 				loading: false,
 				searchProdValue: '',
+				searchProdValue2:'',
 				tabList: [{
 					'tab-name': '产品'
 				}, {
 					'tab-name': '服务'
 				}],
+				loadText: {
+					loadmore: '下拉加载',
+					loading: '快速加载中...',
+					nomore: '恭喜你,已阅读完所有供应信息哦!'
+				},
+				loadText2: {
+					loadmore: '下拉加载',
+					loading: '快速加载中...',
+					nomore: '恭喜你,已阅读完所有供应信息哦!'
+				},
 				currentTab: 0,
 				showEmpty: false,
 				columns: [{
@@ -250,16 +290,6 @@
 				current: 0,
 				collStatus: '',
 				searchValue: '',
-				scrollList: [{
-						name: '产品'
-					},
-					{
-						name: '服务'
-					},
-					{
-						name: '其他'
-					}
-				],
 				 
 				// 内容默认隐藏显示的高度
 				contentHideShowHeight: 0,
@@ -310,11 +340,7 @@
 		},
 		methods: {
 			showSearch(item) {
-				uni.showToast({
-					title: '请输入',
-					icon: 'none',
-					duration: 100
-				})
+				 
 				// 或者可以直接设置body的tabindex属性为-1,然后移除焦点
 				// 注意:这种方式可能会导致一些浏览器的兼容性问题
 
@@ -322,6 +348,18 @@
 					url: '/pages/comm/search'
 				})
 			},
+			showDetail(item){
+				uni.navigateTo({
+					url: '/pages/index/detail/detail?id='+item.bisNo+'&isNeed=0'
+				})
+			},
+			showSearch2(item) {
+				// 或者可以直接设置body的tabindex属性为-1,然后移除焦点
+				// 注意:这种方式可能会导致一些浏览器的兼容性问题
+				uni.navigateTo({
+					url: '/pages/comm/search2'
+				})
+			},
 			isImage(fileName) {
 				const imageExtensions = ['jpg', 'jpeg', 'png', 'gif', 'bmp', 'webp', 'ico']
 				const extension = fileName.split('.').pop().toLowerCase();
@@ -362,10 +400,13 @@
 
 				});
 			},
-			clickLink(url) {
+			clickLink(url,fileName) {
 				uni.navigateTo({
-					url: '/pages/webview/web-view?url=' + url,
+					url:'/pages/webview/web-view?url='+encodeURIComponent('http://slb-m.dev.ml1993.com/webview?title='+fileName+'&url='+ url),
 				})
+				// uni.navigateTo({
+				// 	url: '/pages/webview/web-view?url=' + url,
+				// })
 			},
 			// tab选项卡切换
 			tabChange(index) {
@@ -421,6 +462,9 @@
 				});
 				this.fetchData();
 			},
+			hideSheet(){
+				this.showSheet = false;
+			},
 			loadMore() {
 				if (this.totalSize > this.content.length) {
 					this.fetchData(this.curIndex + 1);
@@ -429,6 +473,7 @@
 			},
 			changeTab(index) {
 				this.currentTab = index;
+				this.content = [];
 				this.fetchData();
 			},
 			// 获取内容容器的信息
@@ -438,16 +483,20 @@
 				if (uni.getStorageSync('searchProdValue')) {
 					that.searchProdValue = uni.getStorageSync('searchProdValue');
 				}
+				if (uni.getStorageSync('searchProdValue2')) {
+					that.searchProdValue2 = uni.getStorageSync('searchProdValue2');
+				}
 				request.post('/slbResourceShare/query', {
 					type: that.currentTab == 1 ? '2' : '1',
 					index: curIndex,
-					content: that.currentTab == 1 ? that.searchValue : undefined,
-					prodDesc: that.currentTab == 0 ? (that.searchProdValue ? that.searchProdValue.split('/')[2] :
+					content: that.currentTab == 1 ? (that.searchProdValue2 ? that.searchProdValue2.split('/')[1]:'') : undefined,
+					
+					prodSpec: that.currentTab == 0 ? (that.searchProdValue ? that.searchProdValue.split('/')[2] :
 						'') : undefined,
 					prodName: that.currentTab == 0 ? (that.searchProdValue ? that.searchProdValue.split('/')[0] :
 						'') : undefined,
-					prodSpec: that.currentTab == 0 ? (that.searchProdValue ? that.searchProdValue.split('/')[1] :
-						'') : undefined,
+					brand: that.currentTab == 0 ? (that.searchProdValue ? that.searchProdValue.split('/')[1] :
+						'') : that.currentTab == 1 ?(that.searchProdValue2 ? that.searchProdValue2.split('/')[0]:''): undefined,
 				}).then(res => {
 					that.loading = false;
 					if (res && res.success) {
@@ -509,7 +558,6 @@
 
 			showActionSheet(item) {
 				let that = this;
-
 				this.curItem = item;
 				this.collStatus = false;
 				this.showSheet = true;
@@ -636,6 +684,11 @@
 				this.searchProdValue = '';
 				uni.removeStorageSync('searchProdValue');
 				this.fetchData();
+			},
+			clearProd2() {
+				this.searchProdValue2 = '';
+				uni.removeStorageSync('searchProdValue2');
+				this.fetchData();
 			}
 		}
 	}
@@ -1225,4 +1278,11 @@
 	/deep/ .basic-table-header {
 		background-color: #edeeee;
 	}
+	
+	.bg-content{
+		color: #fff;
+		background-image: url(./../../static/bg.png);
+		background-size: cover;
+	}
+
 </style>

+ 11 - 6
pages/comm/search.vue

@@ -14,23 +14,23 @@
 		</tn-nav-bar>
 		
 		<view style="width: 100%;padding:16px"  :style="{paddingTop: vuex_custom_bar_height + 'px'}">
-			<uni-search-bar radius="30" :focus="true" v-model="prodName"  placeholder="请输入您感兴趣的产品名称" cancelButton="none">
+			<uni-search-bar radius="30" :focus="true" v-model="prodName"  placeholder="请输入您感兴趣的产品名称(选填)" cancelButton="none">
 				<template v-slot:searchIcon>
 						 
 					</template>
 			</uni-search-bar>
-			<uni-search-bar radius="30"  v-model="brand"  placeholder="请输入您感兴趣的产品品牌" cancelButton="none">
+			<uni-search-bar radius="30"  v-model="brand"  placeholder="请输入您感兴趣的产品品牌(选填)" cancelButton="none">
 				<template v-slot:searchIcon>
 						 
 					</template>
 			</uni-search-bar>
-			<uni-search-bar radius="30" v-model="prodSpec" placeholder="请输入您感兴趣的产品型号" cancelButton="none">
+			<uni-search-bar radius="30" v-model="prodSpec" placeholder="请输入您感兴趣的产品型号(选填)" cancelButton="none">
 				<template v-slot:searchIcon>
 						 
 					</template>
 			</uni-search-bar>
-			
-			<button type="primary" style="border-radius:30px;background-color: #3a96d7;" radius @click="searchProd">搜索</button>
+			<button type="primary" style="background-color:#1d60b1;border-radius: 23px" @click="searchProd">搜索</button>
+			<!-- <button type="primary" style="border-radius:30px;background-color: #3a96d7;" radius @click="searchProd">搜索</button> -->
 		</view>
 	</view>
 </template>
@@ -49,7 +49,12 @@
 				uni.navigateBack();
 			},
 			searchProd(){
-				uni.setStorageSync('searchProdValue',this.prodName+'/'+this.brand+'/'+this.prodSpec)
+				if(this.prodName||this.brand||this.prodSpec){
+					uni.setStorageSync('searchProdValue',this.prodName+'/'+this.brand+'/'+this.prodSpec)
+				}else{
+					uni.removeStorageSync('searchProdValue');
+				}
+				
 				uni.navigateBack();
 			}
 		}

+ 83 - 0
pages/comm/search2.vue

@@ -0,0 +1,83 @@
+<template>
+	<view>
+		<tn-nav-bar fixed alpha customBack>
+		  <view slot="back" class='tn-custom-nav-bar__back'
+		    @click="goBack">
+		    <text class='icon tn-icon-left'></text>
+		  </view>
+		  <view slot="default">
+		  	<view>
+		  		<text>搜索</text>
+		  	</view>
+		  	 
+		  </view>
+		</tn-nav-bar>
+		
+		<view style="width: 100%;padding:16px"  :style="{paddingTop: vuex_custom_bar_height + 'px'}">
+			 
+			<uni-search-bar radius="30"  v-model="brand"  placeholder="请输入您感兴趣的产品品牌(选填)" cancelButton="none">
+				<template v-slot:searchIcon>
+						 
+					</template>
+			</uni-search-bar>
+			<uni-search-bar radius="30" v-model="content" placeholder="请输入您感兴趣的服务内容(选填)" cancelButton="none">
+				<template v-slot:searchIcon>
+						 
+					</template>
+			</uni-search-bar>
+			<button type="primary" style="background-color:#1d60b1;border-radius: 23px" @click="searchProd">搜索</button>
+			<!-- <button type="primary" style="border-radius:30px;background-color: #3a96d7;" radius @click="searchProd">搜索</button> -->
+		</view>
+	</view>
+</template>
+
+<script>
+	export default {
+		data() {
+			return {
+				brand: '',
+				content:'',
+			}
+		},
+		methods: {
+			goBack(){
+				uni.navigateBack();
+			},
+			searchProd(){
+				if(this.brand||this.content){
+					uni.setStorageSync('searchProdValue2',this.brand+'/'+this.content)
+				}else{
+					uni.removeStorageSync('searchProdValue2');
+				}
+				
+				uni.navigateBack();
+			}
+		}
+	}
+</script>
+
+<style lang="scss" scoped>
+    /* 胶囊*/
+    .tn-custom-nav-bar__back {
+      width: 60%;
+      height: 100%;
+      position: relative;
+      display: flex;
+      justify-content: space-evenly;
+      align-items: center;
+      box-sizing: border-box;
+      // background-color: rgba(0, 0, 0, 0.15);
+      border-radius: 1000rpx;
+      border: 1rpx solid rgba(255, 255, 255, 0.5);
+      // color: #333;
+      font-size: 18px;
+      
+      .icon {
+        display: block;
+        flex: 1;
+        margin: auto;
+        text-align: center;
+      }
+      
+    }
+</style>

+ 6 - 2
pages/discovery/discovery.vue

@@ -7,8 +7,12 @@
 		<view style="margin-top:24px"><text style="font-size:20px;">生物制药产业一站式产品资源供需平台</text></view>
 		 
 		<view style="display: flex;margin-top:32px">
-			<view style="flex: 1;padding: 0 16px;"><tn-button size="lg" width="100%"  backgroundColor="#3a96d7" fontColor="#ffffff" @click="showAdd">我要什么</tn-button></view>
-			<view style="flex: 1;padding: 0 16px;"><tn-button size="lg" width="100%"  backgroundColor="#1d60b1" fontColor="#ffffff" @click="showAdd2">我有什么</tn-button></view>
+			<view style="flex: 1;padding: 0 16px;">
+				<button type="primary" style="background-color:#1d60b1;border-radius: 23px" @click="showAdd">我要什么</button>
+			</view>
+			<view style="flex: 1;padding: 0 16px;">
+				<button type="primary" style="background-color:#1d60b1;border-radius: 23px" @click="showAdd2">我有什么</button>
+			</view>
 		</view>
 	</view>
 </template>

+ 214 - 159
pages/home/home.vue

@@ -1,32 +1,33 @@
 <template>
 	<view class="index tn-safe-area-inset-bottom">
-	 
+
 		<tn-nav-bar customBack>
 			<view slot="back" class='tn-custom-nav-bar__back' @click="reFetchData()">
 				<text v-if="!loading" class="tn-icon-circle-arrow" style="font-size: 50rpx;"></text>
-				<tn-loading v-if="loading" :size="46"></tn-loading>
+				<view style="margin-top:6px" v-if="loading"><tn-loading :size="46"></tn-loading></view>
 			</view>
-			
-			<view slot="default"  style="display: flex;">
-				<view style="flex:1;margin-left:25px">
+
+			<view slot="default" style="display: flex;">
+				<view style="flex:1;margin-left:25px;">
 					<text>我要什么</text>
 				</view>
 				<view>
-					<text class="tn-icon-add-fill" style="font-size: 30px;margin-right: 4px;" @click="addButton()"></text>
+					<text class="tn-icon-add-fill" style="font-size: 30px;margin-right: 4px;"
+						@click="addButton()"></text>
 				</view>
 			</view>
 		</tn-nav-bar>
-		 
+
 		<view class="" :style="{paddingTop: vuex_custom_bar_height + 'px'}">
-			<uv-sticky  :offsetTop="vuex_custom_bar_height + 'px'" bgColor="#ffffff">
+			<uv-sticky :offsetTop="vuex_custom_bar_height + 'px'" bgColor="#ffffff">
 				<uni-search-bar radius="15" placeholder="搜索" @confirm="search" v-model="searchValue" @blur="search"
-					    @cancel="cancel" @clear="clear" cancelButton="auto"
-					clearButton="auto" style="border-bottom: 1rpx solid #f1f1f1cc;">
+					@cancel="cancel" @clear="clear" cancelButton="auto" clearButton="auto"
+					style="border-bottom: 1rpx solid #f1f1f1cc;">
 				</uni-search-bar></uv-sticky>
 
 
 			<!-- 图文信息 -->
-			<block v-for="(item,index) in content" :key="index">
+			<block v-for="(item,index) in content" :key="item.id" >
 				<view class="blogger__item">
 					<view class="blogger__author tn-flex tn-flex-row-between tn-flex-col-center">
 						<view class="justify__author__info" @click="tn('')">
@@ -45,12 +46,13 @@
 								</view>
 							</view>
 						</view>
-						<view v-if="item.validDate" class="blogger__author__btn justify-content-item tn-flex-col-center tn-flex-row-center">
+						<view v-if="item.validDate"
+							class="blogger__author__btn justify-content-item tn-flex-col-center tn-flex-row-center">
 							<text class="" style="background: #3F51B542;font-size: 12px;
     padding: 8px;
     color: #0000FF;
     border-radius: 24px;
-    border-top-right-radius: 0;">{{item.validDate}}</text>
+    border-top-right-radius: 0;" @click="showValid(item.validDate)">{{item.validDate}}</text>
 						</view>
 					</view>
 
@@ -63,11 +65,11 @@
 							<text class="tn-text-df">{{ label_item }}</text>
 						</view> -->
 						<!-- 不用限制长度了,因为发布的时候限制长度了-->
-						<text 
+						<text
 							class="blogger__desc__content tn-flex-1 tn-text-justify tn-text-df">{{ item.content }}</text>
 					</view>
 
-				 
+
 
 					<block v-if="item.imgList">
 						<view v-if="[1,2,4].indexOf(item.imgList.length) != -1" class="tn-padding-top-xs"
@@ -83,28 +85,31 @@
 								<block v-for="(image_item,image_index) in item.imgList" :key="image_index">
 									<!-- #ifndef MP-WEIXIN -->
 									<tn-grid-item style="width: 30%;margin: 10rpx;">
-										<image class="blogger__main-image blogger__main-image--3" :src="image_item.ftpUrl"
-											mode="aspectFill" @click="showImg(item.imgList,image_index)"></image>
+										<image class="blogger__main-image blogger__main-image--3"
+											:src="image_item.ftpUrl" mode="aspectFill"
+											@click="showImg(item.imgList,image_index)"></image>
 									</tn-grid-item>
 									<!-- #endif-->
 									<!-- #ifdef MP-WEIXIN -->
 									<tn-grid-item style="width: 30%;margin: 10rpx;">
-										<image class="blogger__main-image blogger__main-image--3" :src="image_item.ftpUrl"
-											mode="aspectFill" @click="showImg(item.imgList,image_index)"></image>
+										<image class="blogger__main-image blogger__main-image--3"
+											:src="image_item.ftpUrl" mode="aspectFill"
+											@click="showImg(item.imgList,image_index)"></image>
 									</tn-grid-item>
 									<!-- #endif-->
 								</block>
 							</tn-grid>
 						</view>
 					</block>
-					<view v-for="file in item.fileDetailList" v-if="!isImage(file.fileName)">
+					<view v-for="file in item.fileDetailList" :key="item.id" v-if="!isImage(file.fileName)">
 						<view>
 							<text class="tn-icon-link"></text>
-						<view style="display: inline-block;margin-left:8px" @click="clickLink(file.ftpUrl)">{{file.fileName}}</view>
-						 	 
+							<view style="display: inline-block;margin-left:8px" @click="clickLink(file.ftpUrl,file.fileName)">
+								{{file.fileName}}</view>
+
 						</view>
 					</view>
-					 
+
 
 					<view class="tn-flex tn-flex-row-between tn-flex-col-center tn-margin-top-xs">
 						<view class="justify-content-item tn-color-gray tn-text-center">
@@ -126,28 +131,47 @@
 			<view v-if="showEmpty&&content.length==0" style="margin-top: 32vh;">
 				<tn-empty mode="data"></tn-empty>
 			</view>
-			
-			
+			<!-- 结尾 -->
+			<view v-if="content.length==totalSize&&totalSize!=0" style="background-color: #f1f1f1cc;padding: 16px 0;">
+				<tn-load-more status="nomore" :loadText="loadText"></tn-load-more>
+			</view>
+
+
 		</view>
-		 
+
 
 		<view class='tn-tabbar-height'></view>
+		
 		<tn-popup v-model="showSheet" mode="center" closeBtn="true" borderRadius="16">
-			<view class="content" style="padding: 24px 36px;font-size: 16px;line-height: 24px; width: 300px;" v-if="!showContact">
-				<button @click="linkTel()" style="border-radius:30px;color:#3a96d7;background-color: #d3e3fd;"><text class="tn-icon-service" style="margin-right: 12px;"></text> 联系需方</button>
+			<view class="content" style="padding: 24px 36px;font-size: 16px;line-height: 24px; width: 320px;"
+				v-if="!showContact">
+				<button @click="linkTel()" style="border-radius:30px;color:#fff;background-color: #1d60b1;"><text
+						class="tn-icon-service" style="margin-right: 12px;"></text> 联系需方</button>
 				<!-- <view>联系我们帮助对接</view> -->
-				<button v-if="!collStatus" @click="addColl" style="margin-top:10px;border-radius:30px;color:#3a96d7;background-color: #d3e3fd;"><text class="tn-icon-star" style="margin-right: 12px;"></text> 收&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;藏</button>
-				<button v-if="collStatus" @click="delColl" style="margin-top:10px;border-radius:30px;color:#3a96d7;background-color: #d3e3fd;"><text class="tn-icon-star-fill" style="margin-right: 12px;"></text> 取消收藏</button>
-				<button open-type="share" style="margin-top:10px;border-radius:30px;color:#3a96d7;background-color: #d3e3fd;"><text class="tn-icon-send" style="margin-right: 12px;"></text> 转&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;发</button>
+				<button v-if="!collStatus" @click="addColl"
+					style="margin-top:10px;border-radius:30px;" type="default" plain="true"><text
+						class="tn-icon-star" style="margin-right: 12px;"></text>
+					收&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;藏</button>
+				<button v-if="collStatus" @click="delColl"
+					style="margin-top:10px;border-radius:30px;" type="default" plain="true"><text
+						class="tn-icon-star-fill" style="margin-right: 12px;"></text> 取消收藏</button>
+				<button open-type="share"
+					style="margin-top:10px;border-radius:30px;" type="default" plain="true" :data-coupon="curItem"><text
+						class="tn-icon-send" style="margin-right: 12px;"></text>
+					转&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;发</button>
 			</view>
-			<view class="content" style="padding: 24px 36px;font-size: 16px;line-height: 24px; width: 300px;" v-if="showContact">
-				<view><text v-if="curContact.company">公司名称:{{curContact.company}}</text></view>
-				<view><text>联系人姓名:{{curContact.contactPerson}}</text> </view>
-				 <view><text>联系方式:{{curContact.contactMethod}}</text> </view>
+			<view class="content bg-content" style="padding: 50px 36px;padding-bottom: 32px;font-size: 16px;width:320px;line-height: 24px;"
+				v-if="showContact">
+				<view><text style="font-size: 20px;font-weight: bold;" v-if="curContact.company">{{curContact.company}}</text></view>
+				<view style="margin-top:20px;
+    font-weight: bold;
+    font-size: 20px;"><text class="tn-icon-my-formal"></text><text style="margin-left: 6px;">{{curContact.contactPerson}}</text> </view>
+				<view style="margin-top:20px;font-size: 20px;font-weight: bold;" @click="showTel(curContact.contactMethod)"><text class="tn-icon-tel"></text>
+ <text style="margin-left: 4px;">{{curContact.contactMethod}}</text> </view>
 			</view>
-			
+
 		</tn-popup>
-		 <tn-toast ref="toast"></tn-toast>
+		<tn-toast ref="toast"></tn-toast>
 	</view>
 </template>
 
@@ -155,24 +179,29 @@
 	import request from '../../utils/request'
 	export default {
 		name: 'Index',
-		
+
 		data() {
 			return {
-				loading:false,
-				showContact:false,
-				curContact:{},
-				totalSize:0,
-				curIndex:1,
+				loading: false,
+				loadText: {
+					loadmore: '下拉加载',
+					loading: '快速加载中...',
+					nomore: '恭喜你,已阅读完所有需求信息哦!'
+				},
+				showContact: false,
+				curContact: {},
+				totalSize: 0,
+				curIndex: 1,
 				showSheet: false,
-				curItem:{},
-				userNo:'',
+				curItem: {},
+				userNo: '',
 				searchValue: '',
-				collStatus:'',
+				collStatus: '',
 				cardCur: 0,
-				collId:'',
+				collId: '',
 				isAndroid: true,
-				content:[],
-				 
+				content: [],
+
 			}
 		},
 		filters: {
@@ -181,21 +210,23 @@
 				const date = new Date(value);
 				const today = new Date();
 				const yesterday = new Date(today); // 昨天的日期
-				  yesterday.setDate(yesterday.getDate() - 1); // 将昨天的日期设置为前一天
-				 
-				if(date.getFullYear()==today.getFullYear()&&date.getMonth()==today.getMonth()&&date.getDate()==today.getDate()){
-					return  '今天 ' + (date.getHours() > 9 ? '' : '0') + date.getHours() + ':' + (date
+				yesterday.setDate(yesterday.getDate() - 1); // 将昨天的日期设置为前一天
+
+				if (date.getFullYear() == today.getFullYear() && date.getMonth() == today.getMonth() && date.getDate() ==
+					today.getDate()) {
+					return '今天 ' + (date.getHours() > 9 ? '' : '0') + date.getHours() + ':' + (date
 						.getMinutes() > 9 ? '' : '0') + date.getMinutes(); // 根据需要格式化日期
 				}
-				if(date.getFullYear()==yesterday.getFullYear()&&date.getMonth()==yesterday.getMonth()&&date.getDate()==yesterday.getDate()){
-					return  '昨天 ' + (date.getHours() > 9 ? '' : '0') + date.getHours() + ':' + (date
+				if (date.getFullYear() == yesterday.getFullYear() && date.getMonth() == yesterday.getMonth() && date
+					.getDate() == yesterday.getDate()) {
+					return '昨天 ' + (date.getHours() > 9 ? '' : '0') + date.getHours() + ':' + (date
 						.getMinutes() > 9 ? '' : '0') + date.getMinutes(); // 根据需要格式化日期
 				}
 				return date.toLocaleDateString() + ' ' + (date.getHours() > 9 ? '' : '0') + date.getHours() + ':' + (date
 					.getMinutes() > 9 ? '' : '0') + date.getMinutes(); // 根据需要格式化日期
 			},
-			 
-			 
+
+
 		},
 		created() {
 			const systemInfo = uni.getSystemInfoSync()
@@ -209,60 +240,57 @@
 		onReachBottom() {
 			console.warn(12345);
 		},
-		onShareAppMessage: function() {
-			return {
-				title: '速立保•生物制药产业一站式产品资源供需平台',
-				path: '/pages/index/index',
-				// imageUrl: 'https://example.com/image.jpg'
-			};
-		},
+		 
 		methods: {
 			// cardSwiper
 			cardSwiper(e) {
 				this.cardCur = e.detail.current
 			},
-			clickLink(url){
+			clickLink(url,fileName) {
 				uni.navigateTo({
-					url:'/pages/webview/web-view?url='+url,
+					url:'/pages/webview/web-view?url='+encodeURIComponent('http://slb-m.dev.ml1993.com/webview?title='+fileName+'&url='+ url),
 				})
+				// uni.navigateTo({
+				// 	url: '/pages/webview/web-view?url=' + url,
+				// })
 			},
 			isImage(fileName) {
 				const imageExtensions = ['jpg', 'jpeg', 'png', 'gif', 'bmp', 'webp', 'ico']
 				const extension = fileName.split('.').pop().toLowerCase();
 				return imageExtensions.includes(extension);
 			},
-			reFetchData(){
+			reFetchData() {
 				this.loading = true;
 				uni.showToast({
-					title:'正在刷新...',
-					icon:'none'
+					title: '正在刷新...',
+					icon: 'none'
 				});
 				this.fetchData();
 			},
-			fetchData(curIndex=1) {
+			fetchData(curIndex = 1) {
 				let that = this;
 				that.showEmpty = false;
 				request.post('/slbResourceDemand/query', {
-					 index:curIndex,
-					 limit:10,
-					 content: that.searchValue,
+					index: curIndex,
+					limit: 10,
+					content: that.searchValue,
 				}).then(res => {
 					that.loading = false;
-					if(res.success){
-						that.totalSize = res.total||0;
-						let newList = res.list||[];
-						for(let i=0;i<newList.length;i++){
+					if (res.success) {
+						that.totalSize = res.total || 0;
+						let newList = res.list || [];
+						for (let i = 0; i < newList.length; i++) {
 							newList[i].imgList = [];
-							for(let j=0;j<newList[i].fileDetailList.length;j++){
-								if(that.isImage(newList[i].fileDetailList[j].fileName)){
+							for (let j = 0; j < newList[i].fileDetailList.length; j++) {
+								if (that.isImage(newList[i].fileDetailList[j].fileName)) {
 									newList[i].imgList.push(newList[i].fileDetailList[j]);
 								}
 							}
 						}
-						if(curIndex==1){
-							that.content=newList||[];
-						}else{
-							that.content= that.content.concat(newList||[]);
+						if (curIndex == 1) {
+							that.content = newList || [];
+						} else {
+							that.content = that.content.concat(newList || []);
 						}
 						that.showEmpty = true;
 					}
@@ -276,161 +304,182 @@
 					url: e,
 				});
 			},
+			hideSheet(){
+				this.showSheet = false;
+			},
 			showActionSheet(item) {
 				let that = this;
 				console.warn(item);
 				this.curItem = item;
+				this.curItem.isNeed = 1;
 				this.collStatus = false;
 				this.showSheet = true;
 				that.showContact = false;
-				if(uni.getStorageSync('userNo')){
-					 let params = {};
-					 
-					 params =  {
-					 	 fkBisNo:that.curItem.bisNo,
-					 	 userNo: uni.getStorageSync('userNo'),
-					 }; 
-					 request.post('/slbCollect/query', params).then(res => {
-					 	if(res.success){
-					 		 if(res.list&&res.list.length>0){
-								 that.collStatus = true;
-								 that.collId = res.list[0].id;
-							 }
-					 	}
-					 })
+				if (uni.getStorageSync('userNo')) {
+					let params = {};
+
+					params = {
+						fkBisNo: that.curItem.bisNo,
+						userNo: uni.getStorageSync('userNo'),
+					};
+					request.post('/slbCollect/query', params).then(res => {
+						if (res.success) {
+							if (res.list && res.list.length > 0) {
+								that.collStatus = true;
+								that.collId = res.list[0].id;
+							}
+						}
+					})
 				}
 			},
-			linkTel(){
-				
-				if(!uni.getStorageSync('userNo')){
+			linkTel() {
+
+				if (!uni.getStorageSync('userNo')) {
 					uni.showToast({
-						title:'请登录'
+						title: '请登录'
 					})
 					uni.navigateTo({
-						url:'/pages/login/login'
+						url: '/pages/login/login'
 					})
 					return false;
 				}
 				let that = this;
 				let params = {};
 				params.slbBisContact = JSON.stringify({
-					 fkBisNo:that.curItem.bisNo,
-					 bisType:'1',
-					 type:'1',
-					 userNo: uni.getStorageSync('userNo'),
-				}); 
+					fkBisNo: that.curItem.bisNo,
+					bisType: '1',
+					type: '1',
+					userNo: uni.getStorageSync('userNo'),
+				});
 				request.post('/slbBisContact/add', params).then(res => {
-					if(res.success){
-						 that.showContact = true;
-						 that.curContact.company = that.curItem.company;
-						 that.curContact.contactMethod = res.resultMap.contactMethod;
-						 that.curContact.contactPerson = res.resultMap.contactPerson;
-					}else{
+					if (res.success) {
+						that.showContact = true;
+						that.curContact.company = that.curItem.company;
+						that.curContact.contactMethod = res.resultMap.contactMethod;
+						that.curContact.contactPerson = res.resultMap.contactPerson;
+					} else {
 						that.showContact = false;
 						uni.showToast({
 							title: res.msg,
-							icon:'none'
+							icon: 'none'
 						})
 					}
 				})
 			},
-			
-			addColl(){
-				if(!uni.getStorageSync('userNo')){
+
+			addColl() {
+				if (!uni.getStorageSync('userNo')) {
 					uni.showToast({
-						title:'请登录'
+						title: '请登录'
 					})
 					uni.navigateTo({
-						url:'/pages/login/login'
+						url: '/pages/login/login'
 					})
 					return false;
 				}
 				let that = this;
 				let params = {};
 				params.slbCollect = JSON.stringify({
-					 fkBisNo:that.curItem.bisNo,
-					 bisType:'1',
-					 userNo: uni.getStorageSync('userNo'),
-				}); 
+					fkBisNo: that.curItem.bisNo,
+					bisType: '1',
+					userNo: uni.getStorageSync('userNo'),
+				});
 				request.post('/slbCollect/add', params).then(res => {
-					if(res.success){
+					if (res.success) {
 						uni.showToast({
 							title: '信息已收藏,请在我的收藏里查看阅读',
 							duration: 2000,
-							icon:'none'
+							icon: 'none'
 						});
 						that.showSheet = false;
-					}else{
+					} else {
 						uni.showToast({
 							title: res.msg
 						})
 					}
 				})
-				
+
 			},
-			delColl(){
+			delColl() {
 				let that = this;
 				request.post('/slbCollect/del', {
 					id: that.collId
 				}).then(res => {
-					if(res.success){
-						 uni.showToast({
-						 	title:'取消成功'
-						 })
-						 that.showSheet = false;
-					}else{
+					if (res.success) {
+						uni.showToast({
+							title: '取消成功'
+						})
+						that.showSheet = false;
+					} else {
 						uni.showToast({
 							title: res.msg
 						})
 					}
 				})
 			},
-			showImg(items, index){
+			showImg(items, index) {
 				let urls = [];
-				for(let i=0;i<items.length;i++){
+				for (let i = 0; i < items.length; i++) {
 					urls.push(items[i].ftpUrl);
 				}
-				 
+
 				// 预览图片
 				uni.previewImage({
 					urls: urls,
-					current:index,
-					 
+					current: index,
+
 				});
 			},
-            addButton(){
-				if(!uni.getStorageSync('userNo')){
+			showValid(text){
+				uni.showToast({
+					title: '有效期:'+text,
+					icon: 'none'
+				})
+			},
+			addButton() {
+				if (!uni.getStorageSync('userNo')) {
 					uni.showToast({
-						title:'请登录'
+						title: '请登录',
+						icon:'none'
 					})
 					uni.navigateTo({
-						url:'/pages/login/login'
+						url: '/pages/login/login'
 					})
 					return false;
-				}else{
+				} else {
 					uni.navigateTo({
-						url:'/circlePages/circle'
+						url: '/circlePages/circle'
 					})
 				}
-                //未登录,去登录
-                //已登录,去新增第一步
-            },
-			loadMore(){
-				if(this.totalSize>this.content.length){
-					this.fetchData(this.curIndex+1);
+				//未登录,去登录
+				//已登录,去新增第一步
+			},
+			loadMore() {
+				if (this.totalSize > this.content.length) {
+					this.fetchData(this.curIndex + 1);
 				}
 				console.error('正在加载更多');
 			},
-			search(){
+			search() {
 				this.fetchData();
 			},
-			cancel(){
-				this.searchValue='';
+			cancel() {
+				this.searchValue = '';
 				this.fetchData();
 			},
-			clear(){
-				this.searchValue='';
+			clear() {
+				this.searchValue = '';
 				this.fetchData();
+			},
+			showTel(tel){
+				uni.makePhoneCall({
+				  phoneNumber: tel,
+				});
+			},
+			showDetail(item){
+				uni.navigateTo({
+					url: '/pages/index/detail/detail?id='+item.bisNo+'&isNeed=1'
+				})
 			}
 		}
 	}
@@ -1335,8 +1384,14 @@
 	.hx-k6 {
 		transform: rotateX(90deg) rotateZ(90deg)
 	}
-	/deep/ .tn-toast{
+
+	/deep/ .tn-toast {
 		background-color: #000c !important;
 	}
-	 
+	
+	.bg-content{
+		color: #fff;
+		background-image: url(./../../static/bg.png);
+		background-size: cover;
+	}
 </style>

+ 5 - 2
pages/index/auth.vue

@@ -25,8 +25,11 @@
 					 that.loginByCode(res.code);
 				},
 				fail(res) {
-					 console.error(res);
-					uni.hideLoading();
+					//登录失效,
+					// uni.hideLoading();
+					uni.redirectTo({
+						url:'/pages/index/index'
+					})
 				}
 			});
 		

+ 646 - 0
pages/index/detail/detail.vue

@@ -0,0 +1,646 @@
+<template>
+	<view class="index tn-safe-area-inset-bottom">
+
+		<tn-nav-bar customBack>
+			<view slot="back" class='tn-custom-nav-bar__back' @click="goBack()">
+				<text class='icon tn-icon-left'></text>
+			</view>
+
+			<view slot="default" style="display: flex;">
+				<view style="flex:1;">
+					<text>速立保</text>
+				</view>
+				
+				
+			 
+
+			</view>
+		</tn-nav-bar>
+
+		<view :style="{paddingTop: vuex_custom_bar_height + 'px'}">
+				 
+				<view class="tn-flex tn-flex-direction-column  tn-margin-top-sm ">
+				
+							<!-- 图文信息 -->
+							<block v-for="(item,index) in content" :key="item.id">
+								<view class="blogger__item" :key="index">
+									<view class="blogger__author tn-flex tn-flex-row-between tn-flex-col-center">
+										<view class="justify__author__info">
+											<view class="tn-flex tn-flex-row-center">
+												<view class="tn-flex tn-flex-row-center tn-flex-col-center">
+													<!-- <view class="">
+													  <tn-avatar
+														class=""
+														shape="circle"
+														:src="item.userAvatar"
+														size="lg">
+													  </tn-avatar>
+													</view> -->
+													<view class="tn-padding-right tn-text-ellipsis">
+														<view class="tn-padding-right tn-color-grey tn-text-lg">
+															{{ item.company||(item.contactNickName||item.contactPerson) }}
+														</view>
+														<!-- <view class="tn-padding-right tn-padding-left-sm tn-padding-top-xs tn-color-gray">{{ item.date }}</view> -->
+													</view>
+												</view>
+											</view>
+										</view>
+										<view v-if="isNeed==1&&item.validDate"
+											class="blogger__author__btn justify-content-item tn-flex-col-center tn-flex-row-center">
+											<text class="" style="background: #3F51B542;font-size: 12px;
+											  padding: 8px;
+											  color: #0000FF;
+											  border-radius: 24px;
+											  border-top-right-radius: 0;">{{item.validDate}}</text>
+										</view>
+				
+									 
+									</view>
+				
+									<view
+										class="blogger__desc tn-margin-top-sm tn-margin-bottom-sm tn-text-justify tn-flex-col-center tn-flex-row-left"
+										>
+									 
+										<!-- 不用限制长度了,因为发布的时候限制长度了-->
+										<tn-tag margin="-4px 4px 0 0" backgroundColor="#3a96d733" v-if="item.brand"
+											fontColor="#3a96d7" shape="circle">{{ item.brand }}</tn-tag>
+										<tn-tag margin="-4px 4px 0 0" backgroundColor="#3a96d733" v-if="!item.company"
+											fontColor="#3a96d7" shape="circle">个人</tn-tag>
+				
+										<text v-if="item.content"
+											class="blogger__desc__content tn-flex-1 tn-text-justify tn-text-df">{{ item.content }}</text>
+				
+									</view>
+				
+									<!-- 内容太多疲劳了-->
+									<view v-if="item.shareExt&&item.shareExt.length>0" class="blogger__content"
+										:id="`blogger__content--${index}`">
+				
+										<basic-table header-row-class-name="basic-table-header" :columns="columns" :border="true"
+											:stripe="true" :data="item.shareExt">
+				
+										</basic-table>
+									</view>
+				
+									<block v-if="item.imgList">
+										<view v-if="[1,2,4].indexOf(item.imgList.length) != -1" class="tn-padding-top-xs"
+											>
+											<image v-for="(image_item,image_index) in item.imgList" :key="image_index"
+												class="blogger__main-image" :class="{
+				          'blogger__main-image--1 tn-margin-bottom-sm': item.imgList.length === 1,
+				          'blogger__main-image--2 tn-margin-right-sm tn-margin-bottom-sm': item.imgList.length === 2 || item.imgList.length === 4
+				        }" :src="image_item.ftpUrl" mode="aspectFill" @click="showImg(item.imgList,image_index)"></image>
+										</view>
+										<view v-else class="tn-padding-top-xs" @click="tn('')">
+											<tn-grid hoverClass="none" :col="3">
+												<block v-for="(image_item,image_index) in item.imgList" :key="image_index">
+													<!-- #ifndef MP-WEIXIN -->
+													<tn-grid-item style="width: 30%;margin: 10rpx;">
+														<image class="blogger__main-image blogger__main-image--3"
+															:src="image_item.ftpUrl" mode="aspectFill" @click="showImg(item.imgList,image_index)"></image>
+													</tn-grid-item>
+													<!-- #endif-->
+													<!-- #ifdef MP-WEIXIN -->
+													<tn-grid-item style="width: 30%;margin: 10rpx;">
+														<image class="blogger__main-image blogger__main-image--3"
+															:src="image_item.ftpUrl" mode="aspectFill" @click="showImg(item.imgList,image_index)"></image>
+													</tn-grid-item>
+													<!-- #endif-->
+												</block>
+											</tn-grid>
+										</view>
+									</block>
+				
+									
+									<view v-for="file in item.fileDetailList" :key="file.id" v-if="!isImage(file.fileName)">
+										<view style="margin-top:10px">
+											<text class="tn-icon-link"></text>
+											<view style="display: inline-block;margin-left:8px;    white-space: nowrap;
+				 
+				text-overflow: ellipsis;
+				width: 80%;" @click="clickLink(file.ftpUrl,file.fileName)">
+												{{file.fileName}}</view>
+				
+										</view>
+									</view>
+				
+									<view class="tn-flex tn-flex-row-between tn-flex-col-center tn-margin-top-xs">
+										<view class="justify-content-item tn-color-gray tn-text-center">
+											<view class="tn-padding-right   tn-padding-top-xs tn-color-gray">
+												{{ item.createTime|formatDate }}
+											</view>
+				
+										</view>
+										<view class="justify-content-item tn-flex tn-flex-col-center">
+											<text class="tn-icon-more-vertical tn-color-gray tn-text-bold tn-text-xxl"
+												@click="showActionSheet(item)"></text>
+										</view>
+									</view>
+								</view>
+				
+								<!-- 边距间隔 -->
+								<view class="tn-strip-bottom" v-if="index != content.length - 1"></view>
+							</block>
+				
+				
+				
+				
+							<!-- 边距间隔 -->
+							<!-- <view class="tn-strip-bottom"></view> -->
+							<view v-if="showEmpty&&content.length==0" style="margin-top: 32vh;">
+								<tn-empty mode="list"></tn-empty>
+							</view>
+							<!-- 广告 -->
+							<!-- 结尾 -->
+							
+							
+							 
+				
+				
+						</view> 
+				 
+		</view> 
+		<tn-popup v-model="showSheet" mode="center" closeBtn="true" borderRadius="16">
+			<view class="content" style="padding: 24px 36px;font-size: 16px;line-height: 24px; width: 320px;"
+				v-if="!showContact">
+				<button @click="linkTel()" style="border-radius:30px;color:#fff;background-color: #1d60b1;"><text
+						class="tn-icon-service" style="margin-right: 12px;"></text> {{isNeed==1?'联系需方':'联系供方'}}</button>
+				<!-- <view>联系我们帮助对接</view> -->
+				<button v-if="!collStatus" @click="addColl"
+					style="margin-top:10px;border-radius:30px;" type="default" plain="true"><text
+						class="tn-icon-star" style="margin-right: 12px;"></text>
+					收&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;藏</button>
+				<button v-if="collStatus" @click="delColl"
+					style="margin-top:10px;border-radius:30px;" type="default" plain="true"><text
+						class="tn-icon-star-fill" style="margin-right: 12px;"></text> 取消收藏</button>
+				<button open-type="share" @click="hideSheet"
+					style="margin-top:10px;border-radius:30px;" type="default" plain="true" :data-coupon="curItem"><text
+						class="tn-icon-send" style="margin-right: 12px;"></text>
+					转&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;发</button>
+			</view>
+			<view class="content bg-content" style="padding: 50px 36px;padding-bottom: 32px;font-size: 16px;width:320px;line-height: 24px;"
+				v-if="showContact">
+				<view><text style="font-size: 20px;font-weight: bold;" v-if="curContact.company">{{curContact.company}}</text></view>
+				<view style="margin-top:20px;
+    font-weight: bold;
+    font-size: 20px;"><text class="tn-icon-my-formal"></text><text style="margin-left: 6px;">{{curContact.contactPerson}}</text> </view>
+				<view style="margin-top:20px;font-size: 20px;font-weight: bold;" @click="showTel(curContact.contactMethod)"><text class="tn-icon-tel"></text>
+ <text style="margin-left: 4px;">{{curContact.contactMethod}}</text> </view>
+			</view>
+		</tn-popup>
+	</view>
+</template>
+
+<script>
+	import request from '../../../utils/request'
+
+	export default {
+		data() {
+			return {
+				bisNo:'',
+				isNeed:'',
+				imgList:[],
+				fileDetailList:[],
+				showHistory: false,
+				content: [],
+				contentValue:'',
+				contactMethod:uni.getStorageSync('userInfo')?JSON.parse(uni.getStorageSync('userInfo')).userName:'',
+				typeValue:1,
+				 
+				showEmpty: false,
+				content:[],
+				curItem:{},
+				showSheet:false,
+				collStatus:false,
+				columns: [{
+					fieldName: 'prodName',
+					fieldDesc: '产品名称',
+				
+				}, {
+					fieldName: 'prodSpec',
+					fieldDesc: '规格型号',
+				
+				}, {
+					fieldName: 'prodDesc',
+					fieldDesc: '产品介绍',
+				
+				}],
+				curContact:{},
+				showContact: false,
+			}
+		},
+		filters: {
+			formatDate(value) {
+				if (!value) return '';
+				const date = new Date(value);
+				const today = new Date();
+				const yesterday = new Date(today); // 昨天的日期
+				yesterday.setDate(yesterday.getDate() - 1); // 将昨天的日期设置为前一天
+
+				if (date.getFullYear() == today.getFullYear() && date.getMonth() == today.getMonth() && date.getDate() ==
+					today.getDate()) {
+					return '今天 ' + (date.getHours() > 9 ? '' : '0') + date.getHours() + ':' + (date
+						.getMinutes() > 9 ? '' : '0') + date.getMinutes(); // 根据需要格式化日期
+				}
+				if (date.getFullYear() == yesterday.getFullYear() && date.getMonth() == yesterday.getMonth() && date
+					.getDate() == yesterday.getDate()) {
+					return '昨天 ' + (date.getHours() > 9 ? '' : '0') + date.getHours() + ':' + (date
+						.getMinutes() > 9 ? '' : '0') + date.getMinutes(); // 根据需要格式化日期
+				}
+				return date.toLocaleDateString() + ' ' + (date.getHours() > 9 ? '' : '0') + date.getHours() + ':' + (date
+					.getMinutes() > 9 ? '' : '0') + date.getMinutes(); // 根据需要格式化日期
+			},
+
+
+		},
+		created() {
+			// uni.navigateTo({
+			// 	url:'/pages/mine/addFeed'
+			// })
+		},
+		methods: {
+			 showHis(){
+				uni.navigateTo({
+					url:'/pages/mine/feedback'
+				}) 
+			 },
+			 
+			goBack() {
+				uni.navigateBack();
+				uni.navigateTo({
+					url:'/pages/index/index'
+				}) 
+			},
+			isImage(fileName) {
+				const imageExtensions = ['jpg', 'jpeg', 'png', 'gif', 'bmp', 'webp', 'ico']
+				const extension = fileName.split('.').pop().toLowerCase();
+				return imageExtensions.includes(extension);
+			},
+			showImg(items, index) {
+				let urls = [];
+				for (let i = 0; i < items.length; i++) {
+					urls.push(items[i].ftpUrl);
+				}
+				// wx.chooseMessageFile({
+				//   count: 3, //默认100
+				//   type:'file',
+				//   extension:['.pdf','.doc'],
+				// 	success: function (res) {
+				// 		console.error(JSON.stringify(res));
+				// 	}
+				// });
+				// 预览图片
+				uni.previewImage({
+					urls: urls,
+					current: index,
+			
+				});
+			},
+			clickLink(url,fileName) {
+				uni.navigateTo({
+					url:'/pages/webview/web-view?url='+encodeURIComponent('http://slb-m.dev.ml1993.com/webview?title='+fileName+'&url='+ url),
+				})
+				// uni.navigateTo({
+				// 	url: '/pages/webview/web-view?url=' + url,
+				// })
+			},
+			hideSheet(){
+				this.showSheet = false;
+			},
+			showActionSheet(item) {
+				let that = this;
+				console.warn(item);
+				this.curItem = item;
+				this.curItem.isNeed = 1;
+				this.collStatus = false;
+				this.showSheet = true;
+				that.showContact = false;
+				if (uni.getStorageSync('userNo')) {
+					let params = {};
+			
+					params = {
+						fkBisNo: that.curItem.bisNo,
+						userNo: uni.getStorageSync('userNo'),
+					};
+					request.post('/slbCollect/query', params).then(res => {
+						if (res.success) {
+							if (res.list && res.list.length > 0) {
+								that.collStatus = true;
+								that.collId = res.list[0].id;
+							}
+						}
+					})
+				}
+			},
+			linkTel() {
+			
+				if (!uni.getStorageSync('userNo')) {
+					uni.showToast({
+						title: '请登录'
+					})
+					uni.navigateTo({
+						url: '/pages/login/login'
+					})
+					return false;
+				}
+				let that = this;
+				let params = {};
+				params.slbBisContact = JSON.stringify({
+					fkBisNo: that.curItem.bisNo,
+					bisType: that.isNeed==1?'1':'2',
+					type: '1',
+					userNo: uni.getStorageSync('userNo'),
+				});
+				request.post('/slbBisContact/add', params).then(res => {
+					if (res.success) {
+						that.showContact = true;
+						that.curContact.company = that.curItem.company;
+						that.curContact.contactMethod = res.resultMap.contactMethod;
+						that.curContact.contactPerson = res.resultMap.contactPerson;
+					} else {
+						that.showContact = false;
+						uni.showToast({
+							title: res.msg,
+							icon: 'none'
+						})
+					}
+				})
+			},
+			
+			addColl() {
+				if (!uni.getStorageSync('userNo')) {
+					uni.showToast({
+						title: '请登录'
+					})
+					uni.navigateTo({
+						url: '/pages/login/login'
+					})
+					return false;
+				}
+				let that = this;
+				let params = {};
+				params.slbCollect = JSON.stringify({
+					fkBisNo: that.curItem.bisNo,
+					bisType: '1',
+					userNo: uni.getStorageSync('userNo'),
+				});
+				request.post('/slbCollect/add', params).then(res => {
+					if (res.success) {
+						uni.showToast({
+							title: '信息已收藏,请在我的收藏里查看阅读',
+							duration: 2000,
+							icon: 'none'
+						});
+						that.showSheet = false;
+					} else {
+						uni.showToast({
+							title: res.msg
+						})
+					}
+				})
+			
+			},
+			delColl() {
+				let that = this;
+				request.post('/slbCollect/del', {
+					id: that.collId
+				}).then(res => {
+					if (res.success) {
+						uni.showToast({
+							title: '取消成功'
+						})
+						that.showSheet = false;
+					} else {
+						uni.showToast({
+							title: res.msg
+						})
+					}
+				})
+			},
+			loadData(){
+				let that = this;
+			 
+				request.post(that.isNeed==1?'/slbResourceDemand/query':'/slbResourceShare/query', {
+					 
+					bisNo: that.bisNo
+				}).then(res => {
+					 
+					if (res.success) {
+						 
+						let newList = res.list || [];
+						for (let i = 0; i < newList.length; i++) {
+							newList[i].imgList = [];
+							for (let j = 0; j < newList[i].fileDetailList.length; j++) {
+								if (that.isImage(newList[i].fileDetailList[j].fileName)) {
+									newList[i].imgList.push(newList[i].fileDetailList[j]);
+								}
+							}
+						}
+						if (1 == 1) {
+							that.content = newList || [];
+						} else {
+							that.content = that.content.concat(newList || []);
+						}
+						// that.showEmpty = true;
+					}
+					console.warn(res);
+				})
+			},
+			sleep(time) {
+			    return new Promise((resolve) => setTimeout(resolve, time));
+			},	
+			onShareAppMessage: function(option) {
+				this.showSheet = false;
+				this.sleep(1500);
+				return;
+			}
+		},
+		onLoad(props) {
+			 this.bisNo = props.id;
+			 this.isNeed = props.isNeed;
+			 this.loadData();
+		}
+	}
+</script>
+
+<style lang="scss" scoped>
+	/* 胶囊*/
+	.tn-custom-nav-bar__back {
+		width: 60%;
+		height: 100%;
+		position: relative;
+		display: flex;
+		justify-content: space-evenly;
+		align-items: center;
+		box-sizing: border-box;
+		// background-color: rgba(0, 0, 0, 0.15);
+		border-radius: 1000rpx;
+		border: 1rpx solid rgba(255, 255, 255, 0.5);
+		// color: #FFFFFF;
+		font-size: 18px;
+
+		.icon {
+			display: block;
+			flex: 1;
+			margin: auto;
+			text-align: center;
+		}
+
+		&:before {
+			content: " ";
+			width: 1rpx;
+			height: 110%;
+			position: absolute;
+			top: 22.5%;
+			left: 0;
+			right: 0;
+			margin: auto;
+			transform: scale(0.5);
+			transform-origin: 0 0;
+			pointer-events: none;
+			box-sizing: border-box;
+			opacity: 0.7;
+			background-color: #FFFFFF;
+		}
+	}
+	
+	
+	/* 文章内容 start*/
+	.blogger {
+		&__item {
+			padding: 30rpx;
+		}
+	
+		&__author {
+			&__btn {
+				margin-right: -12rpx;
+				opacity: 0.5;
+			}
+		}
+	
+		&__desc {
+			line-height: 30rpx;
+	
+			&__label {
+	
+				color: #1D2541;
+				background-color: #F3F2F7;
+				border-radius: 10rpx;
+				font-size: 22rpx;
+	
+				padding: 5rpx 15rpx;
+				margin: 5rpx 18rpx 0 0;
+	
+				&--prefix {
+					font-size: 24rpx;
+					color: #1D2541;
+					padding-right: 10rpx;
+				}
+			}
+	
+			&__content {
+				line-height: 50rpx;
+			}
+		}
+	
+		&__content {
+			margin-top: 18rpx;
+			padding-right: 18rpx;
+	
+			&__data {
+				line-height: 46rpx;
+				text-align: justify;
+				overflow: hidden;
+				transition: all 0.25s ease-in-out;
+	
+			}
+	
+			&__status {
+				margin-top: 10rpx;
+				font-size: 26rpx;
+				color: #82B2FF;
+			}
+		}
+	
+		&__main-image {
+			border: 1rpx solid #F8F7F8;
+			border-radius: 16rpx;
+	
+			&--1 {
+				max-width: 80%;
+				max-height: 300rpx;
+			}
+	
+			&--2 {
+				max-width: 260rpx;
+				max-height: 260rpx;
+			}
+	
+			&--3 {
+				height: 212rpx;
+				width: 100%;
+			}
+		}
+	
+		&__count-icon {
+			font-size: 40rpx;
+			padding-right: 5rpx;
+		}
+	
+		&__ad {
+			width: 100%;
+			height: 500rpx;
+			transform: translate3d(0px, 0px, 0px) !important;
+	
+			::v-deep .uni-swiper-slide-frame {
+				transform: translate3d(0px, 0px, 0px) !important;
+			}
+	
+			.uni-swiper-slide-frame {
+				transform: translate3d(0px, 0px, 0px) !important;
+			}
+	
+			&__item {
+				position: absolute;
+				width: 100%;
+				height: 100%;
+				transform-origin: left center;
+				transform: translate3d(100%, 0px, 0px) scale(1) !important;
+				transition: transform 0.25s ease-in-out;
+				z-index: 1;
+	
+				&--0 {
+					transform: translate3d(0%, 0px, 0px) scale(1) !important;
+					z-index: 4;
+				}
+	
+				&--1 {
+					transform: translate3d(13%, 0px, 0px) scale(0.9) !important;
+					z-index: 3;
+				}
+	
+				&--2 {
+					transform: translate3d(26%, 0px, 0px) scale(0.8) !important;
+					z-index: 2;
+				}
+			}
+	
+			&__content {
+				border-radius: 40rpx;
+				width: 640rpx;
+				height: 500rpx;
+				overflow: hidden;
+			}
+	
+			&__image {
+				width: 100%;
+				height: 100%;
+			}
+		}
+	}
+	.bg-content{
+		color: #fff;
+		background-image: url(./../../../static/bg.png);
+		background-size: cover;
+	}
+</style>

+ 147 - 6
pages/index/index.vue

@@ -28,6 +28,7 @@
 
 		<tn-tabbar v-model="currentIndex" :list="tabbarList" activeColor="#1d60b1" inactiveColor="#AAAAAA"
 			activeIconColor="#1d60b1" :animation="true" :safeAreaInsetBottom="true" @change="switchTabbar"></tn-tabbar>
+			<canvas type="2d" id="myCanvas" style="width: 450px; height: 450px;left:9000px;position:fixed;"></canvas>
 	</view>
 </template>
 
@@ -49,13 +50,13 @@
 				// 底部tabbar菜单数据
 				tabbarList: [{
 						title: '我要什么',
-						activeIcon: 'home-smile-fill',
-						inactiveIcon: 'home-smile'
+						activeIcon: 'trust-fill',
+						inactiveIcon: 'trust'
 					},
 					{
 						title: '我有什么',
-						activeIcon: 'shop-fill',
-						inactiveIcon: 'shop'
+						activeIcon: 'team-fill',
+						inactiveIcon: 'team'
 					},
 					// {
 					//   title: '发现',
@@ -81,7 +82,8 @@
 				// tabbar当前被选中的序号
 				currentIndex: 0,
 				// 自定义底栏对应页面的加载情况
-				tabberPageLoadFlag: []
+				tabberPageLoadFlag: [],
+				shareData:{}
 			}
 		},
 		onLoad(options) {
@@ -257,7 +259,146 @@
 					this.tabberPageLoadFlag[index] = true
 				}
 				this.currentIndex = index
-			}
+			},
+			// 获取canvas实例和ctx画笔
+			  getMyCanvasAndCtx(id) {
+			    //id  canvas 2d的id
+			    return new Promise((resolve) => {
+			
+			      const query = wx.createSelectorQuery();
+			
+			      query
+			
+			        .select(`#${id}`)
+			
+			        .fields({
+			
+			          node: true,
+			
+			          size: true,
+			
+			        })
+			
+			        .exec((res) => {
+			
+			          const canvas = res[0].node;
+			
+			          const ctx = canvas.getContext("2d");
+			
+			          const dpr = wx.getSystemInfoSync().pixelRatio;
+			
+			          canvas.width = res[0].width * dpr;
+			
+			          canvas.height = res[0].height * dpr;
+			
+			          ctx.scale(dpr, dpr);
+			
+			          const data = {
+			
+			            canvas,
+			
+			            ctx,
+			
+			          };
+			
+			          resolve(data);
+			
+			        });
+			
+			    });
+			
+			  },
+			
+			 sleep(time) {
+			     return new Promise((resolve) => setTimeout(resolve, time));
+			 },
+			async initCanvas(){
+				 // 保存画布
+				   const { ctx, canvas } = await this.getMyCanvasAndCtx("myCanvas");
+				    ctx.save();
+				  
+				    ctx.font = "24px";
+				    // ctx.textAlign = "center";
+				    ctx.fillText(this.shareData.company||this.shareData.contactPerson, 0, 32);
+
+					// ctx.textAlign = "center";
+					ctx.fillText(this.shareData.content, 0, 72);
+					
+				    // sleep 500毫秒,等待图片加载完成 不然有可能圆形头像没有加载出来
+				
+				    await this.sleep(500);
+				
+				    let url = null;
+				    
+				    // 需要自行封装 canvasToTempFilePath
+				
+				    const res = await wx.canvasToTempFilePath({ canvas });
+				
+				    url = res.tempFilePath;
+				
+				    return url;
+				 
+			},
+			onShareAppMessage: function(option) {
+				if(option.from=="button"){
+					if (this.currentIndex === 0) {
+						this.$refs.home.hideSheet();
+					}
+					if (this.currentIndex === 1) {
+						this.$refs.comm.hideSheet();
+					}
+					
+					this.shareData=option.target.dataset.coupon;
+					
+					 const promise = new Promise(async (resolve) => {
+					
+					      const url = await this.initCanvas();
+					
+					      resolve({
+					
+					        // title: `速立保`,
+					
+					        path: `/pages/index/detail/detail?id=`+this.shareData.bisNo+'&isNeed='+(this.shareData.isNeed?1:0),
+					
+					        // imageUrl: url,
+					
+					      });
+					
+					    });
+					    
+					    // 默认参数
+					    return {
+					      // title: `速立保`,
+					      path: `/pages/index/detail/detail?id=`+this.shareData.bisNo+'&isNeed='+(this.shareData.isNeed?1:0),
+					      promise,
+					    };
+					 
+				}else{
+					return {
+						// title: '速立保',
+						path: '/pages/index/index',
+						// imageUrl: 'https://test-oss.lx-device.com/userFeedback/1733213748200dRV.png'
+					};
+				}
+				
+				
+			},
+			
+			onShareAppMessage0: function(option) {
+				if(option.from=="button"){
+					if (this.currentIndex === 0) {
+						this.$refs.home.hideSheet();
+					}
+					if (this.currentIndex === 1) {
+						this.$refs.comm.hideSheet();
+					}
+				}
+				
+				return {
+					title: '速立保',
+					path: '/pages/index/index',
+				};
+			},
 		}
 	}
 </script>

+ 11 - 8
pages/mine/addFeed.vue

@@ -7,11 +7,11 @@
 			</view>
 
 			<view slot="default" style="display: flex;">
-				<view style="flex:1;margin-left:25px">
+				<view style="flex:1;">
 					<text>问题反馈</text>
 				</view>
 				
-				<view @click="showHis">
+				<view @click="showHis" style="margin-right:10px">
 					<text class='tn-icon-time'></text>
 					历史反馈
 				</view>
@@ -44,7 +44,7 @@
 			<view style="display: flex;line-height: 37px;padding: 16px;">
 				<view style="margin-right: 8px;">联系方式</view>
 				<view style="flex:1">
-					<uni-easyinput  v-model="contactMethod" placeholder="请输入内容"></uni-easyinput>
+					<uni-easyinput  v-model="contactMethod" placeholder="请填写您的手机号,以便我们联系您"></uni-easyinput>
 					
 				</view>
 				
@@ -56,11 +56,10 @@
 		<view class="tn-flex tn-footerfixed">
 			 
 			<view class="tn-flex-1 justify-content-item tn-margin-sm tn-text-center">
-				<tn-button backgroundColor="#3668FC" padding="40rpx 0" width="60%" shadow fontBold @click="saveForm()">
-					<!-- <text class="tn-icon-light tn-padding-right-xs tn-color-black"></text> -->
+				<button type="primary" style="background-color:#1d60b1;border-radius: 23px" @click="saveForm()">提交</button>
+				<!-- <tn-button backgroundColor="#3668FC" padding="40rpx 0" width="60%" shadow fontBold @click="saveForm()">
 					<text class="tn-color-white">提交</text>
-					<!-- <text class="tn-icon-camera tn-padding-left-xs tn-color-black"></text> -->
-				</tn-button>
+				</tn-button> -->
 			</view>
 		</view>
 
@@ -87,12 +86,16 @@
 					},
 					{
 						value: 2,
-						text: "平台问题"
+						text: "平台机制咨询"
 					},
 					{
 						value: 3,
 						text: "投诉"
 					},
+					{
+						value: 4,
+						text: "其他"
+					},
 				],
 				showEmpty: false,
 			}

+ 150 - 39
pages/mine/coll.vue

@@ -30,14 +30,14 @@
 												</view> -->
 										<view class="tn-padding-right tn-text-ellipsis">
 											<view class="tn-padding-right tn-text-bold tn-text-lg">
-												{{ item.company }}
+												{{ item.company||(item.contactNickName||item.contactPerson) }}
 											</view>
 
 										</view>
 									</view>
 								</view>
 							</view>
-							<view v-if="item.validDate"
+							<view v-if="item.validDate&&current==0"
 								class="blogger__author__btn justify-content-item tn-flex-col-center tn-flex-row-center">
 								<text class="" style="background: #3F51B542;font-size: 12px;
 				padding: 8px;
@@ -49,7 +49,7 @@
 
 						<view
 							class="blogger__desc tn-margin-top-sm tn-margin-bottom-sm tn-text-justify tn-flex-col-center tn-flex-row-left"
-							@click="tn('')">
+							 >
 							<!-- <view v-for="(label_item,label_index) in item.label" :key="label_index"
 										class="blogger__desc__label tn-float-left tn-margin-right">
 										<text class="blogger__desc__label--prefix tn-icon-topics-fill"></text>
@@ -57,7 +57,9 @@
 									</view> -->
 							<!-- 不用限制长度了,因为发布的时候限制长度了-->
 							<tn-tag margin="-4px 4px 0 0" backgroundColor="#3a96d733" v-if="item.brand" fontColor="#3a96d7" shape="circle">{{ item.brand }}</tn-tag>
-							 				
+							 
+							<tn-tag margin="-4px 4px 0 0" backgroundColor="#3a96d733" v-if="!item.company"
+								fontColor="#3a96d7" shape="circle">个人</tn-tag> 				
 							<text
 								class="blogger__desc__content tn-flex-1 tn-text-justify tn-text-df">{{ item.content }}</text>
 						</view>
@@ -73,6 +75,38 @@
 				        {{ item.content }}
 				      </view>
 				    </view> -->
+					
+					<!-- 内容太多疲劳了-->
+					<view v-if="item.shareExt&&item.shareExt.length>0" class="blogger__content"
+						:id="`blogger__content--${index}`">
+					
+						<basic-table header-row-class-name="basic-table-header" :columns="columns" :border="true"
+							:stripe="true" :data="item.shareExt">
+					
+						</basic-table>
+					</view>
+					
+						<!-- 内容太多疲劳了-->
+						<!-- <view
+						  v-if="item.shareExt&&item.shareExt.length>0"
+						  class="blogger__content"
+						  :id="`blogger__content--${index}`"
+						>
+						  <uni-table border stripe emptyText="暂无更多数据" >
+							 
+							<uni-tr>
+								<uni-th align="center">产品名称1</uni-th>
+								<uni-th align="center">规格型号</uni-th>
+								<uni-th align="left">产品介绍</uni-th>
+							</uni-tr>
+							 
+							<uni-tr v-for="extItem in item.shareExt">
+								<uni-td>{{extItem.prodName}}</uni-td>
+								<uni-td>{{extItem.prodSpec}}</uni-td>
+								<uni-td>{{extItem.prodDesc}}</uni-td>
+							</uni-tr>
+						  </uni-table>
+						</view> -->
 
 						<block v-if="item.imgList">
 							<view v-if="[1,2,4].indexOf(item.imgList.length) != -1" class="tn-padding-top-xs"
@@ -81,7 +115,7 @@
 									class="blogger__main-image" :class="{
 				            'blogger__main-image--1 tn-margin-bottom-sm': item.imgList.length === 1,
 				            'blogger__main-image--2 tn-margin-right-sm tn-margin-bottom-sm': item.imgList.length === 2 || item.imgList.length === 4
-				          }" :src="image_item.ftpUrl" mode="scaleToFill" @click="showImg(item.imgList,image_index)"></image>
+				          }" :src="image_item.ftpUrl" mode="aspectFill" @click="showImg(item.imgList,image_index)"></image>
 							</view>
 							<view v-else class="tn-padding-top-xs" @click="tn('')">
 								<tn-grid hoverClass="none" :col="3">
@@ -89,45 +123,25 @@
 										<!-- #ifndef MP-WEIXIN -->
 										<tn-grid-item style="width: 30%;margin: 10rpx;">
 											<image class="blogger__main-image blogger__main-image--3"
-												:src="image_item.ftpUrl" mode="scaleToFill" @click="showImg(item.imgList,image_index)"></image>
+												:src="image_item.ftpUrl" mode="aspectFill" @click="showImg(item.imgList,image_index)"></image>
 										</tn-grid-item>
 										<!-- #endif-->
 										<!-- #ifdef MP-WEIXIN -->
 										<tn-grid-item style="width: 30%;margin: 10rpx;">
 											<image class="blogger__main-image blogger__main-image--3"
-scaleToFill		:src="image_item.ftpUrl" mode="aspectFill" @click="showImg(item.imgList,image_index)"></image>
+aspectFill		:src="image_item.ftpUrl" mode="aspectFill" @click="showImg(item.imgList,image_index)"></image>
 										</tn-grid-item>
 										<!-- #endif-->
 									</block>
 								</tn-grid>
 							</view>
 						</block>
-						<!-- 内容太多疲劳了-->
-						<view
-						  v-if="item.shareExt&&item.shareExt.length>0"
-						  class="blogger__content"
-						  :id="`blogger__content--${index}`"
-						>
-						  <uni-table border stripe emptyText="暂无更多数据" >
-						  	<!-- 表头行 -->
-						  	<uni-tr>
-						  		<uni-th align="center">产品名称1</uni-th>
-						  		<uni-th align="center">规格型号</uni-th>
-						  		<uni-th align="left">产品介绍</uni-th>
-						  	</uni-tr>
-						  	<!-- 表格数据行 -->
-						  	<uni-tr v-for="extItem in item.shareExt">
-						  		<uni-td>{{extItem.prodName}}</uni-td>
-								<uni-td>{{extItem.prodSpec}}</uni-td>
-								<uni-td>{{extItem.prodDesc}}</uni-td>
-						  	</uni-tr>
-						  </uni-table>
-						</view>
+						
 						
 						<view v-for="file in item.fileDetailList" v-if="!isImage(file.fileName)">
 							<view>
 								<text class="tn-icon-link"></text>
-								<view style="display: inline-block;margin-left:8px" @click="clickLink(file.ftpUrl)">
+								<view style="display: inline-block;margin-left:8px" @click="clickLink(file.ftpUrl,file.fileName)">
 									{{file.fileName}}
 								</view>
 
@@ -143,8 +157,10 @@ scaleToFill		:src="image_item.ftpUrl" mode="aspectFill" @click="showImg(item.img
 
 							</view>
 							<view class="justify-content-item tn-flex tn-flex-col-center">
-								<text class="tn-icon-delete tn-color-gray tn-text-bold tn-text-xxl"
-									@click="delColl(item)"></text>
+								<text class="tn-icon-more-vertical tn-color-gray tn-text-bold tn-text-xxl"
+									@click="showActionSheet(item)" style="margin-right: 12px;"></text>
+								<button type="warn" plain="true" style="height: 26px;line-height: 26px" size="mini" @click="delColl(item)"><text style="font-size: 18px;" class="tn-icon-delete"></text></button>
+								 
 							</view>
 						</view>
 					</view>
@@ -163,10 +179,39 @@ scaleToFill		:src="image_item.ftpUrl" mode="aspectFill" @click="showImg(item.img
 
 		<!-- 提示窗示例 -->
 		<uni-popup ref="alertDialog" type="dialog">
-			<uni-popup-dialog type="info" cancelText="关闭" confirmText="确认" title="提示" content="确定取消收藏吗?" @confirm="dialogConfirm"
+			<uni-popup-dialog type="info" cancelText="关闭" confirmText="确认" title=" " content="确定取消收藏吗?" @confirm="dialogConfirm"
 				@close="dialogClose"></uni-popup-dialog>
 		</uni-popup>
-	 
+		
+	    <tn-popup v-model="showSheet" mode="center" closeBtn="true" borderRadius="16">
+			<view class="content" style="padding: 24px 36px;font-size: 16px;line-height: 24px; width: 320px;"
+				v-if="!showContact">
+				
+				<button @click="linkTel()" style="border-radius:30px;color:#fff;background-color: #1d60b1;"><text
+						class="tn-icon-service" style="margin-right: 12px;"></text> {{current==0?'联系需方':'联系供方'}}</button>
+				<!-- <view>联系我们帮助对接</view> -->
+				<!-- <button v-if="!collStatus" @click="addColl"
+					style="margin-top:10px;border-radius:30px;color:#3a96d7;background-color: #d3e3fd;"><text
+						class="tn-icon-star" style="margin-right: 12px;"></text>
+					收&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;藏</button>
+				<button v-if="collStatus" @click="delColl"
+					style="margin-top:10px;border-radius:30px;color:#3a96d7;background-color: #d3e3fd;"><text
+						class="tn-icon-star-fill" style="margin-right: 12px;"></text> 取消收藏</button> -->
+				<button open-type="share"
+					style="margin-top:10px;border-radius:30px;" type="default" plain="true"><text
+						class="tn-icon-send" style="margin-right: 12px;"></text>
+					转&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;发</button>
+			</view>
+			<view class="content bg-content" style="padding: 50px 36px;padding-bottom: 32px;font-size: 16px;width:320px;line-height: 24px;"
+							v-if="showContact">
+							<view><text style="font-size: 20px;font-weight: bold;" v-if="curContact.company">{{curContact.company}}</text></view>
+							<view style="margin-top:20px;
+			   font-weight: bold;
+			   font-size: 20px;"><text class="tn-icon-my-formal"></text><text style="margin-left: 6px;">{{curContact.contactPerson}}</text> </view>
+							<view style="font-size: 20px;font-weight: bold;margin-top:20px" @click="showTel(curContact.contactMethod)"><text class="tn-icon-tel"></text>
+			<text style="margin-left: 4px;">{{curContact.contactMethod}}</text> </view>
+						</view>
+		</tn-popup>
 
 
 	</view>
@@ -181,13 +226,28 @@ scaleToFill		:src="image_item.ftpUrl" mode="aspectFill" @click="showImg(item.img
 				list: [{
 					'tab-name': '需求'
 				}, {
-					'tab-name': '共享'
+					'tab-name': '供应'
 				}],
 				current: 0,
 				showEmpty: false,
 				content: [],
-				curItem:{}
-
+				curItem:{},
+				showSheet:false,
+				showContact:false,
+				curContact:{},
+				columns: [{
+					fieldName: 'prodName',
+					fieldDesc: '产品名称',
+				
+				}, {
+					fieldName: 'prodSpec',
+					fieldDesc: '规格型号',
+				
+				}, {
+					fieldName: 'prodDesc',
+					fieldDesc: '产品介绍',
+				
+				}],
 			}
 		},
 		filters: {
@@ -308,11 +368,58 @@ scaleToFill		:src="image_item.ftpUrl" mode="aspectFill" @click="showImg(item.img
 
 				});
 			},
-			clickLink(url){
+			clickLink(url,fileName) {
 				uni.navigateTo({
-					url:'/pages/webview/web-view?url='+url,
+					url:'/pages/webview/web-view?url='+encodeURIComponent('http://slb-m.dev.ml1993.com/webview?title='+fileName+'&url='+ url),
 				})
+				// uni.navigateTo({
+				// 	url:'/pages/webview/web-view?url='+url,
+				// })
+			},
+			showActionSheet(item) {
+				let that = this;
+				console.warn(item);
+				this.curItem = item;
+				
+				this.showSheet = true;
+				that.showContact = false;
+
 			},
+			linkTel() {
+			
+				if (!uni.getStorageSync('userNo')) {
+					uni.showToast({
+						title: '请登录'
+					})
+					uni.navigateTo({
+						url: '/pages/login/login'
+					})
+					return false;
+				}
+				let that = this;
+				let params = {};
+				params.slbBisContact = JSON.stringify({
+					fkBisNo: that.curItem.bisNo,
+					bisType: that.current==0?'1':'2',
+					type: '1',
+					userNo: uni.getStorageSync('userNo'),
+				});
+				request.post('/slbBisContact/add', params).then(res => {
+					if (res.success) {
+						that.showContact = true;
+						that.curContact.company = that.curItem.company;
+						that.curContact.contactMethod = res.resultMap.contactMethod;
+						that.curContact.contactPerson = res.resultMap.contactPerson;
+					} else {
+						that.showContact = false;
+						uni.showToast({
+							title: res.msg,
+							icon: 'none'
+						})
+					}
+				})
+			},
+			
 		}
 	}
 </script>
@@ -499,6 +606,10 @@ scaleToFill		:src="image_item.ftpUrl" mode="aspectFill" @click="showImg(item.img
 		width: 100%;
 		border-bottom: 20rpx solid rgba(241, 241, 241, 0.8);
 	}
-	
+	.bg-content{
+		color: #fff;
+		background-image: url(./../../static/bg.png);
+		background-size: cover;
+	}
 	/* 间隔线 end*/
 </style>

+ 1 - 1
pages/mine/feedback.vue

@@ -31,7 +31,7 @@
 											</view> -->
 									<view class="tn-padding-right tn-text-ellipsis">
 										<view class="tn-padding-right tn-text-bold tn-text-lg">
-											{{ item.type==1?'【汇报系统故障】':item.type==2?'【平台问题】':item.type==3?'【投诉】':'【错误】' }}
+											{{ item.type==1?'【汇报系统故障】':item.type==2?'【平台机制咨询】':item.type==3?'【投诉】':item.type==4?'【其他】':'【错误】' }}
 										</view>
 									</view>
 								</view>

+ 23 - 10
pages/mine/mine.vue

@@ -42,24 +42,37 @@
       </view>
 	  
 	  <view class="about-shadow tn-margin-top-lg tn-padding-top-sm tn-padding-bottom-sm tn-bg-white" v-if="!showLogin">
-	    
-		<view class="tn-flex tn-flex-row-between tn-strip-bottom-min tn-padding" @click="showModal1">
+	    <view class="tn-flex tn-flex-row-between tn-strip-bottom-min tn-padding-sm"  @click="tn('/minePages/set')">
+	      <view class="justify-content-item">
+	        <view class="" style="font-size: 16px;">
+	          个人信息
+	        </view>
+	        
+	      </view>
+	      <view class="justify-content-item tn-text-lg tn-color-grey">
+	        <view class="tn-color-gray tn-padding-top-xs">
+			   <view class="tn-icon-right"></view>
+	        </view>
+	     
+	      </view>
+	    </view>
+		<view class="tn-flex tn-flex-row-between tn-strip-bottom-min tn-padding-sm">
 		  <view class="justify-content-item">
-		    <view class="tn-text-bold tn-text-lg">
+		    <view class="" style="font-size: 16px;">
 		      用户名
 		    </view>
 		    
 		  </view>
 		  <view class="justify-content-item tn-text-lg tn-color-grey">
 		    <view class="tn-color-gray tn-padding-top-xs">
-		      {{personInfo.accountName||(personInfo.userName?'用户'+personInfo.userName.slice(-4):'')||'未登录'}}
+		      {{personInfo.userRealName||personInfo.contactNickName||(personInfo.userName?'用户'+personInfo.userName.slice(-4):'')||'未登录'}}
 		    </view>
  
 		  </view>
 		</view>
-		<view class="tn-flex tn-flex-row-between tn-strip-bottom-min tn-padding" @click="showModal1">
+		<view class="tn-flex tn-flex-row-between tn-strip-bottom-min tn-padding-sm" @click="showModal1">
 		  <view class="justify-content-item">
-		    <view class="tn-text-bold tn-text-lg">
+		    <view class="" style="font-size: 16px;">
 		      联系方式
 		    </view>
 		    
@@ -72,9 +85,9 @@
 		  </view>
 		</view>
 		
-		<view class="tn-flex tn-flex-row-between tn-strip-bottom-min tn-padding" @click="showModal1">
+		<view class="tn-flex tn-flex-row-between tn-strip-bottom-min tn-padding-sm" @click="showModal1">
 		  <view class="justify-content-item">
-		    <view class="tn-text-bold tn-text-lg">
+		    <view class="" style="font-size: 16px;">
 		      手机号
 		    </view>
 		    
@@ -126,7 +139,7 @@
               <view class="tn-icon-share-triangle"></view>
             </view>  
             <view class="tn-text-center">
-              <text class="tn-text-ellipsis">我的共享</text>
+              <text class="tn-text-ellipsis">我的供应</text>
             </view>
           </view>
         </view>
@@ -300,7 +313,7 @@
       },
 	  showInfo(){
 		 uni.navigateTo({
-		 	url:'/pages/webview/web-view?url='+'https://test-oss.lx-device.com/userFeedback/1732866523422nfH.docx',
+		 	url:'/pages/webview/web-view?url='+encodeURIComponent('http://slb-m.dev.ml1993.com/webview?title=用户服务协议&url='+'https://test-oss.lx-device.com/userFeedback/1732866523422nfH.docx'),
 		 })
 	  },
 	  showAbout(){

+ 179 - 98
pages/mine/need.vue

@@ -10,56 +10,98 @@
 			</view>
 		</tn-nav-bar>
 		<view :style="{paddingTop: vuex_custom_bar_height + 'px'}">
-			<uv-sticky  :offsetTop="vuex_custom_bar_height + 'px'" bgColor="#ffffff">
-			<tn-tabs-swiper :list="list" :isScroll="false" :current="current" name="tab-name"
-				@change="tabChange" style="border-bottom: 1rpx solid #f1f1f1cc;"></tn-tabs-swiper>
-				</uv-sticky>
-		
-
-		<!-- 图文信息 -->
-		<block v-for="(item,index) in content" :key="index">
-			<view class="blogger__item">
-				<view class="blogger__author tn-flex tn-flex-row-between tn-flex-col-center">
-					<view class="justify__author__info">
-						<view class="tn-flex tn-flex-row-center">
-							<view class="tn-flex tn-flex-row-center tn-flex-col-center">
-								<!-- <view class="">
+			<uv-sticky :offsetTop="vuex_custom_bar_height + 'px'" bgColor="#ffffff">
+				<tn-tabs-swiper :list="list" :isScroll="false" :current="current" name="tab-name" @change="tabChange"
+					style="border-bottom: 1rpx solid #f1f1f1cc;"></tn-tabs-swiper>
+			</uv-sticky>
+
+
+			<!-- 图文信息 -->
+			<block v-for="(item,index) in content" :key="index">
+				<view class="blogger__item">
+					<view class="blogger__author tn-flex tn-flex-row-between tn-flex-col-center">
+						<view class="justify__author__info">
+							<view class="tn-flex tn-flex-row-center">
+								<view class="tn-flex tn-flex-row-center tn-flex-col-center">
+									<!-- <view class="">
 											<tn-avatar class="" shape="circle" :src="item.userAvatar" size="lg">
 											</tn-avatar>
 										</view> -->
-								<view class="tn-padding-right tn-text-ellipsis">
-									<view class="tn-padding-right tn-text-bold tn-text-lg">
-										{{ item.company }}
-									</view>
+									<view class="tn-padding-right tn-text-ellipsis">
+										<view class="tn-padding-right tn-text-bold tn-text-lg">
+											{{ item.company }}
+										</view>
 
+									</view>
 								</view>
 							</view>
 						</view>
-					</view>
-					<view v-if="item.status=='4'&&item.showFlag=='否'"
-						class="blogger__author__btn justify-content-item tn-flex-col-center tn-flex-row-center">
-						<text class="" style="background: #3F51B542;font-size: 12px;
+						<view v-if="item.status=='4'&&item.showFlag=='否'"
+							class="blogger__author__btn justify-content-item tn-flex-col-center tn-flex-row-center">
+							<text class="" style="background: #3F51B542;font-size: 12px;
 		padding: 8px;
 		color: #333333;
 		border-radius: 24px;
 		 ">需求已结束</text>
+						</view>
+						<!-- 状态(1:暂存,2:待处理,3:审核中,4:已通过,9:已拒绝,10:已取消) -->
+						<view v-if="item.status=='1'"
+							class="blogger__author__btn justify-content-item tn-flex-col-center tn-flex-row-center">
+							<text class="" style="background: #3F51B542;font-size: 12px;
+					padding: 8px;
+					color: #333333;
+					border-radius: 24px;
+					 ">暂存</text>
+						</view>
+						<view v-if="item.status=='3'"
+								class="blogger__author__btn justify-content-item tn-flex-col-center tn-flex-row-center">
+								<text class="" style="background: #3f51b56b;font-size: 12px;
+						padding: 8px;
+						color: #ff0;
+						border-radius: 24px;
+						 ">审核中</text>
+							</view>
+						<view v-if="item.status=='4'&&item.showFlag!='否'"
+								class="blogger__author__btn justify-content-item tn-flex-col-center tn-flex-row-center">
+								<text class="" style="background: #3F51B542;font-size: 12px;
+						padding: 8px;
+						color: #007000;
+						border-radius: 24px;
+						 ">已通过</text>
+							</view>
+						<view v-if="item.status=='9'"
+								class="blogger__author__btn justify-content-item tn-flex-col-center tn-flex-row-center">
+								<text class="" style="background: #3F51B542;font-size: 12px;
+						padding: 8px;
+						color: #d23920;
+						border-radius: 24px;
+						 "  @click="showTips(item)">已拒绝</text>
+							</view>
+							<view v-if="item.status=='10'"
+									class="blogger__author__btn justify-content-item tn-flex-col-center tn-flex-row-center">
+									<text class="" style="background: #3F51B542;font-size: 12px;
+							padding: 8px;
+							color: #333333;
+							border-radius: 24px;
+							 ">已取消</text>
+								</view>
 					</view>
-				</view>
 
-				<view
-					class="blogger__desc tn-margin-top-sm tn-margin-bottom-sm tn-text-justify tn-flex-col-center tn-flex-row-left"
-					@click="tn('')">
-					<!-- <view v-for="(label_item,label_index) in item.label" :key="label_index"
+					<view
+						class="blogger__desc tn-margin-top-sm tn-margin-bottom-sm tn-text-justify tn-flex-col-center tn-flex-row-left"
+						@click="tn('')">
+						<!-- <view v-for="(label_item,label_index) in item.label" :key="label_index"
 								class="blogger__desc__label tn-float-left tn-margin-right">
 								<text class="blogger__desc__label--prefix tn-icon-topics-fill"></text>
 								<text class="tn-text-df">{{ label_item }}</text>
 							</view> -->
-					<!-- 不用限制长度了,因为发布的时候限制长度了-->
-					<text class="blogger__desc__content tn-flex-1 tn-text-justify tn-text-df">{{ item.content }}</text>
-				</view>
+						<!-- 不用限制长度了,因为发布的时候限制长度了-->
+						<text
+							class="blogger__desc__content tn-flex-1 tn-text-justify tn-text-df">{{ item.content }}</text>
+					</view>
 
-				<!-- 内容太多疲劳了-->
-				<!-- <view
+					<!-- 内容太多疲劳了-->
+					<!-- <view
 		      v-if="item.content"
 		      class="blogger__content"
 		      :id="`blogger__content--${index}`"
@@ -70,75 +112,89 @@
 		      </view>
 		    </view> -->
 
-				<block v-if="item.imgList">
-					<view v-if="[1,2,4].indexOf(item.imgList.length) != -1" class="tn-padding-top-xs" @click="tn('')">
-						<image v-for="(image_item,image_index) in item.imgList" :key="image_index"
-							class="blogger__main-image" :class="{
+					<block v-if="item.imgList">
+						<view v-if="[1,2,4].indexOf(item.imgList.length) != -1" class="tn-padding-top-xs"
+							@click="tn('')">
+							<image v-for="(image_item,image_index) in item.imgList" :key="image_index"
+								class="blogger__main-image" :class="{
 		            'blogger__main-image--1 tn-margin-bottom-sm': item.imgList.length === 1,
 		            'blogger__main-image--2 tn-margin-right-sm tn-margin-bottom-sm': item.imgList.length === 2 || item.imgList.length === 4
 		          }" :src="image_item.ftpUrl" mode="aspectFill" @click="showImg(item.imgList,image_index)"></image>
-					</view>
-					<view v-else class="tn-padding-top-xs">
-						<tn-grid hoverClass="none" :col="3">
-							<block v-for="(image_item,image_index) in item.imgList" :key="image_index">
-								<!-- #ifndef MP-WEIXIN -->
-								<tn-grid-item style="width: 30%;margin: 10rpx;">
-									<image class="blogger__main-image blogger__main-image--3" @click="showImg(item.imgList,image_index)" :src="image_item.ftpUrl"
-										mode="aspectFill"></image>
-								</tn-grid-item>
-								<!-- #endif-->
-								<!-- #ifdef MP-WEIXIN -->
-								<tn-grid-item style="width: 30%;margin: 10rpx;">
-									<image class="blogger__main-image blogger__main-image--3" @click="showImg(item.imgList,image_index)" :src="image_item.ftpUrl"
-										mode="aspectFill"></image>
-								</tn-grid-item>
-								<!-- #endif-->
-							</block>
-						</tn-grid>
-					</view>
-				</block>
-				<view v-for="file in item.fileDetailList" v-if="!isImage(file.fileName)">
-					<view>
-						<text class="tn-icon-link"></text>
-						<view style="display: inline-block;margin-left:8px" @click="clickLink(file.ftpUrl)">
-							{{file.fileName}}</view>
+						</view>
+						<view v-else class="tn-padding-top-xs">
+							<tn-grid hoverClass="none" :col="3">
+								<block v-for="(image_item,image_index) in item.imgList" :key="image_index">
+									<!-- #ifndef MP-WEIXIN -->
+									<tn-grid-item style="width: 30%;margin: 10rpx;">
+										<image class="blogger__main-image blogger__main-image--3"
+											@click="showImg(item.imgList,image_index)" :src="image_item.ftpUrl"
+											mode="aspectFill"></image>
+									</tn-grid-item>
+									<!-- #endif-->
+									<!-- #ifdef MP-WEIXIN -->
+									<tn-grid-item style="width: 30%;margin: 10rpx;">
+										<image class="blogger__main-image blogger__main-image--3"
+											@click="showImg(item.imgList,image_index)" :src="image_item.ftpUrl"
+											mode="aspectFill"></image>
+									</tn-grid-item>
+									<!-- #endif-->
+								</block>
+							</tn-grid>
+						</view>
+					</block>
+					<view v-for="file in item.fileDetailList" v-if="!isImage(file.fileName)">
+						<view>
+							<text class="tn-icon-link"></text>
+							<view style="display: inline-block;margin-left:8px" @click="clickLink(file.ftpUrl,file.fileName)">
+								{{file.fileName}}
+							</view>
 
+						</view>
 					</view>
-				</view>
 
 
-				<view class="tn-flex tn-flex-row-between tn-flex-col-center tn-margin-top-xs">
-					<view class="justify-content-item tn-color-gray tn-text-center">
-						<view class="tn-padding-right   tn-padding-top-xs tn-color-gray">
-							{{ item.createTime|formatDate }}
+					<view class="tn-flex tn-flex-row-between tn-flex-col-center tn-margin-top-xs">
+						<view class="justify-content-item tn-color-gray tn-text-center">
+							<view class="tn-padding-right   tn-padding-top-xs tn-color-gray">
+								{{ item.createTime|formatDate }}
+							</view>
+
 						</view>
+						<view class="justify-content-item tn-flex tn-flex-col-center" v-if="item.status==4&&item.showFlag!='否'">
+							<button type="warn" plain="true" size="mini" @click="finishItem(item)">结束需求</button>
+							<!-- <tn-button shadow shape="round" fontColor="tn-color-white" backgroundColor="tn-bg-blue"
+								:fontSize="24" height="auto" padding="10rpx 18rpx"
+								@click="finishItem(item)">结束需求</tn-button> -->
 
-					</view>
-					<view class="justify-content-item tn-flex tn-flex-col-center" v-if="item.showFlag!='否'">
-						<tn-button shadow shape="round" fontColor="tn-color-white" backgroundColor="tn-bg-blue" :fontSize="24" height="auto" padding="10rpx 18rpx" @click="finishItem(item)">结束需求</tn-button>
-						 
+						</view>
+						<view class="justify-content-item tn-flex tn-flex-col-center" v-if="item.status==1||item.status==9">
+							<button type="warn" plain="true" size="mini" @click="editItem(item)">编辑</button>
+							<!-- <tn-button shadow shape="round" fontColor="tn-color-white" backgroundColor="tn-bg-blue"
+								:fontSize="24" height="auto" padding="10rpx 18rpx"
+								@click="finishItem(item)">结束需求</tn-button> -->
+						
+						</view>
 					</view>
 				</view>
-			</view>
 
-			<!-- 边距间隔 -->
-			<view class="tn-strip-bottom" v-if="index != content.length - 1"></view>
-		</block>
-		
-		<view v-if="showEmpty" style="margin-top: 32vh;">
-			<tn-empty mode="data"></tn-empty>
-		</view>
+				<!-- 边距间隔 -->
+				<view class="tn-strip-bottom" v-if="index != content.length - 1"></view>
+			</block>
+
+			<view v-if="showEmpty" style="margin-top: 32vh;">
+				<tn-empty mode="data"></tn-empty>
+			</view>
 		</view>
 		<uni-popup ref="alertDialog" type="dialog">
-			<uni-popup-dialog type="info" cancelText="关闭" confirmText="确定" title="结束确认" content="确定结束需求吗" @confirm="dialogConfirm"
-				 ></uni-popup-dialog>
+			<uni-popup-dialog type="info" cancelText="关闭" confirmText="确定" title="结束确认" content="确定结束需求吗"
+				@confirm="dialogConfirm"></uni-popup-dialog>
 		</uni-popup>
 	</view>
 
 
 
 
-	 
+
 </template>
 
 <script>
@@ -158,8 +214,8 @@
 				}],
 				current: 0,
 				content: [],
-				showEmpty:false,
-				curItem:{}
+				showEmpty: false,
+				curItem: {}
 			}
 		},
 		filters: {
@@ -168,14 +224,16 @@
 				const date = new Date(value);
 				const today = new Date();
 				const yesterday = new Date(today); // 昨天的日期
-				  yesterday.setDate(yesterday.getDate() - 1); // 将昨天的日期设置为前一天
-				 
-				if(date.getFullYear()==today.getFullYear()&&date.getMonth()==today.getMonth()&&date.getDate()==today.getDate()){
-					return  '今天 ' + (date.getHours() > 9 ? '' : '0') + date.getHours() + ':' + (date
+				yesterday.setDate(yesterday.getDate() - 1); // 将昨天的日期设置为前一天
+
+				if (date.getFullYear() == today.getFullYear() && date.getMonth() == today.getMonth() && date.getDate() ==
+					today.getDate()) {
+					return '今天 ' + (date.getHours() > 9 ? '' : '0') + date.getHours() + ':' + (date
 						.getMinutes() > 9 ? '' : '0') + date.getMinutes(); // 根据需要格式化日期
 				}
-				if(date.getFullYear()==yesterday.getFullYear()&&date.getMonth()==yesterday.getMonth()&&date.getDate()==yesterday.getDate()){
-					return  '昨天 ' + (date.getHours() > 9 ? '' : '0') + date.getHours() + ':' + (date
+				if (date.getFullYear() == yesterday.getFullYear() && date.getMonth() == yesterday.getMonth() && date
+					.getDate() == yesterday.getDate()) {
+					return '昨天 ' + (date.getHours() > 9 ? '' : '0') + date.getHours() + ':' + (date
 						.getMinutes() > 9 ? '' : '0') + date.getMinutes(); // 根据需要格式化日期
 				}
 				return date.toLocaleDateString() + ' ' + (date.getHours() > 9 ? '' : '0') + date.getHours() + ':' + (date
@@ -183,11 +241,25 @@
 			},
 
 
+		},
+		onLoad(props){
+			if(props.tab==1){
+				this.current= 1;
+			}
+			if(props.tab==2){
+				this.current= 2;
+			}
 		},
 		onShow() {
 			this.loadData();
 		},
 		methods: {
+			showTips(item){
+				uni.showToast({
+					title: item.feedback?item.feedback:'已拒绝',
+					icon: 'none',
+				})
+			},
 			goBack() {
 				uni.navigateBack();
 			},
@@ -208,9 +280,9 @@
 					// 状态(1:暂存,2:待处理,3:审核中,4:已通过,9:已拒绝,10:已取消)
 					status: that.current == 1 ? '3' : that.current == 2 ? '1' : that.current == 3 ? '9' : '4',
 					limit: 1000,
-					index:1
+					index: 1
 				}).then(res => {
-					if (res&&res.success) {
+					if (res && res.success) {
 						let newList = res.list || [];
 						for (let i = 0; i < newList.length; i++) {
 							newList[i].imgList = [];
@@ -231,7 +303,7 @@
 					console.warn(res);
 				})
 			},
-			dialogConfirm(){
+			dialogConfirm() {
 				let item = this.curItem;
 				let that = this;
 				request.post('/slbResourceDemand/offShelf', {
@@ -251,11 +323,11 @@
 					}
 				})
 			},
-			finishItem(item){
+			finishItem(item) {
 				this.curItem = item;
 				this.$refs.alertDialog.open()
-				
-				
+
+
 			},
 			showImg(items, index) {
 				let urls = [];
@@ -270,9 +342,18 @@
 
 				});
 			},
-			clickLink(url){
+			clickLink(url,fileName) {
+				uni.navigateTo({
+					url:'/pages/webview/web-view?url='+encodeURIComponent('http://slb-m.dev.ml1993.com/webview?title='+fileName+'&url='+ url),
+				})
+				uni.navigateTo({
+					url: '/pages/webview/web-view?url=' + url,
+				})
+			},
+			editItem(item){
+				uni.setStorageSync(item.bisNo,JSON.stringify(item))
 				uni.navigateTo({
-					url:'/pages/webview/web-view?url='+url,
+					url: '/circlePages/circle?sid=' + item.bisNo,
 				})
 			}
 
@@ -463,6 +544,6 @@
 		width: 100%;
 		border-bottom: 20rpx solid rgba(241, 241, 241, 0.8);
 	}
-	
+
 	/* 间隔线 end*/
 </style>

+ 51 - 18
pages/mine/share.vue

@@ -6,7 +6,7 @@
 
 			</view>
 			<view slot="default">
-				<text>我的分享</text>
+				<text>我的供应</text>
 			</view>
 		</tn-nav-bar>
 		<view :style="{paddingTop: vuex_custom_bar_height + 'px'}">
@@ -33,7 +33,7 @@
 		              </view> -->
 									<view class="tn-padding-right tn-text-ellipsis">
 										<view class="tn-padding-right  tn-text-bold tn-text-lg">
-											{{ item.company||'个人/'+(item.contactNickName||item.contactPerson)}} </view>
+											{{ item.company||(item.contactNickName||item.contactPerson)}} </view>
 										<!-- <view class="tn-padding-right tn-padding-left-sm tn-padding-top-xs tn-color-gray">{{ item.date }}</view> -->
 									</view>
 								</view>
@@ -61,6 +61,8 @@
 		          <text class="tn-text-df">{{ label_item }}</text>
 		        </view> -->
 				      <tn-tag margin="-4px 4px 0 0" backgroundColor="#3a96d733" v-if="item.brand" fontColor="#3a96d7" shape="circle">{{ item.brand }}</tn-tag>
+				      <tn-tag margin="-4px 4px 0 0" backgroundColor="#3a96d733" v-if="!item.company"
+				      	fontColor="#3a96d7" shape="circle">个人</tn-tag>
 				       
 						<!-- 不用限制长度了,因为发布的时候限制长度了-->
 						<text v-if="item.content"
@@ -68,22 +70,29 @@
 					</view>
 
 					<!-- 内容太多疲劳了-->
-					<view v-if="item.shareExt&&item.shareExt.length>0" class="blogger__content" :id="`blogger__content--${index}`">
+					<view v-if="item.shareExt&&item.shareExt.length>0" class="blogger__content"
+						:id="`blogger__content--${index}`">
+					
+						<basic-table header-row-class-name="basic-table-header" :columns="columns" :border="true"
+							:stripe="true" :data="item.shareExt">
+					
+						</basic-table>
+					</view>
+					<!-- 内容太多疲劳了-->
+					<!-- <view v-if="item.shareExt&&item.shareExt.length>0" class="blogger__content" :id="`blogger__content--${index}`">
 						<uni-table border stripe emptyText="暂无更多数据">
-							<!-- 表头行 -->
 							<uni-tr>
 								<uni-th align="center">产品名称</uni-th>
 								<uni-th align="center">规格型号</uni-th>
 								<uni-th align="left">产品介绍</uni-th>
 							</uni-tr>
-							<!-- 表格数据行 -->
 							<uni-tr v-for="extItem in item.shareExt">
 								<uni-td>{{extItem.prodName}}</uni-td>
 								<uni-td>{{extItem.prodSpec}}</uni-td>
 								<uni-td>{{extItem.prodDesc}}</uni-td>
 							</uni-tr>
 						</uni-table>
-					</view>
+					</view> -->
 
 					<block v-if="item.imgList">
 						<view v-if="[1,2,4].indexOf(item.imgList.length) != -1" class="tn-padding-top-xs"
@@ -92,7 +101,7 @@
 								class="blogger__main-image" :class="{
 		        'blogger__main-image--1 tn-margin-bottom-sm': item.imgList.length === 1,
 		        'blogger__main-image--2 tn-margin-right-sm tn-margin-bottom-sm': item.imgList.length === 2 || item.imgList.length === 4
-		      }" :src="image_item.ftpUrl" mode="scaleToFill" @click="showImg(item.imgList,image_index)"></image>
+		      }" :src="image_item.ftpUrl" mode="aspectFill" @click="showImg(item.imgList,image_index)"></image>
 						</view>
 						<view v-else class="tn-padding-top-xs">
 							<tn-grid hoverClass="none" :col="3">
@@ -100,13 +109,13 @@
 									<!-- #ifndef MP-WEIXIN -->
 									<tn-grid-item style="width: 30%;margin: 10rpx;">
 										<image class="blogger__main-image blogger__main-image--3"
-											:src="image_item.ftpUrl" mode="scaleToFill" @click="showImg(item.imgList,image_index)"></image>
+											:src="image_item.ftpUrl" mode="aspectFill" @click="showImg(item.imgList,image_index)"></image>
 									</tn-grid-item>
 									<!-- #endif-->
 									<!-- #ifdef MP-WEIXIN -->
 									<tn-grid-item style="width: 30%;margin: 10rpx;">
 										<image class="blogger__main-image blogger__main-image--3"
-											:src="image_item.ftpUrl" mode="scaleToFill" @click="showImg(item.imgList,image_index)"></image>
+											:src="image_item.ftpUrl" mode="aspectFill" @click="showImg(item.imgList,image_index)"></image>
 									</tn-grid-item>
 									<!-- #endif-->
 								</block>
@@ -116,7 +125,7 @@
 					<view v-for="file in item.fileDetailList" v-if="!isImage(file.fileName)">
 						<view>
 							<text class="tn-icon-link"></text>
-							<view style="display: inline-block;margin-left:8px" @click="clickLink(file.ftpUrl)">
+							<view style="display: inline-block;margin-left:8px" @click="clickLink(file.ftpUrl,file.fileName)">
 								{{file.fileName}}</view>
 
 						</view>
@@ -131,8 +140,8 @@
 						</view>
 						<view class="justify-content-item tn-flex tn-flex-col-center">
 							<view class="justify-content-item tn-flex tn-flex-col-center" v-if="item.showFlag!='否'">
-								<tn-button shadow shape="round" fontColor="tn-color-white" backgroundColor="tn-bg-blue" :fontSize="24" height="auto" padding="10rpx 18rpx" @click="finishItem(item)">下架</tn-button>
-								 
+								<!-- <tn-button shadow shape="round" fontColor="tn-color-white" backgroundColor="tn-bg-blue" :fontSize="24" height="auto" padding="10rpx 18rpx" @click="finishItem(item)">下架</tn-button> -->
+								<button type="warn" plain="true" size="mini" @click="finishItem(item)">下架供应</button>
 							</view>
 						</view>
 					</view>
@@ -143,7 +152,7 @@
 			</block>
 
 			<!-- 边距间隔 -->
-			<view class="tn-strip-bottom"></view>
+			<!-- <view class="tn-strip-bottom"></view> -->
 
 			<!-- 广告 -->
 
@@ -171,8 +180,8 @@
 		data() {
 			return {
 				showModel:false,
-				titleModel:'提示',
-				contentModel:'下架之后内容不再展示在共享页面里, 是否继续?',
+				titleModel:'下架供应提示',
+				contentModel:'下架之后内容不再展示在供应页面里, 是否继续?',
 				buttonModel:[{
 				text: '取消',
 			 
@@ -197,6 +206,19 @@
 				showEmpty: false,
 				content:[],
 				curItem:{},
+				columns: [{
+					fieldName: 'prodName',
+					fieldDesc: '产品名称',
+				
+				}, {
+					fieldName: 'prodSpec',
+					fieldDesc: '规格型号',
+				
+				}, {
+					fieldName: 'prodDesc',
+					fieldDesc: '产品介绍',
+				
+				}],
 			}
 		},
 		filters: {
@@ -222,6 +244,14 @@
 			},
 
 
+		},
+		onLoad(props){
+			if(props.tab==1){
+				this.current= 1;
+			}
+			if(props.tab==2){
+				this.current= 2;
+			}
 		},
 		onShow() {
 			this.loadData();
@@ -286,10 +316,13 @@
 			
 				});
 			},
-			clickLink(url){
+			clickLink(url,fileName) {
 				uni.navigateTo({
-					url:'/pages/webview/web-view?url='+url,
+					url:'/pages/webview/web-view?url='+encodeURIComponent('http://slb-m.dev.ml1993.com/webview?title='+fileName+'&url='+ url),
 				})
+				// uni.navigateTo({
+				// 	url:'/pages/webview/web-view?url='+url,
+				// })
 			},
 			finishItem(item){
 				this.curItem = item;
@@ -297,7 +330,7 @@
 				return false;
 			},
 			clickModel(e){
-				if(e.index=1){
+				if(e.index==1){
 					this.showModel = false;
 					this.finishNext(this.curItem)
 				}else{

二进制
static/bg.png


文件差异内容过多而无法显示
+ 1608 - 32
tuniao-ui/iconfont.css


文件差异内容过多而无法显示
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/circlePages/addShare.js.map


文件差异内容过多而无法显示
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/circlePages/circle.js.map


文件差异内容过多而无法显示
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/common/runtime.js.map


文件差异内容过多而无法显示
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/common/vendor.js.map


文件差异内容过多而无法显示
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/minePages/set.js.map


文件差异内容过多而无法显示
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/comm/comm.js.map


文件差异内容过多而无法显示
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/comm/search.js.map


文件差异内容过多而无法显示
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/discovery/discovery.js.map


文件差异内容过多而无法显示
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/home/home.js.map


文件差异内容过多而无法显示
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/index/auth.js.map


文件差异内容过多而无法显示
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/index/index.js.map


文件差异内容过多而无法显示
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/mine/addFeed.js.map


文件差异内容过多而无法显示
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/mine/coll.js.map


文件差异内容过多而无法显示
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/mine/feedback.js.map


文件差异内容过多而无法显示
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/mine/mine.js.map


文件差异内容过多而无法显示
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/mine/need.js.map


文件差异内容过多而无法显示
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/mine/share.js.map


文件差异内容过多而无法显示
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/tuniao-ui/components/tn-load-more/tn-load-more.js.map


+ 3 - 1
unpackage/dist/dev/mp-weixin/app.json

@@ -11,7 +11,9 @@
     "pages/comm/search",
     "pages/mine/feedback",
     "pages/mine/addFeed",
-    "pages/mine/about"
+    "pages/mine/about",
+    "pages/comm/search2",
+    "pages/index/detail/detail"
   ],
   "subPackages": [
     {

文件差异内容过多而无法显示
+ 1 - 1
unpackage/dist/dev/mp-weixin/circlePages/addShare.js


+ 3 - 4
unpackage/dist/dev/mp-weixin/circlePages/addShare.json

@@ -1,15 +1,14 @@
 {
-  "navigationBarTitleText": "发布共享",
+  "navigationBarTitleText": "发布供应",
   "usingComponents": {
     "tn-nav-bar": "/tuniao-ui/components/tn-nav-bar/tn-nav-bar",
     "tn-steps": "/tuniao-ui/components/tn-steps/tn-steps",
-    "uni-data-select": "/uni_modules/uni-data-select/components/uni-data-select/uni-data-select",
+    "uni-data-checkbox": "/uni_modules/uni-data-checkbox/components/uni-data-checkbox/uni-data-checkbox",
     "uni-forms": "/uni_modules/uni-forms/components/uni-forms/uni-forms",
     "uni-forms-item": "/uni_modules/uni-forms/components/uni-forms-item/uni-forms-item",
     "uni-easyinput": "/uni_modules/uni-easyinput/components/uni-easyinput/uni-easyinput",
     "w-select": "/components/w-select/w-select",
-    "uni-data-checkbox": "/uni_modules/uni-data-checkbox/components/uni-data-checkbox/uni-data-checkbox",
-    "tn-button": "/tuniao-ui/components/tn-button/tn-button",
+    "uni-data-select": "/uni_modules/uni-data-select/components/uni-data-select/uni-data-select",
     "uni-card": "/uni_modules/uni-card/components/uni-card/uni-card",
     "uni-list": "/uni_modules/uni-list/components/uni-list/uni-list",
     "uni-list-item": "/uni_modules/uni-list/components/uni-list-item/uni-list-item",

文件差异内容过多而无法显示
+ 1 - 1
unpackage/dist/dev/mp-weixin/circlePages/addShare.wxml


文件差异内容过多而无法显示
+ 1 - 1
unpackage/dist/dev/mp-weixin/circlePages/circle.js


+ 0 - 1
unpackage/dist/dev/mp-weixin/circlePages/circle.json

@@ -5,7 +5,6 @@
     "tn-nav-bar": "/tuniao-ui/components/tn-nav-bar/tn-nav-bar",
     "tn-steps": "/tuniao-ui/components/tn-steps/tn-steps",
     "uni-file-picker": "/uni_modules/uni-file-picker/components/uni-file-picker/uni-file-picker",
-    "tn-button": "/tuniao-ui/components/tn-button/tn-button",
     "uni-data-select": "/uni_modules/uni-data-select/components/uni-data-select/uni-data-select",
     "uni-forms": "/uni_modules/uni-forms/components/uni-forms/uni-forms",
     "w-select": "/components/w-select/w-select",

文件差异内容过多而无法显示
+ 1 - 1
unpackage/dist/dev/mp-weixin/circlePages/circle.wxml


+ 3 - 0
unpackage/dist/dev/mp-weixin/circlePages/circle.wxss

@@ -68,5 +68,8 @@
 .data-v-7db0d20e .uni-forms-item__label {
   display: none;
 }
+.data-v-7db0d20e .uni-stat__select .uni-select__input-placeholder {
+  font-size: 14px;
+}
 /* 标签内容 end*/
 

文件差异内容过多而无法显示
+ 1206 - 24
unpackage/dist/dev/mp-weixin/common/main.wxss


文件差异内容过多而无法显示
+ 1 - 1
unpackage/dist/dev/mp-weixin/common/runtime.js


文件差异内容过多而无法显示
+ 4 - 4
unpackage/dist/dev/mp-weixin/common/vendor.js


文件差异内容过多而无法显示
+ 2 - 2
unpackage/dist/dev/mp-weixin/components/basic-table/basic-table.js


+ 2 - 2
unpackage/dist/dev/mp-weixin/components/basic-table/basic-table.wxss

@@ -65,7 +65,7 @@
   table-layout: fixed;
   display: table-header-group;
   vertical-align: middle;
-  font-weight: 700;
+  font-weight: bold;
 }
 .base-table .base-table-inner .b-table .b-tbody.data-v-201e5038 {
   display: table-row-group;
@@ -81,7 +81,7 @@
 }
 .base-table .base-table-inner .b-table .b-th.data-v-201e5038,
 .base-table .base-table-inner .b-table .b-td.data-v-201e5038 {
-  font-size: 28rpx;
+  font-size: 14px;
   display: table-cell;
   border-bottom: 1px solid #edeeee;
   padding: 8px 0;

文件差异内容过多而无法显示
+ 2 - 2
unpackage/dist/dev/mp-weixin/components/w-select/w-select.js


文件差异内容过多而无法显示
+ 1 - 1
unpackage/dist/dev/mp-weixin/minePages/set.js


文件差异内容过多而无法显示
+ 1 - 1
unpackage/dist/dev/mp-weixin/minePages/set.wxml


文件差异内容过多而无法显示
+ 2 - 2
unpackage/dist/dev/mp-weixin/pages/comm/comm.js


+ 2 - 2
unpackage/dist/dev/mp-weixin/pages/comm/comm.json

@@ -4,13 +4,13 @@
     "tn-loading": "/tuniao-ui/components/tn-loading/tn-loading",
     "uv-sticky": "/uni_modules/uv-sticky/components/uv-sticky/uv-sticky",
     "uni-icons": "/uni_modules/uni-icons/components/uni-icons/uni-icons",
-    "uni-search-bar": "/uni_modules/uni-search-bar/components/uni-search-bar/uni-search-bar",
     "tn-tabs-swiper": "/tuniao-ui/components/tn-tabs-swiper/tn-tabs-swiper",
     "tn-tag": "/tuniao-ui/components/tn-tag/tn-tag",
+    "basic-table": "/components/basic-table/basic-table",
     "tn-grid": "/tuniao-ui/components/tn-grid/tn-grid",
     "tn-grid-item": "/tuniao-ui/components/tn-grid-item/tn-grid-item",
-    "basic-table": "/components/basic-table/basic-table",
     "tn-empty": "/tuniao-ui/components/tn-empty/tn-empty",
+    "tn-load-more": "/tuniao-ui/components/tn-load-more/tn-load-more",
     "tn-popup": "/tuniao-ui/components/tn-popup/tn-popup"
   },
   "component": true

文件差异内容过多而无法显示
+ 1 - 1
unpackage/dist/dev/mp-weixin/pages/comm/comm.wxml


文件差异内容过多而无法显示
+ 5 - 0
unpackage/dist/dev/mp-weixin/pages/comm/comm.wxss


文件差异内容过多而无法显示
+ 1 - 1
unpackage/dist/dev/mp-weixin/pages/comm/search.js


文件差异内容过多而无法显示
+ 1 - 1
unpackage/dist/dev/mp-weixin/pages/comm/search.wxml


文件差异内容过多而无法显示
+ 2 - 2
unpackage/dist/dev/mp-weixin/pages/discovery/discovery.js


+ 1 - 3
unpackage/dist/dev/mp-weixin/pages/discovery/discovery.json

@@ -1,6 +1,4 @@
 {
   "component": true,
-  "usingComponents": {
-    "tn-button": "/tuniao-ui/components/tn-button/tn-button"
-  }
+  "usingComponents": {}
 }

文件差异内容过多而无法显示
+ 1 - 1
unpackage/dist/dev/mp-weixin/pages/discovery/discovery.wxml


文件差异内容过多而无法显示
+ 2 - 2
unpackage/dist/dev/mp-weixin/pages/home/home.js


+ 1 - 0
unpackage/dist/dev/mp-weixin/pages/home/home.json

@@ -8,6 +8,7 @@
     "tn-grid": "/tuniao-ui/components/tn-grid/tn-grid",
     "tn-grid-item": "/tuniao-ui/components/tn-grid-item/tn-grid-item",
     "tn-empty": "/tuniao-ui/components/tn-empty/tn-empty",
+    "tn-load-more": "/tuniao-ui/components/tn-load-more/tn-load-more",
     "tn-popup": "/tuniao-ui/components/tn-popup/tn-popup",
     "tn-toast": "/tuniao-ui/components/tn-toast/tn-toast"
   }

文件差异内容过多而无法显示
+ 1 - 1
unpackage/dist/dev/mp-weixin/pages/home/home.wxml


文件差异内容过多而无法显示
+ 5 - 0
unpackage/dist/dev/mp-weixin/pages/home/home.wxss


文件差异内容过多而无法显示
+ 1 - 1
unpackage/dist/dev/mp-weixin/pages/index/auth.js


文件差异内容过多而无法显示
+ 1 - 1
unpackage/dist/dev/mp-weixin/pages/index/index.js


文件差异内容过多而无法显示
+ 1 - 1
unpackage/dist/dev/mp-weixin/pages/index/index.wxml


文件差异内容过多而无法显示
+ 1 - 1
unpackage/dist/dev/mp-weixin/pages/login/info.js


文件差异内容过多而无法显示
+ 1 - 1
unpackage/dist/dev/mp-weixin/pages/login/login.js


文件差异内容过多而无法显示
+ 1 - 1
unpackage/dist/dev/mp-weixin/pages/mine/about.js


文件差异内容过多而无法显示
+ 1 - 1
unpackage/dist/dev/mp-weixin/pages/mine/addFeed.js


+ 1 - 2
unpackage/dist/dev/mp-weixin/pages/mine/addFeed.json

@@ -4,7 +4,6 @@
     "tn-nav-bar": "/tuniao-ui/components/tn-nav-bar/tn-nav-bar",
     "uni-data-select": "/uni_modules/uni-data-select/components/uni-data-select/uni-data-select",
     "uni-file-picker": "/uni_modules/uni-file-picker/components/uni-file-picker/uni-file-picker",
-    "uni-easyinput": "/uni_modules/uni-easyinput/components/uni-easyinput/uni-easyinput",
-    "tn-button": "/tuniao-ui/components/tn-button/tn-button"
+    "uni-easyinput": "/uni_modules/uni-easyinput/components/uni-easyinput/uni-easyinput"
   }
 }

文件差异内容过多而无法显示
+ 1 - 1
unpackage/dist/dev/mp-weixin/pages/mine/addFeed.wxml


文件差异内容过多而无法显示
+ 1 - 1
unpackage/dist/dev/mp-weixin/pages/mine/coll.js


+ 3 - 5
unpackage/dist/dev/mp-weixin/pages/mine/coll.json

@@ -5,14 +5,12 @@
     "uv-sticky": "/uni_modules/uv-sticky/components/uv-sticky/uv-sticky",
     "tn-tabs-swiper": "/tuniao-ui/components/tn-tabs-swiper/tn-tabs-swiper",
     "tn-tag": "/tuniao-ui/components/tn-tag/tn-tag",
+    "basic-table": "/components/basic-table/basic-table",
     "tn-grid": "/tuniao-ui/components/tn-grid/tn-grid",
     "tn-grid-item": "/tuniao-ui/components/tn-grid-item/tn-grid-item",
-    "uni-table": "/uni_modules/uni-table/components/uni-table/uni-table",
-    "uni-tr": "/uni_modules/uni-table/components/uni-tr/uni-tr",
-    "uni-th": "/uni_modules/uni-table/components/uni-th/uni-th",
-    "uni-td": "/uni_modules/uni-table/components/uni-td/uni-td",
     "tn-empty": "/tuniao-ui/components/tn-empty/tn-empty",
     "uni-popup": "/uni_modules/uni-popup/components/uni-popup/uni-popup",
-    "uni-popup-dialog": "/uni_modules/uni-popup/components/uni-popup-dialog/uni-popup-dialog"
+    "uni-popup-dialog": "/uni_modules/uni-popup/components/uni-popup-dialog/uni-popup-dialog",
+    "tn-popup": "/tuniao-ui/components/tn-popup/tn-popup"
   }
 }

文件差异内容过多而无法显示
+ 1 - 1
unpackage/dist/dev/mp-weixin/pages/mine/coll.wxml


文件差异内容过多而无法显示
+ 5 - 0
unpackage/dist/dev/mp-weixin/pages/mine/coll.wxss


文件差异内容过多而无法显示
+ 1 - 1
unpackage/dist/dev/mp-weixin/pages/mine/feedback.js


文件差异内容过多而无法显示
+ 1 - 1
unpackage/dist/dev/mp-weixin/pages/mine/feedback.wxml


文件差异内容过多而无法显示
+ 2 - 2
unpackage/dist/dev/mp-weixin/pages/mine/mine.js


文件差异内容过多而无法显示
+ 1 - 1
unpackage/dist/dev/mp-weixin/pages/mine/mine.wxml


文件差异内容过多而无法显示
+ 1 - 1
unpackage/dist/dev/mp-weixin/pages/mine/need.js


+ 0 - 1
unpackage/dist/dev/mp-weixin/pages/mine/need.json

@@ -6,7 +6,6 @@
     "tn-tabs-swiper": "/tuniao-ui/components/tn-tabs-swiper/tn-tabs-swiper",
     "tn-grid": "/tuniao-ui/components/tn-grid/tn-grid",
     "tn-grid-item": "/tuniao-ui/components/tn-grid-item/tn-grid-item",
-    "tn-button": "/tuniao-ui/components/tn-button/tn-button",
     "tn-empty": "/tuniao-ui/components/tn-empty/tn-empty",
     "uni-popup": "/uni_modules/uni-popup/components/uni-popup/uni-popup",
     "uni-popup-dialog": "/uni_modules/uni-popup/components/uni-popup-dialog/uni-popup-dialog"

文件差异内容过多而无法显示
+ 1 - 1
unpackage/dist/dev/mp-weixin/pages/mine/need.wxml


文件差异内容过多而无法显示
+ 1 - 1
unpackage/dist/dev/mp-weixin/pages/mine/share.js


+ 2 - 6
unpackage/dist/dev/mp-weixin/pages/mine/share.json

@@ -1,17 +1,13 @@
 {
-  "navigationBarTitleText": "我的共享",
+  "navigationBarTitleText": "我的供应",
   "usingComponents": {
     "tn-nav-bar": "/tuniao-ui/components/tn-nav-bar/tn-nav-bar",
     "uv-sticky": "/uni_modules/uv-sticky/components/uv-sticky/uv-sticky",
     "tn-tabs-swiper": "/tuniao-ui/components/tn-tabs-swiper/tn-tabs-swiper",
     "tn-tag": "/tuniao-ui/components/tn-tag/tn-tag",
-    "uni-table": "/uni_modules/uni-table/components/uni-table/uni-table",
-    "uni-tr": "/uni_modules/uni-table/components/uni-tr/uni-tr",
-    "uni-th": "/uni_modules/uni-table/components/uni-th/uni-th",
-    "uni-td": "/uni_modules/uni-table/components/uni-td/uni-td",
+    "basic-table": "/components/basic-table/basic-table",
     "tn-grid": "/tuniao-ui/components/tn-grid/tn-grid",
     "tn-grid-item": "/tuniao-ui/components/tn-grid-item/tn-grid-item",
-    "tn-button": "/tuniao-ui/components/tn-button/tn-button",
     "tn-modal": "/tuniao-ui/components/tn-modal/tn-modal",
     "tn-empty": "/tuniao-ui/components/tn-empty/tn-empty"
   }

文件差异内容过多而无法显示
+ 1 - 1
unpackage/dist/dev/mp-weixin/pages/mine/share.wxml


文件差异内容过多而无法显示
+ 2 - 2
unpackage/dist/dev/mp-weixin/tuniao-ui/components/tn-badge/tn-badge.js


文件差异内容过多而无法显示
+ 2 - 2
unpackage/dist/dev/mp-weixin/tuniao-ui/components/tn-button/tn-button.js


文件差异内容过多而无法显示
+ 2 - 2
unpackage/dist/dev/mp-weixin/tuniao-ui/components/tn-checkbox/tn-checkbox.js


文件差异内容过多而无法显示
+ 2 - 2
unpackage/dist/dev/mp-weixin/tuniao-ui/components/tn-empty/tn-empty.js


文件差异内容过多而无法显示
+ 2 - 2
unpackage/dist/dev/mp-weixin/tuniao-ui/components/tn-grid-item/tn-grid-item.js


文件差异内容过多而无法显示
+ 2 - 2
unpackage/dist/dev/mp-weixin/tuniao-ui/components/tn-grid/tn-grid.js


文件差异内容过多而无法显示
+ 2 - 2
unpackage/dist/dev/mp-weixin/tuniao-ui/components/tn-list-cell/tn-list-cell.js


+ 0 - 0
unpackage/dist/dev/mp-weixin/tuniao-ui/components/tn-loading/tn-loading.js


部分文件因为文件数量过多而无法显示