Ohio-HYF il y a 2 ans
Parent
commit
0974c5b41c
79 fichiers modifiés avec 1024 ajouts et 486 suppressions
  1. 32 27
      components/requesttoken111.js
  2. 4 4
      components/utils.js
  3. 8 0
      pages.json
  4. 49 9
      pages/login/login.vue
  5. 225 0
      pages/login/userinfo.vue
  6. 13 8
      pages/mycenter/mycenter.vue
  7. 1 3
      pages/mycenter/myinformation/bindaccount.vue
  8. 35 31
      pages/mycenter/myinformation/mybank.vue
  9. 4 4
      pages/mycenter/mytask/mytask.vue
  10. 4 62
      pages/tasksquare/bindinfo.vue
  11. 3 2
      pages/tasksquare/cooperation.vue
  12. 2 2
      pages/tasksquare/guide.vue
  13. 7 11
      pages/tasksquare/information.vue
  14. 3 7
      pages/tasksquare/specialTask/information.vue
  15. 30 25
      pages/tasksquare/specialTask/specialTaskDetail.vue
  16. 4 3
      pages/tasksquare/success.vue
  17. 51 29
      pages/tasksquare/taskdetail.vue
  18. 1 1
      pages/workspace/applyInformation.vue
  19. 1 1
      pages/workspace/datarecord.vue
  20. 5 1
      pages/workspace/deliveryInformation.vue
  21. 41 37
      pages/workspace/taskdetail.vue
  22. 116 51
      pages/workspace/uploaddata.vue
  23. 67 27
      pages/workspace/uploadlink.vue
  24. 61 25
      pages/workspace/uploadscript.vue
  25. 115 63
      pages/workspace/uploadsketch.vue
  26. 142 53
      pages/workspace/workspace.vue
  27. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/common/main.js.map
  28. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/common/runtime.js.map
  29. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/common/vendor.js.map
  30. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/components/htz-image-upload/htz-image-upload.js.map
  31. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/components/mosowe-canvas-image/mosowe-canvas-image.js.map
  32. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/components/mys-tip_1.0.01/a_tip/aTip.js.map
  33. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/components/mys_navBar/mysNavBar.js.map
  34. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/components/z-swiper/index.js.map
  35. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/login/login.js.map
  36. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/login/userinfo.js.map
  37. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/mycenter/message.js.map
  38. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/mycenter/mycenter.js.map
  39. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/mycenter/myincome.js.map
  40. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/mycenter/myincome/applywithdraw.js.map
  41. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/mycenter/myinformation/addlocation.js.map
  42. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/mycenter/myinformation/bindaccount.js.map
  43. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/mycenter/myinformation/myaccount.js.map
  44. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/mycenter/myinformation/mybank.js.map
  45. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/mycenter/myinformation/myinformation.js.map
  46. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/mycenter/myinformation/mylocation.js.map
  47. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/mycenter/myinformation/personinfo.js.map
  48. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/mycenter/mytask/mytask.js.map
  49. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/tasksquare/bindinfo.js.map
  50. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/tasksquare/cooperation.js.map
  51. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/tasksquare/guide.js.map
  52. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/tasksquare/information.js.map
  53. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/tasksquare/search.js.map
  54. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/tasksquare/specialTask/information.js.map
  55. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/tasksquare/specialTask/specialTaskDetail.js.map
  56. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/tasksquare/success.js.map
  57. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/tasksquare/taskdetail.js.map
  58. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/tasksquare/tasksquare.js.map
  59. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/workspace/applyInformation.js.map
  60. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/workspace/datarecord.js.map
  61. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/workspace/deliveryInformation.js.map
  62. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/workspace/editaddress.js.map
  63. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/workspace/linkrecord.js.map
  64. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/workspace/scriptrecord.js.map
  65. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/workspace/sketchrecord.js.map
  66. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/workspace/taskdetail.js.map
  67. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/workspace/uploaddata.js.map
  68. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/workspace/uploadlink.js.map
  69. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/workspace/uploadscript.js.map
  70. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/workspace/uploadsketch.js.map
  71. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/workspace/workspace.js.map
  72. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-data-checkbox/components/uni-data-checkbox/uni-data-checkbox.js.map
  73. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-easyinput/components/uni-easyinput/uni-easyinput.js.map
  74. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-forms/components/uni-forms-item/uni-forms-item.js.map
  75. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-forms/components/uni-forms/uni-forms.js.map
  76. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-icons/components/uni-icons/uni-icons.js.map
  77. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-load-more/components/uni-load-more/uni-load-more.js.map
  78. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-popup/components/uni-popup/uni-popup.js.map
  79. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-search-bar/components/uni-search-bar/uni-search-bar.js.map

+ 32 - 27
components/requesttoken111.js

