index.vue 27 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122
  1. <template>
  2. <view v-if="status == -1 && !inloading" :style="colorStyle">
  3. <view class='merchantsSettled'>
  4. <image mode="widthFix" class="merchantBg" :src="headerBg" alt="">
  5. <!-- <view class="application-record" @click="jumpToList">
  6. 申请记录
  7. <text class="iconfont icon-xiangyou"></text>
  8. </view> -->
  9. <view class='list' v-if="isAgent">
  10. <view class="item">
  11. <view class="acea-row row-middle">
  12. <!-- <i class="icon iconfont icon-qiye"></i> -->
  13. <text class="item-name">{{$t(`代理商名称`)}}</text>
  14. <input type="text" maxlength="30" :placeholder="$t(`请输入代理商名称`)"
  15. v-model="merchantData.agent_name" @input="validateBtn"
  16. placeholder-class='placeholder' />
  17. </view>
  18. </view>
  19. <view class="item">
  20. <view class="acea-row row-middle">
  21. <!-- <i class="icon iconfont icon-yonghu3"></i> -->
  22. <text class="item-name">{{$t(`用户姓名`)}}</text>
  23. <input type="text" :placeholder="$t(`请输入姓名`)" v-model="merchantData.name"
  24. @input="validateBtn" placeholder-class='placeholder' />
  25. </view>
  26. </view>
  27. <view class="item">
  28. <view class="acea-row row-middle">
  29. <!-- <i class="icon iconfont icon-shoujihao"></i> -->
  30. <text class="item-name">{{$t(`联系电话`)}}</text>
  31. <input type="text" :placeholder="$t(`请输入手机号`)" v-model="merchantData.phone"
  32. @input="validateBtn" placeholder-class='placeholder' />
  33. </view>
  34. </view>
  35. <view class="item rel">
  36. <view class="acea-row row-middle">
  37. <!-- <i class="icon iconfont icon-yanzhengma"></i> -->
  38. <text class="item-name">{{$t(`验证码`)}}</text>
  39. <input type="text" :placeholder="$t(`填写验证码`)" v-model="merchantData.code"
  40. @input="validateBtn" class="codeIput" placeholder-class='placeholder' />
  41. <button class="code" :disabled="disabled" :class="disabled === true ? 'on' : ''"
  42. @click="code">
  43. {{ text }}
  44. </button>
  45. </view>
  46. </view>
  47. <view class="item">
  48. <view class="acea-row row-middle">
  49. <!-- <i class="icon iconfont icon-shoujihao"></i> -->
  50. <text class="item-name">{{$t(`邀请码`)}}</text>
  51. <input type="text" :placeholder="$t(`请输入代理商邀请码`)" v-model="merchantData.division_invite"
  52. @input="validateBtn" placeholder-class='placeholder' />
  53. </view>
  54. </view>
  55. <view class="item no-border">
  56. <view class='acea-row row-middle'>
  57. <text class="item-title">{{$t(`请上传营业执照及行业相关资质证明图片`)}}</text>
  58. <text class="item-desc">({{$t(`图片最多可上传10张,图片格式支持JPG、PNG、JPEG`)}})</text>
  59. <view class="upload">
  60. <view class='pictrue' v-for="(item,index) in images" :key="index"
  61. :data-index="index" @click="getPhotoClickIdx">
  62. <image :src='item'></image>
  63. <text class='iconfont icon-guanbi1' @click.stop='DelPic(index)'></text>
  64. </view>
  65. <view class='pictrue acea-row row-center-wrapper row-column' @click='uploadpic'
  66. v-if="images.length < 10">
  67. <text class='iconfont icon-icon25201'></text>
  68. <view>{{$t(`上传图片`)}}</view>
  69. </view>
  70. </view>
  71. </view>
  72. </view>
  73. <view class="item no-border acea-row row-middle">
  74. <checkbox-group @change='ChangeIsAgree'>
  75. <checkbox class="checkbox" :checked="isAgree ? true : false" />{{$t(`已阅读并同意`)}}
  76. </checkbox-group>
  77. <button class="settleAgree" @click="getAgentAgreement">《{{$t(`代理商协议`)}}》</button>
  78. </view>
  79. <button class='submitBtn' :class="isAgree === true ? 'on':''"
  80. @click="formSubmit">{{$t(`提交申请`)}}</button>
  81. </view>
  82. <view class='list' v-else>
  83. <view class="item">
  84. <view class="acea-row row-middle row-between">
  85. <!-- <i class="icon iconfont icon-qiye"></i> -->
  86. <text class="item-name">{{$t(`用户昵称`)}}</text>
  87. <view class="text-right">{{ form.nickname }}</view>
  88. </view>
  89. </view>
  90. <view class="item">
  91. <view class="acea-row row-middle row-between">
  92. <!-- <i class="icon iconfont icon-yonghu3"></i> -->
  93. <text class="item-name">{{$t(`用户ID`)}}</text>
  94. <view class="fs-28 text-right">{{ form.uid }}123</view>
  95. </view>
  96. </view>
  97. <view class="item">
  98. <view class="acea-row row-middle row-between">
  99. <!-- <i class="icon iconfont icon-shoujihao"></i> -->
  100. <text class="item-name">{{$t(`分销员姓名`)}}</text>
  101. <input class="text-right" type="text" :placeholder="$t(`请输入分销员姓名`)" v-model="form.real_name"
  102. @input="validateBtn" placeholder-class='placeholder' />
  103. </view>
  104. </view><view class="item">
  105. <view class="acea-row row-middle row-between">
  106. <!-- <i class="icon iconfont icon-shoujihao"></i> -->
  107. <text class="item-name">{{$t(`联系电话`)}}</text>
  108. <input class="text-right" type="text" :placeholder="$t(`请输入手机号`)" v-model="form.phone"
  109. @input="validateBtn" placeholder-class='placeholder' />
  110. </view>
  111. </view>
  112. <view class="item rel">
  113. <view class="acea-row row-middle">
  114. <!-- <i class="icon iconfont icon-yanzhengma"></i> -->
  115. <text class="item-name">{{$t(`验证码`)}}</text>
  116. <input type="text" :placeholder="$t(`填写验证码`)" v-model="form.code"
  117. @input="validateBtn" class="codeIput" placeholder-class='placeholder' />
  118. <button class="code" :disabled="disabled" :class="disabled === true ? 'on' : ''"
  119. @click="code">
  120. {{ text }}
  121. </button>
  122. </view>
  123. </view>
  124. <view class="item">
  125. <view class="acea-row row-middle row-between">
  126. <!-- <i class="icon iconfont icon-shoujihao"></i> -->
  127. <text class="item-name">{{$t(`申请理由`)}}</text>
  128. <textarea class="text-area" :placeholder="$t(`请输入申请理由`)" v-model="form.content" cols="3" rows="4" placeholder-class='placeholder'></textarea>
  129. </view>
  130. </view>
  131. <view class="item no-border acea-row row-middle">
  132. <checkbox-group @change='ChangeIsAgree'>
  133. <checkbox class="checkbox" :checked="isAgree ? true : false" />{{$t(`已阅读并同意`)}}
  134. </checkbox-group>
  135. <button class="settleAgree" @click="getAgentAgreement">《{{$t(`分销员协议`)}}》</button>
  136. </view>
  137. <button class='submitBtn' :class="isAgree === true ? 'on':''"
  138. @click="formSpeadSubmit">{{$t(`提交申请`)}}</button>
  139. </view>
  140. </view>
  141. <view class="settlementAgreement" v-if="showProtocol">
  142. <view class="setAgCount">
  143. <i class="icon iconfont icon-cha" @click="showProtocol = false"></i>
  144. <div class="title">{{ $t(isAgent?`代理商入驻协议`:'分销说明')}}</div>
  145. <view class="content">
  146. <jyf-parser :html="protocol" ref="article" :tag-style="tagStyle"></jyf-parser>
  147. </view>
  148. </view>
  149. </view>
  150. <view class='loadingicon acea-row row-center-wrapper' v-if="loading">
  151. <text class='loading iconfont icon-jiazai' :hidden='loading==false'></text>
  152. </view>
  153. <!-- #ifdef MP -->
  154. <authorize @onLoadFun="onLoadFun" :isAuto="isAuto" :isShowAuth="isShowAuth" @authColse="authColse"></authorize>
  155. <!-- #endif -->
  156. <Verify ref="verify" @success="successVerify" :captchaType="captchaType" :imgSize="{ width: '330px', height: '155px' }"
  157. ></Verify>
  158. </view>
  159. <view class="settledSuccessMain" v-else-if='status == 0'>
  160. <view class="settledSuccessful">
  161. <image class="image" src="../static/success.png" alt="">
  162. <view class="title">{{$t(`恭喜,您的资料提交成功!`)}}</view>
  163. <view class="goHome" hover-class="none" @click="goHome">
  164. {{$t(`返回首页`)}}
  165. </view>
  166. </view>
  167. </view>
  168. <view class="settledSuccessMain" v-else-if='status == 1'>
  169. <view class="settledSuccessful">
  170. <image class="image" src="../static/success.png" alt="">
  171. <view class="title">{{$t(`恭喜,您的资料通过审核!`)}}</view>
  172. <view class="goHome" hover-class="none" @click="goHome">
  173. {{$t(`返回首页`)}}
  174. </view>
  175. </view>
  176. </view>
  177. <view class="settledSuccessMain" v-else-if='status == 2'>
  178. <view class="settledSuccessful">
  179. <image class="image" src="../static/error.png" alt="">
  180. <view class="title">{{$t(`您的申请未通过!`)}}</view>
  181. <view class="info" v-if="refusal_reason">{{refusal_reason}}</view>
  182. <view class="again" hover-class="none" @click="applyAgain">
  183. {{$t(`重新申请`)}}
  184. </view>
  185. <view class="goHome" hover-class="none" @click="goHome">
  186. {{$t(`返回首页`)}}
  187. </view>
  188. </view>
  189. </view>
  190. </template>
  191. <script>
  192. import {
  193. toLogin
  194. } from '@/libs/login.js';
  195. import {
  196. create,
  197. getCodeApi,
  198. registerVerify,
  199. getHistoryData,
  200. updateGoodsRecord,
  201. getAgentAgreement,
  202. userSpreadInfo,
  203. spreadCreateApi
  204. } from '@/api/store.js';
  205. import {
  206. getCaptcha
  207. } from "@/api/user";
  208. import {
  209. mapGetters
  210. } from "vuex";
  211. import parser from "@/components/jyf-parser/jyf-parser";
  212. // #ifdef MP
  213. import authorize from '@/components/Authorize';
  214. // #endif
  215. import colors from "@/mixins/color";
  216. import Verify from '../components/verify/verify.vue';
  217. import sendVerifyCode from "@/mixins/SendVerifyCode";
  218. import { HTTP_REQUEST_URL } from '@/config/app';
  219. const app = getApp();
  220. export default {
  221. components: {
  222. Verify,
  223. "jyf-parser": parser,
  224. // #ifdef MP
  225. authorize,
  226. // #endif
  227. },
  228. mixins: [sendVerifyCode, colors],
  229. data() {
  230. return {
  231. isAgent: false,
  232. inloading: true,
  233. status: -1,
  234. isAuto: false, //没有授权的不会自动授权
  235. isShowAuth: false, //是否隐藏授权
  236. text: this.$t(`获取验证码`),
  237. codeUrl: "",
  238. disabled: false,
  239. isAgree: false,
  240. showProtocol: false,
  241. isShowCode: false,
  242. loading: false,
  243. merchantData: {
  244. agent_name: "",
  245. name: "",
  246. phone: "",
  247. classification: '',
  248. division_invite: ''
  249. },
  250. form: {
  251. nickname: '',
  252. uid: '',
  253. phone: '',
  254. code: '',
  255. real_name: ''
  256. },
  257. validate: false,
  258. successful: false,
  259. keyCode: "",
  260. codeVal: "",
  261. protocol: app.globalData.sys_intention_agree,
  262. timer: "",
  263. index: 0,
  264. index1: 0,
  265. mer_classification: "",
  266. mer_storeType: '',
  267. images: [],
  268. tagStyle: {
  269. img: 'width:100%;display:block;',
  270. table: 'width:100%',
  271. video: 'width:100%'
  272. },
  273. mer_i_id: null, // 代理商申请id
  274. isType: false,
  275. id: 0,
  276. refusal_reason: "",
  277. keyCode: '',
  278. type: 'agent'
  279. };
  280. },
  281. beforeDestroy() {
  282. clearTimeout(this.timer)
  283. },
  284. computed:{
  285. ...mapGetters(['isLogin']),
  286. headerBg() {
  287. return HTTP_REQUEST_URL + `/statics/images/${this.isAgent? 'agent_apply.jpg' :'spread_apply.jpg'}`;
  288. }
  289. },
  290. onLoad(options) {
  291. if (options.id) {
  292. this.id = id
  293. uni.showLoading({
  294. title: this.$t(`正在加载中`),
  295. });
  296. }
  297. if (this.isLogin) {
  298. if(options.type) this.isAgent = true
  299. this.$nextTick(()=> {
  300. if(!this.isAgent){
  301. this.getInfo()
  302. } else {
  303. this.getHistoryData()
  304. }
  305. })
  306. } else {
  307. // #ifdef H5 || APP-PLUS
  308. toLogin();
  309. // #endif
  310. // #ifdef MP
  311. this.isAuto = true;
  312. this.$set(this, 'isShowAuth', true)
  313. // #endif
  314. }
  315. },
  316. onShow() {
  317. },
  318. methods: {
  319. getAgentAgreement() {
  320. if(this.isAgent){
  321. getAgentAgreement().then(res => {
  322. this.isType = false;
  323. this.showProtocol = true;
  324. this.protocol = res.data.content
  325. })
  326. } else {
  327. this.isType = false;
  328. this.showProtocol = true;
  329. }
  330. },
  331. code() {
  332. let that = this
  333. let phone = this.isAgent ? this.merchantData.phone : this.form.phone
  334. if (!phone) return that.$util.Tips({
  335. title: that.$t(`请填写手机号码`)
  336. });
  337. if (!/^1(3|4|5|7|8|9|6)\d{9}$/i.test(phone)) return that.$util.Tips({
  338. title: that.$t(`请输入正确的手机号码`)
  339. });
  340. this.$refs.verify.show()
  341. },
  342. successVerify(data) {
  343. this.$refs.verify.hide()
  344. getCodeApi()
  345. .then(res => {
  346. this.keyCode = res.data.key;
  347. this.getCode(data);
  348. })
  349. .catch(res => {
  350. this.$util.Tips({
  351. title: res
  352. });
  353. });
  354. },
  355. async getCode(data) {
  356. let that = this;
  357. await registerVerify({
  358. phone: this.isAgent ? that.merchantData.phone : this.form.phone,
  359. type: that.type,
  360. key: that.keyCode,
  361. captchaType: this.captchaType,
  362. captchaVerification: data.captchaVerification
  363. })
  364. .then(res => {
  365. this.sendCode()
  366. that.$util.Tips({
  367. title: res.msg
  368. });
  369. })
  370. .catch(res => {
  371. that.$util.Tips({
  372. title: res
  373. });
  374. });
  375. },
  376. // 获取历史提交数据详情
  377. getHistoryData() {
  378. getHistoryData().then(res => {
  379. this.status = res.data.status
  380. let resData = res.data
  381. if (res.data.status !== -1) {
  382. let arr = Object.keys(this.merchantData)
  383. arr.map(item => {
  384. this.merchantData[item] = resData[item]
  385. })
  386. uni.hideLoading();
  387. }
  388. if (this.status === 2) {
  389. this.refusal_reason = resData.refusal_reason
  390. }
  391. this.inloading = false
  392. })
  393. },
  394. //获取代理商分类名称
  395. getCategoryName(id, arr) {
  396. for (let i = 0; i < arr.length; i++) {
  397. if (arr[i].merchant_category_id === id) {
  398. return arr[i]['category_name']
  399. }
  400. }
  401. },
  402. // 图片预览
  403. // 获得相册 idx
  404. getPhotoClickIdx(e) {
  405. let _this = this;
  406. let idx = e.currentTarget.dataset.index;
  407. _this.imgPreview(_this.images, idx);
  408. },
  409. // 图片预览
  410. imgPreview: function(list, idx) {
  411. // list:图片 url 数组
  412. if (list && list.length > 0) {
  413. uni.previewImage({
  414. current: list[idx], // 传 Number H5端出现不兼容
  415. urls: list
  416. });
  417. }
  418. },
  419. // 授权回调
  420. onLoadFun: function() {
  421. this.isShowAuth = false;
  422. },
  423. // 授权关闭
  424. authColse: function(e) {
  425. this.isShowAuth = e
  426. },
  427. toggleTab(str) {
  428. this.$refs[str].show();
  429. },
  430. // 首页
  431. goHome() {
  432. uni.switchTab({
  433. url: '/pages/index/index'
  434. });
  435. },
  436. applyAgain() {
  437. this.status = -1
  438. },
  439. /**
  440. * 上传文件
  441. *
  442. */
  443. uploadpic: function() {
  444. let that = this;
  445. that.$util.uploadImageOne('upload/image', (res) => {
  446. this.images.push(res.data.url);
  447. that.$set(that, 'images', that.images);
  448. });
  449. },
  450. /**
  451. * 删除图片
  452. *
  453. */
  454. DelPic: function(index) {
  455. let that = this,
  456. pic = this.images[index];
  457. that.images.splice(index, 1);
  458. that.$set(that, 'images', that.images);
  459. },
  460. getcaptcha() {
  461. let that = this
  462. getCaptcha().then(data => {
  463. that.codeUrl = data.data.captcha; //图片路径
  464. that.codeVal = data.data.code; //图片验证码
  465. that.codeKey = data.data.key //图片验证码key
  466. })
  467. that.isShowCode = true;
  468. },
  469. sendCode() {
  470. if (this.disabled) return;
  471. this.disabled = true;
  472. let n = 60;
  473. this.text = n + "s";
  474. const run = setInterval(() => {
  475. n = n - 1;
  476. if (n < 0) {
  477. clearInterval(run);
  478. }
  479. this.text = n + "s";
  480. if (this.text < 0 + "s") {
  481. this.disabled = false;
  482. this.text = this.$t(`重新获取`);
  483. }
  484. }, 1000);
  485. },
  486. onConfirm(val) {
  487. this.region = val.checkArr[0] + '-' + val.checkArr[1] + '-' + val.checkArr[2];
  488. },
  489. ChangeIsAgree(e) {
  490. this.isAgree = !this.isAgree;
  491. this.validateBtn()
  492. },
  493. getInfo() {
  494. userSpreadInfo()
  495. .then((res) => {
  496. let data = res.data.user;
  497. this.id = data.id || 0;
  498. this.form.nickname = data.nickname || '';
  499. this.form.uid = data.uid || '';
  500. this.form.phone = data.phone || '';
  501. this.form.real_name = data.real_name || '';
  502. this.form.content = data.content || '';
  503. this.status = data.status;
  504. this.refusal_reason = data.refusal_reason;
  505. this.protocol = res.data.agreement.content
  506. this.inloading = false
  507. })
  508. .catch((err) => {
  509. return this.$util.Tips({
  510. title: err
  511. });
  512. });
  513. },
  514. formSpeadSubmit(){
  515. if(!this.isAgree) return that.$util.Tips({
  516. title: that.$t(`请阅读并同意分销员协议`)
  517. });
  518. spreadCreateApi(this.id, this.form)
  519. .then((res) => {
  520. this.getInfo()
  521. })
  522. .catch((err) => {
  523. return this.$util.Tips({
  524. title: err
  525. });
  526. });
  527. },
  528. formSubmit: function(e) {
  529. let that = this;
  530. if (that.validateForm() && that.validate) {
  531. let requestData = {
  532. uid: this.$store.state.app.uid,
  533. phone: that.merchantData.phone,
  534. agent_name: that.merchantData.agent_name,
  535. name: that.merchantData.name,
  536. code: that.merchantData.code,
  537. division_invite: that.merchantData.division_invite,
  538. images: that.images,
  539. id: this.id
  540. }
  541. create(requestData).then(data => {
  542. if (data.status == 200) {
  543. this.timer = setTimeout(() => {
  544. that.getHistoryData()
  545. }, 1000)
  546. }
  547. }).catch(res => {
  548. that.$util.Tips({
  549. title: res
  550. });
  551. })
  552. }
  553. },
  554. validateBtn: function() {
  555. let that = this,
  556. value = that.merchantData;
  557. if (value.agent_name && value.name && value.phone && /^1(3|4|5|7|8|9|6)\d{9}$/i.test(value
  558. .phone) &&
  559. value.code && that.isAgree && value.classification) {
  560. if (!that.isShowCode) {
  561. that.validate = true;
  562. } else {
  563. if (that.codeVal) {
  564. that.validate = true;
  565. } else {
  566. that.validate = false;
  567. }
  568. }
  569. }
  570. },
  571. validateForm: function() {
  572. let that = this,
  573. value = that.merchantData;
  574. if (!value.agent_name) return that.$util.Tips({
  575. title: that.$t(`请输入代理商名称`)
  576. });
  577. if (!value.name) return that.$util.Tips({
  578. title: that.$t(`请输入姓名`)
  579. });
  580. if (!value.phone) return that.$util.Tips({
  581. title: that.$t(`请输入手机号`)
  582. });
  583. if (!/^1(3|4|5|7|8|9|6)\d{9}$/i.test(value.phone)) return that.$util.Tips({
  584. title: that.$t(`请输入正确的手机号码`)
  585. });
  586. if (!value.code) return that.$util.Tips({
  587. title: that.$t(`填写验证码`)
  588. });
  589. if (that.isShowCode && !that.codeVal) return that.$util.Tips({
  590. title: that.$t(`请填写图片验证码`)
  591. });
  592. if (!that.images.length) return that.$util.Tips({
  593. title: that.$t(`请上传营业执照`)
  594. });
  595. if (!that.isAgree) return that.$util.Tips({
  596. title: that.$t(`请勾选并同意入驻协议`)
  597. });
  598. that.validate = true;
  599. return true;
  600. },
  601. jumpToList() {
  602. uni.navigateTo({
  603. url: "/pages/store/applicationRecord/index"
  604. })
  605. },
  606. }
  607. }
  608. </script>
  609. <style scoped lang="scss">
  610. .uni-input-placeholder {
  611. color: #B2B2B2;
  612. }
  613. .item-name {
  614. width: 190rpx;
  615. }
  616. .uni-list-cell {
  617. position: relative;
  618. .iconfont {
  619. font-size: 14px;
  620. color: #7a7a7a;
  621. position: absolute;
  622. right: 15px;
  623. top: 7rpx;
  624. }
  625. .icon-guanbi2 {
  626. right: 35px;
  627. }
  628. }
  629. .merchantsSettled {
  630. height: 100vh;
  631. overflow-y: scroll;
  632. background: linear-gradient(#fd3d1d 0%, #fd151b 100%);
  633. padding-bottom: 30px;
  634. }
  635. .merchantsSettled .merchantBg {
  636. width: 750rpx;
  637. width: 100%;
  638. }
  639. .merchantsSettled .list {
  640. background-color: #fff;
  641. border-radius: 12px;
  642. padding: 22px 0;
  643. margin: 0 15px;
  644. // position: absolute;
  645. // top: 300rpx;
  646. position: sticky;
  647. margin-top: -60px;
  648. width: calc(100% - 30px);
  649. }
  650. .application-record {
  651. position: absolute;
  652. display: flex;
  653. align-items: center;
  654. top: 240rpx;
  655. right: 0;
  656. color: #fff;
  657. font-size: 22rpx;
  658. background-color: rgba(0, 0, 0, 0.3);
  659. padding: 8rpx 18rpx;
  660. border-radius: 20px 0px 0px 20px;
  661. }
  662. .merchantsSettled .list .item {
  663. padding: 50rpx 0 20rpx;
  664. border-bottom: 1rpx solid #eee;
  665. position: relative;
  666. margin: 0 20px;
  667. .text-area{
  668. height: 200rpx;
  669. margin-top: 10rpx;
  670. font-size: 24rpx;
  671. }
  672. &.no-border {
  673. border-bottom: none;
  674. padding-left: 0;
  675. padding-right: 0;
  676. }
  677. .item-title {
  678. color: #666666;
  679. font-size: 28rpx;
  680. display: block;
  681. }
  682. .item-desc {
  683. color: #B2B2B2;
  684. font-size: 22rpx;
  685. display: block;
  686. margin-top: 9rpx;
  687. line-height: 36rpx;
  688. }
  689. }
  690. .acea-row,
  691. .upload {
  692. display: -webkit-box;
  693. display: -moz-box;
  694. display: -webkit-flex;
  695. display: -ms-flexbox;
  696. display: flex;
  697. -webkit-box-lines: multiple;
  698. -moz-box-lines: multiple;
  699. -o-box-lines: multiple;
  700. -webkit-flex-wrap: wrap;
  701. -ms-flex-wrap: wrap;
  702. flex-wrap: wrap;
  703. }
  704. .upload {
  705. margin-top: 20rpx;
  706. }
  707. .acea-row.row-middle {
  708. -webkit-box-align: center;
  709. -moz-box-align: center;
  710. -o-box-align: center;
  711. -ms-flex-align: center;
  712. -webkit-align-items: center;
  713. align-items: center;
  714. padding-left: 2px;
  715. }
  716. .acea-row.row-column {
  717. -webkit-box-orient: vertical;
  718. -moz-box-orient: vertical;
  719. -o-box-orient: vertical;
  720. -webkit-flex-direction: column;
  721. -ms-flex-direction: column;
  722. flex-direction: column;
  723. }
  724. .acea-row.row-center-wrapper {
  725. -webkit-box-align: center;
  726. -moz-box-align: center;
  727. -o-box-align: center;
  728. -ms-flex-align: center;
  729. -webkit-align-items: center;
  730. align-items: center;
  731. -webkit-box-pack: center;
  732. -moz-box-pack: center;
  733. -o-box-pack: center;
  734. -ms-flex-pack: center;
  735. -webkit-justify-content: center;
  736. justify-content: center;
  737. }
  738. .merchantsSettled .list .item .pictrue {
  739. width: 130rpx;
  740. height: 130rpx;
  741. margin: 24rpx 22rpx 0 0;
  742. position: relative;
  743. font-size: 11px;
  744. color: #bbb;
  745. &:nth-child(4n) {
  746. margin-right: 0;
  747. }
  748. &:nth-last-child(1) {
  749. border: 0.5px solid #ddd;
  750. box-sizing: border-box;
  751. }
  752. uni-image,
  753. image {
  754. width: 100%;
  755. height: 100%;
  756. border-radius: 1px;
  757. img {
  758. -webkit-touch-callout: none;
  759. -webkit-user-select: none;
  760. -moz-user-select: none;
  761. display: block;
  762. position: absolute;
  763. top: 0;
  764. left: 0;
  765. opacity: 0;
  766. width: 100%;
  767. height: 100%;
  768. }
  769. }
  770. .icon-guanbi1 {
  771. font-size: 33rpx;
  772. position: absolute;
  773. top: -10px;
  774. right: -10px;
  775. }
  776. }
  777. .uni-list-cell-db {
  778. position: relative;
  779. }
  780. .wenhao {
  781. width: 34rpx;
  782. height: 34rpx;
  783. display: flex;
  784. align-items: center;
  785. justify-content: center;
  786. font-size: 28rpx;
  787. border-radius: 50%;
  788. background: #E3E3E3;
  789. color: #ffffff !important;
  790. margin-left: 4rpx;
  791. position: absolute;
  792. left: 122rpx;
  793. }
  794. .merchantsSettled .list .item .imageCode {
  795. position: absolute;
  796. top: 7px;
  797. right: 0;
  798. }
  799. .merchantsSettled .list .item .icon {
  800. font-size: 40rpx;
  801. color: #b4b1b4;
  802. }
  803. .merchantsSettled .list .item input {
  804. width: 400rpx;
  805. font-size: 28rpx;
  806. // margin-left: 30px;
  807. }
  808. .merchantsSettled .list .item .placeholder {
  809. color: #b2b2b2;
  810. font-size: 28rpx
  811. }
  812. .merchantsSettled .default {
  813. padding: 0 30rpx;
  814. height: 90rpx;
  815. background-color: #fff;
  816. margin-top: 23rpx;
  817. }
  818. .merchantsSettled .default checkbox {
  819. margin-right: 15rpx;
  820. }
  821. .merchantsSettled .acea-row uni-image {
  822. width: 20px;
  823. height: 20px;
  824. display: block;
  825. }
  826. .merchantsSettled .list .item .codeIput {
  827. width: 125px;
  828. }
  829. .uni-input-input {
  830. display: block;
  831. height: 100%;
  832. background: none;
  833. color: inherit;
  834. opacity: 1;
  835. -webkit-text-fill-color: currentcolor;
  836. font: inherit;
  837. line-height: inherit;
  838. letter-spacing: inherit;
  839. text-align: inherit;
  840. text-indent: inherit;
  841. text-transform: inherit;
  842. text-shadow: inherit;
  843. }
  844. .merchantsSettled .list .item .code {
  845. position: absolute;
  846. width: 93px;
  847. line-height: 27px;
  848. border: 1px solid #E93323;
  849. border-radius: 15px;
  850. color: #E93323;
  851. text-align: center;
  852. bottom: 8px;
  853. right: 0;
  854. font-size: 12px;
  855. }
  856. .merchantsSettled .list .item .code.on {
  857. background-color: #bbb;
  858. color: #fff;
  859. border-color: #bbb;
  860. }
  861. .merchantsSettled .submitBtn {
  862. width: 588rpx;
  863. margin: 0 auto;
  864. height: 86rpx;
  865. border-radius: 25px;
  866. text-align: center;
  867. line-height: 86rpx;
  868. font-size: 15px;
  869. color: #fff;
  870. background: #E3E3E3;
  871. margin-top: 25px;
  872. }
  873. .merchantsSettled .submitBtn.on {
  874. background: #E93323;
  875. }
  876. uni-checkbox-group,
  877. .settleAgree {
  878. display: inline-block;
  879. font-size: 24rpx;
  880. }
  881. uni-checkbox-group {
  882. color: #b2b2b2;
  883. }
  884. .settleAgree {
  885. color: #E93323;
  886. // position: relative;
  887. // top: 2px;
  888. // left: 8px;
  889. }
  890. .merchantsSettled uni-checkbox .uni-checkbox-wrapper {
  891. width: 30rpx;
  892. height: 30rpx;
  893. border: 2rpx solid #C3C3C3;
  894. border-radius: 15px;
  895. }
  896. .settlementAgreement {
  897. width: 100%;
  898. height: 100%;
  899. position: fixed;
  900. top: 0;
  901. left: 0;
  902. background: rgba(0, 0, 0, .5);
  903. z-index: 10;
  904. }
  905. .settlementAgreement .setAgCount {
  906. background: #fff;
  907. width: 656rpx;
  908. height: 458px;
  909. position: absolute;
  910. top: 50%;
  911. left: 50%;
  912. border-radius: 12rpx;
  913. -webkit-border-radius: 12rpx;
  914. padding: 52rpx;
  915. -webkit-transform: translate(-50%, -50%);
  916. -moz-transform: translate(-50%, -50%);
  917. transform: translate(-50%, -50%);
  918. overflow: hidden;
  919. .content {
  920. height: 900rpx;
  921. overflow-y: scroll;
  922. /deep/ p {
  923. font-size: 13px;
  924. line-height: 22px;
  925. }
  926. /deep/ img {
  927. max-width: 100%;
  928. }
  929. }
  930. }
  931. .settlementAgreement .setAgCount .icon {
  932. font-size: 42rpx;
  933. color: #b4b1b4;
  934. position: absolute;
  935. top: 15rpx;
  936. right: 15rpx;
  937. }
  938. .settlementAgreement .setAgCount .title {
  939. color: #333;
  940. font-size: 32rpx;
  941. text-align: center;
  942. font-weight: bold;
  943. }
  944. .settlementAgreement .setAgCount .content {
  945. margin-top: 32rpx;
  946. color: #333;
  947. font-size: 26rpx;
  948. line-height: 22px;
  949. text-align: justify;
  950. text-justify: distribute-all-lines;
  951. height: 756rpx;
  952. overflow-y: scroll;
  953. }
  954. .settledSuccessMain {
  955. height: 100vh;
  956. display: flex;
  957. flex-direction: column;
  958. background: #fff;
  959. }
  960. .settledSuccessful {
  961. flex: 1;
  962. width: 100%;
  963. padding: 0 56px;
  964. height: auto;
  965. background: #fff;
  966. text-align: center;
  967. }
  968. .settledSuccessful .image {
  969. width: 189px;
  970. height: 157px;
  971. margin-top: 66px;
  972. }
  973. .settledSuccessful .title {
  974. color: #333333;
  975. font-size: 16px;
  976. font-weight: bold;
  977. margin-top: 35px;
  978. }
  979. .settledSuccessful .info {
  980. color: #999;
  981. font-size: 26rpx;
  982. margin-top: 18rpx;
  983. }
  984. .settledSuccessful .goHome {
  985. margin: 20px auto 0;
  986. line-height: 43px;
  987. color: #282828;
  988. font-size: 15px;
  989. border: 1px solid #B4B4B4;
  990. border-radius: 60px;
  991. }
  992. .settledSuccessful .again {
  993. margin: 30px auto 0;
  994. line-height: 43px;
  995. color: #fff;
  996. font-size: 15px;
  997. background-color: #E93323;
  998. border-radius: 60px;
  999. }
  1000. /deep/ uni-checkbox .uni-checkbox-input {
  1001. width: 15px;
  1002. height: 15px;
  1003. position: relative;
  1004. }
  1005. /deep/ uni-checkbox .uni-checkbox-input.uni-checkbox-input-checked:before {
  1006. font-size: 14px;
  1007. }
  1008. /deep/ uni-checkbox .uni-checkbox-input-checked {
  1009. background-color: #fd151b !important;
  1010. }
  1011. .loadingicon {
  1012. height: 100vh;
  1013. overflow: hidden;
  1014. position: absolute;
  1015. top: 0;
  1016. left: 0;
  1017. }
  1018. .icon-xiangyou {
  1019. font-size: 22rpx;
  1020. }
  1021. // #ifdef MP
  1022. checkbox-group {
  1023. display: inline-block;
  1024. }
  1025. // #endif
  1026. .setAgCount {
  1027. /deep/ table {
  1028. border: 1rpx solid #DDD;
  1029. border-bottom: none;
  1030. border-right: none;
  1031. }
  1032. /deep/ td,
  1033. th {
  1034. padding: 5rpx 10rpx;
  1035. border-bottom: 1rpx solid #DDD;
  1036. border-right: 1rpx solid #DDD;
  1037. }
  1038. }
  1039. </style>