特易招,招聘小程序
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.

354 lines
7.6 KiB

8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 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. delete this.form.validTime
  221. this.$api('addAuthenticationCompany', this.form, res =>{
  222. if(res.code == 200){
  223. uni.showToast({
  224. title:'提交成功!等待审核',
  225. icon: 'none'
  226. })
  227. setTimeout(uni.navigateBack,1000,-1)
  228. }
  229. })
  230. },
  231. //地图上选择地址
  232. selectAddr() {
  233. uni.chooseLocation({
  234. success: (res) => {
  235. //经纬度信息
  236. this.form.latitude = res.latitude
  237. this.form.longitude = res.longitude
  238. // if (res.name) { //用户直接选择城市的逻辑
  239. if (!res.address && res.name) { //用户直接选择城市的逻辑
  240. return this.form.companyAddress = res.name
  241. }
  242. if (res.address || res.name) {
  243. return this.form.companyAddress = res.address + res.name
  244. }
  245. this.form.companyAddress = '' //用户啥都没选就点击勾选
  246. this.form.latitude = ''
  247. this.form.longitude = ''
  248. }
  249. });
  250. },
  251. }
  252. }
  253. </script>
  254. <style scoped lang="scss">
  255. .page{
  256. background-color: #fff;
  257. min-height: 100vh;
  258. padding-bottom: 100rpx;
  259. .info-tips{
  260. width: 100%;
  261. padding: 30rpx 0;
  262. background-color: #f3f3f3;
  263. text-align: center;
  264. text{
  265. color: $uni-color;
  266. }
  267. }
  268. .form {
  269. padding: 30rpx;
  270. .form-item{
  271. .label{
  272. padding: 20rpx 0;
  273. }
  274. .form-input{
  275. border: 1px solid $uni-color;
  276. background: rgba($uni-color, 0.1);
  277. padding: 10rpx 20rpx;
  278. font-size: 28rpx;
  279. }
  280. .title{
  281. font-weight: 900;
  282. margin-top: 50rpx;
  283. padding: 10rpx 0;
  284. }
  285. .tips{
  286. font-size: 26rpx;
  287. color: #777;
  288. padding-bottom: 20rpx;
  289. }
  290. }
  291. .upload{
  292. display: flex;
  293. justify-content: center;
  294. align-items: center;
  295. width: 690rpx;
  296. background-color: #f3f3f3;
  297. border-radius: 10rpx;
  298. .btn-add{
  299. margin: auto;
  300. padding: 10rpx 20rpx;
  301. background-color: $uni-color;
  302. color: #fff;
  303. border-radius: 10rpx;
  304. }
  305. }
  306. }
  307. .config{
  308. font-size: 26rpx;
  309. line-height: 40rpx;
  310. width: 100%;
  311. display: flex;
  312. justify-content: center;
  313. .content{
  314. width: 100%;
  315. display: flex;
  316. flex-direction: column;
  317. align-items: center;
  318. }
  319. text{
  320. color: $uni-color;
  321. }
  322. }
  323. }
  324. </style>