sectaskdetail1.vue 24 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950
  1. <template>
  2. <view>
  3. <!-- 胶囊 -->
  4. <mvBar :mysNavConfig="mysNavConfig"></mvBar>
  5. <view :style="{marginTop:navH}"></view>
  6. <view v-if="!loading">
  7. <!-- 基本信息卡片 -->
  8. <view class="basicInfo">
  9. <view class="tpc-txt1">
  10. <image :src="product.PhotoUrl" style="width: 150rpx;height: 150rpx;" mode="">
  11. </image>
  12. <view class="basicInfo_txt">
  13. <view class="" style="display: flex;">
  14. <image class="platform-img" :src="project.PlatformInfo.platform_icon"></image>
  15. <p style="font-size: 28rpx; line-height: 28rpx;color: black;">
  16. {{project.selection_name}}
  17. </p>
  18. </view>
  19. <p>售价:¥{{product.product_price}}
  20. <!-- <p>距离任务有效期还有<span style="color: #f70606;">1107</span>天</p> -->
  21. <p v-if="project.remain_days <= 0 && project.remain_hours <= 0"><span
  22. style="color: #f70606 ;">任务已结束</span></p>
  23. <!-- <p v-else>距离任务有效期还有<span style="color: #f70606;">{{selection.remain_days}}</span>天</p> -->
  24. <p v-else><span style="color: #999999;">距离任务结束还有</span><span
  25. style="color: #f70606;">{{ project.remain_days }}<span
  26. style="color: #999999 ;">天</span>{{ project.remain_hours }}<span
  27. style="color: #999999 ;">小时</span></span></p>
  28. </view>
  29. </view>
  30. </view>
  31. <!-- 重要信息展示 -->
  32. <view>
  33. <!-- 样机高佣和公开 两个有色框 -->
  34. <view class="importentInfo1">
  35. <!-- 高佣 这个margin带着整个有色边框一起移动-->
  36. <view style="display: flex; margin: 25rpx 20rpx;">
  37. <!-- 与边框离开距离 这个margin仅带着内容移动 -->
  38. <view style="display: flex; margin-top: 10rpx;">
  39. <view
  40. style="background-color: #e99d42; width: 140rpx; height: 45rpx; border-radius: 15rpx; line-height: 40rpx;text-align: center;">
  41. <p style="color: white;font-size: 25rpx;">样叽高佣</p>
  42. </view>
  43. <view style="margin-left: 25rpx;line-height: 40rpx">
  44. <p style="color: red;font-size: 25rpx;">
  45. 每单赚:{{project.high_estimated_income}}¥
  46. (佣金比例:{{product.exclusive_commission}}%)</p>
  47. </view>
  48. </view>
  49. </view>
  50. <!-- 公开 这个margin带着整个有色边框一起移动-->
  51. <view style="display: flex; margin: 25rpx 20rpx;">
  52. <!-- 与边框离开距离 这个margin仅带着内容移动 -->
  53. <view style="display: flex;">
  54. <view
  55. style="background-color: #9a9a9a; width: 140rpx; height: 45rpx; border-radius: 15rpx; line-height: 40rpx;text-align: center;">
  56. <p style="color: white;font-size: 25rpx;">公开</p>
  57. </view>
  58. <view style="margin-left: 25rpx;line-height: 40rpx">
  59. <p style="color: #444d5e;font-size: 25rpx;">
  60. 每单赚:{{project.normal_estimated_income}}¥
  61. (佣金比例:{{product.public_commission}}%)</p>
  62. </view>
  63. </view>
  64. </view>
  65. </view>
  66. <!-- 悬赏任务 -->
  67. <view class="importentInfo2" v-if="project.task_mode==1">
  68. <!-- 高佣 这个margin带着整个有色边框一起移动-->
  69. <view style="display: flex; margin: 25rpx 20rpx;">
  70. <!-- 与边框离开距离 这个margin仅带着内容移动 -->
  71. <view style="display: flex; margin-top: 10rpx;">
  72. <view
  73. style="background-color: #1f63ff; width: 140rpx; height: 45rpx; border-radius: 15rpx; line-height: 40rpx;text-align: center;">
  74. <p style="color: white;font-size: 25rpx;">悬赏任务</p>
  75. </view>
  76. <view style="margin-left: 25rpx;line-height: 45rpx">
  77. <p style="color: #444d5e;font-size: 25rpx;">
  78. 有效期内实际成交≥{{project.RewardStrategy[0].sale_actual}}单,额外奖励<span
  79. style="color: red;">¥{{project.RewardStrategy[0].per_reward}}</span>元
  80. </p>
  81. </view>
  82. </view>
  83. </view>
  84. </view>
  85. </view>
  86. <!-- 平台icon和用户基本信息 -->
  87. <view class="card" style="margin-top: 2%;" @click="accountdetail()">
  88. <view class="Tasktext">
  89. <image :src="project.PlatformInfo.platform_icon" mode=""></image>
  90. <span>{{account.platform_nickname}}</span>
  91. </view>
  92. <view class="dou">
  93. <p style="padding-right: 20rpx;color:#A8A8A8;">粉丝数</p>
  94. <p>{{account.fans_count}}</p>
  95. </view>
  96. <view class="clickkk">
  97. <image :src="togoimg" mode="" style="width: 16rpx;height: 30rpx;"></image>
  98. </view>
  99. </view>
  100. <!-- 免费领样 -->
  101. <view v-if="project.sample_mode==1" style="padding: 10rpx 20rpx;font-size: 25rpx;" class="freeSample">
  102. <span style="font-weight: bold; ">免费领样</span>
  103. <p>领样状态:todo</p>
  104. <view class="logisInfo">
  105. <p>物流信息:todo</p>
  106. <view class="task-info-right">
  107. <image src="https://horastar.obs.cn-east-3.myhuaweicloud.com/talent_upload/icon-arrow-right.png"
  108. style="height: 30rpx;width: 30rpx;"></image>
  109. </view>
  110. </view>
  111. </view>
  112. <!-- 带货信息 -->
  113. <view style="padding: 10rpx 20rpx;font-size: 25rpx;" class="saleInfo">
  114. <span style="font-weight: bold; ">带货信息</span>
  115. <p>全部销售额/有效销售额:todo</p>
  116. <p>全部销售量/有效销售量:todo</p>
  117. <p>全部佣金/有效佣金:todo</p>
  118. <p>退款销售额/退款单数:todo</p>
  119. <p>退款佣金/退款率:todo</p>
  120. </view>
  121. <!-- 悬赏奖金 -->
  122. <view style="padding: 10rpx 20rpx;font-size: 25rpx;" class="rewardInfo">
  123. <span style="font-weight: bold; ">悬赏奖金</span>
  124. <p>悬赏奖金池总额/悬赏奖金池余额:todo</p>
  125. <p>悬赏销售量/有效销售量:todo</p>
  126. </view>
  127. <!-- 上传截图 -->
  128. <view style="height: 150rpx;">
  129. <button class="btn1" :disabled="uploaded" @click="toUpload()">
  130. {{ uploaded ? '销量截图已上传' : '上传销量截图领悬赏' }}</button>
  131. </view>
  132. </view>
  133. </view>
  134. </template>
  135. <script>
  136. import region from '@/components/pca-code.json';
  137. import mvBar from "@/components/mys_navBar/mysNavBar";
  138. import {
  139. fansview,
  140. money,
  141. getDaysAndHoursBetweenDates
  142. } from '@/components/utils.js';
  143. export default {
  144. components: {
  145. mvBar
  146. },
  147. data() {
  148. return {
  149. navH: getApp().globalData.navHeight,
  150. picture: getApp().globalData.picture,
  151. mysNavConfig: {
  152. isHome: false,
  153. /* 固定导航 */
  154. navFixed: true,
  155. /* 标题 (屏幕中心居中 两边图标中心居中使用slot center1) */
  156. navTitle: {
  157. text: "带货任务详情",
  158. color: "",
  159. fontSize: "32rpx", // px upx rpx
  160. fontWeight: "", // 100 - 700
  161. },
  162. btnType: "type2",
  163. onLeftClick: '',
  164. /* type2 按钮 */
  165. type2Config: {
  166. // 左图标
  167. leftPath: "https://horastar.obs.cn-east-3.myhuaweicloud.com/talent/png2.png",
  168. // 右图标
  169. rightPath: "https://horastar.obs.cn-east-3.myhuaweicloud.com/talent/png4.png",
  170. // 圆角
  171. radius: "40rpx",
  172. },
  173. },
  174. infoMsg1: [
  175. "等待企业确认合作",
  176. "等待企业确认合作",
  177. "等待企业确认合作",
  178. "恭喜任务申请成功!",
  179. "任务申请失败",
  180. "等待发货中",
  181. "商家已发货",
  182. "等待上传作业",
  183. "待结算",
  184. "已结案",
  185. ],
  186. infoMsg2: [
  187. "商家将在申请截止后5天内审核完毕",
  188. "商家将在申请截止后5天内审核完毕",
  189. "商家将在申请截止后5天内审核完毕",
  190. "请仔细查看任务要求和任务详情,开始执行任务吧!",
  191. "未达到领样标准,请小主尝试申请其他任务吧",
  192. "发货后可在任务进度中查看物流单号",
  193. "请在任务进度中查看物流单号",
  194. "请仔细查看任务要求,根据要求完成作业,截止时间前上传作业提交后可领取相应的悬赏及返现",
  195. "作业提交成功,请等待商家结算。",
  196. "本任务已结案,可前往任务大厅查看报名其他任务。",
  197. ],
  198. task_type_info: ["实体商品寄拍", "虚拟产品测评", "线下探店打卡"],
  199. togoimg: 'https://horastar.obs.cn-east-3.myhuaweicloud.com/talent/task16.png',
  200. isTimeOut: false,
  201. isNotShowSubmit: true,
  202. isShowUpload: false,
  203. uploaded: false,
  204. loading: true,
  205. timeLeft: "",
  206. msg1: "",
  207. msg2: "",
  208. taskId: '',
  209. task: {},
  210. address: {},
  211. project: {},
  212. product: {},
  213. account: {},
  214. strategy: {},
  215. taskLogs: [],
  216. infoTables: [],
  217. withdrawStatus: 1,
  218. }
  219. },
  220. async onShow() {
  221. this.loading = true;
  222. uni.showLoading({
  223. title: '加载中'
  224. });
  225. await this.getTaskInfo();
  226. await this.getTaskLogs();
  227. await this.getInfoTables();
  228. await this.getAccountList();
  229. this.loading = false;
  230. uni.hideLoading();
  231. },
  232. onLoad(options) {
  233. this.taskId = options.taskId
  234. this.isuploaded=options
  235. },
  236. methods: {
  237. handleCopy(text) {
  238. wx.setClipboardData({
  239. data: text.toString(),
  240. success: function(res) {
  241. console.log("复制成功");
  242. }
  243. });
  244. },
  245. // 默认信息表
  246. getInfoTables() {
  247. return this.$https.get('/youngee/c/g/get-info-tables')
  248. .then(res => {
  249. console.log("get-info-tables----", res.data.data.ThirdPlatform)
  250. this.infoTables = res.data.data.ThirdPlatform
  251. })
  252. },
  253. // 绑定账号信息表
  254. getAccountList() {
  255. return this.$https.get('/youngee/c/t/g/get-talent-account')
  256. .then(res => {
  257. console.log("get accountlist(get-talent-account)----", res)
  258. //-3表示没有绑定任何平台
  259. if (res.data.code !== -3) {
  260. //可能绑定了多个账号,让res中包含平台icon
  261. this.accountlist = res.data.data
  262. for (var i = 0; i < this.accountlist.length; i++) {
  263. //仅考虑抖音账号
  264. if (this.accountlist[i].platform_id == 2) {
  265. this.account = this.accountlist[i]
  266. for (var j = 0; j < this.infoTables.length; j++) {
  267. if (this.infoTables[j].id == this.account.platform_id) {
  268. this.account.platform_icon = this.infoTables[j].platform_icon
  269. }
  270. }
  271. }
  272. }
  273. console.log("this.account", this.account)
  274. }
  275. })
  276. },
  277. // 前往账号详情
  278. accountdetail() {
  279. uni.navigateTo({
  280. url: '/page_mycenter/myinformation/bindaccount?platform_id=' + this.account.platform_id +
  281. '&account_id=' + this.account
  282. .account_id
  283. });
  284. },
  285. getTaskInfo() {
  286. return this.$https.get('/youngee/c/t/g/get-sec-task-detail' +
  287. "?" +
  288. "task_id" +
  289. "=" +
  290. this.taskId
  291. ).then(res => {
  292. console.log("get-sec-task-detail--res--->", res.data.data)
  293. if (res.data.code != 0) {
  294. return
  295. }
  296. const data = res.data.data
  297. this.task = data.sec_task_info
  298. this.withdrawStatus = data.withdraw_status
  299. // 地址解析
  300. this.address = JSON.parse(this.task.talent_post_addr_snap);
  301. let a = this.address.region_code.toString().slice(0, 2)
  302. let b = this.address.region_code.toString().slice(0, 4)
  303. let c = 0
  304. for (var i = 0; i < region.length; i++) {
  305. if (region[i].code == a) {
  306. a = region[i].name
  307. for (var j = 0; j < region[i].children.length; j++) {
  308. if (region[i].children[j].code == b) {
  309. b = region[i].children[j].name
  310. for (var o = 0; o < region[i].children[j].children.length; o++) {
  311. if (region[i].children[j].children[o].code == this.address
  312. .region_code) {
  313. c = region[i].children[j].children[o].name
  314. }
  315. }
  316. }
  317. }
  318. }
  319. }
  320. this.address.full_detail_addr = a + b + c + this.address.detail_addr
  321. // 账号信息
  322. this.account = JSON.parse(this.task.talent_platform_info_snap);
  323. this.account.show_fans_count = fansview(this.account.fans_count)
  324. // 选品项目信息
  325. this.project = data.selection_detail
  326. console.log("icon_url", this.project.PlatformInfo.platform_icon)
  327. this.project.ProductPhoto = this.project.YounggeeProductPhoto
  328. this.product = this.project.YounggeeProduct[0]
  329. // this.project.project_form = this.project.Product.ProductType === 14 ? 3 : 1
  330. if (this.project.ProductPhoto != null) {
  331. let ProductPhoto = this.project.ProductPhoto
  332. for (let j = 0; j < ProductPhoto.length; ++j) {
  333. if (ProductPhoto[j].symbol == 1) {
  334. this.product.PhotoUrl = ProductPhoto[j].photo_url
  335. }
  336. }
  337. }
  338. // 判断任务是否已结束
  339. var timeNow = new Date()
  340. var ddl = new Date(this.project.task_ddl.replace(/-/g, "/"));
  341. // this.selection.remain_days = getDaysBetweenDates(timeNow, ddl)
  342. var diff = getDaysAndHoursBetweenDates(timeNow, ddl);
  343. this.project.remain_days = diff.days;
  344. this.project.remain_hours = diff.hours;
  345. //判断任务是否结束
  346. this.ddl = (this.project.remain_days <= 0 && this.project.remain_hours <= 0) ? true :
  347. false
  348. //高佣和普通的每单赚
  349. this.project.high_estimated_income = this.product.exclusive_commission * this.product
  350. .product_price / 100
  351. this.project.normal_estimated_income = this.product.public_commission * this.product
  352. .product_price / 100
  353. // this.project.show_task_reward = money(this.project.task_reward)
  354. // this.project.show_estimated_cost = money(this.project.estimated_cost)
  355. // 判断是否显示快速上传按钮
  356. if (this.task.task_stage == 8) {
  357. this.isShowUpload = true
  358. } else {
  359. this.isShowUpload = false
  360. }
  361. // 不同任务阶段提示消息
  362. this.msg1 = this.infoMsg1[this.task.task_stage - 1]
  363. this.msg2 = this.isSpecial ? this.infoMsg3[this.task.task_stage - 1] : this.infoMsg2[this.task
  364. .task_stage - 1]
  365. })
  366. },
  367. getTaskLogs() {
  368. return this.$https.get('/youngee/c/t/g/get-task-log' +
  369. "?" +
  370. "task_id" +
  371. "=" +
  372. this.taskId
  373. ).then(res => {
  374. this.taskLogs = res.data.data
  375. console.log("task-log--》",this.taskLogs)
  376. if(this.taskLogs==null){
  377. console.log("这个task无历史数据")
  378. }else if(this.taskLogs.length!==0){
  379. this.uploaded=true
  380. }
  381. })
  382. },
  383. toUpload() {
  384. var data = {
  385. taskId: this.taskId,
  386. assignmentStatus: this.task.assignment_status
  387. };
  388. data = JSON.stringify(data)
  389. uni.navigateTo({
  390. url: '/page_workspace/selection/assignment/upload1?textObj=' + encodeURIComponent(data)
  391. });
  392. },
  393. toScriptRecord() {
  394. var data = {
  395. taskId: this.task.task_id,
  396. };
  397. data = JSON.stringify(data)
  398. uni.navigateTo({
  399. url: '/page_workspace/task/record/scriptrecord?textObj=' + encodeURIComponent(data)
  400. });
  401. },
  402. toTaskDeatail() {
  403. uni.navigateTo({
  404. url: '/page_selectionsquare/selectiondetail/selectiondetail?id=' + this.project.selection_id
  405. });
  406. },
  407. toApplyinfo() {
  408. var data = {
  409. account: this.account,
  410. };
  411. data = JSON.stringify(data)
  412. uni.navigateTo({
  413. url: '/page_workspace/task/information/applyInformation?textObj=' + encodeURIComponent(data)
  414. });
  415. },
  416. toLogisticsinfo() {
  417. // var data = {
  418. // address: this.address,
  419. // taskId: this.task.task_id,
  420. // projectForm: this.project.project_form
  421. // };
  422. // data = JSON.stringify(data)
  423. // uni.navigateTo({
  424. // url: '/page_workspace/task/information/deliveryInformation?textObj=' + encodeURIComponent(data)
  425. // });
  426. var data = {
  427. taskId: this.task.task_id,
  428. };
  429. data = JSON.stringify(data)
  430. uni.navigateTo({
  431. url: '/page_workspace/selection/logistics/logisticsdetail?textObj=' + encodeURIComponent(data)
  432. });
  433. },
  434. editAddress() {
  435. var data = {
  436. address: this.address,
  437. taskId: this.task.task_id,
  438. };
  439. data = JSON.stringify(data)
  440. uni.navigateTo({
  441. url: '/page_workspace/task/editaddress?textObj=' + encodeURIComponent(data)
  442. });
  443. },
  444. // 计算结束时间
  445. thistime(val) {
  446. // 转换格式
  447. var beginTime = new Date(val.replace(/-/g, "/"));
  448. // 当前时间
  449. var thisTime = new Date();
  450. // 相减
  451. var dateMiss = beginTime.getTime() - thisTime.getTime();
  452. this.isTimeOut = dateMiss < 0 ? true : false
  453. dateMiss = dateMiss < 0 ? -dateMiss : dateMiss
  454. // 天数
  455. var day = Math.floor(dateMiss / (24 * 3600 * 1000));
  456. // 减去天数剩下的毫秒数
  457. var backOne = dateMiss % (24 * 3600 * 1000);
  458. // 小时数
  459. var hours = Math.floor(backOne / (3600 * 1000));
  460. // 减去小时数剩下的毫秒数
  461. var backHour = backOne % (3600 * 1000);
  462. // 分钟数
  463. var min = Math.floor(backHour / (60 * 1000));
  464. var deadline_time = day + '天' + hours + '时' + min + '分'
  465. return deadline_time
  466. },
  467. toWithdraw() {
  468. uni.navigateTo({
  469. url: '/pages/mycenter/myincome?showTab=1'
  470. });
  471. },
  472. submit() {
  473. if (this.task.task_stage == 7) { // 提交脚本
  474. let that = this
  475. uni.showModal({
  476. title: '提示',
  477. content: '提交后无法修改并进行审核,确认提交?',
  478. success: function(res) {
  479. if (res.confirm) {
  480. that.$https.get('/youngee/c/t/g/submit-task-script' +
  481. "?" +
  482. "task_id" +
  483. "=" +
  484. that.task.task_id)
  485. .then(res => {
  486. console.log(res)
  487. uni.navigateBack()
  488. })
  489. } else if (res.cancel) {
  490. console.log('用户点击取消');
  491. }
  492. }
  493. });
  494. } else if (this.task.task_stage == 9) { // 提交初稿
  495. let that = this
  496. uni.showModal({
  497. title: '提示',
  498. content: '提交后无法修改并进行审核,确认提交?',
  499. success: function(res) {
  500. if (res.confirm) {
  501. that.$https.get('/youngee/c/t/g/submit-task-sketch' +
  502. "?" +
  503. "task_id" +
  504. "=" +
  505. that.task.task_id)
  506. .then(res => {
  507. console.log(res)
  508. uni.navigateBack()
  509. })
  510. } else if (res.cancel) {
  511. console.log('用户点击取消');
  512. }
  513. }
  514. });
  515. } else if (this.task.task_stage == 11) { // 提交链接
  516. let that = this
  517. uni.showModal({
  518. title: '提示',
  519. content: '提交后无法修改并进行审核,确认提交?',
  520. success: function(res) {
  521. if (res.confirm) {
  522. that.$https.get('/youngee/c/t/g/submit-task-link' +
  523. "?" +
  524. "task_id" +
  525. "=" +
  526. that.task.task_id)
  527. .then(res => {
  528. console.log(res)
  529. uni.navigateBack()
  530. })
  531. } else if (res.cancel) {
  532. console.log('用户点击取消');
  533. }
  534. }
  535. });
  536. } else if (this.task.task_stage == 13) { // 提交数据
  537. let that = this
  538. uni.showModal({
  539. title: '提示',
  540. content: '提交后无法修改并进行审核,确认提交?',
  541. success: function(res) {
  542. if (res.confirm) {
  543. that.$https.get('/youngee/c/t/g/submit-task-data' +
  544. "?" +
  545. "task_id" +
  546. "=" +
  547. that.task.task_id)
  548. .then(res => {
  549. console.log(res)
  550. uni.navigateBack()
  551. })
  552. } else if (res.cancel) {
  553. console.log('用户点击取消');
  554. }
  555. }
  556. });
  557. }
  558. }
  559. }
  560. }
  561. </script>
  562. <style lang="scss" scoped>
  563. text {
  564. font-size: 12px;
  565. }
  566. .importentInfo1 {
  567. margin: 25rpx 11rpx;
  568. background-color: #fbedd9;
  569. border-radius: 8px;
  570. width: 700rpx;
  571. height: 130rpx;
  572. }
  573. .importentInfo2 {
  574. margin: 2rpx 11rpx;
  575. background-color: #bbd0ff;
  576. border-radius: 8px;
  577. width: 700rpx;
  578. height: 65rpx;
  579. }
  580. .card {
  581. display: flex;
  582. align-items: center;
  583. // justify-content: space-between;
  584. width: 88%;
  585. padding: 24rpx;
  586. margin-top: 30rpx;
  587. border-radius: 10rpx;
  588. background-color: #ffffff;
  589. margin: 0 auto;
  590. box-shadow: 0px 0px 10rpx 2rpx #F4F4F4;
  591. }
  592. .Tasktext {
  593. display: inline-block;
  594. padding: 0 0 0 1%;
  595. width: 400rpx;
  596. }
  597. .Tasktext span {
  598. color: #333333;
  599. font-weight: 550;
  600. text-indent: 2em;
  601. font-size: 30rpx;
  602. }
  603. .Tasktext image {
  604. vertical-align: middle;
  605. width: 50rpx;
  606. height: 50rpx;
  607. display: inline-block;
  608. padding-right: 14rpx;
  609. }
  610. .dou {
  611. display: flex;
  612. width: 250rpx;
  613. }
  614. .dou p {
  615. display: inline-block;
  616. font-size: 30rpx;
  617. color: #333333;
  618. font-weight: 550;
  619. }
  620. .dou span {
  621. font-size: 24rpx;
  622. color: #666666;
  623. }
  624. .freeSample p {
  625. padding: 10rpx 20rpx;
  626. font-size: 20rpx;
  627. margin-top: 5rpx;
  628. color: #999999;
  629. }
  630. .saleInfo p {
  631. padding: 10rpx 20rpx;
  632. font-size: 20rpx;
  633. margin-top: 2rpx;
  634. color: #999999;
  635. }
  636. .rewardInfo p {
  637. padding: 10rpx 20rpx;
  638. font-size: 20rpx;
  639. margin-top: 2rpx;
  640. color: #999999;
  641. }
  642. .logisInfo {
  643. display: flex;
  644. justify-content: space-between;
  645. }
  646. .btn1 {
  647. margin: 30rpx;
  648. font-size: 30rpx;
  649. color: white;
  650. width: 500rpx;
  651. background-color: #F0D232;
  652. border: none;
  653. border-radius: 18rpx;
  654. }
  655. .task-info-right {
  656. // width: 100rpx;
  657. // height: 100rpx;
  658. border-radius: 50%;
  659. // border: #ffcb41 2rpx solid;
  660. display: flex;
  661. align-items: center;
  662. justify-content: center;
  663. }
  664. .basicInfo {
  665. display: flex;
  666. align-items: center;
  667. // justify-content: center;
  668. margin-top: 20rpx;
  669. margin-left: 20rpx;
  670. padding: 20rpx;
  671. font-size: 30rpx;
  672. background-color: #FFFFFF;
  673. .basicInfo_txt {
  674. margin-left: 40rpx;
  675. margin-top: 20rpx;
  676. // padding-top: 20rpx;
  677. }
  678. .platform-img {
  679. width: 30rpx;
  680. height: 30rpx;
  681. margin-right: 10rpx;
  682. }
  683. .tpc-txt1 {
  684. display: flex;
  685. justify-content: flex-start;
  686. // margin-left: 20rpx;
  687. }
  688. .tpc-txt2 {
  689. display: flex;
  690. align-items: center;
  691. justify-content: flex-end;
  692. padding-right: 10rpx;
  693. // margin-right: 20rpx;
  694. flex: 1;
  695. .tpc-icon {
  696. width: 30rpx;
  697. height: 30rpx;
  698. }
  699. }
  700. }
  701. .upload-btn {
  702. display: flex;
  703. align-items: center;
  704. justify-content: center;
  705. background-color: #f2d241;
  706. border-radius: 10rpx;
  707. padding: 5rpx;
  708. margin-left: 20rpx;
  709. cursor: pointer;
  710. }
  711. .address {
  712. display: flex;
  713. margin: 20rpx 0;
  714. // padding: 20rpx 20rpx;
  715. background-color: #FFFFFF;
  716. justify-content: space-around;
  717. align-items: center;
  718. .address_icon {
  719. width: 15%;
  720. vertical-align: middle;
  721. display: flex;
  722. justify-content: center;
  723. }
  724. .address_edit {
  725. width: 15%;
  726. }
  727. .address_edit image {
  728. vertical-align: middle;
  729. width: 50rpx;
  730. height: 50rpx;
  731. display: inline-block;
  732. padding-right: 14rpx;
  733. }
  734. .ipon {
  735. color: #333333;
  736. font-size: 30rpx;
  737. margin-bottom: 10rpx;
  738. }
  739. }
  740. .keyInfo {
  741. padding: 20rpx 20rpx;
  742. background-color: #FFFFFF;
  743. .keyInfo_task {
  744. // color: #999999;
  745. }
  746. }
  747. .keyInfo h3 {}
  748. .keyInfo p {
  749. font-size: 30rpx;
  750. }
  751. .account {
  752. display: flex;
  753. align-items: center;
  754. // justify-content: space-between;
  755. // width: 90%;
  756. margin: 20rpx 0;
  757. padding: 20rpx 20rpx;
  758. background-color: #FFFFFF;
  759. font-size: 35rpx;
  760. .account_txt {
  761. display: inline-block;
  762. padding: 0 0 0 1%;
  763. width: 400rpx;
  764. }
  765. .account_txt image {
  766. vertical-align: middle;
  767. width: 50rpx;
  768. height: 50rpx;
  769. display: inline-block;
  770. padding-right: 14rpx;
  771. }
  772. .account_fans {
  773. display: flex;
  774. width: 250rpx;
  775. }
  776. .account_fans p {
  777. display: inline-block;
  778. color: #333333;
  779. }
  780. .account_btn {}
  781. }
  782. .task-progress {
  783. padding: 20rpx;
  784. .task-progress-card {
  785. margin: 15rpx 0;
  786. display: flex;
  787. align-items: center;
  788. // margin: 20rpx;
  789. padding: 10rpx;
  790. font-size: 30rpx;
  791. border-radius: 10rpx;
  792. .tpc-txt1 {
  793. display: flex;
  794. justify-content: flex-start;
  795. // margin-left: 20rpx;
  796. }
  797. .tpc-txt2 {
  798. display: flex;
  799. align-items: center;
  800. justify-content: flex-end;
  801. // margin-right: 20rpx;
  802. flex: 1;
  803. .tpc-icon {
  804. width: 30rpx;
  805. height: 30rpx;
  806. }
  807. }
  808. }
  809. .task-progress-info {
  810. padding: 10rpx;
  811. font-size: 30rpx;
  812. border-radius: 10rpx;
  813. background-color: #f2f2f2;
  814. }
  815. }
  816. .block {
  817. width: 100%;
  818. height: 100rpx;
  819. margin-top: 5%;
  820. }
  821. .submit {
  822. box-shadow: 0rpx 5rpx 40rpx #ccc;
  823. width: 100%;
  824. position: fixed;
  825. bottom: 0rpx;
  826. display: flex;
  827. height: 90rpx;
  828. padding-top: 2%;
  829. background-color: #FFFFFF;
  830. .submit_btn {
  831. width: 60%;
  832. background-color: #FCCF41;
  833. border-radius: 20rpx;
  834. font-size: 36rpx;
  835. line-height: 200%;
  836. letter-spacing: 10rpx;
  837. height: 80%;
  838. }
  839. }
  840. .line {
  841. border-bottom: 1rpx solid #d5d5d5;
  842. width: 98%;
  843. margin: 10rpx 1%;
  844. }
  845. .pipline {
  846. display: flex;
  847. align-items: center;
  848. justify-content: center;
  849. margin: 20rpx;
  850. // border: #FCCF41 1rpx dashed;
  851. }
  852. .pipline image {
  853. /* width: 600rpx; */
  854. height: 150rpx;
  855. }
  856. </style>