@@ -2,21 +2,22 @@
 //通用uni-app网络请求
 export default {
 	config: {
-		// baseUrl: "http://localhost:8200",	//本地开发
+		// baseUrl: "http://localhost:8200", //本地开发
 		// baseUrl: "http://172.27.185.236:8200",	//本地开发		
 		baseUrl: "https://talent.younggee.com:8201",  //默认的公共域名
-		  
+
 		header: {
-			'Content-Type':'application/json;charset=UTF-8',   //默认get方式
-			'token':uni.getStorageSync('token'),
-			'cookie':uni.getStorageSync('cookie'),
+			'Content-Type': 'application/json;charset=UTF-8', //默认get方式
+			'token': uni.getStorageSync('token'),
+			'cookie': uni.getStorageSync('cookie'),
 		},
-		data: {},			//上行参数
-		method: "GET",     //默认GET方式
-		dataType: "json",  /* 如设为json,会对返回的数据做一次 JSON.parse */
-		success() {},  //成功回调
-		fail() {},		//失败回调
-		complete() {}   //完成回到
+		data: {}, //上行参数
+		method: "GET", //默认GET方式
+		dataType: "json",
+		/* 如设为json,会对返回的数据做一次 JSON.parse */
+		success() {}, //成功回调
+		fail() {}, //失败回调
+		complete() {} //完成回到
 	},
 	//封装两种请求方式,delete和put类似
 	get(url, data, options) {
@@ -25,7 +26,7 @@ export default {
 		}
 		options.url = url
 		options.data = data
-		options.method = 'GET'  
+		options.method = 'GET'
 		return this.request(options)
 	},
 	post(url, data, options) {
@@ -42,26 +43,30 @@ export default {
 		if (!options) {
 			options = {}
 		}
-		options.baseUrl = options.baseUrl || this.config.baseUrl    	//设置全局url
-		options.dataType = options.dataType || this.config.dataType  	//设置数据类型
-		options.url = options.baseUrl + options.url        				//设置当前请求url
-		options.data = options.data || {}								//设置参数
+		options.baseUrl = options.baseUrl || this.config.baseUrl //设置全局url
+		options.dataType = options.dataType || this.config.dataType //设置数据类型
+		options.url = options.baseUrl + options.url //设置当前请求url
+		options.data = options.data || {} //设置参数
 		// #ifdef MP-ALIPAY
 		options.data.platform = 2
 		// #endif
-		options.method = options.method || this.config.method			//设置请求方式
+		options.method = options.method || this.config.method //设置请求方式
 		//header系列修改
-		if(options.method == "POST"){
+		if (options.method == "POST") {
 			this.config.header['Content-Type'] = 'application/x-www-form-urlencoded'
-		}else{
+		} else {
 			this.config.header['Content-Type'] = 'application/json;charset=UTF-8'
 		}
 		// 数据签名
-		var token = {'token': uni.getStorageSync('token') || ''}
-		var cookie = {'cookie': uni.getStorageSync('cookie') || ''}
-		options.header = Object.assign({}, options.header, this.config.header, token,cookie)
+		var token = {
+			'token': uni.getStorageSync('token') || ''
+		}
+		var cookie = {
+			'cookie': uni.getStorageSync('cookie') || ''
+		}
+		options.header = Object.assign({}, options.header, this.config.header, token, cookie)
 		return new Promise((resolve, reject) => {
-			let _config = null	
+			let _config = null
 			//定义成功失败的函数
 			options.success = res => {
 				// console.log(res)
@@ -69,7 +74,7 @@ export default {
 				// if (res.data.code == 0) {
 				// 		console.log(res)
 				// 	resolve(res.data)
-				
+
 				// } else {
 				// //获取失败后的逻辑
 				// 	console.log('获取失败')
@@ -79,10 +84,10 @@ export default {
 				// 请求接口错误
 				reject(res.data)
 			}
-			
-			_config = Object.assign({}, this.config, options)   //合并请求参数
+
+			_config = Object.assign({}, this.config, options) //合并请求参数
 			//执行request请求
 			uni.request(_config);
 		});
 	}
-}
+}

+ 4 - 4
components/utils.js

@@ -35,21 +35,21 @@ function money(value) {
 	if (typeof value !== 'string') {
 		value = String(value)
 	}
-	if (!value) return '0.00'
+	if (!value) return '0.0'
 	const intPart = Number(value).toFixed(0) // 获取整数部分
 	const intPartFormat = intPart
 		.toString()
 		.replace(/(\d)(?=(?:\d{3})+$)/g, '$1,') // 将整数部分逢三一断
-	let floatPart = '.00' // 预定义小数部分
+	let floatPart = '.0' // 预定义小数部分
 	const value2Array = value.split('.')
 	// =2表示数据有小数位
 	if (value2Array.length === 2) {
 		floatPart = value2Array[1].toString() // 拿到小数部分
 		if (floatPart.length === 1) {
 			// 补0,
-			return intPartFormat + '.' + floatPart + '0'
-		} else {
 			return intPartFormat + '.' + floatPart
+		} else {
+			return intPartFormat + '.' + floatPart[0]
 		}
 	} else {
 		return intPartFormat + floatPart

+ 8 - 0
pages.json

@@ -27,6 +27,14 @@
 				"navigationBarTextStyle": "black"
 			}
 		},
+		{
+			"path": "pages/login/userinfo",
+			"style": {
+				"navigationBarTitleText": "YoungGee",
+				"navigationStyle": "custom",
+				"navigationBarTextStyle": "black"
+			}
+		},
 		{
 			"path": "pages/workspace/workspace",
 			"style": {

+ 49 - 9
pages/login/login.vue

@@ -11,7 +11,11 @@
 			</view>
 		</view>
 		<view class="body">
-			<button class="login-btn" @click="toggle('bottom')">微信授权</button>
+			<!-- <button class="login-btn" @click="toggle('bottom')" v-if="licenseStatus == 0">微信授权</button> -->
+			<button class="login-btn" @click="getPhone" v-if="licenseStatus == 0">微信授权</button>
+			<button class="login-btn" open-type="getPhoneNumber" @getphonenumber="onGetPhoneNumber"
+				v-if="licenseStatus == 1">微信授权</button>
+
 			<button class="exit-btn" @click="exit()">取消登录</button>
 			<view class="xieyi">
 				<uni-data-checkbox multiple class="xieyi-btn" v-model="value" :localdata="range" @change="select">
@@ -525,6 +529,7 @@
 	export default {
 		data() {
 			return {
+				licenseStatus: 0,
 				value: 0,
 				range: [{
 					"value": 1,
@@ -540,8 +545,9 @@
 					png6: 'https://horastar.obs.cn-east-3.myhuaweicloud.com/talent/6.png'
 				},
 				type: 'center',
-				nickname: '',
-				gender: '',
+				nickname: '微信用户',
+				avatarUrl: "https://mmbiz.qpic.cn/mmbiz/icTdbqWNOwNRna42FI242Lcia07jQodd2FJGIYQfG0LAJGFxM4FbnQP6yfMxBgJ0F3YRqJCJ1aPAK2dQagdusBZg/0",
+				gender: '0',
 			};
 		},
 		onLoad() {},
@@ -554,6 +560,11 @@
 			},
 			select() {
 				console.log(this.value)
+				if (this.value.length !== 1) {
+					this.licenseStatus = 0
+				} else {
+					this.licenseStatus = 1
+				}
 			},
 			//swiper滑动事件
 			swiperChange: function(e) {
@@ -581,21 +592,29 @@
 					desc: '登录',
 					success: (res) => {
 						//console.log(res);
-						console.log(res)
+						console.log("getUserProfile response: ", res)
+						this.licenseStatus = 1
 						this.nickname = res.userInfo.nickName
 
 						this.gender = res.userInfo.gender
 						uni.setStorageSync('nickName', res.userInfo.nickName);
 						uni.setStorageSync('avatarUrl', res.userInfo.avatarUrl);
-						try {
-							this.login();
-						} catch (e) {}
 					},
 					fail: (res) => {
 						console.log(res)
 					}
 				});
 			},
+			getPhone() {
+				if (this.value.length !== 1) {
+					uni.showToast({
+						title: '请先阅读并同意协议',
+						icon: 'none',
+						duration: 2000
+					});
+					return;
+				}
+			},
 			// 获取手机号
 			onGetPhoneNumber(e) {
 				if (e.detail.errMsg === "getPhoneNumber:fail user deny") { //用户决绝授权  
@@ -603,9 +622,27 @@
 				} else {
 					//允许授权  
 					console.log(e)
-					this.$refs.popup.open('bottom')
 					e.detail.encryptedData //加密的用户信息  
-					e.detail.iv //加密算法的初始向量  时要用到  
+					e.detail.iv //加密算法的初始向量  时要用到
+					try {
+						this.login();
+					} catch (e) {}
+					// uni.getUserProfile({
+					// 	desc: '登录',
+					// 	success: (res) => {
+					// 		//console.log(res);
+					// 		console.log("getUserProfile response: ", res)
+					// 		this.nickname = res.userInfo.nickName
+
+					// 		this.gender = res.userInfo.gender
+					// 		uni.setStorageSync('nickName', res.userInfo.nickName);
+					// 		uni.setStorageSync('avatarUrl', res.userInfo.avatarUrl);
+
+					// 	},
+					// 	fail: (res) => {
+					// 		console.log(res)
+					// 	}
+					// });
 				}
 			},
 			//登录
@@ -623,6 +660,7 @@
 							_this.$https.post('/youngee/c/p/login', {
 									code: res.code, //wx.login 登录成功后的code 
 									gender: _this.gender,
+									avatar: _this.avatarUrl,
 									nickname: _this.nickname
 								})
 								.then(res => {
@@ -635,6 +673,8 @@
 									} else {
 										console.log(res)
 										uni.setStorageSync('token', res.data.data.token);
+										uni.setStorageSync('nickName', res.data.data.nickname);
+										uni.setStorageSync('avatarUrl', res.data.data.avatar);
 										uni.setStorageSync('cookie', res.header['Set-Cookie']);
 										let url = uni.getStorageSync('url')
 										console.log(url)

+ 225 - 0
pages/login/userinfo.vue

@@ -0,0 +1,225 @@
+<template>
+	<view style="position: relative;">
+		<!-- 胶囊 -->
+		<mvBar :mysNavConfig="mysNavConfig"></mvBar>
+		<view :style="{marginTop:navH}"></view>
+		<view class="containar">
+			<view class="avatarUrl">
+				<view>
+					<button type="balanced" open-type="chooseAvatar" @chooseavatar="onChooseAvatar"
+						style="width: 200rpx;height: 200rpx;padding: 0;">
+						<image :src="avatarUrl" class="refreshIcon"></image>
+					</button>
+				</view>
+			</view>
+			<view class="nickname">
+				<view>昵称:</view>
+				<view>
+					<input type="nickname" class="weui-input" :value="nickName" @blur="bindblur" placeholder="请输入昵称"
+						@input="bindinput" />
+				</view>
+			</view>
+
+			<button class="btn1" @click="submitForm()">保存</button>
+		</view>
+	</view>
+</template>
+
+<script>
+	import mvBar from "@/components/mys_navBar/mysNavBar";
+	import htzImageUpload from '@/components/htz-image-upload/htz-image-upload.vue';
+	import getPolicyEncode from '@/components/obs/getPolicy.js';
+	import getSignature from '@/components/obs/GetSignature.js';
+	export default {
+		components: {
+			mvBar,
+			htzImageUpload,
+		},
+		data() {
+			return {
+				navH: getApp().globalData.navHeight,
+				avatarUrl: 'https://mmbiz.qpic.cn/mmbiz/icTdbqWNOwNRna42FI242Lcia07jQodd2FJGIYQfG0LAJGFxM4FbnQP6yfMxBgJ0F3YRqJCJ1aPAK2dQagdusBZg/0',
+				nickName: '',
+				mysNavConfig: {
+					/* 开启单页显示首页图标 */
+					isHome: true,
+					/* 固定导航  */
+					navFixed: true,
+					/* 标题 (屏幕中心居中 两边图标中心居中使用slot center1) */
+					navTitle: {
+						text: "个人信息",
+						color: "",
+						fontSize: "32rpx", // px upx rpx
+						fontWeight: "normal", // 100 - 700
+					},
+					btnType: "type2",
+					onLeftClick: "/pages/mycenter/mycenter",
+					/* type2 按钮 */
+					type2Config: {
+						// 左图标
+						leftPath: "/static/img/png2.png",
+						// 右图标
+						rightPath: "/static/img/png4.png",
+						// 圆角
+						radius: "40rpx",
+					},
+				},
+			}
+		},
+		onShow() {
+			this.nickName = uni.getStorageSync('nickName');
+			this.avatarUrl = uni.getStorageSync('avatarUrl');
+		},
+		methods: {
+			bindblur(e) {
+				this.nickName = e.detail.value; // 获取微信昵称
+			},
+			bindinput(e) {
+				this.nickName = e.detail.value; //这里要注意如果只用blur方法的话用户在输入玩昵称后直接点击保存按钮,会出现修改不成功的情况。
+			},
+			onChooseAvatar(e) {
+				// console.log("111", e)
+				// return
+				let {
+					avatarUrl
+				} = e.detail;
+				this.store = 'talent_upload/avatar/' + this.guid() + '.png'
+				this.imgUpload(avatarUrl);
+			},
+			async submitForm() {
+				if (this.nickName === '') {
+					uni.showToast({
+						icon: 'none',
+						title: '请输入昵称'
+					})
+					return false;
+				}
+				uni.setStorageSync('avatarUrl', this.avatarUrl);
+				uni.setStorageSync('nickName', this.nickName);
+				// 更新数据库中昵称
+				await this.$https.post('/youngee/c/t/p/update-talent-info', {
+						talent_wx_nickname: this.nickName,
+						avatar: this.avatarUrl
+					})
+					.then(res => {
+						console.log(res)
+					})
+				uni.navigateBack()
+			},
+			imgUpload(tempFilePath) {
+				uni.showLoading({
+					title: '加载中'
+				});
+				let that = this
+				console.log('imgUpload', tempFilePath)
+				let config = {
+					AccessKeyId: 'IVW21DTGIIUBBAGXKK0Y', //AK
+					SecretKey: 'Y01nEQNcLOATMw7uJwrk3yOdQZ2fqLhSnXcOKVDE', //SK
+					EndPoint: 'https://horastar.obs.cn-east-3.myhuaweicloud.com', //上传文件的路径
+				};
+				let fileName = this.store; //指定上传到OBS桶中的对象名
+				let OBSPolicy = { //设定policy内容
+					"expiration": "2089-12-31T12:00:00.000Z",
+					"conditions": [{
+							"bucket": "horastar"
+						},
+						{
+							'key': fileName
+						}
+					]
+				}
+
+				let policyEncoded = getPolicyEncode(OBSPolicy); //计算policy编码值
+				let signature = getSignature(policyEncoded, config.SecretKey); //计算signature 
+				uni.uploadFile({
+					//url: config.EndPoint,
+					url: config.EndPoint,
+					filePath: tempFilePath,
+					name: 'file',
+
+					formData: {
+						'AccessKeyID': config.AccessKeyId,
+						'policy': policyEncoded,
+						'signature': signature,
+						'key': fileName,
+					},
+
+					success: function(res) {
+						console.log(res.statusCode); //打印响应状态码
+						if (res.statusCode == '204') {
+							// that.imageData.push(config.EndPoint + '/' + fileName);
+							console.log('上传图片成功', res)
+							let obs_url = config.EndPoint + '/' + fileName; //用你自己的 bucket 名替换星号
+							console.log(obs_url)
+							that.avatarUrl = obs_url
+							// uni.showToast({
+							// 	title: '上传成功',
+							// 	icon: '成功'
+							// });
+						} else {
+							console.log('上传图片失败', res)
+							uni.showToast({
+								title: '上传失败',
+								icon: '失败'
+							});
+						}
+					},
+					fail: function(e) {
+						console.log(e);
+						uni.showToast({
+							title: '上传失败22222',
+							icon: '失败'
+						});
+					}
+				})
+				uni.hideLoading();
+			},
+			guid() {
+				return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function(c) {
+					var r = Math.random() * 16 | 0,
+						v = c == 'x' ? r : (r & 0x3 | 0x8);
+
+					return v.toString(16);
+				});
+			},
+		}
+	}
+</script>
+
+<style lang="scss" scoped>
+	.btn1 {
+		margin: 30rpx;
+		font-size: 35rpx;
+		color: #000;
+		background-color: #F0D232;
+		border: none;
+		border-radius: 0;
+	}
+
+	.containar {
+		display: flex;
+		flex-flow: column;
+	}
+
+	.avatarUrl {
+		display: flex;
+		align-items: center;
+		justify-content: center;
+		// justify-content: space-between;
+	}
+
+	.nickname {
+		display: flex;
+		align-items: center;
+		justify-content: space-between;
+		padding: 30rpx 50rpx;
+		margin: 30rpx 0rpx;
+		border-bottom: 1rpx solid #999999;
+		border-top: 1rpx solid #999999;
+	}
+
+	.refreshIcon {
+		width: 200rpx;
+		height: 200rpx;
+	}
+</style>

+ 13 - 8
pages/mycenter/mycenter.vue

@@ -6,11 +6,11 @@
 		<view>
 			<view class="head" v-if="token">
 				<view class="head-left">
-					<view class="head-avator">
-						<image :src="avatarUrl" mode="" style="width: 100%;height: 100%;" />
+					<view class="head-avator"  @click="toUserInfo()">
+						<image :src="avatarUrl" mode="" style="width: 100%;height: 100%;border-radius: 100rpx;" />
 					</view>
 					<view>
-						<p style="padding-bottom: 20rpx;font-size: 35rpx;">{{information.talent_wx_nickname}}</p>
+						<p style="padding-bottom: 20rpx;font-size: 35rpx;"  @click="toUserInfo()">{{nickName}}</p>
 						<span style="display: flex;align-items: center;">
 							<p style="font-size: 25rpx;">ID:{{information.id}}</p>
 							<image :src="picture.icon_copy" mode="" style="width: 40rpx;height: 40rpx;"
@@ -64,7 +64,7 @@
 
 				<view class="show-income1-text">
 					<view>
-						<p style="font-size: 40rpx;font-weight:bold;color: #F0D232;" @click="toincome('can')">
+						<p style="font-size: 40rpx;font-weight:bold;color: #F0D232;padding-left: 40rpx;" @click="toincome('can')">
 							{{information.showIncome?information.showIncome:'0.00'}}
 						</p>
 					</view>
@@ -345,6 +345,12 @@
 					url: '../login/login'
 				});
 			},
+			// 进入头像昵称修改页面
+			toUserInfo() {
+				uni.navigateTo({
+					url: '../login/userinfo'
+				});
+			},
 			// 进入通知页面
 			toMessage() {
 				uni.navigateTo({
@@ -502,7 +508,6 @@
 		align-items: center;
 		justify-content: space-between;
 		margin-top: 30rpx;
-		margin-left: 20rpx;
 	}
 
 	.show-income1-text2 {
@@ -511,7 +516,8 @@
 	}
 
 	.show-income1-btn {
-		width: 200rpx;
+		width: auto;
+		padding: 0 40rpx;
 		text-align: center;
 		background-color: #F0D232;
 		border-radius: 15rpx;
@@ -531,7 +537,6 @@
 	}
 
 	.show-income2-text {
-		padding: 0 20rpx;
 		text-align: center;
 	}
 
@@ -549,7 +554,7 @@
 	.show-body1-text1 {
 		display: flex;
 		justify-content: flex-start;
-		margin-left: 20rpx;
+		margin-left: 40rpx;
 		// margin-right: 480rpx;
 	}
 

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

@@ -245,7 +245,7 @@
 				console.log('ceshiChooseSuccess', tempFilePaths, e);
 				if (e == 0) {
 					this.store = 'talent_upload/' + this.guid() + '.png'
-					// this.store = 'talent_upload/icon-warning.png'
+					// this.store = 'talent_upload/guide.png'
 				} else if (e == 1) {
 					this.store = 'talent_upload/' + this.guid() + '.mp4'
 				}
@@ -296,7 +296,6 @@
 						console.log(res.statusCode); //打印响应状态码
 						if (res.statusCode == '204') {
 							that.imageData.push(config.EndPoint + '/' + fileName);
-							console.log('上传图片成功', res)
 							let obs_url = config.EndPoint + '/' + fileName; //用你自己的 bucket 名替换星号
 							console.log(obs_url)
 							that.formData.home_img = obs_url
@@ -305,7 +304,6 @@
 								icon: '成功'
 							});
 						} else {
-							console.log('上传图片失败', res)
 							uni.showToast({
 								title: '上传失败',
 								icon: '失败'

+ 35 - 31
pages/mycenter/myinformation/mybank.vue

@@ -23,10 +23,14 @@
 						</uni-easyinput>
 					</uni-forms-item>
 					<uni-forms-item name="bank" required label="银行">
+						<uni-easyinput type="text" :inputBorder="false" v-model="formData.bank" placeholder="请填写银行">
+						</uni-easyinput>
+					</uni-forms-item>
+					<!-- <uni-forms-item name="bank" required label="银行">
 						<picker @change="bindPickerChange1" :value="index1" :range="array1" range-key="name">
 							<view>{{ array1[index1].name }}</view>
 						</picker>
-					</uni-forms-item>
+					</uni-forms-item> -->
 					<uni-forms-item name="vregion" required label="开户地">
 						<picker class="picker" mode="multiSelector" :range="region" range-key="name"
 							:value="regionIndex" @change="pickerChange" @columnchange="pickerColumnchange">
@@ -48,8 +52,8 @@
 				<button class="btn1" @click="submitForm()">保存</button>
 			</view>
 			<view style="margin: 30rpx;padding: 30rpx 10rpx;background-color: #eaeaea;border-radius: 5rpx;">
-				<p style="color: #878994;font-size: 24rpx;">*提现需绑定用户个人名下真实使用的银行卡与身份等信息</p>
-				<p style="color: #878994;font-size: 24rpx;">*平台严格按照《用户协议》《隐私政策》保护个人隐私</p>
+				<p style="color: #878994;font-size: 24rpx;">*提现需绑定个人名下真实使用的银行卡与身份等信息</p>
+				<p style="color: #878994;font-size: 24rpx;">*平台严格按照《用户协议》《隐私政策》保护个人隐私</p>
 			</view>
 		</view>
 	</view>
@@ -69,7 +73,7 @@
 				formData: {
 					name: '',
 					phone: '',
-					bank_id: '',
+					bank: '',
 					bank_card_number: '',
 					bank_open_address: '',
 					bank_card_id: '',
@@ -87,16 +91,16 @@
 				regionIndex: [0, 0, 0],
 				// 省市区字符串
 				regionStr: '请选择省市区',
-				array1: [{
-					name: '请选择',
-					id: 0
-				}, {
-					name: '中国农业银行',
-					id: 1
-				}, {
-					name: '中国工商银行',
-					id: 2
-				}],
+				// array1: [{
+				// 	name: '请选择',
+				// 	id: 0
+				// }, {
+				// 	name: '中国农业银行',
+				// 	id: 1
+				// }, {
+				// 	name: '中国工商银行',
+				// 	id: 2
+				// }],
 				mysNavConfig: {
 					/* 开启单页显示首页图标 */
 					isHome: true,
@@ -124,7 +128,8 @@
 			}
 		},
 		onShow() {
-			this.getInfo();
+			// this.getInfo();
+			this.getBankInfo();
 			this.initRegion();
 		},
 		methods: {
@@ -151,14 +156,13 @@
 				})
 				this.$set(this.region, 2, countyArr);
 			},
-			// 默认信息表,获取平台logo
-			getInfo() {
-				this.$https.get('/youngee/c/g/get-info-tables')
-					.then(res => {
-						this.array1 = res.data.data.Bank
-					})
-				this.getBankInfo()
-			},
+			// // 默认信息表,获取平台logo
+			// getInfo() {
+			// 	this.$https.get('/youngee/c/g/get-info-tables')
+			// 		.then(res => {
+			// 			this.array1 = res.data.data.Bank
+			// 		})
+			// },
 			getBankInfo() {
 				this.$https.get('/youngee/c/t/g/get-talent-bank-info')
 					.then(res => {
@@ -209,9 +213,9 @@
 						.formData.bank_card_number.length != 17 && this.formData.bank_card_number.length != 19)) {
 					f1 = false;
 					message1 = "请输入正确的银行卡号"
-				} else if (this.formData.bank_id == 0) {
+				} else if (this.formData.bank == "") {
 					f1 = false;
-					message1 = "请选择银行"
+					message1 = "请输入正确的银行"
 				} else if (this.formData.bank_open_address == "") {
 					f1 = false;
 					message1 = "请选择开户地"
@@ -247,12 +251,12 @@
 				}
 
 			},
-			bindPickerChange1: function(e) {
-				console.log(e)
-				this.index1 = e.detail.value;
-				this.formData.bank_id = this.array1[this.index1].id
-				console.log(this.formData.bank_id)
-			},
+			// bindPickerChange1: function(e) {
+			// 	console.log(e)
+			// 	this.index1 = e.detail.value;
+			// 	this.formData.bank_id = this.array1[this.index1].id
+			// 	console.log(this.formData.bank_id)
+			// },
 
 			//城市选择
 			pickerChange(e) {

+ 4 - 4
pages/mycenter/mytask/mytask.vue

@@ -19,7 +19,7 @@
 			</view>
 		</view>
 
-		<view class="home" v-if="tab == 'all' && !loading"  style="margin-top: 100rpx;">
+		<view class="home" v-if="tab == 'all' && !loading" style="padding-top: 100rpx;">
 			<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">
+		<view class="home" v-if="tab == 'apply' && !loading" style="padding-top: 100rpx;">
 			<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">
+		<view class="home" v-if="tab == 'execute' && !loading" style="padding-top: 100rpx;">
 			<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">
+		<view class="home" v-if="tab == 'end' && !loading" style="padding-top: 100rpx;">
 			<view class="task" v-for="item in endList">
 				<view @click="toDetail(item)">
 					<view class="task-head">

+ 4 - 62
pages/tasksquare/bindinfo.vue

@@ -5,8 +5,7 @@
 		<view :style="{marginTop:navH}"></view>
 		<view class="home">
 			<view style="margin: 0 20rpx;">
-				<uni-forms :rules="rules" :value="formData" ref="form" validate-trigger="bind"
-					err-show-type="undertext">
+				<uni-forms :value="formData" ref="form" validate-trigger="bind" err-show-type="undertext">
 					<view class="title">
 						<p>个人资料</p>
 					</view>
@@ -191,62 +190,6 @@
 				}],
 				data: {},
 				show: false,
-				rules: {
-					phone: {
-						rules: [{
-							required: true,
-							errorMessage: '请输入联系电话'
-						}, ]
-					},
-					detailregion: {
-						rules: [{
-							required: true,
-							errorMessage: '请输入详细地址'
-						}, ]
-					},
-					name: {
-						rules: [{
-							required: true,
-							errorMessage: '请输入收件人'
-						}, ]
-					},
-					tel: {
-						rules: [{
-							required: true,
-							errorMessage: '请输入联系电话',
-						}, ]
-					},
-					fregion: {
-						rules: [{
-							required: true,
-							errorMessage: '请选择所在地区'
-						}, ]
-					},
-					nickname: {
-						rules: [{
-							required: true,
-							errorMessage: '请输入昵称'
-						}, ]
-					},
-					numberfans: {
-						rules: [{
-							required: true,
-							errorMessage: '请输入粉丝数'
-						}, ]
-					},
-					home_link: {
-						rules: [{
-							required: true,
-							errorMessage: '请输入主页链接'
-						}, ]
-					},
-					home_img: {
-						rules: [{
-							required: true,
-							errorMessage: '请选择主页截图'
-						}, ]
-					},
-				},
 
 				mysNavConfig: {
 					/* 开启单页显示首页图标 */
@@ -274,9 +217,7 @@
 				},
 			}
 		},
