addqy.vue 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316
  1. <template>
  2. <view class="rzbox">
  3. <uni-forms ref="form" :model="user">
  4. <view class="f15 co23 fw5" @click="getaddImage(0)">请添加申请人相关企业 <text>(可添加多个)</text></view>
  5. <view v-for="(ite,idx) in qylist" :key="idx" class="mt24">
  6. <view class="flexcc mb20">
  7. <view class="carbox" @click="getaddImage(idx)">
  8. <image :src="cardq" class="img"></image>
  9. <view class="tit">营业执照</view>
  10. </view>
  11. </view>
  12. <view class="mb28">
  13. <view class="cardtip">企业信息会跟进上传的营业执照图片自动识别,支持手动输入。</view>
  14. <view class="cardtip">如果识别错误,可尝试再次拍照</view>
  15. </view>
  16. <!-- style="color: red;" -->
  17. <view class="flexe">
  18. <view v-if="idx!=0" @click="getDel(idx)" class="delimg flexc"><image :src="delimg"></image>删除企业</view>
  19. </view>
  20. <!-- 身份信息 -->
  21. <uni-forms-item label="统一社会信用代码" name="creditCode">
  22. <uni-easyinput v-model="ite.creditCode" disabled :inputBorder='false' placeholder="自动识别" />
  23. </uni-forms-item>
  24. <uni-forms-item label="企业名称" name="enterpriseName">
  25. <uni-easyinput v-model="ite.enterpriseName" disabled :inputBorder='false' placeholder="自动识别" />
  26. </uni-forms-item>
  27. <block v-if="zheList[idx].zheflag">
  28. <uni-forms-item label="企业类型" name="enterpriseType">
  29. <uni-easyinput v-model="ite.enterpriseType" disabled :inputBorder='false' placeholder="自动识别" />
  30. </uni-forms-item>
  31. <uni-forms-item label="企业地址" name="enterpriseAddress">
  32. <uni-easyinput type="textarea" disabled :autoHeight="true" v-model="ite.enterpriseAddress" :inputBorder='false'
  33. placeholder="自动识别" />
  34. </uni-forms-item>
  35. <uni-forms-item label="法人姓名" name="legalName">
  36. <uni-easyinput v-model="ite.legalName" disabled :inputBorder='false' placeholder="自动识别" />
  37. </uni-forms-item>
  38. <uni-forms-item label="注册资金" name="registeredCapital">
  39. <uni-easyinput v-model="ite.registeredCapital" disabled :inputBorder='false' placeholder="自动识别" />
  40. </uni-forms-item>
  41. <uni-forms-item label="成立日期" name="establishData">
  42. <uni-easyinput v-model="ite.establishData" disabled :inputBorder='false' placeholder="自动识别" />
  43. </uni-forms-item>
  44. <uni-forms-item label="营业期限" name="businessTerm">
  45. <uni-easyinput v-model="ite.businessTerm" disabled :inputBorder='false' placeholder="自动识别" />
  46. </uni-forms-item>
  47. <uni-forms-item label="经营范围" name="businessScope">
  48. <uni-easyinput type="textarea" disabled :autoHeight="true" v-model="ite.businessScope" :inputBorder='false'
  49. placeholder="自动识别" />
  50. </uni-forms-item>
  51. </block>
  52. <view class="upbox" :class="zheList[idx].zheflag?'':'act'" @click="getZheFn(idx)">
  53. <image :src="upimg"></image>
  54. <view>{{zheList[idx].zheflag?'折叠企业信息':'展开企业信息'}}</view>
  55. </view>
  56. </view>
  57. </uni-forms>
  58. <view class="rzbfot">
  59. <view class="rzbtns bgb" @click="getAddQyFn">
  60. <image :src="addqy"></image>添加企业
  61. </view>
  62. <view class="rzbtns bga" @click="getNext">提交</view>
  63. </view>
  64. </view>
  65. </template>
  66. <script>
  67. import config from '@/config'
  68. const baseUrl = config.baseUrl
  69. import {uploadmore} from '@/utils/common.js'
  70. import {getOcrBusinessLicense} from "@/api/mine/card.js"
  71. import {checkPermi,checkRole} from "@/utils/permission"; // 权限判断函数
  72. export default {
  73. components: {},
  74. data() {
  75. return {
  76. cardq: require('@/work/static/images/prove/cardq.png'),
  77. addqy: require('@/work/static/images/prove/addqy.png'),
  78. delimg: require('@/work/static/images/delb.png'),
  79. upimg: require('@/work/static/images/up.png'),
  80. user: {
  81. },
  82. zheList:[{zheflag:true}],
  83. qylist: [{
  84. // "idCard":"",//身份证号码
  85. // "realName":"",//真实姓名
  86. "creditCode":"",//统一社会信用代码
  87. "enterpriseName":"",//企业名称
  88. "enterpriseType":"",//企业类型
  89. "enterpriseAddress":"",//企业地址
  90. "legalName":"",//法人姓名
  91. "registeredCapital":"",//注册资金
  92. "establishData":"",//成立日期
  93. "businessTerm":"",//营业期限
  94. "businessScope":"",//经营范围
  95. }],
  96. }
  97. },
  98. methods: {
  99. checkPermi,
  100. checkRole,
  101. getNext() {
  102. this.$tab.navigateTo("/work/pages/prove/zctype")
  103. },
  104. getZheFn(idx){
  105. this.zheList[idx].zheflag=!this.zheList[idx].zheflag
  106. },
  107. getAddQyFn(){
  108. var obj = {
  109. "idCard":"",
  110. "realName":"",
  111. "creditCode":"",
  112. "enterpriseName":"",
  113. "enterpriseType":"",
  114. "enterpriseAddress":"",
  115. "legalName":"",
  116. "registeredCapital":"",
  117. "establishData":"",
  118. "businessTerm":"",
  119. "businessScope":"",
  120. }
  121. this.qylist.push(obj);
  122. var zheobj={zheflag:true}
  123. this.zheList.push(zheobj);
  124. },
  125. getDel(idx) {
  126. var that = this;
  127. uni.showModal({
  128. title: '确认删除',
  129. content: "是否确认删除",
  130. cancelText: '取消删除',
  131. confirmText: '确认删除',
  132. success: function(res) {
  133. if (res.confirm) {
  134. that.qylist.splice(idx, 1)
  135. that.zheList.splice(idx, 1)
  136. } else if (res.cancel) {
  137. }
  138. }
  139. });
  140. },
  141. getaddImage(idx){
  142. let that = this;
  143. var rs=['D:\\zhizhao.jpg']
  144. if(rs&&rs.length>0){
  145. var obj={
  146. // url:baseUrl+rs.join(',')
  147. url:rs.join(','),
  148. idx:idx
  149. }
  150. that.getOcrBusinessLicense(obj)
  151. }
  152. return
  153. let file =[],count=9
  154. // if(e=='zj'){
  155. // file = that.zjfile;
  156. // count=9
  157. // }else{
  158. // file = that.mjfile;
  159. // count=9
  160. // }
  161. uni.chooseImage({
  162. count: 1,
  163. success:function(res){
  164. let img= res.tempFilePaths;
  165. if(img.length + file.length > count){
  166. uni.showToast({
  167. title: '最多上传'+count+'张图片',
  168. icon: 'none',
  169. duration: 2000
  170. })
  171. }else{
  172. let imglen = res.tempFilePaths.length;
  173. var fuwufile = [];
  174. uploadmore('/common/upload',img,0,0,0,imglen,fuwufile,function(rs){
  175. if(rs&&rs.length>0){
  176. var obj={
  177. url:baseUrl+rs.join(','),
  178. idx:idx
  179. }
  180. that.getOcrBusinessLicense(obj)
  181. }
  182. })
  183. }
  184. }
  185. });
  186. },
  187. getOcrBusinessLicense(obj){
  188. var that=this;
  189. var idx=obj.idx;
  190. // var obj={
  191. // 'businessScope':"互联网数据服务;大数据服务;数据处理和存储支持服务;卫星遥感数据处理;",
  192. // 'businessTerm': "长期",
  193. // 'creditCode': "91340824MA2UGYLP60",
  194. // 'enterpriseAddress': "安徽省安庆市潜山市经济开发区朝阳路0008号",
  195. // 'enterpriseName': "安徽中新云计算有限公司",
  196. // 'enterpriseType': "有限责任公司(自然人投资或控股)",
  197. // 'establishData': "2020年02月24日",
  198. // 'legalName': "江瑾",
  199. // 'registeredCapital': "6000万元",
  200. // }
  201. // that.qylist.splice(idx,1,obj)
  202. // return
  203. var params={
  204. image:obj.url,
  205. idCardSide:obj.type
  206. }
  207. getOcrBusinessLicense(params).then(res=>{
  208. if(res.code==200){
  209. that.qylist.splice(idx,1,res.data)
  210. }
  211. })
  212. },
  213. getSubmit() {
  214. var that = this;
  215. this.$refs.form.validate().then(res => {
  216. var params = JSON.parse(JSON.stringify(this.datainfob))
  217. var list=this.classlist;
  218. var newArr = []
  219. var a=0;
  220. Object.keys(list).some((key) => {
  221. if(!list[key].studentName){
  222. a=1;
  223. this.$toast("请输入学生姓名" )
  224. return
  225. }else if(!list[key].studentNumber){
  226. a=1;
  227. this.$toast("请输入学生身份证号" )
  228. return
  229. }else if (list[key].schoolName && list[key].className) {
  230. let _IDRe18 =
  231. /^([1-6][1-9]|50)\d{4}(18|19|20)\d{2}((0[1-9])|10|11|12)(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/
  232. let _IDre15 = /^([1-6][1-9]|50)\d{4}\d{2}((0[1-9])|10|11|12)(([0-2][1-9])|10|20|30|31)\d{3}$/
  233. // 校验身份证:
  234. if (_IDRe18.test(list[key].studentNumber) || _IDre15.test(list[key].studentNumber)) {
  235. newArr.push(list[key])
  236. }else{
  237. a=1;
  238. this.$toast('请输入学生'+ list[key].studentName + "正确身份证号")
  239. return
  240. }
  241. } else if (list[key].schoolName && !list[key].className) {
  242. a=1;
  243. this.$toast("请选择" + list[key].schoolName + "的班级")
  244. return
  245. } else if(!list[key].schoolName){
  246. a=1;
  247. this.$toast("请选择学校")
  248. return
  249. }
  250. })
  251. if(a==1){
  252. return
  253. }
  254. params.registerParentsStudentList = JSON.parse(JSON.stringify(newArr))
  255. this.$emit('getparentsregFn',params)
  256. // this.$tab.navigateTo(`/mine/pages/mine/success`)
  257. })
  258. },
  259. }
  260. }
  261. </script>
  262. <style lang="scss" scoped>
  263. page{
  264. background:#ffffff;
  265. }
  266. .rzbox /deep/ .uni-forms-item{min-height: 116rpx;box-sizing: border-box;display: flex;align-items: center;margin-bottom: 0;border-bottom: 2rpx solid #E6E6E6;padding:22rpx 0;}
  267. .rzbox /deep/ .uni-forms-item__label{font-weight: bold;font-size: 30rpx;color: #222327;flex: 0 0 auto;width: auto !important;}
  268. .rzbox /deep/ .uni-easyinput{flex: 1;text-align: right;font-size: 30rpx;color: #222327;}
  269. .rzbox /deep/ .uni-easyinput__content-textarea{min-height: 40rpx;font-size: 30rpx;}
  270. .rzbox /deep/ .uni-easyinput__placeholder-class{font-size: 30rpx;color: #AAAAAA;}
  271. .rzbox /deep/ .uni-input-input{font-size: 30rpx;}
  272. .rzbox /deep/ .uni-textarea-textarea{font-size: 30rpx;}
  273. .rzbox /deep/ .is-disabled{color: #222327;background-color: #ffffff !important;}
  274. .rzbox{padding: 44rpx 34rpx 324rpx;
  275. .carbox{width: 320rpx;border-radius: 14rpx;overflow: hidden;
  276. .img{width: 320rpx;height: 216rpx;}
  277. .tit{width: 100%;height: 60rpx;background: #A0C6D5;text-align: center;font-weight: 500;
  278. font-size: 26rpx;line-height: 60rpx;
  279. color: #FFFFFF;}
  280. }
  281. .cardtip{font-weight: 500;font-size: 24rpx;color: #999999;line-height: 40rpx;}
  282. .inttxet{font-weight: 500;font-size: 30rpx;flex: 1;text-align: right;color: #222327;}
  283. .formtip{font-weight: 500;font-size: 24rpx;color: #FF6969;margin-top: 40rpx;text-align: right;}
  284. .upbox{display: flex;flex-direction: column;align-items: center;padding: 32rpx 0 28rpx;
  285. image{width: 30rpx;height: 26rpx;margin-bottom: 18rpx;transition: all 0.3s;}
  286. view{font-weight: 500;font-size: 24rpx;color: #AAAAAA;}
  287. &.act{
  288. image{transform: rotate(180deg);}
  289. }
  290. }
  291. .delimg{font-weight: 500;font-size: 26rpx;color: #FF6969;
  292. image{width: 26rpx;height: 26rpx;margin-right: 12rpx;}
  293. }
  294. }
  295. .rzbfot{
  296. .rzbtns{width: 100%;border-radius:10rpx;height: 100rpx;display: flex;align-items: center;justify-content: center;font-weight: bold;font-size: 30rpx;
  297. &.bga{background: #00A9F0;color: #FFFFFF;}
  298. &.bgb{background:#EBF3FF;color: $com-cd3;margin-bottom: 28rpx;
  299. image{width: 30rpx;height: 30rpx;margin-right: 10rpx;}
  300. }
  301. }
  302. }
  303. </style>