Ohio-HYF 2 年之前
父節點
當前提交
875f1ce20f
共有 78 個文件被更改,包括 3470 次插入147 次删除
  1. 14 12
      App.vue
  2. 30 5
      pages.json
  3. 10 2
      pages/mycenter/mycenter.vue
  4. 142 71
      pages/mycenter/myincome.vue
  5. 1 1
      pages/mycenter/myinformation/bindaccount.vue
  6. 6 5
      pages/mycenter/mytask/mytask.vue
  7. 1903 0
      pages/selectionsquare/selectiondetail.vue
  8. 893 0
      pages/selectionsquare/selectionsquare.vue
  9. 3 3
      pages/tasksquare/specialTask/information.vue
  10. 138 17
      pages/tasksquare/specialTask/specialTaskDetail.vue
  11. 141 10
      pages/tasksquare/taskdetail.vue
  12. 2 8
      pages/tasksquare/tasksquare.vue
  13. 110 3
      pages/test/test.vue
  14. 22 0
      pages/workspace/selection/sectaskdetail.vue
  15. 41 2
      pages/workspace/taskdetail.vue
  16. 14 8
      pages/workspace/workspace.vue
  17. 二進制
      static/img/icon-shop1.png
  18. 二進制
      static/img/icon-shop2.png
  19. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/common/main.js.map
  20. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/common/vendor.js.map
  21. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/components/htz-image-upload/htz-image-upload.js.map
  22. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/components/mosowe-canvas-image/mosowe-canvas-image.js.map
  23. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/components/mys-tip_1.0.01/a_tip/aTip.js.map
  24. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/components/mys_navBar/mysNavBar.js.map
  25. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/components/z-swiper/index.js.map
  26. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/login/login.js.map
  27. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/login/userinfo.js.map
  28. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/mycenter/message.js.map
  29. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/mycenter/mycenter.js.map
  30. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/mycenter/myincome.js.map
  31. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/mycenter/myincome/applywithdraw.js.map
  32. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/mycenter/myinformation/addlocation.js.map
  33. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/mycenter/myinformation/bindaccount.js.map
  34. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/mycenter/myinformation/myaccount.js.map
  35. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/mycenter/myinformation/mybank.js.map
  36. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/mycenter/myinformation/myinformation.js.map
  37. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/mycenter/myinformation/mylocation.js.map
  38. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/mycenter/myinformation/personinfo.js.map
  39. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/mycenter/mypoint/mypoint.js.map
  40. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/mycenter/myselection/myselection.js.map
  41. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/mycenter/mytask/mytask.js.map
  42. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/mycenter/myteam/myteam.js.map
  43. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/selectionsquare/selectiondetail.js.map
  44. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/selectionsquare/selectionsquare.js.map
  45. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/tasksquare/bindinfo.js.map
  46. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/tasksquare/cooperation.js.map
  47. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/tasksquare/guanwang.js.map
  48. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/tasksquare/guide.js.map
  49. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/tasksquare/information.js.map
  50. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/tasksquare/search.js.map
  51. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/tasksquare/specialTask/information.js.map
  52. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/tasksquare/specialTask/specialTaskDetail.js.map
  53. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/tasksquare/success.js.map
  54. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/tasksquare/taskdetail.js.map
  55. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/tasksquare/tasksquare.js.map
  56. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/test/test.js.map
  57. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/workspace/applyInformation.js.map
  58. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/workspace/datarecord.js.map
  59. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/workspace/deliveryInformation.js.map
  60. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/workspace/editaddress.js.map
  61. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/workspace/linkrecord.js.map
  62. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/workspace/scriptrecord.js.map
  63. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/workspace/selection/sectaskdetail.js.map
  64. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/workspace/sketchrecord.js.map
  65. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/workspace/taskdetail.js.map
  66. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/workspace/uploaddata.js.map
  67. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/workspace/uploadlink.js.map
  68. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/workspace/uploadscript.js.map
  69. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/workspace/uploadsketch.js.map
  70. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/workspace/workspace.js.map
  71. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-data-checkbox/components/uni-data-checkbox/uni-data-checkbox.js.map
  72. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-easyinput/components/uni-easyinput/uni-easyinput.js.map
  73. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-forms/components/uni-forms-item/uni-forms-item.js.map
  74. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-forms/components/uni-forms/uni-forms.js.map
  75. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-icons/components/uni-icons/uni-icons.js.map
  76. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-load-more/components/uni-load-more/uni-load-more.js.map
  77. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-popup/components/uni-popup/uni-popup.js.map
  78. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-search-bar/components/uni-search-bar/uni-search-bar.js.map

+ 14 - 12
App.vue

@@ -7,14 +7,15 @@
 			console.warn('当前组件仅支持 uni_modules 目录结构 ,请升级 HBuilderX 到 3.1.0 版本以上!')
 			console.log('App Launch')
 			this.autoUpdate()
-			wx.getSystemInfo({
-				success: res => {
-					this.globalData.navHeight = res.statusBarHeight + 52 + "px"; // 赋值导航高度
-				},
-				fail(err) {
-					console.log(err);
-				}
-			})
+			this.globalData.navHeight = 44 + uni.getSystemInfoSync().statusBarHeight + "px"
+			// wx.getSystemInfo({
+			// 	success: res => {
+			// 		this.globalData.navHeight = res.statusBarHeight + 48 + "px"; // 赋值导航高度
+			// 	},
+			// 	fail(err) {
+			// 		console.log(err);
+			// 	}
+			// })
 		},
 		onShow: function() {
 			console.log('App Show')
@@ -101,7 +102,7 @@
 		font-family: uniicons;
 		src: url("/static/uni.ttf");
 	}
-	
+
 	/* #endif */
 	.home {
 		width: 97%;
@@ -127,15 +128,16 @@
 		word-break: break-all;
 	}
 
-	/deep/ textarea{
+	/deep/ textarea {
 		width: auto;
 	}
-	
+
 	/deep/ .uni-forms-item__content {
 		display: flex !important;
 		align-items: center !important;
 		/* justify-content: space-between; */
 	}
+
 	p {
 		word-break: break-all;
 	}
@@ -157,4 +159,4 @@
 	/deep/ .share1 .uni-popup .uni-popup__wrapper{
 				 width: 85% !important;
 	} */
-</style>
+</style>

+ 30 - 5
pages.json

@@ -309,15 +309,35 @@
 				"navigationStyle": "custom",
 				"navigationBarTextStyle": "black"
 			}
-		}
-	    ,{
-            "path" : "pages/mycenter/myselection/myselection",
+		}, {
+			"path": "pages/mycenter/myselection/myselection",
+			"style": {
+				"navigationBarTitleText": "YoungGee",
+				"navigationStyle": "custom",
+				"navigationBarTextStyle": "black"
+			}
+		}, {
+			"path": "pages/workspace/selection/sectaskdetail",
+			"style": {
+				"navigationBarTitleText": "YoungGee",
+				"navigationStyle": "custom",
+				"navigationBarTextStyle": "black"
+			}
+		}, {
+			"path": "pages/selectionsquare/selectionsquare",
 			"style": {
 				"navigationBarTitleText": "YoungGee",
 				"navigationStyle": "custom",
 				"navigationBarTextStyle": "black"
-			}            
-        }
+			}
+		}, {
+            "path" : "pages/selectionsquare/selectiondetail",
+			"style": {
+				"navigationBarTitleText": "YoungGee",
+				"navigationStyle": "custom",
+				"navigationBarTextStyle": "black"
+			}
+		}
     ],
 	"globalStyle": {
 		"navigationBarTextStyle": "black",
@@ -337,6 +357,11 @@
 				"pagePath": "pages/tasksquare/tasksquare",
 				"iconPath": "static/img/icon-square1.png",
 				"selectedIconPath": "static/img/icon-square2.png"
+			},{
+				"text": "选品广场",
+				"pagePath": "pages/selectionsquare/selectionsquare",
+				"iconPath": "static/img/icon-shop1.png",
+				"selectedIconPath": "static/img/icon-shop2.png"
 			},
 			{
 				"text": "工作台",

+ 10 - 2
pages/mycenter/mycenter.vue

@@ -374,6 +374,9 @@
 		<!-- <view class="" style="text-align: center;margin: 5% 0;">
 			<button size="mini" @tap="toSpecialTask()">专项测试</button>
 		</view> -->
+		<!-- <view class="" style="text-align: center;margin: 5% 0;">
+			<button size="mini" @tap="toTest()">进入测试页面</button>
+		</view> -->
 	</view>
 </template>
 
@@ -494,10 +497,15 @@
 			uni.hideLoading();
 		},
 		onLoad() {},