-		onReady() {
-			this.$refs.form.setRules(this.rules)
-		},
+		onReady() {},
 		onShow() {
 			this.initRegion()
 			this.getDefaultAddress()
@@ -375,7 +316,8 @@
 								this.regionStr = a + ' ' + b + ' ' + c
 								this.formData.visitStoreRegion = res.data.data.visit_store_region
 							}
-							this.formData.phone = res.data.data.talent_phone_number
+							this.formData.phone = res.data.data.is_bind_info === 1 ? res.data.data
+								.talent_phone_number : this.formData.phone
 						}
 					})
 			},

+ 3 - 2
pages/tasksquare/cooperation.vue

@@ -22,9 +22,10 @@
 			return {
 				navH: getApp().globalData.navHeight,
 				picture: {
-					guide: 'https://horastar.obs.cn-east-3.myhuaweicloud.com/talent/cooperation/guide.png',
-					coop: 'https://horastar.obs.cn-east-3.myhuaweicloud.com/talent/cooperation/coop.png'
+					guide: 'https://horastar.obs.cn-east-3.myhuaweicloud.com/talent_upload/home/guide.png',
+					coop: 'https://horastar.obs.cn-east-3.myhuaweicloud.com/talent_upload/home/coop.png'
 				},
+
 				mysNavConfig: {
 					/* 占位开启  */
 					// navPadding: true,

+ 2 - 2
pages/tasksquare/guide.vue

@@ -22,8 +22,8 @@
 			return {
 				navH: getApp().globalData.navHeight,
 				picture: {
-					guide: 'https://horastar.obs.cn-east-3.myhuaweicloud.com/talent/cooperation/guide.png',
-					coop: 'https://horastar.obs.cn-east-3.myhuaweicloud.com/talent/cooperation/coop.png'
+					guide: 'https://horastar.obs.cn-east-3.myhuaweicloud.com/talent_upload/home/guide.png',
+					coop: 'https://horastar.obs.cn-east-3.myhuaweicloud.com/talent_upload/home/coop.png'
 				},
 
 				mysNavConfig: {

+ 7 - 11
pages/tasksquare/information.vue

@@ -7,7 +7,7 @@
 			<image :src="mainImg" style="width: 150rpx;height: 150rpx;" mode="">
 			</image>
 			<view class="basicInfo_txt">
-				<p style="margin-bottom: 10rpx;font-size: 35rpx;font-weight: 550;">{{project.project_name}}</p>
+				<p style="margin-bottom: 10rpx;font-size: 35rpx;">{{project.project_name}}</p>
 				<p style="font-size: 30rpx;">商品价值:{{project.Product.ProductPrice}}元</p>
 			</view>
 		</view>
@@ -31,9 +31,9 @@
 		</view>
 
 		<view class="keyInfo">
-			<p style="margin-bottom: 30rpx;font-size: 36rpx;font-weight: 600">关键任务信息</p>
-			<p style="font-weight: 600;margin-top: 10rpx;">合作方式</p>
-			<view style="display: flex;font-weight: 500;padding-top: 10rpx;">
+			<p style="margin-bottom: 30rpx;font-size: 36rpx;">关键任务信息</p>
+			<p style="margin-top: 10rpx;">合作方式</p>
+			<view style="display: flex;padding-top: 10rpx;">
 				<p>粉丝量{{strategy.show_followers_low}}-{{strategy.show_followers_up}}
 					&nbsp;&nbsp;
 					稿费-{{strategy.fee_form_t}}
@@ -43,12 +43,12 @@
 				</view>
 			</view>
 			<view style="border-bottom: #dfdfdf 1px solid;margin: 10rpx 0 0;"></view>
-			<p style="font-weight: 600;margin-top: 10rpx;">社媒平台</p>
-			<view style="display: flex;font-weight: 500;padding-top: 10rpx;">
+			<p style="margin-top: 10rpx;">社媒平台</p>
+			<view style="display: flex;padding-top: 10rpx;">
 				<p>{{project.PlatformInfo.platform_name}}</p>
 			</view>
 			<view style="border-bottom: #dfdfdf 1px solid;margin: 10rpx 0 0;"></view>
-			<p style="font-weight: 600;margin-top: 10rpx;">任务要求</p>
+			<p style="margin-top: 10rpx;">任务要求</p>
 			<view class="keyInfo_task">
 				<view style="display: flex;align-items: center;margin: 5rpx 0;">
 					<p>内容形式:</p>
@@ -341,7 +341,6 @@
 		.ipon {
 			color: #333333;
 			font-size: 30rpx;
-			font-weight: 500;
 			margin-bottom: 10rpx;
 		}
 	}
@@ -361,7 +360,6 @@
 	}
 
 	.keyInfo h3 {
-		font-weight: 600;
 	}
 
 	.keyInfo p {
@@ -399,7 +397,6 @@
 		.account_fans p {
 			display: inline-block;
 			color: #333333;
-			font-weight: 550;
 		}
 
 		.account_btn {}
@@ -428,7 +425,6 @@
 			font-size: 36rpx;
 			line-height: 200%;
 			letter-spacing: 10rpx;
-			font-weight: 500;
 			height: 80%;
 		}
 

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

@@ -7,7 +7,7 @@
 			<image :src="mainImg" style="width: 150rpx;height: 150rpx;" mode="">
 			</image>
 			<view class="basicInfo_txt">
-				<p style="margin-bottom: 10rpx;font-size: 35rpx;font-weight: 550;">{{project.project_name}}</p>
+				<p style="margin-bottom: 10rpx;font-size: 35rpx;">{{project.project_name}}</p>
 				<p style="font-size: 30rpx;">商品价值:{{project.Product.ProductPrice}}</p>
 			</view>
 		</view>
@@ -33,10 +33,10 @@
 		<view class="keyInfo">
 			<h3>关键任务信息</h3>
 			<view style="display: flex;margin-top: 10rpx;">
-				<p style="font-weight: 600;">社媒平台:</p>
+				<p style="">社媒平台:</p>
 				<p>{{project.project_platform_t}}</p>
 			</view>
-			<p style="font-weight: 600;margin-top: 10rpx;">任务要求</p>
+			<p style="margin-top: 10rpx;">任务要求</p>
 			<view class="keyInfo_task">
 				<view style="display: flex;align-items: center;margin: 5rpx 0;">
 					<p>内容形式:</p>
@@ -232,7 +232,6 @@
 		.ipon {
 			color: #333333;
 			font-size: 30rpx;
-			font-weight: 500;
 			margin-bottom: 10rpx;
 		}
 	}
@@ -252,7 +251,6 @@
 	}
 
 	.keyInfo h3 {
-		font-weight: 600;
 	}
 
 	.keyInfo p {
@@ -290,7 +288,6 @@
 		.account_fans p {
 			display: inline-block;
 			color: #333333;
-			font-weight: 550;
 		}
 
 		.account_btn {}
@@ -319,7 +316,6 @@
 			font-size: 36rpx;
 			line-height: 200%;
 			letter-spacing: 10rpx;
-			font-weight: 500;
 			height: 80%;
 		}
 

+ 30 - 25
pages/tasksquare/specialTask/specialTaskDetail.vue

@@ -86,6 +86,9 @@
 							<p>任务详情图</p>
 						</view>
 						<view class="markcontent1">
+							<view class="diagram" style="font-size: 30rpx;margin: 0 30rpx;" v-if="hasNoProjectPhoto">
+								<p>暂无详情说明</p>
+							</view>
 							<view class="diagram" v-for="item in information.ProjectPhoto">
 								<image :src="item.photo_url" mode="widthFix"></image>
 							</view>
