idonate.vue 21 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937
  1. <template>
  2. <view class="idonate">
  3. <view class="one" v-show="limit === 1">
  4. <view class="item">
  5. <view class="item-tit">捐赠个体<text>*</text></view>
  6. <radio-group @change="typeChange" class="check-box">
  7. <label v-for="(item, index) in items" :key="item.value">
  8. <radio :value="item.iid" :checked="index === type" color="#f3392c"
  9. style="transform:scale(0.7)" />
  10. <text style="color: #000000;">{{ item.value }}</text>
  11. </label>
  12. </radio-group>
  13. </view>
  14. <template v-if="type === 1">
  15. <view class="item">
  16. <view class="item-tit">捐赠单位<text>*</text></view>
  17. <input type="text" v-model="unit" placeholder="请填写捐赠单位" />
  18. </view>
  19. <view class="item">
  20. <view class="item-tit">单位联系人<text>*</text></view>
  21. <input type="text" v-model="contacts" placeholder="请填写捐赠方联系人" />
  22. </view>
  23. <view class="item">
  24. <view class="item-tit">单位电话<text>*</text></view>
  25. <input type="text" v-model="tel" placeholder="请填写单位联系方式" />
  26. </view>
  27. <view class="item">
  28. <view class="item-tit">企业信用代码</view>
  29. <input type="text" v-model="qyxydm" placeholder="请填写单位的企业信用代码" />
  30. </view>
  31. </template>
  32. <template v-if="type === 0">
  33. <view class="item">
  34. <view class="item-tit">姓名<text>*</text></view>
  35. <input type="text" v-model="name" placeholder="请填写您的姓名" />
  36. </view>
  37. <view class="item">
  38. <view class="item-tit">联系方式<text>*</text></view>
  39. <input type="text" v-model="phone" placeholder="请填写您的联系方式" />
  40. </view>
  41. <view class="item">
  42. <view class="item-tit">身份证号</view>
  43. <input type="text" v-model="identityNumber" placeholder="请填写您的身份证号" />
  44. </view>
  45. </template>
  46. <view class="item">
  47. <view class="item-tit">是否匿名</view>
  48. <radio-group @change="anonymousChange" class="check-box">
  49. <label>
  50. <radio value="1" :checked="IsAnonymous" color="#f3392c" style="transform:scale(0.7)" />
  51. <text style="color: #000000;">是</text>
  52. </label>
  53. <label>
  54. <radio value="0" :checked="!IsAnonymous" color="#f3392c" style="transform:scale(0.7)" />
  55. <text style="color: #000000;">否</text>
  56. </label>
  57. </radio-group>
  58. </view>
  59. <view class="item">
  60. <view class="item-tit">物流方式<text>*</text></view>
  61. <picker @change="bindLogChange" :range="logs" range-key="name">
  62. <view class="log " :class="{'select': log }">{{ log || '请选择物流方式' }}</view>
  63. </picker>
  64. </view>
  65. <!-- <view class="item" v-if="jxdz_show">
  66. <view class="item-tit">捐赠地址<text>*</text></view>
  67. <picker @change="bindAreaChange" :range="areas" range-key="name">
  68. <view class="log " :class="{'select': area }">{{ area || '请选择捐赠地址' }}</view>
  69. </picker>
  70. </view> -->
  71. <view class="item no-border-b">
  72. <view class="item-tit">开具发票<text>*</text></view>
  73. <radio-group @change="openChange" class="check-box">
  74. <label>
  75. <radio value="1" :checked="Isopen" color="#f3392c" style="transform:scale(0.7)" />
  76. <text style="color: #000000;">是</text>
  77. </label>
  78. <label>
  79. <radio value="0" :checked="!Isopen" color="#f3392c" style="transform:scale(0.7)" />
  80. <text style="color: #000000;">否</text>
  81. </label>
  82. </radio-group>
  83. </view>
  84. <!-- <view class="mask">
  85. <textarea :value="mask" placeholder="如果有备注请填写" />
  86. </view> -->
  87. <!-- <view class="bbtm"></view> -->
  88. <view class="jzwz">
  89. <view class="item-tit">捐赠物资<text>*</text></view>
  90. <view class="choose-box">
  91. <view class="choose-item" v-for="(item,index) in wzList" :key="index" @click="dianji(index)">
  92. <picker @change="bindWzChange" :range="wzs" range-key="name">
  93. <view class="wz select clamp" :class="{'action': item.project_donation_name }">
  94. {{ item.project_donation_name || '请选择物资分类' }}</view>
  95. </picker>
  96. <input type="number" v-model="item.project_donation_num" placeholder="填写数量" />
  97. <!-- <view class="dele" v-if="index != 0">
  98. <view class="lef"></view>
  99. <view class="rig"></view>
  100. </view> -->
  101. </view>
  102. <view class="flex act">
  103. <view class="more" @click="addMore" v-show="wzs.length > wzList.length">
  104. +添加更多
  105. </view>
  106. <view class=" del" @click="dele" v-show=" wzList.length > 1">
  107. 删除
  108. </view>
  109. </view>
  110. </view>
  111. </view>
  112. </view>
  113. <view class="tow" v-show="limit === 2">
  114. <view class="t-item">
  115. <view class="t-tit">
  116. 实物照片(必填)<text>{{swimg | much}}/3</text>
  117. </view>
  118. <view class="img-list flex">
  119. <template v-for="(item,index) in swimg">
  120. <image src="../../static/images/upload.png" mode="" v-if="!item"
  121. @click.stop="imgsub(swimg,index)" :key="index"></image>
  122. <image :src="item" mode="" v-if="item" @click.stop="imgsub(item)" :key="index"></image>
  123. </template>
  124. </view>
  125. </view>
  126. <!-- <view class="t-item" v-if="type === 1">
  127. <view class="t-tit">
  128. 营业执照(必填)<text>{{yyimg | much}}/3</text>
  129. </view>
  130. <view class="img-list flex">
  131. <template v-for="(item,index) in yyimg">
  132. <image src="../../static/images/upload.png" mode="" v-if="!item" @click.stop="imgsub(yyimg,index)" :key="index"></image>
  133. <image :src="item" mode="" v-if="item" @click.stop="imgsub(yyimg,index)" :key="index"></image>
  134. </template>
  135. </view>
  136. </view> -->
  137. <view class="t-item">
  138. <view class="t-tit">
  139. 质量合格书(必填)<text>{{zlimg | much}}/3</text>
  140. </view>
  141. <view class="img-list flex">
  142. <template v-for="(item,index) in zlimg">
  143. <image src="../../static/images/upload.png" mode="" v-if="!item"
  144. @click.stop="imgsub(zlimg,index)" :key="index"></image>
  145. <image :src="item" mode="" v-if="item" @click.stop="imgsub(zlimg,index)" :key="index"></image>
  146. </template>
  147. </view>
  148. </view>
  149. <view class="t-item">
  150. <view class="t-tit">
  151. 价值凭证<text>{{jzimg | much}}/3</text>
  152. </view>
  153. <view class="img-list flex">
  154. <template v-for="(item,index) in jzimg">
  155. <image src="../../static/images/upload.png" mode="" v-if="!item"
  156. @click.stop="imgsub(jzimg,index)" :key="index"></image>
  157. <image :src="item" mode="" v-if="item" @click.stop="imgsub(jzimg,index)" :key="index"></image>
  158. </template>
  159. </view>
  160. </view>
  161. </view>
  162. <view class="jg">
  163. </view>
  164. <view class="btn">
  165. <view class="next" v-show="limit === 1" @click="nextLimit()">
  166. 下一页
  167. </view>
  168. <view class="prev" v-show="limit === 2" @click="prevLimit()">
  169. 上一步
  170. </view>
  171. <view class="sub" v-show="limit === 2" @click="sub">
  172. 提交
  173. </view>
  174. </view>
  175. </view>
  176. </template>
  177. <script>
  178. import {
  179. upload
  180. } from '@/api/ask.js';
  181. import {
  182. getProjectInfo,
  183. createProject,
  184. getLogistics,
  185. getDonationInfo,
  186. createUser,
  187. getAllArea,
  188. getUserList
  189. } from '../../api/money.js';
  190. export default {
  191. data() {
  192. return {
  193. project_area: 226,
  194. areas: [{
  195. id: 0,
  196. name: '市本级'
  197. }],
  198. area: '',
  199. items: [{
  200. value: '个人',
  201. iid: '0'
  202. },
  203. {
  204. value: '企业(团体)',
  205. iid: '1'
  206. }
  207. ],
  208. IsAnonymous: false,
  209. limit: 1,
  210. type: 0, //捐赠个体0位个人 1为团体(企业)
  211. unit: '', //捐赠单位
  212. contacts: '', //捐赠方联系人
  213. tel: '', //单位电话
  214. log: '', //物流方式
  215. logistics: '', //物流编号
  216. // Logistics: '',//物流方式id
  217. logs: ['顺丰', '邮政'],
  218. Isopen: false, //是否开具发票
  219. mask: '', //备注
  220. qyxydm: '', //企业信用代码
  221. name: '', // 捐赠人姓名
  222. phone: '', //捐赠人联系方式
  223. identityNumber: '', //身份证号
  224. wzs: [], //物资分类列表
  225. wzList: [{
  226. project_donation_id: null,
  227. project_donation_num: null,
  228. project_donation_name: null
  229. }],
  230. swimg: [''], //实物照片
  231. yyimg: [''], //营业执照
  232. zlimg: [''], //质量合格证书
  233. jzimg: [''], //价值凭证
  234. true_wzList: [], //最终捐赠的物资列表
  235. hadadd: [], //已添加分类
  236. project_id: 0, //项目ID
  237. jxdz_show: false,
  238. myUserList: [],
  239. beforeUser: {
  240. name: '',
  241. log: '',
  242. Isopen: false,
  243. IsAnonymous: true,
  244. tel: '',
  245. phone: '',
  246. contacts: '',
  247. name: '',
  248. identityNumber: '',
  249. qyxydm: ''
  250. },
  251. userId: 0,
  252. showCreate: false
  253. }
  254. },
  255. filters: {
  256. much(val) {
  257. let num = 0
  258. val.forEach(item => {
  259. if (item) {
  260. num += 1
  261. }
  262. })
  263. return num
  264. }
  265. },
  266. onLoad(ops) {
  267. if (ops.type) {
  268. this.type = ops.type * 1
  269. console.log(this.type, '++++++++')
  270. }
  271. if (ops.id) {
  272. this.project_id = ops.id * 1
  273. }
  274. if (ops.wzlist) {
  275. this.wzs = JSON.parse(ops.wzlist)
  276. } else {
  277. this.getDonationInfo()
  278. // this.getAllArea()
  279. this.jxdz_show = true
  280. }
  281. this.getUserList()
  282. // this.getLogistics()
  283. },
  284. mounted() {
  285. // this.$set(this,'wzList',[this.wz1,this.wz2])
  286. },
  287. methods: {
  288. // 获取我的用户列表
  289. getUserList() {
  290. let obj =this
  291. getUserList().then(({data})=> {
  292. this.myUserList = data
  293. if(data.length == 0) {
  294. obj.showCreate = true
  295. }else {
  296. this.autoT()
  297. }
  298. })
  299. },
  300. //自动填充表格
  301. autoT() {
  302. let obj = this
  303. obj.myUserList.forEach(item => {
  304. if(item.user_type == obj.type) {
  305. obj.showCreate = false
  306. obj.userId = item.id
  307. obj.log = item.logistics
  308. obj.beforeUser.log = item.logistics
  309. obj.Isopen = item.invoice == 1? true: false
  310. obj.beforeUser.Isopen = item.invoice == 1? true: false
  311. obj.IsAnonymous = item.anonymous == 1? true: false
  312. obj.beforeUser.IsAnonymous = item.anonymous == 1? true: false
  313. obj.tel = item.tel
  314. obj.beforeUser.tel = item.tel
  315. obj.phone = item.phone
  316. obj.beforeUser.phone = item.phone
  317. obj.contacts = item.contacts
  318. obj.beforeUser.contacts = item.contacts
  319. if(obj.type == 0) {
  320. obj.name = item.name
  321. obj.beforeUser.name = item.name
  322. this.identityNumber = item.card_id
  323. obj.beforeUser.identityNumber = item.card_id
  324. }
  325. if(obj.type == 1) {
  326. obj.unit = item.name
  327. obj.beforeUser.unit = item.name
  328. this.qyxydm = item.card_id
  329. obj.beforeUser.qyxydm = item.card_id
  330. }
  331. }else {
  332. obj.showCreate = true
  333. }
  334. })
  335. },
  336. //下一页
  337. nextLimit() {
  338. this.limit = 2
  339. },
  340. //下一页
  341. prevLimit() {
  342. this.limit = 1
  343. },
  344. //选择捐赠是个人或团体
  345. typeChange(e) {
  346. this.type = e.detail.value * 1
  347. console.log(this.type, 'this.typ+++++++++++++++++++++')
  348. if(this.myUserList.length > 0) {
  349. console.log('遍历')
  350. this.autoT()
  351. }
  352. },
  353. //选择是否匿名
  354. anonymousChange(e) {
  355. if (e.detail.value !== '1') {
  356. this.IsAnonymous = false
  357. } else {
  358. this.IsAnonymous = true
  359. }
  360. },
  361. //选择物流方式
  362. bindLogChange(e) {
  363. this.log = this.logs[e.detail.value]
  364. // this.logistics = this.logs[e.detail.value].id
  365. },
  366. //选择捐献物资分类
  367. bindWzChange(e) {
  368. if (this.hadadd.indexOf(e.detail.value) === -1) {
  369. this.hadadd.push(e.detail.value)
  370. this.wzList[this.currentWzIndex].project_donation_name = this.wzs[e.detail.value].name
  371. this.wzList[this.currentWzIndex].project_donation_id = this.wzs[e.detail.value].id
  372. } else {
  373. this.$api.msg('该分类已添加');
  374. return
  375. }
  376. console.log(this.wzList)
  377. // this.wz = this.logs[e.detail.value].name
  378. },
  379. // 选择捐赠地址
  380. bindAreaChange(e) {
  381. this.project_area = this.areas[e.detail.value].id
  382. this.area = this.areas[e.detail.value].name
  383. },
  384. openChange(e) {
  385. if (e.detail.value !== '1') {
  386. this.Isopen = false
  387. } else {
  388. this.Isopen = true
  389. }
  390. },
  391. imgsub(item, index) {
  392. console.log(index, item)
  393. upload({
  394. filename: ''
  395. }).then(data => {
  396. console.log(data, '6666666666')
  397. this.$set(item, index, data[0].url)
  398. if (index < 2) {
  399. this.$set(item, index + 1, '')
  400. }
  401. });
  402. },
  403. dianji(index) {
  404. this.currentWzIndex = index
  405. },
  406. //添加更多
  407. addMore() {
  408. this.wzList.push({
  409. project_donation_id: null,
  410. project_donation_num: null,
  411. project_donation_name: null
  412. })
  413. },
  414. //提交
  415. sub() {
  416. // uni.navigateTo({
  417. // url: '/pages/joinSuc/joinsuccess'
  418. // })
  419. let obj = this;
  420. if (obj.type === 0) {
  421. if (obj.name == '') {
  422. obj.$api.msg('请输入您的姓名');
  423. return;
  424. }
  425. const reg = /^(\+?0?86-?)?1[\d]\d{9}$/;
  426. if (!reg.test(obj.phone)) {
  427. obj.$api.msg('请填写正确的手机号码');
  428. return;
  429. }
  430. } else {
  431. if (obj.unit == '') {
  432. obj.$api.msg('请输入捐赠单位');
  433. return;
  434. }
  435. if (obj.dwPeople == '') {
  436. obj.$api.msg('请输入联系人');
  437. return;
  438. }
  439. if (obj.tel == '') {
  440. obj.$api.msg('请输入单位电话');
  441. return;
  442. }
  443. }
  444. if (obj.log == '') {
  445. obj.$api.msg('请选择物流方式');
  446. return;
  447. }
  448. // if(obj.jxdz_show == true) {
  449. // if(obj.area == '') {
  450. // obj.$api.msg('请选择捐赠地址');
  451. // return;
  452. // }
  453. // }
  454. try {
  455. obj.wzList.forEach(item => {
  456. if (!item.project_donation_id) {
  457. throw '请选择物资类别'
  458. }
  459. if (!item.project_donation_num || item.project_donation_num == 0) {
  460. throw '请填写捐赠数量'
  461. }
  462. })
  463. } catch (e) {
  464. obj.$api.msg(e);
  465. return
  466. }
  467. let matter = obj.swimg.toString().replace(/,$/, ''),
  468. qc = obj.zlimg.toString().replace(/,$/, ''),
  469. worth = obj.jzimg.toString().replace(/,$/, ''),
  470. item = obj.wzList
  471. console.log(item, '物资参数')
  472. if (matter == '') {
  473. obj.$api.msg('请上传实物照片');
  474. return
  475. }
  476. if (qc == '') {
  477. obj.$api.msg('请上传质量合格证书');
  478. return
  479. }
  480. console.log(matter, '5555555555555555')
  481. uni.showLoading({
  482. title: '提交中...',
  483. mask: true
  484. })
  485. // if(obj.type === 0) {
  486. // if((obj.beforeUser.name != obj.name) || (obj.beforeUser.phone !== obj.phone) || (obj.beforeUser.log != obj.log) || (obj.beforeUser.IsAnonymous != obj.IsAnonymous) || (obj.) ) {
  487. // }
  488. // }
  489. createUser({
  490. // project_area: obj.project_area,
  491. name: obj.type === 0 ? obj.name : obj.unit,
  492. phone: obj.phone,
  493. tel: obj.tel,
  494. contacts: obj.contacts,
  495. user_type: obj.type,
  496. logistics: obj.log,
  497. anonymous: obj.IsAnonymous ? 0 : 1,
  498. invoice: obj.Isopen ? 1 : 0,
  499. card_id: obj.type == 0?obj.identityNumber:obj.qyxydm
  500. }).then(res => {
  501. // console.log(JSON.parse(res.msg),'99999999999999999999999999')
  502. // let info = JSON.parse(res.msg)
  503. // console.log(info.name,'8888888888888')
  504. console.log(res, 'res+++++++++++++++++++++')
  505. createProject({
  506. // project_area: obj.project_area,
  507. name: obj.type === 0 ? obj.name : obj.unit,
  508. project_id: obj.project_id,
  509. project_user_id: res.data.id,
  510. matter,
  511. qc,
  512. worth,
  513. logistics: obj.log,
  514. item,
  515. // mask
  516. }).then(res => {
  517. // console.log(JSON.parse(res.msg),'77777777777777777777')
  518. uni.hideLoading()
  519. uni.navigateTo({
  520. url: '/pages/joinSuc/joinsuccess'
  521. })
  522. }).catch(err => {
  523. uni.hideLoading()
  524. console.log(err)
  525. })
  526. }).catch(err => {
  527. uni.hideLoading()
  528. console.log(err, 'err')
  529. })
  530. },
  531. //获取物资分类列表
  532. getDonationInfo() {
  533. getDonationInfo().then(({
  534. data
  535. }) => {
  536. this.wzs = data
  537. console.log(this.wzs, '获取所有物资')
  538. })
  539. },
  540. getLogistics() {
  541. getLogistics().then(({
  542. data
  543. }) => {
  544. console.log('88888888888888888888', data)
  545. this.logs = data
  546. })
  547. },
  548. dele() {
  549. this.$delete(this.wzList, this.wzList.length - 1)
  550. },
  551. // 获取捐赠地址列表
  552. getAllArea() {
  553. getAllArea().then(({
  554. data
  555. }) => {
  556. console.log(data, '6666666666');
  557. this.areas = this.areas.concat(data);
  558. });
  559. },
  560. }
  561. }
  562. </script>
  563. <style lang="scss" scoped>
  564. page {
  565. height: 100%;
  566. background-color: #fff;
  567. }
  568. .idonate {
  569. padding: 0 30rpx;
  570. margin-top: 20rpx;
  571. background-color: #fff;
  572. }
  573. .btn {
  574. // height: 196rpx;
  575. // width: 100%;
  576. width: 690rpx;
  577. text-align: center;
  578. display: flex;
  579. justify-content: center;
  580. line-height: 75rpx;
  581. padding-bottom: 54rpx;
  582. // padding-top: 54rpx;
  583. // position: fixed;
  584. // bottom: 0;
  585. background-color: #fff;
  586. z-index: 9;
  587. .next {
  588. width: 478rpx;
  589. height: 75rpx;
  590. // margin: 0 auto;
  591. background: #FA7E67;
  592. border-radius: 35rpx;
  593. color: #fff;
  594. font-size: 32rpx;
  595. font-family: PingFang SC;
  596. font-weight: 500;
  597. color: #FFFFFF;
  598. }
  599. .prev {
  600. width: 264rpx;
  601. height: 75rpx;
  602. border: 1px solid #FA7E67;
  603. border-radius: 35rpx;
  604. font-size: 32rpx;
  605. font-family: PingFang SC;
  606. font-weight: 500;
  607. color: #FA7E67;
  608. margin-right: 60rpx;
  609. line-height: 70rpx;
  610. }
  611. .sub {
  612. width: 264rpx;
  613. height: 75rpx;
  614. background: #FA7E67;
  615. border-radius: 35rpx;
  616. font-size: 32rpx;
  617. font-family: PingFang SC;
  618. font-weight: 500;
  619. color: #FFFFFF;
  620. line-height: 70rpx;
  621. }
  622. }
  623. .item {
  624. display: flex;
  625. align-items: center;
  626. height: 102rpx;
  627. border-bottom: 1px #ECECEC solid;
  628. font-size: 30rpx;
  629. font-family: PingFang SC;
  630. font-weight: 500;
  631. color: #222222;
  632. line-height: 102rpx;
  633. .item-tit {
  634. flex-shrink: 0;
  635. display: inline-block;
  636. width: 200rpx;
  637. }
  638. text {
  639. color: #F3392C;
  640. }
  641. input {
  642. display: inline-block;
  643. width: 100%;
  644. }
  645. .log {
  646. // display: inline-block;
  647. width: 400rpx;
  648. color: #999;
  649. }
  650. .select {
  651. color: #000;
  652. }
  653. }
  654. .mask {
  655. padding-left: 202rpx;
  656. textarea {
  657. width: 396rpx;
  658. height: 166rpx;
  659. border: 1rpx solid #ccc;
  660. border-radius: 10rpx;
  661. font-size: 24rpx;
  662. font-family: PingFang SC;
  663. font-weight: 500;
  664. color: #000;
  665. line-height: 32rpx;
  666. padding: 24rpx 16rpx;
  667. }
  668. }
  669. .check-box {
  670. flex-grow: 0;
  671. display: flex;
  672. display: inline-block;
  673. }
  674. .no-border-b {
  675. border-bottom: none;
  676. }
  677. .bbtm {
  678. margin-top: 40rpx;
  679. width: 689rpx;
  680. height: 1rpx;
  681. background: #ECECEC;
  682. }
  683. .t-item {
  684. padding: 35rpx 0;
  685. border-bottom: 1px #ECECEC solid;
  686. font-size: 30rpx;
  687. font-family: PingFang SC;
  688. font-weight: 500;
  689. color: #222222;
  690. &:last-of-type {
  691. border-bottom: none;
  692. }
  693. image {
  694. display: block;
  695. width: 160rpx;
  696. height: 160rpx;
  697. // background: red;
  698. border-radius: 5rpx;
  699. // margin: 0 auto;
  700. }
  701. .t-tit {
  702. position: relative;
  703. text {
  704. display: inline-block;
  705. width: 73rpx;
  706. height: 31rpx;
  707. background: #F0433C;
  708. border-radius: 14rpx;
  709. font-size: 24rpx;
  710. font-family: PingFang SC;
  711. font-weight: 500;
  712. color: #FFFFFF;
  713. line-height: 31rpx;
  714. text-align: center;
  715. position: absolute;
  716. right: 0;
  717. // left: 0;
  718. top: 0;
  719. bottom: 0;
  720. margin: auto;
  721. }
  722. }
  723. .img-list {
  724. margin-top: 20rpx;
  725. justify-content: center;
  726. image {
  727. margin-right: 20rpx;
  728. }
  729. }
  730. }
  731. .jzwz {
  732. display: flex;
  733. .item-tit {
  734. font-size: 30rpx;
  735. font-family: PingFang SC;
  736. font-weight: 500;
  737. color: #222222;
  738. padding-top: 39rpx;
  739. line-height: 1;
  740. width: 200rpx;
  741. text {
  742. color: #F3392C;
  743. }
  744. }
  745. .choose-box {
  746. padding-top: 24rpx;
  747. .choose-item {
  748. display: flex;
  749. margin-bottom: 15rpx;
  750. position: relative;
  751. .wz {
  752. padding-left: 58rpx;
  753. width: 297rpx;
  754. height: 66rpx;
  755. background: #F3F3F3;
  756. border-radius: 5rpx;
  757. font-size: 28rpx;
  758. font-family: PingFang SC;
  759. font-weight: 500;
  760. color: #222222;
  761. line-height: 66rpx;
  762. &::after {
  763. content: '';
  764. width: 0;
  765. height: 0;
  766. border-left: 10rpx solid transparent;
  767. border-right: 10rpx solid transparent;
  768. border-top: 10rpx solid #808080;
  769. position: absolute;
  770. right: 10rpx;
  771. bottom: 26rpx;
  772. }
  773. }
  774. input {
  775. width: 189rpx;
  776. height: 66rpx;
  777. background: #F3F3F3;
  778. border-radius: 5rpx;
  779. line-height: 66rpx;
  780. margin-left: 15rpx;
  781. text-align: center;
  782. }
  783. }
  784. .act {
  785. width: 510rpx;
  786. height: 68rpx;
  787. position: relative;
  788. .more {
  789. width: 245rpx;
  790. height: 66rpx;
  791. background: #FFFFFF;
  792. border: 1px solid #FA7E67;
  793. border-radius: 5rpx;
  794. font-size: 24rpx;
  795. font-family: PingFang SC;
  796. font-weight: 500;
  797. color: #FA7E67;
  798. line-height: 66rpx;
  799. text-align: center;
  800. margin-right: 10rpx;
  801. position: absolute;
  802. left: 0;
  803. }
  804. .del {
  805. width: 245rpx;
  806. height: 66rpx;
  807. background: #FFFFFF;
  808. border: 1px solid #FA7E67;
  809. border-radius: 5rpx;
  810. font-size: 24rpx;
  811. font-family: PingFang SC;
  812. font-weight: 500;
  813. color: #FA7E67;
  814. line-height: 66rpx;
  815. text-align: center;
  816. margin-right: 10rpx;
  817. position: absolute;
  818. right: 0;
  819. }
  820. }
  821. }
  822. }
  823. .jg {
  824. height: 150rpx;
  825. background-color: #fff;
  826. }
  827. // .dele{
  828. // width: 40rpx;
  829. // height: 40rpx;
  830. // border-radius: 50%;
  831. // background-color: #F3392C;
  832. // transform: rotate(45deg);
  833. // position: absolute;
  834. // top: 0;
  835. // bottom: 0;
  836. // left: -45rpx;
  837. // margin: auto;
  838. // .lef {
  839. // width: 30rpx;
  840. // height: 5rpx;
  841. // position: absolute;
  842. // top: 0;
  843. // left: 0;
  844. // right: 0;
  845. // bottom: 0;
  846. // margin: auto;
  847. // background-color: #fff;
  848. // }
  849. // .rig {
  850. // width: 5rpx;
  851. // height: 30rpx;
  852. // background-color: #fff;
  853. // position: absolute;
  854. // top: 0;
  855. // left: 0;
  856. // right: 0;
  857. // bottom: 0;
  858. // margin: auto;
  859. // background-color: #fff;
  860. // }
  861. // }
  862. </style>