-		methods: {
+		methods: {				
+			toTest(){
+				uni.navigateTo({
+					url: '/pages/test/test'
+				});
+			},
 			toSpecialTask() {
 				uni.navigateTo({
-					url: '/pages/tasksquare/specialTask/specialTaskDetail?id=' + "2302497478"
+					url: '/pages/tasksquare/specialTask/specialTaskDetail?id=' + "2301261257"
 				});
 			},
 			init() {

+ 142 - 71
pages/mycenter/myincome.vue

@@ -29,18 +29,24 @@
 										:checked="item.checked" />
 								</view>
 							</label>
-							<view>
-								<p>任务ID:{{item.task_id}}</p>
-								<p>{{item.project_name}}</p>
-								<p>商品价值:{{item.show_product_price}}元</p>
-								<p>粉丝量:{{item.RecruitStrategy.show_followers_low}}-{{item.RecruitStrategy.show_followers_up}}
-								</p>
-								<p>稿费:{{item.RecruitStrategy.show_fee_form}} {{item.show_task_reward}}</p>
+							<view class="income-info">
+								<view class="income-info-product">
+									<image :src="item.product_photo.PhotoUrl"></image>
+								</view>
+								<view class="income-info-tp">
+									<p>任务ID:{{item.task_id}}</p>
+									<view class="income-info-project">
+										<image :src="item.platform_icon_url"></image>
+										<p>{{item.project_name}}</p>
+									</view>
+								</view>
 							</view>
 						</view>
 
 						<view class="income-list-cell-right">
-							<p>+{{item.show_settle_amount}}</p>
+							<p style="color: #f2d22d;font-size: 36rpx;font-weight: 600;">+{{item.show_settle_amount}}
+							</p>
+							<p>任务收益</p>
 						</view>
 					</view>
 				</checkbox-group>
@@ -49,18 +55,24 @@
 			<view class="income-list" v-if="showList2">
 				<view class="income-list-cell" style="margin-left: 50rpx;" v-for="item in list2" :key="item.value">
 					<view class="income-list-cell-left">
-						<view>
-							<p>任务ID:{{item.task_id}}</p>
-							<p>{{item.project_name}}</p>
-							<p>商品价值:{{item.show_product_price}}元</p>
-							<p>粉丝量:{{item.RecruitStrategy.show_followers_low}}-{{item.RecruitStrategy.show_followers_up}}
-							</p>
-							<p>稿费:{{item.RecruitStrategy.show_fee_form}} {{item.show_task_reward}}</p>
+						<view class="income-info">
+							<view class="income-info-product">
+								<image :src="item.product_photo.PhotoUrl"></image>
+							</view>
+							<view class="income-info-tp">
+								<p>任务ID:{{item.task_id}}</p>
+								<view class="income-info-project">
+									<image :src="item.platform_icon_url"></image>
+									<p>{{item.project_name}}</p>
+								</view>
+							</view>
 						</view>
 					</view>
 
 					<view class="income-list-cell-right">
-						<p>+{{item.show_settle_amount}}</p>
+						<p style="color: #f2d22d;font-size: 36rpx;font-weight: 600;">+{{item.show_settle_amount}}
+						</p>
+						<p>任务收益</p>
 					</view>
 				</view>
 			</view>
@@ -68,18 +80,24 @@
 			<view class="income-list" v-if="showList3">
 				<view class="income-list-cell" style="margin-left: 50rpx;" v-for="item in list3" :key="item.value">
 					<view class="income-list-cell-left">
-						<view>
-							<p>任务ID:{{item.task_id}}</p>
-							<p>{{item.project_name}}</p>
-							<p>商品价值:{{item.show_product_price}}元</p>
-							<p>粉丝量:{{item.RecruitStrategy.show_followers_low}}-{{item.RecruitStrategy.show_followers_up}}
-							</p>
-							<p>稿费:{{item.RecruitStrategy.show_fee_form}} {{item.show_task_reward}}元</p>
+						<view class="income-info">
+							<view class="income-info-product">
+								<image :src="item.product_photo.PhotoUrl"></image>
+							</view>
+							<view class="income-info-tp">
+								<p>任务ID:{{item.task_id}}</p>
+								<view class="income-info-project">
+									<image :src="item.platform_icon_url"></image>
+									<p>{{item.project_name}}</p>
+								</view>
+							</view>
 						</view>
 					</view>
 
 					<view class="income-list-cell-right">
-						<p>+{{item.show_settle_amount}}</p>
+						<p style="color: #f2d22d;font-size: 36rpx;font-weight: 600;">+{{item.show_settle_amount}}
+						</p>
+						<p>任务收益</p>
 					</view>
 				</view>
 			</view>
@@ -322,70 +340,89 @@
 						if (res.data.data.can_withdraw_task_info_list != null) {
 							this.list1 = res.data.data.can_withdraw_task_info_list
 							for (let i = 0; i < this.list1.length; i++) {
-								this.list1[i].show_product_price = money(this.list1[i].product_price)
 								this.list1[i].show_task_reward = money(this.list1[i].task_reward)
 								this.list1[i].show_settle_amount = money(this.list1[i].settle_amount)
-								this.list1[i].RecruitStrategy.show_followers_low = fansview(this.list1[i]
-									.RecruitStrategy.followers_low)
-								this.list1[i].RecruitStrategy.show_followers_up = fansview(this.list1[i]
-									.RecruitStrategy.followers_up)
-								switch (this.list1[i].RecruitStrategy.fee_form) {
-									case 1:
-										this.list1[i].RecruitStrategy.show_fee_form = "产品置换"
-										break
-									case 2:
-										this.list1[i].RecruitStrategy.show_fee_form = "固定稿费"
-										break
-									case 3:
-										this.list1[i].RecruitStrategy.show_fee_form = "自报价"
-										break
+
+								let ProductPhoto = JSON.parse(this.list1[i].product_photo);
+								for (let j = 0; j < ProductPhoto.length; ++j) {
+									if (ProductPhoto[j].Symbol == 1) {
+										this.list1[i].product_photo = ProductPhoto[j]
+									}
 								}
+								// this.list1[i].show_product_price = money(this.list1[i].product_price)
+								// this.list1[i].RecruitStrategy.show_followers_low = fansview(this.list1[i]
+								// 	.RecruitStrategy.followers_low)
+								// this.list1[i].RecruitStrategy.show_followers_up = fansview(this.list1[i]
+								// 	.RecruitStrategy.followers_up)
+								// switch (this.list1[i].RecruitStrategy.fee_form) {
+								// 	case 1:
+								// 		this.list1[i].RecruitStrategy.show_fee_form = "产品置换"
+								// 		break
+								// 	case 2:
+								// 		this.list1[i].RecruitStrategy.show_fee_form = "固定稿费"
+								// 		break
+								// 	case 3:
+								// 		this.list1[i].RecruitStrategy.show_fee_form = "自报价"
+								// 		break
+								// }
 							}
 						}
 						if (res.data.data.withdrawed_task_info_list != null) {
 							this.list2 = res.data.data.withdrawed_task_info_list
 							for (let i = 0; i < this.list2.length; i++) {
-								this.list2[i].show_product_price = money(this.list2[i].product_price)
 								this.list2[i].show_task_reward = money(this.list2[i].task_reward)
 								this.list2[i].show_settle_amount = money(this.list2[i].settle_amount)
-								this.list2[i].RecruitStrategy.show_followers_low = fansview(this.list2[i]
-									.RecruitStrategy.followers_low)
-								this.list2[i].RecruitStrategy.show_followers_up = fansview(this.list2[i]
-									.RecruitStrategy.followers_up)
-								switch (this.list2[i].RecruitStrategy.fee_form) {
-									case 1:
-										this.list2[i].RecruitStrategy.show_fee_form = "产品置换"
-										break
-									case 2:
-										this.list2[i].RecruitStrategy.show_fee_form = "固定稿费"
-										break
-									case 3:
-										this.list2[i].RecruitStrategy.show_fee_form = "自报价"
-										break
+								let ProductPhoto = JSON.parse(this.list2[i].product_photo);
+								for (let j = 0; j < ProductPhoto.length; ++j) {
+									if (ProductPhoto[j].Symbol == 1) {
+										this.list2[i].product_photo = ProductPhoto[j]
+									}
 								}
+								// this.list2[i].show_product_price = money(this.list2[i].product_price)
+								// this.list2[i].RecruitStrategy.show_followers_low = fansview(this.list2[i]
+								// 	.RecruitStrategy.followers_low)
+								// this.list2[i].RecruitStrategy.show_followers_up = fansview(this.list2[i]
+								// 	.RecruitStrategy.followers_up)
+								// switch (this.list2[i].RecruitStrategy.fee_form) {
+								// 	case 1:
+								// 		this.list2[i].RecruitStrategy.show_fee_form = "产品置换"
+								// 		break
+								// 	case 2:
+								// 		this.list2[i].RecruitStrategy.show_fee_form = "固定稿费"
+								// 		break
+								// 	case 3:
+								// 		this.list2[i].RecruitStrategy.show_fee_form = "自报价"
+								// 		break
+								// }
 							}
 						}
 						if (res.data.data.withdrawing_task_info_list != null) {
 							this.list3 = res.data.data.withdrawing_task_info_list
 							for (let i = 0; i < this.list3.length; i++) {
-								this.list3[i].show_product_price = money(this.list3[i].product_price)
 								this.list3[i].show_task_reward = money(this.list3[i].task_reward)
 								this.list3[i].show_settle_amount = money(this.list3[i].settle_amount)
-								this.list3[i].RecruitStrategy.show_followers_low = fansview(this.list3[i]
-									.RecruitStrategy.followers_low)
-								this.list3[i].RecruitStrategy.show_followers_up = fansview(this.list3[i]
-									.RecruitStrategy.followers_up)
-								switch (this.list3[i].RecruitStrategy.fee_form) {
-									case 1:
-										this.list3[i].RecruitStrategy.show_fee_form = "产品置换"
-										break
-									case 2:
-										this.list3[i].RecruitStrategy.show_fee_form = "固定稿费"
-										break
-									case 3:
-										this.list3[i].RecruitStrategy.show_fee_form = "自报价"
-										break
+								let ProductPhoto = JSON.parse(this.list3[i].product_photo);
+								for (let j = 0; j < ProductPhoto.length; ++j) {
+									if (ProductPhoto[j].Symbol == 1) {
+										this.list3[i].product_photo = ProductPhoto[j]
+									}
 								}
+								// this.list3[i].show_product_price = money(this.list3[i].product_price)
+								// this.list3[i].RecruitStrategy.show_followers_low = fansview(this.list3[i]
+								// 	.RecruitStrategy.followers_low)
+								// this.list3[i].RecruitStrategy.show_followers_up = fansview(this.list3[i]
+								// 	.RecruitStrategy.followers_up)
+								// switch (this.list3[i].RecruitStrategy.fee_form) {
+								// 	case 1:
+								// 		this.list3[i].RecruitStrategy.show_fee_form = "产品置换"
+								// 		break
+								// 	case 2:
+								// 		this.list3[i].RecruitStrategy.show_fee_form = "固定稿费"
+								// 		break
+								// 	case 3:
+								// 		this.list3[i].RecruitStrategy.show_fee_form = "自报价"
+								// 		break
+								// }
 							}
 						}
 					})
@@ -531,9 +568,15 @@
 		margin: 20rpx 0;
 	}
 
+	.income-list-cell-right {
+		display: flex;
+		flex-direction: column;
+		align-items: flex-end;
+	}
+
 	.income-list-cell-right p {
-		color: #F0D232;
-		font-size: 35rpx;
+		// color: #F0D232;
+		font-size: 32rpx;
 		margin-right: 50rpx;
 	}
 
@@ -541,11 +584,39 @@
 	// 	margin-left: 70rpx;
 	// }
 
+	.income-info {
+		display: flex;
+		// align-items: center;
+	}
+
 	.income-list-checkbox {
 		width: 50rpx;
 		transform: scale(0.7)
 	}
 
+	.income-info-product image {
+		height: 120rpx;
+		width: 120rpx;
+		padding: 10rpx;
+	}
+
+	.income-info-tp {
+		display: flex;
+		flex-direction: column;
+	}
+
+	.income-info-project {
+		display: flex;
+		align-items: center;
+		margin: 10rpx 0;
+	}
+
+	.income-info-project image {
+		height: 40rpx;
+		width: 40rpx;
+		padding-right: 20rpx;
+	}
+
 	.interval2 {
 		width: 100%;
 		height: 120rpx;

+ 1 - 1
pages/mycenter/myinformation/bindaccount.vue

@@ -343,7 +343,7 @@
 				console.log('ceshiChooseSuccess', tempFilePaths, e);
 				if (e == 0) {
 					this.store = 'talent_upload/' + this.guid() + '.png'
-					// this.store = 'talent_upload/icon-edit2.png'
+					// this.store = 'talent_upload/icon-whole-pipline.png'
 					// this.store = 'youngee/talent_upload/icon-edit.2png'
 				} else if (e == 1) {
 					this.store = 'talent_upload/' + this.guid() + '.mp4'

+ 6 - 5
pages/mycenter/mytask/mytask.vue

@@ -2,7 +2,7 @@
 	<view>
 		<!-- 胶囊 -->
 		<mvBar :mysNavConfig="mysNavConfig"></mvBar>
-		<view :style="{marginTop:navH}"></view>
+		<view :style="{paddingTop:navH}" style="background-color: #fff;z-index: 10;"></view>
 
 		<view class="menu" v-if="!loading">
 			<view class="menu-item" @click="toAll()">
@@ -19,7 +19,7 @@
 			</view>
 		</view>
 
-		<view class="home" v-if="tab == 'all' && !loading" style="padding-top: 100rpx;">
+		<view class="home" v-if="tab == 'all' && !loading">
 			<view class="task" v-for="item in allList">
 				<view @click="toDetail(item)">
 					<view class="task-head">
@@ -45,7 +45,7 @@
 			</view>
 		</view>
 
-		<view class="home" v-if="tab == 'apply' && !loading" style="padding-top: 100rpx;">
+		<view class="home" v-if="tab == 'apply' && !loading">
 			<view class="task" v-for="item in applyList">
 				<view @click="toDetail(item)">
 					<view class="task-head">
@@ -67,7 +67,7 @@
 			</view>
 		</view>
 
-		<view class="home" v-if="tab == 'execute' && !loading" style="padding-top: 100rpx;">
+		<view class="home" v-if="tab == 'execute' && !loading">
 			<view class="task" v-for="item in goingList">
 				<view @click="toDetail(item)">
 					<view class="task-head">
@@ -93,7 +93,7 @@
 			</view>
 		</view>
 
-		<view class="home" v-if="tab == 'end' && !loading" style="padding-top: 100rpx;">
+		<view class="home" v-if="tab == 'end' && !loading">
 			<view class="task" v-for="item in endList">
 				<view @click="toDetail(item)">
 					<view class="task-head">
@@ -398,6 +398,7 @@
 	}
 
 	.task {
+		z-index: 1;
 		margin-bottom: 20rpx;
 		border-bottom: 1rpx #d7d7d7 solid;
 

+ 1903 - 0
pages/selectionsquare/selectiondetail.vue

@@ -0,0 +1,1903 @@
+<template>
+	<view style="position: relative;">
+		<!-- 胶囊 -->
+		<mvBar :mysNavConfig="mysNavConfig"></mvBar>
+		<view :style="{marginTop:navH}"></view>
+		<view class="" id="wrap0" v-show="!loading">
+			<view class="home">
+				<view class="uni-margin-wrap">
+					<swiper class="swiper" circular :indicator-dots="true" :autoplay="true" :interval="3000"
+						:duration="1000">
+						<swiper-item v-for="item in image_list">
+							<image :src="item.PhotoUrl" mode="aspectFill" style="width: 100%;height: 100%;"
+								@click="handlePreviewImage1(item.PhotoUrl)" v-if="item.Symbol !== 3">
+							</image>
+							<video :src="item.PhotoUrl" style="width: 100%;height: 100%;" v-if="item.Symbol === 3">
+							</video>
+						</swiper-item>
+					</swiper>
+
+					<view class="">
+						<view class="Tasktext">
+							<image src="https://horastar.obs.cn-east-3.myhuaweicloud.com/talent/pingtai2.png" mode="">
+							</image>
+							<span>PUYU朴郁小树茶冻干茶粉PUYU朴郁小树茶冻干茶粉</span>
+						</view>
+						<view class="introduction">
+							<view class="rleft">
+								<p>余<span style="color: #52b2f0;">123567</span>件</p>
+							</view>
+							<view class="rright">
+								<p>距离任务有效期还有<span style="color: #f70606;">1107</span>天</p>
+							</view>
+						</view>
+						<view class="projectinfo">
+							<view class="projectinfotxt">
+								<p>售价</p>
+								<p style="font-size: 36rpx;">¥79.9</p>
+							</view>
+							<view class="projectinfotxt">
+								<p>预估赚</p>
+								<p style="color: #f70606;font-size: 36rpx;">¥7.9</p>
+							</view>
+							<view class="projectinfotxt">
+								<p>佣金</p>
+								<p style="color: #f70606;font-size: 36rpx;">10%</p>
+							</view>
+							<view class="projectinfotxt">
+								<p>额外悬赏</p>
+								<p style="color: #f70606;font-size: 36rpx;">¥100.0</p>
+							</view>
+						</view>
+					</view>
+				</view>
+			</view>
+			<!-- <view class="interval"></view> -->
+			<view class="home" style="padding-top: 0;">
+				<view class="">
+					<view class="circularmark">
+						<p>领养要求</p>
+					</view>
+					<view class="markcontent">
+						<p>近30天橱窗销量>=1000</p>
+					</view>
+				</view>
+				<view class="">
+					<view class="circularmark">
+						<p>返现&悬赏条件</p>
+					</view>
+					<view class="markcontent">
+						<p>近30天橱窗销量>=1000</p>
+					</view>
+				</view>
+				<view class="">
+					<view class="circularmark">
+						<p>任务要求</p>
+					</view>
+					<view class="markcontent">
+						<view style="display: flex;margin: 10rpx 0;">
+							<p class="label">内容形式:</p>
+							<p class="wvp">直播</p>
+						</view>
+						<view style="display: flex;;margin: 10rpx 0;">
+							<p class="label">带货链接:</p>
+							<span style="display: flex;align-items: center;">
+								<p class="wvp" style="padding: 0;">{{productUrl|ellipsis}}</p>
+								<image :src="icon_copy" mode="" style="width: 40rpx;height: 40rpx;"
+									@click="handleCopy(productUrl)" />
+							</span>
+
+						</view>
+					</view>
+				</view>
+			</view>
+			<view class="" id="wrap1">
+				<view class="home" style="padding-top: 0;">
+					<view class="">
+						<view class="circularmark">
+							<p>买点总结</p>
+						</view>
+						<view class="markcontent">
+							<text class="wvp" style="margin: 10rpx 0;" decode="true" user-select="true">
+								{{productDetail}} </text>
+						</view>
+					</view>
+				</view>
+			</view>
+			<view class="" id="wrap2">
+				<view class="home" style="padding-top: 0;">
+					<view class="">
+						<view class="circularmark">
+							<p>BRIEF</p>
+						</view>
+						<view class="markcontent1">
+							<view class="diagram" style="font-size: 30rpx;margin: 0 30rpx;">
+								<p>暂无详情说明</p>
+							</view>
+						</view>
+					</view>
+				</view>
+			</view>
+			<view class="" id="wrap2">
+				<view class="home" style="padding-top: 0;">
+					<view class="">
+						<view class="circularmark">
+							<p>示例</p>
+						</view>
+						<view class="markcontent1">
+							<view class="diagram" v-for="item in project_photo">
+								<image :src="item.photo_url" mode="widthFix"></image>
+							</view>
+						</view>
+					</view>
+				</view>
+			</view>
+
+			<view class="interval2"></view>
+			<view class="signup">
+				<button type="default" class="but1" @click="toggle('bottom')">立即申请</button>
+				<button type="default" class="but1" disabled v-if="isSign===1 && ddl === 0"> 已报名 </button>
+				<button type="default" class="but1" disabled v-if="ddl===1"> 报名结束 </button>
+				<button type="default" class="but2" @click="toggle1('bottom')">
+					<image src="https://horastar.obs.cn-east-3.myhuaweicloud.com/talent/task8.png" mode=""></image>
+					开团
+				</button>
+			</view>
+			<view>
+				<!-- 底部普通弹窗 -->
+				<uni-popup ref="popup" background-color="#fff" @change="change" style="border-radius: 20rpx;">
+					<view class="popup-content" :class="{ 'popup-height': type === 'left' || type === 'right' }">
+						<view class="">
+							<view class="sampledrawing">
+								<image :src="img" style="width: 250rpx;height: 235rpx;margin-top: -9%;margin-left: -3%;"
+									mode="">
+								</image>
+								<view class="samplecharacter">
+									<p>{{information.project_name}}</p>
+								</view>
+							</view>
+							<!-- 商品价值及任务形式 -->
+							<view
+								style="display: flex;align-items: center;justify-content: space-between;margin-bottom: 50rpx;">
+								<view style="font-size: 30rpx;">
+									<p>商品价值:{{information.Product.ProductPrice}}元</p>
+								</view>
+								<view style="margin-right: 20rpx;font-size: 30rpx;">
+									<p>任务形式:{{information.project_form}}</p>
+								</view>
+							</view>
+							<view class="">
+								<!-- <h3>产品规格</h3> -->
+								<view class="">
+									<uni-data-checkbox mode="tag" v-model="value" :localdata="sex">
+									</uni-data-checkbox>
+								</view>
+							</view>
+							<view class="" style=";margin-bottom: 50rpx; ">
+								<p style="font-size: 30rpx;">合作选择(平台账号不达标不能选择)</p>
+								<view class="tip_box" style="margin-top: 0;" v-if="showWarning">
+									<view class="container"
+										style="margin-right: 300rpx;background-color: #f24632;border-radius: 10rpx">
+										<view class="tips">
+											<p style="font-size: 24rpx;color: #fff">请选择合作方式</p>
+										</view>
+									</view>
+								</view>
+								<view id="coop_box" v-if="hackReset">
+									<view v-for="item in coop_choice" :key="item.strategy_id">
+										<view class="coop_box_btn"
+											:class="strategy_id===item.strategy_id?'borderColor':''"
+											@click="handleCoopClick(item)">
+											<p>粉丝量:{{item.show_followers_low}}-{{item.show_followers_up}}</p>
+											<view style="display: flex;align-items: center;justify-content: center;">
+												<p>稿费:{{item.fee_form_t}}</p>
+												<view v-if="item.fee_form===3">
+													<input class="offer_input" type="number" placeholder="请输入"
+														v-model="item.offer" />
+												</view>
+												<view v-if="item.fee_form===3">
+													<p>元</p>
+												</view>
+											</view>
+										</view>
+
+										<view class="tip_box" v-if="item.showWarning">
+											<view class="container"
+												style="margin-right: 200rpx;background-color: #f24632;border-radius: 10rpx">
+												<view class="tips">
+													<p style="font-size: 24rpx;color: #fff">
+														{{item.warningText}}
+													</p>
+												</view>
+											</view>
+										</view>
+									</view>
+								</view>
+							</view>
+							<view class="butto">
+								<button class="mini-btn1" size="mini" @tap="Reset"
+									style="background-color: #FFFFFF;margin-right: 50rpx;">更新账号信息</button>
+								<button class="mini-btn2" size="mini" @tap="determine"
+									style="background-color: #f2d22d;">立即报名</button>
+							</view>
+						</view>
+					</view>
+				</uni-popup>
+			</view>
+			<view>
+				<!-- 底部普通弹窗 -->
+				<uni-popup ref="popup1" background-color="#fff" @change="change" style="border-radius: 20rpx;">
+					<view class="popup-content1" :class="{ 'popup-height': type === 'left' || type === 'right' }">
+						<view
+							style="display: flex; justify-content: space-around; margin-top: 10% ;margin-bottom: 3% ;">
+							<view>
+								<button class="tii2" data-name="shareBtn" open-type="share">
+									<view class="circular" style="margin-top: 10% ;">
+										<image src="https://horastar.obs.cn-east-3.myhuaweicloud.com/talent/taskw.png"
+											mode=""></image>
+									</view>
+									<p class="tii">发送给朋友</p>
+								</button>
+							</view>
+							<view>
+								<button class="tii2" @click="toggle2('center')">
+									<view class="circular" style="margin-top: 10% ;">
+										<image src="https://horastar.obs.cn-east-3.myhuaweicloud.com/talent/taske.png"
+											mode=""></image>
+									</view>
+									<p class="tii">生成分享码</p>
+								</button>
+							</view>
+						</view>
+
+						<button type="default" class="errar" @click="cancel()">取消</button>
+					</view>
+				</uni-popup>
+			</view>
+
+			<uni-popup ref="popup2" class="share1" background-color="#fff" @change="change">
+				<view class="popup-content">
+					<image :src="canvasUrl" mode="widthFix" style="width: 300px;height: 420px;margin-top: 30rpx;">
+					</image>
+					<mosoweCanvas ref="mosoweCanvasComponents" @canvasImage="_canvasImage" :lists="lists" height="420"
+						width="300" imgType="png" />
+
+					<view class="" style="text-align: center;margin: 5% 0;">
+						<button class="butmin" size="mini" @tap="saveImage">保存</button>
+					</view>
+				</view>
+			</uni-popup>
+		</view>
+	</view>
+</template>
+
+<script>
+	import mosoweCanvas from "@/components/mosowe-canvas-image/mosowe-canvas-image";
+	import mvBar from "@/components/mys_navBar/mysNavBar";
+	import zSwiper from '@/components/z-swiper/index.vue'; // npm安装
+	import {
+		getQueryString,
+		fansview,
+		money
+	} from '@/components/utils.js';
+	import {
+		saveImageToPhotosAlbum,
+		showToast,
+		downloadFile
+	} from '@/uni_modules/sakura-canvas/js_sdk/util'
+	export default {
+		filters: {
+			ellipsis(value) {
+				if (!value) return "";
+				if (value.length > 30) {
+					return value.slice(0, 30) + "...";
+				}
+				return value;
+			},
+		},
+		components: {
+			mvBar,
+			zSwiper,
+			mosoweCanvas
+		},
+		data() {
+			return {
+				// 测试数据
+				image_list: [{
+						Symbol: 1,
+						PhotoUrl: 'https://horastar.obs.cn-east-3.myhuaweicloud.com/backstage_upload/a69be940-e294-4dd4-9b09-d80274c75a15.png'
+					},
+					{
+						Symbol: 2,
+						PhotoUrl: 'https://horastar.obs.cn-east-3.myhuaweicloud.com/backstage_upload/e1a40241-a566-4227-9b3c-afefe88f4b69.png'
+					},
+					{
+						Symbol: 2,
+						PhotoUrl: 'https://horastar.obs.cn-east-3.myhuaweicloud.com/backstage_upload/deb21a8b-1517-4352-823b-b70e0cd6883d.png'
+					},
+				],
+				productUrl: 'https://haohuo.jinritemai.com/views/product/detail?id=3519429421675223776&origin_type=604',
+				productDetail: 'puyu朴郁小树茶是朴郁公司的一款茶饮,采用先进的冻干粉末技术,将红茶/绿茶精华萃取并制作成冻干茶粉。外包装申请了国家专利,一花一树造型更符合时下追求品味的年轻人的审美。本品获得2021年国家创新美食银奖。',
+
+				project_photo: [{
+						Symbol: 1,
+						photo_url: 'https://horastar.obs.cn-east-3.myhuaweicloud.com/backstage_upload/a69be940-e294-4dd4-9b09-d80274c75a15.png'
+					},
+					{
+						Symbol: 2,
+						photo_url: 'https://horastar.obs.cn-east-3.myhuaweicloud.com/backstage_upload/e1a40241-a566-4227-9b3c-afefe88f4b69.png'
+					},
+					{
+						Symbol: 2,
+						photo_url: 'https://horastar.obs.cn-east-3.myhuaweicloud.com/backstage_upload/deb21a8b-1517-4352-823b-b70e0cd6883d.png'
+					},
+				],
+
+				// nav
+				navH: getApp().globalData.navHeight,
+				mysNavConfig: {
+					/* 占位开启  */
+					// navPadding: true,
+					/* 背景 */
+					// bgColor: "#f8f8f8",
+					/* 开启单页显示首页图标 */
+					isHome: false,
+					/* 固定导航  */
+					navFixed: true,
+					/* 标题 (屏幕中心居中 两边图标中心居中使用slot center1) */
+					navTitle: {
+						text: "任务详情",
+						color: "",
+						fontSize: "32rpx", // px upx rpx
+						fontWeight: "", // 100 - 700
+					},
+					btnType: "type2",
+					onLeftClick: '',
+					/* type2 按钮 */
+					type2Config: {
+						// 左图标
+						leftPath: "https://horastar.obs.cn-east-3.myhuaweicloud.com/talent/png2.png",
+						// 右图标
+						rightPath: "https://horastar.obs.cn-east-3.myhuaweicloud.com/talent/png4.png",
+						// 圆角
+						radius: "40rpx",
+					},
+				},
+
+				coopStrategy: "点击报名后显示",
+				icon_copy: 'https://horastar.obs.cn-east-3.myhuaweicloud.com/talent_upload/icon-copy.png',
+				canvasUrl: '',
+				hackReset: true,
+				showWarning: false,
+				arrowMargin: 0,
+				cotainerMargin: 0,
+				screenWidth: 0,
+				hasNoProjectPhoto: false,
+				ddl: "",
+				loading: true,
+				isSign: 0,
+				strategy_id: 0,
+				strategy: null,
+				input_offer: 0.0,
+				chooseBtn: 0,
+				share: {
+					title: "",
+					path: '',
+					imageUrl: '',
+					desc: '',
+					content: ''
+				},
+				poster: {},
+				posterImg: '',
+				canvasId: 'myCanvas',
+				img: '',
+				younggee_logo: "https://horastar.obs.cn-east-3.myhuaweicloud.com/talent/younggee_logo.png",
+				task_type_info: ["实体商品寄拍", "虚拟产品测评", "线下探店打卡"],
+				talent_type_info: ["不限", "美妆", "美食", "生活", "时尚", "测评", "旅行", "汽车", "萌宠", "游戏", "音乐", "舞蹈", "房产", "情感",
+					"三农",
+					"园艺", "随拍", "图文控", "二次元", "母婴亲子", "颜值达人", "剧情搞笑", "运动健身", "家居家装", "科技数码", "教育培训", "才艺技能", "艺术文化",
+					"财经投资",
+				],
+				product_types: [{
+						value: 1,
+						label: '3C及电器'
+					},
+					{
+						value: 2,
+						label: '食品饮料'
+					},
+					{
+						value: 3,
+						label: '服装配饰'
+					},
+					{
+						value: 4,
+						label: '医疗'
+					},
+					{
+						value: 5,
+						label: '房地产'
+					},
+					{
+						value: 6,
+						label: '家居建材'
+					},
+					{
+						value: 7,
+						label: '教育培训'
+					},
+					{
+						value: 8,
+						label: '出行旅游'
+					},
+					{
+						value: 9,
+						label: '游戏'
+					},
+					{
+						value: 10,
+						label: '互联网平台'
+					},
+					{
+						value: 11,
+						label: '汽车'
+					},
+					{
+						value: 12,
+						label: '文体娱乐'
+					},
+					{
+						value: 13,
+						label: '影视传媒'
+					},
+					{
+						value: 14,
+						label: '线下店铺'
+					},
+					{
+						value: 15,
+						label: '软件服务'
+					},
+					{
+						value: 16,
+						label: '美妆'
+					},
+					{
+						value: 17,
+						label: '母婴宠物'
+					},
+					{
+						value: 18,
+						label: '日化'
+					},
+					{
+						value: 19,
+						label: '其他'
+					}
+				],
+				title: '[东鑫记港式茶餐厅]南京东路|魔都新晋爆款茶餐厅来袭!99元抢门',
+				price: '',
+				tips: '识别二维码\n立即申请任务',
+				head: 'https://horastar.obs.cn-east-3.myhuaweicloud.com/talent/task15.png',
+				big: '',
+				tabBarStyle: {},
+				activeTab: 0,
+				hei: '',
+				hei1: '',
+				topp0: '',
+				topp1: '',
+				topp2: '',
+				scrollTop: '',
+				activeColor: '#f2d22d',
+				value: '',
+				value1: '',
+				sex: [],
+				coop_choice: [],
+				type: 'center',
+				type1: 'center',
+				type2: 'center',
+				item: {
+					title: '0'
+				},
+				// 视频轮播
+				fullScreen: true,
+				topFloat: true,
+				fotterFloat: true,
+				// 指示器样式
+				mode: 'circle',
+				indicatorPos: 'bottomCenter',
+				carousel_images: ['https://img2.baidu.com/it/u=2141851239,1037607188&fm=26&fmt=auto&gp=0.jpg',
+					'https://horastar.obs.cn-east-3.myhuaweicloud.com/talent/home1.png',
+				],
+				dotIndex: 0, //指示器索引
+				dotFloatIndex: 0, //位置指示器索引
+				//轮播图
+
+				swiper: {
+					margin: "150rpx",
+					index: 0,
+					list: [
+
+					]
+				},
+				tar: false,
+				projectid: '',
+				talent: {},
+				account: [],
+				information: {},
+				zhanghaocode: '',
+				product_detail_images: [],
+				codeImg: '',
+				queryAll: '',
+				token: '',
+			};
+		},
+		onShareAppMessage(res) {
+			return {
+				title: this.share.title,
+				path: 'pages/tasksquare/taskdetail?id=' + this.projectid,
+				imageUrl: this.share.imageUrl,
+				desc: '',
+				content: '',
+				success(res) {
+					uni.showToast({
+						title: '分享成功'
+					})
+				},
+				fail(res) {
+					uni.showToast({
+						title: '分享失败',
+						icon: 'none'
+					})
+				}
+			}
+		},
+		computed: {
+			lists: {
+				get() {
+					let tmplist = [
+						// 大图
+						{
+							type: 'image',
+							content: this.img,
+							width: 300,
+							height: 320,
+							x: 0,
+							y: 0,
+						},
+						// 标题
+						{
+							type: 'text',
+							content: this.title,
+							color: '#333333',
+							weight: 'bold',
+							size: '12px',
+							width: 200,
+							height: 20,
+							x: 20,
+							y: 340,
+						},
+						// 文案1
+						{
+							type: 'text',
+							content: "招募人数:" + this.information.taskNum,
+							color: '#333333',
+							size: '10px',
+							width: 60,
+							height: 20,
+							x: 20,
+							y: 370,
+						},
+						// 文案2
+						{
+							type: 'text',
+							content: "扫码立即报名",
+							color: '#333333',
+							size: '10px',
+							width: 60,
+							height: 20,
+							x: 110,
+							y: 370,
+						},
+						// logo
+						// {
+						// 	type: 'image',
+						// 	content: this.younggee_logo,
+						// 	width: 120,
+						// 	height: 50,
+						// 	x: 10,
+						// 	y: 370,
+						// },
+						// 文案3
+						{
+							type: 'text',
+							content: "发布任务请登录",
+							color: '#333333',
+							size: '10px',
+							width: 70,
+							height: 20,
+							x: 20,
+							y: 400,
+						},
+						{
+							type: 'text',
+							content: "www.younggee.com",
+							color: '#333333',
+							size: '10px',
+							// style: 'italic',
+							width: 60,
+							height: 20,
+							x: 90,
+							y: 400,
+						},
+						// 二维码
+						{
+							type: 'qr',
+							content: this.head,
+							projectid: this.projectid,
+							width: 80,
+							height: 80,
+							x: 215,
+							y: 325,
+						},
+					]
+					return tmplist
+				},
+				set() {}
+			}
+		},
+		async created() {},
+		async onShow() {
+			// 判断登录
+			await this.isLogin();
+			if (this.token === '') {
+				uni.showModal({
+					content: '请先登录',
+					success: function(res) {
+						if (res.confirm) {
+							uni.navigateTo({
+								url: '/pages/login/login'
+							});
+						} else if (res.cancel) {
+							uni.navigateBack();
+						}
+					}
+				});
+			} else {
+				this.loading = true;
+				uni.showLoading({
+					title: '加载中'
+				});
+				this.getTalentInfo();
+				await this.getProjectDetail();
+				await this.getTalentAccountInfo();
+				if (this.account.length != 0) {
+					await this.isSignUp();
+				}
+				this.loading = false;
+				uni.hideLoading();
+			}
+		},
+		onLoad(options) {
+			// if (options.q) {
+			// 	let queryAll = decodeURIComponent(options.q);
+			// 	this.projectid = getQueryString(queryAll, 'id')
+			// } else {
+			// 	this.projectid = options.id
+			// }
+			console.log(options)
+			const scene = decodeURIComponent(options.scene);
+			if (scene != "undefined") {
+				this.projectid = scene;
+			} else {
+				this.projectid = options.id
+			}
+			this.share.path = 'https://younggee.com/wxapp/taskdetail?action=taskdetail&id=' + this.projectid
+			console.log("share path: ", this.share.path)
+			this.postlist()
+		},
+		onReady() { // 注意:想要拿到元素实例,需要在实例已经挂载到页面上才可以
+			this.init();
+		},
+		methods: {
+			handleCopy(content) {
+				wx.setClipboardData({
+					data: content,
+					success: function(res) {
+						console.log("复制成功");
+					}
+				});
+			},
+			postlist() {
+				// uni.showModal({
+				// 	content: "项目id为:"+this.projectid,
+				// })
+				this.$https.post('/youngee/c/p/get-qrcode', {
+						scene: this.projectid,
+						page: 'pages/tasksquare/taskdetail',
+						// scene: this.taskid,
+						// page: 'pages/task/taskdetails',
+					})
+					.then(res => {
+						console.log(res)
+						this.head = 'data:image/png;base64,' + res.data.data;
+					})
+			},
+			init() {
+				let rect = uni.getMenuButtonBoundingClientRect();
+				let screenWidth = uni.getSystemInfoSync().screenWidth;
+				this.arrowMargin = rect.width * 0.75 + 4;
+				this.cotainerMargin = screenWidth - rect.right;
+			},
+			// 判断登陆是否过期
+			isLogin() {
+				return this.$https.get('/youngee/c/t/g/is-login')
+					.then(res => {
+						if (res.data.code === 403) {
+							// 登陆已失效
+							this.token = ""
+						} else {
+							this.token = uni.getStorageSync('token')
+						}
+					})
+			},
+			handlePreviewImage1(item) {
+				console.log("image src: ", item)
+				let that = this
+				wx.previewImage({
+					current: item, // 当前显示图片的http链接
+					urls: that.carousel_images // 需要预览的图片http链接列表
+				})
+			},
+			handleCoopClick(value) {
+				if (this.account[0].fans_count < value.followers_low) {
+					for (let i = 0; i < this.coop_choice.length; ++i) {
+						if (value.strategy_id === this.coop_choice[i].strategy_id) {
+							this.coop_choice[i].showWarning = true;
+							this.hackReset = false;
+							this.hackReset = true;
+							this.coop_choice[i].warningText = "不符合报名条件";
+							setTimeout(() => {
+								this.coop_choice[i].showWarning = false;
+								this.hackReset = false;
+								this.hackReset = true;
+							}, 2000)
+						}
+					}
+				} else {
+					this.strategy_id = value.strategy_id;
+					this.strategy = value;
+				}
+			},
+			getProjectDetail() {
+				return this.$https.get('/youngee/c/t/g/get-project-detail' +
+					"?" +
+					"projectid" +
+					"=" +
+					this.projectid
+				).then(res => {
+					if (res.data.code === 0) {
+						console.log("res: ", res)
+						this.information = res.data.data
+						this.hasNoProjectPhoto = this.information.ProjectPhoto === null ? true : false;
+						this.information.Product = JSON.parse(res.data.data.product_snap);
+						this.information.Product.ProductPhoto = JSON.parse(res.data.data.product_photo_snap);
+						this.information.Product.ProductPrice = money(this.information.Product.ProductPrice)
+						// 分享图里的
+						for (let i = 0; i < this.information.Product.ProductPhoto.length; i++) {
+							if (this.information.Product.ProductPhoto[i].Symbol === 1) {
+								this.img = this.information.Product.ProductPhoto[i].PhotoUrl
+								this.share.imageUrl = this.information.Product.ProductPhoto[i].PhotoUrl
+							}
+						}
+						this.title = this.information.project_name
+						this.share.title = this.information.project_name
+
+						this.price = this.information.Product.ProductPrice
+
+						this.information.Product.ProductType = this.product_types[parseInt(this.information
+							.Product
+							.ProductType) - 1].label
+						// 轮播图、详情图
+						this.carousel_images = []
+						// this.product_detail_images = []
+						for (let i = 0; i < this.information.Product.ProductPhoto.length; i++) {
+							if (this.information.Product.ProductPhoto[i].Symbol != 3) {
+								this.carousel_images.push(this.information.Product.ProductPhoto[i].PhotoUrl)
+							}
+						}
+						// 任务数量
+						this.information.taskNum = 0
+						for (let j = 0; j < this.information.RecruitStrategy.length; j++) {
+							this.information.taskNum = Number(this.information.taskNum) + Number(this
+								.information
+								.RecruitStrategy[j]
+								.recruit_number)
+						}
+
+						// 任务类型
+						this.information.project_form = this.task_type_info[this.information.project_form - 1]
+
+						// 创作者类型
+						let arr = JSON.parse(this.information.talent_type)
+						console.log("创作者类型:", arr)
+						this.information.talent_type = []
+						// if (arr.length === 0) this.information.talent_type.push("不限")
+						for (var j = 0; j < arr.length; ++j) {
+							this.information.talent_type.push(this.talent_type_info[arr[j]])
+						}
+
+						// 粉丝数要求
+						this.information.Numfensi = []
+						for (let i = 0; i < this.information.RecruitStrategy.length; ++i) {
+							let fensi = this.information.RecruitStrategy[i].followers_low + ' - ' + this
+								.information
+								.RecruitStrategy[i].followers_up
+							this.information.Numfensi.push(fensi)
+						}
+
+						// 任务形式
+						if (this.information.content_type === 1) this.information.content = "图文"
+						else if (this.information.content_type === 2) this.information.content = "视频"
+
+						// 判断是否已报名结束
+						var newdate = new Date()
+						var endTime = new Date(this.information.recruit_ddl.replace(
+							/-/g, "/"));
+						this.ddl = endTime - newdate < 0 || this.information.project_status > 4 ? 1 : 0
+						// 报名截止日期
+						this.information.recruit_ddl = this.information.recruit_ddl.substr(0, 10);
+
+						// 合作选择
+						this.coop_choice = this.information.RecruitStrategy
+						for (let i = 0; i < this.coop_choice.length; ++i) {
+							this.coop_choice[i].showWarning = false
+							this.coop_choice[i].warningText = "不符合报名条件"
+							this.coop_choice[i].offer = null
+							this.coop_choice[i].show_followers_low = fansview(this.coop_choice[i].followers_low)
+							this.coop_choice[i].show_followers_up = fansview(this.coop_choice[i].followers_up)
+							let fee_form = this.coop_choice[i].fee_form
+							this.coop_choice[i].fee_form_t = fee_form === 1 ? '产品置换' : (fee_form === 2 ? '固定稿费' +
+								money(this.coop_choice[i].t_offer) + '元' :
+								'创作者自报价')
+						}
+					}
+				})
+			},
+			// 达人信息
+			getTalentInfo() {
+				return this.$https.get('/youngee/c/t/g/get-talent-info')
+					.then(res => {
+						this.talent = res.data.data
+					})
+			},
+			//账号信息
+			getTalentAccountInfo() {
+				return this.$https.get('/youngee/c/t/g/get-talent-account')
+					.then(res => {
+						var accounts = res.data.data
+						this.account = []
+						if (res.data.code != -3) {
+							for (var i = 0; i < accounts.length; i++) {
+								if (this.information.project_platform === accounts[i].platform_id) {
+									this.account.push(accounts[i])
+								}
+							}
+						}
+					})
+			},
+			isSignUp() {
+				return this.$https.get('/youngee/c/t/g/is-sign-up-task' +
+						"?" +
+						"project_id" +
+						"=" +
+						this.projectid)
+					.then(res => {
+						console.log(res);
+						let task;
+						if (res.data.code === 0) {
+							this.isSign = res.data.data.is_sign;
+							task = res.data.data.task_info
+						}
+						if (this.isSign) {
+							for (let i = 0; i < this.coop_choice.length; ++i) {
+								if (this.coop_choice[i].strategy_id === task.strategy_id) {
+									let fee_form = this.coop_choice[i].fee_form
+									this.coopStrategy = fee_form === 1 ? '产品置换' : (fee_form === 2 ? '固定稿费' +
+										money(task.task_reward) + '元' :
+										'创作者自报价' + money(task.task_reward) + '元')
+								}
+							}
+						}
+					})
+			},
+			onPageScroll(res) {
+				uni.$emit('onPageScroll', res.scrollTop);
+				this.scrollTop = res.scrollTop;
+				// console.log(res.scrollTop);
+				if (res.scrollTop <= this.topp1 - this.hei1) {
+					// console.log(0)
+					this.activeTab = 0
+				}
+				if (res.scrollTop > this.topp1 - this.hei1 && res.scrollTop < this.topp2 - this.hei1) {
+					// console.log(1)
+					this.activeTab = 1
+				}
+				if (res.scrollTop > this.topp2 - this.hei1) {
+					// console.log(2)
+					this.activeTab = 2
+				}
+			},
+
+			//获取节点离顶部高度
+			getInfo() {
+
+				const query = uni.createSelectorQuery().in(this);
+
+				query.select('#wrap0').boundingClientRect(data => {
+
+					this.topp0 = data.top
+				}).exec();
+				query.select('#wrap1').boundingClientRect(data => {
+
+					this.topp1 = data.top
+				}).exec();
+				query.select('#wrap2').boundingClientRect(data => {
+					this.topp2 = data.top
+					// console.log(this.topp2)
+				}).exec();
+				query.select('#wap').boundingClientRect(data => {
+
+					// console.log(data)
+					this.hei = data.height
+					this.tabBarStyle = {
+
+						height: data.height + data.height + 'px',
+						width: '100% ',
+					}
+				}).exec();
+				query.select('#wa').boundingClientRect(data => {
+
+					// console.log(data)
+					this.hei1 = data.height
+
+				}).exec();
+
+			},
+			//视频轮播
+			effect3dMarginMethed() {
+				this.effect3dMargin++
+			},
+			//swiper滑动事件
+			swiperChange: function(e) {
+				this.swiper.index = e.detail.current;
+			},
+			//底部弹出层
+			change(e) {
+				console.log('当前模式:' + e.type + ',状态:' + e.show);
+			},
+			toggle(type) {
+				let that = this
+				if (that.talent.is_bind_location === 0) {
+					// 前往个人信息绑定三合一界面
+					uni.showModal({
+						content: '请先绑定个人信息',
+						success: function(res) {
+							if (res.confirm) {
+								if (that.account.length === 0) {
+									uni.navigateTo({
+										url: '/pages/tasksquare/bindinfo?platform_id=' + that
+											.information.project_platform
+									})
+								} else {
+									uni.navigateTo({
+										url: '/pages/tasksquare/bindinfo?platform_id=' +
+											that.information.project_platform +
+											'&account_id=' +
+											that.account[0].account_id
+									})
+								};
+							} else if (res.cancel) {
+								console.log('用户点击取消');
+							}
+						}
+					});
+				} else if (that.account.length === 0) {
+					uni.showModal({
+						content: '请先绑定社媒账号',
+						success: function(res) {
+							if (res.confirm) {
+								uni.navigateTo({
+									url: '/pages/mycenter/myinformation/bindaccount?platform_id=' +
+										that.information.project_platform
+								});
+							} else if (res.cancel) {
+								console.log('用户点击取消');
+							}
+						}
+					});
+				} else {
+					that.type = type
+					// open 方法传入参数 等同在 uni-popup 组件上绑定 type属性
+					that.$refs.popup.open(type)
+				}
+			},
+			toggle1(type) {
+				this.type1 = type
+				// open 方法传入参数 等同在 uni-popup 组件上绑定 type属性
+				this.$refs.popup1.open(type)
+			},
+			cancel() {
+				this.$refs.popup1.close()
+			},
+			// 更新账号
+			Reset() {
+				console.log("Reset func running")
+				uni.navigateTo({
+					url: '/pages/mycenter/myinformation/bindaccount?platform_id=' + this
+						.information
+						.project_platform + '&account_id=' + this.account[0].account_id,
+					success(res) {
+						console.log(res);
+					},
+					fail(err) {
+						console.log(err);
+					}
+				});
+			},
+			//进入信息确认页面
+			determine() {
+				console.log(this.strategy_id)
+				if (this.strategy_id === 0 || this.strategy === null) {
+					this.showWarning = true;
+					setTimeout(() => {
+						this.showWarning = false;
+					}, 2000)
+					return
+				}
+				let index = 0;
+				for (let i = 0; i < this.coop_choice.length; ++i) {
+					if (this.strategy_id === this.coop_choice[i].strategy_id) {
+						index = i
+					}
+				}
+				if (this.account[0].fans_count < this.strategy.followers_low) {
+					this.coop_choice[index].warningText = "粉丝量不符合报名条件"
+					this.coop_choice[index].showWarning = true;
+					this.hackReset = false;
+					this.hackReset = true;
+					setTimeout(() => {
+						this.coop_choice[index].showWarning = false;
+						this.hackReset = false;
+						this.hackReset = true;
+					}, 2000)
+				} else if (this.strategy.fee_form === 3 && (this.strategy.offer === 0 || this.strategy.offer === null)) {
+					this.coop_choice[index].warningText = "请填写自报价金额"
+					this.coop_choice[index].showWarning = true;
+					this.hackReset = false;
+					this.hackReset = true;
+					setTimeout(() => {
+						this.coop_choice[index].showWarning = false;
+						this.hackReset = false;
+						this.hackReset = true;
+					}, 2000)
+				} else {
+					this.$refs.popup.close()
+					this.strategy.offer = parseInt(this.strategy.offer)
+					this.strategy.showOffer = money(this.strategy.offer)
+					var data = {
+							projectid: this.projectid,
+							information: this.information,
+							account: this.account[0].account_id,
+							strategy: this.strategy,
+						},
+						data = JSON.stringify(data)
+					console.log("data")
+					console.log(data)
+					uni.navigateTo({
+						url: '/pages/tasksquare/information?textObj=' + encodeURIComponent(data)
+					});
+				}
+			},
+			beginCanvas() {
+				this.$refs.mosoweCanvasComponents.createCanvas();
+			},
+			_canvasImage(e) {
+				console.log("url", e)
+				this.canvasUrl = e;
+			},
+			// 保存图片
+			async saveImage() {
+				let {
+					canvasUrl
+				} = this
+				let res = await saveImageToPhotosAlbum(canvasUrl)
+				if (!res.success) return
+				showToast('保存成功')
+				this.$refs.popup2.close()
+			},
+			toggle2(type) {
+				if (this.canvasUrl !== '') {
+					this.type2 = type
+					// open 方法传入参数 等同在 uni-popup 组件上绑定 type属性
+					this.$refs.popup2.open(type)
+					this.$refs.popup1.close()
+				} else {
+					this.beginCanvas()
+					this.type2 = type
+					// open 方法传入参数 等同在 uni-popup 组件上绑定 type属性
+					this.$refs.popup2.open(type)
+					this.$refs.popup1.close()
+				}
+			}
+		}
+	};
+</script>
+<style>
+	/deep/ .share1 .uni-popup .uni-popup__wrapper {
+		width: 300px !important;
+		/* height: 500px !important; */
+		display: flex;
+		flex-direction: column;
+		align-items: center;
+		border-radius: 15rpx !important;
+	}
+
+	/deep/ .share.uni-popup .uni-popup__wrapper {
+		width: 70%;
+		border-radius: 15rpx;
+	}
+</style>
+<style lang="scss" scoped>
+	text {
+		font-size: 24rpx;
+	}
+
+	#coop_box {
+		// display: flex;
+		margin-top: 15rpx;
+	}
+
+	#coop_box .coop_box_btn {
+		display: flex;
+		flex-direction: column;
+		justify-content: center;
+		align-items: center;
+		// width: 700rpx;
+		background-color: #f4f4f4;
+		border-radius: 15rpx;
+		font-size: 30rpx;
+		text-align: center;
+		cursor: pointer;
+		margin: 40rpx 0;
+		padding: auto 10rpx;
+	}
+
+	.borderColor {
+		border: 2px solid #f7d43c !important;
+	}
+
+	.offer_input {
+		width: 120rpx;
+		border: 1px solid #cccccc;
+	}
+
+	.wvp {
+		color: #000;
+		margin: 0 5rpx;
+	}
+
+	.wvp1 {
+		padding: 0 30rpx;
+		border-radius: 10rpx;
+		margin: 0 10rpx;
+		background-color: #f2d22d;
+		border: 10rpx;
+	}
+
+	.my-canvas {
+		position: fixed;
+		top: -99999999999rpx;
+		left: -99999999999rpx;
+		z-index: -99999999999;
+		opacity: 0;
+	}
+
+	.poster {
+		width: 100vw;
+		height: 100vh;
+		display: flex;
+		flex-flow: column nowrap;
+		justify-content: center;
+		overflow: hidden;
+	}
+
+	.butmin {
+		width: 200rpx;
+		height: 65rpx;
+		background-color: #f2d22d;
+		border-radius: 20rpx;
+		font-size: 36rpx;
+		line-height: 2;
+	}
+
+	//视频轮播
+	.full {
+		position: relative;
+
+		.btns {
+			position: absolute;
+			background-color: rgba(255, 255, 255, 0.5);
+			z-index: 1;
+			left: 100rpx;
+			top: 50rpx;
+			right: 100rpx;
+			display: flex;
+			justify-content: space-around;
+			flex-wrap: wrap;
+
+			>view {
+				height: 60rpx;
+				line-height: 60rpx;
+				text-align: center;
+				padding: 0 20rpx;
+			}
+
+			&.full {
+				position: relative;
+				left: 0;
+				right: 0;
+
+				>view {
+					height: 60rpx;
+					line-height: 60rpx;
+					text-align: center;
+					padding: 0 20rpx;
+					background-color: rgba(0, 0, 0, 0.1);
+					margin-bottom: 10rpx;
+				}
+			}
+		}
+	}
+
+	//轮播图
+	page {
+		background-color: #fff;
+	}
+
+	.top-swiper {
+		margin-bottom: 30rpx;
+
+		.bg {
+			padding-top: var(--status-bar-height);
+			box-sizing: content-box;
+			width: 100%;
+			position: relative;
+
+
+
+			.image {
+				box-sizing: content-box;
+				position: absolute;
+				z-index: 1;
+				top: 0;
+				left: 0;
+				width: 100%;
+				height: 100%;
+				overflow: hidden;
+
+				&::after {
+					content: '';
+					position: absolute;
+					width: 100%;
+					height: 100%;
+					z-index: 1;
+					bottom: 0;
+					left: 0;
+					height: 65%;
+					background-image: linear-gradient(to bottom, transparent, #FFF);
+				}
+
+				>image {
+					position: absolute;
+					box-sizing: content-box;
+					padding: 60px;
+					top: 0;
+					left: 0;
+					width: 100%;
+					height: 80%;
+					top: -60px;
+					left: -60px;
+					filter: blur(50px);
+				}
+			}
+		}
+
+		.box {
+			padding-top: var(--status-bar-height);
+			box-sizing: content-box;
+			// position: absolute;
+			z-index: 5;
+			top: 0;
+			left: 0;
+			width: 100%;
+			height: auto;
+		}
+
+		.swiper {
+			height: 450rpx;
+			margin: 0 20rpx;
+
+			.le-img {
+				width: 100%;
+				height: 100%;
+				display: block;
+				transform: scale(0.8);
+				transition: transform 0.3s ease-in-out 0s;
+				border-radius: 4px;
+
+				&.le-active {
+					transform: scale(1);
+				}
+			}
+
+		}
+	}
+
+	//其他的
+	/deep/ .uni-data-checklist .checklist-group .checklist-box {
+		border-radius: 20rpx !important;
+		padding: 8rpx 30rpx !important;
+		border: 0 !important;
+	}
+
+	/deep/ .uni-data-checklist .checklist-group .checklist-box .checklist-content .checklist-text {
+		font-size: 24rpx;
+		color: #333333;
+	}
+
+
+	.butto {
+		text-align: center;
+	}
+
+	.option {
+		padding: 20rpx;
+	}
+
+	//轮播图
+
+	.uni-margin-wrap {
+		width: 690rpx;
+		width: 100%;
+	}
+
+	.swiper {
+		height: 750rpx;
+		display: flex;
+		justify-content: center;
+	}
+
+	.swiper-item {
+		display: block;
+		width: 100%;
+		height: 750rpx;
+		line-height: 750rpx;
+		text-align: center;
+	}
+
+	.swiper-list {
+		margin-bottom: 0;
+	}
+
+	.uni-common-mt {
+		margin-top: 60rpx;
+		position: relative;
+	}
+
+	.info {
+		position: absolute;
+		right: 20rpx;
+	}
+
+	.uni-padding-wrap {
+		width: 550rpx;
+		padding: 0 100rpx;
+	}
+
+	.Tasktext {
+		// padding-top: 5% ;
+		padding: 0 0 0 1%;
+		// height: 80rpx;
+		margin-top: 2%;
+	}
+
+	.Tasktext span {
+		color: #333333;
+		font-size: 100%;
+		font-weight: 550;
+		text-indent: 2em;
+
+	}
+
+	.Tasktext image {
+		vertical-align: middle;
+		width: 50rpx;
+		height: 50rpx;
+		display: inline-block;
+		padding-right: 14rpx;
+	}
+
+	.TitleText {
+		height: 30rpx;
+		background-color: #FDD442;
+		border-radius: 20rpx;
+		display: inline-block;
+		padding: 0rpx 20rpx 0rpx 20rpx;
+		line-height: 30rpx;
+		margin-right: 20rpx;
+		margin-top: 6%;
+	}
+
+	.TitleText p {
+		color: #C49A0A;
+		font-size: 50%;
+
+	}
+
+	.introduction {
+		width: 90%;
+		margin: 0 auto;
+		display: flex;
+		justify-content: space-between;
+		margin-top: 2%;
+	}
+
+	.rleft p {
+		font-size: 24rpx;
+	}
+
+	.rright p {
+		font-size: 24rpx;
+	}
+
+	.projectinfo {
+		margin: 30rpx 0;
+		display: flex;
+		justify-content: space-around;
+	}
+
+	.projectinfotxt {
+		display: flex;
+		flex-direction: column;
+		align-items: center;
+		justify-content: center;
+	}
+
+	.projectinfotxt p {
+		color: #767272;
+		font-size: 32rpx;
+		margin: 5rpx 0;
+	}
+
+	.interval {
+		width: 100%;
+		height: 40rpx;
+		background-color: #E4E4E4;
+		margin-top: 5%;
+	}
+
+	.circularmark {
+		margin: 2% auto;
+		width: 26%;
+		padding: 10rpx;
+		background-color: #f2d22d;
+		border-radius: 10rpx;
+		position: relative;
+	}
+
+	.circularmark p {
+		font-size: 85%;
+		text-align: center;
+		font-weight: 800;
+	}
+
+	.circularmark image {
+		width: 60rpx;
+		height: 68rpx;
+		position: absolute;
+		top: -30%;
+		left: -10%;
+	}
+
+	.btnn {
+		background-color: #3296FA;
+		border-radius: 20rpx;
+		font-size: 25rpx;
+		line-height: 34rpx;
+	}
+
+	.markcontent {
+		// width: 100%;
+		// background-color: #E4E4E4;
+		margin: 0 30rpx;
+		border-radius: 20rpx;
+		padding-top: 2%;
+		padding-bottom: 2%;
+	}
+
+	.markcontent p {
+		font-size: 24rpx;
+	}
+
+	.markcontent span {
+		font-size: 24rpx;
+		// color: #333333;
+		// margin: 3% ;
+	}
+
+	.interval2 {
+		width: 100%;
+		height: 100rpx;
+		background-color: #E4E4E4;
+		margin-top: 5%;
+	}
+
+	.markcontent1 {
+		width: 100%;
+		border-radius: 20rpx;
+		padding-top: 2%;
+		padding-bottom: 2%;
+	}
+
+	.markcontent1 p {
+		font-size: 24rpx;
+		// color: #333333;
+		// margin: 3% ;
+		// text-indent: 2em;
+	}
+
+	.trademark {
+		width: 120rpx;
+		height: 120rpx;
+		border-radius: 50%;
+		background-color: #f2d22d;
+		margin: 0 auto;
+	}
+
+	.trademark image {
+		width: 100%;
+		height: 100%;
+	}
+
+	.diagram {
+		width: 100%;
+		// height: 1000rpx;
+	}
+
+	.diagram image {
+		width: 100%;
+		// height: 100% ;
+	}
+
+	.but1 {
+		width: 60%;
+		background-color: #f2d22d;
+		border-radius: 20rpx;
+		font-size: 36rpx;
+		line-height: 200%;
+		letter-spacing: 10rpx;
+		font-weight: 500;
+		height: 80%;
+
+		&.on {
+			background-color: #C0C0C0;
+
+		}
+
+	}
+
+	/** 必须提升样式优先权(!important) **/
+	button[disabled] {
+		width: 60%;
+		border-radius: 20rpx;
+		font-size: 36rpx;
+		line-height: 200%;
+		letter-spacing: 10rpx;
+		font-weight: 500;
+		height: 80%;
+		color: white !important;
+		background: #c4c1c1 !important;
+	}
+
+	.but2 {
+		width: 25%;
+		background-color: #FFFFFF;
+		border: 2rpx solid #f2d22d;
+		border-radius: 20rpx;
+		font-size: 36rpx;
+		line-height: 180%;
+		letter-spacing: 10rpx;
+		font-weight: 500;
+		position: relative;
+		text-indent: 0.5em;
+		height: 80%;
+	}
+
+	.but2 image {
+		width: 19%;
+		height: 56%;
+		position: absolute;
+		left: 9%;
+		top: 21%;
+	}
+
+	.signup {
+		box-shadow: 0rpx 5rpx 40rpx #ccc;
+		width: 100%;
+		position: fixed;
+		bottom: 0rpx;
+		display: flex;
+		height: 90rpx;
+		padding: 2% 0;
+		background-color: #FFFFFF;
+	}
+
+	.pick {
+		width: 50rpx;
+		height: 50rpx;
+		vertical-align: middle;
+	}
+
+	.nex {
+		width: 100rpx;
+		height: 20rpx;
+		vertical-align: middle;
+	}
+
+	.sampledrawing {
+		display: flex;
+		width: 96%;
+		margin: 0 auto 50rpx;
+	}
+
+	.samplecharacter {
+		flex: 1;
+		margin-top: 2%;
+	}
+
+	.samplecharacter p {
+		padding: 1%;
+	}
+
+
+	/deep/.uni-popup__content {
+		background-color: #4CD964;
+		border-radius: 20rpx !important;
+	}
+
+	/deep/.uni-popup__mask {
+		background: rgba(0, 0, 0, 0.5) !important;
+	}
+
+	.butto {
+		text-align: center;
+	}
+
+	/deep/ .mini-btn1 {
+		height: 75rpx;
+		width: 270rpx;
+		line-height: 70rpx;
+		margin: 10rpx 0;
+		font-size: 30rpx;
+		// box-shadow: 0rpx 0rpx 0rpx 5rpx #f2d22d;
+		border: 1rpx solid #f2d22d !important;
+	}
+
+	/deep/ .mini-btn2 {
+		height: 75rpx;
+		width: 350rpx;
+		line-height: 70rpx;
+		margin: 10rpx 0;
+		font-size: 30rpx;
+		background-color: #f2d22d;
+		// box-shadow: 0rpx 0rpx 0rpx 5rpx #f2d22d;
+	}
+
+	/deep/ .uni-data-checklist .checklist-group .checklist-box.is--tag {
+		background-color: #FFFFFF !important;
+		box-shadow: 0rpx 0rpx 6rpx 0rpx #464100;
+		border-radius: 10rpx !important;
+	}
+
+	/deep/ .uni-data-checklist .checklist-group .checklist-box.is--tag.is-checked {
+		background-color: #f2d22d !important;
+	}
+
+	/deep/.uni-data-checklist .checklist-group .checklist-box.is--tag.is-checked .checklist-text {
+		color: #333333 !important;
+	}
+
+	/deep/.buu .uni-data-checklist .checklist-group {
+		flex-direction: column !important;
+	}
+
+
+	.surplus p {
+		margin-bottom: 17%;
+		margin-top: 8%;
+		font-size: 80%;
+
+	}
+
+	.circular {
+		width: 120rpx;
+		height: 120rpx;
+		border-radius: 50%;
+		background-color: #28EA71;
+		margin: 0 auto;
+	}
+
+	.circular image {
+		width: 60%;
+		height: 60%;
+		padding: 20%;
+	}
+
+	.tii {
+		text-align: center;
+		font-size: 26rpx;
+		margin-top: 2%;
+	}
+
+	.tii2 {
+		text-align: center;
+		font-size: 26rpx;
+		margin-top: 2%;
+		background-color: #FFFFFF;
+
+	}
+
+	.errar {
+		background-color: #FFFFFF;
+
+	}
+
+	.sharepage {
+		width: 90%;
+		margin: 0 auto;
+		position: relative;
+	}
+
+	.Tasktext1 {
+		// padding-top: 5% ;
+		padding: 0 0 0 1%;
+		height: 80rpx;
+		margin-top: 7%;
+		text-align: center;
+	}
+
+	.Tasktext1 span {
+		color: #333333;
+		font-size: 100%;
+		font-weight: 550;
+		text-indent: 2em;
+
+	}
+
+	.Tasktext1 image {
+		vertical-align: middle;
+		width: 80rpx;
+		height: 80rpx;
+		display: inline-block;
+		padding-right: 14rpx;
+	}
+
+	.sharemap {
+		margin: 0 auto;
+		text-align: center;
+		margin-top: 5%;
+	}
+
+	.sharemap image {
+		width: 400rpx;
+		height: 400rpx;
+
+	}
+
+	.Tasktext2 {
+		// padding-top: 5% ;
+		padding: 0 0 0 1%;
+		// height: 80rpx;
+		margin-top: 2%;
+		// text-align: center;
+	}
+
+	.Tasktext2 span {
+		color: #333333;
+		font-size: 88%;
+		font-weight: 600;
+		text-indent: 2em;
+
+	}
+
+	.Tasktext2 image {
+		vertical-align: middle;
+		width: 30rpx;
+		height: 30rpx;
+		display: inline-block;
+		padding-right: 14rpx;
+	}
+
+	.textti p {
+		font-size: 60%;
+		color: #999999;
+		text-align: center;
+	}
+
+	.immg image {
+		width: 200rpx;
+		height: 200rpx;
+	}
+
+	.immg {
+		line-height: 150%;
+	}
+
+	.immg p {
+		color: #333333;
+		font-size: 90%;
+		font-weight: 600;
+
+	}
+
+	.warr p {
+		font-weight: 500;
+		font-size: 90%;
+
+		&.lor {
+			border-bottom: 2rpx solid #f2d22d;
+
+		}
+	}
+
+	.label {
+		// font-weight: 600;
+		width: 130rpx;
+	}
+
+	.tip_box {
+		position: fixed;
+		right: 0;
+		z-index: 9999;
+		display: flex;
+		justify-content: flex-end;
+		align-items: flex-end;
+		flex-direction: column;
+		margin-top: -40rpx;
+
+		.arrow {
+			width: 0;
+			height: 0;
+			border: 10rpx solid;
+			border-color: transparent;
+		}
+
+		.container {
+			display: flex;
+			align-items: center;
+			justify-content: center;
+			padding: 4rpx 10px;
+
+			.tips {
+				flex: 1;
+			}
+		}
+	}
+
+	.popup-content {
+		display: flex;
+		flex-direction: column;
+		align-items: center;
+	}
+</style>

+ 893 - 0
pages/selectionsquare/selectionsquare.vue

@@ -0,0 +1,893 @@
+<template>
+	<view class="nav">
+		<view class="bg_box" style="background-color: #FFFFFF;" :style="{
+      backgroundImage: mysNavConfig.bgImage,
+      paddingTop: navBarTop,
+      height: navBarHeight,
+      opacity: opacity,
+    }" :class="{ fixed: mysNavConfig.navFixed }"></view>
+		<view class="mys_navBar" :style="{
+    paddingTop: navBarTop,
+    height: navBarHeight,
+    paddingRight: navBarRight,
+   }" :class="{ fixed: mysNavConfig.navFixed }">
+			<!-- 左slot -->
+			<view class="my_left_custom" :style="{ height: btnHeight }">
+				<slot name="left"></slot>
+			</view>
+			<view class="btn_type" :style="{ height: btnHeight }">
+				<view class="btn_box nav_btn_t1" :style="{
+          width: btnWidth,
+          height: btnHeight,
+          marginLeft: navBarLeft,
+          borderRadius: mysNavConfig.type2Config.radius,
+        }">
+					<view class="btn_back" @tap="onLeftClick()">
+						<image class="nv_icon" :src="mysNavConfig.type2Config.leftPath"
+							:style="{ height: btnHeight, width: iconW }" mode="aspectFit" />
+					</view>
+					<view class="line"></view>
+					<view class="btn_home" @tap="onLeftHome('top')">
+						<image class="nv_icon" :src="mysNavConfig.type2Config.rightPath"
+							:style="{ height: btnHeight, width: iconW }" mode="aspectFit" />
+					</view>
+				</view>
+				<!-- 标题 -->
+				<view class="title_container" v-if="!mysNavConfig.searchConfig"
+					:style="{ top: navBarTop, height: btnHeight }">
+					<text class="title_text" v-if="!!mysNavConfig.navTitle" :style="{
+          color: mysNavConfig.navTitle.color,
+          fontSize: mysNavConfig.navTitle.fontSize,
+          fontWeight: mysNavConfig.navTitle.fontWeight,
+        }">{{ mysNavConfig.navTitle.text }}</text>
+					<slot name="center2"></slot>
+				</view>
+			</view>
+		</view>
+		<view :style="{marginTop:navH}"></view>
+		<view class="home">
+			<view>
+				<!-- 多选框弹窗 -->
+				<uni-popup ref="popup" background-color="#fff" @change="change">
+					<view class="popup-content" :class="{ 'popup-height': type === 'left' || type === 'right' }">
+						<view class="option1" style="margin-top: 20%;">
+							<h3 style="margin-bottom: 10rpx;">社媒平台</h3>
+							<uni-data-checkbox mode="tag" multiple v-model="formData.hobby" :localdata="hobby">
+							</uni-data-checkbox>
+						</view>
+						<view class="option2">
+							<h3 style="margin-bottom: 10rpx;">稿费形式</h3>
+							<uni-data-checkbox mode="tag" multiple v-model="formData.hobby1" :localdata="hobby1">
+							</uni-data-checkbox>
+						</view>
+						<view class="option3">
+							<h3 style="margin-bottom: 10rpx;">任务形式</h3>
+							<uni-data-checkbox mode="tag" multiple v-model="formData.hobby2" :localdata="hobby2">
+							</uni-data-checkbox>
+						</view>
+						<view class="butto">
+							<button class="mini-btn" size="mini" @tap="Reset">重置</button>
+							<button class="mini-btn" size="mini" @tap="determine">确定</button>
+						</view>
+					</view>
+				</uni-popup>
+			</view>
+
+			<!-- banner -->
+			<view class="uni-margin-wrap">
+				<swiper class="swiper" circular :indicator-dots="indicatorDots" :autoplay="autoplay"
+					:interval="interval" :duration="duration">
+					<swiper-item v-for="item in list1" @click="pick(item)">
+						<image :src="item.img" mode="scaleToFill" style="width: 100%;height: 100%;"></image>
+					</swiper-item>
+				</swiper>
+			</view>
+
+			<view class="commodity" style="margin-top: 3%;">
+				<view class="project" @click="toDetail()">
+					<!-- 主图 -->
+					<view class="projectdiagram"
+						style="background-image: url(https://horastar.obs.cn-east-3.myhuaweicloud.com/backstage_upload/a69be940-e294-4dd4-9b09-d80274c75a15.png)">
+						<view class="Mask" v-if="false">
+							<image src="https://horastar.obs.cn-east-3.myhuaweicloud.com/talent/home4.png" mode="">
+							</image>
+						</view>
+						<view style="padding-left: 4%;padding-top: 2%;">
+						</view>
+					</view>
+					<!-- 平台logo、项目名称 -->
+					<view class="projecttext">
+						<image src="https://horastar.obs.cn-east-3.myhuaweicloud.com/talent/pingtai2.png" mode="">
+						</image>
+						<span>PUYU朴郁小树茶冻干茶粉</span>
+					</view>
+					<!-- 项目信息1 -->
+					<view class="projectinfo">
+						<view class="projectinfotxt">
+							<p>售价</p>
+							<p>¥79.9</p>
+						</view>
+						<view class="projectinfotxt">
+							<p>预估赚</p>
+							<p style="color: #f70606;">¥7.9</p>
+						</view>
+						<view class="projectinfotxt">
+							<p>佣金</p>
+							<p>10%</p>
+						</view>
+						<view class="projectinfotxt">
+							<p>额外悬赏</p>
+							<p style="color: #f70606;">¥100.0</p>
+						</view>
+					</view>
+					<!-- 项目信息2 -->
+					<view class="projectinfo" style="justify-content: space-between;">
+						<view class="projectinfotxt" style="margin: 0 10rpx;">
+							<p>余<span style="color: #52b2f0;">123567</span>件</p>
+						</view>
+						<view class="projectinfotag">
+							<view class="TitleText">
+								<p>免费领</p>
+							</view>
+							<view class="TitleText">
+								<p>垫付后返</p>
+							</view>
+						</view>
+					</view>
+				</view>
+
+				<view class="project">
+					<!-- 主图 -->
+					<view class="projectdiagram"
+						style="background-image: url(https://horastar.obs.cn-east-3.myhuaweicloud.com/backstage_upload/a69be940-e294-4dd4-9b09-d80274c75a15.png)">
+						<view class="Mask" v-if="false">
+							<image src="https://horastar.obs.cn-east-3.myhuaweicloud.com/talent/home4.png" mode="">
+							</image>
+						</view>
+						<view style="padding-left: 4%;padding-top: 2%;">
+						</view>
+					</view>
+					<!-- 平台logo、项目名称 -->
+					<view class="projecttext">
+						<image src="https://horastar.obs.cn-east-3.myhuaweicloud.com/talent/pingtai2.png" mode="">
+						</image>
+						<span>PUYU朴郁小树茶冻干茶粉</span>
+					</view>
+					<!-- 项目信息1 -->
+					<view class="projectinfo">
+						<view class="projectinfotxt">
+							<p>售价</p>
+							<p>¥79.9</p>
+						</view>
+						<view class="projectinfotxt">
+							<p>预估赚</p>
+							<p style="color: #f70606;">¥7.9</p>
+						</view>
+						<view class="projectinfotxt">
+							<p>佣金</p>
+							<p>10%</p>
+						</view>
+						<view class="projectinfotxt">
+							<p>额外悬赏</p>
+							<p style="color: #f70606;">¥100.0</p>
+						</view>
+					</view>
+					<!-- 项目信息2 -->
+					<view class="projectinfo" style="justify-content: space-between;">
+						<view class="projectinfotxt" style="margin: 0 10rpx;">
+							<p>余<span style="color: #52b2f0;">123567</span>件</p>
+						</view>
+						<view class="projectinfotag">
+							<view class="TitleText">
+								<p>免费领</p>
+							</view>
+							<view class="TitleText">
+								<p>垫付后返</p>
+							</view>
+						</view>
+					</view>
+				</view>
+
+			</view>
+		</view>
+	</view>
+	</view>
+</template>
+
+<script>
+	export default {
+		props: {
+			mysNavConfig: {
+				type: Object,
+				default () {
+					return {
+						/* 固定导航 */
+						navFixed: true,
+						/* 开启单页显示首页图标 */
+						isHome: true,
+						/* 占位开启 */
+						navPadding: true,
+						/* 背景 */
+						bgColor: "#f8f8f8",
+						/* 渐变色 */
+						opacity: 1,
+						/* 渐变开启 */
+						isOpacity: false,
+						/* 渐变延时效果 */
+						opacityTime: 100,
+						/* 左侧按钮样式 可选 type1 type2 (type2根据小程序胶囊位置调整) */
+						btnType: "type1",
+						/* type1 左侧文字配置 */
+						leftText: {
+							text: "",
+							color: "",
+							fontSize: "16px", // px upx rpx
+							fontWeight: "", // blod
+						},
+						/* 标题 */
+						navTitle: {
+							text: "选品广场",
+							color: "",
+							fontSize: "32rpx", // px upx rpx
+							fontWeight: "normal", // blod
+						},
+						/* type2 按钮 */
+						type2Config: {
+							// 左图标
+							leftPath: "https://horastar.obs.cn-east-3.myhuaweicloud.com/talent/png3.png",
+							// 右图标
+							rightPath: "https://horastar.obs.cn-east-3.myhuaweicloud.com/talent/png1.png",
+							// 圆角
+							radius: "40rpx",
+						},
+					};
+				},
+			},
+			scrollTop: {
+				type: Number,
+				default: function() {
+					return 0;
+				},
+			},
+		},
+		filters: {
+			ellipsis(value) {
+				if (!value) return "";
+				if (value.length > 20) {
+					return value.slice(0, 20) + "...";
+				}
+				return value;
+			},
+		},
+		components: {},
+		data() {
+			return {
+				// nav
+				navH: getApp().globalData.navHeight,
+				iconW: undefined,
+				iconH: undefined,
+				btnWidth: undefined,
+				btnHeight: undefined,
+				navBarTop: undefined,
+				navBarHeight: undefined,
+				navBarLeft: undefined,
+				navBarRight: undefined,
+				inputHeight: undefined,
+
+				// banner
+				indicatorDots: true,
+				autoplay: true,
+				interval: 3000,
+				duration: 1000,
+
+				// 多选框
+				formData: {
+					hobby: [],
+					hobby1: [],
+					hobby2: [],
+				},
+				hobby: [{
+					text: '红book',
+					value: 1
+				}, {
+					text: '抖音',
+					value: 2
+				}, {
+					text: '微博',
+					value: 3
+				}, {
+					text: '快手',
+					value: 4
+				}, {
+					text: 'B站',
+					value: 5
+				}, {
+					text: '大众点评',
+					value: 6
+				}, {
+					text: '知乎',
+					value: 7
+				}],
+				hobby1: [{
+					text: '产品置换',
+					value: 1
+				}, {
+					text: '固定稿费',
+					value: 2
+				}, {
+					text: '自报价',
+					value: 3
+				}],
+				hobby2: [{
+					text: '实体商品寄拍',
+					value: 1
+				}, {
+					text: '虚拟产品测评',
+					value: 2
+				}, {
+					text: '线下探店打卡',
+					value: 3
+				}],
+
+
+				list1: [{
+						img: 'https://horastar.obs.cn-east-3.myhuaweicloud.com/talent/home1.png',
+						name: '/pages/tasksquare/guide'
+					},
+					{
+						img: 'https://horastar.obs.cn-east-3.myhuaweicloud.com/talent/home7.png',
+						name: '/pages/tasksquare/cooperation'
+						// name: 'http://www.baidu.com/'
+					}
+				],
+			}
+		},
+		watch: {
+			scrollTop(val) {
+				if (!this.mysNavConfig.isOpacity) {
+					return;
+				}
+				this.setOpacity(val, this.mysNavConfig.opacityTime);
+			},
+		},
+		created() {
+			this.init();
+		},
+		methods: {
+			toDetail() {
+				uni.navigateTo({
+					url: '/pages/selectionsquare/selectiondetail'
+				});
+			},
+			/**
+			 * @param scrollTop 页面顶部距离
+			 * @param down 滑动显示效果延时
+			 */
+			setOpacity(scrollTop, down = 60) {
+				if (scrollTop > 0) {
+					if (scrollTop < down) {
+						this.opacity = scrollTop / down;
+					}
+					if (scrollTop > down) {
+						this.opacity = 1;
+					}
+				} else {
+					this.opacity = 0;
+				}
+			},
+			/* type2 点击分类 */
+			onLeftHome(type) {
+				this.type = type
+				// open 方法传入参数 等同在 uni-popup 组件上绑定 type属性
+				this.$refs.popup.open(type)
+			},
+			init() {
+				if (this.mysNavConfig.isHome) {
+					let pages = getCurrentPages().length;
+					/* 单页显示home图标 */
+					pages === 1 ? (this.isHome = true) : (this.isHome = false);
+				}
+				// 开启渐变 强制fixed
+				this.navBarTop = uni.getSystemInfoSync().statusBarHeight +
+					"px";
+				if (!this.mysNavConfig.opacity) {
+					this.opacity = 1;
+					!this.mysNavConfig.isOpacity ? (this.opacity = 1) : ((this
+						.mysNavConfig.navFixed = true), (this
+						.opacity = 0));
+				} else {
+					this.opacity = this.mysNavConfig.opacity;
+					!this.mysNavConfig.isOpacity ? "" : ((this.mysNavConfig
+						.navFixed = true), (this.opacity = 0));
+				}
+
+				// #ifdef MP
+				this.initMP();
+				// #endif
+				// #ifdef APP-PLUS-NVUE
+				this.navBarHeight = 44 + uni.getSystemInfoSync()
+					.statusBarHeight + "px";
+				// #endif
+			},
+			/* 小程序初始化位置 */
+			initMP() {
+				// getSystemInfoSync用于获取系统信息同步接口
+				let gS = uni.getSystemInfoSync();
+				// getMenuButtonBoundingClientRect用于获取胶囊按钮位置布局信息
+				let rect = uni.getMenuButtonBoundingClientRect();
+
+				let rectHeight = rect.height;
+				this.btnWidth = rect.width + "px";
+				this.btnHeight = rectHeight + "px";
+				this.iconW = Math.floor(rect.width / 4 - 5) + "px";
+				this.iconH = rectHeight / 2 + "px";
+				this.inputHeight = rectHeight - 3 + "px";
+				this.navBarTop = rect.top + "px";
+				this.navBarLeft = gS.screenWidth - rect.right + "px";
+				this.navBarRight = gS.screenWidth - rect.right + rect.width +
+					"px";
+				this.navBarHeight = gS.statusBarHeight + rectHeight + (rect
+					.top - gS.statusBarHeight) * 2 + "px";
+			},
+		}
+	}
+</script>
+
+<style lang="scss" scoped>
+	//nav
+	.nav {
+		position: relative;
+	}
+
+	.nv_padding {
+		height: 88upx;
+		background-color: transparent;
+	}
+
+	/* 图标默认大小 */
+	.nv_icon {
+		width: 16px;
+		height: 16px;
+	}
+
+	.bg_box {
+		position: absolute;
+		width: 750upx;
+		height: 88upx;
+
+		z-index: 10;
+		top: 0;
+		background-color: transparent;
+		/* #ifdef MP */
+		box-sizing: border-box;
+		/* #endif */
+		/* #ifndef APP-PLUS-NVUE */
+		background-size: cover;
+		background-repeat: no-repeat;
+		background-position: center center;
+		/* #endif */
+	}
+
+	.mys_navBar {
+		/* #ifndef APP-PLUS-NVUE */
+		display: flex;
+		height: 88upx;
+		/* #endif */
+		// #ifdef MP
+		box-sizing: border-box;
+		// #endif
+		width: 750upx;
+		flex-direction: row;
+		background-color: transparent;
+		position: absolute;
+		z-index: 10;
+		top: 0;
+	}
+
+	.fixed {
+		position: fixed;
+	}
+
+	/*
+ left 按钮
+*/
+	.btn_type {
+		/* #ifndef APP-PLUS-NVUE */
+		display: flex;
+		/* #endif */
+		/* #ifdef APP-PLUS-NVUE */
+		margin-left: 16upx;
+		/* #endif */
+		// #ifndef MP
+		align-items: center;
+		// #endif
+		flex: 1;
+		flex-direction: row;
+		// background-color: #fff;
+	}
+
+	.btn_box {
+		/* #ifndef APP-PLUS-NVUE */
+		display: flex;
+		margin-left: 16upx;
+		/* #endif */
+		flex-direction: row;
+		// #ifndef MP
+		align-items: center;
+		// #endif
+	}
+
+	.btn_back,
+	.btn_home {
+		/* #ifndef APP-PLUS-NVUE */
+		display: flex;
+		/* #endif */
+		/* #ifndef APP-PLUS-NVUE */
+		height: 100%;
+		/* #endif */
+		/* #ifdef APP-PLUS-NVUE */
+		width: 76upx;
+		height: 62upx;
+		/* #endif */
+		flex-direction: row;
+		align-items: center;
+		justify-content: center;
+		flex: 1;
+	}
+
+	/* 按钮类型1 */
+	.nav_btn_t1 {
+		/* #ifndef APP-PLUS-NVUE */
+		display: flex;
+		/* #endif */
+		// #ifdef MP
+		box-sizing: border-box;
+		// #endif
+		flex-direction: row;
+		align-items: center;
+		border-style: solid;
+		border-width: 1px;
+		border-color: #C0C0C0;
+		// background-color: rgba(0, 0, 0, 0.2);
+		background-color: #FFFFFF;
+		width: 130upx;
+		height: 45upx;
+	}
+
+	.line {
+		width: 1upx;
+		height: 60%;
+		/* #ifdef APP-PLUS-NVUE */
+		height: 30upx;
+		/* #endif */
+		background-color: #C0C0C0;
+	}
+
+	/*
+标题
+ */
+	.title_container {
+		/* #ifndef APP-PLUS-NVUE */
+		display: flex;
+		/* #endif */
+		position: absolute;
+		left: 375upx;
+		bottom: 0;
+		transform: translateX(-50%);
+		flex-direction: row;
+		justify-content: center;
+		align-items: center;
+	}
+
+	.title_text {
+		// flex: 1;
+		text-overflow: ellipsis;
+		/* #ifndef APP-PLUS-NVUE */
+		white-space: nowrap;
+		overflow: hidden;
+		font-weight: 550;
+
+		/* #endif */
+		/* #ifdef APP-PLUS-NVUE */
+		lines: 1;
+		/* #endif */
+	}
+
+	/* 
+左边自定义
+ */
+	.my_left_box {
+		/* #ifndef APP-PLUS-NVUE */
+		display: flex;
+		/* #endif */
+		flex-direction: row;
+		align-items: center;
+	}
+
+	.my_left_icon {
+		/* #ifndef APP-PLUS-NVUE */
+		display: flex;
+		/* #endif */
+		flex-direction: row;
+		align-items: center;
+		justify-content: center;
+		/* #ifndef MP */
+		margin-left: 18upx;
+		/* #endif */
+	}
+
+	.my_left_custom {
+		/* #ifndef APP-PLUS-NVUE */
+		display: flex;
+		/* #endif */
+		flex-direction: row;
+		align-items: center;
+		// justify-content: center;
+	}
+
+	/* 文字 */
+	.leftText {
+		/* #ifndef APP-PLUS-NVUE */
+		display: flex;
+		/* #endif */
+		flex-direction: row;
+		align-items: center;
+		justify-content: center;
+		padding-left: 4upx;
+		font-size: 15px;
+	}
+
+	/* 
+中间
+ */
+	.my_custom_box {
+		/* #ifndef APP-PLUS-NVUE */
+		display: flex;
+		/* #endif */
+		flex-direction: row;
+		align-items: center;
+		justify-content: center;
+		flex: 1;
+	}
+
+	/*
+搜索框 
+ */
+	.nv_search_box {
+		/* #ifndef APP-PLUS-NVUE */
+		display: flex;
+		/* #endif */
+		flex-direction: row;
+		align-items: center;
+		flex: 1;
+
+		/* #ifndef MP */
+		height: 60upx;
+		/* #endif */
+		background-color: #f8f8f8;
+		padding-right: 20upx;
+		padding-left: 20upx;
+		border-radius: 60upx;
+		margin-right: 15upx;
+		margin-left: 15upx;
+	}
+
+	.nv_input {
+		flex: 1;
+		padding-left: 16upx;
+		font-size: 13px;
+	}
+
+	.close {
+		width: 50upx;
+		/* #ifndef APP-PLUS-NVUE */
+		display: flex;
+		/* #endif */
+		flex-direction: row;
+		align-items: center;
+		justify-content: center;
+		/* #ifndef MP */
+		height: 62upx;
+		/* #endif */
+	}
+
+	/* 
+右边 自定义
+ */
+	.my_right_icon {
+		/* #ifndef APP-PLUS-NVUE */
+		display: flex;
+		/* #endif */
+		flex-direction: row;
+		align-items: center;
+		justify-content: center;
+		/* #ifndef MP */
+		// min-width: 70upx;
+		/* #endif */
+		padding-left: 6px;
+		padding-right: 10px;
+	}
+
+	.imge image {
+		width: 100%;
+		height: 260rpx;
+	}
+</style>
+
+<style lang="scss" scoped>
+	.option1 {
+		padding: 5rpx 18rpx;
+
+		/deep/.uni-data-checklist .checklist-group .checklist-box .checklist-content {
+			width: 100rpx;
+			text-align: center;
+		}
+	}
+
+	.option2 {
+		padding: 5rpx 18rpx;
+	}
+
+	.option3 {
+		padding: 5rpx 18rpx;
+	}
+
+	.butmin {
+		// height: 48rpx;
+		width: 250rpx;
+		background-color: #FCCF41;
+		line-height: 48rpx;
+	}
+
+	.butmin1 {
+		// height: 48rpx;
+		width: 250rpx;
+		background-color: #fff;
+		border: #000000 1rpx solid;
+		line-height: 48rpx;
+	}
+
+	//弹出层
+	/deep/ .uni-data-checklist .checklist-group .checklist-box {
+		background-color: #FFFFFF !important;
+		border-radius: 20rpx !important;
+		padding: 8rpx 30rpx !important;
+		border: 0 !important;
+	}
+
+	/deep/ .uni-data-checklist .checklist-group .checklist-box .checklist-content .checklist-text {
+		font-size: 24rpx;
+		color: #333333;
+	}
+
+	/deep/ .mini-btn {
+		height: 70rpx;
+		width: 250rpx;
+		line-height: 70rpx;
+		margin: 20rpx;
+		letter-spacing: 4rpx;
+		background-color: #FCCF41;
+	}
+
+	/deep/ .mini-btn1 {
+		height: 70rpx;
+		width: 400rpx;
+		line-height: 70rpx;
+		margin: 20rpx;
+		letter-spacing: 4rpx;
+		color: white;
+		;
+	}
+
+	/deep/ .uni-data-checklist .checklist-group .checklist-box.is--tag.is-checked {
+		background-color: #FCCF41 !important;
+	}
+
+	.butto {
+		text-align: center;
+	}
+
+	.swiper {
+		height: 300rpx;
+	}
+
+	.swiper-item {
+		display: block;
+		height: 300rpx;
+		line-height: 300rpx;
+		text-align: center;
+	}
+
+	.swiper-list {
+		margin-top: 40rpx;
+		margin-bottom: 0;
+	}
+</style>
+
+<style lang="scss" scoped>
+	.commodity {
+		margin-top: 10rpx;
+		display: flex;
+		flex-wrap: wrap;
+		justify-content: space-between;
+	}
+
+	.project {
+		width: 49%;
+		height: 550rpx;
+		border-radius: 20rpx;
+		margin-bottom: 0%;
+	}
+
+	.projectdiagram {
+		width: 100%;
+		height: 61%;
+		background-size: 100% 100%;
+		position: relative;
+		border-radius: 10rpx;
+		;
+	}
+
+	.projecttext {
+		// padding-top: 5%;
+		padding: 0 0 0 1%;
+		// height: 80rpx;
+	}
+
+	.projecttext span {
+		color: #333333;
+		font-size: 25rpx;
+		font-weight: 550;
+		text-indent: 2em;
+	}
+
+	.projecttext image {
+		vertical-align: middle;
+		width: 30rpx;
+		height: 30rpx;
+		display: inline-block;
+		margin-right: 14rpx;
+	}
+
+	.projectinfo {
+		display: flex;
+		justify-content: space-around;
+	}
+
+	.projectinfotxt {
+		display: flex;
+		flex-direction: column;
+		align-items: center;
+		justify-content: center;
+	}
+
+	.projectinfotxt p {
+		color: #767272;
+		font-size: 20rpx;
+		margin: 5rpx 0;
+	}
+
+	.projectinfotag {
+		display: flex;
+		justify-content: space-around;
+		align-items: center;
+	}
+
+	.TitleText {
+		// height: 30rpx;
+		width: 100rpx;
+		background-color: #f70606;
+		border-radius: 10rpx;
+		display: inline-block;
+		text-align: center;
+		// padding: 0rpx 10rpx 0rpx 10rpx;
+		margin-right: 6%;
+		line-height: 30rpx;
+		margin-top: 0%;
+	}
+
+	.TitleText p {
+		color: #fff;
+		font-size: 16rpx;
+	}
+</style>

