addqy.vue 11 KB

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