@@ -176,7 +179,7 @@
 		showToast,
 		downloadFile
 	} from '@/uni_modules/sakura-canvas/js_sdk/util'
-	export default {	
+	export default {
 		filters: {
 			ellipsis(value) {
 				if (!value) return "";
@@ -193,6 +196,7 @@
 		},
 		data() {
 			return {
+				hasNoProjectPhoto: false,
 				icon_copy: 'https://horastar.obs.cn-east-3.myhuaweicloud.com/talent_upload/icon-copy.png',
 				navH: getApp().globalData.navHeight,
 				canvasUrl: '',
@@ -402,24 +406,24 @@
 			};
 		},
 		onShareAppMessage(res) {
-		    return {
-		        title:this.share.title,
-		        path:'/pages/tasksquare/specialTask/specialTaskDetail?id=' + this.projectid,
-		        imageUrl:'',
-		        desc:'',
-		        content:'',
-		        success(res){
-		            uni.showToast({
-		                title:'分享成功'
-		            })
-		        },
-		        fail(res){
-		            uni.showToast({
-		                title:'分享失败',
-		                icon:'none'
-		            })
-		        }
-		    }
+			return {
+				title: this.share.title,
+				path: '/pages/tasksquare/specialTask/specialTaskDetail?id=' + this.projectid,
+				imageUrl: this.share.imageUrl,
+				desc: '',
+				content: '',
+				success(res) {
+					uni.showToast({
+						title: '分享成功'
+					})
+				},
+				fail(res) {
+					uni.showToast({
+						title: '分享失败',
+						icon: 'none'
+					})
+				}
+			}
 		},
 		computed: {
 			lists: {
@@ -593,7 +597,7 @@
 					this.projectid
 				).then(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);
 					console.log("Product: ", this.information.Product)
@@ -854,7 +858,7 @@
 				let res = await saveImageToPhotosAlbum(canvasUrl)
 				if (!res.success) return
 				showToast('保存成功')
-				// this.$refs.popup2.close()
+				this.$refs.popup2.close()
 			},
 			toggle2(type) {
 				if (this.canvasUrl !== '') {
@@ -890,7 +894,7 @@
 </style>
 <style lang="scss" scoped>
 	text {
-		font-size: 28rpx;
+		font-size: 24rpx;
 	}
 
 	#coop_box {
@@ -902,7 +906,7 @@
 		display: flex;
 		justify-content: center;
 		align-items: center;
-		width: 700rpx;
+		// width: 700rpx;
 		// height: 50rpx;
 		border: 2px solid #f9f9f9;
 		border-radius: 15rpx;
@@ -958,7 +962,8 @@
 	}
 
 	.butmin {
-		width: 30%;
+		width: 200rpx;
+		height: 65rpx;
 		background-color: #f2d22d;
 		border-radius: 20rpx;
 		font-size: 36rpx;
@@ -1318,7 +1323,7 @@
 		font-size: 24rpx;
 		// color: #333333;
 		// margin: 3% ;
-		text-indent: 2em;
+		// text-indent: 2em;
 	}
 
 	.trademark {

+ 4 - 3
pages/tasksquare/success.vue

@@ -241,16 +241,17 @@
 	}
 
 	.but1 {
-		width: 120%;
+		width: 250rpx;
+		height: 70rpx;
 		text-align: center;
 		background-color: #f3d500;
 		border-radius: 10rpx;
 		color: #000;
-		font-size: 28rpx;
+		font-size: 32rpx;
 		line-height: 200%;
 		justify-content: center;
 		font-weight: 500;
-		height: 80%;
+		// height: 80%;
 	}
 
 	.Tasktext {

+ 51 - 29
pages/tasksquare/taskdetail.vue

@@ -59,7 +59,12 @@
 						</view>
 						<view style="display: flex;;margin: 10rpx 0;">
 							<p class="label">商品链接:</p>
-							<span style="display: flex;align-items: center;">
+							<span style="display: flex;align-items: center;"
+								v-if="information.Product.ProductUrl === ''">
+								<p class="wvp" style="padding: 0;">无</p>
+							</span>
+							<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;"
 									@click="handleCopy(information.Product.ProductUrl)" />
@@ -123,7 +128,7 @@
 						</view>
 						<view class="markcontent1">
 							<view class="diagram" style="font-size: 30rpx;margin: 0 30rpx;" v-if="hasNoProjectPhoto">
-								暂无详情说明
+								<p>暂无详情说明</p>
 							</view>
 							<view class="diagram" v-for="item in information.ProjectPhoto">
 								<image :src="item.photo_url" mode="widthFix"></image>
@@ -151,7 +156,8 @@
 					<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% ;" mode="">
+								<image :src="img" style="width: 250rpx;height: 235rpx;margin-top: -9%;margin-left: -3%;"
+									mode="">
 								</image>
 								<view class="samplecharacter">
 									<p>{{information.project_name}}</p>
@@ -160,21 +166,21 @@
 							<!-- 商品价值及任务形式 -->
 							<view
 								style="display: flex;align-items: center;justify-content: space-between;margin-bottom: 50rpx;">
-								<view style="margin-left: 20rpx;font-size: 30rpx;">
+								<view style="font-size: 30rpx;">
 									<p>商品价值:{{information.Product.ProductPrice}}RMB</p>
 								</view>
 								<view style="margin-right: 20rpx;font-size: 30rpx;">
 									<p>任务形式:{{information.project_form}}</p>
 								</view>
 							</view>
-							<view class="" style="margin-left: 3% ;">
+							<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-left: 3% ;margin-bottom: 50rpx; ">
+							<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"
@@ -189,12 +195,13 @@
 										<view class="coop_box_btn"
 											:class="strategy_id===item.strategy_id?'borderColor':''"
 											@click="handleCoopClick(item)">
-											<p>粉丝量{{item.show_followers_low}}-{{item.show_followers_up}}
-												稿费-{{item.fee_form_t}}
-											</p>
-											<view v-if="item.fee_form===3">
-												<input class="offer_input" type="digit" placeholder="0.0"
-													v-model="item.offer" />
+											<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="digit" placeholder="0.0"
+														v-model="item.offer" />
+												</view>
 											</view>
 										</view>
 
@@ -282,7 +289,7 @@
 		showToast,
 		downloadFile
 	} from '@/uni_modules/sakura-canvas/js_sdk/util'
-	export default {		
+	export default {
 		filters: {
 			ellipsis(value) {
 				if (!value) return "";
@@ -499,7 +506,7 @@
 			return {
 				title: this.share.title,
 				path: 'pages/tasksquare/taskdetail?id=' + this.projectid,
-				imageUrl: '',
+				imageUrl: this.share.imageUrl,
 				desc: '',
 				content: '',
 				success(res) {
@@ -902,8 +909,7 @@
 			},
 			toggle(type) {
 				let that = this
-				if (that.talent.is_bind_info === 0 || that.talent.is_bind_location === 0 ||
-					that.account.length === 0) {
+				if (that.talent.is_bind_info === 0 || that.talent.is_bind_location === 0) {
 					// 前往个人信息绑定三合一界面
 					uni.showModal({
 						content: '请先绑定个人信息',
@@ -927,6 +933,20 @@
 							}
 						}
 					});
+				} 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属性
@@ -1023,7 +1043,7 @@
 				let res = await saveImageToPhotosAlbum(canvasUrl)
 				if (!res.success) return
 				showToast('保存成功')
-				// this.$refs.popup2.close()
+				this.$refs.popup2.close()
 			},
 			toggle2(type) {
 				if (this.canvasUrl !== '') {
@@ -1059,7 +1079,7 @@
 </style>
 <style lang="scss" scoped>
 	text {
-		font-size: 28rpx;
+		font-size: 24rpx;
 	}
 
 	#coop_box {
@@ -1069,9 +1089,10 @@
 
 	#coop_box .coop_box_btn {
 		display: flex;
+		flex-direction: column;
 		justify-content: center;
 		align-items: center;
-		width: 700rpx;
+		// width: 700rpx;
 		background-color: #f4f4f4;
 		border-radius: 15rpx;
 		font-size: 30rpx;
@@ -1086,7 +1107,7 @@
 	}
 
 	.offer_input {
-		width: 50rpx;
+		width: 120rpx;
 		border: 1px solid #cccccc;
 	}
 
@@ -1121,7 +1142,8 @@
 	}
 
 	.butmin {
-		width: 120%;
+		width: 200rpx;
+		height: 65rpx;
 		background-color: #f2d22d;
 		border-radius: 20rpx;
 		font-size: 36rpx;
@@ -1473,7 +1495,7 @@
 		font-size: 24rpx;
 		// color: #333333;
 		// margin: 3% ;
-		text-indent: 2em;
+		// text-indent: 2em;
 	}
 
 	.trademark {
@@ -1604,21 +1626,21 @@
 	}
 
 	/deep/ .mini-btn1 {
-		height: 70rpx;
-		width: 250rpx;
+		height: 75rpx;
+		width: 270rpx;
 		line-height: 70rpx;
-		margin: 10rpx;
-		font-size: 60%;
+		margin: 10rpx 0;
+		font-size: 30rpx;
 		// box-shadow: 0rpx 0rpx 0rpx 5rpx #f2d22d;
 		border: 1rpx solid #f2d22d !important;
 	}
 
 	/deep/ .mini-btn2 {
-		height: 70rpx;
+		height: 75rpx;
 		width: 350rpx;
 		line-height: 70rpx;
-		margin: 10rpx;
-		font-size: 60%;
+		margin: 10rpx 0;
+		font-size: 30rpx;
 		background-color: #f2d22d;
 		// box-shadow: 0rpx 0rpx 0rpx 5rpx #f2d22d;
 	}

+ 1 - 1
pages/workspace/applyInformation.vue

@@ -97,7 +97,7 @@
 
 		.ac-photo {
 			display: flex;
-			align-items: center;
+			// align-items: center;
 			margin: 20rpx;
 
 			.ac-photo-img {

+ 1 - 1
pages/workspace/datarecord.vue

@@ -26,7 +26,7 @@
 				<!-- 图片 -->
 
 				<view style="margin-top: 10rpx;">
-					<p>小眼睛截图</p>
+					<p>小眼睛阅读数/播放量截图</p>
 					<image :src="item.photo_url" mode="aspectFit"></image>
 				</view>
 			</view>

+ 5 - 1
pages/workspace/deliveryInformation.vue

@@ -34,7 +34,11 @@
 		</view>
 
 		<view v-if="projectForm == 2" style="margin: 0 10%;">
-			<p>券码信息:{{logistics.coupon_code_information}}</p>
+			<span style="display: flex;align-items: center;">
+				<p>券码信息:{{logistics.coupon_code_information}}</p>
+				<image :src="icon_copy" mode="" style="width: 40rpx;height: 40rpx;"
+					@click="handleCopy(logistics.coupon_code_information)" />
+			</span>
 		</view>
 
 		<view v-if="projectForm == 3" style="margin: 0 10%;">

+ 41 - 37
pages/workspace/taskdetail.vue

@@ -9,7 +9,7 @@
 			<view style="padding-bottom: 30rpx;margin: 0 30rpx">
 				<view style="display: flex;justify-content: center;font-size: 44rpx;padding-bottom: 20rpx;">
 					<p>{{msg1}}</p>
-					<view class="upload-btn" v-if="isShowUpload" @click="toUpload()">
+					<view class="upload-btn" v-if="isShowUpload" @click="toUpload()" key="0">
 						<image src="../../static/img/icon-upload.png" style="height: 40rpx;width: 40rpx;"></image>
 						<p style="font-size: 28rpx;">快速上传</p>
 					</view>
@@ -23,16 +23,18 @@
 				</view>
 			</view>
 
-			<view style="display: flex;justify-content: center;align-items: center;" v-if="isShowUpload && !isSpecial && !isTimeOut">
+			<view style="display: flex;justify-content: center;align-items: center;"
+				v-if="isShowUpload && !isSpecial && !isTimeOut" key="1">
 				<image style="height: 60rpx;width: 60rpx;" src="../../static/img/icon-time.png"></image>
 				<p style="font-size: 30rpx;color: #f2d241;">剩余时间:{{timeLeft}}</p>
 			</view>
 
-			<view style="display: flex;justify-content: center;align-items: center;" v-if="isShowUpload && !isSpecial && isTimeOut">
+			<view style="display: flex;justify-content: center;align-items: center;"
+				v-if="isShowUpload && !isSpecial && isTimeOut" key="2">
 				<image style="height: 60rpx;width: 60rpx;" src="../../static/img/icon-time2.png"></image>
 				<p style="font-size: 30rpx;color: #f70c0c;">超时:{{timeLeft}}</p>
 			</view>
-			
+
 			<view class="address" v-if="!isSpecial">
 				<view class="address_icon">
 					<image style="width: 50rpx;height: 50rpx;" :src="picture.icon_loc" mode="">
@@ -55,17 +57,17 @@
 				<image :src="product.PhotoUrl" style="width: 150rpx;height: 150rpx;" mode="">
 				</image>
 				<view class="basicInfo_txt">
-					<p style="margin-bottom: 10rpx;font-size: 35rpx;font-weight: 550;">{{project.project_name}}</p>
-					<p style="font-size: 30rpx;">商品价值:{{project.Product.ProductPrice}}元</p>
+					<p style="margin-bottom: 10rpx;font-size: 35rpx;">{{project.project_name}}</p>
+					<p style="font-size: 30rpx;">商品价值:{{project.Product.showProductPrice}}元</p>
 				</view>
 			</view>
 
 			<view class="keyInfo">
 				<view style="margin-bottom: 40rpx;">
-					<p style="font-size: 36rpx;font-weight: 550;">关键任务信息</p>
+					<p style="font-size: 36rpx;">关键任务信息</p>
 				</view>
 				<view v-if="!isSpecial">
-					<p style="font-weight: 600;margin-bottom: 10rpx;">合作方式</p>
+					<p style="margin-bottom: 10rpx;">合作方式</p>
 					<p>粉丝量:{{strategy.show_followers_low}}-{{strategy.show_followers_up}}
 						&nbsp;&nbsp;
 						稿费:{{strategy.fee_form_t}}
@@ -75,13 +77,13 @@
 				<view class="line"></view>
 
 				<view style="margin-top: 20rpx;margin-bottom: 10rpx;">
-					<p style="font-weight: 600;margin-bottom: 10rpx;">社媒平台:</p>
+					<p style="margin-bottom: 10rpx;">社媒平台:</p>
 					<p>{{project.project_platform_t}}</p>
 				</view>
 
 				<view class="line"></view>
 
-				<p style="font-weight: 600;margin-top: 10rpx;">任务要求</p>
+				<p style="margin-top: 10rpx;">任务要求</p>
 				<view class="keyInfo_task">
 					<view style="display: flex;align-items: center;margin: 10rpx 0;">
 						<p>内容形式:</p>
@@ -103,7 +105,7 @@
 			</view>
 
 			<view class="task-progress">
-				<p style="font-size: 32rpx;font-weight: 600;">任务进度</p>
+				<p style="font-size: 32rpx;">任务进度</p>
 				<view class="task-progress-card" v-bind:style="task.task_stage == 1 ? 'background-color: #f2d241' : ''">
 					<view class="tpc-txt1">
 						<p>报名信息</p>
@@ -114,7 +116,7 @@
 					</view>
 				</view>
 				<view class="task-progress-card"
-					v-if="(task.task_stage >= 5 && task.task_stage <= 15) || ((task.task_stage === 16 || task.task_stage === 3) && task.logistics_status >= 2)"
+					v-if="(task.task_stage >= 5 && task.task_stage <= 15) || ((task.task_stage === 16 || task.task_stage === 3) && task.logistics_status >= 2) && !isSpecial"
 					v-bind:style="task.task_stage >= 5 && task.task_stage <= 6 ? 'background-color: #f2d241' : ''">
 					<view class="tpc-txt1">
 						<p>物流信息</p>
@@ -236,7 +238,7 @@
 					<view class="tpc-txt1">
 						<p>已结案</p>
 					</view>
-					<view class="tpc-txt2" @click="toWithdraw()">
+					<view class="tpc-txt2" @click="toWithdraw()" v-if="!isSpecial">
 						<p>前往提现</p>
 						<image class="tpc-icon" :src="picture.icon_right"></image>
 					</view>
@@ -262,14 +264,13 @@
 			</view>
 
 			<view class="block"></view>
-			<view class="submit" v-if="task.task_stage >= 7 && task.task_stage <= 14">
+			<!-- <view class="submit" v-if="task.task_stage >= 7 && task.task_stage <= 14">
 				<button type="default" class="submit_btn" @click="submit()" :disabled="isNotShowSubmit"
 					v-bind:style="isNotShowSubmit ? '' : 'background-color: #f2d241'">
 					确认提交</button>
-			</view>
-			<view class="submit" v-if="task.task_stage === 15">
-				<button type="default" class="submit_btn" @click="toWithdraw()"
-					v-bind:style="isNotShowSubmit ? '' : 'background-color: #f2d241'">
+			</view> -->
+			<view class="submit" v-if="task.task_stage === 15 && !isSpecial">
+				<button type="default" class="submit_btn" @click="toWithdraw()">
 					前往提现</button>
 			</view>
 		</view>
@@ -280,7 +281,8 @@
 	import region from '@/components/pca-code.json';
 	import mvBar from "@/components/mys_navBar/mysNavBar";
 	import {
-		fansview
+		fansview,
+		money
 	} from '@/components/utils.js';
 	export default {
 		components: {
@@ -522,7 +524,8 @@
 									})
 								for (let i = 0; i < scriptList.length; ++i) {
 									if (scriptList[i].is_ok === 1) {
-										if (scriptList[i].auto_sketch_break_at !== null && scriptList[i].auto_sketch_break_at !== "") {
+										if (scriptList[i].auto_sketch_break_at !== null && scriptList[i]
+											.auto_sketch_break_at !== "") {
 											this.timeLeft = this.thistime(scriptList[i].auto_sketch_break_at)
 										} else {
 											// 为初稿违约限制时间赋值并返回
@@ -536,7 +539,7 @@
 									}
 								}
 							}
-						} else if (this.task.sketch_status === 3 || this.task.sketch_status === 4){ //修改
+						} else if (this.task.sketch_status === 3 || this.task.sketch_status === 4) { //修改
 							let sketchList = null;
 							let sketch = null;
 							await this.$https.get('/youngee/c/t/g/get-task-sketch' +
@@ -581,7 +584,8 @@
 								})
 							for (let i = 0; i < sketchList.length; ++i) {
 								if (sketchList[i].is_ok === 1) {
-									if (sketchList[i].auto_link_break_at !== null && sketchList[i].auto_link_break_at !== "") {
+									if (sketchList[i].auto_link_break_at !== null && sketchList[i]
+										.auto_link_break_at !== "") {
 										this.timeLeft = this.thistime(sketchList[i].auto_link_break_at)
 									} else {
 										// 为链接违约限制时间赋值并返回
@@ -594,7 +598,7 @@
 									}
 								}
 							}
-						} else if(this.task.link_status === 3 || this.task.link_status === 4){
+						} else if (this.task.link_status === 3 || this.task.link_status === 4) {
 							let linkList = null;
 							let link = null;
 							await this.$https.get('/youngee/c/t/g/get-task-link' +
@@ -639,7 +643,8 @@
 
 							for (let i = 0; i < linkList.length; ++i) {
 								if (linkList[i].is_ok === 1) {
-									if (linkList[i].auto_data_break_at !== null && linkList[i].auto_data_break_at !== "") {
+									if (linkList[i].auto_data_break_at !== null && linkList[i].auto_data_break_at !==
+										"") {
 										this.timeLeft = this.thistime(linkList[i].auto_data_break_at)
 									} else {
 										// 为数据违约限制时间赋值并返回
@@ -652,7 +657,7 @@
 									}
 								}
 							}
-						} else if (this.task.data_status === 3 || this.task.data_status === 4){
+						} else if (this.task.data_status === 3 || this.task.data_status === 4) {
 							let dataList = null;
 							let data = null;
 							await this.$https.get('/youngee/c/t/g/get-task-data' +
@@ -725,6 +730,8 @@
 
 					this.project = res.data.data.project_detail
 					this.project.Product = JSON.parse(res.data.data.project_detail.product_snap);
+					this.project.Product.showProductPrice = money(this.project.Product.ProductPrice)
+					
 					let ProductPhoto = JSON.parse(res.data.data.project_detail.product_photo_snap);
 					for (let j = 0; j < ProductPhoto.length; ++j) {
 						if (ProductPhoto[j].Symbol == 1) {
@@ -767,6 +774,8 @@
 					if (this.task.task_stage == 7 || this.task.task_stage == 9 || this.task.task_stage == 11 ||
 						this.task.task_stage == 13) {
 						this.isShowUpload = true
+					} else {
+						this.isShowUpload = false
 					}
 
 					// 判断确认提交按钮是否可用
@@ -797,7 +806,7 @@
 				})
 			},
 			toUpload() {
-				if (this.task.task_stage == 7) { // 上传脚本
+				if (this.task.task_stage == 7 || this.task.task_stage == 8) { // 上传脚本
 					var data = {
 						taskId: this.task.task_id,
 						scriptStatus: this.task.script_status
@@ -806,7 +815,7 @@
 					uni.navigateTo({
 						url: '/pages/workspace/uploadscript?textObj=' + encodeURIComponent(data)
 					});
-				} else if (this.task.task_stage == 9) { // 上传初稿
+				} else if (this.task.task_stage == 9 || this.task.task_stage == 10) { // 上传初稿
 					var data = {
 						taskId: this.task.task_id,
 						sketchStatus: this.task.sketch_status
@@ -815,7 +824,7 @@
 					uni.navigateTo({
 						url: '/pages/workspace/uploadsketch?textObj=' + encodeURIComponent(data)
 					});
-				} else if (this.task.task_stage == 11) { // 上传链接
+				} else if (this.task.task_stage == 11 || this.task.task_stage == 12) { // 上传链接
 					var data = {
 						taskId: this.task.task_id,
 						linkStatus: this.task.link_status
@@ -824,7 +833,7 @@
 					uni.navigateTo({
 						url: '/pages/workspace/uploadlink?textObj=' + encodeURIComponent(data)
 					});
-				} else if (this.task.task_stage == 13) { // 上传数据
+				} else if (this.task.task_stage == 13 || this.task.task_stage == 14) { // 上传数据
 					var data = {
 						taskId: this.task.task_id,
 						dataStatus: this.task.data_status
@@ -1080,7 +1089,6 @@
 		.ipon {
 			color: #333333;
 			font-size: 30rpx;
-			font-weight: 500;
 			margin-bottom: 10rpx;
 		}
 	}
@@ -1090,13 +1098,11 @@
 		background-color: #FFFFFF;
 
 		.keyInfo_task {
-			color: #999999;
+			// color: #999999;
 		}
 	}
 
-	.keyInfo h3 {
-		font-weight: 600;
-	}
+	.keyInfo h3 {}
 
 	.keyInfo p {
 		font-size: 30rpx;
@@ -1134,7 +1140,6 @@
 		.account_fans p {
 			display: inline-block;
 			color: #333333;
-			font-weight: 550;
 		}
 
 		.account_btn {}
@@ -1199,12 +1204,11 @@
 
 		.submit_btn {
 			width: 60%;
-			// background-color: #FCCF41;
+			background-color: #FCCF41;
 			border-radius: 20rpx;
 			font-size: 36rpx;
 			line-height: 200%;
 			letter-spacing: 10rpx;
-			font-weight: 500;
 			height: 80%;
 		}
 

+ 116 - 51
pages/workspace/uploaddata.vue

@@ -11,43 +11,70 @@
 				<p style="font-size: 30rpx;">查看修改/反馈记录</p>
 			</view>
 		</view>
+		<view v-if="!loading && !onlyShow">
+			<view style="margin: 40rpx;">
+				<uni-forms :modelValue="formData" validate-trigger="bind" err-show-type="undertext" label-width="150">
+					<uni-forms-item name="play_number" label="小眼睛阅读数/播放量">
+						<uni-easyinput type="digit" maxlength=10 :inputBorder="false" v-model="formData.play_number"
+							placeholder="输入">
+						</uni-easyinput>
+					</uni-forms-item>
+					<uni-forms-item name="like_number" label="点赞数">
+						<uni-easyinput type="digit" maxlength=10 :inputBorder="false" v-model="formData.like_number"
+							placeholder="输入">
+						</uni-easyinput>
+					</uni-forms-item>
+					<uni-forms-item name="collect_number" label="收藏数">
+						<uni-easyinput type="digit" maxlength=10 :inputBorder="false" v-model="formData.collect_number"
+							placeholder="输入">
+						</uni-easyinput>
+					</uni-forms-item>
+					<uni-forms-item name="comment_number" label="评论数">
+						<uni-easyinput type="digit" maxlength=10 :inputBorder="false" v-model="formData.comment_number"
+							placeholder="输入">
+						</uni-easyinput>
+					</uni-forms-item>
+				</uni-forms>
+			</view>
 
-		<view style="margin: 40rpx;">
-			<uni-forms :modelValue="formData" validate-trigger="bind" err-show-type="undertext"
-				label-width="150">
-				<uni-forms-item name="play_number" label="小眼睛阅读数/播放量">
-					<uni-easyinput type="digit" maxlength=10 :inputBorder="false" v-model="formData.play_number"
-						placeholder="输入">
-					</uni-easyinput>
-				</uni-forms-item>
-				<uni-forms-item name="like_number" label="点赞数">
-					<uni-easyinput type="digit" maxlength=10 :inputBorder="false" v-model="formData.like_number"
-						placeholder="输入">
-					</uni-easyinput>
-				</uni-forms-item>
-				<uni-forms-item name="collect_number" label="收藏数">
-					<uni-easyinput type="digit" maxlength=10 :inputBorder="false" v-model="formData.collect_number"
-						placeholder="输入">
-					</uni-easyinput>
-				</uni-forms-item>
-				<uni-forms-item name="comment_number" label="评论数">
-					<uni-easyinput type="digit" maxlength=10 :inputBorder="false" v-model="formData.comment_number"
-						placeholder="输入">
-					</uni-easyinput>
-				</uni-forms-item>
-			</uni-forms>
-		</view>
+			<view style="margin: 0 40rpx;">
+				<p style="margin-bottom: 20rpx;">上传小眼睛阅读数/播放量截图</p>
+				<htz-image-upload :max="1" mediaType="image" name="file" :chooseNum="1" v-model="imageData"
+					@chooseSuccess="ceshiChooseSuccess1">
+				</htz-image-upload>
+			</view>
 
-		<view style="margin: 0 40rpx;">
-			<p style="margin-bottom: 20rpx;">上传小眼睛阅读数/播放量截图</p>
-			<htz-image-upload :max="1" mediaType="image" name="file" :chooseNum="1" v-model="imageData"
-				@chooseSuccess="ceshiChooseSuccess1">
-			</htz-image-upload>
+			<view class="signup">
+				<button type="default" class="but1" :loading="loading" @click="submit()">
+					提交数据</button>
+			</view>
 		</view>
 
-		<view class="signup">
-			<button type="default" class="but1" :loading="loading" @click="submit()">
-				提交数据</button>
+		<view v-if="!loading && onlyShow">
+			<view style="margin: 20rpx;">
+				<view style="display: flex;margin-bottom: 10rpx;">
+					<view style="width: 400rpx;">小眼睛阅读数/播放量</view>
+					<view style="width: 100rpx;border: 1rpx;">{{formData.show_play_number}}</view>
+				</view>
+				<view style="display: flex;margin-bottom: 10rpx;">
+					<view style="width: 400rpx;">点赞数</view>
+					<view style="width: 100rpx;border: 1rpx;">{{formData.show_like_number}}</view>
+				</view>
+				<view style="display: flex;margin-bottom: 10rpx;">
+					<view style="width: 400rpx;">收藏数</view>
+					<view style="width: 100rpx;border: 1rpx;">{{formData.show_collect_number}}</view>
+				</view>
+				<view style="display: flex;margin-bottom: 10rpx;">
+					<view style="width: 400rpx;">评论数</view>
+					<view style="width: 100rpx;border: 1rpx;">{{formData.show_comment_number}}</view>
+				</view>
+				<!-- 图片 -->
+
+				<view style="margin-top: 10rpx;">
+					<p>小眼睛阅读数/播放量截图</p>
+					<image :src="imageData" mode="aspectFit"></image>
+				</view>
+			</view>
 		</view>
 	</view>
 </template>
@@ -57,6 +84,9 @@
 	import htzImageUpload from '@/components/htz-image-upload/htz-image-upload.vue';
 	import getPolicyEncode from '@/components/obs/getPolicy.js';
 	import getSignature from '@/components/obs/GetSignature.js';
+	import {
+		fansview
+	} from '@/components/utils.js';
 	export default {
 		components: {
 			mvBar,
@@ -64,6 +94,8 @@
 		},
 		data() {
 			return {
+				onlyShow: false,
+				loading: true,
 				navH: getApp().globalData.navHeight,
 				taskId: "",
 				dataStatus: "",
@@ -73,6 +105,10 @@
 					like_number: "",
 					collect_number: "",
 					commet_number: "",
+					show_play_number: "",
+					show_like_number: "",
+					show_collect_number: "",
+					show_commet_number: "",
 				},
 				// rules: {
 				// 	// 对play_number字段进行必填验证
@@ -163,8 +199,12 @@
 			this.getData()
 		},
 		methods: {
-			getData() {
-				this.$https.get('/youngee/c/t/g/get-unsubmit-task-data' +
+			async getData() {
+				this.loading = true
+				uni.showLoading({
+					title: '加载中'
+				});
+				await this.$https.get('/youngee/c/t/g/get-unsubmit-task-data' +
 						"?" +
 						"task_id" +
 						"=" +
@@ -172,13 +212,20 @@
 					.then(res => {
 						console.log(res)
 						if (res.data.data != null) {
+							this.onlyShow = true
 							this.formData.play_number = res.data.data.play_number
 							this.formData.like_number = res.data.data.like_number
 							this.formData.collect_number = res.data.data.collect_number
 							this.formData.comment_number = res.data.data.comment_number
+							this.formData.show_play_number = fansview(this.formData.play_number)
+							this.formData.show_like_number = fansview(this.formData.like_number)
+							this.formData.show_collect_number = fansview(this.formData.collect_number)
+							this.formData.show_comment_number = fansview(this.formData.comment_number)
 							this.imageData.push(res.data.data.photo_url)
 						}
 					})
+				uni.hideLoading();
+				this.loading = false
 			},
 			toRecord() {
 				var data = {
@@ -200,28 +247,46 @@
 					})
 					return
 				}
-				
+
 				if (this.imageData.length == 0) {
 					uni.showToast({
 						title: "请上传正确的截图",
 						icon: 'none'
 					})
 					return
-				}				
-
-				// 调用添加链接接口
-				this.$https.post('/youngee/c/t/p/add-task-data', {
-						task_id: this.taskId,
-						play_number: this.formData.play_number,
-						like_number: this.formData.like_number,
-						collect_number: this.formData.collect_number,
-						comment_number: this.formData.comment_number,
-						photo_url: this.imageData[0],
-					})
-					.then(res => {
-						console.log(res)
-						uni.navigateBack()
-					})
+				}
+				let that = this
+				uni.showModal({
+					title: '提示',
+					content: '提交后无法修改并进行审核,确认提交?',
+					success: async function(res) {
+						if (res.confirm) {
+							// 调用添加数据接口
+							await that.$https.post('/youngee/c/t/p/add-task-data', {
+									task_id: that.taskId,
+									play_number: that.formData.play_number,
+									like_number: that.formData.like_number,
+									collect_number: that.formData.collect_number,
+									comment_number: that.formData.comment_number,
+									photo_url: that.imageData[0],
+								})
+								.then(res => {
+									console.log(res)
+								})
+							await that.$https.get('/youngee/c/t/g/submit-task-data' +
+									"?" +
+									"task_id" +
+									"=" +
+									that.taskId)
+								.then(res => {
+									console.log(res)
+								})
+							uni.navigateBack()
+						} else if (res.cancel) {
+							console.log('用户点击取消');
+						}
+					}
+				});
 			},
 
 			ceshiChooseSuccess1(tempFilePaths, e) { //选择图片返回

+ 67 - 27
pages/workspace/uploadlink.vue

@@ -11,23 +11,35 @@
 				<p style="font-size: 30rpx;">查看修改/反馈记录</p>
 			</view>
 		</view>
+		<view v-if="!loading && !onlyShow">
+			<!-- 多行输入框 -->
+			<view style="margin: 40rpx;font-size: 32rpx">
+				<p style="margin-bottom: 20rpx;">上传链接</p>
+				<textarea v-model="link_url" style="height: 50px;width: 100%;"
+					placeholder="请删除中文等其他字符,仅输入https://或http://开头的发布链接,样叽会对此进行质检~" />
+			</view>
 
-		<!-- 多行输入框 -->
-		<view style="margin: 40rpx;font-size: 32rpx">
-			<p style="margin-bottom: 20rpx;">上传链接</p>
-			<textarea v-model="link_url" style="height: 50px;width: 100%;" placeholder="请删除中文等其他字符,仅输入https://或http://开头的发布链接,样叽会对此进行质检~" />
-		</view>
+			<view style="margin: 0 40rpx;">
+				<p style="margin-bottom: 20rpx;">上传作品收录/发布截图</p>
+				<htz-image-upload :max="1" mediaType="image" name="file" :chooseNum="1" v-model="imageData"
+					@chooseSuccess="ceshiChooseSuccess1">
+				</htz-image-upload>
+			</view>
 
-		<view style="margin: 0 40rpx;">
-			<p style="margin-bottom: 20rpx;">上传作品收录/发布截图</p>
-			<htz-image-upload :max="1" mediaType="image" name="file" :chooseNum="1" v-model="imageData"
-				@chooseSuccess="ceshiChooseSuccess1">
-			</htz-image-upload>
+			<view class="signup">
+				<button type="default" class="but1" :loading="loading" @click="submit()">
+					提交链接</button>
+			</view>
 		</view>
 
-		<view class="signup">
-			<button type="default" class="but1" :loading="loading" @click="submit()">
-				提交链接</button>
+		<view v-if="!loading && onlyShow">
+			<view style="margin: 20rpx;">
+				<!-- 图片 -->
+				<p>{{link_url}}</p>
+				<view style="display: flex;">
+					<image :src="imageData" mode="aspectFit"></image>
+				</view>
+			</view>
 		</view>
 	</view>
 </template>
@@ -44,6 +56,8 @@
 		},
 		data() {
 			return {
+				onlyShow: false,
+				loading: true,
 				navH: getApp().globalData.navHeight,
 				taskId: "",
 				link_url: "",
@@ -84,8 +98,12 @@
 			this.getLink()
 		},
 		methods: {
-			getLink() {
-				this.$https.get('/youngee/c/t/g/get-unsubmit-task-link' +
+			async getLink() {
+				this.loading = true
+				uni.showLoading({
+					title: '加载中'
+				});
+				await this.$https.get('/youngee/c/t/g/get-unsubmit-task-link' +
 						"?" +
 						"task_id" +
 						"=" +
@@ -93,10 +111,13 @@
 					.then(res => {
 						console.log(res)
 						if (res.data.data != null) {
+							this.onlyShow = true
 							this.imageData.push(res.data.data.photo_url)
 							this.link_url = res.data.data.link_url
 						}
 					})
+				uni.hideLoading();
+				this.loading = false
 			},
 			toRecord() {
 				var data = {
@@ -110,7 +131,8 @@
 
 			submit() {
 				// 校验
-				if (this.link_url == "" || (this.link_url.substring(0, 8) != "https://" && this.link_url.substring(0, 7) != "http://")) {
+				if (this.link_url == "" || (this.link_url.substring(0, 8) != "https://" && this.link_url.substring(0, 7) !=
+						"http://")) {
 					uni.showToast({
 						title: '请输入正确的发布链接',
 						icon: 'none'
@@ -124,17 +146,35 @@
 					})
 					return
 				}
-
-				// 调用添加链接接口
-				this.$https.post('/youngee/c/t/p/add-task-link', {
-						task_id: this.taskId,
-						link_url: this.link_url,
-						photo_url: this.imageData[0],
-					})
-					.then(res => {
-						console.log(res)
-						uni.navigateBack()
-					})
+				let that = this
+				uni.showModal({
+					title: '提示',
+					content: '提交后无法修改并进行审核,确认提交?',
+					success: async function(res) {
+						if (res.confirm) {
+							// 调用添加链接接口
+							await that.$https.post('/youngee/c/t/p/add-task-link', {
+									task_id: that.taskId,
+									link_url: that.link_url,
+									photo_url: that.imageData[0],
+								})
+								.then(res => {
+									console.log(res)
+								})
+							await that.$https.get('/youngee/c/t/g/submit-task-link' +
+									"?" +
+									"task_id" +
+									"=" +
+									that.taskId)
+								.then(res => {
+									console.log(res)
+								})
+							uni.navigateBack()
+						} else if (res.cancel) {
+							console.log('用户点击取消');
+						}
+					}
+				});
 			},
 
 			ceshiChooseSuccess1(tempFilePaths, e) { //选择图片返回

+ 61 - 25
pages/workspace/uploadscript.vue

@@ -12,16 +12,25 @@
 			</view>
 		</view>
 
-		<!-- 多行输入框 -->
-		<uni-easyinput type="text" :inputBorder="false" v-model="title" placeholder="在此填写让人眼前一亮的标题吧"
-			:placeholderStyle="placeholderStyle">
-		</uni-easyinput>
-		<view style="padding: 40rpx 30rpx 150rpx;font-size: 12px">
-			<textarea v-model="text" maxlength="5000" auto-height="true" placeholder="在此编辑发布脚本/粘贴文字" />
+		<view v-if="!loading && !onlyShow">
+			<!-- 多行输入框 -->
+			<uni-easyinput type="text" :inputBorder="false" v-model="title" placeholder="在此填写让人眼前一亮的标题吧"
+				:placeholderStyle="placeholderStyle">
+			</uni-easyinput>
+			<view style="padding: 40rpx 30rpx 150rpx;font-size: 12px">
+				<textarea v-model="text" maxlength="5000" auto-height="true" placeholder="在此编辑发布脚本/粘贴文字" />
+			</view>
+			<view class="signup">
+				<button type="default" class="but1" :loading="loading" @click="submit()">
+					提交脚本</button>
+			</view>
 		</view>
-		<view class="signup">
-			<button type="default" class="but1" :loading="loading" @click="submit()">
-				提交脚本</button>
+		
+		<view v-if="onlyShow">
+			<p style="font-size: 16px">{{title}}</p>
+			<view style="padding: 40rpx 30rpx 150rpx;font-size: 12px">
+				<text> {{text}}</text>
+			</view>
 		</view>
 	</view>
 </template>
@@ -34,6 +43,8 @@
 		},
 		data() {
 			return {
+				onlyShow: false,
+				loading: true,
 				placeholderStyle: "font-size:16px",
 				navH: getApp().globalData.navHeight,
 				taskId: "",
@@ -66,7 +77,6 @@
 				},
 			}
 		},
-
 		onLoad(options) {
 			let data = options.textObj.replace(/""/g, "");
 			data = JSON.parse(decodeURIComponent(data))
@@ -75,8 +85,12 @@
 			this.getScript()
 		},
 		methods: {
-			getScript() {
-				this.$https.get('/youngee/c/t/g/get-unsubmit-task-script' +
+			async getScript() {
+				this.loading = true
+				uni.showLoading({
+					title: '加载中'
+				});
+				await this.$https.get('/youngee/c/t/g/get-unsubmit-task-script' +
 						"?" +
 						"task_id" +
 						"=" +
@@ -84,10 +98,13 @@
 					.then(res => {
 						console.log(res)
 						if (res.data.data != null) {
+							this.onlyShow = true
 							this.text = res.data.data.content
 							this.title = res.data.data.title
 						}
 					})
+				uni.hideLoading();
+				this.loading = false
 			},
 			toRecord() {
 				var data = {
@@ -99,32 +116,51 @@
 				});
 			},
 
-			submit() {
+			async submit() {
 				// 检验标题和内容是否为空
 				if (this.title == '') {
 					uni.showToast({
 						title: "请填写脚本标题",
 						icon: 'none'
 					})
-					return 
+					return
 				}
 				if (this.text == '') {
 					uni.showToast({
 						title: "请填写脚本内容",
 						icon: 'none'
 					})
-					return 
+					return
 				}
-				
-				this.$https.post('/youngee/c/t/p/add-task-script', {
-						task_id: this.taskId,
-						title: this.title,
-						content: this.text,
-					})
-					.then(res => {
-						console.log(res)
-						uni.navigateBack()
-					})
+				let that = this
+				uni.showModal({
+					title: '提示',
+					content: '提交后无法修改并进行审核,确认提交?',
+					success: async function(res) {
+						if (res.confirm) {
+							await that.$https.post('/youngee/c/t/p/add-task-script', {
+									task_id: that.taskId,
+									title: that.title,
+									content: that.text,
+								})
+								.then(res => {
+									console.log(res)
+								})
+
+							await that.$https.get('/youngee/c/t/g/submit-task-script' +
+									"?" +
+									"task_id" +
+									"=" +
+									that.taskId)
+								.then(res => {
+									console.log(res)
+								})
+							uni.navigateBack()
+						} else if (res.cancel) {
+							console.log('用户点击取消');
+						}
+					}
+				});
 			},
 		}
 	}

+ 115 - 63
pages/workspace/uploadsketch.vue

@@ -12,38 +12,58 @@
 			</view>
 		</view>
 
-		<view style="display: flex;justify-content: center;">
-			<radio-group @change="chan">
-				<label v-for="item in radioGroup" :key="item">
-					<view style="display: inline;margin: 0 20rpx">
-						<radio :value="item" :checked="item==activeRadio" color="#fdd544" />{{item}}
-					</view>
-				</label>
-			</radio-group>
-		</view>
+		<view v-if="!loading && !onlyShow">
+			<view style="display: flex;justify-content: center;">
+				<radio-group @change="chan">
+					<label v-for="item in radioGroup" :key="item">
+						<view style="display: inline;margin: 0 20rpx">
+							<radio :value="item" :checked="item==activeRadio" color="#fdd544" />{{item}}
+						</view>
+					</label>
+				</radio-group>
+			</view>
 
-		<view style="margin: 30rpx;display: flex;justify-content: center;" v-if="activeRadio == '图'">
-			<htz-image-upload :max="18" mediaType="image" name="file" :chooseNum="9" v-model="imageData"
-				@chooseSuccess="ceshiChooseSuccess1">
-			</htz-image-upload>
-		</view>
+			<view style="margin: 30rpx;display: flex;justify-content: center;" v-if="activeRadio == '图'">
+				<htz-image-upload :max="18" mediaType="image" name="file" :chooseNum="9" v-model="imageData"
+					@chooseSuccess="ceshiChooseSuccess1">
+				</htz-image-upload>
+			</view>
 
-		<view style="margin: 30rpx;display: flex;justify-content: center;" v-if="activeRadio == '视频'">
-			<htz-image-upload :max="1" mediaType="video" name="file" :chooseNum="1" v-model="videoData"
-				@chooseSuccess="ceshiChooseSuccess2">
-			</htz-image-upload>
-		</view>
+			<view style="margin: 30rpx;display: flex;justify-content: center;" v-if="activeRadio == '视频'">
+				<htz-image-upload :max="1" mediaType="video" name="file" :chooseNum="1" v-model="videoData"
+					@chooseSuccess="ceshiChooseSuccess2">
+				</htz-image-upload>
+			</view>
 
-		<uni-easyinput type="text" :inputBorder="false" v-model="title" placeholder="在此填写让人眼前一亮的标题吧"
-			:placeholderStyle="placeholderStyle">
-		</uni-easyinput>
-		<!-- 多行输入框 -->
-		<view style="padding: 40rpx 30rpx 150rpx;font-size: 12px">
-			<textarea v-model="text" maxlength="2000" auto-height="true" placeholder="添加正文" />
+			<uni-easyinput type="text" :inputBorder="false" v-model="title" placeholder="在此填写让人眼前一亮的标题吧"
+				:placeholderStyle="placeholderStyle">
+			</uni-easyinput>
+			<!-- 多行输入框 -->
+			<view style="padding: 40rpx 30rpx 150rpx;font-size: 12px">
+				<textarea v-model="text" maxlength="2000" auto-height="true" placeholder="添加正文" />
+			</view>
+			<view class="signup">
+				<button type="default" class="but1" :loading="loading" :class="{'on':item.title == '1',}"
+					@click="submit()">
+					提交初稿</button>
+			</view>
 		</view>
-		<view class="signup">
-			<button type="default" class="but1" :loading="loading" :class="{'on':item.title == '1',}" @click="submit()">
-				提交初稿</button>
+
+		<view v-if="!loading && onlyShow">
+			<view style="margin: 20rpx; 50rpx">
+				<!-- 图文 -->
+				<view style="display: flex;" v-if="activeRadio == '图文'">
+					<view v-for="photo in imageData">
+						<image :src="photo" mode="aspectFill" style="width: 150rpx;height: 150rpx;"></image>
+					</view>
+				</view>
+				<!-- 视频 -->
+				<view style="display: flex;" v-if="activeRadio == '视频'">
+					<video :src="videoData[0]"></video>
+				</view>
+				<p style="font-size: 16px">{{title}}</p>
+				<text style="font-size: 12px">{{text}}</text>
+			</view>
 		</view>
 	</view>
 </template>
@@ -60,14 +80,16 @@
 		},
 		data() {
 			return {
+				onlyShow: false,
+				loading: true,
 				placeholderStyle: "font-size:16px",
 				navH: getApp().globalData.navHeight,
 				taskId: "",
 				title: "",
 				text: "",
 				sketchStatus: "",
-				activeRadio: '图', //存的是选中的value值
-				radioGroup: ['图', '视频'],
+				activeRadio: '图', //存的是选中的value值
+				radioGroup: ['图', '视频'],
 				videoData: [],
 				imageData: [],
 				mysNavConfig: {
@@ -109,8 +131,12 @@
 				this.activeRadio = e.detail.value;
 				console.log(this.activeRadio);
 			},
-			getSketch() {
-				this.$https.get('/youngee/c/t/g/get-unsubmit-task-sketch' +
+			async getSketch() {
+				this.loading = true
+				uni.showLoading({
+					title: '加载中'
+				});
+				await this.$https.get('/youngee/c/t/g/get-unsubmit-task-sketch' +
 						"?" +
 						"task_id" +
 						"=" +
@@ -118,10 +144,11 @@
 					.then(res => {
 						console.log(res)
 						if (res.data.data != null) {
+							this.onlyShow = true
 							this.title = res.data.data.title
 							this.text = res.data.data.content
-							if (res.data.data.type == 1) { // 图
-								this.activeRadio = '图'
+							if (res.data.data.type == 1) { // 图
+								this.activeRadio = '图'
 								for (var j = 0; j < res.data.data.Photo.length; j++) {
 									this.imageData.push(res.data.data.Photo[j].photo_url)
 								}
@@ -133,6 +160,8 @@
 							}
 						}
 					})
+				uni.hideLoading();
+				this.loading = false
 			},
 			toRecord() {
 				var data = {
@@ -148,27 +177,13 @@
 				// 检验标题和内容是否为空
 				let type = 0
 				let photourl = []
-				if (this.activeRadio == '图片') { // 图片
+				if (this.activeRadio == '图文') { // 图文
 					type = 1
 					photourl = this.imageData
 				} else {
 					type = 2
 					photourl = this.videoData
 				}
-				if (this.title == '') {
-					uni.showToast({
-						title: "请填写初稿标题",
-						icon: 'none'
-					})
-					return
-				}
-				if (this.text == '') {
-					uni.showToast({
-						title: "请填写初稿内容",
-						icon: 'none'
-					})
-					return
-				}
 				if (photourl.length == 0) {
 					uni.showToast({
 						title: "请上传初稿图片或视频",
@@ -176,20 +191,57 @@
 					})
 					return
 				}
+				if (type === 1) {
+					if (this.title == '') {
+						uni.showToast({
+							title: "请填写初稿标题",
+							icon: 'none'
+						})
+						return
+					}
+					if (this.text == '') {
+						uni.showToast({
+							title: "请填写初稿内容",
+							icon: 'none'
+						})
+						return
+					}
+				}
 				console.log("photourl:", photourl)
-				this.$https.post('/youngee/c/t/p/add-task-sketch', {
-						task_id: this.taskId,
-						title: this.title,
-						content: this.text,
-						type: type,
-						photo_url: photourl.toString()
-					})
-					.then(res => {
-						console.log(res)
-						uni.navigateBack()
-					})
+				let that = this
+				uni.showModal({
+					title: '提示',
+					content: '提交后无法修改并进行审核,确认提交?',
+					success: async function(res) {
+						if (res.confirm) {
+							await that.$https.post('/youngee/c/t/p/add-task-sketch', {
+									task_id: that.taskId,
+									title: that.title,
+									content: that.text,
+									type: type,
+									photo_url: photourl.toString()
+								})
+								.then(res => {
+									console.log(res)
+								})
+							await that.$https.get('/youngee/c/t/g/submit-task-sketch' +
+									"?" +
+									"task_id" +
+									"=" +
+									that.taskId)
+								.then(res => {
+									console.log(res)
+								})
+
+							uni.navigateBack()
+						} else if (res.cancel) {
+							console.log('用户点击取消');
+						}
+					}
+				});
+
 			},
-			ceshiChooseSuccess1(tempFilePaths, e) { //选择图片返回
+			ceshiChooseSuccess1(tempFilePaths, e) { //选择图返回
 				console.log('ceshiChooseSuccess', tempFilePaths, e);
 				/****************
 				以下代码是自定义上传逻辑,仅供参考
@@ -326,7 +378,7 @@
 						console.log(res.statusCode); //打印响应状态码
 						if (res.statusCode == '204') {
 							that.videoData.push(config.EndPoint + '/' + fileName);
-							console.log('上传图成功', res)
+							console.log('上传图成功', res)
 							let obs_url = config.EndPoint + '/' + fileName; //用你自己的 bucket 名替换星号
 							console.log(obs_url)
 							// that.formData.home_img = obs_url
@@ -335,7 +387,7 @@
 								icon: '成功'
 							});
 						} else {
-							console.log('上传图失败', res)
+							console.log('上传图失败', res)
 							uni.showToast({
 								title: '上传失败',
 								icon: '失败'

+ 142 - 53
pages/workspace/workspace.vue

@@ -5,23 +5,32 @@
 		<view :style="{marginTop:navH}"></view>
 		<view class="menu">
 			<view class="menu-item" @click="toShow1()">
-				<p v-bind:class="showList1?'lor':'unlor'">待传脚本</p>
-				<!-- <view v-if="showPoint1">
-					<span class="point"></span>
-				</view> -->
+				<view class="menu-item-p">
+					<p v-bind:class="showList1?'lor':'unlor'">待传脚本</p>
+				</view>
+				<span class="point" v-if="showPoint1" key="0"></span>
 			</view>
 			<view class="menu-item" @click="toShow2()">
-				<p v-bind:class="showList2?'lor':'unlor'">待传初稿</p>
+				<view class="menu-item-p">
+					<p v-bind:class="showList2?'lor':'unlor'">待传初稿</p>
+				</view>
+				<span class="point" v-if="showPoint2" key="1"></span>
 			</view>
 			<view class="menu-item" @click="toShow3()">
-				<p v-bind:class="showList3?'lor':'unlor'">待传链接</p>
-			</view>
+				<view class="menu-item-p">
+					<p v-bind:class="showList3?'lor':'unlor'">待传链接</p>
+				</view>
+				<span class="point" v-if="showPoint3" key="2"></span>
+			</view> 
 			<view class="menu-item" @click="toShow4()">
-				<p v-bind:class="showList4?'lor':'unlor'">待传数据</p>
+				<view class="menu-item-p">
+					<p v-bind:class="showList4?'lor':'unlor'">待传数据</p>
+				</view>
+				<span class="point" v-if="showPoint4" key="3"></span>
 			</view>
 		</view>
 
-		<view class="home" v-if="showList1" style="margin-top: 100rpx;">
+		<view class="home" v-if="showList1 && !loading" style="padding-top: 100rpx;">
 			<view class="task" v-for="item in List1">
 				<view @click="toDetail(item)">
 					<view class="task-head">
@@ -47,7 +56,7 @@
 			</view>
 		</view>
 
-		<view class="home" v-if="showList2">
+		<view class="home" v-if="showList2 && !loading" style="padding-top: 100rpx;">
 			<view class="task" v-for="item in List2">
 				<view @click="toDetail(item)">
 					<view class="task-head">
@@ -73,7 +82,7 @@
 			</view>
 		</view>
 
-		<view class="home" v-if="showList3">
+		<view class="home" v-if="showList3 && !loading" style="padding-top: 100rpx;">
 			<view class="task" v-for="item in List3">
 				<view @click="toDetail(item)">
 					<view class="task-head">
@@ -99,7 +108,7 @@
 			</view>
 		</view>
 
-		<view class="home" v-if="showList4">
+		<view class="home" v-if="showList4 && !loading" style="padding-top: 100rpx;">
 			<view class="task" v-for="item in List4">
 				<view @click="toDetail(item)">
 					<view class="task-head">
@@ -135,7 +144,11 @@
 		},
 		data() {
 			return {
-				showPoint1: true,
+				loading: true,
+				showPoint1: false,
+				showPoint2: false,
+				showPoint3: false,
+				showPoint4: false,
 				navH: getApp().globalData.navHeight,
 				showList1: true,
 				showList2: false,
@@ -189,20 +202,11 @@
 					}
 				});
 			if (this.token !== '') { // 若登录
-				uni.showLoading({
-					title: '加载中'
-				});
-				await this.$https.get('/youngee/c/g/get-info-tables')
-					.then(res => {
-						console.log(res)
-						this.taskStageList = res.data.data.TaskStage
-					})
 				this.showList2 = false;
 				this.showList3 = false;
 				this.showList4 = false;
 				this.showList1 = true;
-				this.getList(1);
-				uni.hideLoading();
+				this.getList();
 			} else {
 				uni.showModal({
 					content: '请先登录',
@@ -215,17 +219,50 @@
 			}
 		},
 		methods: {
-			async getList(value) {
+			async getList() {
+				this.loading = true
 				uni.showLoading({
 					title: '加载中'
 				});
 				var taskList = [];
-				await this.$https.get('/youngee/c/t/g/get-task-exe-list?taskStage=' + value).then(res => {
+				this.showPoint1 = false
+				this.showPoint2 = false
+				this.showPoint3 = false
+				this.showPoint4 = false
+				await this.$https.get('/youngee/c/t/g/get-task-exe-list').then(res => {
 					console.log(res)
 					taskList = res.data.data.list1
 					if (taskList != null) {
+						this.showPoint1 = true
 						for (let i = 0; i < taskList.length; ++i) {
+							let productPhoto = JSON.parse(taskList[i].product_photo_snap);
+							for (let j = 0; j < productPhoto.length; j++) {
+								if (productPhoto[j].Symbol == 1) {
+									taskList[i].product_img_url = productPhoto[j].PhotoUrl
+								}
+							}
 
+							if ((taskList[i].task_stage == 7 && taskList[i].script_status == 3) ||
+								(taskList[i].task_stage == 9 && taskList[i].sketch_status == 3) ||
+								(taskList[i].task_stage == 11 && taskList[i].link_status == 3) ||
+								(taskList[i].task_stage == 13 && taskList[i].data_status == 3)) {
+								taskList[i].isShowModify = true
+							} else {
+								taskList[i].isShowModify = false
+							}
+							for (let j = 0; j < this.taskStageList.length; ++j) {
+								if (taskList[i].task_stage == this.taskStageList[j]
+									.task_stage_id)
+									taskList[i].task_stage_txt = this.taskStageList[j]
+									.task_stage
+							}
+						}
+					}
+					this.List1 = taskList;
+					taskList = res.data.data.list2
+					if (taskList != null) {
+						this.showPoint2 = true
+						for (let i = 0; i < taskList.length; ++i) {
 							let productPhoto = JSON.parse(taskList[i].product_photo_snap);
 							for (let j = 0; j < productPhoto.length; j++) {
 								if (productPhoto[j].Symbol == 1) {
@@ -249,50 +286,95 @@
 							}
 						}
 					}
+					this.List2 = taskList;
+					taskList = res.data.data.list3
+					if (taskList != null) {
+						this.showPoint3 = true
+						for (let i = 0; i < taskList.length; ++i) {
+							let productPhoto = JSON.parse(taskList[i].product_photo_snap);
+							for (let j = 0; j < productPhoto.length; j++) {
+								if (productPhoto[j].Symbol == 1) {
+									taskList[i].product_img_url = productPhoto[j].PhotoUrl
+								}
+							}
+
+							if ((taskList[i].task_stage == 7 && taskList[i].script_status == 3) ||
+								(taskList[i].task_stage == 9 && taskList[i].sketch_status == 3) ||
+								(taskList[i].task_stage == 11 && taskList[i].link_status == 3) ||
+								(taskList[i].task_stage == 13 && taskList[i].data_status == 3)) {
+								taskList[i].isShowModify = true
+							} else {
+								taskList[i].isShowModify = false
+							}
+							for (let j = 0; j < this.taskStageList.length; ++j) {
+								if (taskList[i].task_stage == this.taskStageList[j]
+									.task_stage_id)
+									taskList[i].task_stage_txt = this.taskStageList[j]
+									.task_stage
+							}
+						}
+					}
+					
+					this.List3 = taskList;
+					taskList = res.data.data.list4
+					if (taskList != null) {
+						this.showPoint4 = true
+						for (let i = 0; i < taskList.length; ++i) {
+							let productPhoto = JSON.parse(taskList[i].product_photo_snap);
+							for (let j = 0; j < productPhoto.length; j++) {
+								if (productPhoto[j].Symbol == 1) {
+									taskList[i].product_img_url = productPhoto[j].PhotoUrl
+								}
+							}
+
+							if ((taskList[i].task_stage == 7 && taskList[i].script_status == 3) ||
+								(taskList[i].task_stage == 9 && taskList[i].sketch_status == 3) ||
+								(taskList[i].task_stage == 11 && taskList[i].link_status == 3) ||
+								(taskList[i].task_stage == 13 && taskList[i].data_status == 3)) {
+								taskList[i].isShowModify = true
+							} else {
+								taskList[i].isShowModify = false
+							}
+							for (let j = 0; j < this.taskStageList.length; ++j) {
+								if (taskList[i].task_stage == this.taskStageList[j]
+									.task_stage_id)
+									taskList[i].task_stage_txt = this.taskStageList[j]
+									.task_stage
+							}
+						}
+					}
+					this.List4 = taskList;
 				})
-				switch (value) {
-					case 1:
-						this.List1 = taskList;
-						break;
-					case 2:
-						this.List2 = taskList;
-						break;
-					case 3:
-						this.List3 = taskList;
-						break;
-					case 4:
-						this.List4 = taskList;
-						break;
-				};
 				uni.hideLoading();
+				this.loading = false
 			},
 			toShow1() {
 				this.showList2 = false;
 				this.showList3 = false;
 				this.showList4 = false;
 				this.showList1 = true;
-				this.getList(1);
+				this.getList();
 			},
 			toShow2() {
 				this.showList1 = false;
 				this.showList3 = false;
 				this.showList4 = false;
 				this.showList2 = true;
-				this.getList(2);
+				this.getList();
 			},
 			toShow3() {
 				this.showList2 = false;
 				this.showList1 = false;
 				this.showList4 = false;
 				this.showList3 = true;
-				this.getList(3);
+				this.getList();
 			},
 			toShow4() {
 				this.showList2 = false;
 				this.showList1 = false;
 				this.showList3 = false;
 				this.showList4 = true;
-				this.getList(4);
+				this.getList();
 			},
 			toDetail(item) {
 				uni.navigateTo({
@@ -326,7 +408,11 @@
 		z-index: 10;
 	}
 
-	.menu-item p {
+	.menu-item {
+		display: flex;
+	}
+
+	.menu-item-p p {
 		font-weight: 600;
 
 		&.lor {
@@ -392,13 +478,16 @@
 		border-bottom: 1rpx #AAAAAA solid;
 	}
 
-	// .point {
-	// 	position: absolute;
-	// 	// top: 0;
-	// 	right: 5px;
-	// 	width: 6px;
-	// 	height: 6px;
-	// 	background: red;
-	// 	border-radius: 50%;
-	// }
+	.menu-point {
+		position: relative;
+		left: 30rpx;
+		top: 20rpx;
+	}
+
+	.point {
+		width: 6px;
+		height: 6px;
+		background: red;
+		border-radius: 50%;
+	}
 </style>

Fichier diff supprimé car celui-ci est trop grand
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/common/main.js.map


Fichier diff supprimé car celui-ci est trop grand
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/common/runtime.js.map


Fichier diff supprimé car celui-ci est trop grand
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/common/vendor.js.map


Fichier diff supprimé car celui-ci est trop grand
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/components/htz-image-upload/htz-image-upload.js.map


Fichier diff supprimé car celui-ci est trop grand
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/components/mosowe-canvas-image/mosowe-canvas-image.js.map


Fichier diff supprimé car celui-ci est trop grand
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/components/mys-tip_1.0.01/a_tip/aTip.js.map


Fichier diff supprimé car celui-ci est trop grand
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/components/mys_navBar/mysNavBar.js.map


Fichier diff supprimé car celui-ci est trop grand
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/components/z-swiper/index.js.map


Fichier diff supprimé car celui-ci est trop grand
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/login/login.js.map


Fichier diff supprimé car celui-ci est trop grand
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/login/userinfo.js.map


Fichier diff supprimé car celui-ci est trop grand
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/mycenter/message.js.map


Fichier diff supprimé car celui-ci est trop grand
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/mycenter/mycenter.js.map


Fichier diff supprimé car celui-ci est trop grand
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/mycenter/myincome.js.map


Fichier diff supprimé car celui-ci est trop grand
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/mycenter/myincome/applywithdraw.js.map


Fichier diff supprimé car celui-ci est trop grand
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/mycenter/myinformation/addlocation.js.map


Fichier diff supprimé car celui-ci est trop grand
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/mycenter/myinformation/bindaccount.js.map


Fichier diff supprimé car celui-ci est trop grand
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/mycenter/myinformation/myaccount.js.map


Fichier diff supprimé car celui-ci est trop grand
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/mycenter/myinformation/mybank.js.map


Fichier diff supprimé car celui-ci est trop grand
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/mycenter/myinformation/myinformation.js.map


Fichier diff supprimé car celui-ci est trop grand
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/mycenter/myinformation/mylocation.js.map


Fichier diff supprimé car celui-ci est trop grand
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/mycenter/myinformation/personinfo.js.map


Fichier diff supprimé car celui-ci est trop grand
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/mycenter/mytask/mytask.js.map


Fichier diff supprimé car celui-ci est trop grand
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/tasksquare/bindinfo.js.map


Fichier diff supprimé car celui-ci est trop grand
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/tasksquare/cooperation.js.map


Fichier diff supprimé car celui-ci est trop grand
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/tasksquare/guide.js.map


Fichier diff supprimé car celui-ci est trop grand
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/tasksquare/information.js.map


Fichier diff supprimé car celui-ci est trop grand
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/tasksquare/search.js.map


Fichier diff supprimé car celui-ci est trop grand
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/tasksquare/specialTask/information.js.map


Fichier diff supprimé car celui-ci est trop grand
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/tasksquare/specialTask/specialTaskDetail.js.map


Fichier diff supprimé car celui-ci est trop grand
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/tasksquare/success.js.map


Fichier diff supprimé car celui-ci est trop grand
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/tasksquare/taskdetail.js.map


Fichier diff supprimé car celui-ci est trop grand
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/tasksquare/tasksquare.js.map


Fichier diff supprimé car celui-ci est trop grand
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/workspace/applyInformation.js.map


Fichier diff supprimé car celui-ci est trop grand
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/workspace/datarecord.js.map


Fichier diff supprimé car celui-ci est trop grand
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/workspace/deliveryInformation.js.map


Fichier diff supprimé car celui-ci est trop grand
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/workspace/editaddress.js.map


Fichier diff supprimé car celui-ci est trop grand
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/workspace/linkrecord.js.map


Fichier diff supprimé car celui-ci est trop grand
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/workspace/scriptrecord.js.map


Fichier diff supprimé car celui-ci est trop grand
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/workspace/sketchrecord.js.map


Fichier diff supprimé car celui-ci est trop grand
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/workspace/taskdetail.js.map


Fichier diff supprimé car celui-ci est trop grand
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/workspace/uploaddata.js.map


Fichier diff supprimé car celui-ci est trop grand
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/workspace/uploadlink.js.map


Fichier diff supprimé car celui-ci est trop grand
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/workspace/uploadscript.js.map


Fichier diff supprimé car celui-ci est trop grand
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/workspace/uploadsketch.js.map


Fichier diff supprimé car celui-ci est trop grand
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/workspace/workspace.js.map


Fichier diff supprimé car celui-ci est trop grand
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-data-checkbox/components/uni-data-checkbox/uni-data-checkbox.js.map


Fichier diff supprimé car celui-ci est trop grand
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-easyinput/components/uni-easyinput/uni-easyinput.js.map


Fichier diff supprimé car celui-ci est trop grand
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-forms/components/uni-forms-item/uni-forms-item.js.map


Fichier diff supprimé car celui-ci est trop grand
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-forms/components/uni-forms/uni-forms.js.map


Fichier diff supprimé car celui-ci est trop grand
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-icons/components/uni-icons/uni-icons.js.map


Fichier diff supprimé car celui-ci est trop grand
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-load-more/components/uni-load-more/uni-load-more.js.map


Fichier diff supprimé car celui-ci est trop grand
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-popup/components/uni-popup/uni-popup.js.map


Fichier diff supprimé car celui-ci est trop grand
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-search-bar/components/uni-search-bar/uni-search-bar.js.map


Certains fichiers n'ont pas été affichés car il y a eu trop de fichiers modifiés dans ce diff