+ 3 - 3
pages/tasksquare/specialTask/information.vue

@@ -50,8 +50,8 @@
 			</view>
 		</view> -->
 
-		<view class="account">
-			<view class="account_txt" @click="editAccount(item)">
+		<view class="account" @click="editAccount(item)">
+			<view class="account_txt">
 				<image :src="project.PlatformInfo.platform_icon" mode=""></image>
 				<span>{{account.platform_nickname}}</span>
 			</view>
@@ -59,7 +59,7 @@
 				<p style="padding-right: 20rpx;color:#A8A8A8;">粉丝数</p>
 				<p>{{account.show_fans_count}}</p>
 			</view>
-			<view class="account_btn" @click="editAccount(item)">
+			<view class="account_btn">
 				<image :src="picture.togoimg" mode="" style="width: 16rpx;height: 30rpx;"></image>
 			</view>
 		</view>

+ 138 - 17
pages/tasksquare/specialTask/specialTaskDetail.vue

@@ -84,31 +84,50 @@
 				</view>
 			</view>
 			<view class="" id="wrap2">
-
 				<view class="home" style="padding-top: 0;">
 					<view class="">
 						<view class="circularmark">
-							<p>任务详情图</p>
+							<p>BRIEF</p>
 						</view>
 						<view class="markcontent1">
