information.vue 28 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997
  1. <template>
  2. <view class="container register">
  3. <view class="register-main first clearfix">
  4. <view class="register-row">
  5. <view class="register-title">账户信息</view>
  6. </view>
  7. <view class="register-row clearfix">
  8. <view class="register-from">
  9. <view class="label">邮箱:</view>
  10. <view class="row-input">369321048@qq.com</view>
  11. </view>
  12. </view>
  13. <view class="register-row">
  14. <view class="register-title">基本信息</view>
  15. </view>
  16. <view class="register-row clearfix">
  17. <view class="register-from">
  18. <view class="label">机构名称:</view>
  19. <input class="row-input" type="text" v-model="clubName" placeholder="请输入您的机构名称" maxlength="30"/>
  20. </view>
  21. </view>
  22. <view class="register-row clearfix">
  23. <view class="register-from">
  24. <view class="label">联系人:</view>
  25. <input class="row-input" type="text" v-model="clubContact" placeholder="请输入联系姓名" maxlength="6"/>
  26. </view>
  27. </view>
  28. <view class="register-row clearfix">
  29. <view class="register-from">
  30. <view class="label">手机号:</view>
  31. <input class="row-input" type="number" v-model="registerEmail" placeholder="请输入手机号" maxlength="11"/>
  32. <view class="row-btn" @click="showCheckPhone">{{isShowCheckPhone?'取消修改':'修改手机号'}}</view>
  33. </view>
  34. </view>
  35. <view class="register-row clearfix" v-show="isShowCheckPhone">
  36. <view class="register-from code">
  37. <input class="row-input" type="text" v-model="regEmailCode" placeholder="请输入上述手机号的验证码" maxlength="6"/>
  38. </view>
  39. <view class="register-from btn" :class="[isDisabled ? 'disabled' : 'none']">
  40. <button class="row-input" type="button" @click.stop="getEmailCode" :disabled="isDisabled">获取验证码</button>
  41. </view>
  42. </view>
  43. <view class="register-row clearfix" v-show="isShowCheckPhone">
  44. <view class="register-from">
  45. <input class="row-input" type="number" v-model="registerEmail" placeholder="请输入新手机号" maxlength="11"/>
  46. </view>
  47. </view>
  48. <view class="register-row clearfix" v-show="isShowCheckPhone">
  49. <view class="register-from code">
  50. <input class="row-input" type="text" v-model="regEmailCode" placeholder="请输入新手机号的验证码" maxlength="6"/>
  51. </view>
  52. <view class="register-from btn" :class="[isDisabled ? 'disabled' : 'none']">
  53. <button class="row-input" type="button" @click.stop="getEmailCode" :disabled="isDisabled">获取验证码</button>
  54. </view>
  55. </view>
  56. </view>
  57. <view class="register-main clearfix" >
  58. <view class="register-row">
  59. <view class="register-title">详细信息<text class="txt">(请尽量填写,有利于快速审核通过)</text></view>
  60. </view>
  61. </view>
  62. <view class="register-main detailed clearfix">
  63. <view class="register-row clearfix">
  64. <view class="register-from">
  65. <view class="label">机构简称:</view>
  66. <input class="row-input" type="text" v-model="clubContact" placeholder="请输入您的机构简称" maxlength="16"/>
  67. </view>
  68. </view>
  69. <view class="register-row clearfix">
  70. <view class="register-from" @click="showMulLinkageThreePicker">
  71. <view class="label">机构地址:</view>
  72. <text class="row-input" :class="addressData.address === '请选择机构所在地区' ? 'none' : ''">
  73. {{addressData.address}}
  74. </text>
  75. <text class="iconfont icon-xiayibu"></text>
  76. </view>
  77. </view>
  78. <view class="register-row text-textarea clearfix">
  79. <view class="textarea show" v-if="isShowInput">{{addressData.addressDetail ? addressData.addressDetail :'详细地址:如道路、门牌号、小区等'}}</view>
  80. <textarea v-else
  81. class="textarea"
  82. type="text"
  83. v-model="addressData.addressDetail"
  84. placeholder="详细地址:如道路、门牌号、小区等"
  85. placeholder-class="placeholder"
  86. maxlength="50"
  87. @input="onTextareaInput"
  88. :class="isShowInput ? '':''"
  89. />
  90. </view>
  91. <view class="register-row clearfix">
  92. <view class="register-from">
  93. <view class="label">营业执照编号:</view>
  94. <input class="row-input" type="text" v-model="clubContact" placeholder="请填写社会统一信用代码" maxlength="16"/>
  95. </view>
  96. </view>
  97. <view class="register-row clearfix">
  98. <view class="register-picture">
  99. <view class="label">营业执照:</view>
  100. <view class="upload-picture">
  101. <view class="upload-none" v-if="uploadBusinessImage === ''" @click="chooseBusinessImage"><text class="iconfont icon-jiahao"></text></view>
  102. <view class="upload-image" v-else>
  103. <image :src="uploadBusinessImage" mode="" @click="viewBusinessImage"></image>
  104. <view class="upload-del" @click="delBusinessImage">
  105. <text class='iconfont icon-shanchu1'></text>
  106. </view>
  107. </view>
  108. </view>
  109. </view>
  110. </view>
  111. <view class="register-row clearfix">
  112. <view class="register-picture">
  113. <view class="label">门头照:</view>
  114. <view class="upload-picture">
  115. <view class="upload-none" v-if="uploadMentuzImage === ''" @click="chooseMentuzImage"><text class="iconfont icon-jiahao"></text></view>
  116. <view class="upload-image" v-else>
  117. <image :src="uploadMentuzImage" mode="" @click="viewMentuzImage"></image>
  118. <view class="upload-del" @click="delMentuzImage">
  119. <text class='iconfont icon-shanchu1'></text>
  120. </view>
  121. </view>
  122. </view>
  123. </view>
  124. </view>
  125. <view class="register-row clearfix">
  126. <view class="register-from picker">
  127. <view class="label">机构类型:</view>
  128. <picker @change="bindPickerChange" :value="index" :range="organizationTypeList" range-key="name">
  129. <view class="row-input" :class="[isOrganizationType == 0 ? 'none' : '']">{{organizationTypeList[typtIndex].name}}</view>
  130. </picker>
  131. <text class="iconfont icon-xiayibu"></text>
  132. </view>
  133. </view>
  134. <view class="register-row clearfix" v-if="isOrganizationType == 1">
  135. <view class="register-from radio">
  136. <radio-group @change="radioChange">
  137. <label class="row-input" v-for="(item, index) in beautyList" :key="item.value">
  138. <radio class="row-radio" :value="item.value" :checked="index === current" color="#E15616"/>
  139. <view class="row-text">{{item.name}}</view>
  140. </label>
  141. </radio-group>
  142. </view>
  143. </view>
  144. <view class="register-row clearfix" v-show="isDepartment">
  145. <view class="register-from">
  146. <view class="label">科室:</view>
  147. <input class="row-input keshi" type="text" v-model="clubContact" placeholder="请填写经营的科室,至少三个,用逗号隔开" maxlength="16"/>
  148. </view>
  149. </view>
  150. <view class="register-row clearfix" v-if="isOrganizationType == 1">
  151. <view class="register-picture">
  152. <view class="label zz">医疗执业许可证:</view>
  153. <view class="upload-picture">
  154. <view class="upload-none" v-if="uploadMedicalImage === ''" @click="chooseMedicalImage"><text class="iconfont icon-jiahao"></text></view>
  155. <view class="upload-image" v-else>
  156. <image :src="uploadMedicalImage" mode="" @click="viewMedicalImage"></image>
  157. <view class="upload-del" @click="delMedicalImage">
  158. <text class='iconfont icon-shanchu1'></text>
  159. </view>
  160. </view>
  161. </view>
  162. </view>
  163. </view>
  164. <view class="register-row clearfix" v-if="isOrganizationType == 1">
  165. <view class="register-from group">
  166. <view class="label">主营内容:</view>
  167. <checkbox-group class="content-class" @change="chooseMaleLike" >
  168. <label class="item" v-for="(item, index) in mentuzCampList" :key="index" :class="{on: item.checked}">
  169. <checkbox :value="item.value"></checkbox>
  170. <text class="item-text">{{item.name}}</text>
  171. </label>
  172. </checkbox-group>
  173. </view>
  174. <view class="register-from group btn">
  175. <view class="content-class btn">
  176. <view class="item" @click="showAustomItem">
  177. <text class="item-text">其他</text>
  178. </view>
  179. </view>
  180. </view>
  181. <view class="register-from group btn" v-show="isShowAustomItem">
  182. <view class="content-class btn">
  183. <input class="row-input" type="text" v-model="customItemValue" placeholder="请输入自定义项目" @blur="onBlurInput" maxlength="5"/>
  184. <button type="default"
  185. class="confirm-btn"
  186. :class="[isDisabled ? 'disabled' : 'none']"
  187. :disabled="isDisabled"
  188. @click.stop="addCustomItem"
  189. >确认添加</button>
  190. </view>
  191. </view>
  192. </view>
  193. <view class="register-row clearfix" v-if="isOrganizationType == 2">
  194. <view class="register-from group">
  195. <view class="label">主营内容:</view>
  196. <checkbox-group class="content-class" @change="chooseMaleLikes">
  197. <label class="item" v-for="(item, index) in medicaCampList" :key="index" :class="{on: item.checked}">
  198. <checkbox :value="item.value"></checkbox>
  199. <text class="item-text">{{item.name}}</text>
  200. </label>
  201. </checkbox-group>
  202. </view>
  203. <view class="register-from group btn">
  204. <view class="content-class btn">
  205. <view class="item" @click="showAustomItem">
  206. <text class="item-text">其他</text>
  207. </view>
  208. </view>
  209. </view>
  210. <view class="register-from group btn" v-show="isShowAustomItem">
  211. <view class="content-class btn">
  212. <input class="row-input" type="text" v-model="customItemValue" placeholder="请输入自定义项目" @blur="onBlurInput" maxlength="5"/>
  213. <button type="default"
  214. class="confirm-btn"
  215. :class="[isDisabled ? 'disabled' : 'none']"
  216. :disabled="isDisabled"
  217. @click.stop="addCustomItem"
  218. >确认添加</button>
  219. </view>
  220. </view>
  221. </view>
  222. <view class="register-row clearfix">
  223. <view class="register-from">
  224. <view class="label">固定电话:</view>
  225. <input class="row-input" type="text" v-model="clubName" placeholder="请填写机构的固定电话" maxlength="15"/>
  226. </view>
  227. </view>
  228. <view class="register-row clearfix">
  229. <view class="register-from">
  230. <view class="label">传真:</view>
  231. <input class="row-input" type="text" v-model="clubName" placeholder="请填写机构的传真" maxlength="15"/>
  232. </view>
  233. </view>
  234. <view class="register-row text-textarea clearfix">
  235. <view class="textarea show" v-if="isCompanyPprofile" @click="showTextarea">{{'请填写公司简介,最多500字'}}</view>
  236. <textarea v-else
  237. class="textarea"
  238. type="text"
  239. v-model="companyPprofile"
  240. placeholder="请填写公司简介,最多500字"
  241. placeholder-class="placeholder"
  242. maxlength="500"
  243. @input="onTextareaInput"
  244. :class="isShowInput ? '':''"
  245. />
  246. </view>
  247. <view class="register-fiexd clearfix">
  248. <view class="register-agree">
  249. <view class="agree-text" @tap.stop="agreeCheck()">
  250. <button class="checkbox iconfont" :class="[isCheck?'icon-gouxuan':'icon-weigouxuan']"></button>
  251. 我已阅读并同意<text>《机构协议》</text><text>《用户协议》</text>及<text>《隐私权政策》</text>
  252. </view>
  253. </view>
  254. <view class="register-row ">
  255. <view class="register-btn sub">提交审核</view>
  256. </view>
  257. </view>
  258. <mpvue-city-picker :themeColor="themeColor"
  259. ref="mpvueCityPicker"
  260. :pickerValueDefault="cityPickerValueDefault"
  261. @onCancel="onCancel"
  262. @onConfirm="onConfirm">
  263. </mpvue-city-picker>
  264. </view>
  265. </view>
  266. </template>
  267. <script>
  268. import { mapMutations } from 'vuex';
  269. import mpvueCityPicker from '@/components/mpvue-citypicker/mpvueCityPicker.vue'
  270. import uniTag from '@/components/uni-tag/uni-tag.vue';
  271. import authorize from '@/common/config/authorize.js'
  272. import configUrl from '@/common/config/config.js'
  273. var self;
  274. export default{
  275. components:{
  276. uniTag,
  277. mpvueCityPicker
  278. },
  279. data() {
  280. return{
  281. isOpenError:false,
  282. errorList:[
  283. {text:'图片模糊'},
  284. {text:'营业执照错误'},
  285. {text:'手机号码错误图片模糊图片模糊图片模糊图片模糊图片模糊图片模糊图片模糊图片模糊图片模糊图片模糊图片模糊'}
  286. ],
  287. isDisabled:true,
  288. isShowInput:false,
  289. isCheck:true, //勾选协议
  290. uploadBusinessImage:'',
  291. uploadMentuzImage:'https://ss0.bdstatic.com/70cFuHSh_Q1YnxGkpoWK1HF6hhy/it/u=1431188283,1203112303&fm=26&gp=0.jpg',
  292. uploadMedicalImage:'https://ss0.bdstatic.com/70cFuHSh_Q1YnxGkpoWK1HF6hhy/it/u=1431188283,1203112303&fm=26&gp=0.jpg',
  293. isOrganizationType:0,
  294. organizationTypeList:[
  295. {name:'请选择机构类型',value:0},
  296. {name:'医美',value:1},
  297. {name:'生美',value:2}
  298. ],
  299. beautyList:[{value:'1',name:'诊所'},{value:'2',name:'门诊'},{value:'3',name:'医院'}],
  300. mentuzCampList:[{value:'1',name:'整形'},{value:'2',name:'轻医美'},{value:'3',name:'皮肤科'}],
  301. medicaCampList:[
  302. {value:'1',name:'美容'},
  303. {value:'2',name:'美体'},
  304. {value:'3',name:'美发'},
  305. {value:'4',name:'皮肤管理'},
  306. {value:'5',name:'光电'},
  307. {value:'6',name:'综合类'},
  308. {value:'7',name:'中医养生'},
  309. {value:'8',name:'spa'}
  310. ],
  311. typtIndex:0,
  312. organizationType:0,
  313. current:0,
  314. isShowCheckPhone:false,
  315. isDepartment:false, //是否显示科室
  316. isShowAustomItem:false, //是否显示其他添加
  317. customItemValue:'', //自定义项目
  318. isCompanyPprofile:true,
  319. invitationCode:'', //获取用户登录的邀请码
  320. isToast:false, //控制显示未输入邀请码提示
  321. isUserInfo:false, //控制显示授权弹窗
  322. nickName:'', //存储用户名
  323. userInfo:'', //存储微信用户授权信息
  324. isSuccess:false,
  325. toestText:'',
  326. telPhone:'',
  327. registerType:'', //跳转类型
  328. alertText:'',
  329. listType: '',
  330. listVal: '',
  331. detilType:'',
  332. id:'',//商品ID
  333. addressData:{
  334. addressID:'',
  335. address:'请选择机构所在地区',
  336. userID: '', //用户id ,只在新增收货地址时传
  337. shouHuoRen: '', //收货人
  338. mobile:'', //收货人手机
  339. townID:'', //区ID
  340. addressDetail: '', //地址
  341. defaultFlag:0, //是否默认收货地址(0 不是默认,1 默认)
  342. },
  343. }
  344. },
  345. onLoad(option) {
  346. console.log(option)
  347. self = this;
  348. self.registerType = option.type;
  349. self.id = option.id
  350. if(option.listType) {
  351. self.listType = option.listType;
  352. self.listVal = option.listVal;
  353. }
  354. },
  355. methods:{
  356. ...mapMutations(['register']),
  357. goregister() {
  358. self.$api.get('/register/isEnabled',{userOrganizeID:self.userOrganizeID,invitationCode:self.invitationCode}, res => {
  359. if (res.code == "1") {
  360. //查看此微信用户是否已经授权过
  361. authorize.getSetting().then(res =>{
  362. // console.log('是否已授权',res);//0:为取消授权 1:为已授权 2:为未操作
  363. if(res == 2){
  364. self.isUserInfo = true
  365. }else{
  366. self.isUserInfo = false
  367. self.wxGetUserInfo()
  368. }
  369. })
  370. }else if(res.code =='0'){
  371. self.toestText ='请输入邀请码';
  372. self.alertText ='邀请码';
  373. self.telPhone = res.msg;
  374. self.isToast = true;
  375. }else if(res.code =='-2'){
  376. self.toestText ='邀请码已失效';
  377. self.alertText ='新邀请码';
  378. self.telPhone = res.msg;
  379. self.isToast = true;
  380. }else if(res.code =='-3'){
  381. self.toestText ='邀请码已被使用';
  382. self.alertText ='新邀请码';
  383. self.telPhone = res.msg;
  384. self.isToast = true;
  385. }else{
  386. uni.showToast({icon:'none', title: res.msg, duration: 3000});
  387. self.isUserInfo = false
  388. }
  389. })
  390. },
  391. showOpenError(){
  392. this.isOpenError = !this.isOpenError
  393. },
  394. // 三级联动选择
  395. showMulLinkageThreePicker() {
  396. this.isShowInput = true
  397. this.$refs.mpvueCityPicker.show()
  398. },
  399. onConfirm(e) {
  400. // console.log('地址',e);
  401. this.addressData.address = e.name;
  402. this.addressData.townID = e.cityCode;
  403. },
  404. bindPickerChange(e) {
  405. console.log('picker发送选择改变,携带值为:' + e.target.value)
  406. this.current=0
  407. this.isDepartment = false
  408. this.typtIndex = e.target.value
  409. this.isOrganizationType = e.target.value
  410. },
  411. radioChange(e) {
  412. let _value = e.target.value
  413. if( _value == '2' || _value == '3'){
  414. this.isDepartment = true
  415. }else{
  416. this.isDepartment = false
  417. }
  418. for (let i = 0; i < this.beautyList.length; i++) {
  419. if (this.beautyList[i].value === _value) {
  420. this.current = i;
  421. break;
  422. }
  423. }
  424. },
  425. chooseMaleLike(e){
  426. let items = this.mentuzCampList
  427. let values = e.detail.value
  428. for (var i = 0, lenI = items.length; i < lenI; ++i) {
  429. const item = items[i]
  430. if(values.indexOf(item.value) >= 0){
  431. this.$set(item,'checked',true)
  432. }else{
  433. this.$set(item,'checked',false)
  434. }
  435. }
  436. },
  437. chooseMaleLikes(e){
  438. let items = this.medicaCampList
  439. let values = e.detail.value
  440. for (var i = 0, lenI = items.length; i < lenI; ++i) {
  441. const item = items[i]
  442. if(values.indexOf(item.value) >= 0){
  443. this.$set(item,'checked',true)
  444. }else{
  445. this.$set(item,'checked',false)
  446. }
  447. }
  448. },
  449. onTextareaInput(e){
  450. this.addressData.addressDetail = e.detail.value;
  451. // console.log(this.addressData.addressDetail)
  452. },
  453. chooseBusinessImage() {
  454. let self = this;
  455. uni.chooseImage({
  456. count: 1, //默认1
  457. sizeType: ['compressed'], //可以指定是原图还是压缩图,默认二者都有
  458. sourceType: ['album','camera'], //从相册选择
  459. success: (res) => {
  460. const tempFilePaths = res.tempFilePaths;
  461. const uploadTask = uni.uploadFile({
  462. url : 'https://mall-b.caimei365.com/formData/MultiPictareaddData',
  463. filePath: tempFilePaths[0],
  464. name: 'file',
  465. formData: {
  466. 'user': 'test'
  467. },
  468. success: function (data) {
  469. console.log(data.data);
  470. self.uploadBusinessImage = res.tempFilePaths
  471. },
  472. error : function(e){
  473. console.log(e);
  474. }
  475. })
  476. },
  477. })
  478. },
  479. chooseMentuzImage() {
  480. let self = this;
  481. uni.chooseImage({
  482. count: 1, //默认1
  483. sizeType: ['compressed'], //可以指定是原图还是压缩图,默认二者都有
  484. sourceType: ['album','camera'], //从相册选择
  485. success: (res) => {
  486. const tempFilePaths = res.tempFilePaths;
  487. const uploadTask = uni.uploadFile({
  488. url : 'https://mall-b.caimei365.com/formData/MultiPictareaddData',
  489. filePath: tempFilePaths[0],
  490. name: 'file',
  491. formData: {
  492. 'user': 'test'
  493. },
  494. success: function (res) {
  495. console.log(res.data);
  496. self.uploadMentuzImage = res.data
  497. },
  498. error : function(e){
  499. console.log(e);
  500. }
  501. })
  502. }
  503. });
  504. },
  505. chooseMedicalImage() {
  506. let self = this;
  507. uni.chooseImage({
  508. count: 1, //默认1
  509. sizeType: ['compressed'], //可以指定是原图还是压缩图,默认二者都有
  510. sourceType: ['album','camera'], //从相册选择
  511. success: (res) => {
  512. const tempFilePaths = res.tempFilePaths;
  513. const uploadTask = uni.uploadFile({
  514. url : 'https://mall-b.caimei365.com/formData/MultiPictareaddData',
  515. filePath: tempFilePaths[0],
  516. name: 'file',
  517. formData: {
  518. 'user': 'test'
  519. },
  520. success: function (res) {
  521. console.log(res.data);
  522. self.uploadMedicalImage = res.data
  523. },
  524. error : function(e){
  525. console.log(e);
  526. }
  527. })
  528. }
  529. });
  530. },
  531. viewMentuzImage(e) {
  532. let self = this
  533. let mentuzArray = []
  534. mentuzArray.push(self.uploadMentuzImage)
  535. uni.previewImage({
  536. urls: mentuzArray,
  537. current: 0
  538. });
  539. },
  540. viewBusinessImage(e) {
  541. let self = this
  542. let businessArray = []
  543. businessArray.push(self.uploadBusinessImage)
  544. uni.previewImage({
  545. urls: businessArray,
  546. current: 0
  547. });
  548. },
  549. viewMedicalImage(e) {
  550. let self = this
  551. let medicalArray = []
  552. medicalArray.push(self.uploadMedicalImage)
  553. uni.previewImage({
  554. urls: self.medicalArray,
  555. current: 0
  556. });
  557. },
  558. delBusinessImage(){
  559. this.$util.modal('提示','确定删除营业执照图片吗?',true,() =>{
  560. this.uploadBusinessImage = ''
  561. })
  562. },
  563. delMentuzImage(){
  564. this.$util.modal('提示','确定删除门头照图片吗?',true,() =>{
  565. this.uploadMentuzImage = ''
  566. })
  567. },
  568. delMedicalImage(){
  569. this.$util.modal('提示','确定删除资质图片吗?',true,() =>{
  570. this.uploadMedicalImage = ''
  571. })
  572. },
  573. agreeCheck() {
  574. this.isCheck = !this.isCheck
  575. },
  576. onBlurInput(e){//
  577. if(e.detail.value ===''){
  578. this.isDisabled = true
  579. }else{
  580. this.isDisabled = false
  581. }
  582. },
  583. getEmailCode(){
  584. this.isDisabled = true
  585. },
  586. showAustomItem() {
  587. this.isShowAustomItem = !this.isShowAustomItem
  588. },
  589. addCustomItem(){
  590. if(this.isOrganizationType == 1){
  591. let item = {value:`${this.mentuzCampList.length+1}`,name:this.customItemValue}
  592. this.mentuzCampList.push(item)
  593. }else{
  594. let item = {value:`${this.medicaCampList.length+1}`,name:this.customItemValue}
  595. this.medicaCampList.push(item)
  596. }
  597. },
  598. showTextarea() {
  599. this.isCompanyPprofile = false
  600. },
  601. showCheckPhone(){
  602. this.isShowCheckPhone = !this.isShowCheckPhone
  603. }
  604. }
  605. }
  606. </script>
  607. <style lang="scss">
  608. .register{
  609. width: 100%;
  610. height: auto;
  611. border-top: 1px solid #F7F7F7;
  612. .model-warp.none{
  613. display: none;
  614. }
  615. .model-warp.show{
  616. display: block;
  617. }
  618. .register-main{
  619. width: 100%;
  620. height: auto;
  621. &.detailed{
  622. padding-bottom: 300rpx;
  623. }
  624. &.first{
  625. padding-top: 40rpx;
  626. }
  627. .register-tips{
  628. display: flex;
  629. flex-direction: column;
  630. align-items: center;
  631. line-height: 44rpx;
  632. font-size: $font-size-24;
  633. color: #FF0000;
  634. margin-bottom: 40rpx;
  635. .iconfont{
  636. font-size: $font-size-24;
  637. }
  638. }
  639. .register-row{
  640. width: 702rpx;
  641. height: auto;
  642. padding: 0 24rpx;
  643. margin-bottom: 20rpx;
  644. .register-title{
  645. line-height: 60rpx;
  646. font-size: $font-size-32;
  647. color: $text-color;
  648. text-align: left;
  649. padding-left: 20rpx;
  650. .txt{
  651. font-size: $font-size-26;
  652. font-weight: normal;
  653. }
  654. }
  655. .row-btn{
  656. position: absolute;
  657. right: 24rpx;
  658. top: 0;
  659. line-height: 88rpx;
  660. text-align: center;
  661. font-size: $font-size-28;
  662. color: $color-system;
  663. }
  664. .register-from{
  665. width: 654rpx;
  666. height: 40rpx;
  667. padding: 24rpx;
  668. background: $sub-bg-color;
  669. border-radius: 14rpx;
  670. position: relative;
  671. .label{
  672. text-align: left;
  673. font-size: $font-size-28;
  674. color: #666666;
  675. line-height: 40rpx;
  676. float: left;
  677. }
  678. .row-input{
  679. width: 440rpx;
  680. padding-left:10rpx;
  681. font-size: $font-size-28;
  682. color: $text-color;
  683. line-height: 40rpx;
  684. float: left;
  685. height: 40rpx;
  686. &.none{
  687. color: #999999;
  688. }
  689. &.keshi{
  690. width: 550rpx;
  691. }
  692. }
  693. &.code{
  694. width: 410rpx;
  695. float: left;
  696. margin-right: 20rpx;
  697. .row-input{
  698. width: 390rpx;
  699. }
  700. }
  701. &.btn{
  702. width: 176rpx;
  703. float: left;
  704. .row-input{
  705. width: 176rpx;
  706. padding: 0;
  707. background: #F7F7F7;
  708. text-align: center;
  709. }
  710. &.none{
  711. background: $btn-confirm;
  712. .row-input{
  713. color: #FFFFFF;
  714. background: $btn-confirm;
  715. }
  716. }
  717. &.disabled{
  718. .row-input{
  719. color: #999999;
  720. }
  721. }
  722. }
  723. &.picker{
  724. padding: 0 24rpx;
  725. width: 654rpx;
  726. height: 88rpx;
  727. line-height: 88rpx;
  728. .label{
  729. line-height: 88rpx;
  730. }
  731. .row-input{
  732. width: 470rpx;
  733. height: 88rpx;
  734. line-height: 88rpx;
  735. padding-left: 30rpx;
  736. }
  737. }
  738. &.radio{
  739. padding: 0 24rpx;
  740. width: 654rpx;
  741. height: 288rpx;
  742. .row-input{
  743. width: 100%;
  744. height: 88rpx;
  745. line-height: 88rpx;
  746. padding-left: 0;
  747. }
  748. .row-radio{
  749. float: left;
  750. }
  751. .row-text{
  752. width: 100rpx;
  753. text-align: center;
  754. float: left;
  755. }
  756. }
  757. &.group{
  758. padding: 0 24rpx;
  759. width: 654rpx;
  760. height: auto;
  761. background: #FFFFFF;
  762. margin-top: 30rpx;
  763. .row-input{
  764. width: 100%;
  765. height: 88rpx;
  766. line-height: 88rpx;
  767. padding-left: 0;
  768. }
  769. .row-radio{
  770. float: left;
  771. }
  772. .row-text{
  773. width: 100rpx;
  774. text-align: center;
  775. float: left;
  776. }
  777. }
  778. &.btn{
  779. margin-top: 0;
  780. }
  781. .content-class {
  782. width: 520rpx;
  783. margin: 20rpx auto;
  784. display: flex;
  785. flex-flow: row wrap;
  786. justify-content: space-between;
  787. &.btn{
  788. margin: 0 auto;
  789. margin-left: 126rpx;
  790. }
  791. .row-input{
  792. display: flex;
  793. width: 220rpx;
  794. height: 40rpx;
  795. padding: 24rpx;
  796. text-align: left;
  797. border-radius: 10rpx;
  798. font-size: $font-size-28;
  799. color: $text-color;
  800. }
  801. .confirm-btn{
  802. width: 200rpx;
  803. height: 88rpx;
  804. border-radius: 10rpx;
  805. line-height: 88rpx;
  806. text-align: center;
  807. &.none{
  808. color: #FFFFFF;
  809. background: $btn-confirm;
  810. }
  811. &.disabled{
  812. color: #999999;
  813. }
  814. }
  815. .item {
  816. width: 156rpx;
  817. height: 60rpx;
  818. font-size:$font-size-28;
  819. line-height: 60rpx;
  820. border-radius:10rpx;
  821. margin-bottom: 20rpx;
  822. text-align: center;
  823. box-sizing: border-box;
  824. border: 1rpx solid #EFEFEF;
  825. checkbox {
  826. display: none;
  827. }
  828. }
  829. .on {
  830. border-color: $color-system;
  831. color:$color-system;
  832. }
  833. }
  834. }
  835. .icon-xiayibu{
  836. width: 88rpx;
  837. height: 88rpx;
  838. position: absolute;
  839. right: 0;
  840. top: 0;
  841. line-height: 88rpx;
  842. text-align: center;
  843. }
  844. &.text-textarea{
  845. background: #FFFFFF;
  846. .textarea{
  847. width: 654rpx;
  848. height: 180rpx;
  849. background: #F7F7F7;
  850. padding: 24rpx;
  851. font-size: $font-size-28;
  852. color: $text-color;
  853. z-index: 1;
  854. border-radius: 14rpx;
  855. }
  856. .textarea.hide{
  857. opacity: 0;
  858. }
  859. .textarea.show{
  860. color: #999999;
  861. }
  862. }
  863. }
  864. .register-picture{
  865. height: 102rpx;
  866. margin: 40rpx 0 0 0;
  867. .label{
  868. float: left;
  869. font-size: $font-size-28;
  870. color: $text-color;
  871. line-height: 102rpx;
  872. width: 150rpx;
  873. text-align: right;
  874. &.zz{
  875. width: 230rpx;
  876. }
  877. }
  878. .upload-picture{
  879. float: left;
  880. height: 100rpx;
  881. .upload-none{
  882. width: 100rpx;
  883. height: 100rpx;
  884. text-align: center;
  885. line-height: 100rpx;
  886. color: #999999;
  887. border: 1px solid #999999;
  888. border-radius: 10rpx;
  889. margin: 0 20rpx;
  890. .iconfont{
  891. font-size: $font-size-28;
  892. }
  893. }
  894. .upload-image{
  895. width: 100rpx;
  896. height: 100rpx;
  897. border-radius: 10rpx;
  898. margin: 0 20rpx;
  899. position: relative;
  900. image{
  901. width: 100rpx;
  902. height: 100rpx;
  903. border-radius: 10rpx;
  904. }
  905. .upload-del{
  906. width: 40rpx;
  907. height: 40rpx;
  908. position: absolute;
  909. top: -20rpx;
  910. right: -20rpx;
  911. line-height: 40rpx;
  912. text-align: center;
  913. .iconfont{
  914. font-size: $font-size-32;
  915. color: #999999;
  916. }
  917. }
  918. }
  919. }
  920. }
  921. .register-input{
  922. width: 654rpx;
  923. height: 40rpx;
  924. padding: 24rpx;
  925. margin: 0 auto;
  926. margin-bottom: 60rpx;
  927. background: #F7F7F7;
  928. border-radius: 14rpx;
  929. .input{
  930. width: 100%;
  931. height: 100%;
  932. background: #F7F7F7;
  933. font-size: $font-size-28;
  934. line-height: 40rpx;
  935. color: #333333;
  936. border-radius: 14rpx;
  937. }
  938. }
  939. .register-fiexd{
  940. width: 100%;
  941. height: auto;
  942. padding: 20rpx 0;
  943. position: fixed;
  944. bottom: 0;
  945. left: 0;
  946. z-index: 99;
  947. background: #FFFFFF;
  948. .register-agree{
  949. display: flex;
  950. flex-direction: column;
  951. align-items: center;
  952. margin: 32rpx 0;
  953. .agree-text{
  954. .checkbox{
  955. float: left;
  956. margin: 4rpx 6rpx 0 0;
  957. color: #999999;
  958. font-size: $font-size-32;
  959. &.icon-gouxuan{
  960. color: $color-system;
  961. }
  962. }
  963. font-size: 20rpx;
  964. line-height: 44rpx;
  965. color: #999999;
  966. text{
  967. color:#0091FF;
  968. }
  969. }
  970. }
  971. }
  972. .register-btn{
  973. width: 702rpx;
  974. height: 88rpx;
  975. border-radius: 14rpx;
  976. font-size: $font-size-28;
  977. line-height: 88rpx;
  978. color: #FFFFFF;
  979. margin: 0 auto;
  980. text-align: center;
  981. background: $btn-confirm;
  982. margin-top: 96rpx;
  983. &.none{
  984. background: #FFFFFF;
  985. color: $text-color;
  986. margin-top: 0;
  987. }
  988. &.sub{
  989. margin-top: 0;
  990. }
  991. }
  992. }
  993. }
  994. </style>