taskdetail.vue 39 KB

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