come.vue 22 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665
  1. <template>
  2. <view class="yybox">
  3. <nav-bar navtit="来访预约"></nav-bar>
  4. <view class="yydet">
  5. <!-- 顶部选填情况 -->
  6. <view class="flex0">
  7. <step-bar :steps="barsteps" :datainfo="datainfo" :fixeda="fixedflag" ></step-bar>
  8. </view>
  9. <view class="ytbox">
  10. <uni-forms ref="form" class="ytforms" :rules="rules" :modelValue="datainfo">
  11. <view v-for="(ite,idx) in steps" :key="idx" @click="getInFn(ite.val)">
  12. <view class="ytsbox">
  13. <view class="yttit">{{ite.tit}}</view>
  14. <block v-if="ite.val==0" >
  15. <!-- 日历 :configWeek="configWeek" :configHoliday="configHoliday" :firstDayOfWeek="firstDayOfWeek" :signList="signList" @monthChange="monthChange" @getIsSelDayFn="getIsSelDayFn" @shrinkClick="shrinkClick"-->
  16. <lunc-calendar ref="calendar" :configWeek="configWeek" :showLunar="false" :showMonthBg="false" :showShrink="true"
  17. @dayChange="dayChange" weekType="" >
  18. </lunc-calendar>
  19. <view class="ytime">
  20. <view class="ytimea">
  21. <view class="ytimel">选择时间</view>
  22. <view class="lread" @click="getTimeFn(1)">
  23. <view class="lreadl">
  24. <image :src="choseimg" v-if="timeType==1"></image>
  25. <image :src="nchoseimg" v-else></image>
  26. </view>
  27. <view class="tit">上午</text></view>
  28. </view>
  29. <view class="lread" @click="getTimeFn(2)">
  30. <view class="lreadl">
  31. <image :src="choseimg" v-if="timeType==2"></image>
  32. <image :src="nchoseimg" v-else></image>
  33. </view>
  34. <view class="tit">下午</text></view>
  35. </view>
  36. </view>
  37. <view class="ytimeb">
  38. <view class="list" :class="[ite.reservatConfigStatus=='Y'?'box3':'box1',timeid==ite.reservatConfigTimeId?'box2':'']" v-for="(ite,idx) in timeList" :key="idx" @click="getChose(ite)">
  39. <view class="tit">{{typeFn(ite.reservatConfigTimeBegin)}}-{{typeFn(ite.reservatConfigTimeEnd)}}</view>
  40. <!-- <view class="txt">{{ite.reservatConfigStatus=='Y'?'可预约':'已约满'}}</view> -->
  41. </view>
  42. </view>
  43. </view>
  44. <!-- <view class="ytime">
  45. <view class="ytimel">选择时间</view>
  46. <view class="ytst flext">
  47. <image :src="tipimg"></image>工作日上午
  48. <block v-if="amBegin">{{amBegin}}-{{amEnd}} </block>
  49. <block v-else>暂无预约时间</block>
  50. ; 下午
  51. <block v-if="pmBegin">{{pmBegin}}-{{pmEnd}}</block>
  52. <block v-else>暂无预约时间</block>
  53. </view>
  54. <view class="flexc ytimea">
  55. <view class="timebtn">
  56. <picker range-key='dictLabel' :disabled="disabled" :value="timeidx" :range="timerange" @change="bindTimeChangea">
  57. <view class="flex1 " :class="timetype?'co16 fw f16':'coa f14'">{{timetype||'请选择'}}</view>
  58. </picker>
  59. </view>
  60. <image :src="rowline" class="rowline"></image>
  61. <view class="timebtn">
  62. <picker mode ="time" :start="start" :end="endtime?endtime:end" :value="starttime" @change="bindTimeChangeb">
  63. <view class="flex1 " :class="starttime?'co16 fw f16':'coa f14'">{{starttime||'请选择时间'}}</view>
  64. </picker>
  65. </view>
  66. <image :src="rowline" class="rowline"></image>
  67. <view class="timebtn">
  68. <picker mode ="time" :start="starttime?starttime:start" :end="end" :value="endtime" @change="bindTimeChangec">
  69. <view class="flex1" :class="endtime?'co16 fw f16':'coa f14'">{{endtime||'请选择时间 '}}</view>
  70. </picker>
  71. </view>
  72. </view>
  73. </view> -->
  74. </block>
  75. <view v-if="ite.val==1" class="pt5">
  76. <uni-forms-item label="人数" required name="visitNum">
  77. <!-- <view class=" ytchose">
  78. <view class="flexc">
  79. <image :src="downimg" class="numbtn" @click="_calcValue('minus')"></image>
  80. <input type="number" v-model="inputValue" class="numinp" />
  81. <image :src="upimg" class="numbtn" @click="_calcValue('plus')"></image>
  82. </view>
  83. </view> -->
  84. <uni-easyinput :inputBorder="false" type="number" v-model="datainfo.visitNum" placeholder="请输入人数">
  85. </uni-easyinput>
  86. </uni-forms-item>
  87. <uni-forms-item label="姓名" required name="visitName">
  88. <uni-easyinput :inputBorder="false" v-model="datainfo.visitName" placeholder="请输入姓名">
  89. </uni-easyinput>
  90. </uni-forms-item>
  91. <uni-forms-item label="手机号码" required name="visitPhone">
  92. <uni-easyinput :inputBorder="false" type="number" v-model="datainfo.visitPhone" placeholder="请输入手机号码">
  93. </uni-easyinput>
  94. </uni-forms-item>
  95. <uni-forms-item label="来访地点" required name="appointmentSite">
  96. <!-- jluly -->
  97. <view class="flexc flex1">
  98. <picker class="pickbox" range-key='dictLabel' :disabled="disabled" :value="adridx" :range="adrlist" @change="bindTimeChangea">
  99. <view class="flex1 " :class="adrtype?'co16 fw5 f14':'cod f14'">{{adrtype||'请选择'}}</view>
  100. </picker>
  101. </view>
  102. </uni-forms-item>
  103. <uni-forms-item label="来访事由" required name="visitReason">
  104. <uni-easyinput :inputBorder="false" v-model="datainfo.visitReason" placeholder="请输入来访事由">
  105. </uni-easyinput>
  106. </uni-forms-item>
  107. <!-- <uni-forms-item label="是否接待" required name="visitName" v-if="yktypes==1">
  108. <view class="flexc ytchose">
  109. <view class="lread" @click="getisReceptionFn">
  110. <view class="lreadl">
  111. <image :src="choseimg" v-if="isReception=='Y'"></image>
  112. <image :src="nchoseimg" v-else></image>
  113. </view>
  114. <view class="tit">是</text></view>
  115. </view>
  116. <view class="lread" @click="isReception='N'">
  117. <view class="lreadl">
  118. <image :src="choseimg" v-if="isReception=='N'"></image>
  119. <image :src="nchoseimg" v-else></image>
  120. </view>
  121. <view class="tit">否</text></view>
  122. </view>
  123. </view>
  124. </uni-forms-item> -->
  125. <uni-forms-item label="补充事由" name="visitRemark">
  126. <textarea placeholder="可补充填写" v-model="datainfo.visitRemark" placeholder-style="color:#aaa;" :auto-height="autoHeight" ></textarea>
  127. </uni-forms-item>
  128. </view>
  129. <view class="pt12 pb18" v-if="ite.val==2">
  130. <view class="facea flexccc" @click="getFaceFn">
  131. <image :src="faceimg"></image>
  132. <view>点击进行面容认证</view>
  133. </view>
  134. <view class="facetip">面容认证仅能由<text>林涵宇</text>本人完成</view>
  135. <view class="flexcc">
  136. <view class="flexccc facetips">
  137. <image :src="ftipa"></image>
  138. <view>避免遮挡</view>
  139. </view>
  140. <view class="flexccc facetips">
  141. <image :src="ftipb"></image>
  142. <view>光线充足</view>
  143. </view>
  144. <view class="flexccc facetips">
  145. <image :src="ftipc"></image>
  146. <view>正对手机</view>
  147. </view>
  148. </view>
  149. </view>
  150. </view>
  151. </view>
  152. </uni-forms>
  153. <view class="ybtn flexcc" @click="getSubmit">确认提交</view>
  154. </view>
  155. </view>
  156. </view>
  157. </template>
  158. <script>
  159. import navBar from "@/components/toptab/navbar.vue"
  160. import stepBar from "@/components/order/stepbar.vue"
  161. import luncCalendar from "@/components/lunc-calendar/lunc-calendar.vue"
  162. import {getDictionaryFn} from "@/api/mine/register.js"
  163. import {getReservatTime,getReservatAdd,getConfigList} from "@/api/mine/order.js"
  164. export default {
  165. components:{stepBar,luncCalendar,navBar},
  166. data(){
  167. return{
  168. tipimg:require('@/static/images/order/come/tip.png'),
  169. rowline:require('@/static/images/order/come/rowline.png'),
  170. faceimg:require('@/static/images/order/come/faceimg.png'),
  171. ftipa:require('@/static/images/order/come/ftipa.png'),
  172. ftipb:require('@/static/images/order/come/ftipb.png'),
  173. ftipc:require('@/static/images/order/come/ftipc.png'),
  174. choseimg:require("@/static/images/order/comes/chose.png"),
  175. nchoseimg:require("@/static/images/order/comes/nchosec.png"),
  176. downimg:require("@/static/images/order/comes/down.png"),
  177. upimg:require("@/static/images/order/comes/add.png"),
  178. adrlist:[],
  179. adrtype:'',
  180. adridx:-1,
  181. amList:[],
  182. pmList:[],
  183. timeType:1,//1: AM 2: PM",
  184. timeList:[],//时间段
  185. timeid:'',
  186. //status: 填写状态 0:未填 1:在填 2:填完 {tit:'面容认证',status:0,val:2}
  187. barsteps:[{tit:'信息填写',status:1,val:0},{tit:'等待审核',status:0,val:1},{tit:'审核成功',status:0,val:2},{tit:'已完成',status:0,val:3}],
  188. steps:[{tit:'预约日期',status:1,val:0},{tit:'信息填写',status:0,val:1}],
  189. fixedflag:true,
  190. rules: {
  191. // visitPhone: {rules: [{required: true,errorMessage: '请输入联系电话'},{pattern:"^(13[0-9]|14[01456879]|15[0-35-9]|16[2567]|17[0-8]|18[0-9]|19[0-35-9])\\d{8}$",errorMessage: '请输入正确的联系方式'}]},
  192. },
  193. autoHeight:true,
  194. disabled:false,
  195. intype:0,
  196. datainfo:{},
  197. inputValue:1,
  198. step:1,
  199. min:1,
  200. signList: [],
  201. configWeek:[],
  202. configHoliday:'Y',
  203. firstDayOfWeek:'sunday',
  204. dayflag:false,
  205. month:'',
  206. year:'',
  207. kaTime:'',
  208. changetime:'',//改变的日期
  209. timeday:'',//选择的日期
  210. visitDate:'',
  211. id:'',
  212. jdryflag:true,//当前时间段是否能接待
  213. }
  214. },
  215. watch:{
  216. // intype(val){
  217. // var data=this.datainfo;
  218. // if(val!=0){
  219. // if(data.visitDate&&data.visitTime) this.steps[0].status=2;
  220. // else if(!data.visitDate||!data.visitTime) this.steps[0].status=0;
  221. // }
  222. // if(val!=1){
  223. // if(this.yktypes==1){
  224. // if(this.inputValue&&data.visitPhone&&data.visitName&&data.visitUnitName) this.steps[1].status=2;
  225. // else if(!this.inputValue||!data.visitPhone||!data.visitName||!data.visitUnitName) this.steps[1].status=0;
  226. // }else{
  227. // if(this.inputValue&&data.visitPhone&&data.visitName) this.steps[1].status=2;
  228. // else if(!this.inputValue||!data.visitPhone) this.steps[1].status=0;
  229. // }
  230. // }
  231. // }
  232. },
  233. onLoad: function(e) {
  234. // this.id=e.id;
  235. // this.id='881659';
  236. this.time();
  237. this.init()
  238. this.getReservatTime();
  239. // this.getConfigList()
  240. },
  241. methods:{
  242. bindTimeChangea(e){
  243. var val=e.detail.value;
  244. this.adrtype=this.adrlist[val].dictLabel
  245. this.datainfo.appointmentSite=this.adrlist[val].dictValue
  246. },
  247. getFaceFn(){
  248. this.$tab.navigateTo('/pages/order/face')
  249. },
  250. init(){
  251. // 记录来源
  252. getDictionaryFn('jluly').then(res=>{
  253. if(res.code==200){
  254. this.adrlist = res.data.map(v => {
  255. return {
  256. dictLabel: v.dictLabel,
  257. dictValue: v.dictValue
  258. }
  259. })
  260. }
  261. })
  262. },
  263. getReservatTime(itime){
  264. getReservatTime().then(res=>{
  265. if(res.code==200){
  266. var data=res.rows;
  267. var amList=[],pmList=[]
  268. data.forEach(ite=>{
  269. if(ite.reservatConfigType==1){
  270. amList.push(ite)
  271. }else if(ite.reservatConfigType==2){
  272. pmList.push(ite)
  273. }
  274. })
  275. if(amList.length){
  276. this.timeList=amList;
  277. this.timeType=1
  278. }else{
  279. this.timeList=pmList;
  280. this.timeType=2
  281. }
  282. this.amList=amList
  283. this.pmList=pmList
  284. }
  285. })
  286. },
  287. time() {
  288. var date = new Date();
  289. var y = date.getFullYear();
  290. var m = date.getMonth() + 1;
  291. var d = date.getDate();
  292. var h = date.getHours();
  293. var min = date.getMinutes();
  294. var s = date.getSeconds();
  295. var week = date.getDay(); //获取当前星期X(0-6,0代表星期天)
  296. var weeks = ["星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"];
  297. var yearStr = y + '-' + (m < 10 ? ('0' + m) : m) + '-' + (d < 10 ? ('0' + d) : d)
  298. var timeStr = (h < 10 ? ('0' + h) : h) + ':' + (min < 10 ? ('0' + min) : min) + ':' + (s < 10 ? (
  299. '0' + s) : s);
  300. this.kaTime = yearStr;
  301. this.datainfo.visitDate=yearStr;
  302. this.year=y;
  303. this.month=m;
  304. },
  305. typeFn(data){
  306. return data?data.substring(0,5):''
  307. },
  308. getChose(ite){
  309. if(ite.reservatConfigStatus=='Y'){
  310. this.timeid=ite.reservatConfigTimeId;
  311. this.datainfo.visitTime=ite.reservatConfigTimeBegin+'-'+ite.reservatConfigTimeEnd;
  312. this.datainfo.reservatConfigTimeId=ite.reservatConfigTimeId;
  313. // 判断当前时间段是否有接待员
  314. // if(ite.receptionPersonnelType=='N'){
  315. // this.jdryflag=true
  316. // }else{
  317. // this.jdryflag=false
  318. // this.isReception='N'
  319. // }
  320. }
  321. },
  322. getTimeFn(type){
  323. if(type==1){
  324. this.timeType=1;
  325. this.timeList=this.amList;
  326. }else{
  327. this.timeType=2;
  328. this.timeList=this.pmList;
  329. }
  330. },
  331. clearboth(){
  332. var time=this.datainfo.visitDate
  333. this.datainfo={};
  334. this.datainfo.visitDate=time;
  335. this.timeid='';
  336. this.adrtype='';
  337. // this.getReservatTime(this.changetime)
  338. },
  339. getSubmit(){
  340. var that=this;
  341. if(!this.datainfo.visitDate){
  342. this.$toast('请选择预约日期')
  343. return
  344. }
  345. if(!this.datainfo.visitTime){
  346. this.$toast('请选择时间')
  347. return
  348. }
  349. var str='预约成功'
  350. // if(this.inputValue==0){
  351. // this.$toast('请输入参观人数')
  352. // return
  353. // }
  354. // if(this.inputValue<0){
  355. // this.$toast('请输入正确的参观人数')
  356. // return
  357. // }
  358. if(!this.datainfo.visitNum){
  359. this.$toast('请输入人数')
  360. return
  361. }
  362. if(this.datainfo.visitNum<1){
  363. this.$toast('请输入正确的人数')
  364. return
  365. }
  366. if(!this.datainfo.visitName){
  367. this.$toast('请输入姓名')
  368. return
  369. }
  370. var phone=this.datainfo.visitPhone
  371. if(!phone){
  372. this.$toast('请输入手机号码')
  373. return
  374. }
  375. let regphone = /^(13[0-9]|14[01456879]|15[0-35-9]|16[2567]|17[0-8]|18[0-9]|19[0-35-9])\d{8}$/
  376. if (phone && !regphone.test(phone)) {
  377. that.$toast("请输入正确的手机号")
  378. return
  379. }
  380. if(!this.adrtype){
  381. this.$toast('请选择来访地点')
  382. return
  383. }
  384. if(!this.datainfo.visitReason){
  385. this.$toast('请输入来访事由')
  386. return
  387. }
  388. // that.clearboth()
  389. // console.log(this.datainfo)
  390. // return
  391. this.$refs.form.validate().then(res => {
  392. var params={};
  393. params=this.datainfo
  394. getReservatAdd(params).then(res=>{
  395. if(res.code==200){
  396. this.$toast(str)
  397. setTimeout(function(){
  398. that.clearboth()
  399. },1500)
  400. }else{
  401. this.$toast(res.msg)
  402. }
  403. })
  404. })
  405. },
  406. dayChange(e){
  407. console.log(e,1)
  408. this.datainfo.visitDate=e.date;
  409. },
  410. getIsSelDayFn(e){
  411. // this.datainfo.visitDate=e.date;
  412. },
  413. getInFn(idx){
  414. // this.intype=idx;
  415. // this.steps[idx].status=1
  416. },
  417. // getConfigList(){
  418. // getConfigList().then(res=>{
  419. // if(res.code==200){
  420. // if(res.rows&&res.rows.length){
  421. // var week=res.rows[0].reservatConfigWeek;
  422. // var weeka=week.split(',');
  423. // var weekarr=[]
  424. // weeka.forEach(ite=>{
  425. // weekarr.push(Number(ite))
  426. // })
  427. // this.configWeek=weekarr;
  428. // this.configHoliday=res.rows[0].reservatConfigHoliday;
  429. // }
  430. // }
  431. // })
  432. // },
  433. // getisReceptionFn(){
  434. // if(this.jdryflag){
  435. // this.isReception='Y'
  436. // }else{
  437. // this.$toast('当前时间段暂无预约人员')
  438. // }
  439. // },
  440. // _calcValue(type) {
  441. // // if (this.disabled) {
  442. // // return;
  443. // // }
  444. // const scale = this._getDecimalScale();
  445. // let value = this.inputValue * scale;
  446. // let step = this.step * scale;
  447. // if (type === "minus") {
  448. // value -= step;
  449. // if (value < (this.min * scale)) {
  450. // return;
  451. // }
  452. // if (value > (this.max * scale)) {
  453. // value = this.max * scale
  454. // }
  455. // }
  456. // if (type === "plus") {
  457. // value += step;
  458. // if (value > (this.max * scale)) {
  459. // return;
  460. // }
  461. // if (value < (this.min * scale)) {
  462. // value = this.min * scale
  463. // }
  464. // }
  465. // this.inputValue = (value / scale).toFixed(String(scale).length - 1);
  466. // },
  467. // _getDecimalScale() {
  468. // let scale = 1;
  469. // // 浮点型
  470. // if (~~this.step !== this.step) {
  471. // scale = Math.pow(10, String(this.step).split(".")[1].length);
  472. // }
  473. // return scale;
  474. // },
  475. // dayChange(e){
  476. // if(e.daySign&&e.daySign.length){
  477. // var daySign=e.daySign[0];
  478. // this.amList=daySign.amList||[];
  479. // this.pmList=daySign.pmList||[];
  480. // if(this.reservatConfigType==1){
  481. // this.timeList=this.amList;
  482. // }else if(this.reservatConfigType==2){
  483. // this.timeList=this.pmList;
  484. // }
  485. // this.timeid='';
  486. // this.datainfo.visitDate=daySign.date;
  487. // this.datainfo.visitTime='';
  488. // }
  489. // },
  490. // monthChange(e){
  491. // var y=e.year;
  492. // var m=e.month;
  493. // if(y==this.year&&m==this.month){
  494. // this.getReservatTime()
  495. // this.changetime='';
  496. // }else{
  497. // var time=y + '-' + m + '-' + '01'
  498. // this.changetime=time
  499. // this.getReservatTime(time)
  500. // }
  501. // },
  502. // 选中的日期
  503. // getIsSelDayFn(e){
  504. // if(e.sign&&e.sign.length&&this.timeday!=e.date){
  505. // this.timeday=e.date;
  506. // if(this.configWeek.indexOf(e.week)!=-1 || e.isHoliday&&this.configHoliday=='N'){
  507. // this.dayflag=false;
  508. // }else{
  509. // if(e.sign&&e.sign.length){
  510. // var sign=JSON.parse(JSON.stringify(e.sign))
  511. // var signes=JSON.parse(JSON.stringify(sign[0]));
  512. // var amList=JSON.parse(JSON.stringify(signes.amList))||[];
  513. // var pmList=JSON.parse(JSON.stringify(signes.pmList))||[];
  514. // this.jdryflag=true;
  515. // if(this.timeType==1){
  516. // this.timeList=amList;
  517. // }else{
  518. // this.timeList=pmList;
  519. // }
  520. // this.amList=amList
  521. // this.pmList=pmList
  522. // this.timeid='';
  523. // var y=e.year;
  524. // var m=e.month;
  525. // var d=e.day;
  526. // this.datainfo.visitDate=y + '-' + (m < 10 ? ('0' + m) : m) + '-' + (d < 10 ? ('0' + d) : d);
  527. // this.datainfo.visitTime='';
  528. // if(signes.title=='可预约'){
  529. // this.dayflag=true;
  530. // }else{
  531. // this.dayflag=false;
  532. // }
  533. // }
  534. // }
  535. // }
  536. // },
  537. // shrinkClick(e){
  538. // console.log(e,3)
  539. // },
  540. },
  541. }
  542. </script>
  543. <style lang="scss" scoped>
  544. .ytbox /deep/ .uni-forms .uni-forms-item{padding: 20rpx 16rpx 20rpx;border-bottom: 2rpx solid #E6E6E6;margin-bottom: 0;}
  545. .ytbox /deep/ .uni-forms-item__label{flex: 0 0 auto;width: 144rpx !important;font-size: 28rpx;font-weight: bold;position: relative;color: #343434;text-align-last: justify;}
  546. .ytbox /deep/ .uni-forms-item__label text{flex: 1;}
  547. .ytbox /deep/ .uni-forms-item__label .is-required{position: absolute;right: 0;color: #F10C31;margin-top: 16rpx;}
  548. .ytbox /deep/ uni-textarea{flex: 1;width: auto;text-align: right;}
  549. .ytbox /deep/ .uni-textarea-placeholder{font-size: 28rpx;color: #DDDDDD !important;}
  550. .ytbox /deep/ .uni-easyinput__placeholder-class{font-size: 28rpx;color: #DDDDDD;}
  551. .ytbox /deep/ .uni-forms-item__content{display: flex;align-items: center;flex-direction: row;}
  552. .ytbox /deep/ .uni-easyinput{flex: 1;text-align: right;}
  553. .ytsbox /deep/ .uni-forms-item:last-child{border-bottom: none;}
  554. .ytbox /deep/ .uni-easyinput__content-input{font-size: 28rpx;}
  555. .ytbox /deep/ .uni-forms-item__error{margin-top:20rpx;left: auto;right: 0;}
  556. .ytbox{width: 684rpx;margin: 0 auto;padding-bottom: 44rpx;padding-top: 24rpx;position: relative;flex: 1;overflow: auto;}
  557. .ytforms{
  558. .yttit{font-size: 28rpx;font-weight: bold;margin-bottom: 10rpx;
  559. color: #161616;display: flex;align-items: center;padding: 0rpx 26rpx;box-sizing: border-box;position: relative;
  560. &::before{content: '';width: 6rpx;height: 34rpx;background: $com-cd3;border-radius: 4rpx;position: absolute;top: 50%;transform: translateY(-50%);left: 0rpx;}
  561. }
  562. .ytsbox{background-color: #ffffff;padding: 32rpx 28rpx 0;border-radius: 14rpx;margin-bottom: 24rpx;
  563. &.boxa{padding: 24rpx 48rpx;}
  564. // &.boxb{padding-bottom:10rpx;}
  565. .ytime{padding:60rpx 0 0;
  566. .ytimea{display: flex;align-items: center;margin-bottom: 32rpx;
  567. .ytimel{font-size: 30rpx;font-weight: bold;color: #161616;flex:1;}
  568. }
  569. .ytimeb{
  570. display: flex;align-items: center;flex-wrap: wrap;
  571. .list{
  572. width: 196rpx;
  573. height: 120rpx;
  574. display: flex;align-items: center;justify-content: center;flex-direction: column;
  575. border-radius:6rpx;margin-bottom: 30rpx;margin-right: 18rpx;box-sizing: border-box;
  576. &:nth-of-type(3n){margin-right: 0;}
  577. &.box1{background: #F3F3F3;
  578. view{color: #AAAAAA;}
  579. }
  580. &.box2{border: 1px solid $com-cd3 !important;
  581. .tit{color: $com-cd3 !important;}
  582. }
  583. &.box3{border: 1px solid #DADADA;
  584. }
  585. view{font-size: 28rpx;font-weight: 500;color: #161616;font-family: PingFang SC;}
  586. .tit{margin-bottom: 6rpx;}
  587. }
  588. }
  589. }
  590. // .ytime{padding:20rpx 0 46rpx;
  591. // .ytimel{font-size: 28rpx;font-weight: bold;color: #161616;flex:1;position: relative;padding-left: 26rpx;margin-bottom: 32rpx;
  592. // &::before{content: '';width: 6rpx;height: 34rpx;background: $com-cd3;border-radius: 4rpx;position: absolute;top: 50%;transform: translateY(-50%);left: 0rpx;}
  593. // }
  594. // .ytst{font-size: 26rpx;font-weight: 500;color: #666666;margin-bottom: 28rpx;
  595. // image{width: 24rpx;height: 24rpx;margin-right: 8rpx;flex: 0 0 auto;margin-top: 6rpx;}
  596. // }
  597. // .ytimea{padding: 10rpx 0 0;
  598. // .rowline{width: 64rpx;height: 20rpx;margin: 0 10rpx;flex: 0 0 auto;}
  599. // .timebtn{flex: 1;height: 70rpx;border: 2rpx solid #0391FD;
  600. // border-radius: 14rpx;text-align: center;line-height: 70rpx;box-sizing: border-box;}
  601. // }
  602. // }
  603. .ytchose{flex: 1; display: flex;align-items: center;justify-content: flex-end;
  604. .numbtn{width: 32rpx;height: 32rpx;flex: 0 0 auto;}
  605. .numinp{margin: 0 28rpx;width: 124rpx;height: 56rpx;background: #FFFFFF;border: 2rpx solid #0391FD;border-radius: 2rpx;text-align: center;box-sizing: border-box;}
  606. }
  607. }
  608. .lread{
  609. display: flex;align-items: flex-start;justify-content: center;margin-left: 40rpx;
  610. .lreadl{padding-top: 4rpx;
  611. image{width: 28rpx;height: 28rpx;margin-right: 26rpx;}
  612. }
  613. .tit{font-size: 28rpx;font-weight: 500;color: #666666;
  614. }
  615. }
  616. }
  617. // 按钮
  618. .ybtn{width: 684rpx;height: 90rpx;background: $com-cd3;border-radius: 14rpx;margin: 56rpx auto 0;font-size: 28rpx;font-weight: 500;color: #FFFFFF;
  619. &.btn1{background-color: #9a9c9e;}
  620. }
  621. .pickbox{flex: 1;text-align: right;font-weight: 500;font-size: 28rpx;color: #161616;}
  622. // 面容
  623. .facea{width: 100%;height: 174rpx;background: #FFFFFF;border-radius: 14rpx;border: 2rpx dashed #DADADA;margin-bottom: 46rpx;
  624. image{width: 64rpx;height: 64rpx;margin-bottom: 14rpx;}
  625. view{font-weight: 500;color: #AAAAAA;font-size: 26rpx;}
  626. }
  627. .facetip{text-align: center;font-weight: 500;font-size: 22rpx;color: #666666;margin-bottom: 50rpx;
  628. text{color: $com-cd3;font-weight: 500;padding: 0 4rpx;}
  629. }
  630. .facetips{width: 188rpx;
  631. image{width: 98rpx;height: 98rpx;margin-bottom: 20rpx;}
  632. view{font-weight: 500;font-size: 22rpx;color: #828CA7;}
  633. }
  634. </style>