ApplyForUp.vue 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158
  1. <script>
  2. // 申请成为up的申请界面
  3. import UploadPic from "@/components/UploadPic.vue";
  4. import {provinceAndCityData,pcTextArr,regionData,pcaTextArr,codeToText,} from'element-china-area-data'
  5. export default {
  6. name: "ApplyForUp",
  7. components:{
  8. UploadPic:UploadPic
  9. },
  10. data() {
  11. return {
  12. user: JSON.parse(localStorage.getItem('xm-user') || '{}'), // user信息解压
  13. isSubmit:false, // 是否申请了表格
  14. state:"", // 申请状态
  15. formData:{
  16. keeperName :'', // 姓名
  17. idCard:"", //申请人身份证
  18. businessLicense:"", //营业许可证URL
  19. reason:"", // 申请理由
  20. picsUrl:"", // 店铺图片
  21. },
  22. provinceAndCityData,
  23. pcaTextArr,
  24. selectedOptions:[], // 地址选项
  25. placeDetail:"",
  26. rules:{
  27. desc:[{require:true}]
  28. }
  29. };
  30. },
  31. computed:{
  32. address(){
  33. let res = ""
  34. console.log(this.selectedOptions)
  35. for(let city in this.selectedOptions) res +=this.selectedOptions[city]
  36. return res + this.placeDetail;
  37. }
  38. }
  39. ,
  40. created(){
  41. let id = this.user.id;
  42. console.log(id)
  43. this.$request.get(`/audits/selectAll`,{
  44. params:{
  45. adminId:id,
  46. }
  47. }).then(res=>{
  48. console.log(res);
  49. if(res.code == 200 ){
  50. // 存在结果
  51. if(res.data[0]) // 进入注册界面
  52. {
  53. this.isSubmit = true;
  54. let audit = res.data[0]; // 获取到的申请表信息
  55. console.log(res.data)
  56. this.state = audit.state
  57. this.formData = audit
  58. }
  59. }
  60. })
  61. }
  62. ,
  63. methods: {
  64. onSubmit() {
  65. const requestForm = {
  66. storeAddress:this.address,
  67. idcard:this.formData.idCard,
  68. businessLicense: this.formData.businessLicense,
  69. reason:this.formData.reason,
  70. picsUrl:this.formData.picsUrl,
  71. keeperName:this.formData.keeperName
  72. }
  73. console.log(requestForm)
  74. this.$request.post("/audits/add",requestForm).then(res=>{
  75. console.log(res)
  76. })
  77. },
  78. updateBsCard(data){this.formData.businessLicense = data[0].url},
  79. updateDeleBsCard(file){this.formData.businessLicense = null},
  80. updateFarm(data){this.formData.picsUrl= data[0].url},//农村图片
  81. updateDeleFarm(data){this.formData.picsUrl = null},//删除选中的图片
  82. showCheck(data){this.isSubmit = false},
  83. }
  84. }
  85. </script>
  86. <template>
  87. <div>
  88. <el-card class="applyForm" style="margin-left:10%;margin-right: 10%; width: 80%" v-if="!isSubmit">
  89. <div style="text-align: center "> 申 请 店 铺 </div>
  90. <el-form :rule="rules" label-position="left" ref="form" :model="formData" label-width="80px" size="mini" class="demo-ruleForm">
  91. <el-form-item label="姓名" style="width: 30%">
  92. <el-input v-model="formData.keeperName"></el-input>
  93. </el-form-item>
  94. <el-form-item label="营业许可证照片" :rule="[
  95. {require:true,message:'请上传营业许可照片'}
  96. ]">
  97. <UploadPic fileType="营业许可证照片" @update:uploadFile="updateBsCard" @update:cancelUpload="updateDeleBsCard">
  98. </UploadPic>
  99. </el-form-item>
  100. <el-form-item label="农铺照片" :rule="[
  101. {require:true,message:'请上传农铺照片'}
  102. ]">
  103. <UploadPic fileType="农铺照片" @update:uploadFile="updateFarm" @update:cancelUpload="updateDeleFarm">
  104. </UploadPic>
  105. </el-form-item>
  106. <el-form-item label="申请理由" prop="desc">
  107. <el-input
  108. type="textarea"
  109. placeholder="请输入内容"
  110. maxlength="300"
  111. v-model="formData.reason"
  112. show-word-limit
  113. autosize
  114. style="font-family: 'PingFang SC' "
  115. >
  116. </el-input>
  117. </el-form-item>
  118. <el-form-item label="店铺地址" >
  119. <el-col :span="63">
  120. <el-cascader
  121. size="large"
  122. :options="pcaTextArr"
  123. v-model="selectedOptions">
  124. </el-cascader>
  125. <i> 详细地址 </i> <el-input v-model="placeDetail" style="width: 100%"></el-input>
  126. </el-col>
  127. </el-form-item>
  128. <el-form-item size="large">
  129. <el-button type="primary" @click="onSubmit">提交申请</el-button>
  130. <el-button>取消</el-button>
  131. </el-form-item>
  132. </el-form>
  133. </el-card>
  134. <el-card v-if="isSubmit">
  135. <!-- 显示申请状态-->
  136. <el-tag >{{state}}</el-tag>
  137. <!-- 点击查看申请列表 -->
  138. <el-button @click="showCheck()"></el-button>
  139. </el-card>
  140. </div>
  141. </template>
  142. <style>
  143. // 这里把他放到居中位置
  144. .applyForm {
  145. width: 400px; /* 设置表单的宽度 */
  146. margin: 0 auto; /* 使用 margin 属性将表单水平居中 */
  147. }
  148. </style>