taskdetail.vue 39 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218
  1. <template>
  2. <view>
  3. <!-- 胶囊 -->
  4. <mvBar :mysNavConfig="mysNavConfig"></mvBar>
  5. <view :style="{marginTop:navH}"></view>
  6. <view v-if="!loading">
  7. <!-- 任务状态 -->
  8. <view style="padding-bottom: 30rpx;margin: 0 30rpx">
  9. <view style="display: flex;justify-content: center;font-size: 44rpx;padding-bottom: 20rpx;">
  10. <p>{{msg1}}</p>
  11. <view class="upload-btn" v-if="isShowUpload" @click="toUpload()">
  12. <image src="../../static/img/icon-upload.png" style="height: 40rpx;width: 40rpx;"></image>
  13. <p style="font-size: 28rpx;">快速上传</p>
  14. </view>
  15. </view>
  16. <view style="display: flex;justify-content: center;font-size: 24rpx;color: #999999;text-align:center">
  17. <p>{{msg2}}</p>
  18. </view>
  19. <view style="display: flex;justify-content: center;font-size: 24rpx;color: #999999;text-align:center"
  20. v-if="msg3 != ''">
  21. <p>{{msg3}}</p>
  22. </view>
  23. </view>
  24. <view style="display: flex;justify-content: center;align-items: center;" v-if="isShowUpload && !isSpecial && !isTimeOut">
  25. <image style="height: 60rpx;width: 60rpx;" src="../../static/img/icon-time.png"></image>
  26. <p style="font-size: 30rpx;color: #f2d241;">剩余时间:{{timeLeft}}</p>
  27. </view>
  28. <view style="display: flex;justify-content: center;align-items: center;" v-if="isShowUpload && !isSpecial && isTimeOut">
  29. <image style="height: 60rpx;width: 60rpx;" src="../../static/img/icon-time2.png"></image>
  30. <p style="font-size: 30rpx;color: ##f70c0c;">超时:{{timeLeft}}</p>
  31. </view>
  32. <view class="address" v-if="!isSpecial">
  33. <view class="address_icon">
  34. <image style="width: 50rpx;height: 50rpx;" :src="picture.icon_loc" mode="">
  35. </image>
  36. </view>
  37. <view style="width: 70%;">
  38. <view style="display: flex;">
  39. <p class='ipon' style="padding-right: 100rpx;">{{address.receiver_name}}</p>
  40. <p class='ipon'>{{address.phone_number}}</p>
  41. </view>
  42. <p class='ipon'>{{address.full_detail_addr}}</p>
  43. </view>
  44. <view class="address_edit" @click="editAddress()" v-if="task.task_stage < 4">
  45. <image :src="picture.icon_edit" mode="">
  46. </image>
  47. </view>
  48. </view>
  49. <view class="basicInfo">
  50. <image :src="product.PhotoUrl" style="width: 150rpx;height: 150rpx;" mode="">
  51. </image>
  52. <view class="basicInfo_txt">
  53. <p style="margin-bottom: 10rpx;font-size: 35rpx;font-weight: 550;">{{project.project_name}}</p>
  54. <p style="font-size: 30rpx;">商品价值:{{project.Product.ProductPrice}}元</p>
  55. </view>
  56. </view>
  57. <view class="keyInfo">
  58. <view style="margin-bottom: 40rpx;">
  59. <p style="font-size: 36rpx;font-weight: 550;">关键任务信息</p>
  60. </view>
  61. <view v-if="!isSpecial">
  62. <p style="font-weight: 600;margin-bottom: 10rpx;">合作方式</p>
  63. <p>粉丝量:{{strategy.show_followers_low}}-{{strategy.show_followers_up}}
  64. &nbsp;&nbsp;
  65. 稿费:{{strategy.fee_form_t}}
  66. </p>
  67. </view>
  68. <view class="line"></view>
  69. <view style="margin-top: 20rpx;margin-bottom: 10rpx;">
  70. <p style="font-weight: 600;margin-bottom: 10rpx;">社媒平台:</p>
  71. <p>{{project.project_platform_t}}</p>
  72. </view>
  73. <view class="line"></view>
  74. <p style="font-weight: 600;margin-top: 10rpx;">任务要求</p>
  75. <view class="keyInfo_task">
  76. <view style="display: flex;align-items: center;margin: 10rpx 0;">
  77. <p>内容形式:</p>
  78. <p>{{project.content}}</p>
  79. </view>
  80. <view style="display: flex;align-items: center;margin: 10rpx 0;">
  81. <p>任务形式:</p>
  82. <p>{{project.project_form_t}}</p>
  83. </view>
  84. <view style="margin-top: 20rpx;margin-bottom: 10rpx;">
  85. <p>商品描述:</p>
  86. <text>{{project.Product.ProductDetail}}</text>
  87. </view>
  88. <view style="margin-top: 20rpx;margin-bottom: 10rpx;">
  89. <p>任务详情:</p>
  90. <text>{{project.project_detail}}</text>
  91. </view>
  92. </view>
  93. </view>
  94. <view class="task-progress">
  95. <p style="font-size: 32rpx;font-weight: 600;">任务进度</p>
  96. <view class="task-progress-card" v-bind:style="task.task_stage == 1 ? 'background-color: #f2d241' : ''">
  97. <view class="tpc-txt1">
  98. <p>报名信息</p>
  99. </view>
  100. <view class="tpc-txt2" @click="toApplyinfo()">
  101. <p>查看</p>
  102. <image class="tpc-icon" :src="picture.icon_right"></image>
  103. </view>
  104. </view>
  105. <view class="task-progress-card"
  106. v-if="(task.task_stage >= 5 && task.task_stage <= 15) || ((task.task_stage === 16 || task.task_stage === 3) && task.logistics_status >= 2)"
  107. v-bind:style="task.task_stage >= 5 && task.task_stage <= 6 ? 'background-color: #f2d241' : ''">
  108. <view class="tpc-txt1">
  109. <p>物流信息</p>
  110. </view>
  111. <view class="tpc-txt2" @click="toLogisticsinfo()">
  112. <p>查看</p>
  113. <image class="tpc-icon" :src="picture.icon_right"></image>
  114. </view>
  115. </view>
  116. <view class="task-progress-card"
  117. v-if="project.content_type == 2 && ((task.task_stage >= 7 && task.task_stage <= 15) || ((task.task_stage === 16 || task.task_stage === 3) && task.script_status == 5))"
  118. v-bind:style="task.task_stage >= 7 && task.task_stage <= 8 ? 'background-color: #f2d241' : ''">
  119. <view class="tpc-txt1">
  120. <p>上传拍摄脚本</p>
  121. </view>
  122. <view class="tpc-txt2" @click="toUpload()" v-if="task.script_status == 1">
  123. <p style="color: red;">待添加</p>
  124. <image class="tpc-icon" :src="picture.icon_right"></image>
  125. </view>
  126. <view class="tpc-txt2" @click="toUpload()" v-if="task.script_status == 2">
  127. <p style="color: #fff;">已添加</p>
  128. <image class="tpc-icon" :src="picture.icon_right"></image>
  129. </view>
  130. <view class="tpc-txt2" @click="toUpload()" v-if="task.script_status == 3">
  131. <p style="color: red;">待修改</p>
  132. <image class="tpc-icon" :src="picture.icon_right"></image>
  133. </view>
  134. <view class="tpc-txt2" @click="toUpload()" v-if="task.script_status == 4">
  135. <p style="color: #fff;">已修改</p>
  136. <image class="tpc-icon" :src="picture.icon_right"></image>
  137. </view>
  138. <view class="tpc-txt2" @click="toScriptRecord()" v-if="task.script_status == 5">
  139. <p>查看</p>
  140. <image class="tpc-icon" :src="picture.icon_right"></image>
  141. </view>
  142. </view>
  143. <view class="task-progress-card"
  144. v-if="(task.task_stage >= 9 && task.task_stage <= 15) || ((task.task_stage === 16 || task.task_stage === 3) && task.sketch_status == 5)"
  145. v-bind:style="task.task_stage >= 9 && task.task_stage <= 10 ? 'background-color: #f2d241' : ''">
  146. <view class="tpc-txt1">
  147. <p>上传初稿</p>
  148. </view>
  149. <view class="tpc-txt2" @click="toUpload()" v-if="task.sketch_status == 1">
  150. <p style="color: red;">待添加</p>
  151. <image class="tpc-icon" :src="picture.icon_right"></image>
  152. </view>
  153. <view class="tpc-txt2" @click="toUpload()" v-if="task.sketch_status == 2">
  154. <p style="color: #fff;">已添加</p>
  155. <image class="tpc-icon" :src="picture.icon_right"></image>
  156. </view>
  157. <view class="tpc-txt2" @click="toUpload()" v-if="task.sketch_status == 3">
  158. <p style="color: red;">待修改</p>
  159. <image class="tpc-icon" :src="picture.icon_right"></image>
  160. </view>
  161. <view class="tpc-txt2" @click="toUpload()" v-if="task.sketch_status == 4">
  162. <p style="color: #fff;">已修改</p>
  163. <image class="tpc-icon" :src="picture.icon_right"></image>
  164. </view>
  165. <view class="tpc-txt2" @click="toSketchRecord()" v-if="task.sketch_status == 5">
  166. <p>查看</p>
  167. <image class="tpc-icon" :src="picture.icon_right"></image>
  168. </view>
  169. </view>
  170. <view class="task-progress-card"
  171. v-if="(task.task_stage >= 11 && task.task_stage <= 15) || ((task.task_stage === 16 || task.task_stage === 3) && task.link_status == 5)"
  172. v-bind:style="task.task_stage >= 11 && task.task_stage <= 12 ? 'background-color: #f2d241' : ''">
  173. <view class="tpc-txt1">
  174. <p>上传链接</p>
  175. </view>
  176. <view class="tpc-txt2" @click="toUpload()" v-if="task.link_status == 1">
  177. <p style="color: red;">待添加</p>
  178. <image class="tpc-icon" :src="picture.icon_right"></image>
  179. </view>
  180. <view class="tpc-txt2" @click="toUpload()" v-if="task.link_status == 2">
  181. <p style="color: #fff;">已添加</p>
  182. <image class="tpc-icon" :src="picture.icon_right"></image>
  183. </view>
  184. <view class="tpc-txt2" @click="toUpload()" v-if="task.link_status == 3">
  185. <p style="color: red;">待修改</p>
  186. <image class="tpc-icon" :src="picture.icon_right"></image>
  187. </view>
  188. <view class="tpc-txt2" @click="toUpload()" v-if="task.link_status == 4">
  189. <p style="color: #fff;">已修改</p>
  190. <image class="tpc-icon" :src="picture.icon_right"></image>
  191. </view>
  192. <view class="tpc-txt2" @click="toLinkRecord()" v-if="task.link_status == 5">
  193. <p>查看</p>
  194. <image class="tpc-icon" :src="picture.icon_right"></image>
  195. </view>
  196. </view>
  197. <view class="task-progress-card"
  198. v-if="(task.task_stage >= 13 && task.task_stage <= 15) || ((task.task_stage === 16 || task.task_stage === 3) && task.data_status == 5)"
  199. v-bind:style="task.task_stage >= 13 && task.task_stage <= 14 ? 'background-color: #f2d241' : ''">
  200. <view class="tpc-txt1">
  201. <p>上传数据</p>
  202. </view>
  203. <view class="tpc-txt2" @click="toUpload()" v-if="task.data_status == 1">
  204. <p style="color: red;">待添加</p>
  205. <image class="tpc-icon" :src="picture.icon_right"></image>
  206. </view>
  207. <view class="tpc-txt2" @click="toUpload()" v-if="task.data_status == 2">
  208. <p style="color: #fff;">已添加</p>
  209. <image class="tpc-icon" :src="picture.icon_right"></image>
  210. </view>
  211. <view class="tpc-txt2" @click="toUpload()" v-if="task.data_status == 3">
  212. <p style="color: red;">待修改</p>
  213. <image class="tpc-icon" :src="picture.icon_right"></image>
  214. </view>
  215. <view class="tpc-txt2" @click="toUpload()" v-if="task.data_status == 4">
  216. <p style="color: #fff;">已修改</p>
  217. <image class="tpc-icon" :src="picture.icon_right"></image>
  218. </view>
  219. <view class="tpc-txt2" @click="toDataRecord()" v-if="task.data_status == 5">
  220. <p>查看</p>
  221. <image class="tpc-icon" :src="picture.icon_right"></image>
  222. </view>
  223. </view>
  224. <view class="task-progress-card" v-if="task.task_stage === 15" style="background-color: #f2d241">
  225. <view class="tpc-txt1">
  226. <p>已结案</p>
  227. </view>
  228. <view class="tpc-txt2" @click="toWithdraw()">
  229. <p>前往提现</p>
  230. <image class="tpc-icon" :src="picture.icon_right"></image>
  231. </view>
  232. </view>
  233. <view class="task-progress-info">
  234. <view style="padding: 10rpx 0;">
  235. <span style="display: flex;align-items: center;">
  236. <p>任务id:{{task.task_id}}</p>
  237. <image :src="picture.icon_copy" mode="" style="width: 40rpx;height: 40rpx;"
  238. @click="handleCopy()" />
  239. </span>
  240. </view>
  241. <view style="padding: 10rpx 0;">
  242. <p>报名时间:{{task.create_date}}</p>
  243. </view>
  244. <view v-if="task.task_stage > 1" style="padding: 10rpx 0;">
  245. <p>确认合作:{{task.select_date}}</p>
  246. </view>
  247. <view v-for="(item,index) in taskLogs" style="padding: 10rpx 0;">
  248. <p>{{item.content}}:{{item.log_at}}</p>
  249. </view>
  250. </view>
  251. </view>
  252. <view class="block"></view>
  253. <view class="submit" v-if="task.task_stage >= 7 && task.task_stage <= 14">
  254. <button type="default" class="submit_btn" @click="submit()" :disabled="isNotShowSubmit"
  255. v-bind:style="isNotShowSubmit ? '' : 'background-color: #f2d241'">
  256. 确认提交</button>
  257. </view>
  258. <view class="submit" v-if="task.task_stage === 15">
  259. <button type="default" class="submit_btn" @click="toWithdraw()"
  260. v-bind:style="isNotShowSubmit ? '' : 'background-color: #f2d241'">
  261. 前往提现</button>
  262. </view>
  263. </view>
  264. </view>
  265. </template>
  266. <script>
  267. import region from '@/components/pca-code.json';
  268. import mvBar from "@/components/mys_navBar/mysNavBar";
  269. import {
  270. fansview
  271. } from '@/components/utils.js';
  272. export default {
  273. components: {
  274. mvBar
  275. },
  276. data() {
  277. return {
  278. navH: getApp().globalData.navHeight,
  279. isTimeOut: false,
  280. isNotShowSubmit: true,
  281. isShowUpload: false,
  282. loading: true,
  283. isSpecial: false,
  284. timeLeft: "",
  285. msg1: "",
  286. msg2: "",
  287. msg3: "",
  288. infoMsg1: [
  289. "等待企业确认合作",
  290. "恭喜任务申请成功!",
  291. "任务申请失败",
  292. "等待发货中",
  293. "商家已发货",
  294. "商品已签收",
  295. "等待上传拍摄脚本",
  296. "等待脚本审核",
  297. "等待上传初稿",
  298. "等待初稿审核",
  299. "等待上传链接",
  300. "等待链接审核",
  301. "等待上传作品数据",
  302. "等待数据审核",
  303. "已结案",
  304. "任务终止",
  305. ],
  306. infoMsg2: [
  307. "商家将在申请截止后5天内审核完毕",
  308. "请仔细查看任务要求和任务详情,开始执行任务吧!",
  309. "账号未达到入选标准,请小主尝试申请其他任务吧",
  310. "发货后可在任务进度中查看物流单号",
  311. "请在物流进度中查看物流单号/虚拟产品兑换码",
  312. "请在物流进度中查看物流单号/虚拟产品兑换码",
  313. "请在任务进度中上传拍摄脚本,商家审核通过后再进行拍摄",
  314. "商家正在审核脚本,请耐心等待。",
  315. "请在任务进度中上传图文/视频初稿,商家审核通过后再进行发布",
  316. "商家正在审核初稿,请耐心等待。",
  317. "恭喜作品审核通过,请及时发布并在任务进度中上传发布链接。",
  318. "商家正在审核链接,请耐心等待。",
  319. "恭喜链接审核通过,请在作品发布7天后上传作品数据。",
  320. "商家正在审核数据,请耐心等待。",
  321. "本项目已结案,可申请佣金提现。",
  322. "长时间未上传,任务已终止。",
  323. ],
  324. infoMsg3: [
  325. "企业将在5个工作日内完成核对账号信息,请耐心等待",
  326. "请仔细查看任务要求和任务详情,开始执行任务吧!",
  327. "账号非企业定向邀请账号,请小主尝试申请其他任务吧",
  328. "发货后可在任务进度中查看物流单号",
  329. "请在物流进度中查看物流单号/虚拟产品兑换码",
  330. "请在物流进度中查看物流单号/虚拟产品兑换码",
  331. "请在任务进度中上传拍摄脚本,商家审核通过后再进行拍摄",
  332. "请在任务进度中上传拍摄脚本,商家审核通过后再进行拍摄",
  333. "请在任务进度中上传图文/视频初稿,商家审核通过后再进行发布",
  334. "请在任务进度中上传图文/视频初稿,商家审核通过后再进行发布",
  335. "恭喜作品审核通过,请及时发布并在任务进度中上传发布链接。",
  336. "恭喜作品审核通过,请及时发布并在任务进度中上传发布链接。",
  337. "恭喜链接审核通过,请在作品发布7天后上传作品数据。",
  338. "恭喜链接审核通过,请在作品发布7天后上传作品数据。",
  339. "本项目已结案,可申请佣金提现。",
  340. "长时间未上传,任务已终止。",
  341. ],
  342. platform: [
  343. "红book",
  344. "抖音",
  345. "微博",
  346. "快手",
  347. "B站",
  348. "大众点评",
  349. "知乎",
  350. ],
  351. task: {},
  352. address: {},
  353. project: {},
  354. product: {},
  355. account: {},
  356. strategy: {},
  357. picture: {
  358. togoimg: 'https://horastar.obs.cn-east-3.myhuaweicloud.com/talent/task16.png',
  359. icon_copy: 'https://horastar.obs.cn-east-3.myhuaweicloud.com/talent_upload/icon-copy.png',
  360. icon_edit: 'https://horastar.obs.cn-east-3.myhuaweicloud.com/youngee/talent_upload/icon-edit.png',
  361. icon_loc: 'https://horastar.obs.cn-east-3.myhuaweicloud.com/youngee/talent_upload/icon-loc.png',
  362. icon_right: 'https://horastar.obs.cn-east-3.myhuaweicloud.com/talent_upload/icon-arrow-right.png',
  363. home8: 'https://horastar.obs.cn-east-3.myhuaweicloud.com/talent/home8.png',
  364. home10: 'https://horastar.obs.cn-east-3.myhuaweicloud.com/talent/home10.png',
  365. home11: 'https://horastar.obs.cn-east-3.myhuaweicloud.com/talent/home11.png',
  366. },
  367. task_type_info: ["实体商品寄拍", "虚拟产品测评", "线下探店打卡"],
  368. taskLogs: [],
  369. mysNavConfig: {
  370. isHome: false,
  371. /* 固定导航 */
  372. navFixed: true,
  373. /* 标题 (屏幕中心居中 两边图标中心居中使用slot center1) */
  374. navTitle: {
  375. text: "我的任务详情",
  376. color: "",
  377. fontSize: "32rpx", // px upx rpx
  378. fontWeight: "", // 100 - 700
  379. },
  380. btnType: "type2",
  381. onLeftClick: '',
  382. /* type2 按钮 */
  383. type2Config: {
  384. // 左图标
  385. leftPath: "https://horastar.obs.cn-east-3.myhuaweicloud.com/talent/png2.png",
  386. // 右图标
  387. rightPath: "https://horastar.obs.cn-east-3.myhuaweicloud.com/talent/png4.png",
  388. // 圆角
  389. radius: "40rpx",
  390. },
  391. },
  392. }
  393. },
  394. async onShow() {
  395. this.loading = true;
  396. uni.showLoading({
  397. title: '加载中'
  398. });
  399. await this.getTaskInfo();
  400. await this.getTaskLogs();
  401. if (!this.isSpecial) {
  402. this.getLeftTime();
  403. } else {
  404. this.loading = false;
  405. uni.hideLoading();
  406. }
  407. },
  408. onLoad(options) {
  409. this.taskId = options.taskId
  410. },
  411. methods: {
  412. handleCopy() {
  413. wx.setClipboardData({
  414. data: this.task.task_id.toString(),
  415. success: function(res) {
  416. console.log("复制成功");
  417. }
  418. });
  419. },
  420. async getLeftTime(value) {
  421. switch (this.task.task_stage) {
  422. case 7:
  423. // 首次提交
  424. if (this.task.script_status === 1 || this.task.script_status === 2) {
  425. let logistics = null;
  426. await this.$https.get('/youngee/c/t/g/get-task-logistics-info' +
  427. "?" +
  428. "task_id" +
  429. "=" +
  430. this.taskId
  431. ).then(res => {
  432. logistics = res.data.data
  433. })
  434. if (logistics.auto_script_break_at !== null && logistics.auto_script_break_at !== "") {
  435. this.timeLeft = this.thistime(logistics.auto_script_break_at)
  436. } else {
  437. // 为脚本违约限制时间赋值并返回
  438. await this.$https.post('/youngee/c/t/p/get-auto-time', {
  439. task_id: this.taskId,
  440. type: 1,
  441. }).then(res => {
  442. this.timeLeft = this.thistime(res.data.data)
  443. })
  444. }
  445. } else if (this.task.script_status === 3 || this.task.script_status === 4) {
  446. let scriptList = null;
  447. let script = null;
  448. await this.$https.get('/youngee/c/t/g/get-task-script' +
  449. "?" +
  450. "task_id" +
  451. "=" +
  452. this.taskId)
  453. .then(res => {
  454. scriptList = res.data.data
  455. for (let i = 0; i < scriptList.length; ++i) {
  456. if (scriptList[i].is_review === 1) {
  457. script = scriptList[i]
  458. }
  459. }
  460. })
  461. if (script.auto_script_break_at !== null && script.auto_script_break_at !== "") {
  462. this.timeLeft = this.thistime(script.auto_script_break_at)
  463. } else {
  464. // 为脚本违约限制时间赋值并返回
  465. await this.$https.post('/youngee/c/t/p/get-auto-time', {
  466. task_id: this.taskId,
  467. type: 2,
  468. }).then(res => {
  469. this.timeLeft = this.thistime(res.data.data)
  470. })
  471. }
  472. }
  473. this.msg1 = this.isTimeOut ? "脚本上传违约" : this.msg1
  474. break;
  475. case 9:
  476. // 首次提交
  477. if (this.task.sketch_status === 1 || this.task.sketch_status === 2) {
  478. if (this.project.content_type === 1) {
  479. let logistics = null;
  480. await this.$https.get('/youngee/c/t/g/get-task-logistics-info' +
  481. "?" +
  482. "task_id" +
  483. "=" +
  484. this.taskId
  485. ).then(res => {
  486. logistics = res.data.data
  487. })
  488. if (logistics.auto_sketch_break_at !== null && logistics.auto_sketch_break_at !== "") {
  489. this.timeLeft = this.thistime(logistics.auto_sketch_break_at)
  490. } else {
  491. // 为初稿违约限制时间赋值并返回
  492. await this.$https.post('/youngee/c/t/p/get-auto-time', {
  493. task_id: this.taskId,
  494. type: 4,
  495. }).then(res => {
  496. this.timeLeft = this.thistime(res.data.data)
  497. })
  498. }
  499. } else {
  500. let scriptList = null;
  501. await this.$https.get('/youngee/c/t/g/get-task-script' +
  502. "?" +
  503. "task_id" +
  504. "=" +
  505. this.taskId)
  506. .then(res => {
  507. scriptList = res.data.data
  508. })
  509. for (let i = 0; i < scriptList.length; ++i) {
  510. if (scriptList[i].is_ok === 1) {
  511. if (scriptList[i].auto_sketch_break_at !== null && scriptList[i].auto_sketch_break_at !== "") {
  512. this.timeLeft = this.thistime(scriptList[i].auto_sketch_break_at)
  513. } else {
  514. // 为初稿违约限制时间赋值并返回
  515. await this.$https.post('/youngee/c/t/p/get-auto-time', {
  516. task_id: this.taskId,
  517. type: 3,
  518. }).then(res => {
  519. this.timeLeft = this.thistime(res.data.data)
  520. })
  521. }
  522. }
  523. }
  524. }
  525. } else if (this.task.sketch_status === 3 || this.task.sketch_status === 4){ //修改
  526. let sketchList = null;
  527. let sketch = null;
  528. await this.$https.get('/youngee/c/t/g/get-task-sketch' +
  529. "?" +
  530. "task_id" +
  531. "=" +
  532. this.taskId)
  533. .then(res => {
  534. sketchList = res.data.data
  535. for (let i = 0; i < sketchList.length; ++i) {
  536. if (sketchList[i].is_review === 1) {
  537. sketch = sketchList[i]
  538. }
  539. }
  540. })
  541. if (sketch.auto_sketch_break_at !== null && sketch.auto_sketch_break_at !== "") {
  542. this.timeLeft = this.thistime(sketch.auto_sketch_break_at)
  543. } else {
  544. // 为脚本违约限制时间赋值并返回
  545. let type = this.project.content_type === 1 ? 6 : 5;
  546. await this.$https.post('/youngee/c/t/p/get-auto-time', {
  547. task_id: this.taskId,
  548. type: type,
  549. }).then(res => {
  550. this.timeLeft = this.thistime(res.data.data)
  551. })
  552. }
  553. }
  554. this.msg1 = this.isTimeOut ? "初稿上传违约" : this.msg1
  555. break;
  556. case 11:
  557. // 首次提交
  558. if (this.task.link_status === 1 || this.task.link_status === 2) {
  559. let sketchList = null;
  560. await this.$https.get('/youngee/c/t/g/get-task-sketch' +
  561. "?" +
  562. "task_id" +
  563. "=" +
  564. this.taskId)
  565. .then(res => {
  566. sketchList = res.data.data
  567. })
  568. for (let i = 0; i < sketchList.length; ++i) {
  569. if (sketchList[i].is_ok === 1) {
  570. if (sketchList[i].auto_link_break_at !== null && sketchList[i].auto_link_break_at !== "") {
  571. this.timeLeft = this.thistime(sketchList[i].auto_link_break_at)
  572. } else {
  573. // 为链接违约限制时间赋值并返回
  574. await this.$https.post('/youngee/c/t/p/get-auto-time', {
  575. task_id: this.taskId,
  576. type: 7,
  577. }).then(res => {
  578. this.timeLeft = this.thistime(res.data.data)
  579. })
  580. }
  581. }
  582. }
  583. } else if(this.task.link_status === 3 || this.task.link_status === 4){
  584. let linkList = null;
  585. let link = null;
  586. await this.$https.get('/youngee/c/t/g/get-task-link' +
  587. "?" +
  588. "task_id" +
  589. "=" +
  590. this.taskId)
  591. .then(res => {
  592. linkList = res.data.data
  593. for (let i = 0; i < linkList.length; ++i) {
  594. if (linkList[i].is_review === 1) {
  595. link = linkList[i]
  596. }
  597. }
  598. })
  599. if (link.auto_link_break_at !== null && link.auto_link_break_at !== "") {
  600. this.timeLeft = this.thistime(link.auto_link_break_at)
  601. } else {
  602. // 为脚本违约限制时间赋值并返回
  603. await this.$https.post('/youngee/c/t/p/get-auto-time', {
  604. task_id: this.taskId,
  605. type: 8,
  606. }).then(res => {
  607. this.timeLeft = this.thistime(res.data.data)
  608. })
  609. }
  610. }
  611. this.msg1 = this.isTimeOut ? "链接上传违约" : this.msg1
  612. break;
  613. case 13:
  614. // 首次提交
  615. if (this.task.data_status === 1 || this.task.data_status === 2) {
  616. let linkList = null;
  617. await this.$https.get('/youngee/c/t/g/get-task-link' +
  618. "?" +
  619. "task_id" +
  620. "=" +
  621. this.taskId)
  622. .then(res => {
  623. linkList = res.data.data
  624. })
  625. for (let i = 0; i < linkList.length; ++i) {
  626. if (linkList[i].is_ok === 1) {
  627. if (linkList[i].auto_data_break_at !== null && linkList[i].auto_data_break_at !== "") {
  628. this.timeLeft = this.thistime(linkList[i].auto_data_break_at)
  629. } else {
  630. // 为数据违约限制时间赋值并返回
  631. await this.$https.post('/youngee/c/t/p/get-auto-time', {
  632. task_id: this.taskId,
  633. type: 9,
  634. }).then(res => {
  635. this.timeLeft = this.thistime(res.data.data)
  636. })
  637. }
  638. }
  639. }
  640. } else if (this.task.data_status === 3 || this.task.data_status === 4){
  641. let dataList = null;
  642. let data = null;
  643. await this.$https.get('/youngee/c/t/g/get-task-data' +
  644. "?" +
  645. "task_id" +
  646. "=" +
  647. this.taskId)
  648. .then(res => {
  649. dataList = res.data.data
  650. for (let i = 0; i < dataList.length; ++i) {
  651. if (dataList[i].is_review === 1) {
  652. data = dataList[i]
  653. }
  654. }
  655. })
  656. if (data.auto_data_break_at !== null && data.auto_data_break_at !== "") {
  657. this.timeLeft = this.thistime(data.auto_data_break_at)
  658. } else {
  659. // 为脚本违约限制时间赋值并返回
  660. await this.$https.post('/youngee/c/t/p/get-auto-time', {
  661. task_id: this.taskId,
  662. type: 10,
  663. }).then(res => {
  664. this.timeLeft = this.thistime(res.data.data)
  665. })
  666. }
  667. }
  668. this.msg1 = this.isTimeOut ? "数据上传违约" : this.msg1
  669. break;
  670. default:
  671. break;
  672. }
  673. this.loading = false;
  674. uni.hideLoading();
  675. },
  676. getTaskInfo() {
  677. return this.$https.get('/youngee/c/t/g/get-task-detail' +
  678. "?" +
  679. "task_id" +
  680. "=" +
  681. this.taskId
  682. ).then(res => {
  683. console.log(res)
  684. this.task = res.data.data.task_info
  685. this.address = JSON.parse(res.data.data.task_info.talent_post_addr_snap);
  686. let a = this.address.region_code.toString().slice(0, 2)
  687. let b = this.address.region_code.toString().slice(0, 4)
  688. let c = 0
  689. for (var i = 0; i < region.length; i++) {
  690. if (region[i].code == a) {
  691. a = region[i].name
  692. for (var j = 0; j < region[i].children.length; j++) {
  693. if (region[i].children[j].code == b) {
  694. b = region[i].children[j].name
  695. for (var o = 0; o < region[i].children[j].children.length; o++) {
  696. if (region[i].children[j].children[o].code == this.address
  697. .region_code) {
  698. c = region[i].children[j].children[o].name
  699. }
  700. }
  701. }
  702. }
  703. }
  704. }
  705. this.address.full_detail_addr = a + b + c + this.address.detail_addr
  706. this.account = JSON.parse(res.data.data.task_info.talent_platform_info_snap);
  707. this.account.show_fans_count = fansview(this.account.fans_count)
  708. this.project = res.data.data.project_detail
  709. this.project.Product = JSON.parse(res.data.data.project_detail.product_snap);
  710. let ProductPhoto = JSON.parse(res.data.data.project_detail.product_photo_snap);
  711. for (let j = 0; j < ProductPhoto.length; ++j) {
  712. if (ProductPhoto[j].Symbol == 1) {
  713. this.product = ProductPhoto[j]
  714. }
  715. }
  716. this.strategy = res.data.data.strategy
  717. this.isSpecial = this.project.project_type === 2 ? true : false;
  718. if (!this.isSpecial) {
  719. this.strategy.show_followers_low = fansview(this.strategy.followers_low)
  720. this.strategy.show_followers_up = fansview(this.strategy.followers_up)
  721. this.strategy.fee_form_t = this.strategy.fee_form === 1 ? '产品置换' : (this.strategy
  722. .fee_form ===
  723. 2 ?
  724. '固定稿费 ' +
  725. this.task.task_reward : '创作者自报价 ' + this.task.task_reward)
  726. }
  727. this.project.content = this.project.content_type === 1 ? "图文" : "视频" // 任务形式
  728. this.project.project_form_t = this.task_type_info[this.project.project_form - 1] // 任务类型
  729. this.project.project_platform_t = this.platform[this.project.project_platform - 1] // 社媒平台
  730. // 不同任务阶段提示消息
  731. this.msg1 = this.infoMsg1[this.task.task_stage - 1]
  732. this.msg2 = this.isSpecial ? this.infoMsg3[this.task.task_stage - 1] : this.infoMsg2[this.task
  733. .task_stage - 1]
  734. if (this.task.task_stage == 7) {
  735. this.msg3 = "延迟上传脚本,可能导致佣金扣除。"
  736. } else if (this.task.task_stage == 9) {
  737. this.msg3 = "延迟上传初稿,可能导致佣金扣除。"
  738. } else if (this.task.task_stage == 11) {
  739. this.msg3 = "延迟上传链接,可能导致佣金扣除。"
  740. } else if (this.task.task_stage == 13) {
  741. this.msg3 = "延迟上传数据,可能导致佣金扣除。"
  742. }
  743. // 判断是否显示快速上传按钮
  744. if (this.task.task_stage == 7 || this.task.task_stage == 9 || this.task.task_stage == 11 ||
  745. this.task.task_stage == 13) {
  746. this.isShowUpload = true
  747. }
  748. // 判断确认提交按钮是否可用
  749. if (this.task.task_stage == 7 && (this.task.script_status == 2 || this.task.script_status ==
  750. 4)) {
  751. this.isNotShowSubmit = false
  752. }
  753. if (this.task.task_stage == 9 && (this.task.sketch_status == 2 || this.task.sketch_status ==
  754. 4)) {
  755. this.isNotShowSubmit = false
  756. }
  757. if (this.task.task_stage == 11 && (this.task.link_status == 2 || this.task.link_status == 4)) {
  758. this.isNotShowSubmit = false
  759. }
  760. if (this.task.task_stage == 13 && (this.task.data_status == 2 || this.task.data_status == 4)) {
  761. this.isNotShowSubmit = false
  762. }
  763. })
  764. },
  765. getTaskLogs() {
  766. return this.$https.get('/youngee/c/t/g/get-task-log' +
  767. "?" +
  768. "task_id" +
  769. "=" +
  770. this.taskId
  771. ).then(res => {
  772. this.taskLogs = res.data.data
  773. })
  774. },
  775. toUpload() {
  776. if (this.task.task_stage == 7) { // 上传脚本
  777. var data = {
  778. taskId: this.task.task_id,
  779. scriptStatus: this.task.script_status
  780. };
  781. data = JSON.stringify(data)
  782. uni.navigateTo({
  783. url: '/pages/workspace/uploadscript?textObj=' + encodeURIComponent(data)
  784. });
  785. } else if (this.task.task_stage == 9) { // 上传初稿
  786. var data = {
  787. taskId: this.task.task_id,
  788. sketchStatus: this.task.sketch_status
  789. };
  790. data = JSON.stringify(data)
  791. uni.navigateTo({
  792. url: '/pages/workspace/uploadsketch?textObj=' + encodeURIComponent(data)
  793. });
  794. } else if (this.task.task_stage == 11) { // 上传链接
  795. var data = {
  796. taskId: this.task.task_id,
  797. linkStatus: this.task.link_status
  798. };
  799. data = JSON.stringify(data)
  800. uni.navigateTo({
  801. url: '/pages/workspace/uploadlink?textObj=' + encodeURIComponent(data)
  802. });
  803. } else if (this.task.task_stage == 13) { // 上传数据
  804. var data = {
  805. taskId: this.task.task_id,
  806. dataStatus: this.task.data_status
  807. };
  808. data = JSON.stringify(data)
  809. uni.navigateTo({
  810. url: '/pages/workspace/uploaddata?textObj=' + encodeURIComponent(data)
  811. });
  812. }
  813. },
  814. toScriptRecord() {
  815. var data = {
  816. taskId: this.task.task_id,
  817. };
  818. data = JSON.stringify(data)
  819. uni.navigateTo({
  820. url: '/pages/workspace/scriptrecord?textObj=' + encodeURIComponent(data)
  821. });
  822. },
  823. toSketchRecord() {
  824. var data = {
  825. taskId: this.task.task_id,
  826. };
  827. data = JSON.stringify(data)
  828. uni.navigateTo({
  829. url: '/pages/workspace/sketchrecord?textObj=' + encodeURIComponent(data)
  830. });
  831. },
  832. toLinkRecord() {
  833. var data = {
  834. taskId: this.task.task_id,
  835. };
  836. data = JSON.stringify(data)
  837. uni.navigateTo({
  838. url: '/pages/workspace/linkrecord?textObj=' + encodeURIComponent(data)
  839. });
  840. },
  841. toDataRecord() {
  842. var data = {
  843. taskId: this.task.task_id,
  844. };
  845. data = JSON.stringify(data)
  846. uni.navigateTo({
  847. url: '/pages/workspace/datarecord?textObj=' + encodeURIComponent(data)
  848. });
  849. },
  850. toApplyinfo() {
  851. var data = {
  852. account: this.account,
  853. };
  854. data = JSON.stringify(data)
  855. uni.navigateTo({
  856. url: '/pages/workspace/applyInformation?textObj=' + encodeURIComponent(data)
  857. });
  858. },
  859. toLogisticsinfo() {
  860. console.log(this.project.project_form)
  861. var data = {
  862. address: this.address,
  863. taskId: this.task.task_id,
  864. projectForm: this.project.project_form
  865. };
  866. data = JSON.stringify(data)
  867. uni.navigateTo({
  868. url: '/pages/workspace/deliveryInformation?textObj=' + encodeURIComponent(data)
  869. });
  870. },
  871. editAddress() {
  872. var data = {
  873. address: this.address,
  874. taskId: this.task.task_id,
  875. };
  876. data = JSON.stringify(data)
  877. uni.navigateTo({
  878. url: '/pages/workspace/editaddress?textObj=' + encodeURIComponent(data)
  879. });
  880. },
  881. // 计算结束时间
  882. thistime(val) {
  883. // 转换格式
  884. var beginTime = new Date(val.replace(/-/g, "/"));
  885. // 当前时间
  886. var thisTime = new Date();
  887. // 相减
  888. var dateMiss = beginTime.getTime() - thisTime.getTime();
  889. this.isTimeOut = dateMiss < 0 ? true : false
  890. dateMiss = dateMiss < 0 ? -dateMiss : dateMiss
  891. // 天数
  892. var day = Math.floor(dateMiss / (24 * 3600 * 1000));
  893. // 减去天数剩下的毫秒数
  894. var backOne = dateMiss % (24 * 3600 * 1000);
  895. // 小时数
  896. var hours = Math.floor(backOne / (3600 * 1000));
  897. // 减去小时数剩下的毫秒数
  898. var backHour = backOne % (3600 * 1000);
  899. // 分钟数
  900. var min = Math.floor(backHour / (60 * 1000));
  901. var deadline_time = day + '天' + hours + '时' + min + '分'
  902. return deadline_time
  903. },
  904. toWithdraw() {
  905. uni.navigateTo({
  906. url: '/pages/mycenter/myincome?showTab=1'
  907. });
  908. },
  909. submit() {
  910. if (this.task.task_stage == 7) { // 提交脚本
  911. let that = this
  912. uni.showModal({
  913. title: '提示',
  914. content: '提交后无法修改并进行审核,确认提交?',
  915. success: function(res) {
  916. if (res.confirm) {
  917. that.$https.get('/youngee/c/t/g/submit-task-script' +
  918. "?" +
  919. "task_id" +
  920. "=" +
  921. that.task.task_id)
  922. .then(res => {
  923. console.log(res)
  924. uni.navigateBack()
  925. })
  926. } else if (res.cancel) {
  927. console.log('用户点击取消');
  928. }
  929. }
  930. });
  931. } else if (this.task.task_stage == 9) { // 提交初稿
  932. let that = this
  933. uni.showModal({
  934. title: '提示',
  935. content: '提交后无法修改并进行审核,确认提交?',
  936. success: function(res) {
  937. if (res.confirm) {
  938. that.$https.get('/youngee/c/t/g/submit-task-sketch' +
  939. "?" +
  940. "task_id" +
  941. "=" +
  942. that.task.task_id)
  943. .then(res => {
  944. console.log(res)
  945. uni.navigateBack()
  946. })
  947. } else if (res.cancel) {
  948. console.log('用户点击取消');
  949. }
  950. }
  951. });
  952. } else if (this.task.task_stage == 11) { // 提交链接
  953. let that = this
  954. uni.showModal({
  955. title: '提示',
  956. content: '提交后无法修改并进行审核,确认提交?',
  957. success: function(res) {
  958. if (res.confirm) {
  959. that.$https.get('/youngee/c/t/g/submit-task-link' +
  960. "?" +
  961. "task_id" +
  962. "=" +
  963. that.task.task_id)
  964. .then(res => {
  965. console.log(res)
  966. uni.navigateBack()
  967. })
  968. } else if (res.cancel) {
  969. console.log('用户点击取消');
  970. }
  971. }
  972. });
  973. } else if (this.task.task_stage == 13) { // 提交数据
  974. let that = this
  975. uni.showModal({
  976. title: '提示',
  977. content: '提交后无法修改并进行审核,确认提交?',
  978. success: function(res) {
  979. if (res.confirm) {
  980. that.$https.get('/youngee/c/t/g/submit-task-data' +
  981. "?" +
  982. "task_id" +
  983. "=" +
  984. that.task.task_id)
  985. .then(res => {
  986. console.log(res)
  987. uni.navigateBack()
  988. })
  989. } else if (res.cancel) {
  990. console.log('用户点击取消');
  991. }
  992. }
  993. });
  994. }
  995. }
  996. }
  997. }
  998. </script>
  999. <style lang="scss" scoped>
  1000. text {
  1001. font-size: 12px;
  1002. }
  1003. .basicInfo {
  1004. display: flex;
  1005. margin-top: 20rpx;
  1006. padding: 20rpx 40rpx;
  1007. background-color: #FFFFFF;
  1008. .basicInfo_txt {
  1009. margin-left: 40rpx;
  1010. padding-top: 20rpx;
  1011. }
  1012. }
  1013. .upload-btn {
  1014. display: flex;
  1015. align-items: center;
  1016. justify-content: center;
  1017. background-color: #f2d241;
  1018. border-radius: 10rpx;
  1019. padding: 5rpx;
  1020. margin-left: 20rpx;
  1021. cursor: pointer;
  1022. }
  1023. .address {
  1024. display: flex;
  1025. margin: 20rpx 0;
  1026. // padding: 20rpx 20rpx;
  1027. background-color: #FFFFFF;
  1028. justify-content: space-around;
  1029. align-items: center;
  1030. .address_icon {
  1031. width: 15%;
  1032. vertical-align: middle;
  1033. display: flex;
  1034. justify-content: center;
  1035. }
  1036. .address_edit {
  1037. width: 15%;
  1038. }
  1039. .address_edit image {
  1040. vertical-align: middle;
  1041. width: 50rpx;
  1042. height: 50rpx;
  1043. display: inline-block;
  1044. padding-right: 14rpx;
  1045. }
  1046. .ipon {
  1047. color: #333333;
  1048. font-size: 30rpx;
  1049. font-weight: 500;
  1050. margin-bottom: 10rpx;
  1051. }
  1052. }
  1053. .keyInfo {
  1054. padding: 20rpx 20rpx;
  1055. background-color: #FFFFFF;
  1056. .keyInfo_task {
  1057. color: #999999;
  1058. }
  1059. }
  1060. .keyInfo h3 {
  1061. font-weight: 600;
  1062. }
  1063. .keyInfo p {
  1064. font-size: 30rpx;
  1065. }
  1066. .account {
  1067. display: flex;
  1068. align-items: center;
  1069. // justify-content: space-between;
  1070. // width: 90%;
  1071. margin: 20rpx 0;
  1072. padding: 20rpx 20rpx;
  1073. background-color: #FFFFFF;
  1074. font-size: 35rpx;
  1075. .account_txt {
  1076. display: inline-block;
  1077. padding: 0 0 0 1%;
  1078. width: 400rpx;
  1079. }
  1080. .account_txt image {
  1081. vertical-align: middle;
  1082. width: 50rpx;
  1083. height: 50rpx;
  1084. display: inline-block;
  1085. padding-right: 14rpx;
  1086. }
  1087. .account_fans {
  1088. display: flex;
  1089. width: 250rpx;
  1090. }
  1091. .account_fans p {
  1092. display: inline-block;
  1093. color: #333333;
  1094. font-weight: 550;
  1095. }
  1096. .account_btn {}
  1097. }
  1098. .task-progress {
  1099. padding: 20rpx;
  1100. .task-progress-card {
  1101. margin: 15rpx 0;
  1102. display: flex;
  1103. align-items: center;
  1104. // margin: 20rpx;
  1105. padding: 10rpx;
  1106. font-size: 30rpx;
  1107. border-radius: 10rpx;
  1108. .tpc-txt1 {
  1109. display: flex;
  1110. justify-content: flex-start;
  1111. // margin-left: 20rpx;
  1112. }
  1113. .tpc-txt2 {
  1114. display: flex;
  1115. align-items: center;
  1116. justify-content: flex-end;
  1117. // margin-right: 20rpx;
  1118. flex: 1;
  1119. .tpc-icon {
  1120. width: 30rpx;
  1121. height: 30rpx;
  1122. }
  1123. }
  1124. }
  1125. .task-progress-info {
  1126. padding: 10rpx;
  1127. font-size: 30rpx;
  1128. border-radius: 10rpx;
  1129. background-color: #f2f2f2;
  1130. }
  1131. }
  1132. .block {
  1133. width: 100%;
  1134. height: 100rpx;
  1135. margin-top: 5%;
  1136. }
  1137. .submit {
  1138. box-shadow: 0rpx 5rpx 40rpx #ccc;
  1139. width: 100%;
  1140. position: fixed;
  1141. bottom: 0rpx;
  1142. display: flex;
  1143. height: 90rpx;
  1144. padding-top: 2%;
  1145. background-color: #FFFFFF;
  1146. .submit_btn {
  1147. width: 60%;
  1148. // background-color: #FCCF41;
  1149. border-radius: 20rpx;
  1150. font-size: 36rpx;
  1151. line-height: 200%;
  1152. letter-spacing: 10rpx;
  1153. font-weight: 500;
  1154. height: 80%;
  1155. }
  1156. }
  1157. .line {
  1158. border-bottom: 1rpx solid #d5d5d5;
  1159. width: 98%;
  1160. margin: 10rpx 1%;
  1161. }
  1162. </style>