-							<view class="diagram" style="font-size: 30rpx;margin: 0 30rpx;" v-if="hasNoProjectPhoto">
-								<p>暂无详情说明</p>
+							<view v-if="hasNoProjectPhoto">
+								<view class="diagram" style="font-size: 30rpx;margin: 0 30rpx;">
+									<p>暂无详情说明</p>
+								</view>
 							</view>
-							<view class="diagram" v-for="item in information.ProjectPhoto">
-								<image :src="item.photo_url" mode="widthFix"></image>
+							<view v-else>
+								<!-- <view class="diagram-pdf" v-for="item in information.ProjectPhoto">
+									<image :src="picture.icon_pdf"></image>
+									<p>测试文件测试文件测试文件测试文件.pdf</p>
+									<button type="default"
+										@tap="downloadFile('https://horastar.obs.cn-east-3.myhuaweicloud.com/backstage_upload/用于确定预计到达时间的方法和设备.pdf', '测试文件.pdf')">点击下载</button>
+								</view>
+								<view class="diagram-pdf" v-for="item in information.ProjectPhoto">
+									<image :src="picture.icon_word"></image>
+									<p>测试文件测试文件测试文件测试文件.docx</p>
+									<button type="default"
+										@tap="downloadFile('https://horastar.obs.cn-east-3.myhuaweicloud.com:443/backstage_upload/22120379.docx', '测试文件测试文件测试文件测试文件.docx')">点击下载</button>
+								</view> -->
+								<view class="diagram-pdf" v-for="item in information.ProjectPhoto"
+									v-if="briefType == 'pdf'">
+									<image :src="picture.icon_pdf"></image>
+									<p>{{item.file_name}}</p>
+									<button type="default"
+										@tap="downloadFile(item.photo_url, item.file_name)">点击下载</button>
+								</view>
+								<view class="diagram-pdf" v-for="item in information.ProjectPhoto"
+									v-else-if="briefType == 'doc' || briefType == 'docx'">
+									<image :src="picture.icon_word"></image>
+									<p>{{item.file_name}}</p>
+									<button type="default"
+										@tap="downloadFile(item.photo_url, item.file_name)">点击下载</button>
+								</view>
+								<view class="diagram" v-for="item in information.ProjectPhoto" v-else>
+									<image :src="item.photo_url" mode="widthFix"></image>
+								</view>
 							</view>
 						</view>
 					</view>
