tovolApply.vue 23 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003
  1. <template>
  2. <view class="content">
  3. <!-- <view class="top">
  4. <image src="../../static/img/activity.png" mode=""></image>
  5. </view>
  6. -->
  7. <view class="box">
  8. <!-- <view class="red-box">
  9. 申请登记表
  10. </view> -->
  11. <view class="box-1">
  12. <view class="box-left">
  13. 姓名
  14. <text class="imp">*</text>
  15. </view>
  16. <input type="text" placeholder="请填写你的名字" value="" class="list-input" v-model="name" />
  17. </view>
  18. <view class="box-1">
  19. <view class="box-left">
  20. 性别
  21. <text class="imp">*</text>
  22. </view>
  23. <picker @change="bindPickerSex" :value="index" :range="array">
  24. <view class="box-right">{{ sex == '0'? '男' : sex == '1'? '女' : sex }}</view>
  25. </picker>
  26. </view>
  27. <view class="box-1">
  28. <view class="box-left">
  29. 出生年月
  30. <text class="imp">*</text>
  31. </view>
  32. <picker mode="date" :value="birth" :start="startDate" :end="endDate" @change="bindDateChange">
  33. <view class="box-right">{{ birth }}</view>
  34. </picker>
  35. </view>
  36. <view class="upload-box">
  37. <view class="upload-left">
  38. 照片
  39. <text class="imp">*</text>
  40. </view>
  41. <view class="upload-right">
  42. <image :src="cardimg" mode="" class="upload-img" @click.stop="imgsub" v-if="cardimg"></image>
  43. <image src="../../static/images/upload.png" class="upload-img" mode="" v-if="!cardimg" @click.stop="imgsub"></image>
  44. </view>
  45. </view>
  46. <view class="box-1">
  47. <view class="box-left">
  48. 移动电话
  49. <text class="imp">*</text>
  50. </view>
  51. <input type="text" placeholder="请填写移动电话" value="" class="list-input" v-model="phone" />
  52. </view>
  53. <view class="box-1">
  54. <view class="box-left">电子邮件(选填)</view>
  55. <input type="text" placeholder="请填写电子邮件" value="" class="list-input" v-model="email" />
  56. </view>
  57. <view class="box-1">
  58. <view class="box-left">联系地址(选填)</view>
  59. <input type="text" value="" placeholder="请填写联系地址" class="list-input" v-model="address" />
  60. </view>
  61. <view class="box-1">
  62. <view class="box-left">工作单位(选填)</view>
  63. <input type="text" value="" placeholder="请填写工作单位" class="list-input" v-model="work" />
  64. </view>
  65. <view class="box-1">
  66. <view class="box-left">职业/职务/专业(选填)</view>
  67. <input type="text" placeholder="请填写职业/职务/专业" value="" class="list-input" v-model="specialty" />
  68. </view>
  69. <view class="box-1">
  70. <view class="box-left">教育程度(选填)</view>
  71. <picker @change="bindPickerEdu" :value="index" :range="chooseEdu">
  72. <view class="box-right">{{ education }}</view>
  73. </picker>
  74. </view>
  75. <view class="box-1">
  76. <view class="box-left">
  77. 是否受过志愿服务
  78. <text class="imp">*</text>
  79. </view>
  80. </view>
  81. <view class="uni-list">
  82. <radio-group @change="radioChange">
  83. <view class="radio-list flex_item">
  84. <label class="uni-list-cell uni-list-cell-pd flex_item" v-for="(item, index) in is_vol" :key="item.id">
  85. <view><radio style="transform:scale(0.7)" color="#E71F2C" :value="item.id" :checked="index === current" /></view>
  86. <view>{{ item.name }}</view>
  87. </label>
  88. </view>
  89. </radio-group>
  90. </view>
  91. <view class="box-1">
  92. <view class="box-left">
  93. 有无服务经验
  94. <text class="imp">*</text>
  95. </view>
  96. </view>
  97. <view class="uni-list">
  98. <radio-group @change="radioChange1">
  99. <view class="radio-list flex_item">
  100. <label class="uni-list-cell uni-list-cell-pd flex_item" v-for="(item, index) in is_experience" :key="item.id">
  101. <view><radio style="transform:scale(0.7)" color="#E71F2C" :value="item.id" :checked="index === current" /></view>
  102. <view>{{ item.name }}</view>
  103. </label>
  104. </view>
  105. </radio-group>
  106. </view>
  107. <view class="list-box">
  108. <view class="list-title">可提供服务的时间</view>
  109. <view class="tip">请选择适当方格,可选多项</view>
  110. <view class="content_box">
  111. <view class="box-1" style="margin: 10rpx;">
  112. <view class="box-left">
  113. 开始时间
  114. <text class="imp">*</text>
  115. </view>
  116. <picker mode="time" :value="start_hour" @change="startTimeChange">
  117. <view class="box-right">{{ start_hour }}</view>
  118. </picker>
  119. </view>
  120. <view class="box-1" style="margin: 10rpx;">
  121. <view class="box-left">
  122. 结束时间
  123. <text class="imp">*</text>
  124. </view>
  125. <picker mode="time" :value="end_hour" :start="start_hour" @change="endTimeChange">
  126. <view class="box-right">{{ end_hour }}</view>
  127. </picker>
  128. </view>
  129. </view>
  130. <view class="content_box">
  131. <view class="list-name">
  132. 日期
  133. <text class="icon">*</text>
  134. </view>
  135. <view class="uni-list">
  136. <checkbox-group @change="checkboxChange1">
  137. <view class="radio-list flex_item">
  138. <label class="uni-list-cell uni-list-cell-pd flex_item" v-for="item in items" :key="item.name">
  139. <view><checkbox :value="item.value" style="transform:scale(0.7)" color="#E71F2C" :checked="item.checked" /></view>
  140. <view>{{ item.name }}</view>
  141. </label>
  142. </view>
  143. </checkbox-group>
  144. </view>
  145. </view>
  146. </view>
  147. <view class="list-box tpl-box">
  148. <view class="list-title">有兴趣参与的工作</view>
  149. <view class="tip">请选择适当方格,可选多项</view>
  150. <view class="content_box">
  151. <view class="uni-list">
  152. <checkbox-group @change="checkboxChange2">
  153. <view class="radio-list flex_item">
  154. <label class="uni-list-cell uni-list-cell-pd flex_item" v-for="item in works" :key="item.name">
  155. <view><checkbox :value="item.name" style="transform:scale(0.7)" color="#E71F2C" :checked="item.checked" /></view>
  156. <view>{{ item.name }}</view>
  157. </label>
  158. </view>
  159. </checkbox-group>
  160. </view>
  161. <input class="worksInput" type="text" v-model="worksText" />
  162. </view>
  163. </view>
  164. <view class="list-box tpl-box">
  165. <view class="list-title">专长</view>
  166. <view class="tip">请选择适当方格,可选多项</view>
  167. <view class="content_box">
  168. <view class="uni-list">
  169. <checkbox-group @change="checkboxChange3">
  170. <view class="radio-list flex_item">
  171. <label class="uni-list-cell uni-list-cell-pd flex_item" v-for="item in expertise" :key="item.name">
  172. <view><checkbox :value="item.name" style="transform:scale(0.7)" color="#E71F2C" :checked="item.checked" /></view>
  173. <view>{{ item.name }}</view>
  174. </label>
  175. </view>
  176. </checkbox-group>
  177. </view>
  178. <input class="worksInput" type="text" v-model="expertiseText" />
  179. </view>
  180. </view>
  181. <view class="list-box">
  182. <view class="list-title">个人声明</view>
  183. <view class="check_box">
  184. <view>
  185. <radio style="transform: scale(0.75)" @click="Getcheckbox" color="#E62129" :checked="Getchecked" />
  186. 本人同意将个人资料送交红十字志愿者工作委员会,申请注册登记,成为光荣的红十字志愿工作者,并乐于接受志愿工作安排,提供服务。
  187. </view>
  188. </view>
  189. </view>
  190. </view>
  191. <view class="buttom" :class="{ action: loding }" @click="!loding ? join() : ''">立即提交</view>
  192. </view>
  193. </template>
  194. <script>
  195. import {
  196. saveUrl,
  197. interceptor
  198. } from '@/utils/loginUtils.js';
  199. import {
  200. mapState,
  201. mapMutations
  202. } from 'vuex';
  203. import { add_volunteers } from '@/api/index.js';
  204. import { upload } from '@/api/ask.js';
  205. export default {
  206. data() {
  207. const currentDate = this.getDate({
  208. format: true
  209. });
  210. return {
  211. otherjob: '',
  212. otherspe: '',
  213. loding: false, //是否提交中
  214. array: ['男', '女'],
  215. chooseEdu: ['小学以下', '小学', '初中', '高中/中专', '大专/本科', '硕士','博士','博士后'],
  216. chooseVol: ['有', '无'],
  217. is_experience: [
  218. {
  219. id: '1',
  220. name: '有'
  221. },
  222. {
  223. id: '2',
  224. name: '无'
  225. }
  226. ],
  227. // is_experience: '',
  228. chooseExp: ['是', '否'],
  229. start_hour:'选择开始时间',//开始时间
  230. end_hour:'选择结束时间',//
  231. quantum: '',
  232. //日期
  233. items: [
  234. {
  235. value: '2',
  236. name: '星期一'
  237. },
  238. {
  239. value: '3',
  240. name: '星期二'
  241. },
  242. {
  243. value: '4',
  244. name: '星期三'
  245. },
  246. {
  247. value: '5',
  248. name: '星期四'
  249. },
  250. {
  251. value: '6',
  252. name: '星期五'
  253. },
  254. {
  255. value: '7',
  256. name: '星期六'
  257. },
  258. {
  259. value: '1',
  260. name: '星期日'
  261. }
  262. ],
  263. dates: '',
  264. //有兴趣参与的工作
  265. works: [
  266. {
  267. value: '1',
  268. name: '赈灾工作'
  269. },
  270. {
  271. value: '2',
  272. name: '救护培训'
  273. },
  274. {
  275. value: '3',
  276. name: '护送服务'
  277. },
  278. {
  279. value: '4',
  280. name: '编辑及出版'
  281. },
  282. {
  283. value: '5',
  284. name: '医疗护理服务'
  285. },
  286. {
  287. value: '6',
  288. name: '探访服务'
  289. },
  290. {
  291. value: '7',
  292. name: '外语翻译'
  293. },
  294. {
  295. value: '8',
  296. name: '调查服务'
  297. },
  298. {
  299. value: '9',
  300. name: '联络服务'
  301. },
  302. {
  303. value: '10',
  304. name: '宣传及推广'
  305. },
  306. {
  307. value: '11',
  308. name: '文书档案工作'
  309. },
  310. {
  311. value: '12',
  312. name: '其它(请注明)'
  313. }
  314. ],
  315. taste: '',
  316. worksText: '', //工作其他
  317. //专长
  318. expertise: [
  319. {
  320. value: '1',
  321. name: '医疗护理'
  322. },
  323. {
  324. value: '2',
  325. name: '紧急救护'
  326. },
  327. {
  328. value: '3',
  329. name: '出版/美术设计'
  330. },
  331. {
  332. value: '4',
  333. name: '影音制作'
  334. },
  335. {
  336. value: '5',
  337. name: '文艺演出'
  338. },
  339. {
  340. value: '6',
  341. name: '网络软件'
  342. },
  343. {
  344. value: '7',
  345. name: '摄影摄像'
  346. },
  347. {
  348. value: '8',
  349. name: '电脑中文打字'
  350. },
  351. {
  352. value: '9',
  353. name: '汽车驾驶'
  354. },
  355. {
  356. value: '10',
  357. name: '外语翻译'
  358. },
  359. {
  360. value: '11',
  361. name: '法律咨询'
  362. },
  363. {
  364. value: '12',
  365. name: '文案策划'
  366. },
  367. {
  368. value: '13',
  369. name: '其它(请注明)'
  370. }
  371. ],
  372. speciali: '',
  373. current: '',
  374. is_vol: [
  375. {
  376. id: '1',
  377. name: '有'
  378. },
  379. {
  380. id: '0',
  381. name: '无'
  382. }
  383. ],
  384. index: 0,
  385. // mz: '',
  386. email: '',
  387. cardimg: '', //证件照
  388. // card: '',
  389. // checklist: [],
  390. name: '',
  391. sex: '请选择你的性别',
  392. birth: '请选择你的生日',
  393. fillingDate: '',
  394. phone: '',
  395. address: '',
  396. work: '',
  397. specialty: '',
  398. education: '请选择教育程度',
  399. educationid:'',
  400. checked1: '',
  401. checked: '',
  402. expertiseText: '', //专长其他
  403. Getchecked: false //个人声明
  404. };
  405. },
  406. onShow() {
  407. if (this.hasLogin) {
  408. // this.loadBaseData();
  409. } else {
  410. saveUrl();
  411. uni.showModal({
  412. title: '登录',
  413. content: '您未登录,是否马上登陆?',
  414. success: e => {
  415. if (e.confirm) {
  416. interceptor();
  417. }
  418. },
  419. fail: e => {
  420. console.log(e);
  421. }
  422. });
  423. }
  424. },
  425. computed: {
  426. ...mapState('user', ['userInfo', 'baseURL', 'hasLogin']),
  427. startDate() {
  428. return this.getDate('start');
  429. },
  430. endDate() {
  431. return this.getDate('end');
  432. }
  433. },
  434. methods: {
  435. async join() {
  436. let obj = this;
  437. if (obj.name == '') {
  438. obj.$api.msg('请输入您的姓名');
  439. return;
  440. }
  441. if (obj.sex === '') {
  442. obj.$api.msg('请输入您的性别');
  443. return;
  444. }
  445. if (obj.birth == '' || obj.birth == '请选择你的生日') {
  446. obj.$api.msg('请填写您的生日');
  447. return;
  448. }
  449. const reg = /^(\+?0?86-?)?1[\d]\d{9}$/;
  450. if (obj.phone == '') {
  451. obj.$api.msg('请填写您的移动电话');
  452. return;
  453. }
  454. if (!reg.test(obj.phone)) {
  455. obj.$api.msg('请填写正确的移动电话');
  456. return;
  457. }
  458. // if (obj.address == '') {
  459. // obj.$api.msg('请填写您的地址');
  460. // return;
  461. // }
  462. // /^(^[1-9]\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}$)|(^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])((\d{4})|\d{3}[Xx])$)$/
  463. if (obj.checked1 === '') {
  464. obj.$api.msg('请选择有无服务经验');
  465. return;
  466. }
  467. if (obj.checked === '') {
  468. obj.$api.msg('请选择是否接受过志愿者服务');
  469. return;
  470. }
  471. // if (obj.cardimg == '') {
  472. // obj.$api.msg('请上传您的证件');
  473. // return;
  474. // }
  475. if (!obj.start_hour){
  476. this.$api.msg('请选择开始时间!');
  477. return;
  478. }
  479. if (!obj.end_hour){
  480. this.$api.msg('请选择结束时间!');
  481. return;
  482. }
  483. if (!obj.dates) {
  484. this.$api.msg('请选择日期!');
  485. return;
  486. }
  487. if (obj.Getchecked == false) {
  488. this.$api.msg('请阅读并同意个人声明!');
  489. return;
  490. }
  491. // let reg1 = /^(^[1-9]\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}$)|(^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])((\d{4})|\d{3}[Xx])$)$/;
  492. // if (!reg1.test(obj.card)) {
  493. // obj.$api.msg('请填写正确的身份证信息');
  494. // return;
  495. // }
  496. // if (obj.mz == '') {
  497. // obj.$api.msg('请填写您所属的名族');
  498. // return;
  499. // }
  500. // if (obj.specialty == '') {
  501. // obj.$api.msg('请填写您的职位');
  502. // return;
  503. // }
  504. // obj.loding = true;
  505. add_volunteers({
  506. name: obj.name,//姓名
  507. phone: obj.phone,//手机号
  508. sex: obj.sex,//性别
  509. birth: obj.birth,//生日
  510. image: obj.cardimg,//照片
  511. email: obj.email,//邮件
  512. address: obj.address,//地址
  513. work: obj.work, //工作单位
  514. specialty: obj.specialty, //职业/职务/专业
  515. education: obj.educationid, //教育程度
  516. is_vol: obj.checked,//是否受过志愿者服务
  517. is_experience: obj.checked1,//有无工作经验
  518. start_hour: obj.start_hour,
  519. end_hour: obj.end_hour,
  520. work_week: obj.dates,//星期几
  521. taste: obj.taste,//有兴趣参与的工作
  522. taste_title: obj.worksText, //工作其他
  523. speciali: obj.speciali,//专长
  524. speciali_title: obj.expertiseText,//其他专长
  525. })
  526. .then(e => {
  527. obj.loding = false;
  528. obj.sex = '请选择你的性别';
  529. obj.education = '请选择教育程度';
  530. obj.birth = '请选择你的生日';
  531. uni.navigateTo({
  532. url: '../joinSuc/joinNow'
  533. });
  534. })
  535. .catch(function(e) {
  536. console.log('出错了');
  537. console.log(e);
  538. obj.loding = false;
  539. });
  540. },
  541. imgsub() {
  542. console.log('imgsub');
  543. upload({
  544. filename: ''
  545. }).then(data => {
  546. console.log(data,'2222')
  547. this.cardimg = data[0].fullurl;
  548. });
  549. },
  550. // 选择性别
  551. bindPickerSex: function(e) {
  552. this.sex = e.target.value
  553. this.index = e.target.value + 1;
  554. },
  555. // 选择教育程度
  556. bindPickerEdu: function(e) {
  557. this.education = this.chooseEdu[e.target.value];
  558. this.educationid = e.target.value;
  559. console.log(this.educationid)
  560. },
  561. // 选择日期
  562. bindDateChange: function(e) {
  563. this.birth = e.target.value;
  564. },
  565. // 选择开始时间
  566. startTimeChange: function(e) {
  567. console.log(e,'开始时间')
  568. this.start_hour = e.target.value;
  569. },
  570. // 选择结束时间
  571. endTimeChange: function(e) {
  572. this.end_hour = e.target.value;
  573. },
  574. //选择填写日期
  575. fillingDateChange: function(e) {
  576. this.fillingDate = e.target.value;
  577. },
  578. // 是否参加志愿活动
  579. bindPickerVol: function(e) {
  580. this.is_vol = this.chooseVol[e.target.value];
  581. this.index = e.target.value + 1;
  582. },
  583. // 有无服务经验
  584. radioChange1(evt) {
  585. this.checked1 = evt.detail.value;
  586. console.log(this.checked1, '有无服务经验');
  587. },
  588. //是否受过志愿服务
  589. radioChange(evt) {
  590. this.checked = evt.detail.value;
  591. console.log(this.checked, '是否受过志愿服务');
  592. },
  593. Getcheckbox() {
  594. let obj = this;
  595. obj.Getchecked = !obj.Getchecked;
  596. },
  597. getDate(type) {
  598. const date = new Date();
  599. let year = date.getFullYear();
  600. let month = date.getMonth() + 1;
  601. let day = date.getDate();
  602. if (type === 'start') {
  603. year = year - 60;
  604. } else if (type === 'end') {
  605. year = year + 2;
  606. }
  607. month = month > 9 ? month : '0' + month;
  608. day = day > 9 ? day : '0' + day;
  609. return `${year}-${month}-${day}`;
  610. },
  611. //时间段
  612. checkboxChange: function(e) {
  613. var items = this.days,
  614. values = e.detail.value;
  615. for (var i = 0, lenI = items.length; i < lenI; ++i) {
  616. const item = items[i];
  617. if (values.includes(item.value)) {
  618. this.$set(item, 'checked', true);
  619. } else {
  620. this.$set(item, 'checked', false);
  621. }
  622. }
  623. this.quantum = values.join(',');
  624. console.log(this.quantum, '时间段');
  625. },
  626. //日期
  627. checkboxChange1: function(e) {
  628. var items = this.items,
  629. values = e.detail.value;
  630. for (var i = 0, lenI = items.length; i < lenI; ++i) {
  631. const item = items[i];
  632. if (values.includes(item.value)) {
  633. this.$set(item, 'checked', true);
  634. } else {
  635. this.$set(item, 'checked', false);
  636. }
  637. }
  638. this.dates = values.join(',');
  639. console.log(this.dates, '日期');
  640. },
  641. //有兴趣参与的工作
  642. checkboxChange2: function(e) {
  643. var items = this.works,
  644. values = e.detail.value;
  645. for (var i = 0, lenI = items.length; i < lenI; ++i) {
  646. const item = items[i];
  647. if (values.includes(item.value)) {
  648. this.$set(item, 'checked', true);
  649. } else {
  650. this.$set(item, 'checked', false);
  651. }
  652. }
  653. this.taste = values.join(',');
  654. console.log(this.taste, '有兴趣参与的工作');
  655. },
  656. //专长
  657. checkboxChange3: function(e) {
  658. var items = this.expertise,
  659. values = e.detail.value;
  660. for (var i = 0, lenI = items.length; i < lenI; ++i) {
  661. const item = items[i];
  662. if (values.includes(item.value)) {
  663. this.$set(item, 'checked', true);
  664. } else {
  665. this.$set(item, 'checked', false);
  666. }
  667. }
  668. this.speciali = values.join(',');
  669. console.log(this.speciali, '专长');
  670. }
  671. }
  672. };
  673. </script>
  674. <style lang="scss">
  675. page {
  676. background-color: #ffffff;
  677. }
  678. .content {
  679. // padding-top: 64rpx;
  680. // background-color: #f3afad;
  681. .top {
  682. width: 100%;
  683. height: 368rpx;
  684. image {
  685. width: 100%;
  686. height: 368rpx;
  687. }
  688. }
  689. .info-box {
  690. text-indent: 64rpx;
  691. margin: 12rpx 0 54rpx;
  692. padding: 0 32rpx 20rpx;
  693. // border: 3rpx solid #009100;
  694. width: 100%;
  695. display: flex;
  696. flex-direction: column;
  697. border-radius: 25rpx;
  698. color: #e63931;
  699. }
  700. .statement {
  701. // margin: 32rpx;
  702. background-color: #ffffff;
  703. // padding: 32rpx 23rpx;
  704. border-radius: 12rpx;
  705. .title {
  706. height: 84rpx;
  707. display: flex;
  708. justify-content: center;
  709. align-items: center;
  710. font-size: 32rpx;
  711. border-bottom: 2rpx dotted #f3f3f3;
  712. }
  713. .main {
  714. padding: 24rpx;
  715. text-indent: 48rpx;
  716. color: #666;
  717. font-weight: 400;
  718. }
  719. }
  720. .buttom {
  721. width: 100%;
  722. height: 100rpx;
  723. background: #df2412;
  724. margin: 50rpx auto 0;
  725. font-size: 36rpx;
  726. font-weight: 400;
  727. color: #ffffff;
  728. line-height: 100rpx;
  729. text-align: center;
  730. &.action {
  731. background: #999999;
  732. }
  733. }
  734. .box {
  735. // margin-top: 44rpx;
  736. // width: 690rpx;
  737. // margin: 32rpx auto 0;
  738. background-color: #ffffff;
  739. border-radius: 10rpx;
  740. padding: 28rpx 32rpx 84rpx 32rpx;
  741. position: relative;
  742. // .red-box {
  743. // width: 405rpx;
  744. // line-height: 66rpx;
  745. // text-align: center;
  746. // background: linear-gradient(0deg, #C90F1B, #F14D33);
  747. // border-radius: 10rpx;
  748. // font-size: 30rpx;
  749. // font-weight: 500;
  750. // color: #FFFFFF;
  751. // // position: relative;
  752. // position: absolute;
  753. // top: -36rpx;
  754. // left: 50%;
  755. // transform: translateX(-50%);
  756. // z-index: 1;
  757. // }
  758. .box-check {
  759. font-size: 28rpx;
  760. font-weight: 500;
  761. color: #666666;
  762. line-height: 100rpx;
  763. }
  764. .imp {
  765. color: red;
  766. margin-left: 5rpx;
  767. }
  768. .check-box {
  769. margin: 44rpx 0rpx;
  770. padding: 25rpx 25rpx;
  771. border: 3rpx solid #e9b2af;
  772. width: 100%;
  773. display: flex;
  774. flex-direction: column;
  775. border-radius: 25rpx;
  776. color: #e63931;
  777. .info {
  778. margin-bottom: 32rpx;
  779. text-align: center;
  780. }
  781. .chooseTim {
  782. text-align: center;
  783. font-size: 42rpx;
  784. }
  785. .choose-job {
  786. color: #666666;
  787. // height: 45rpx; 爱心捐赠
  788. .goods_check {
  789. display: flex;
  790. flex-direction: column;
  791. .uni-label-pointer {
  792. // width: 50%;
  793. // display: flex;
  794. }
  795. }
  796. .other {
  797. width: 100%;
  798. border-bottom: 2rpx solid #f3f3f3;
  799. }
  800. }
  801. .box-cent {
  802. font-size: 28rpx;
  803. font-weight: 500;
  804. color: #666666;
  805. display: flex;
  806. .cent-left {
  807. margin-right: 28rpx;
  808. .left-txt {
  809. line-height: 100rpx;
  810. }
  811. }
  812. .cent-right {
  813. flex: 1;
  814. display: flex;
  815. justify-content: space-around;
  816. .right-check {
  817. line-height: 100rpx;
  818. }
  819. }
  820. }
  821. }
  822. .box-1 {
  823. display: flex;
  824. justify-content: space-between;
  825. align-items: center;
  826. width: 100%;
  827. margin-top: 42rpx;
  828. // height: 133rpx;
  829. .box-left {
  830. padding-left: 2rpx;
  831. width: 50%;
  832. text-align: left;
  833. color: #000000;
  834. }
  835. input {
  836. height: 66rpx;
  837. line-height: 66rpx;
  838. // height: 88rpx;
  839. }
  840. .list-input {
  841. padding-left: 24rpx;
  842. // margin: 12rpx 0 ;
  843. font-size: 28rpx;
  844. // line-height: 66rpx;
  845. display: flex;
  846. align-items: center;
  847. width: 50%;
  848. flex: 1;
  849. color: #000000;
  850. text-align: right;
  851. padding-right: 24rpx;
  852. .input-placeholder {
  853. height: 70rpx;
  854. color: #959595;
  855. }
  856. }
  857. .box-right {
  858. display: flex;
  859. padding-left: 24rpx;
  860. height: 66rpx;
  861. line-height: 66rpx;
  862. border-radius: 22rpx;
  863. // margin: 32rpx 36rpx 0 36rpx;
  864. width: 100%;
  865. padding-right: 24rpx;
  866. font-size: 28rpx;
  867. color: #959595;
  868. text-align: right !important;
  869. // line-height: 1;
  870. }
  871. }
  872. .upload-box {
  873. width: 100%;
  874. height: 247rpx;
  875. background: #ffffff;
  876. // border: 1px solid #E63931;
  877. border-radius: 27rpx;
  878. display: flex;
  879. flex-direction: column;
  880. padding: 30rpx 40rpx 30rpx 0;
  881. margin: 42rpx auto 30rpx;
  882. .upload-left {
  883. font-weight: 400;
  884. color: #000000;
  885. }
  886. .upload-right {
  887. flex: 1;
  888. display: flex;
  889. align-items: center;
  890. justify-content: center;
  891. .upload-img {
  892. width: 150rpx;
  893. height: 150rpx;
  894. margin-top: 24rpx;
  895. }
  896. }
  897. }
  898. }
  899. .flex_item {
  900. display: flex;
  901. align-items: center;
  902. }
  903. .radio-list {
  904. display: flex;
  905. flex-wrap: wrap;
  906. font-size: 28rpx;
  907. padding-top: 30rpx;
  908. color: #000000;
  909. .uni-label-pointer {
  910. padding-right: 25rpx;
  911. padding-bottom: 30rpx;
  912. }
  913. }
  914. .check_box {
  915. padding: 25rpx 25rpx;
  916. font-size: 28rpx;
  917. }
  918. .list-box {
  919. background-color: #ffffff;
  920. font-size: 28rpx;
  921. width: 100%;
  922. height: 100%;
  923. border-top: 15rpx solid #f2f2f2;
  924. color: #222222;
  925. .worksInput {
  926. margin-bottom: 35rpx;
  927. border: 2rpx solid #979797;
  928. width: 100%;
  929. height: 70rpx;
  930. line-height: 70rpx;
  931. padding: 0rpx 25rpx;
  932. border-radius: 15rpx;
  933. }
  934. .list-title {
  935. color: #000000;
  936. text-align: center;
  937. padding: 30rpx 0rpx;
  938. font-size: 34rpx;
  939. font-weight: 500;
  940. border-bottom: 2rpx dashed #b5b5b5;
  941. }
  942. .tip {
  943. color: #000000;
  944. padding-top: 25rpx;
  945. width: 100%;
  946. text-align: center;
  947. }
  948. .icon {
  949. color: red;
  950. margin-left: 5rpx;
  951. }
  952. }
  953. }
  954. </style>