inquiryForm2_1.vue 21 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846
  1. <template>
  2. <view class="content">
  3. <view>
  4. <u-navbar
  5. title="症状描述"
  6. @leftClick="leftClick"
  7. >
  8. </u-navbar>
  9. </view>
  10. <view class="main">
  11. <view class="status_bar" :style="{height: statusBarHeight}"></view>
  12. <u-alert fontSize="16" description = "尊敬的用户,您好!
  13. 为了您的健康,请认真填写以下内容,以便药师为您更好的分析,提供更有针对性的解决方案!"></u-alert>
  14. <view class="chose-patient">
  15. <view class="title-box" @click="addPatient()" v-if="patient==null">
  16. <text class="title">选择就诊人</text>
  17. <view class="right" >
  18. <text class="value">请点击添加</text>
  19. <image src="/static/images/arrow_gray.png" mode=""></image>
  20. </view>
  21. </view>
  22. <view class="patient" @click="addPatient()" v-if="patient!=null">
  23. <view class="left">
  24. <view class="name">{{patient.patientName}}</view>
  25. <view class="info">
  26. <text class="text" v-if="patient.sex==1">男</text>
  27. <text class="text" v-if="patient.sex==2">女</text>
  28. <text class="text">{{$getAge(patient.birthday)}}岁</text>
  29. <text class="text">{{$parseIdCard(patient.idCard)}}</text>
  30. </view>
  31. </view>
  32. <view class="right" >
  33. <image src="/static/images/arrow_gray.png" mode=""></image>
  34. </view>
  35. </view>
  36. </view>
  37. <view class="cont">
  38. <u-form :rules="rules" :model="form" ref="uForm" labelPosition="left">
  39. <!-- <view class="title-box">
  40. <view class="line"></view>
  41. <view class="title">您的基本情况填写</view>
  42. </view>
  43. <view class="form">
  44. <u-form-item :required="true" labelWidth="200rpx" borderBottom label="身高(厘米)" prop="height">
  45. <u-input type="number" border="none" placeholder="请输入身高" v-model="form.height" />
  46. </u-form-item>
  47. <u-form-item :required="true" labelWidth="200rpx" borderBottom label="体重(公斤)" prop="weight">
  48. <u-input type="number" border="none" placeholder="请输入体重" v-model="form.weight" />
  49. </u-form-item>
  50. <u-form-item :required="true" labelWidth="200rpx" maxlength="11" borderBottom label="联系电话" prop="mobile">
  51. <u-input type="number" border="none" placeholder="请输入电话" v-model="form.mobile" />
  52. </u-form-item> -->
  53. <!-- <u-form-item :required="true" labelWidth="200rpx" borderBottom label="学习进度" prop="study">
  54. <u-input border="none" placeholder="请输入第几期第几课" v-model="form.study" />
  55. </u-form-item> -->
  56. <!-- <u-form-item :required="true" labelWidth="200rpx" borderBottom label="用药情况" prop="medication">
  57. <u--textarea v-model="form.medication" placeholder="请输入用药情况" count ></u--textarea>
  58. </u-form-item>
  59. <u-form-item :required="true" @click="usageShow = true;" labelWidth="200rpx" label="期望会诊方式" prop="usage">
  60. <u-input
  61. v-model="form.usage"
  62. disabled
  63. disabledColor="#ffffff"
  64. placeholder="请选择"
  65. border="none"
  66. ></u-input>
  67. <template #right>
  68. <u-icon
  69. name="arrow-right"
  70. ></u-icon>
  71. </template>
  72. </u-form-item>
  73. <u-action-sheet
  74. :show="usageShow"
  75. :actions="usages"
  76. title="请选择"
  77. @close="usageShow = false"
  78. @select="usageSelect"
  79. >
  80. </u-action-sheet>
  81. </view> -->
  82. <!-- <view class="title-box">
  83. <view class="line"></view>
  84. <view class="title">您的头面部健康状况自我检查</view>
  85. </view>
  86. <view class="form">
  87. <view class="option-box">
  88. <view class="option-item" v-for="(item,index) in temps" >
  89. <view v-if="item.tempType==1" class="title">{{index+1}} {{item.title}}</view>
  90. <view class="options">
  91. <u-checkbox-group
  92. v-if="item.tempType==1"
  93. v-model="item.checks"
  94. placement="column"
  95. >
  96. <u-checkbox
  97. size="28"
  98. shape="circle"
  99. activeColor="#C39A58"
  100. v-for="(option, subIndex) in item.options"
  101. :key="option.name"
  102. :label="option.name"
  103. :name="option.name"
  104. >
  105. </u-checkbox>
  106. </u-checkbox-group>
  107. </view>
  108. </view>
  109. </view>
  110. </view>
  111. <view class="title-box">
  112. <view class="line"></view>
  113. <view class="title">您的四肢肩颈健康状况自我检查</view>
  114. </view>
  115. <view class="form">
  116. <view class="option-box">
  117. <view class="option-item" v-for="(item,index) in temps" >
  118. <view v-if="item.tempType==2" class="title">{{index+1}} {{item.title}}</view>
  119. <view class="options">
  120. <u-checkbox-group
  121. v-if="item.tempType==2"
  122. v-model="item.checks"
  123. placement="column"
  124. >
  125. <u-checkbox
  126. size="28"
  127. shape="circle"
  128. activeColor="#C39A58"
  129. v-for="(option, subIndex) in item.options"
  130. :key="option.name"
  131. :label="option.name"
  132. :name="option.name"
  133. >
  134. </u-checkbox>
  135. </u-checkbox-group>
  136. </view>
  137. </view>
  138. </view>
  139. </view>
  140. <view class="title-box">
  141. <view class="line"></view>
  142. <view class="title">您的胸腹部健康状况自我检查</view>
  143. </view>
  144. <view class="form">
  145. <view class="option-box">
  146. <view class="option-item" v-for="(item,index) in temps" >
  147. <view v-if="item.tempType==3" class="title">{{index+1}} {{item.title}}</view>
  148. <view class="options">
  149. <u-checkbox-group
  150. v-if="item.tempType==3"
  151. v-model="item.checks"
  152. placement="column"
  153. >
  154. <u-checkbox
  155. size="28"
  156. shape="circle"
  157. activeColor="#C39A58"
  158. v-for="(option, subIndex) in item.options"
  159. :key="option.name"
  160. :label="option.name"
  161. :name="option.name"
  162. >
  163. </u-checkbox>
  164. </u-checkbox-group>
  165. </view>
  166. </view>
  167. </view>
  168. </view>
  169. <view class="title-box">
  170. <view class="line"></view>
  171. <view class="title">其他身体状况自我检查</view>
  172. </view>
  173. <view class="form">
  174. <view class="option-box">
  175. <view class="option-item" v-for="(item,index) in temps" >
  176. <view v-if="item.tempType==4" class="title">{{index+1}} {{item.title}}</view>
  177. <view class="options">
  178. <u-checkbox-group
  179. v-if="item.tempType==4"
  180. v-model="item.checks"
  181. placement="column"
  182. >
  183. <u-checkbox
  184. size="28"
  185. shape="circle"
  186. activeColor="#C39A58"
  187. v-for="(option, subIndex) in item.options"
  188. :key="option.name"
  189. :label="option.name"
  190. :name="option.name"
  191. >
  192. </u-checkbox>
  193. </u-checkbox-group>
  194. </view>
  195. </view>
  196. </view>
  197. </view> -->
  198. <!-- <view class="title-box">
  199. <view class="line"></view>
  200. <view class="title">补充信息</view>
  201. </view> -->
  202. <view class="form">
  203. <!-- <u-form-item labelWidth="140rpx" borderBottom label="舌苔照片" prop="avatar">
  204. <view class="form-item">
  205. <image @click="showImg(1)" class="icon" src="/static/images/question.png"></image>
  206. <u-upload
  207. :fileList="fileList1"
  208. @afterRead="afterRead"
  209. @delete="deletePic"
  210. name="1"
  211. multiple
  212. :maxCount="4"
  213. >
  214. </u-upload>
  215. </view>
  216. </u-form-item>
  217. <u-form-item labelWidth="140rpx" borderBottom label="面部照片" prop="avatar">
  218. <view class="form-item">
  219. <image @click="showImg(2)" class="icon" src="/static/images/question.png"></image>
  220. <u-upload
  221. :fileList="fileList2"
  222. @afterRead="afterRead"
  223. @delete="deletePic"
  224. name="2"
  225. multiple
  226. :maxCount="4"
  227. >
  228. </u-upload>
  229. </view>
  230. </u-form-item>
  231. <u-form-item labelWidth="140rpx" borderBottom label="相关报告" prop="avatar">
  232. <view class="form-item">
  233. <view class="icon"></view>
  234. <u-upload
  235. :fileList="fileList3"
  236. @afterRead="afterRead"
  237. @delete="deletePic"
  238. name="3"
  239. multiple
  240. :maxCount="4"
  241. >
  242. </u-upload>
  243. </view>
  244. </u-form-item> -->
  245. <u-form-item :required="true" labelWidth="200rpx" label="您最想咨询医生的问题是什么?" prop="title">
  246. <u--textarea v-model="form.title" placeholder="请输入内容" count ></u--textarea>
  247. </u-form-item>
  248. <u-form-item :required="true" labelWidth="200rpx" borderBottom label="此次病情是否去医院就诊过" prop="isVisit">
  249. <u-radio-group
  250. v-model="form.isVisit"
  251. iconPlacement="left">
  252. <u-radio :customStyle="{marginRight: '5px'}"
  253. v-for="(item, index) in isVisits"
  254. :key="index"
  255. :label="item.name"
  256. :name="item.name" activeColor="#FF5C03"
  257. ></u-radio>
  258. </u-radio-group>
  259. </u-form-item>
  260. <u-form-item labelWidth="200rpx" borderBottom label="上传检测报告或患处照片" >
  261. <view class="form-item">
  262. <view class="icon"></view>
  263. <u-upload
  264. :fileList="fileList3"
  265. @afterRead="afterRead"
  266. @delete="deletePic"
  267. name="3"
  268. multiple
  269. :maxCount="4"
  270. >
  271. </u-upload>
  272. </view>
  273. </u-form-item>
  274. </view>
  275. </u-form>
  276. </view>
  277. </view>
  278. <view class="btn-box">
  279. <view class="btn" @click="submitOrder()">预约会诊</view>
  280. </view>
  281. </view>
  282. </template>
  283. <script>
  284. import {bindCompanyUser} from '@/api/companyUser.js'
  285. import {create,confirm,getInquiryTemp} from '@/api/inquiryOrder.js'
  286. export default {
  287. data() {
  288. return {
  289. companyId:null,
  290. companyUserId:null,
  291. statusBarHeight: uni.getStorageSync('menuInfo').statusBarHeight,
  292. temps:[],
  293. usageShow:false,
  294. usages: [
  295. {
  296. name: '图文问诊',
  297. },
  298. {
  299. name: '语音问诊',
  300. },
  301. ],
  302. isVisits: [
  303. {
  304. name: '未就诊',
  305. disabled: false
  306. },
  307. {
  308. name: '就诊过',
  309. disabled: false
  310. }
  311. ],
  312. orderKey:null,
  313. patient:null,
  314. inquiryType:null,
  315. inquirySubType:null,
  316. orderType:null,
  317. fileList1: [],
  318. fileList2: [],
  319. fileList3: [],
  320. form:{
  321. title:"",
  322. isVisit:"就诊过",
  323. },
  324. rules: {
  325. height: [
  326. {
  327. required: true,
  328. message: '请输入身高',
  329. // 可以单个或者同时写两个触发验证方式
  330. trigger: ['change','blur'],
  331. }
  332. ],
  333. weight: [
  334. {
  335. required: true,
  336. message: '请输入体重',
  337. // 可以单个或者同时写两个触发验证方式
  338. trigger: ['change','blur'],
  339. }
  340. ],
  341. mobile: [
  342. {
  343. required: true,
  344. message: '请输入联系电话',
  345. // 可以单个或者同时写两个触发验证方式
  346. trigger: ['change','blur'],
  347. }
  348. ],
  349. isVisit: [
  350. {
  351. required: true,
  352. message: '请选择是否去医院就诊过',
  353. // 可以单个或者同时写两个触发验证方式
  354. trigger: ['change','blur'],
  355. }
  356. ],
  357. }
  358. }
  359. },
  360. onLoad(options) {
  361. if(!this.$isEmpty(options.isShare)){
  362. this.isShare=options.isShare
  363. }
  364. else{
  365. //uni.hideShareMenu()
  366. }
  367. if(!this.$isEmpty(options.companyId)){
  368. this.companyId=options.companyId == 'undefined' || options.companyId == 'null' ? null: options.companyId
  369. }
  370. if(!this.$isEmpty(options.companyUserId)){
  371. this.companyUserId=options.companyUserId == 'undefined' || options.companyUserId == 'null'? null: options.companyUserId
  372. }
  373. console.log(this.companyId)
  374. console.log(this.companyUserId)
  375. this.inquiryType=options.inquiryType;
  376. this.inquirySubType=options.inquirySubType;
  377. this.orderType=options.orderType;
  378. //this.getInquiryTemp();
  379. },
  380. onReady() {
  381. this.$refs.uForm.setRules(this.rules);
  382. },
  383. onShow() {
  384. if(this.$isLogin()){
  385. if(!this.$isEmpty(this.companyUserId)){
  386. let data = {companyUserId:this.companyUserId};
  387. bindCompanyUser(data).then(
  388. res => {
  389. if(res.code==200){
  390. }
  391. },
  392. rej => {}
  393. );
  394. }
  395. }
  396. var that=this;
  397. uni.$on('refreshOrderPatient', (res) => {
  398. that.patient=res
  399. })
  400. this.confirm();
  401. },
  402. onShareAppMessage(res) {
  403. //禁止二次转发--
  404. uni.showShareMenu({
  405. withShareTicket: true
  406. });
  407. wx.updateShareMenu({
  408. isPrivateMessage: true,
  409. withShareTicket: true,
  410. success(res) {
  411. console.log('updateShareMenu: ', res);
  412. },
  413. fail() {}
  414. });
  415. //禁止二次转发--end
  416. return {
  417. title: "御君方互联网医院--健康会诊",
  418. path: "/pages_order/inquiryForm2_1?inquiryType=2&orderType=1&inquirySubType="+this.inquirySubType+"&companyId="+this.companyId+"&companyUserId="+this.companyUserId
  419. }
  420. },
  421. methods: {
  422. showImg(type){
  423. if(type==1){
  424. var imgs=[
  425. "https://fs-1319721001.cos.ap-chongqing.myqcloud.com/fs/20240229/0640bd4b80ba4491842b9d20d7238616.png"
  426. ];
  427. uni.previewImage({
  428. current: 0,
  429. urls: imgs
  430. });
  431. }
  432. else if(type==2){
  433. var imgs=[
  434. "https://fs-1319721001.cos.ap-chongqing.myqcloud.com/fs/20240229/2c9f24e5c3fc458f8bcb30a4fb0619be.png"
  435. ];
  436. uni.previewImage({
  437. current: 0,
  438. urls: imgs
  439. });
  440. }
  441. },
  442. leftClick() {
  443. console.log('leftClick');
  444. uni.showModal({
  445. title: '提示',
  446. content: '确认关闭吗',
  447. success: function (res) {
  448. if (res.confirm) {
  449. uni.navigateBack()
  450. } else if (res.cancel) {
  451. }
  452. }
  453. });
  454. },
  455. confirm(){
  456. let data = {};
  457. confirm(data).then(
  458. res => {
  459. if(res.code==200){
  460. this.orderKey=res.orderKey
  461. console.log("this.orderKey==111",this.orderKey)
  462. }
  463. },
  464. rej => {}
  465. );
  466. },
  467. usageSelect(e){
  468. this.form.usage = e.name
  469. this.$refs.uForm.validateField('usage')
  470. },
  471. submitOrder(){
  472. if(this.patient==null){
  473. uni.showToast({
  474. icon:'none',
  475. title: '请选择就诊人',
  476. });
  477. return;
  478. }
  479. console.log(this.form.isVisit)
  480. if(this.form.isVisit!='就诊过'){
  481. uni.showToast({
  482. icon:'none',
  483. title: '仅支持复诊',
  484. });
  485. return;
  486. }
  487. console.log("this.orderKey==",this.orderKey)
  488. if(this.orderKey==null){
  489. this.confirm();
  490. }
  491. var reportImages=[];
  492. this.fileList3.forEach(function(element) {
  493. reportImages.push(element.url)
  494. });
  495. var tongueImages=[];
  496. this.fileList1.forEach(function(element) {
  497. tongueImages.push(element.url)
  498. });
  499. var faceImages=[];
  500. this.fileList2.forEach(function(element) {
  501. faceImages.push(element.url)
  502. });
  503. // var forms=[];
  504. // this.temps.forEach(function(element) {
  505. // var item={
  506. // title:element.title,
  507. // option:element.checks,
  508. // }
  509. // forms.push(item)
  510. // });
  511. console.log("2222",this.orderKey)
  512. var that=this;
  513. this.$refs.uForm.validate().then(res => {
  514. var data={
  515. companyId:that.companyId,
  516. companyUserId:that.companyUserId,
  517. orderKey:that.orderKey,
  518. patientId:that.patient.patientId,
  519. title:that.form.title,
  520. inquiryType:that.inquiryType,
  521. inquirySubType:that.inquirySubType,
  522. orderType: 1, // 1图文 2语音
  523. doctorId:that.doctorId,
  524. height:that.form.height,
  525. weight:that.form.weight,
  526. mobile:that.form.mobile,
  527. // study:that.form.study,
  528. medication:that.form.medication,
  529. usage:that.form.usage,
  530. reportImages:reportImages.toString(),
  531. tongueImages:tongueImages.toString(),
  532. faceImages:faceImages.toString(),
  533. isVisit:that.form.isVisit,
  534. // formJson:JSON.stringify(forms)
  535. }
  536. console.log("2222",this.orderKey)
  537. //#ifdef APP-PLUS
  538. data.source=2;
  539. //#endif
  540. //#ifdef H5
  541. data.source=3;
  542. //#endif
  543. uni.showLoading({
  544. title: '正在处理中...'
  545. });
  546. create(data).then(
  547. res => {
  548. uni.hideLoading()
  549. if(res.code==200){
  550. setTimeout(function(){
  551. uni.redirectTo({
  552. url: './inquiryPay?orderId='+res.order.orderId
  553. })
  554. },200);
  555. return;
  556. }
  557. else{
  558. uni.showToast({
  559. icon:'none',
  560. title: res.msg,
  561. });
  562. }
  563. },
  564. rej => {}
  565. );
  566. }).catch(errors => {
  567. })
  568. },
  569. // getInquiryTemp(){
  570. // let data = {};
  571. // getInquiryTemp(data).then(
  572. // res => {
  573. // if(res.code==200){
  574. // this.temps=res.data;
  575. // this.temps.forEach(function(element) {
  576. // element.options=JSON.parse(element.itemJson)
  577. // });
  578. // // this.temps1=temps.filter((item) => {
  579. // // return item.tempType==1;
  580. // // });
  581. // // this.temps2=temps.filter((item) => {
  582. // // return item.tempType==2;
  583. // // });
  584. // // this.temps3=temps.filter((item) => {
  585. // // return item.tempType==3;
  586. // // });
  587. // // this.temps4=temps.filter((item) => {
  588. // // return item.tempType==4;
  589. // // });
  590. // console.log(this.temps1)
  591. // }
  592. // },
  593. // rej => {}
  594. // );
  595. // },
  596. addPatient(){
  597. uni.navigateTo({
  598. url: '/pages_user/patient'
  599. })
  600. },
  601. deletePic(event) {
  602. this[`fileList${event.name}`].splice(event.index, 1)
  603. },
  604. async afterRead(event) {
  605. // 当设置 multiple 为 true 时, file 为数组格式,否则为对象格式
  606. let lists = [].concat(event.file)
  607. let fileListLen = this[`fileList${event.name}`].length
  608. lists.map((item) => {
  609. this[`fileList${event.name}`].push({
  610. ...item,
  611. status: 'uploading',
  612. message: '上传中'
  613. })
  614. })
  615. for (let i = 0; i < lists.length; i++) {
  616. const result = await this.uploadFilePromise(lists[i].url)
  617. let item = this[`fileList${event.name}`][fileListLen]
  618. this[`fileList${event.name}`].splice(fileListLen, 1, Object.assign(item, {
  619. status: 'success',
  620. message: '',
  621. url: result
  622. }))
  623. fileListLen++
  624. }
  625. },
  626. uploadFilePromise(url) {
  627. return new Promise((resolve, reject) => {
  628. let a = uni.uploadFile({
  629. url: uni.getStorageSync('requestPath')+'/app/common/uploadOSS', // 仅为示例,非真实的接口地址
  630. filePath: url,
  631. name: 'file',
  632. formData: {
  633. user: 'test'
  634. },
  635. success: (res) => {
  636. setTimeout(() => {
  637. console.log(JSON.parse(res.data).url)
  638. resolve(JSON.parse(res.data).url)
  639. }, 1000)
  640. }
  641. });
  642. })
  643. },
  644. }
  645. }
  646. </script>
  647. <style lang="scss">
  648. page{
  649. background: #f1f6fc;
  650. }
  651. </style>
  652. <style scoped lang="scss">
  653. .content{
  654. position: relative;
  655. .main{
  656. margin-top: 44px;
  657. .cont{
  658. padding-bottom: 160upx;
  659. .title-box{
  660. margin: 15rpx;
  661. display: flex;
  662. flex-direction: row;
  663. align-items: center;
  664. justify-content: flex-start;
  665. .title{
  666. font-size: 32upx;
  667. font-family: PingFang SC;
  668. font-weight: bold;
  669. color: #111111;
  670. }
  671. .line{
  672. margin-right: 15rpx;
  673. height: 30rpx;
  674. width: 6rpx;
  675. background-color: #C39A58;
  676. }
  677. }
  678. .form{
  679. border-radius: 15rpx;
  680. margin: 0rpx 15rpx;
  681. padding: 0rpx 30rpx;
  682. background-color: #fff;
  683. .option-box{
  684. padding: 15rpx;
  685. .option-item{
  686. .title{
  687. font-size: 32upx;
  688. font-family: PingFang SC;
  689. font-weight: bold;
  690. color: #111111;
  691. }
  692. .options{
  693. }
  694. }
  695. }
  696. }
  697. }
  698. .chose-patient{
  699. margin: 15rpx;
  700. padding: 30rpx;
  701. box-shadow: 0px 0px 5px 2px rgba(0,0,0,0.05);
  702. background-color: #fff;
  703. border-radius: 15rpx;
  704. .title-box{
  705. display: flex;
  706. align-items: center;
  707. justify-content: space-between;
  708. .title{
  709. font-size: 32upx;
  710. font-family: PingFang SC;
  711. font-weight: bold;
  712. color: #111111;
  713. }
  714. .right{
  715. height: 100%;
  716. display: flex;
  717. align-items: center;
  718. justify-content: center;
  719. .value{
  720. font-size: 28upx;
  721. font-family: PingFang SC;
  722. color: #999;
  723. margin-right: 10rpx;
  724. }
  725. image{
  726. width: 15upx;
  727. height: 30upx;
  728. }
  729. }
  730. }
  731. .patient{
  732. display: flex;
  733. align-items: center;
  734. justify-content: space-between;
  735. height: 110upx;
  736. .left{
  737. .name{
  738. font-size: 30upx;
  739. line-height: 1;
  740. font-family: PingFang SC;
  741. font-weight: bold;
  742. color: #111111;
  743. }
  744. .info{
  745. margin-top: 30rpx;
  746. display: flex;
  747. align-items: center;
  748. .text{
  749. font-size: 26upx;
  750. font-family: PingFang SC;
  751. line-height: 1;
  752. font-weight: 500;
  753. color: #999;
  754. margin-right: 19upx;
  755. }
  756. }
  757. }
  758. .right{
  759. display: flex;
  760. align-items: center;
  761. image{
  762. width: 15upx;
  763. height: 30upx;
  764. }
  765. }
  766. }
  767. }
  768. }
  769. .btn-box{
  770. height: 140upx;
  771. z-index: 9999;
  772. width: 100%;
  773. padding: 0rpx 30upx;
  774. position: fixed;
  775. bottom: 0;
  776. left: 0;
  777. box-sizing: border-box;
  778. background-color: #ffffff;
  779. display: flex;
  780. align-items: center;
  781. justify-content: center;
  782. .btn{
  783. width: 100%;
  784. height: 88upx;
  785. line-height: 88upx;
  786. text-align: center;
  787. font-size: 34upx;
  788. font-family: PingFang SC;
  789. font-weight: 400;
  790. color: #FFFFFF;
  791. background: #C39A58;
  792. border-radius: 10upx;
  793. }
  794. }
  795. }
  796. .form-item{
  797. display: flex;
  798. align-items: center;
  799. justify-content: flex-start;
  800. .icon{
  801. min-width: 30rpx;
  802. margin-right: 15rpx;
  803. width: 30rpx;
  804. height:30rpx;
  805. }
  806. }
  807. </style>