-					<!-- <view class="">
-						<view class="circularmark">
-							<p>商品详情图</p>
-						</view>
-						<view class="markcontent1">
-							<view class="diagram" v-for="item in product_detail_images">
-								<image :src="item" mode="widthFix"></image>
-							</view>
-						</view>
-					</view> -->
 				</view>
 				<view class="interval2"></view>
 			</view>
@@ -182,7 +201,7 @@
 	import {
 		saveImageToPhotosAlbum,
 		showToast,
-		downloadFile
+		// downloadFile
 	} from '@/uni_modules/sakura-canvas/js_sdk/util'
 	export default {
 		filters: {
@@ -202,6 +221,7 @@
 		data() {
 			return {
 				hasNoProjectPhoto: false,
+				briefType: '',
 				icon_copy: 'https://horastar.obs.cn-east-3.myhuaweicloud.com/talent_upload/icon-copy.png',
 				navH: getApp().globalData.navHeight,
 				canvasUrl: '',
@@ -223,6 +243,11 @@
 				posterImg: '',
 				canvasId: 'myCanvas',
 				img: '',
+				picture: {
+					icon_copy: 'https://horastar.obs.cn-east-3.myhuaweicloud.com/talent_upload/icon-copy.png',
+					icon_word: 'https://horastar.obs.cn-east-3.myhuaweicloud.com/talent_upload/icon-word.png',
+					icon_pdf: 'https://horastar.obs.cn-east-3.myhuaweicloud.com/talent_upload/icon-pdf.png',
+				},
 				younggee_logo: "https://horastar.obs.cn-east-3.myhuaweicloud.com/talent/younggee_logo.png",
 				task_type_info: ["实体商品寄拍", "虚拟产品测评", "线下探店打卡", "素材微原创"],
 				talent_type_info: ["美妆", "美食", "生活", "时尚", "测评", "旅行", "汽车", "萌宠", "游戏", "音乐", "舞蹈", "房产", "情感", "三农",
@@ -626,6 +651,12 @@
 				).then(res => {
 					this.information = res.data.data
 					this.hasNoProjectPhoto = this.information.ProjectPhoto === null ? true : false;
+					if (!this.hasNoProjectPhoto) {
+						for (let i = 0; i < this.information.ProjectPhoto.length; ++i) {
+							let url = this.information.ProjectPhoto[i].photo_url
+							this.briefType = url.split('.').pop()
+						}
+					}
 					this.information.Product = JSON.parse(res.data.data.product_snap);
 					this.information.Product.ProductPhoto = JSON.parse(res.data.data
 						.product_photo_snap);
@@ -916,6 +947,67 @@
 					this.$refs.popup1.close()
 				}
 			},
+			deletContract() {
+				try {
+					let file = wx.getFileSystemManager();
+					file.readdir({
+						dirPath: `${wx.env.USER_DATA_PATH}`,
+						success: res => {
+							console.log(res);
+							if (res.files.length > 2) {
+								file.unlink({
+									filePath: `${wx.env.USER_DATA_PATH}/${res.files[0]}`,
+									complete: res => {
+
+									}
+								})
+							}
+						}
+					})
+				} catch (error) {
+
+				}
+			},
+			downloadFile(url, file) {
+				let that = this
+				console.log(url, file)
+				// const fileName = url.split('/').pop()
+				const newPath = `${wx.env.USER_DATA_PATH}/${file}`;
+				that.deletContract();
+				wx.showLoading({
+					title: '正在打开',
+					mask: true
+				})
+				wx.downloadFile({
+					url: url,
+					filePath: newPath,
+					header: {},
+					success: function(res) {
+						var filePath = res.filePath;
+						console.log(filePath);
+						wx.openDocument({
+							filePath: filePath,
+							showMenu: true,
+							success: function(res) {
+								console.log('打开文档成功')
+								wx.hideLoading()
+							},
+							fail: function(res) {
+								console.log(res);
+								wx.hideLoading()
+							},
+							complete: function(res) {
+								console.log(res);
+							}
+						})
+					},
+					fail: function(res) {
+						console.log('文件下载失败');
+						console.log(res)
+					},
+					complete: function(res) {},
+				})
+			},
 		}
 	};
 </script>
@@ -1391,6 +1483,35 @@
 		// height: 100% ;
 	}
 
+	.diagram-pdf {
+		padding: 0 20rpx;
+		width: 100%;
+		height: 100rpx;
+		display: flex;
+		align-items: center;
+		justify-content: space-between;
+	}
+
+	.diagram-pdf image {
+		width: 60rpx;
+		height: 60rpx;
+	}
+
+	.diagram-pdf p {
+		width: 50%;
+		font-size: 32rpx;
+	}
+
+	.diagram-pdf button {
+		background-color: #FFFFFF;
+		border: 2rpx solid #f2d22d;
+		border-radius: 20rpx;
+		font-size: 32rpx;
+		// letter-spacing: 5rpx;
+		font-weight: 500;
+		position: relative;
+	}
+
 	.but1 {
 		width: 60%;
 		background-color: #f2d22d;

+ 141 - 10
pages/tasksquare/taskdetail.vue

@@ -66,10 +66,9 @@
 							<span style="display: flex;align-items: center;"
 								v-if="information.Product.ProductUrl !== ''">
 								<p class="wvp" style="padding: 0;">{{information.Product.ProductUrl|ellipsis}}</p>
-								<image :src="icon_copy" mode="" style="width: 40rpx;height: 40rpx;"
+								<image :src="picture.icon_copy" mode="" style="width: 40rpx;height: 40rpx;"
 									@click="handleCopy(information.Product.ProductUrl)" />
 							</span>
-
 						</view>
 						<view style="display: flex;margin: 10rpx 0;">
 							<p class="label">合作佣金:</p>
@@ -126,14 +125,44 @@
 				<view class="home" style="padding-top: 0;">
 					<view class="">
 						<view class="circularmark">
-							<p>任务详情图</p>
+							<p>BRIEF</p>
 						</view>
 						<view class="markcontent1">
-							<view class="diagram" style="font-size: 30rpx;margin: 0 30rpx;" v-if="hasNoProjectPhoto">
-								<p>暂无详情说明</p>
+							<view v-if="hasNoProjectPhoto">
+								<view class="diagram" style="font-size: 30rpx;margin: 0 30rpx;">
+									<p>暂无详情说明</p>
+								</view>
 							</view>
-							<view class="diagram" v-for="item in information.ProjectPhoto">
-								<image :src="item.photo_url" mode="widthFix"></image>
+							<view v-else>
+								<!-- <view class="diagram-pdf" v-for="item in information.ProjectPhoto">
+									<image :src="picture.icon_pdf"></image>
+									<p>测试文件测试文件测试文件测试文件.pdf</p>
+									<button type="default"
+										@tap="downloadFile('https://horastar.obs.cn-east-3.myhuaweicloud.com/backstage_upload/用于确定预计到达时间的方法和设备.pdf', '测试文件.pdf')">点击下载</button>
+								</view>
+								<view class="diagram-pdf" v-for="item in information.ProjectPhoto">
+									<image :src="picture.icon_word"></image>
+									<p>测试文件测试文件测试文件测试文件.docx</p>
+									<button type="default"
+										@tap="downloadFile('https://horastar.obs.cn-east-3.myhuaweicloud.com:443/backstage_upload/22120379.docx', '测试文件测试文件测试文件测试文件.docx')">点击下载</button>
+								</view> -->
+								<view class="diagram-pdf" v-for="item in information.ProjectPhoto"
+									v-if="briefType == 'pdf'">
+									<image :src="picture.icon_pdf"></image>
+									<p>item.file_name</p>
+									<button type="default"
+										@tap="downloadFile(item.photo_url, item.file_name)">点击下载</button>
+								</view>
+								<view class="diagram-pdf" v-for="item in information.ProjectPhoto"
+									v-else-if="briefType == 'doc' || briefType == 'docx'">
+									<image :src="picture.icon_word"></image>
+									<p>item.file_name</p>
+									<button type="default"
+										@tap="downloadFile(item.photo_url, item.file_name)">点击下载</button>
+								</view>
+								<view class="diagram" v-for="item in information.ProjectPhoto" v-else>
+									<image :src="item.photo_url" mode="widthFix"></image>
+								</view>
 							</view>
 						</view>
 					</view>
@@ -292,7 +321,7 @@
 	import {
 		saveImageToPhotosAlbum,
 		showToast,
-		downloadFile
+		// downloadFile
 	} from '@/uni_modules/sakura-canvas/js_sdk/util'
 	export default {
 		filters: {
@@ -312,7 +341,6 @@
 		data() {
 			return {
 				coopStrategy: "点击报名后显示",
-				icon_copy: 'https://horastar.obs.cn-east-3.myhuaweicloud.com/talent_upload/icon-copy.png',
 				navH: getApp().globalData.navHeight,
 				canvasUrl: '',
 				hackReset: true,
@@ -320,7 +348,14 @@
 				arrowMargin: 0,
 				cotainerMargin: 0,
 				screenWidth: 0,
+
 				hasNoProjectPhoto: false,
+				briefType: '',
+				picture: {
+					icon_copy: 'https://horastar.obs.cn-east-3.myhuaweicloud.com/talent_upload/icon-copy.png',
+					icon_word: 'https://horastar.obs.cn-east-3.myhuaweicloud.com/talent_upload/icon-word.png',
+					icon_pdf: 'https://horastar.obs.cn-east-3.myhuaweicloud.com/talent_upload/icon-pdf.png',
+				},
 				ddl: "",
 				loading: true,
 				isSign: 0,
@@ -756,6 +791,12 @@
 						console.log("res: ", res)
 						this.information = res.data.data
 						this.hasNoProjectPhoto = this.information.ProjectPhoto === null ? true : false;
+						if (!this.hasNoProjectPhoto) {
+							for (let i = 0; i < this.information.ProjectPhoto.length; ++i) {
+								let url = this.information.ProjectPhoto[i].photo_url
+								this.briefType = url.split('.').pop()
+							}
+						}
 						this.information.Product = JSON.parse(res.data.data.product_snap);
 						this.information.Product.ProductPhoto = JSON.parse(res.data.data.product_photo_snap);
 						this.information.Product.ProductPrice = money(this.information.Product.ProductPrice)
@@ -1105,7 +1146,68 @@
 					this.$refs.popup2.open(type)
 					this.$refs.popup1.close()
 				}
-			}
+			},
+			deletContract() {
+				try {
+					let file = wx.getFileSystemManager();
+					file.readdir({
+						dirPath: `${wx.env.USER_DATA_PATH}`,
+						success: res => {
+							console.log(res);
+							if (res.files.length > 2) {
+								file.unlink({
+									filePath: `${wx.env.USER_DATA_PATH}/${res.files[0]}`,
+									complete: res => {
+
+									}
+								})
+							}
+						}
+					})
+				} catch (error) {
+
+				}
+			},
+			downloadFile(url, file) {
+				let that = this
+				console.log(url, file)
+				// const fileName = url.split('/').pop()
+				const newPath = `${wx.env.USER_DATA_PATH}/${file}`;
+				that.deletContract();
+				wx.showLoading({
+					title: '正在打开',
+					mask: true
+				})
+				wx.downloadFile({
+					url: url,
+					filePath: newPath,
+					header: {},
+					success: function(res) {
+						var filePath = res.filePath;
+						console.log(filePath);
+						wx.openDocument({
+							filePath: filePath,
+							showMenu: true,
+							success: function(res) {
+								console.log('打开文档成功')
+								wx.hideLoading()
+							},
+							fail: function(res) {
+								console.log(res);
+								wx.hideLoading()
+							},
+							complete: function(res) {
+								console.log(res);
+							}
+						})
+					},
+					fail: function(res) {
+						console.log('文件下载失败');
+						console.log(res)
+					},
+					complete: function(res) {},
+				})
+			},
 		}
 	};
 </script>
@@ -1566,6 +1668,35 @@
 		// height: 100% ;
 	}
 
