特易招,招聘小程序
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

353 lines
7.6 KiB

5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
  1. <template>
  2. <!-- 实名认证 -->
  3. <view class="page">
  4. <navbar title="企业认证"
  5. leftClick
  6. @leftClick="$utils.navigateBack"/>
  7. <view class="info-tips">
  8. 完成企业认证<text
  9. @click="$refs.configPopup.open('permission_authentic_company')">
  10. 您将获得企业认证平台特权
  11. </text>
  12. </view>
  13. <view style="color: red;" v-if="status == 2">
  14. 已驳回原因{{form.remark}}
  15. </view>
  16. <view class="form">
  17. <view class="form-item">
  18. <view class="label">
  19. 职位名称
  20. </view>
  21. <input type="text" class="form-input"
  22. placeholder="请输入职位名称"
  23. v-model="form.career"/>
  24. </view>
  25. <view class="form-item">
  26. <view class="label">
  27. 企业名称
  28. </view>
  29. <input type="text" class="form-input"
  30. placeholder="请输入企业名称"
  31. v-model="form.companyName"/>
  32. </view>
  33. <view class="form-item"
  34. @click="selectAddr">
  35. <view class="label">
  36. 企业地址
  37. </view>
  38. <input type="text" class="form-input"
  39. placeholder="请输入企业地址"
  40. disabled
  41. v-model="form.companyAddress"/>
  42. </view>
  43. <view class="form-item">
  44. <view class="label">
  45. 法定代表人
  46. </view>
  47. <input type="text" class="form-input"
  48. placeholder="请输入法定代表人"
  49. v-model="form.legalPerson"/>
  50. </view>
  51. <view class="form-item">
  52. <view class="label">
  53. 社会统一新信用代码
  54. </view>
  55. <input type="text" class="form-input"
  56. placeholder="请输入社会统一新信用代码"
  57. v-model="form.socialCode"/>
  58. </view>
  59. <view class="form-item">
  60. <view class="title">
  61. 请上传工商营业执照
  62. </view>
  63. <view class="tips">
  64. 只能上传jpgpng,且不能超过1MB
  65. </view>
  66. </view>
  67. <view class="form-item">
  68. <uv-upload
  69. :fileList="fileList"
  70. :maxCount="1"
  71. width="690rpx"
  72. height="280rpx"
  73. multiple
  74. name="fileList"
  75. @afterRead="afterRead"
  76. @delete="deleteImage">
  77. <view class="upload">
  78. <image src="../static/auth/cart.png"
  79. mode="aspectFit"
  80. style="width: 390rpx;height: 280rpx;" />
  81. <view class="btn-add">
  82. 点击上传
  83. </view>
  84. </view>
  85. </uv-upload>
  86. </view>
  87. <view class="form-item">
  88. <view class="tips"
  89. style="text-align: center;padding: 20rpx 0;">
  90. (确保文字清晰可辨避免遮挡不全反光)
  91. </view>
  92. </view>
  93. <view class="form-item">
  94. <view class="title">
  95. 授权书选填
  96. </view>
  97. </view>
  98. <view class="form-item">
  99. <uv-upload
  100. :fileList="authFileList"
  101. :maxCount="1"
  102. width="280rpx"
  103. height="280rpx"
  104. multiple
  105. name="authFileList"
  106. @afterRead="afterRead"
  107. @delete="deleteImage">
  108. </uv-upload>
  109. </view>
  110. </view>
  111. <view v-if="status==0" class="uni-color-btn" @click="sumbit">
  112. 认证
  113. </view>
  114. <view v-if="status==1" class="uni-uncolor-btn" @click="sumbit">
  115. 已审核通过
  116. </view>
  117. <view v-if="status==2" class="uni-redcolor-btn" @click="sumbit">
  118. 已驳回,请重新提交
  119. </view>
  120. <view class="config">
  121. <uv-checkbox-group
  122. v-model="checkboxValue"
  123. shape="circle">
  124. <view class="content">
  125. <view
  126. style="display: flex;">
  127. <uv-checkbox
  128. size="40rpx"
  129. icon-size="30rpx"
  130. activeColor="#3796F8"
  131. :name="1"
  132. ></uv-checkbox>
  133. 阅读并同意我们的<text
  134. @click="$refs.configPopup.open('service_authentic_company')">
  135. 企业认证服务协议
  136. </text>
  137. </view>
  138. </view>
  139. </uv-checkbox-group>
  140. </view>
  141. <configPopup ref="configPopup"/>
  142. </view>
  143. </template>
  144. <script>
  145. export default {
  146. data() {
  147. return {
  148. checkboxValue : [],
  149. form : {
  150. companyAddress : '',
  151. career : '',//职位
  152. },
  153. fileList: [],
  154. status : 0,
  155. authFileList : [],
  156. }
  157. },
  158. onLoad() {
  159. this.getAuthenticationCompany();
  160. },
  161. methods: {
  162. //我的服务-查询企业实名认证信息
  163. getAuthenticationCompany(){
  164. this.$api('getAuthenticationCompany', {}, res =>{
  165. if(res.code == 200 && res.result){
  166. this.form = res.result;
  167. this.status = this.form.status || 0;
  168. this.fileList = this.form.businessLicense ? this.form.businessLicense
  169. .split(',').map(url => {
  170. return {
  171. url
  172. }
  173. }) : []
  174. this.authFileList = this.form.authorizationBook ? this.form.authorizationBook.split(',').map(url => {
  175. return {
  176. url
  177. }
  178. }) : []
  179. }
  180. })
  181. },
  182. deleteImage(e){
  183. this[e.name].splice(e.index, 1)
  184. },
  185. afterRead(e){
  186. let self = this
  187. e.file.forEach(file => {
  188. self.$Oss.ossUpload(file.url).then(url => {
  189. self[e.name].push({
  190. url
  191. })
  192. })
  193. })
  194. },
  195. //提交企业认证信息 :lzx
  196. sumbit(){
  197. if(!this.checkboxValue.length){
  198. return uni.showToast({
  199. title: '请先同意企业认证服务协议',
  200. icon:'none'
  201. })
  202. }
  203. this.form.businessLicense = this.fileList.map((item) => item.url).join(",")
  204. if(this.$utils.verificationAll(this.form,{
  205. career : '请输入您的职位',
  206. companyName : '请输入企业名称',
  207. companyAddress : '请选择企业地址',
  208. legalPerson : '请输入企业法人',
  209. socialCode : '请输入社会统一信用代码',
  210. businessLicense : '工商营业执照不能为空',
  211. })) {
  212. return
  213. }
  214. // 清理不需要给后端的字段
  215. delete this.form.createBy
  216. delete this.form.createTime
  217. delete this.form.updateBy
  218. delete this.form.updateTime
  219. delete this.form.userId
  220. this.$api('addAuthenticationCompany', this.form, res =>{
  221. if(res.code == 200){
  222. uni.showToast({
  223. title:'提交成功!等待审核',
  224. icon: 'none'
  225. })
  226. setTimeout(uni.navigateBack,1000,-1)
  227. }
  228. })
  229. },
  230. //地图上选择地址
  231. selectAddr() {
  232. uni.chooseLocation({
  233. success: (res) => {
  234. //经纬度信息
  235. this.form.latitude = res.latitude
  236. this.form.longitude = res.longitude
  237. // if (res.name) { //用户直接选择城市的逻辑
  238. if (!res.address && res.name) { //用户直接选择城市的逻辑
  239. return this.form.companyAddress = res.name
  240. }
  241. if (res.address || res.name) {
  242. return this.form.companyAddress = res.address + res.name
  243. }
  244. this.form.companyAddress = '' //用户啥都没选就点击勾选
  245. this.form.latitude = ''
  246. this.form.longitude = ''
  247. }
  248. });
  249. },
  250. }
  251. }
  252. </script>
  253. <style scoped lang="scss">
  254. .page{
  255. background-color: #fff;
  256. min-height: 100vh;
  257. padding-bottom: 100rpx;
  258. .info-tips{
  259. width: 100%;
  260. padding: 30rpx 0;
  261. background-color: #f3f3f3;
  262. text-align: center;
  263. text{
  264. color: $uni-color;
  265. }
  266. }
  267. .form {
  268. padding: 30rpx;
  269. .form-item{
  270. .label{
  271. padding: 20rpx 0;
  272. }
  273. .form-input{
  274. border: 1px solid $uni-color;
  275. background: rgba($uni-color, 0.1);
  276. padding: 10rpx 20rpx;
  277. font-size: 28rpx;
  278. }
  279. .title{
  280. font-weight: 900;
  281. margin-top: 50rpx;
  282. padding: 10rpx 0;
  283. }
  284. .tips{
  285. font-size: 26rpx;
  286. color: #777;
  287. padding-bottom: 20rpx;
  288. }
  289. }
  290. .upload{
  291. display: flex;
  292. justify-content: center;
  293. align-items: center;
  294. width: 690rpx;
  295. background-color: #f3f3f3;
  296. border-radius: 10rpx;
  297. .btn-add{
  298. margin: auto;
  299. padding: 10rpx 20rpx;
  300. background-color: $uni-color;
  301. color: #fff;
  302. border-radius: 10rpx;
  303. }
  304. }
  305. }
  306. .config{
  307. font-size: 26rpx;
  308. line-height: 40rpx;
  309. width: 100%;
  310. display: flex;
  311. justify-content: center;
  312. .content{
  313. width: 100%;
  314. display: flex;
  315. flex-direction: column;
  316. align-items: center;
  317. }
  318. text{
  319. color: $uni-color;
  320. }
  321. }
  322. }
  323. </style>