sectaskdetail1.vue 25 KB

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