+	.diagram-pdf {
+		padding: 0 20rpx;
+		width: 100%;
+		height: 100rpx;
+		display: flex;
+		align-items: center;
+		justify-content: space-between;
+	}
+
+	.diagram-pdf image {
+		width: 60rpx;
+		height: 60rpx;
+	}
+
+	.diagram-pdf p {
+		width: 50%;
+		font-size: 32rpx;
+	}
+
+	.diagram-pdf button {
+		background-color: #FFFFFF;
+		border: 2rpx solid #f2d22d;
+		border-radius: 20rpx;
+		font-size: 32rpx;
+		// letter-spacing: 5rpx;
+		font-weight: 500;
+		position: relative;
+	}
+
 	.but1 {
 		width: 60%;
 		background-color: #f2d22d;

+ 2 - 8
pages/tasksquare/tasksquare.vue

@@ -82,8 +82,6 @@
 					<swiper-item v-for="item in list1" @click="pick(item)">
 						<image :src="item.img" mode="scaleToFill" style="width: 100%;height: 100%;"></image>
 					</swiper-item>
-
-
 				</swiper>
 			</view>
 
@@ -177,7 +175,7 @@
 		downloadFile
 	} from '@/uni_modules/sakura-canvas/js_sdk/util'
 	/* 默认首页路径 */
