myselection.vue 20 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650
  1. <template>
  2. <view>
  3. <!-- 胶囊 -->
  4. <mvBar :mysNavConfig="mysNavConfig"></mvBar>
  5. <view :style="{marginTop:navH}"></view>
  6. <view class="menu">
  7. <view class="menu-item" @click="handleClickTab(0)">
  8. <p v-bind:class="showList[0]?'lor':'unlor'">全部</p>
  9. </view>
  10. <view class="menu-item" @click="handleClickTab(1)">
  11. <p v-bind:class="showList[1]?'lor':'unlor'">已领样</p>
  12. </view>
  13. <view class="menu-item" @click="handleClickTab(2)">
  14. <p v-bind:class="showList[2]?'lor':'unlor'">已出单</p>
  15. </view>
  16. <view class="menu-item" @click="handleClickTab(3)">
  17. <p v-bind:class="showList[3]?'lor':'unlor'">已结束</p>
  18. </view>
  19. </view>
  20. <view class="home" v-if="showList[0] && !loading">
  21. <view class="task" v-for="item in secTaskLists[0]" @click="handleToSecTaskDetail(item)">
  22. <view class="task-card">
  23. <view class="task-info">
  24. <!-- 左侧图片和文字 -->
  25. <view class="task-info-left">
  26. <!-- 图片 -->
  27. <image class="project-img" :src="item.product_img_url"></image>
  28. <image v-if="item.isFinished" class="overlay-img" src="https://horastar.obs.cn-east-3.myhuaweicloud.com/talent/home4.png"></image>
  29. <!-- 描述 -->
  30. <view class="task-info-txt">
  31. <view class="Tasktext">
  32. <image class="platform-img" :src="item.PlatformInfo.platform_icon"></image>
  33. <span>
  34. {{item.SelectionInfo.selection_name}}
  35. </span>
  36. </view>
  37. <p style="color: #ffcb41 ;">任务截至时间:{{item.ddl}}</p>
  38. <p>售价:¥{{item.price}} 佣金率:{{item.exclusive_commission}}%</p>
  39. <!-- sectask表有已经有 -->
  40. <p>全部销售量/有效销售量:{{item.sale_num_all}}单/{{item.sale_actual}}单</p>
  41. <p v-if="item.task_mode==1">悬赏金额/悬赏有效销售量:
  42. ¥{{item.RewardStrategy[0].per_reward}}/{{item.RewardStrategy[0].sale_actual}}单</p>
  43. <p v-if="item.sample_mode==1">免费领样状态:{{ getFreeStageText(item.free_stage) }}</p>
  44. </view>
  45. </view>
  46. <!-- 右侧图标 -->
  47. <view class="task-info-right">
  48. <image
  49. src="https://horastar.obs.cn-east-3.myhuaweicloud.com/talent_upload/icon-arrow-right.png"
  50. style="height: 30rpx;width: 30rpx;"></image>
  51. </view>
  52. </view>
  53. <!-- <view style="text-align: right;" v-if="item.task_stage > 5">
  54. <p style="font-size: 25rpx;">实际收益:¥{{item.show_real_reward}}</p>
  55. </view> -->
  56. <view class="container">
  57. <p class="left-text" v-if="item.reward_stage==1"><span style="color: green;">待领悬赏</span></p>
  58. <p class="right-text" v-if="item.reward_stage==2">实际收益:<span
  59. style="color: red;">¥{{item.RewardStrategy[0].per_reward}}</span></p>
  60. </view>
  61. </view>
  62. </view>
  63. </view>
  64. <view class="home" v-if="showList[1] && !loading">
  65. <view class="task" v-for="item in secTaskLists[1]" @click="handleToSecTaskDetail(item)">
  66. <view class="task-card">
  67. <view class="task-info">
  68. <!-- 左侧图片和文字 -->
  69. <view class="task-info-left">
  70. <!-- 图片 -->
  71. <image class="project-img" :src="item.product_img_url"></image>
  72. <image v-if="item.isFinished" class="overlay-img" src="https://horastar.obs.cn-east-3.myhuaweicloud.com/talent/home4.png"></image>
  73. <!-- 描述 -->
  74. <view class="task-info-txt">
  75. <!-- <view class="" style="display: flex;">
  76. <image class="platform-img" :src="item.platform_icon_url"></image>
  77. <p style="font-size: 28rpx; line-height: 28rpx;color: black;">
  78. {{item.selection_name}}
  79. </p>
  80. </view> -->
  81. <view class="Tasktext">
  82. <image class="platform-img" :src="item.PlatformInfo.platform_icon"></image>
  83. <span>
  84. {{item.SelectionInfo.selection_name}}
  85. </span>
  86. </view>
  87. <p style="color: #ffcb41 ;">任务截至时间:{{item.ddl}}</p>
  88. <p>售价:¥{{item.price}} 佣金率:{{item.exclusive_commission}}%</p>
  89. <!-- sectask表有已经有 -->
  90. <p>全部销售量/有效销售量:{{item.sale_num_all}}单/{{item.sale_actual}}单</p>
  91. <p v-if="item.task_mode==1">悬赏金额/悬赏有效销售量:
  92. ¥{{item.RewardStrategy[0].per_reward}}/{{item.RewardStrategy[0].sale_actual}}单</p>
  93. <p v-if="item.sample_mode==1">免费领样状态:{{ getFreeStageText(item.free_stage) }}</p>
  94. </view>
  95. </view>
  96. <!-- 右侧图标 -->
  97. <view class="task-info-right">
  98. <image
  99. src="https://horastar.obs.cn-east-3.myhuaweicloud.com/talent_upload/icon-arrow-right.png"
  100. style="height: 30rpx;width: 30rpx;"></image>
  101. </view>
  102. </view>
  103. <view class="container">
  104. <p class="left-text" v-if="item.reward_stage==1"><span style="color: green;">待领悬赏</span></p>
  105. <p class="right-text" v-if="item.reward_stage==2">实际收益:<span
  106. style="color: red;">¥{{item.RewardStrategy[0].per_reward}}</span></p>
  107. </view>
  108. </view>
  109. </view>
  110. </view>
  111. <view class="home" v-if="showList[2] && !loading">
  112. <view class="task" v-for="item in secTaskLists[2]" @click="handleToSecTaskDetail(item)">
  113. <view class="task-card">
  114. <view class="task-info">
  115. <!-- 左侧图片和文字 -->
  116. <view class="task-info-left">
  117. <!-- 图片 -->
  118. <image class="project-img" :src="item.product_img_url"></image>
  119. <image v-if="item.isFinished" class="overlay-img" src="https://horastar.obs.cn-east-3.myhuaweicloud.com/talent/home4.png"></image>
  120. <!-- 描述 -->
  121. <view class="task-info-txt">
  122. <!-- <view class="" style="display: flex;">
  123. <image class="platform-img" :src="item.platform_icon_url"></image>
  124. <p style="font-size: 28rpx; line-height: 28rpx;color: black;">
  125. {{item.selection_name}}
  126. </p>
  127. </view> -->
  128. <view class="Tasktext">
  129. <image class="platform-img" :src="item.PlatformInfo.platform_icon"></image>
  130. <span>
  131. {{item.SelectionInfo.selection_name}}
  132. </span>
  133. </view>
  134. <p style="color: #ffcb41 ;">任务截至时间:{{item.ddl}}</p>
  135. <p>售价:¥{{item.price}} 佣金率:{{item.exclusive_commission}}%</p>
  136. <!-- sectask表有已经有 -->
  137. <p>全部销售量/有效销售量:{{item.sale_num_all}}单/{{item.sale_actual}}单</p>
  138. <p v-if="item.task_mode==1">悬赏金额/悬赏有效销售量:
  139. ¥{{item.RewardStrategy[0].per_reward}}/{{item.RewardStrategy[0].sale_actual}}单</p>
  140. <p v-if="item.sample_mode==1">免费领样状态:{{ getFreeStageText(item.free_stage) }}</p>
  141. </view>
  142. </view>
  143. <!-- 右侧图标 -->
  144. <view class="task-info-right">
  145. <image
  146. src="https://horastar.obs.cn-east-3.myhuaweicloud.com/talent_upload/icon-arrow-right.png"
  147. style="height: 30rpx;width: 30rpx;"></image>
  148. </view>
  149. </view>
  150. <view class="container">
  151. <p class="left-text" v-if="item.reward_stage==1"><span style="color: green;">待领悬赏</span></p>
  152. <p class="right-text" v-if="item.reward_stage==2">实际收益:<span
  153. style="color: red;">¥{{item.RewardStrategy[0].per_reward}}</span></p>
  154. </view>
  155. </view>
  156. </view>
  157. </view>
  158. <view class="home" v-if="showList[3] && !loading">
  159. <view class="task" v-for="item in secTaskLists[3]" @click="handleToSecTaskDetail(item)">
  160. <view class="task-card">
  161. <view class="task-info">
  162. <!-- 左侧图片和文字 -->
  163. <view class="task-info-left">
  164. <!-- 图片 -->
  165. <image class="project-img" :src="item.product_img_url"></image>
  166. <image v-if="item.isFinished" class="overlay-img" src="https://horastar.obs.cn-east-3.myhuaweicloud.com/talent/home4.png"></image>
  167. <!-- 描述 -->
  168. <view class="task-info-txt">
  169. <!-- <view class="" style="display: flex;">
  170. <image class="platform-img" :src="item.platform_icon_url"></image>
  171. <p style="font-size: 28rpx; line-height: 28rpx;color: black;">
  172. {{item.selection_name}}
  173. </p>
  174. </view> -->
  175. <view class="Tasktext">
  176. <image class="platform-img" :src="item.PlatformInfo.platform_icon"></image>
  177. <span>
  178. {{item.SelectionInfo.selection_name}}
  179. </span>
  180. </view>
  181. <p style="color: #ffcb41 ;">任务截至时间:{{item.ddl}}</p>
  182. <p>售价:¥{{item.price}} 佣金率:{{item.exclusive_commission}}%</p>
  183. <!-- sectask表有已经有 -->
  184. <p>全部销售量/有效销售量:{{item.sale_num_all}}单/{{item.sale_actual}}单</p>
  185. <p v-if="item.task_mode==1">悬赏金额/悬赏有效销售量:
  186. ¥{{item.RewardStrategy[0].per_reward}}/{{item.RewardStrategy[0].sale_actual}}单</p>
  187. <p v-if="item.sample_mode==1">免费领样状态:{{ getFreeStageText(item.free_stage) }}</p>
  188. </view>
  189. </view>
  190. <!-- 右侧图标 -->
  191. <view class="task-info-right">
  192. <image
  193. src="https://horastar.obs.cn-east-3.myhuaweicloud.com/talent_upload/icon-arrow-right.png"
  194. style="height: 30rpx;width: 30rpx;"></image>
  195. </view>
  196. </view>
  197. <view class="container">
  198. <p class="left-text" v-if="item.reward_stage==1"><span style="color: green;">待领悬赏</span></p>
  199. <p class="right-text" v-if="item.reward_stage==2">实际收益:<span
  200. style="color: red;">¥{{item.RewardStrategy[0].per_reward}}</span></p>
  201. </view>
  202. </view>
  203. </view>
  204. </view>
  205. </view>
  206. </template>
  207. <script>
  208. import mvBar from "@/components/mys_navBar/mysNavBar";
  209. import {
  210. fansview,
  211. money,
  212. getDaysAndHoursBetweenDates,
  213. } from '@/components/utils.js';
  214. export default {
  215. components: {
  216. mvBar,
  217. },
  218. data() {
  219. return {
  220. navH: getApp().globalData.navHeight,
  221. mysNavConfig: {
  222. /* 开启单页显示首页图标 */
  223. isHome: true,
  224. /* 固定导航 */
  225. navFixed: true,
  226. /* 标题 (屏幕中心居中 两边图标中心居中使用slot center1) */
  227. navTitle: {
  228. text: "我的带货任务",
  229. color: "",
  230. fontSize: "32rpx", // px upx rpx
  231. fontWeight: "normal", // 100 - 700
  232. },
  233. btnType: "type2",
  234. onLeftClick: "/pages/mycenter/mycenter",
  235. /* type2 按钮 */
  236. type2Config: {
  237. // 左图标
  238. leftPath: "/static/img/png2.png",
  239. // 右图标
  240. rightPath: "/static/img/png4.png",
  241. // 圆角
  242. radius: "40rpx",
  243. },
  244. },
  245. loading: false,
  246. showList: [true, false, false, false],
  247. secTaskStageList: [],
  248. secTaskLists: [
  249. [],
  250. [],
  251. [],
  252. []
  253. ],
  254. curTab: 0,
  255. productInfo: {},
  256. }
  257. },
  258. async onLoad(options) {
  259. // 判断登录
  260. await this.isLoginApi();
  261. if (this.token === '') {
  262. uni.showModal({
  263. content: '请先登录',
  264. success: function(res) {
  265. if (res.confirm) {
  266. uni.navigateTo({
  267. url: '/pages/login/login'
  268. });
  269. } else if (res.cancel) {
  270. uni.navigateBack();
  271. }
  272. }
  273. });
  274. }
  275. console.log("options--->", options)
  276. let data = options.textObj.replace(/""/g, "");
  277. data = JSON.parse(decodeURIComponent(data))
  278. console.log("data(上级页面参数解码后)--->", data)
  279. this.curTab = data.value
  280. console.log("curTab---->", this.curTab)
  281. let that = this
  282. this.showList.forEach(function(item, index) {
  283. if (index == that.curTab) {
  284. that.showList[index] = true
  285. } else {
  286. that.showList[index] = false
  287. }
  288. })
  289. console.log("showList: ", this.showList)
  290. },
  291. async onShow() {
  292. console.log("onshow!!!!!!!!")
  293. await this.getInfoTableApi()
  294. this.handleClickTab(this.curTab)
  295. },
  296. methods: {
  297. getFreeStageText(freeStage) {
  298. switch (freeStage) {
  299. case 1:
  300. return '已申请';
  301. case 2:
  302. return '已拒绝';
  303. case 3:
  304. return '待发货';
  305. case 4:
  306. return '已发货';
  307. case 5:
  308. return '已收货';
  309. default:
  310. return '未知状态';
  311. }
  312. },
  313. async handleClickTab(value) {
  314. this.loading = true;
  315. uni.showLoading({
  316. title: '加载中'
  317. });
  318. let that = this
  319. this.showList.forEach(function(item, index) {
  320. if (index == value) {
  321. that.showList[index] = true
  322. } else {
  323. that.showList[index] = false
  324. }
  325. })
  326. console.log("handleClickTab", that.showList)
  327. // value为0123
  328. await this.getSecTaskListApi_new(parseInt(value) + 1);
  329. uni.hideLoading();
  330. this.loading = false;
  331. },
  332. handleToSecTaskDetail(item) {
  333. console.log("item--->", item)
  334. uni.navigateTo({
  335. url: '/page_workspace/selection/sectaskdetail1?taskId=' + item.task_id,
  336. success(res) {},
  337. fail(err) {}
  338. });
  339. },
  340. // 判断登陆是否过期
  341. isLoginApi() {
  342. return this.$https.get('/youngee/c/t/g/is-login')
  343. .then(res => {
  344. if (res.data.code === 403) {
  345. // 登陆已失效
  346. this.token = ""
  347. uni.clearStorage();
  348. } else {
  349. this.token = uni.getStorageSync('token')
  350. }
  351. })
  352. },
  353. // 获取所有的info_sectask_stage的状态即 任务阶段
  354. getInfoTableApi() {
  355. return this.$https.get('/youngee/c/g/get-info-tables')
  356. .then(res => {
  357. console.log("/youngee/c/g/get-info-tables", res)
  358. this.secTaskStageList = res.data.data.SecTaskStage
  359. })
  360. },
  361. getProductInfoApi(item) {
  362. return this.$https.get('/youngee/c/t/g/get-product-detail' +
  363. "?productid=" +
  364. item
  365. )
  366. .then(res => {
  367. console.log("getproductsuccess---", res)
  368. this.productInfo = res.data.data
  369. })
  370. },
  371. // 此处value为1234(在后端处理后,每个数字会对应多个状态) 更多task_stage参考info_sectask_stage
  372. async getSecTaskListApi(value) {
  373. return this.$https.get('/youngee/c/api/t/secTask/list?task_stage=' + value).then(
  374. async res => { // 注意这里添加了async关键字
  375. if (res.data.code === 1) {
  376. console.log("res--->", res)
  377. let secTaskList = res.data.data.sec_task
  378. console.log("secTaskList--->", secTaskList)
  379. let num = res.data.data.count
  380. for (let i = 0; i < num; ++i) {
  381. //通过prouctid获取product表和product_photo表的信息
  382. await this.getProductInfoApi(secTaskList[i].product_id);
  383. console.log("****secTaskList[i]*******", secTaskList[i])
  384. secTaskList[i].price = this.productInfo.product_price
  385. secTaskList[i].exclusive_commission = this.productInfo.exclusive_commission
  386. // 主图
  387. if (secTaskList[i].product_photo_snap != null && secTaskList[i]
  388. .product_photo_snap !=
  389. '') {
  390. let productPhoto = JSON.parse(secTaskList[i].product_photo_snap);
  391. for (let j = 0; j < productPhoto.length; j++) {
  392. if (productPhoto[j].Symbol == 1) {
  393. secTaskList[i].product_img_url = productPhoto[j].PhotoUrl
  394. }
  395. }
  396. }
  397. //截至时间
  398. secTaskList[i].ddl = secTaskList[i].task_ddl
  399. //售价和佣金率
  400. // 待修改标识
  401. if (secTaskList[i].task_stage == 8 && secTaskList[i].assignment_status == 3) {
  402. secTaskList[i].isShowModify = true
  403. } else {
  404. secTaskList[i].isShowModify = false
  405. }
  406. // 任务阶段展示
  407. secTaskList[i].task_stage_txt = this.secTaskStageList[secTaskList[i]
  408. .task_stage - 1]
  409. .task_stage
  410. // 任务收益
  411. }
  412. this.secTaskLists[value - 1] = secTaskList
  413. }
  414. })
  415. },
  416. // 此处value为1234(在后端处理后,每个数字会对应多个状态) 更多task_stage参考info_sectask_stage
  417. async getSecTaskListApi_new(value) {
  418. return this.$https.get('/youngee/c/api/t/secTask/list-tab?tab_stage=' + value).then(
  419. async res => { // 注意这里添加了async关键字
  420. if (res.data.code === 1) {
  421. console.log("****res*******", res)
  422. let secTaskList = res.data.data.SecTaskTable
  423. let num = res.data.data.count
  424. for (let i = 0; i < num; ++i) {
  425. console.log("****secTaskList[i]*******", secTaskList[i])
  426. let product_info = secTaskList[i].YounggeeProduct
  427. let product_photo_info = secTaskList[i].YounggeeProductPhoto
  428. let selection_platform = secTaskList[i].PlatformInfo
  429. secTaskList[i].price = product_info.product_price
  430. secTaskList[i].exclusive_commission = product_info.exclusive_commission
  431. // 主图
  432. if (product_photo_info != null && product_photo_info != '') {
  433. for (let j = 0; j < product_photo_info.length; j++) {
  434. if (product_photo_info[j].symbol == 1) {
  435. secTaskList[i].product_img_url = product_photo_info[j].photo_url
  436. }
  437. }
  438. }
  439. //截至时间
  440. secTaskList[i].ddl = secTaskList[i].SelectionInfo.task_ddl
  441. // 判断是否到期
  442. secTaskList[i].isFinished = this.isFinish(secTaskList[i].ddl)
  443. }
  444. this.secTaskLists[value - 1] = secTaskList
  445. }
  446. })
  447. },
  448. isFinish(ddl) {
  449. var timeNow = new Date();
  450. var ddl = new Date(ddl.replace(/-/g, "/"));
  451. var diff = getDaysAndHoursBetweenDates(timeNow, ddl);
  452. let remain_days = diff.days;
  453. let remain_hours = diff.hours;
  454. if (remain_days <= 0 & remain_hours <= 0) return true;
  455. else return false;
  456. },
  457. }
  458. }
  459. </script>
  460. <style lang="scss" scoped>
  461. p {
  462. font-size: 32rpx;
  463. }
  464. .overlay-img {
  465. position: absolute;
  466. width: 200rpx;
  467. height: 200rpx;
  468. background-color: black;
  469. opacity: 0.5;
  470. pointer-events: none; /* This makes the overlay image not interfere with any click events on the main image */
  471. }
  472. .container {
  473. display: flex;
  474. justify-content: space-between;
  475. align-items: center;
  476. }
  477. .left-text {
  478. text-align: left;
  479. flex: 1;
  480. font-size: 30rpx;
  481. padding-left: 20rpx;
  482. }
  483. .right-text {
  484. text-align: right;
  485. flex: 1;
  486. font-size: 30rpx;
  487. padding-right: 20rpx;
  488. padding-top: 15rpx;
  489. }
  490. .Tasktext {
  491. // padding-top: 5% ;
  492. padding: 0 0 0 1%;
  493. // height: 80rpx;
  494. // margin-top: 2%;
  495. }
  496. .Tasktext span {
  497. color: #333333;
  498. font-size: 23rpx;
  499. font-weight: 550;
  500. text-indent: 2em;
  501. }
  502. .Tasktext image {
  503. vertical-align: middle;
  504. width: 50rpx;
  505. height: 50rpx;
  506. display: inline-block;
  507. padding-right: 14rpx;
  508. }
  509. .home {
  510. padding-top: 70rpx;
  511. }
  512. .menu {
  513. position: fixed;
  514. border-bottom: #FCCF41;
  515. background-color: #FFFFFF;
  516. justify-content: space-around;
  517. height: 5%;
  518. width: 100%;
  519. display: flex;
  520. z-index: 10;
  521. }
  522. .menu-item p {
  523. font-weight: 600;
  524. &.lor {
  525. border-bottom: 5rpx solid #F0D232;
  526. color: #F0D232;
  527. padding-bottom: 15rpx;
  528. }
  529. &.unlor {
  530. border-bottom: 5rpx solid #fff;
  531. color: #81838f;
  532. padding-bottom: 15rpx;
  533. }
  534. }
  535. .task-card {
  536. margin: 10rpx 0;
  537. height: 300rpx;
  538. background-color: #f2f2f2;
  539. // border-bottom: 1rpx #d7d7d7 solid;
  540. .platform-img {
  541. width: 40rpx;
  542. height: 40rpx;
  543. margin-right: 10rpx;
  544. flex-shrink: 0;
  545. }
  546. .task-head {
  547. display: flex;
  548. justify-content: space-between;
  549. align-items: center;
  550. padding: 10rpx 20rpx;
  551. .task-head-account {
  552. display: flex;
  553. }
  554. .platform-img {
  555. width: 40rpx;
  556. height: 40rpx;
  557. margin-right: 10rpx;
  558. flex-shrink: 0;
  559. }
  560. .task-head-status p {
  561. color: red;
  562. }
  563. }
  564. .task-info {
  565. display: flex;
  566. justify-content: space-between;
  567. padding: 10rpx 20rpx;
  568. .task-info-left {
  569. display: flex;
  570. // align-items: center;
  571. .project-img {
  572. height: 200rpx;
  573. width: 200rpx;
  574. flex-shrink: 0;
  575. // background-color: #b3c96b;
  576. }
  577. .task-info-txt {
  578. margin-left: 10rpx;
  579. }
  580. .task-info-txt p {
  581. font-size: 24rpx;
  582. color: #85859d;
  583. letter-spacing: 2rpx;
  584. // margin-bottom: 4rpx;
  585. }
  586. }
  587. .task-info-right {
  588. // width: 100rpx;
  589. // height: 100rpx;
  590. border-radius: 50%;
  591. // border: #ffcb41 2rpx solid;
  592. display: flex;
  593. align-items: center;
  594. justify-content: center;
  595. }
  596. .task-info-right p {
  597. font-size: 24rpx;
  598. }
  599. }
  600. }
  601. </style>