選択できるのは25トピックまでです。 トピックは、先頭が英数字で、英数字とダッシュ('-')を使用した35文字以内のものにしてください。

opening-account-unit.vue 19KB

6ヶ月前
6ヶ月前
6ヶ月前
6ヶ月前
6ヶ月前
6ヶ月前
6ヶ月前
6ヶ月前
6ヶ月前
6ヶ月前
1年前
6ヶ月前
1年前
6ヶ月前
1年前
6ヶ月前
7ヶ月前
6ヶ月前
1年前
6ヶ月前
1年前
6ヶ月前
7ヶ月前
1年前
6ヶ月前
7ヶ月前
1年前
6ヶ月前
6ヶ月前
6ヶ月前
6ヶ月前
6ヶ月前
6ヶ月前
1年前
10ヶ月前
7ヶ月前
6ヶ月前
7ヶ月前
7ヶ月前
6ヶ月前
7ヶ月前
7ヶ月前
6ヶ月前
1年前
1年前
1年前
1年前
7ヶ月前
7ヶ月前
6ヶ月前
1年前
10ヶ月前
1年前
10ヶ月前
7ヶ月前
6ヶ月前
10ヶ月前
1年前
7ヶ月前
1年前
7ヶ月前
6ヶ月前
7ヶ月前
7ヶ月前
6ヶ月前
10ヶ月前
10ヶ月前
7ヶ月前
7ヶ月前
7ヶ月前
1年前
1年前
7ヶ月前
1年前
7ヶ月前
1年前
7ヶ月前
6ヶ月前
1年前
7ヶ月前
7ヶ月前
1年前
6ヶ月前
6ヶ月前
6ヶ月前
6ヶ月前
6ヶ月前
6ヶ月前
6ヶ月前
6ヶ月前
6ヶ月前
6ヶ月前
6ヶ月前
6ヶ月前
6ヶ月前
6ヶ月前
1年前
1年前
1年前
6ヶ月前
1年前
6ヶ月前
1年前
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696
  1. <template>
  2. <navBar title="ETC开户新办申请-单位" navbgClass="nav-bgXin" fontColor='#fff' :scrollTop="scrollTop"></navBar>
  3. <navBgCar :activeNum='3'></navBgCar>
  4. <view class="content-wrap">
  5. <view class="t-card">
  6. <view class="item-tips">
  7. <view class="title"> 上传后请核对识别信息 </view>
  8. <view class="tip"> 如有错误请及时手动修改 </view>
  9. </view>
  10. <view class="picture-wrapper" @click="cardImageOcrYY()">
  11. <view class="bg">
  12. <view class="">
  13. <view class="name"> 营业执照 </view>
  14. <view class="value"> 上传企业的营业执照 </view>
  15. <view class="tip">
  16. <view class="tip-value"> 拍摄规范 </view>
  17. </view>
  18. </view>
  19. <image v-if="!state.form.posImgUrl" class="icon" :src="`${$imgUrl}applyCard/zhizhao.png`"
  20. :style="{'--bgimg':`url(${$imgUrl}issuance/bg-border.png)`}">
  21. </image>
  22. <image v-else class="icon" :src="strReplace(state.form.posImgUrl)"
  23. :style="{'--bgimg':`url(${$imgUrl}issuance/bg-border.png)`}"></image>
  24. </view>
  25. </view>
  26. <view class="picture-wrapper" @click="takePhotoMode('1')">
  27. <view class="bg">
  28. <view class="">
  29. <view class="name"> 人像面 </view>
  30. <view class="value"> 上传身份证的人像面 </view>
  31. <view class="tip">
  32. <view class="tip-value"> 拍摄规范 </view>
  33. </view>
  34. </view>
  35. <image v-if="!state.form.agentPosImgUrl" class="icon" :src="`${$imgUrl}issuance/sfz.png`"
  36. :style="{'--bgimg':`url(${$imgUrl}issuance/bg-border.png)`}">
  37. </image>
  38. <image v-else class="icon" :src="strReplace(state.form.agentPosImgUrl)"
  39. :style="{'--bgimg':`url(${$imgUrl}issuance/bg-border.png)`}"></image>
  40. </view>
  41. </view>
  42. <view class="picture-wrapper" @click="takePhotoMode('2')">
  43. <view class="bg">
  44. <view class="">
  45. <view class="name"> 国徽面 </view>
  46. <view class="value"> 上传身份证的国徽面 </view>
  47. <view class="tip">
  48. <view class="tip-value"> 拍摄规范 </view>
  49. </view>
  50. </view>
  51. <image v-if="!state.form.agentNegImgUrl" class="icon" :src="`${$imgUrl}issuance/sff.png`"
  52. :style="{'--bgimg':`url(${$imgUrl}issuance/bg-border.png)`}">
  53. </image>
  54. <image v-else class="icon" :src="strReplace(state.form.agentNegImgUrl)"
  55. :style="{'--bgimg':`url(${$imgUrl}issuance/bg-border.png)`}"></image>
  56. </view>
  57. </view>
  58. <view class="picture-wrapper" @click="cardFileImageUpdate()">
  59. <view class="bg">
  60. <view class="">
  61. <view class="name"> 委托书 </view>
  62. <view class="value"> 上传文字清晰的委托书 </view>
  63. <view class="tip">
  64. <view class="tip-value"> 拍摄规范 </view>
  65. </view>
  66. <view class="down" @click="downAuthD">模板下载</view>
  67. </view>
  68. <image v-if="!state.form.proxyUrl" class="icon" :src="`${$imgUrl}issuance/weituo.png`"
  69. :style="{'--bgimg':`url(${$imgUrl}issuance/bg-border.png)`}">
  70. </image>
  71. <image v-else class="icon" :src="strReplace(state.form.proxyUrl)"
  72. :style="{'--bgimg':`url(${$imgUrl}issuance/bg-border.png)`}"></image>
  73. </view>
  74. </view>
  75. </view>
  76. <view class="shibie-wrapper">
  77. <view class="title"> 识别内容如下 </view>
  78. <u-form label-width="220" :model="state.form" ref="uForm" :label-style='labelStyle'>
  79. <u-form-item label="公司名称" :left-icon='`${$imgUrl}issuance/point-form.png`' :left-icon-style='leftIcon'>
  80. <u-input inputAlign="right" class="clearBg" placeholder='请输入公司名称' v-model="state.form.userName"
  81. maxlength="50" />
  82. </u-form-item>
  83. <u-form-item label="部门名称" :left-icon='`${$imgUrl}issuance/point-form.png`' :left-icon-style='leftIcon'>
  84. <u-input inputAlign="right" class="clearBg" placeholder='请输入部门名称' v-model="state.form.department"
  85. maxlength="50" />
  86. </u-form-item>
  87. <u-form-item label="社会信用代码" :left-icon='`${$imgUrl}issuance/point-form.png`' :left-icon-style='leftIcon'>
  88. <u-input inputAlign="right" class="clearBg" placeholder='请输入社会信用代码' v-model="state.form.userIdNum"
  89. maxlength="50" />
  90. </u-form-item>
  91. <u-form-item label="营业执照地址" :left-icon='`${$imgUrl}issuance/point-form.png`' :left-icon-style='leftIcon'>
  92. <u-input inputAlign="right" class="clearBg" placeholder='请输入营业执照地址' v-model="state.form.userAddress"
  93. maxlength="50" />
  94. </u-form-item>
  95. <u-form-item label="经办人姓名" :left-icon='`${$imgUrl}issuance/point-form.png`' :left-icon-style='leftIcon'>
  96. <u-input inputAlign="right" class="clearBg" placeholder='请输入经办人姓名' v-model="state.form.agentName"
  97. maxlength="20" />
  98. </u-form-item>
  99. <u-form-item label="经办人身份证号" :left-icon='`${$imgUrl}issuance/point-form.png`' :left-icon-style='leftIcon'>
  100. <u-input inputAlign="right" class="clearBg" placeholder='请输入经办人身份证号' v-model="state.form.agentIdNum"
  101. maxlength="18" />
  102. </u-form-item>
  103. <u-form-item label="经办人地址" :left-icon='`${$imgUrl}issuance/point-form.png`' :left-icon-style='leftIcon'>
  104. <u-input inputAlign="right" class="clearBg" placeholder='请输入经办人地址' v-model="state.form.agentAddress"
  105. maxlength="40" />
  106. </u-form-item>
  107. <u-form-item label="经办人联系方式" :left-icon='`${$imgUrl}issuance/point-form.png`' :left-icon-style='leftIcon'>
  108. <u-input inputAlign="right" class="clearBg" placeholder='请输入经办人联系方式' v-model="state.form.agentTel"
  109. maxlength="11" />
  110. </u-form-item>
  111. </u-form>
  112. </view>
  113. <view class="action">
  114. <view class="btn-tip">
  115. 如识别信息有误,请手动修改,确认无误后,点击下一步!
  116. </view>
  117. <button type="default" class="ui-btn" @click="savaHandle()">
  118. 下一步
  119. </button>
  120. </view>
  121. <view class="choice-takePhoto-wrap" v-if="state.isTakePhotoModeShow" @click="cancle">
  122. <view class="choice-takePhoto">
  123. <view @click.stop="takePhoto(state.choiceIndex)" style="border-radius: 20rpx 20rpx 0 0;">拍照</view>
  124. <view @click.stop="xiangce(state.choiceIndex)">从手机相册选择</view>
  125. <view @click.stop="cancle">取消</view>
  126. </view>
  127. </view>
  128. <viewfinder v-if="state.phoneType" :phoneType="state.phoneType" :images="state.images"
  129. :showStartPhoto="state.showImg" @confirmReturn="confirmReturn" @camera="camera"></viewfinder>
  130. </view>
  131. </template>
  132. <script setup lang="ts">
  133. import {
  134. reactive, ref
  135. } from "vue";
  136. import navBgCar from "./components/nav-bg-car1";
  137. import navBar from "@/components/nav-bar/nav-bar2.vue";
  138. import viewfinder from "../../components/viewfinder.vue"
  139. import {
  140. ocrAllQuery,
  141. idCardOcr, registerFull, userUpload
  142. } from "@/utils/network/api.js";
  143. import {navTo } from "@/utils/utils";
  144. import {
  145. requestNew
  146. } from "@/utils/network/request.js";
  147. import {
  148. stringToJson
  149. } from "@/utils/network/encryption";
  150. import {
  151. onLoad,
  152. onPageScroll,
  153. } from "@dcloudio/uni-app";
  154. import {
  155. setItem,
  156. getItem,
  157. } from "@/utils/storage";
  158. import {
  159. msg,
  160. checkStr,
  161. strReplace,
  162. uploadFile,
  163. compressImage,
  164. chooseImageCompress,
  165. compareDates
  166. } from "@/utils/utils";
  167. const scrollTop = ref(0);//滚动距离
  168. const labelStyle = {
  169. color: "#004576",
  170. fontSize: "28rpx",
  171. }
  172. const leftIcon = {
  173. height: '100%',
  174. width: '8rpx',
  175. display: 'flex',
  176. 'align-items': 'center',
  177. 'margin-right': '4rpx',
  178. }
  179. const state = reactive({
  180. phoneType: 0, // 1 身份证正面 2 身份证反面 3行驶证正面 4行驶证反面
  181. choiceIndex: 1, // 1 身份证正面 2 身份证反面
  182. isTakePhotoModeShow: false, //选择拍照方式是否出来
  183. images: '',
  184. showImg: true,
  185. form: {
  186. orderId: "", //订单ID
  187. //营业执照信息
  188. userName: "", //开户名称/账户名称
  189. userIdType: "203", //用户证件类型 203//营业执照
  190. userIdNum: "", //营业执照号码
  191. posImgUrl: "", //营业执照证明
  192. department: '本部', //不超过50个字符,若单位仅开一个账户,填写“本部”
  193. userAddress: "", //单位地址
  194. //经办人信息
  195. agentName: "",
  196. agentIdType: "101",
  197. agentIdNum: "",
  198. agentAddress: "",
  199. agentPhone: "",
  200. agentIdVld: '',
  201. agentTel: '',
  202. agentGender: '',
  203. agentPosImgUrl: "",
  204. agentNegImgUrl: "",
  205. negImgUrl: "", //这个参数和国徽面一样的,都要传
  206. proxyUrl: "",
  207. sceneType: "", //用户协议支撑服务场景(发行服务机构和用户签订的协议)
  208. channelId: "", //渠道id
  209. opId: '',
  210. orderSource: 'WECHAT',
  211. isAgent: true, //经办人办理
  212. userNegImgUrl: "",
  213. userPosImgUrl: "",
  214. tel: ""
  215. },
  216. orderId: "",
  217. vehiclePlateColor: '',
  218. isSign: '',
  219. vanType: 1,
  220. vehicleId: "",
  221. jsCode: ""
  222. });
  223. const savaHandle = () => {
  224. if (state.form.agentGender === '男') {
  225. state.form.agentGender = 'MAN'
  226. } else {
  227. state.form.agentGender = 'WOMAN'
  228. }
  229. if (!state.form.posImgUrl) {
  230. msg('请上传营业执照');
  231. return;
  232. }
  233. if (!state.form.agentPosImgUrl) {
  234. msg('请上传身份证的人像面');
  235. return;
  236. }
  237. if (!state.form.agentNegImgUrl) {
  238. msg('请上传身份证的国徽面');
  239. return;
  240. }
  241. if (!state.form.proxyUrl) {
  242. msg('请上传身份证的委托书');
  243. return;
  244. }
  245. if (!state.form.userName) {
  246. msg('请输入公司名称');
  247. return;
  248. }
  249. if (!state.form.department) {
  250. msg('请输入部门名称');
  251. return;
  252. }
  253. if (!state.form.userIdNum) {
  254. msg('请输入社会信用代码');
  255. return;
  256. }
  257. if (!state.form.userAddress) {
  258. msg('请输入营业执照地址');
  259. return;
  260. }
  261. if (!state.form.agentName) {
  262. msg('请输入经办人姓名');
  263. return;
  264. }
  265. if (!checkStr(state.form.agentIdNum, 'card')) {
  266. msg('请输入正确的经办人身份证号');
  267. return;
  268. }
  269. if (!checkStr(state.form.agentTel, 'mobile')) {
  270. msg('请输入正确的经办人联系方式');
  271. return;
  272. }
  273. state.form.tel = state.form.agentTel
  274. registerRequest().then((result : any) => {
  275. console.log("result", result)
  276. if (!getItem('openId')) {
  277. setItem('token', result.accessToken)
  278. setItem('openId', result.openId)
  279. setItem('mobile', state.form.tel)
  280. state.form.opId = getItem('openId') ? getItem('openId') : '';
  281. }
  282. var data = state.form;
  283. const options = {
  284. type: 2,
  285. data: data,
  286. method: "POST",
  287. showLoading: true,
  288. };
  289. requestNew(userUpload, options).then((res) => {
  290. const data = res;
  291. navTo(
  292. `/subpackage/orders/car-release?orderId=${state.orderId}&vehiclePlateColor=${state.vehiclePlateColor}&vanType=${state.vanType}&vehicleId=${state.vehicleId}`,
  293. );
  294. });
  295. })
  296. };
  297. onLoad((option : any) => {
  298. state.form.orderId = option.orderId;
  299. state.orderId = option.orderId;
  300. state.vehiclePlateColor = option.vehiclePlateColor;
  301. state.form.opId = getItem('openId') ? getItem('openId') : '';
  302. state.isSign = option.isSign;
  303. state.vanType = option.vanType;
  304. state.vehicleId = option.vehicleId;
  305. console.log("state.type", option)
  306. uni.login({
  307. provider: "weixin",
  308. success: function (e) {
  309. console.log("jsCode", e.code)
  310. state.jsCode = e.code
  311. },
  312. });
  313. });
  314. //监听页面滚动
  315. onPageScroll((e) => {
  316. scrollTop.value = e.scrollTop;
  317. });
  318. //营业执照Orc接口调用
  319. const cardImageOcrYY = () => {
  320. uni.chooseImage({
  321. count: 1, //只能选取一张照片
  322. sizeType: ["original", "compressed"], //可以指定是原图还是压缩图,默认二者都有
  323. sourceType: ["camera", "album"], //从相册选择
  324. success: function (res) {
  325. uploadFile(res.tempFilePaths[0], "", ocrAllQuery).then((data) => {
  326. if (data.result) {
  327. state.form.userName = stringToJson(data.result
  328. .businessLicense)[
  329. '名称'];
  330. state.form.userIdNum = stringToJson(data.result
  331. .businessLicense)[
  332. '统一社会信用代码'];
  333. uploadFile(res.tempFilePaths[0], "", "").then((data) => {
  334. state.form.posImgUrl = data;
  335. state.form.userNegImgUrl = data;
  336. state.form.userPosImgUrl = data;
  337. })
  338. }
  339. })
  340. },
  341. });
  342. };
  343. const camera = () => {
  344. state.phoneType = 0
  345. }
  346. const cardFileImageUpdate = () => {
  347. uni.chooseImage({
  348. count: 1, //只能选取一张照片
  349. sizeType: ["original", "compressed"], //可以指定是原图还是压缩图,默认二者都有
  350. sourceType: ["camera", "album"], //从相册选择
  351. success: function (res) {
  352. uploadFile(res.tempFilePaths[0], "", "").then((data) => {
  353. state.form.proxyUrl = data;
  354. })
  355. },
  356. });
  357. };
  358. const takePhotoMode = (index) => {
  359. console.log("index", index)
  360. state.isTakePhotoModeShow = true
  361. state.choiceIndex = index
  362. }
  363. const xiangce = (val) => {
  364. console.log("val", val)
  365. var imageType = val;
  366. chooseImageCompress((res) => {
  367. state.images = res.tempFilePath ? res.tempFilePath : res.tempFilePaths[0]
  368. state.showImg = false
  369. state.phoneType = state.choiceIndex
  370. state.isTakePhotoModeShow = false
  371. })
  372. // uni.chooseImage({
  373. // count: 1, //只能选取一张照片
  374. // sizeType: ["original"], //可以指定是原图还是压缩图,默认二者都有
  375. // sourceType: ["album"], //从相册选择
  376. // success: function (res) {
  377. // let scall=res.tempFiles[0].size/1024/1024/2
  378. // console.log("scall",scall)
  379. // console.log("res.tempFiles[0].size", res.tempFilePaths[0], res.tempFiles[0].size)
  380. // if(scall>1){
  381. // console.log("压缩")
  382. // compressImage(res.tempFilePaths[0], (res) => {
  383. // state.images = res.tempFilePath
  384. // state.showImg = false
  385. // state.phoneType = state.choiceIndex
  386. // state.isTakePhotoModeShow = false
  387. // })
  388. // }else{
  389. // state.images = res.tempFilePaths[0]
  390. // state.showImg = false
  391. // state.phoneType = state.choiceIndex
  392. // state.isTakePhotoModeShow = false
  393. // }
  394. // },
  395. // })
  396. }
  397. const takePhoto = (val) => {
  398. console.log("拍照", val)
  399. state.showImg = true
  400. state.phoneType = val;
  401. }
  402. const confirmReturn = (val) => {
  403. state.phoneType = 0
  404. state.isTakePhotoModeShow = false
  405. var imageType = state.choiceIndex;
  406. console.log("图片地址val", val.tempImagePath)
  407. uploadFile(val.tempImagePath, imageType, idCardOcr).then((data) => {
  408. console.log("身份证上传", data)
  409. if (state.choiceIndex === "1") {
  410. state.form.agentName = data.name;
  411. state.form.agentIdNum = data.idno;
  412. state.form.agentPosImgUrl = data.imageUrl;
  413. state.form.agentAddress = data.address;
  414. state.form.agentGender = data.gender;
  415. } else {
  416. state.form.agentIdVld = data.enddate;
  417. state.form.agentNegImgUrl = data.imageUrl;
  418. state.form.negImgUrl = data.imageUrl;
  419. compareDates(data.enddate)
  420. }
  421. state.isTakePhotoModeShow = false
  422. })
  423. }
  424. const cancle = () => {
  425. state.isTakePhotoModeShow = false
  426. }
  427. const downAuthD = () => {
  428. uni.downloadFile({
  429. url: "https://qtzl.etcjz.cn/default-bucket/20240311/单位委托书.docx",
  430. filePath: uni.env.USER_DATA_PATH + '/' + '单位委托书.docx',
  431. success(res) {
  432. const filePath = res.filePath
  433. uni.openDocument({
  434. filePath: filePath,
  435. fileType: 'docx',
  436. showMenu: true, //关键点
  437. success: function (res) {
  438. },
  439. fail: function (err) {
  440. msg("打开文档失败");
  441. }
  442. });
  443. },
  444. fail: function (err) {
  445. msg("下载文档失败");
  446. console.log("err", err)
  447. },
  448. complete(res) {
  449. }
  450. })
  451. }
  452. // 无感注册
  453. const registerRequest = () => {
  454. let data = {
  455. userType: "ENTERPRISE",
  456. idNum: state.form.userIdNum,
  457. idType: state.form.userIdType,
  458. mobile: state.form.agentTel,
  459. userName: state.form.userName,
  460. gender: 'UNKOWN',
  461. certifyChannel: "BAIDUOCR",
  462. address: state.form.userAddress,
  463. agentIdNum: state.form.agentIdNum,
  464. agentIdType: state.form.agentIdType,
  465. agentName: state.form.agentName,
  466. department: state.form.department,
  467. userIdImgUrl: state.form.posImgUrl,
  468. userIdImgBase64: "",
  469. jsCode: state.jsCode
  470. }
  471. const options = {
  472. type: 2,
  473. data: data,
  474. method: "POST",
  475. showLoading: true,
  476. };
  477. return new Promise(async (resolve, reject) => {
  478. const res = await requestNew(registerFull, options);
  479. const data = res;
  480. resolve(data);
  481. }).catch((error) => {
  482. reject(error);
  483. });
  484. }
  485. </script>
  486. <style lang="scss" scoped>
  487. .content-wrap {
  488. position: absolute;
  489. top: 370rpx;
  490. width: 100%;
  491. min-height: calc(100% - 370rpx);
  492. box-sizing: border-box;
  493. padding: 0 30rpx 210rpx;
  494. .t-card {
  495. width: 100%;
  496. background-color: #fff;
  497. border-radius: 12rpx;
  498. padding: 40rpx 30rpx 30rpx;
  499. box-sizing: border-box;
  500. }
  501. .action {
  502. position: absolute;
  503. bottom: 0rpx;
  504. left: 0;
  505. height: 188rpx;
  506. background-color: #fff;
  507. border-radius: 30rpx 30rpx 0 0;
  508. width: 100vw;
  509. display: flex;
  510. align-items: center;
  511. justify-content: center;
  512. flex-direction: column;
  513. .btn-tip {
  514. font-family: SourceHanSansSC, SourceHanSansSC;
  515. font-weight: 400;
  516. font-size: 24rpx;
  517. color: #CCB375;
  518. margin-bottom: 14rpx;
  519. }
  520. }
  521. .item-tips {
  522. .title {
  523. font-size: 30rpx;
  524. font-family: Microsoft YaHei;
  525. font-weight: 500;
  526. color: #01243A;
  527. line-height: 30rpx;
  528. }
  529. .tip {
  530. margin-top: 16rpx;
  531. font-size: 24rpx;
  532. font-family: Microsoft YaHei;
  533. font-weight: 400;
  534. color: #999999;
  535. line-height: 24rpx;
  536. }
  537. }
  538. .picture-wrapper {
  539. margin-top: 30rpx;
  540. .bg {
  541. background: #F5F9FB;
  542. border-radius: 10rpx;
  543. padding: 40rpx 30rpx;
  544. display: flex;
  545. // align-items: center;
  546. justify-content: space-between;
  547. .name {
  548. padding-top: 30rpx;
  549. font-size: 32rpx;
  550. font-family: SourceHanSansSC, SourceHanSansSC;
  551. font-weight: 500;
  552. color: #111;
  553. line-height: 34rpx;
  554. }
  555. .value {
  556. margin-top: 20rpx;
  557. font-size: 22rpx;
  558. font-family: SourceHanSansSC, SourceHanSansSC;
  559. font-weight: 400;
  560. color: #999999;
  561. line-height: 24rpx;
  562. }
  563. .tip {
  564. margin-top: 20rpx;
  565. text-align: center;
  566. width: 100rpx;
  567. height: 30rpx;
  568. // background: rgba(204, 179, 117);
  569. border-radius: 6rpx;
  570. border: 1rpx solid #CCB375;
  571. .tip-value {
  572. font-size: 20rpx;
  573. font-family: Microsoft YaHei;
  574. font-weight: 400;
  575. color: #CCB375;
  576. line-height: 30rpx;
  577. opacity: 1;
  578. }
  579. }
  580. }
  581. .icon {
  582. width: 304rpx;
  583. height: 190rpx;
  584. background-image: var(--bgimg);
  585. background-size: 100% 100%;
  586. background-repeat: no-repeat;
  587. }
  588. }
  589. .shibie-wrapper {
  590. margin-top: 30rpx;
  591. border-radius: 12rpx;
  592. background-color: #fff;
  593. width: 100%;
  594. padding: 30rpx 30rpx 0;
  595. box-sizing: border-box;
  596. .title {
  597. font-size: 30rpx;
  598. font-family: Microsoft YaHei;
  599. font-weight: 500;
  600. color: #01243A;
  601. line-height: 30rpx;
  602. }
  603. }
  604. }
  605. ::v-deep .u-input__input {
  606. background: transparent;
  607. }
  608. ::v-deep .u-form-item--left .u-form-item--left__content {
  609. padding-right: 0px;
  610. }
  611. .choice-takePhoto {
  612. position: absolute;
  613. bottom: 0;
  614. background-color: white;
  615. width: 100%;
  616. border-radius: 20rpx 20rpx 0 0;
  617. }
  618. .choice-takePhoto>view:first-child {
  619. text-align: center;
  620. height: 80rpx;
  621. line-height: 80rpx;
  622. border-bottom: 1rpx solid rgba(127, 127, 127, 0.3);
  623. background-color: white;
  624. }
  625. .choice-takePhoto>view:last-child {
  626. text-align: center;
  627. height: 80rpx;
  628. line-height: 80rpx;
  629. border-top: 6rpx solid rgba(127, 127, 127, 0.1);
  630. background-color: white;
  631. }
  632. .choice-takePhoto>view {
  633. text-align: center;
  634. height: 80rpx;
  635. line-height: 80rpx;
  636. background-color: white;
  637. }
  638. .choice-takePhoto-wrap {
  639. width: 100%;
  640. height: 100vh;
  641. background-color: rgba(127, 127, 127, 0.2);
  642. position: fixed;
  643. left: 0;
  644. top: 0;
  645. z-index: 11111;
  646. }
  647. .down {
  648. background: #CCB375;
  649. color: #fff;
  650. border-radius: 5rpx;
  651. font-size: 20rpx;
  652. margin-top: 10rpx;
  653. width: 100rpx;
  654. height: 30rpx;
  655. text-align: center;
  656. line-height: 30rpx;
  657. }
  658. </style>