-	const homePath = "/pages/pupu/pupudao";
+	const homePath = "/pages/tasksquare/tasksquare";
 	/* 默认首页图标路径 */
 	const homeIconPath = "/static/img/png4.png";
 	/* 默认返回图标路径 */
@@ -251,8 +249,8 @@
 		},
 		data() {
 			return {
-				kefuUrl: "https://horastar.obs.cn-east-3.myhuaweicloud.com/talent/kefu.jpeg",
 				navH: getApp().globalData.navHeight,
+				kefuUrl: "https://horastar.obs.cn-east-3.myhuaweicloud.com/talent/kefu.jpeg",
 				token: '',
 				per: 0,
 				type4: 'center',
@@ -761,9 +759,6 @@
 			},
 			// 进入任务详情
 			project(item) {
-				// uni.navigateTo({
-				// 	url: '/pages/test/test'
-				// });
 				console.log(item.project_id)
 				if (item.project_type === 1) {
 					uni.navigateTo({
@@ -776,7 +771,6 @@
 							item.project_id
 					});
 				}
-				// }
 			},
 			/* type2 点击分类 */
 			onLeftHome(type) {

+ 110 - 3
pages/test/test.vue

@@ -3,6 +3,23 @@
 		<!-- 胶囊 -->
 		<mvBar :mysNavConfig="mysNavConfig"></mvBar>
 		<view :style="{marginTop:navH}"></view>
+		<view>
+			<image></image>
+			<p>
+				2301.12023.pdf
+			</p>
+			<button @tap="downloadFile('https://arxiv.org/pdf/2301.12023.pdf')">下载附件</button>
+		</view>
+		<view class="pipline">
+				<p>报名任务&nbsp;>&nbsp;商家反选&nbsp;>&nbsp;商家支付&nbsp;>&nbsp;报名成功&nbsp;>&nbsp;寄样&探店约档</p>
+				<p>签收返稿&nbsp;>&nbsp;商家审核&nbsp;>&nbsp;作品发布&nbsp;>&nbsp;返回数据&nbsp;>&nbsp;结案&结算打款</p>
+			<!-- <image :src="picture.icon_whole_pipline"></image> -->
+		</view>
+		<view class="pipline">
+				<p>报名任务&nbsp;>&nbsp;商家反选&nbsp;>&nbsp;商家支付&nbsp;>&nbsp;报名成功&nbsp;>&nbsp;寄样&探店约档</p>
+				<p>签收返稿&nbsp;>&nbsp;商家审核&nbsp;>&nbsp;作品发布&nbsp;>&nbsp;返回数据&nbsp;>&nbsp;结案&结算打款</p>
+			<!-- <image :src="picture.icon_special_pipline"></image> -->
+		</view>
 		<!-- <view>
 			<l-painter isRenderImage :width="'686rpx'" :height="'930rpx'"
 				custom-style="position: fixed; top:10px; left: 500%;" ref="painter" @success="poster($event)" />
@@ -30,7 +47,7 @@
 					navFixed: true,
 					/* 标题 (屏幕中心居中 两边图标中心居中使用slot center1) */
 					navTitle: {
-						text: "我的收益",
+						text: "测试页面",
 						color: "",
 						fontSize: "32rpx", // px upx rpx
 						fontWeight: "normal", // 100 - 700
@@ -47,12 +64,82 @@
 						radius: "40rpx",
 					},
 				},
+				picture: {
+					icon_whole_pipline: 'https://horastar.obs.cn-east-3.myhuaweicloud.com/talent_upload/icon-whole-pipline.png',
+					icon_special_pipline: 'https://horastar.obs.cn-east-3.myhuaweicloud.com/talent_upload/icon-special-pipline.png',
+				}
 			}
 		},
