edit.vue 8.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355
  1. <template>
  2. <div class="club-info page">
  3. <div class="page-top flex flex-col justify-center items-center">
  4. <img class="logo" :src="supplierInfo.logo" />
  5. <div class="name mt-2" v-text="supplierInfo.shopName + '认证记录'"></div>
  6. </div>
  7. <div class="page-content">
  8. <div class="page-title">机构认证</div>
  9. <el-form
  10. :model="formData"
  11. :rules="rules"
  12. ref="form"
  13. label-position="left"
  14. >
  15. <el-form-item prop="mobile" label="机构名称:">
  16. <el-input placeholder="请输入机构名称"></el-input>
  17. </el-form-item>
  18. <el-form-item prop="mobile" label="联系电话:">
  19. <el-input placeholder="请输入对外联系电话"></el-input>
  20. </el-form-item>
  21. <el-form-item prop="mobile" label="所在地区:">
  22. <br />
  23. <div class="flex items-center justify-between">
  24. <el-select placeholder="请选择" v-model="formData.a">
  25. <el-option label="湖北" :value="1"> </el-option>
  26. <el-option label="广东" :value="1"> </el-option>
  27. </el-select>
  28. <el-select placeholder="请选择" v-model="formData.b" class="mx-2">
  29. <el-option label="湖北" :value="1"> </el-option>
  30. <el-option label="广东" :value="1"> </el-option>
  31. </el-select>
  32. <el-select placeholder="请选择" v-model="formData.c">
  33. <el-option label="湖北" :value="1"> </el-option>
  34. <el-option label="广东" :value="1"> </el-option>
  35. </el-select>
  36. </div>
  37. <el-input
  38. class="mt-4"
  39. type="textarea"
  40. :rows="4"
  41. placeholder="建议您如实填写详细收货地址,例如:街道名称,门牌号码,楼层和房间号等信息"
  42. ></el-input>
  43. </el-form-item>
  44. <el-form-item prop="mobile" label="">
  45. <div class="normal-row">
  46. <div class="label">
  47. 所在位置:<span>(提示:打开地图,将定位图标移到具体位置)</span>
  48. </div>
  49. <div class="postion-btn">定位</div>
  50. </div>
  51. <!-- <el-input placeholder="地图坐标" v-show="false"></el-input> -->
  52. </el-form-item>
  53. <el-form-item prop="mobile" label="logo:">
  54. <br />
  55. <el-input v-show="false"></el-input>
  56. <SimpleUploadImage :limit="1" />
  57. </el-form-item>
  58. <el-form-item prop="mobile">
  59. <div class="normal-row">
  60. <div class="label">门头照:<span>(可上传6张)</span></div>
  61. <el-input v-show="false"></el-input>
  62. <SimpleUploadImage :limit="6" />
  63. </div>
  64. </el-form-item>
  65. <el-form-item label="机构类型:">
  66. <br />
  67. <SimpleRadio
  68. :list="clubTypeList"
  69. type="defalut"
  70. v-model="formData.clubType"
  71. />
  72. </el-form-item>
  73. <el-form-item label="医美类型:" v-if="formData.clubType === 1">
  74. <br />
  75. <SimpleRadio
  76. :list="medicalTypeList1"
  77. type="rect"
  78. v-model="formData.medicalType"
  79. />
  80. </el-form-item>
  81. <el-form-item label="生美类型:" v-if="formData.clubType === 2">
  82. <br />
  83. <SimpleRadio
  84. :list="medicalTypeList2"
  85. type="rect"
  86. v-model="formData.medicalType"
  87. />
  88. </el-form-item>
  89. <el-form-item label="医疗许可证:" prop="licenseImage">
  90. <br />
  91. <el-input v-show="false" v-model="formData.licenseImage" />
  92. <SimpleUploadImage :limit="1" />
  93. </el-form-item>
  94. <el-form-item label="员工人数:" prop="memberCount">
  95. <el-input
  96. v-model.number="formData.memberCount"
  97. placeholder="请输入员工人数"
  98. clearable
  99. />
  100. </el-form-item>
  101. </el-form>
  102. <div class="control flex flex-col items-center">
  103. <div class="button submit flex justify-center items-center">提交</div>
  104. </div>
  105. </div>
  106. </div>
  107. </template>
  108. <script>
  109. import SimpleUploadImage from '@/components/SimpleUploadImage'
  110. import SimpleRadio from '@/components/SimpleRadio'
  111. import { mapGetters } from 'vuex'
  112. export default {
  113. layout: 'app',
  114. components: {
  115. SimpleUploadImage,
  116. SimpleRadio,
  117. },
  118. computed: {
  119. ...mapGetters(['supplierInfo', 'authUserId', 'routePrefix']),
  120. },
  121. data() {
  122. return {
  123. clubTypeList: [
  124. { value: 1, name: '医美' },
  125. { value: 2, name: '生美' },
  126. { value: 3, name: '项目公司' },
  127. { value: 4, name: '个人' },
  128. { value: 5, name: '其他' },
  129. ],
  130. medicalTypeList1: [
  131. { value: 1, name: '诊所' },
  132. { value: 2, name: '门诊' },
  133. { value: 3, name: '医院' },
  134. { value: 4, name: '其他' },
  135. ],
  136. medicalTypeList2: [
  137. { value: 5, name: '美容院' },
  138. { value: 6, name: '养生馆' },
  139. { value: 7, name: '其他' },
  140. ],
  141. formData: {
  142. clubType: 1,
  143. medicalType: 1,
  144. licenseImage: '',
  145. memberCount: '',
  146. a: '',
  147. b: '',
  148. c: '',
  149. },
  150. rules: {},
  151. }
  152. },
  153. }
  154. </script>
  155. <style lang="scss" scoped>
  156. @media screen and (min-width: 768px) {
  157. .page {
  158. background: #fff;
  159. }
  160. .page-top {
  161. height: 360px;
  162. @include themify($themes) {
  163. background: themed('banner-club-register');
  164. background-size: auto 360px;
  165. }
  166. .logo {
  167. display: block;
  168. width: 120px;
  169. height: 120px;
  170. border-radius: 50%;
  171. background: #fff;
  172. }
  173. .name {
  174. font-size: 30px;
  175. color: #fff;
  176. }
  177. }
  178. .page-content {
  179. width: 700px;
  180. margin: 0 auto;
  181. overflow: hidden;
  182. min-height: calc(100vh - 80px - 80px - 360px);
  183. box-sizing: border-box;
  184. padding-bottom: 40px;
  185. .page-title {
  186. font-size: 24px;
  187. font-weight: bold;
  188. text-align: center;
  189. padding: 40px 0;
  190. }
  191. .control {
  192. margin-top: 62px;
  193. .button {
  194. width: 295px;
  195. height: 50px;
  196. cursor: pointer;
  197. &.submit {
  198. @include themify($themes) {
  199. background-color: themed('color');
  200. color: #fff;
  201. }
  202. }
  203. }
  204. }
  205. .normal-row {
  206. position: relative;
  207. .label {
  208. font-size: 14px;
  209. color: #606266;
  210. span {
  211. color: #b2b2b2;
  212. }
  213. }
  214. .postion-btn {
  215. position: absolute;
  216. top: 50%;
  217. right: 0;
  218. transform: translateY(-50%);
  219. width: 62px;
  220. height: 28px;
  221. line-height: 28px;
  222. font-size: 14px;
  223. color: #fff;
  224. background: #1890ff;
  225. display: flex;
  226. justify-content: center;
  227. align-items: center;
  228. cursor: pointer;
  229. border-radius: 4px;
  230. &::before {
  231. content: '';
  232. display: inline-block;
  233. width: 16px;
  234. height: 16px;
  235. background: url(https://static.caimei365.com/www/authentic/pc/icon-position.png)
  236. no-repeat center;
  237. background-size: 16px 16px;
  238. }
  239. }
  240. }
  241. }
  242. }
  243. @media screen and (max-width: 768px) {
  244. ::v-deep {
  245. .el-form-item__label {
  246. font-size: 3.4vw;
  247. }
  248. }
  249. .page {
  250. background: #fff;
  251. }
  252. .page-top {
  253. height: 46vw;
  254. @include themify($themes) {
  255. background: themed('banner-home-h5');
  256. background-size: auto 46vw;
  257. }
  258. .logo {
  259. display: block;
  260. width: 14.8vw;
  261. height: 14.8vw;
  262. border-radius: 50%;
  263. background: #fff;
  264. }
  265. .name {
  266. font-size: 4vw;
  267. color: #fff;
  268. }
  269. }
  270. .page-content {
  271. box-sizing: border-box;
  272. padding: 8vw 7vw;
  273. .page-title {
  274. font-size: 4.2vw;
  275. font-weight: bold;
  276. text-align: center;
  277. margin-bottom: 8vw;
  278. color: #282828;
  279. }
  280. .control {
  281. .button {
  282. width: 100%;
  283. height: 12vw;
  284. cursor: pointer;
  285. &.submit {
  286. @include themify($themes) {
  287. background-color: themed('color');
  288. color: #fff;
  289. }
  290. }
  291. }
  292. }
  293. .normal-row {
  294. position: relative;
  295. .label {
  296. font-size: 14px;
  297. color: #606266;
  298. span {
  299. color: #b2b2b2;
  300. font-size: 2.6vw;
  301. }
  302. }
  303. .postion-btn {
  304. position: absolute;
  305. top: 50%;
  306. right: 0;
  307. transform: translateY(-50%);
  308. width: 14vw;
  309. height: 6.8vw;
  310. line-height: 6.8vw;
  311. font-size: 3.2vw;
  312. color: #fff;
  313. background: #1890ff;
  314. display: flex;
  315. justify-content: center;
  316. align-items: center;
  317. cursor: pointer;
  318. border-radius: 0.4vw;
  319. &::before {
  320. content: '';
  321. display: inline-block;
  322. width: 3.58vw;
  323. height: 3.58vw;
  324. background: url(https://static.caimei365.com/www/authentic/pc/icon-position.png)
  325. no-repeat center;
  326. background-size: 3.58vw;
  327. }
  328. }
  329. }
  330. }
  331. }
  332. </style>