-		onLoad(){
-			this.onShareLoad();
+		onLoad() {
+			// this.onShareLoad();
 		},
 		methods: {
+			/**
+			 * 下载文件并预览
+			 */
+			// 删除本地文件
+			deletContract() {
+				try {
+					let file = wx.getFileSystemManager();
+					file.readdir({
+						dirPath: `${wx.env.USER_DATA_PATH}/younggee_brief`,
+						success: res => {
+							console.log(res);
+							if (res.files.length > 2) {
+								file.unlink({
+									filePath: `${wx.env.USER_DATA_PATH}/${res.files[0]}`,
+									complete: res => {
+
+									}
+								})
+							}
+						}
+					})
+				} catch (error) {
+
+				}
+			},
+			downloadFile(url) {
+				let that = this
+				console.log(url)
+				const fileName = url.split('/').pop()
+				const newPath = `${wx.env.USER_DATA_PATH}/younggee_brief/${fileName}`;
+				console.log("new path: ", newPath);
+				// that.deletContract();
+				wx.downloadFile({
+					url: url,
+					filePath: newPath,
+					header: {},
+					success: function(res) {
+						var filePath = res.filePath;
+						console.log(filePath);
+						wx.showLoading({
+							title: '正在打开',
+							mask: true
+						})
+						wx.openDocument({
+							filePath: filePath,
+							showMenu: true,
+							success: function(res) {
+								console.log('打开文档成功')
+								wx.hideLoading()
+							},
+							fail: function(res) {
+								console.log(res);
+								wx.hideLoading()
+							},
+							complete: function(res) {
+								console.log(res);
+							}
+						})
+					},
+					fail: function(res) {
+						console.log('文件下载失败');
+						console.log(res)
+					},
+					complete: function(res) {},
+				})
+			},
 			onShareLoad() {
 				let that = this;
 				let base = {
@@ -303,5 +390,25 @@
 </script>
 
 <style>
+	.pipline{
+		display: flex;
+		flex-direction: column;
+		align-items: center;
+		justify-content: center;
+		margin: 20rpx;
+		border: #FCCF41 2rpx dashed;
+	}
+	
+	.pipline p{
+		font-size: 24rpx;
+		height: 60rpx;
+		line-height: 60rpx;
+		transform: scale(1, 1.5);
+		/* box-shadow: 10px 10px 5px #FCCF41; */
+	}
+	.pipline image{
+		/* width: 600rpx; */
+		height: 150rpx;
+	}
 
 </style>

+ 22 - 0
pages/workspace/selection/sectaskdetail.vue

@@ -0,0 +1,22 @@
+<template>
+	<view>
+		
+	</view>
+</template>
+
+<script>
+	export default {
+		data() {
+			return {
+				
+			}
+		},
+		methods: {
+			
+		}
+	}
+</script>
+
+<style>
+
+</style>

+ 41 - 2
pages/workspace/taskdetail.vue

@@ -68,6 +68,22 @@
 				</view>
 			</view>
 
+			<!-- <view class="pipline" v-if="!isSpecial">
+				<image :src="picture.icon_whole_pipline"></image>
+			</view>
+			<view class="pipline" v-else>
+				<image :src="picture.icon_special_pipline"></image>
+			</view> -->
+			<view class="pipline" v-if="!isSpecial">
+				<!-- <p>报名任务&nbsp;>&nbsp;商家反选&nbsp;>&nbsp;商家支付&nbsp;>&nbsp;报名成功&nbsp;>&nbsp;寄样&探店约档</p>
+				<p>签收返稿&nbsp;>&nbsp;商家审核&nbsp;>&nbsp;作品发布&nbsp;>&nbsp;返回数据&nbsp;>&nbsp;结案&结算打款</p> -->
+				<image :src="picture.icon_whole_pipline"></image>
+			</view>
+			<view class="pipline" v-else>
+				<!-- <p>报名任务&nbsp;>&nbsp;商家反选&nbsp;>&nbsp;商家支付&nbsp;>&nbsp;报名成功&nbsp;>&nbsp;寄样&探店约档</p>
+				<p>签收返稿&nbsp;>&nbsp;商家审核&nbsp;>&nbsp;作品发布&nbsp;>&nbsp;返回数据&nbsp;>&nbsp;结案&结算打款</p> -->
+				<image :src="picture.icon_special_pipline"></image>
+			</view>
 			<!-- <view class="keyInfo">
 				<view style="margin-bottom: 40rpx;">
 					<p style="font-size: 36rpx;">关键任务信息</p>
@@ -244,10 +260,18 @@
 					<view class="tpc-txt1">
 						<p>已结案</p>
 					</view>
-					<view class="tpc-txt2" @click="toWithdraw()" v-if="!isSpecial">
+					<view class="tpc-txt2" @click="toWithdraw()" v-if="task.withdraw_status == 2">
 						<p>前往提现</p>
 						<image class="tpc-icon" :src="picture.icon_right"></image>
 					</view>
+					<view class="tpc-txt2" v-if="task.withdraw_status == 3">
+						<p>提现中</p>
+						<image class="tpc-icon" :src="picture.icon_right"></image>
+					</view>
+					<view class="tpc-txt2" v-if="task.withdraw_status == 4">
+						<p>已提现</p>
+						<image class="tpc-icon" :src="picture.icon_right"></image>
+					</view>
 				</view>
 				<view class="task-progress-info">
 					<view style="padding: 10rpx 0;">
@@ -275,7 +299,7 @@
 					v-bind:style="isNotShowSubmit ? '' : 'background-color: #f2d241'">
 					确认提交</button>
 			</view> -->
-			<view class="submit" v-if="task.task_stage === 15 && !isSpecial">
+			<view class="submit" v-if="task.task_stage === 15 && task.withdraw_status == 2">
 				<button type="default" class="submit_btn" @click="toWithdraw()">
 					前往提现</button>
 			</view>
@@ -376,6 +400,8 @@
 				account: {},
 				strategy: {},
 				picture: {
+					icon_whole_pipline: 'https://horastar.obs.cn-east-3.myhuaweicloud.com/talent_upload/icon-whole-pipline.png',
+					icon_special_pipline: 'https://horastar.obs.cn-east-3.myhuaweicloud.com/talent_upload/icon-special-pipline.png',
 					togoimg: 'https://horastar.obs.cn-east-3.myhuaweicloud.com/talent/task16.png',
 					icon_copy: 'https://horastar.obs.cn-east-3.myhuaweicloud.com/talent_upload/icon-copy.png',
 					icon_edit: 'https://horastar.obs.cn-east-3.myhuaweicloud.com/youngee/talent_upload/icon-edit.png',
@@ -1263,4 +1289,17 @@
 		width: 98%;
 		margin: 10rpx 1%;
 	}
+
+	.pipline {
+		display: flex;
+		align-items: center;
+		justify-content: center;
+		margin: 20rpx;
+		// border: #FCCF41 1rpx dashed;
+	}
+
+	.pipline image {
+		/* width: 600rpx; */
+		height: 150rpx;
+	}
 </style>

+ 14 - 8
pages/workspace/workspace.vue

@@ -2,7 +2,7 @@
 	<view>
 		<!-- 胶囊 -->
 		<mvBar :mysNavConfig="mysNavConfig"></mvBar>
-		<view :style="{marginTop:navH}"></view>
+		<view :style="{paddingTop:navH}" style="background-color: #fff;"></view>
 		<view class="menu">
 			<view class="menu-item" @click="toShow1()">
 				<view class="menu-item-p">
@@ -30,7 +30,7 @@
 			</view>
 		</view>
 
-		<view class="home" v-if="showList1 && !loading" style="padding-top: 100rpx;">
+		<view class="home" v-if="showList1 && !loading">
 			<view class="task" v-for="item in List1">
 				<view @click="toDetail(item)">
 					<view class="task-head">
@@ -56,7 +56,7 @@
 			</view>
 		</view>
 
-		<view class="home" v-if="showList2 && !loading" style="padding-top: 100rpx;">
+		<view class="home" v-if="showList2 && !loading">
 			<view class="task" v-for="item in List2">
 				<view @click="toDetail(item)">
 					<view class="task-head">
@@ -82,7 +82,7 @@
 			</view>
 		</view>
 
-		<view class="home" v-if="showList3 && !loading" style="padding-top: 100rpx;">
+		<view class="home" v-if="showList3 && !loading">
 			<view class="task" v-for="item in List3">
 				<view @click="toDetail(item)">
 					<view class="task-head">
@@ -108,7 +108,7 @@
 			</view>
 		</view>
 
-		<view class="home" v-if="showList4 && !loading" style="padding-top: 100rpx;">
+		<view class="home" v-if="showList4 && !loading">
 			<view class="task" v-for="item in List4">
 				<view @click="toDetail(item)">
 					<view class="task-head">
@@ -211,9 +211,15 @@
 				uni.showModal({
 					content: '请先登录',
 					success: function(res) {
-						uni.navigateTo({
-							url: '../login/login'
-						});
+						if (res.confirm) {
+							uni.navigateTo({
+								url: '/pages/login/login'
+							});
+						} else if (res.cancel) {
+							uni.switchTab({
+								url: '/pages/tasksquare/tasksquare'
+							});
+						}
 					}
 				});
 			}

二進制
static/img/icon-shop1.png


二進制
static/img/icon-shop2.png


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


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


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/components/htz-image-upload/htz-image-upload.js.map


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/components/mosowe-canvas-image/mosowe-canvas-image.js.map


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/components/mys-tip_1.0.01/a_tip/aTip.js.map


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/components/mys_navBar/mysNavBar.js.map


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/components/z-swiper/index.js.map


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


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/login/userinfo.js.map


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/mycenter/message.js.map


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/mycenter/mycenter.js.map


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/mycenter/myincome.js.map


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/mycenter/myincome/applywithdraw.js.map


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/mycenter/myinformation/addlocation.js.map


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/mycenter/myinformation/bindaccount.js.map


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/mycenter/myinformation/myaccount.js.map


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/mycenter/myinformation/mybank.js.map


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/mycenter/myinformation/myinformation.js.map


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/mycenter/myinformation/mylocation.js.map


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/mycenter/myinformation/personinfo.js.map


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/mycenter/mypoint/mypoint.js.map


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/mycenter/myselection/myselection.js.map


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/mycenter/mytask/mytask.js.map


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/mycenter/myteam/myteam.js.map


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/selectionsquare/selectiondetail.js.map


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/selectionsquare/selectionsquare.js.map


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/tasksquare/bindinfo.js.map


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/tasksquare/cooperation.js.map


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/tasksquare/guanwang.js.map


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/tasksquare/guide.js.map


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/tasksquare/information.js.map


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/tasksquare/search.js.map


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/tasksquare/specialTask/information.js.map


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/tasksquare/specialTask/specialTaskDetail.js.map


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/tasksquare/success.js.map


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/tasksquare/taskdetail.js.map


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/tasksquare/tasksquare.js.map


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/test/test.js.map


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/workspace/applyInformation.js.map


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/workspace/datarecord.js.map


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/workspace/deliveryInformation.js.map


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/workspace/editaddress.js.map


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/workspace/linkrecord.js.map


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/workspace/scriptrecord.js.map


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/workspace/selection/sectaskdetail.js.map


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/workspace/sketchrecord.js.map


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/workspace/taskdetail.js.map


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/workspace/uploaddata.js.map


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/workspace/uploadlink.js.map


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/workspace/uploadscript.js.map


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/workspace/uploadsketch.js.map


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/workspace/workspace.js.map


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-data-checkbox/components/uni-data-checkbox/uni-data-checkbox.js.map


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-easyinput/components/uni-easyinput/uni-easyinput.js.map


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-forms/components/uni-forms-item/uni-forms-item.js.map


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-forms/components/uni-forms/uni-forms.js.map


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-icons/components/uni-icons/uni-icons.js.map


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-load-more/components/uni-load-more/uni-load-more.js.map


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-popup/components/uni-popup/uni-popup.js.map


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-search-bar/components/uni-search-bar/uni-search-bar.js.map


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