addclues.vue 45 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279
  1. <template>
  2. <view :style="'padding-bottom:' + bottom ">
  3. <view class='zhanline'></view>
  4. <!-- 第一页 -->
  5. <view v-show="type==1" >
  6. <uni-forms class='inform' ref="firstform" :rules="firstrules" :modelValue="datainfo">
  7. <view class="info_tit">基本信息</view>
  8. <uni-forms-item name="sbdw" style='margin-bottom: 0;'>
  9. <view class="flexc infolist">
  10. <view class="f16 fw c34 flex0 pr pl12"><text class="cir">*</text>上报单位</view>
  11. <input placeholder="请输入上报单位" v-model="datainfo.sbdw" class="f16 c34 flex1 txr"/>
  12. </view>
  13. </uni-forms-item>
  14. <uni-forms-item name="tbrq" style='margin-bottom: 0;' >
  15. <view class="flexc infolist">
  16. <view class="f16 fw c34 flex0 pr pl12"><text class="cir">*</text>填表日期</view>
  17. <view class="infolist_a">{{datainfo.tbrq}}</view>
  18. <!-- <picker mode="date" :value="datainfo.tbrq" :end="currentdate" class="infolist_a" @change='bindDateChange'>
  19. <view :class="datainfo.tbrq?'':'f16 co80'">{{datainfo.tbrq||"请选择填表日期"}}</view>
  20. </picker> -->
  21. </view>
  22. </uni-forms-item>
  23. <uni-forms-item name="zszxfzr" style='margin-bottom: 0;'>
  24. <view class="flexc infolist">
  25. <view class="f16 fw c34 flex0 pr pl12"><text class="cir">*</text>项目负责人</view>
  26. <input placeholder="请输入项目负责人姓名" v-model="datainfo.zszxfzr" class="f16 c34 flex1 txr"/>
  27. </view>
  28. </uni-forms-item>
  29. <view class="info_tit">投资方信息</view>
  30. <uni-forms-item name="" style='margin-bottom: 0;'>
  31. <view class="flexc infolist">
  32. <view class="flexc infolist_add" @click="getAdd">
  33. <image :src="addimg"></image>
  34. <view>新增企业/自然人</view>
  35. </view>
  36. <view class="f16 fw c34 flex0 pr pl12"><text class="cir">*</text>添加企业/自然人</view>
  37. <view class="flex1 txr ">
  38. <text class="uni-calendar__header-text" v-if="qiziflag"></text>
  39. <text class="f16 co80" v-else>请先选择添加企业/自然人</text>
  40. <!-- <image :src="delimg" class="delimg"></image> -->
  41. </view>
  42. </view>
  43. </uni-forms-item>
  44. <!-- 企业自然人展示 -->
  45. <view class="qibox" v-if="qiziflag">
  46. <block v-if="qiaddlist.length">
  47. <view class="flexc infolist qi" v-for="(ite,idx) in qiaddlist" :key="'infb-'+idx" @click="getDetailQi(ite)">
  48. <view class="f15 fw c34 flex0 pr pl12 ">企业</view>
  49. <view class="flex1 txr flexc over ml8">
  50. <text class="flex1 f15 c34 over">{{ite.companyName}}/{{ite.companyAddress}}/{{ite.companyLegal}}/{{ite.companyCode}}/{{ite.phone}}</text>
  51. <view class="delimg flex0" @click.stop="getDelQi(ite.id,idx)">
  52. <image :src="delimg"></image>
  53. </view>
  54. </view>
  55. </view>
  56. </block>
  57. <block v-if="ziaddlist.length">
  58. <view class="flexc infolist qi" v-for="(ite,idx) in ziaddlist" :key="'infa-'+idx" @click="getDetailZi(ite)">
  59. <view class="f15 fw c34 flex0 pr pl12 ">自然人</view>
  60. <view class="flex1 txr flexc over ml8">
  61. <text class="flex1 f15 c34 over">{{ite.name}}/{{ite.address}}/{{ite.phone}}</text>
  62. <view class="delimg flex0" @click.stop="getDelZi(ite.id,idx)">
  63. <image :src="delimg"></image>
  64. </view>
  65. </view>
  66. </view>
  67. </block>
  68. </view>
  69. <uni-forms-item name="tzrxm" style='margin-bottom: 0;'>
  70. <view class="flexc infolist">
  71. <view class="f16 fw c34 flex0 pr pl12"><text class="cir">*</text>投资人姓名</view>
  72. <input placeholder="请输入投资人姓名" v-model="datainfo.tzrxm" class="f16 c34 flex1 txr"/>
  73. </view>
  74. </uni-forms-item>
  75. <uni-forms-item name="tzrzw" style='margin-bottom: 0;'>
  76. <view class="flexc infolist">
  77. <view class="f16 fw c34 flex0 pr pl12">投资人职务</view>
  78. <input placeholder="请输入投资人职务" v-model="datainfo.tzrzw" class="f16 c34 flex1 txr"/>
  79. </view>
  80. </uni-forms-item>
  81. <uni-forms-item name="tzrdh" style='margin-bottom: 0;'>
  82. <view class="flexc infolist">
  83. <view class="f16 fw c34 flex0 pr pl12">联系方式</view>
  84. <input placeholder="请输入联系方式" v-model="datainfo.tzrdh" class="f16 c34 flex1 txr"/>
  85. </view>
  86. </uni-forms-item>
  87. <uni-forms-item name="gtzzrsfzhm" style='margin-bottom: 0;'>
  88. <view class="flexc infolist">
  89. <view class="f16 fw c34 flex0 pr pl12">身份证号</view>
  90. <input placeholder="请输入个体投资人身份证号" v-model="datainfo.gtzzrsfzhm" class="f16 c34 flex1 txr"/>
  91. </view>
  92. </uni-forms-item>
  93. <!-- <uni-forms-item name="qytzrxyzdm" style='margin-bottom: 0;'>
  94. <view class="flexc infolist">
  95. <view class="f16 fw c34 flex0 pr pl12">信用证代码</view>
  96. <input placeholder="请输入企业投资人信用证代码" v-model="datainfo.qytzrxyzdm" class="f16 c34 flex1 txr"/>
  97. </view>
  98. </uni-forms-item> -->
  99. </uni-forms>
  100. <view class="infobtn flexcc cf f16 f500" @click="getNext(1)">下一步</view>
  101. <!-- 弹框 -->
  102. <view class="bgbox" @click="getClose" v-if="addflag"></view>
  103. <view class="fixedbox" v-if="addflag">
  104. <image :src="closeimg" class="choseimg" @click="getClose"></image>
  105. <view class="top">添加信息</view>
  106. <view class="boxs">
  107. <view class="mb30">
  108. <view class="flexc">
  109. <view class="flexcc boxcen" :class="shenflag?'act':''" @click="shenflag=true">
  110. <image :src="gcheckimg" v-if="shenflag"></image>
  111. <image :src="checknimg" v-else></image>
  112. <view :class="shenflag?'co28':''">添加企业</view>
  113. </view>
  114. <view class="flexcc boxcen" :class="shenflag?'':'act'" @click="shenflag=false">
  115. <image :src="checknimg" v-if="shenflag"></image>
  116. <image :src="gcheckimg" v-else></image>
  117. <view :class="shenflag?'':'co28'">添加自然人</view>
  118. </view>
  119. </view>
  120. </view>
  121. <!-- 企业 -->
  122. <uni-forms ref="qiform" :rules="qirules" :modelValue="qiinfo" v-show='shenflag'>
  123. <uni-forms-item name="companyName" style='margin-bottom: 0;'>
  124. <view class="flexc infolist pr">
  125. <view class="f16 fw c34 flex0 pr pl12"><text class="cir">*</text>企业名称</view>
  126. <input @input="getInput" @blur="getBlur" placeholder="请输入企业名称" v-model="qiinfo.companyName" class="f16 c34 flex1 txr"/>
  127. </view>
  128. <!-- 企业联想 -->
  129. <view class="addrSearch_list" v-if="qilianflag">
  130. <view class="triangle"></view>
  131. <!-- 加载 -->
  132. <uni-load-more v-if="loading" :status="status" :content-text="contentText" />
  133. <!-- 有数据 -->
  134. <view class="addrSearch_item" v-if="qilist.length" v-for="(ite, idx) in qilist" :key="'indo-'+idx" @click="handleAddrClick(ite)">
  135. <view class="wrap_text" >{{ite.Name}}</view>
  136. </view>
  137. </view>
  138. </uni-forms-item>
  139. <uni-forms-item name="companyAddress" style='margin-bottom: 0;'>
  140. <view class="flexc infolist">
  141. <view class="f16 fw c34 flex0 pr pl12"><text class="cir">*</text>企业所在地</view>
  142. <input placeholder="请输入企业所在地" v-model="qiinfo.companyAddress" class="f16 c34 flex1 txr"/>
  143. </view>
  144. </uni-forms-item>
  145. <uni-forms-item name="companyLegal" style='margin-bottom: 0;'>
  146. <view class="flexc infolist">
  147. <view class="f16 fw c34 flex0 pr pl12"><text class="cir">*</text>法人代表姓名</view>
  148. <input placeholder="请输入法人代表姓名" v-model="qiinfo.companyLegal" class="f16 c34 flex1 txr"/>
  149. </view>
  150. </uni-forms-item>
  151. <uni-forms-item name="companyCode" style='margin-bottom: 0;'>
  152. <view class="flexc infolist">
  153. <view class="f16 fw c34 flex0 pr pl12"><text class="cir">*</text>统一社会信用代码</view>
  154. <input placeholder="请输入统一社会信用代码" v-model="qiinfo.companyCode" class="f16 c34 flex1 txr"/>
  155. </view>
  156. </uni-forms-item>
  157. <uni-forms-item name="phone" style='margin-bottom: 0;'>
  158. <view class="flexc infolist">
  159. <view class="f16 fw c34 flex0 pr pl12"><text class="cir">*</text>联系方式</view>
  160. <input placeholder="请输入联系方式" v-model="qiinfo.phone" class="f16 c34 flex1 txr"/>
  161. </view>
  162. </uni-forms-item>
  163. </uni-forms>
  164. <!-- 自然人 -->
  165. <uni-forms ref="ziform" :rules="zirules" :modelValue="ziinfo" v-show="!shenflag">
  166. <uni-forms-item name="idcode" style='margin-bottom: 0;'>
  167. <view class="flexc infolist">
  168. <view class="f16 fw c34 flex0 pr pl12">身份证号码</view>
  169. <input placeholder="请输入身份证号码" v-model="ziinfo.idcode" class="f16 c34 flex1 txr"/>
  170. </view>
  171. </uni-forms-item>
  172. <uni-forms-item name="name" style='margin-bottom: 0;'>
  173. <view class="flexc infolist">
  174. <view class="f16 fw c34 flex0 pr pl12"><text class="cir">*</text>姓名</view>
  175. <input placeholder="请输入姓名" v-model="ziinfo.name" class="f16 c34 flex1 txr"/>
  176. </view>
  177. </uni-forms-item>
  178. <uni-forms-item name="address" style='margin-bottom: 0;'>
  179. <view class="flexc infolist">
  180. <view class="f16 fw c34 flex0 pr pl12"><text class="cir">*</text>自然人所在地</view>
  181. <input placeholder="请输入自然人所在地" v-model="ziinfo.address" class="f16 c34 flex1 txr"/>
  182. </view>
  183. </uni-forms-item>
  184. <uni-forms-item name="phone" style='margin-bottom: 0;'>
  185. <view class="flexc infolist">
  186. <view class="f16 fw c34 flex0 pr pl12"><text class="cir">*</text>联系方式</view>
  187. <input placeholder="请输入联系方式" v-model="ziinfo.phone" class="f16 c34 flex1 txr"/>
  188. </view>
  189. </uni-forms-item>
  190. </uni-forms>
  191. </view>
  192. <view class="fixedbtn" @click="getqySubmit">确认</view>
  193. </view>
  194. </view>
  195. <!-- 第二页 -->
  196. <view v-show="type==2">
  197. <uni-forms class='inform' ref="twoform" :rules="tworules" :modelValue="datainfo">
  198. <view class="info_tit">项目信息</view>
  199. <uni-forms-item name="xmbh" style='margin-bottom: 0;'>
  200. <view class="flexc infolist">
  201. <view class="f16 fw c34 flex0 pr pl12">项目编号</view>
  202. <input placeholder="请输入项目编号" disabled="true" v-model="datainfo.xmbh" class="f16 c34 flex1 txr"/>
  203. </view>
  204. </uni-forms-item>
  205. <uni-forms-item name="xmxsmc" style='margin-bottom: 0;'>
  206. <view class="flexc infolist">
  207. <view class="f16 fw c34 flex0 pr pl12"><text class="cir">*</text>项目线索名称</view>
  208. <input placeholder="请输入项目线索名称" v-model="datainfo.xmxsmc" class="f16 c34 flex1 txr"/>
  209. </view>
  210. </uni-forms-item>
  211. <uni-forms-item name="sfwlhxxxm" style='margin-bottom: 0;'>
  212. <view class="flexc infolist">
  213. <view class="f16 fw c34 flex0 pr pl12"><text class="cir">*</text>是否为领航信息项目</view>
  214. <picker range-key='label' :value="lhindex" :range="lhlist" class="infolist_a" @change='bindDateChangea'>
  215. <view :class="sfwlhxxxm?'':'f16 co80'">{{sfwlhxxxm||"请选择是否为领航信息"}}</view>
  216. </picker>
  217. </view>
  218. </uni-forms-item>
  219. <uni-forms-item name="yzssName" style='margin-bottom: 0;'>
  220. <view class="flexc infolist">
  221. <view class="f16 fw c34 flex0 pr pl12"><text class="cir">*</text>引资省市</view>
  222. <input placeholder="请输入引资省市" v-model="datainfo.yzssName" class="f16 c34 flex1 txr"/>
  223. </view>
  224. </uni-forms-item>
  225. <uni-forms-item name="ntze" style='margin-bottom: 0;'>
  226. <view class="flexc infolist">
  227. <view class="f16 fw c34 flex0 pr pl12"><text class="cir">*</text>拟投资额 (亿元)</view>
  228. <input placeholder="请输入拟投资额" type="number" v-model="datainfo.ntze" class="f16 c34 flex1 txr"/>
  229. </view>
  230. </uni-forms-item>
  231. <uni-forms-item name="cylxName" style='margin-bottom: 0;'>
  232. <view class="flexc infolist">
  233. <view class="f16 fw c34 flex0 pr pl12"><text class="cir">*</text>产业类型</view>
  234. <picker range-key='dictLabel' :value="indusindex" :range="industrytype" class="infolist_a" @change='bindDateChangeb'>
  235. <view :class="datainfo.cylxName?'':'f16 co80'">{{datainfo.cylxName||"请选择产业类型"}}</view>
  236. </picker>
  237. </view>
  238. </uni-forms-item>
  239. <uni-forms-item name="xmlb" style='margin-bottom: 0;'>
  240. <view class="flexc infolist">
  241. <view class="f16 fw c34 flex0 pr pl12"><text class="cir">*</text>项目类别</view>
  242. <!-- 多选 -->
  243. <view :class="prolaber?'infolist_a':'flex1 txr f16 co80'" @click="getMoreFn(1)">{{prolaber||"请选择项目类别"}}</view>
  244. </view>
  245. </uni-forms-item>
  246. <uni-forms-item name="nlhd" style='margin-bottom: 0;'>
  247. <view class="flexc infolist">
  248. <view class="f16 fw c34 flex0 pr pl12"><text class="cir">*</text>拟落户地</view>
  249. <picker range-key='dictLabel' :value="nlhdindex" :range="location" class="infolist_a" @change='bindDateChangec'>
  250. <view :class="datainfo.nlhd?'':'f16 co80'">{{datainfo.nlhd||"请选择拟落户地"}}</view>
  251. </picker>
  252. </view>
  253. </uni-forms-item>
  254. <uni-forms-item name="qybj" style='margin-bottom: 0;'>
  255. <view class="flexc infolist">
  256. <view class="f16 fw c34 flex0 pr pl12"><text class="cir">*</text>企业背景</view>
  257. <view :class="qybglaber?'infolist_a':'flex1 txr f16 co80'" @click="getMoreFn(2)">{{qybglaber||"请选择企业背景"}}</view>
  258. </view>
  259. </uni-forms-item>
  260. <uni-forms-item name="xmjj" style='margin-bottom: 0;'>
  261. <view class="flexc infolist" style="align-items: flex-start;">
  262. <view class="f16 fw c34 flex0 pr pl12"><text class="cir">*</text>项目简介</view>
  263. <uni-easyinput :inputBorder='false' type="textarea" v-model="datainfo.xmjj" placeholder="( 含投资额、固定资产投资额、投资强度、投资方式、预期效益、用地规模、各类建筑面积、入驻需求、需哪些要素部门予以保障)" placeholderStyle='text-align: right;font-size:32rpx;color:#808080'></uni-easyinput>
  264. </view>
  265. </uni-forms-item>
  266. <uni-forms-item name="xmjzqk" style='margin-bottom: 0;'>
  267. <view class="flexc infolist" style="align-items: flex-start;">
  268. <view class="f16 fw c34 flex0 pr pl12"><text class="cir">*</text>项目进展</view>
  269. <uni-easyinput :inputBorder='false' type="textarea" v-model="datainfo.xmjzqk" placeholder="请输入项目进展情况" placeholderStyle='text-align: right;font-size:32rpx;color:#808080'></uni-easyinput>
  270. </view>
  271. </uni-forms-item>
  272. <uni-forms-item name="czwt" style='margin-bottom: 0;'>
  273. <view class="flexc infolist" style="align-items: flex-start;">
  274. <view class="f16 fw c34 flex0 pr pl12">存在问题</view>
  275. <uni-easyinput :inputBorder='false' type="textarea" v-model="datainfo.czwt" placeholder="请输入存在问题" placeholderStyle='text-align: right;font-size:32rpx;color:#808080'></uni-easyinput>
  276. </view>
  277. </uni-forms-item>
  278. </uni-forms>
  279. <view class="infobtn flexcc cf f16 f500" @click="getNext(2)">下一步</view>
  280. <!-- 弹框 -->
  281. <view class="bgbox" @click="getClose" v-if="moretype>0"></view>
  282. <!-- -->
  283. <view class="fixedbox" v-if="moretype==1">
  284. <image :src="closeimg" class="choseimg" @click="getClose"></image>
  285. <view class="top">项目类别</view>
  286. <view class="boxs">
  287. <uni-data-checkbox :map="map" multiple @change="checkboxChangea" v-model="provalue" :localdata="projectlist" ></uni-data-checkbox>
  288. </view>
  289. <view class="fixedbtn" @click="proSure">确认</view>
  290. </view>
  291. <view class="fixedbox" v-if="moretype==2">
  292. <image :src="closeimg" class="choseimg" @click="getClose"></image>
  293. <view class="top">企业背景</view>
  294. <view class="boxs">
  295. <uni-data-checkbox :map="map" multiple @change="checkboxChangeb" v-model="qybgvalue" :localdata="backgroundlist" ></uni-data-checkbox>
  296. </view>
  297. <view class="fixedbtn" @click="qySure">确认</view>
  298. </view>
  299. </view>
  300. <!-- 第三页 -->
  301. <view v-show="type==3">
  302. <uni-forms class='inform' ref="thirdform" :rules="thirdrules" :modelValue="datainfo">
  303. <view class="info_tit">首谈信息</view>
  304. <uni-forms-item name="name" style='margin-bottom: 0;'>
  305. <view class="flexc infolist">
  306. <view class="f16 fw c34 flex0 pr pl12"><text class="cir">*</text>首谈人姓名</view>
  307. <input placeholder="请输入首谈人姓名" v-model="datainfo.name" class="f16 c34 flex1 txr"/>
  308. </view>
  309. </uni-forms-item>
  310. <uni-forms-item name="zw" style='margin-bottom: 0;'>
  311. <view class="flexc infolist">
  312. <view class="f16 fw c34 flex0 pr pl12"><text class="cir">*</text>首谈人职务</view>
  313. <input placeholder="请输入首谈人职务" v-model="datainfo.zw" class="f16 c34 flex1 txr"/>
  314. </view>
  315. </uni-forms-item>
  316. <uni-forms-item name="phone" style='margin-bottom: 0;'>
  317. <view class="flexc infolist">
  318. <view class="f16 fw c34 flex0 pr pl12"><text class="cir">*</text>首谈人联系方式</view>
  319. <input placeholder="请输入首谈人联系方式" v-model="datainfo.phone" class="f16 c34 flex1 txr"/>
  320. </view>
  321. </uni-forms-item>
  322. <uni-forms-item name="strq" style='margin-bottom: 0;'>
  323. <view class="flexc infolist">
  324. <view class="f16 fw c34 flex0 pr pl12"><text class="cir">*</text>首谈日期</view>
  325. <picker mode="date" :value="datainfo.strq" :end="currentdate" class="infolist_a" @change='bindDateChanged'>
  326. <view :class="datainfo.strq?'':'f16 co80'">{{datainfo.strq||"请选择首谈日期"}}</view>
  327. </picker>
  328. </view>
  329. </uni-forms-item>
  330. <view class="border"></view>
  331. <!-- <uni-forms-item name="xmjz" style='margin-bottom: 0;'>
  332. <view class="flexc infolist">
  333. <view class="f16 fw c34 flex0 pr pl12">当前进展</view>
  334. <view @click="getAddProject" class="f16 co80 flex1 txr">添加项目进展</view>
  335. </view>
  336. </uni-forms-item> -->
  337. <uni-forms-item name="zsyzFjList" style='margin-bottom: 0;'>
  338. <view class="flexc infolist">
  339. <view class="f16 fw c34 flex0 pr pl12"><text class="cir">*</text>附件</view>
  340. <view class="infolist_a co28">
  341. <!-- 上传附件 -->
  342. <lsj-upload
  343. ref="lsjUpload"
  344. childId="upload1"
  345. :width="width"
  346. :height="height"
  347. :option="option"
  348. :size="size"
  349. :formats="formats"
  350. :debug="debug"
  351. :instantly="instantly"
  352. @progress=""
  353. @uploadEnd="onuploadEnd" >
  354. <view class="btn" :style="{width: width,height: height}">选择附件</view>
  355. </lsj-upload>
  356. </view>
  357. </view>
  358. </uni-forms-item>
  359. <view class=" cldelistbf" v-for="(ite,idx) in filelist" :key='idx'>
  360. <view class="flext f15 c6" @click="getDown(ite.path)">
  361. <view class="imgl"><image :src="wimg" ></image></view>
  362. <view>{{ite.fjName}}</view>
  363. </view>
  364. <!-- 删除 -->
  365. <view class="delimg flex0" @click.stop="getDelFj(idx)">
  366. <image :src="delimg"></image>
  367. </view>
  368. </view>
  369. <view class="infolist_b"><text>*</text>请上传大小不超过<text>100MB</text>格式为<text>doc/xls/ppt/txt/pdf/zip/rar/word</text>的文件</view>
  370. <view class="infolist_b" style="margin-top: 20rpx;">含项目建议书(项目分析报告或投资计划书)、洽谈现场照片等资料</view>
  371. </uni-forms>
  372. <view class="infobtn flexcc cf f16 f500" v-if="checkPermi(['projectV2:sbbzb:add','projectV2:sbbzb:edit'])" @click="getNext(3)">提交</view>
  373. <!-- <third-clue @getNext='getNext' :datainfo='datainfo'></third-clue> -->
  374. </view>
  375. <!-- 弹窗 -->
  376. <pop-up :type="poptype" @getClose='getClose' @getXmSubmitFn='getXmSubmitFn'></pop-up>
  377. </view>
  378. <!-- <uni-easyinput type="textarea" v-model="value" placeholder="请输入内容"></uni-easyinput> -->
  379. </template>
  380. <script>
  381. import firstClue from "@/components/addclue/first.vue"
  382. import secondClue from "@/components/addclue/second.vue"
  383. import thirdClue from "@/components/addclue/third.vue"
  384. import popUp from "@/components/popup/popup.vue"
  385. import {getqichachaSearch,getCommonXmbh,getAddPersion,getPutPersion,getDelPersion,getPersionList,getPersionid,getAddInvestor,getPutInvestor,getDelInvestor,getInvestorList,getInvestorid,getsbbzbAddFn,getsbbzbPutFn} from "@/api/work/addclue.js"
  386. import {getsbbzbdetail} from "@/api/work/clue.js"
  387. import { getDictionaryFn} from '@/api/work/index.js'
  388. import {selectDictLabel} from "@/utils/common.js"
  389. import { checkPermi, checkRole } from "@/utils/permission"; // 权限判断函数
  390. import config from '@/config'
  391. const baseUrl = config.baseUrl
  392. import { getToken } from '@/utils/auth'
  393. export default {
  394. components:{
  395. firstClue,secondClue,thirdClue,popUp
  396. },
  397. data() {
  398. return {
  399. dzvalue: [1,2],
  400. range: [{"dictValue": 1,"dictLabel": "篮球" },{"dictValue": 2,"dictLabel": "足球"},{"dictValue": 3,"dictLabel": "游泳"}],
  401. //附件
  402. option: {
  403. // 上传服务器地址,需要替换为你的接口地址
  404. url: baseUrl+'/common/upload', // 该地址非真实路径,需替换为你项目自己的接口地址
  405. // 上传附件的key
  406. name: 'file',
  407. // 根据你接口需求自定义请求头,默认不要写content-type,让浏览器自适配
  408. header: {
  409. // 示例参数可删除
  410. 'Authorization': 'Bearer ' + getToken(),
  411. },
  412. // 根据你接口需求自定义body参数
  413. formData: {
  414. }
  415. },
  416. // 选择文件后是否立即自动上传,true=选择后立即上传
  417. instantly: true,
  418. // 必传宽高且宽高应与slot宽高保持一致
  419. width: '',
  420. height: '48rpx',
  421. // 限制允许上传的格式,空串=不限制,默认为空
  422. formats: 'doc,docx,xls,ppt,txt,pdf,zip,rar,word',
  423. // 文件上传大小限制
  424. size: 100,
  425. // 文件数量限制 默认10
  426. count: 5,
  427. // 文件回显列表
  428. files: new Map(),
  429. // 微信小程序Map对象for循环不显示,所以转成普通数组,不要问为什么,我也不知道
  430. wxFiles: [],
  431. // 是否打印日志
  432. debug: false,
  433. filelist:[],
  434. selectDate: '',
  435. defaultPhoneHeight: '', //屏幕默认高度
  436. nowPhoneHeight: '', //屏幕现在的高度
  437. bottom:0,
  438. type:1,
  439. poptype:0,//弹窗类型 1暂存/消耗 2审核意见 3批示
  440. pagetype:'add',
  441. status: 'loading',
  442. loading:false,
  443. contentText:{contentrefresh: '加载中',},
  444. datainfo:{
  445. "sbdw":"",//潜山
  446. "tbrq":"",//填表日期
  447. "zszxfzr":"",//项目负责人
  448. "xmbh":"",//项目编号
  449. "xmxsmc":"",//项目线索名称
  450. "sfwlhxxxm":"",//是否为领航信息项目
  451. "yzdqId":"",//引资地区(字典)
  452. "yzdqName":"",//引资地区名称
  453. "ntze":"",//拟投资额(亿元)
  454. "cylxId":"",//产业类型id(字典)
  455. "cylxName":"",//潜山
  456. "xmlb":"",//项目类别
  457. "tzlb":"",//投资类别
  458. "nlhd":"",//拟落户地
  459. "czpt":"",//承载平台
  460. "tzzt":"",//投资主体
  461. "xmjz":"",//项目进展
  462. "xmjzqk":"",//项目进展情况
  463. "gtzzrsfzhm":"",//个体投资人身份证号码
  464. "qybj":"",//企业背景
  465. "tzfjj":"",//投资方简介
  466. "sndxse":"",//上年度销售额(万元)
  467. "sndnse":"",//上年度纳税额(万元)
  468. "tzrxm":"",//投资人姓名
  469. "tzrzw":"",//投资人职务
  470. "tzrdh":"",//投资人电话
  471. "xmjj":"",//项目简介
  472. "czwt":"",//存在问题
  473. "name":"",//首谈人
  474. "strq":"",//首谈日期
  475. "phone":"",//首谈人手机号
  476. "zw":"",//首谈人职务
  477. zsyzFjList:[],
  478. },
  479. addimg:require("@/static/images/mine/add.png"),
  480. delimg:require("@/static/images/mine/del.png"),
  481. checknimg:require("@/static/images/mine/jnicon.png"),
  482. gcheckimg:require("@/static/images/mine/jicon.png"),
  483. closeimg:require('@/static/images/close.png'),
  484. wimg:require('@/static/images/index/wicon.png'),
  485. downimg:require('@/static/images/index/down.png'),
  486. addflag:false,
  487. shenflag:true,
  488. qiziflag:false,//是否有企业或者自然人
  489. qilist:[],//企业联想
  490. qilianflag:false,
  491. qiaddlist:[],
  492. ziaddlist:[],
  493. qiinfo:{
  494. companyName:'',
  495. companyAddress:'',
  496. companyLegal:'',
  497. companyCode:'',
  498. phone:'',
  499. },
  500. ziinfo:{
  501. name:'',
  502. address:'',
  503. idcode:'',
  504. phone:'',
  505. },
  506. firstrules: {
  507. sbdw: {rules: [{required: true,errorMessage: '请输入上报单位'}]},
  508. tbrq: {rules: [{required: true,errorMessage: '请选择填表日期'}]},
  509. zszxfzr: {rules: [{required: true,errorMessage: '请输入项目负责人姓名' } ]},
  510. tzrxm: {rules: [{required: true,errorMessage: '请输入投资人姓名'} ]},
  511. },
  512. qirules:{
  513. companyName: {rules: [{required: true,errorMessage: '请输入企业名称'}]},
  514. companyAddress: {rules: [{required: true,errorMessage: '请输入企业所在地'}]},
  515. companyLegal: {rules: [{required: true,errorMessage: '请输入法人代表姓名'}]},
  516. companyCode: {rules: [{required: true,errorMessage: '请输入统一社会信用代码'}]},
  517. phone: {rules: [{required: true,errorMessage: '请输入联系方式'},{pattern:/^(13[0-9]|14[01456879]|15[0-35-9]|16[2567]|17[0-8]|18[0-9]|19[0-35-9])\d{8}$/,errorMessage: '请输入正确的手机号码'}]},
  518. },
  519. zirules:{
  520. name: {rules: [{required: true,errorMessage: '请输入姓名'}]},
  521. address: {rules: [{required: true,errorMessage: '请输入自然人所在地'}]},
  522. phone: {rules: [{required: true,errorMessage: '请输入联系方式'},{pattern:/^(13[0-9]|14[01456879]|15[0-35-9]|16[2567]|17[0-8]|18[0-9]|19[0-35-9])\d{8}$/,errorMessage: '请输入正确的手机号码'}]},
  523. },
  524. // 第二步骤
  525. tworules: {
  526. xmxsmc: {rules: [{required: true,errorMessage: '请输入项目线索名称'}]},
  527. sfwlhxxxm: {rules: [{required: true,errorMessage: '请选择是否为领航信息'}]},
  528. ntze: {rules: [{required: true,errorMessage: '请输入拟投资额'} ]},
  529. cylxName: {rules: [{required: true,errorMessage: '请选择产业类型'} ]},
  530. xmlb: {rules: [{required: true,errorMessage: '请选择项目类别'} ]},
  531. nlhd: {rules: [{required: true,errorMessage: '请选择拟落户地'} ]},
  532. xmjj: {rules: [{required: true,errorMessage: '请输入项目简介'} ]},
  533. xmjzqk: {rules: [{required: true,errorMessage: '请输入项目进展情况'} ]},
  534. qybj: {rules: [{required: true,errorMessage: '请选择企业背景'} ]},
  535. yzssName: {rules: [{required: true,errorMessage: '请输入引资省市'}]},
  536. },
  537. thirdrules: {
  538. name: {rules: [{required: true,errorMessage: '请输入首谈人姓名'}]},
  539. zw: {rules: [{required: true,errorMessage: '请输入首谈人职务'}]},
  540. phone: {rules: [{required: true,errorMessage: '请输入首谈人联系方式'},{pattern:/^(13[0-9]|14[01456879]|15[0-35-9]|16[2567]|17[0-8]|18[0-9]|19[0-35-9])\d{8}$/,errorMessage: '请输入正确的手机号码'} ]},
  541. strq: {rules: [{required: true,errorMessage: '请选择首谈日期'} ]},
  542. xmlb: {rules: [{required: true,errorMessage: '请输入项目进展'} ]},
  543. zsyzFjList: {rules: [{required: true,errorMessage: '请上传附件'} ]},
  544. },
  545. lhlist:[{label:'是',id:'S'},{label:'否',id:'N'},],//领航
  546. cyindex:0,
  547. indusindex:0,
  548. nlhdindex:0,//拟落户地
  549. prolaber:'',//项目类型
  550. qybglaber:"",//企业背景
  551. lhindex:0,
  552. moretype:0,
  553. qybgvalue:[],
  554. provalue:[],
  555. map:{text:'dictLabel',value:'dictValue'},
  556. location:[],//拟落户地
  557. industrytype:[],//产业类别
  558. projectlist:[],//项目类别
  559. backgroundlist:[],//企业背景
  560. projectchose:[],//选择的项目类型
  561. qybgchose:[],
  562. timeoutId:'',
  563. currentdate:'',//当前日期
  564. sfwlhxxxm:'',
  565. firstform:{},
  566. twoform:{},
  567. thirdform:{},
  568. qiform:{},
  569. ziform:{},
  570. }
  571. },
  572. onLoad(e) {
  573. var that=this;
  574. this.currentdate = this.getNowFormatDate();
  575. var newObj={}
  576. if(e.data){
  577. newObj=JSON.parse(decodeURIComponent(e.data))
  578. }
  579. this.pagetype=newObj.pagetype||'add';
  580. this.getinvestmentarea()
  581. if(this.pagetype=='update'){
  582. this.datainfo.xmId=newObj.xmId;
  583. this.datainfo.xmbh=newObj.xmbh;
  584. this.datainfo.xmmc=newObj.xmmc;
  585. this.init()
  586. that.getDataFn()
  587. // setTimeout(function(){
  588. // },1200)
  589. // this.getDataFn()
  590. }else{
  591. // 自动生成编号
  592. this.getCommonXmbh()
  593. this.datainfo.tbrq=this.getNowFormatDatesfm();
  594. // this.datainfo.tbrq=this.currentdate
  595. this.datainfo.strq=this.currentdate
  596. // 获取详情 修改
  597. }
  598. // #ifdef APP
  599. uni.onKeyboardHeightChange(res=> { //监听键盘高度变化
  600. const res_keyboard = uni.getSystemInfoSync();
  601. let key_height = res.height - (res_keyboard.screenHeight - res_keyboard.windowHeight)
  602. // let key_height = res.height - (res_keyboard.screenHeight - res_keyboard.windowHeight + res_keyboard.safeAreaInsets.bottom)
  603. this.bottom = `${ key_height>0 ? key_height : 0}px`;
  604. })
  605. // #endif
  606. },
  607. onHide() {
  608. // #ifdef APP-PLUS
  609. uni.offKeyboardHeightChange(); // 取消监听键盘高度变化事件,避免内存消耗
  610. // #endif
  611. },
  612. methods: {
  613. checkPermi, checkRole,
  614. // 项目进展
  615. getAddProject(){
  616. this.poptype=Number(4)
  617. },
  618. getXmSubmitFn(data){
  619. var that=this;
  620. var params=JSON.parse(JSON.stringify(data))
  621. params.xmId=this.datainfo.xmId;
  622. // params.xmmc=this.datainfo.xmmc;
  623. params.xmbh=this.datainfo.xmbh;
  624. getjzqkFn(params).then(res=>{
  625. if(res.code==200){
  626. that.$toast('添加项目进展成功')
  627. setTimeout(function(){
  628. that.poptype=0;
  629. },1500)
  630. }else{
  631. this.$toast(res.msg)
  632. }
  633. })
  634. },
  635. // 线索详情
  636. getDataFn(){
  637. getsbbzbdetail(this.datainfo.xmId).then(res=>{
  638. var that=this;
  639. if(res.code==200){
  640. this.datainfo=res.data;
  641. // 领航
  642. this.sfwlhxxxm=this.datainfo.sfwlhxxxm=='Y'||this.datainfo.sfwlhxxxm=='S'?'是':'否';
  643. this.lhindex=this.datainfo.sfwlhxxxm=='Y'||this.datainfo.sfwlhxxxm=='S'?0:1;
  644. // 项目类型
  645. this.projectchose=this.datainfo.xmlb.split(',')
  646. this.prolaber=this.projectchose.join('/');
  647. // 字典值返回
  648. var proArr=[]
  649. this.projectchose.forEach(ite=>{
  650. var pronum = Number(selectDictLabel(that.projectlist,ite))
  651. proArr.push(pronum)
  652. })
  653. this.provalue=proArr
  654. // 企业背景
  655. this.qybgchose=this.datainfo.qybj.split(',')
  656. this.qybglaber=this.qybgchose.join('/');
  657. var backgrounArr=[];
  658. this.qybgchose.forEach(ite=>{
  659. var pronum = Number(selectDictLabel(that.backgroundlist,ite))
  660. backgrounArr.push(pronum)
  661. })
  662. this.qybgvalue=backgrounArr
  663. // 产业类别
  664. for(var i=0;i<that.industrytype.length;i++){
  665. if(that.industrytype[i].dictLabel==this.datainfo.cylxName){
  666. this.indusindex=Number(i)
  667. break;
  668. }
  669. }
  670. // 拟落户地
  671. for(var i=0;i<that.location.length;i++){
  672. if(that.location[i].dictLabel==this.datainfo.nlhd){
  673. this.nlhdindex=Number(i)
  674. break;
  675. }
  676. }
  677. if(res.data.zsyzFjList&&res.data.zsyzFjList.length){
  678. this.filelist=JSON.parse(JSON.stringify(res.data.zsyzFjList))
  679. }
  680. // sfwlhxxxm
  681. }else{
  682. this.$toast(res.msg)
  683. }
  684. })
  685. },
  686. getNowFormatDate(){
  687. let date = new Date();
  688. let y = date.getFullYear();
  689. let m = date.getMonth() + 1;
  690. m = m < 10 ? "0" + m : m;
  691. let d = date.getDate();
  692. d = d < 10 ? "0" + d : d;
  693. // let h = date.getHours();
  694. // h = h < 10 ? "0" + h : h;
  695. // let ms = date.getMinutes();
  696. // ms = ms < 10 ? "0" + ms : ms;
  697. // let s = date.getSeconds();
  698. // s = s < 10 ? "0" + s : s;
  699. // const time = y + "-" + m + "-" + d + " " + h + ":" + ms + ":" + s;
  700. const timeday = y + "-" + m + "-" + d;
  701. return timeday;
  702. },
  703. getNowFormatDatesfm(){
  704. let date = new Date();
  705. let y = date.getFullYear();
  706. let m = date.getMonth() + 1;
  707. m = m < 10 ? "0" + m : m;
  708. let d = date.getDate();
  709. d = d < 10 ? "0" + d : d;
  710. let h = date.getHours();
  711. h = h < 10 ? "0" + h : h;
  712. let ms = date.getMinutes();
  713. ms = ms < 10 ? "0" + ms : ms;
  714. let s = date.getSeconds();
  715. s = s < 10 ? "0" + s : s;
  716. const time = y + "-" + m + "-" + d + " " + h + ":" + ms + ":" + s;
  717. // const timeday = y + "-" + m + "-" + d;
  718. return time;
  719. },
  720. init(){
  721. this.getInvestorList()//企业列表
  722. this.getPersionList()//自然人列表
  723. },
  724. // 字典值
  725. getinvestmentarea(){
  726. // 拟落户地
  727. getDictionaryFn('proposed_location').then(res=>{
  728. if(res.code==200){
  729. this.location = res.data.map(v => {
  730. return {
  731. dictLabel: v.dictLabel,
  732. dictValue: Number(v.dictValue)
  733. }
  734. })
  735. }
  736. })
  737. // 产业类型
  738. getDictionaryFn('industry_type').then(res=>{
  739. if(res.code==200){
  740. this.industrytype = res.data.map(v => {
  741. return {
  742. dictLabel: v.dictLabel,
  743. dictValue: Number(v.dictValue)
  744. }
  745. })
  746. }
  747. })
  748. //项目类别
  749. getDictionaryFn('project_category').then(res=>{
  750. if(res.code==200){
  751. this.projectlist = res.data.map(v => {
  752. return {
  753. dictLabel: v.dictLabel,
  754. dictValue: Number(v.dictValue)
  755. }
  756. })
  757. }
  758. })
  759. //企业背景
  760. getDictionaryFn('enterprise_background').then(res=>{
  761. if(res.code==200){
  762. this.backgroundlist = res.data.map(v => {
  763. return {
  764. dictLabel: v.dictLabel,
  765. dictValue: Number(v.dictValue)
  766. }
  767. })
  768. }
  769. })
  770. },
  771. getNext(idx){
  772. var that=this;
  773. if(idx==1){
  774. // 第一页
  775. this.$refs.firstform.validate().then(res => {
  776. if(this.qiaddlist.length||this.ziaddlist.length){
  777. if(this.datainfo.tzrdh){
  778. let regphone = /^(13[0-9]|14[01456879]|15[0-35-9]|16[2567]|17[0-8]|18[0-9]|19[0-35-9])\d{8}$/
  779. if (!regphone.test(this.datainfo.tzrdh)) {
  780. that.$toast("请输入正确的联系方式")
  781. return
  782. }else{
  783. that.type=2
  784. }
  785. }else{
  786. that.type=2
  787. }
  788. }else{
  789. this.$toast('请添加企业、自然人')
  790. }
  791. })
  792. }else if(idx==2){
  793. this.$refs.twoform.validate().then(res => {
  794. this.type=3
  795. })
  796. }else{
  797. this.datainfo.zsyzFjList=JSON.parse(JSON.stringify(this.filelist));
  798. this.$refs.thirdform.validate().then(res => {
  799. var params=this.datainfo;
  800. if(this.pagetype=='add'){
  801. getsbbzbAddFn(params).then(res=>{
  802. if(res.code==200){
  803. this.$toast('上报线索成功')
  804. setTimeout(function() {
  805. uni.$emit('refreshdata');
  806. uni.navigateBack({delta: 1});
  807. },1500);
  808. }else{
  809. this.$toast(res.msg)
  810. }
  811. })
  812. }else{
  813. getsbbzbPutFn(params).then(res=>{
  814. if(res.code==200){
  815. this.$toast('修改线索成功')
  816. setTimeout(function() {
  817. uni.$emit('refreshdata');
  818. uni.navigateBack({delta: 1});
  819. },1500);
  820. }else{
  821. this.$toast(res.msg)
  822. }
  823. })
  824. }
  825. })
  826. }
  827. },
  828. // 第二步骤
  829. // 领航
  830. bindDateChangea(e) {
  831. var val=e.detail.value;
  832. this.sfwlhxxxm=this.lhlist[val].label;
  833. this.datainfo.sfwlhxxxm=this.lhlist[val].id
  834. },
  835. // 产业类型
  836. bindDateChangeb(e) {
  837. var val=e.detail.value;
  838. this.datainfo.cylxName=this.industrytype[val].dictLabel;
  839. this.datainfo.cylxId=this.industrytype[val].dictValue
  840. },
  841. // 拟落户地location
  842. bindDateChangec(e) {
  843. var val=e.detail.value;
  844. this.datainfo.nlhd=this.location[val].dictLabel
  845. },
  846. bindDateChange(e) {
  847. this.datainfo.tbrq = e.detail.value
  848. },
  849. // 首谈日期
  850. bindDateChanged(e){
  851. this.datainfo.strq = e.detail.value
  852. },
  853. checkboxChangea(e){
  854. var newArr=e.detail.data;
  855. var newArrs=[]
  856. newArr.forEach((ite,idx)=>{
  857. newArrs[idx]=ite.dictLabel
  858. })
  859. this.projectchose=newArrs
  860. },
  861. checkboxChangeb(e){
  862. var newArr=e.detail.data;
  863. var newArrs=[]
  864. newArr.forEach((ite,idx)=>{
  865. newArrs[idx]=ite.dictLabel
  866. })
  867. this.qybgchose=newArrs
  868. },
  869. // 多选
  870. getMoreFn(idx){
  871. this.moretype=idx;
  872. },
  873. proSure(){
  874. this.prolaber=this.projectchose.join('/');
  875. this.datainfo.xmlb=this.projectchose.join(',')
  876. this.moretype=0;
  877. },
  878. // projectlist:[],//项目类别
  879. // backgroundlist:[],//企业背景
  880. // prolaber:'',//项目类型
  881. // qybglaber:"",//企业背景
  882. qySure(){
  883. this.qybglaber=this.qybgchose.join('/');
  884. this.datainfo.qybj=this.qybgchose.join(',')
  885. this.moretype=0;
  886. },
  887. getClose(){
  888. this.addflag=false;
  889. this.moretype=0;
  890. this.poptype=0;
  891. },
  892. getAdd(){
  893. this.addflag=true;
  894. this.shenflag=true;
  895. this.qiinfo={
  896. companyName:'',
  897. companyAddress:'',
  898. companyLegal:'',
  899. companyCode:'',
  900. phone:'',
  901. }
  902. this.ziinfo={
  903. name:'',
  904. address:'',
  905. idcode:'',
  906. phone:'',
  907. }
  908. },
  909. getInvestorList(){
  910. var params={
  911. xmbh:this.datainfo.xmbh
  912. }
  913. getInvestorList(params).then(res=>{
  914. if(res.code==200){
  915. this.qiaddlist=res.rows||[]
  916. if(res.rows.length){
  917. this.qiziflag=true
  918. }
  919. }else{
  920. this.$toast(res.msg)
  921. }
  922. })
  923. },
  924. getPersionList(){
  925. var params={
  926. xmbh:this.datainfo.xmbh
  927. }
  928. getPersionList(params).then(res=>{
  929. if(res.code==200){
  930. this.ziaddlist=res.rows||[];
  931. if(res.rows.length){
  932. this.qiziflag=true
  933. }
  934. }else{
  935. this.$toast(res.msg)
  936. }
  937. })
  938. },
  939. getDelQi(id,idx){ //删除企业
  940. var that=this;
  941. uni.showModal({
  942. title: '确认删除',
  943. content: "是否确认删除",
  944. cancelText: '取消',
  945. confirmText: '确认',
  946. success: function(res) {
  947. if (res.confirm) {
  948. // var params={
  949. // id:id
  950. // }
  951. getDelInvestor(id).then(res=>{
  952. if(res.code==200){
  953. that.$toast('删除成功')
  954. that.qiaddlist.splice(idx,1)
  955. }else{
  956. that.$toast(res.msg)
  957. }
  958. })
  959. } else if (res.cancel) {
  960. }
  961. }
  962. });
  963. },
  964. getDelZi(id,idx){//删除自然人
  965. var that=this;
  966. uni.showModal({
  967. title: '确认删除',
  968. content: "是否确认删除",
  969. cancelText: '取消',
  970. confirmText: '确认',
  971. success: function(res) {
  972. if (res.confirm) {
  973. // var params={
  974. // id:id
  975. // }
  976. getDelPersion(id).then(res=>{
  977. if(res.code==200){
  978. that.$toast('删除成功')
  979. that.ziaddlist.splice(idx,1)
  980. }else{
  981. that.$toast(res.msg)
  982. }
  983. })
  984. } else if (res.cancel) {
  985. }
  986. }
  987. });
  988. },
  989. // 企业详情
  990. getDetailQi(ite){
  991. this.ziinfo={
  992. name:'',
  993. address:'',
  994. idcode:'',
  995. phone:'',
  996. },
  997. this.qiinfo=ite;
  998. this.addflag=true;
  999. this.shenflag=true;
  1000. },
  1001. // 自然人详情
  1002. getDetailZi(ite){
  1003. this.qiinfo={
  1004. companyName:'',
  1005. companyAddress:'',
  1006. companyLegal:'',
  1007. companyCode:'',
  1008. phone:'',
  1009. },
  1010. this.ziinfo=ite;
  1011. this.addflag=true;
  1012. this.shenflag=false;
  1013. },
  1014. getInput(e){
  1015. this.loading=true;
  1016. this.qilianflag=true;
  1017. var val=e.detail.value;
  1018. var that=this;
  1019. if(val){
  1020. getqichachaSearch(val).then(res=>{
  1021. if(res.code==200){
  1022. this.qilist=res.data||[];
  1023. this.loading=false;
  1024. if(!this.qilist.length){
  1025. this.qilianflag=false;
  1026. }
  1027. }
  1028. })
  1029. }
  1030. },
  1031. handleAddrClick(ite){
  1032. clearTimeout(this.timeoutId);
  1033. this.qiinfo.companyName=ite.Name;
  1034. this.qiinfo.companyAddress=ite.Address;
  1035. this.qiinfo.companyLegal=ite.OperName;
  1036. this.qiinfo.companyCode=ite.CreditCode;
  1037. this.qilianflag=false;
  1038. // this.getBlur()
  1039. },
  1040. getBlur(){
  1041. this.timeoutId = setTimeout(() => {
  1042. // 关闭可编辑状态
  1043. this.qilianflag = false;
  1044. },100);
  1045. // this.qilist=[];
  1046. // this.qilianflag=false
  1047. },
  1048. getqySubmit(){
  1049. var that=this;
  1050. if(this.shenflag){
  1051. //企业
  1052. this.$refs.qiform.validate().then(res => {
  1053. var params=this.qiinfo;
  1054. params.xmbh=this.datainfo.xmbh;
  1055. params.xmId=this.datainfo.xmId||'';
  1056. if(params.id){
  1057. // 修改
  1058. getPutInvestor(params).then(res=>{
  1059. if(res.code==200){
  1060. this.$toast('修改成功');
  1061. setTimeout(function(){
  1062. that.addflag=false;
  1063. // 获取列表
  1064. that.getInvestorList()
  1065. },1500)
  1066. }else{
  1067. this.$toast(res.msg)
  1068. }
  1069. })
  1070. }else{
  1071. // 新增
  1072. getAddInvestor(params).then(res=>{
  1073. if(res.code==200){
  1074. this.$toast('添加成功');
  1075. setTimeout(function(){
  1076. that.addflag=false;
  1077. that.qiziflag=true;
  1078. // 获取列表
  1079. that.getInvestorList()
  1080. },1500)
  1081. }else{
  1082. this.$toast(res.msg)
  1083. }
  1084. })
  1085. }
  1086. })
  1087. }else{
  1088. //自然人
  1089. this.$refs.ziform.validate().then(res => {
  1090. var params=this.ziinfo;
  1091. params.xmbh=this.datainfo.xmbh;
  1092. params.xmId=this.datainfo.xmId||'';
  1093. if(params.id){
  1094. // 修改
  1095. getPutPersion(params).then(res=>{
  1096. if(res.code==200){
  1097. this.$toast('修改成功');
  1098. setTimeout(function(){
  1099. that.addflag=false;
  1100. // 获取列表
  1101. that.getPersionList()
  1102. },1500)
  1103. }else{
  1104. this.$toast(res.msg)
  1105. }
  1106. })
  1107. }else{
  1108. // 新增
  1109. getAddPersion(params).then(res=>{
  1110. if(res.code==200){
  1111. this.$toast('添加成功');
  1112. setTimeout(function(){
  1113. that.addflag=false;
  1114. that.qiziflag=true;
  1115. // 获取列表
  1116. that.getPersionList()
  1117. },1500)
  1118. }else{
  1119. this.$toast(res.msg)
  1120. }
  1121. })
  1122. }
  1123. })
  1124. }
  1125. },
  1126. getCommonXmbh(){
  1127. getCommonXmbh().then(res=>{
  1128. if(res.code==200){
  1129. this.datainfo.xmbh=res.data;
  1130. }
  1131. })
  1132. },
  1133. // 某文件上传结束回调(成功失败都回调)
  1134. onuploadEnd(item) {
  1135. var newobj={}
  1136. var responseText=JSON.parse(item.responseText)
  1137. newobj.fjName=responseText.originalFilename;
  1138. newobj.path=responseText.fileName;
  1139. this.filelist.push(newobj)
  1140. this.datainfo.zsyzFjList=JSON.parse(JSON.stringify(this.filelist))
  1141. },
  1142. getDelFj(idx){
  1143. this.filelist.splice(idx,1)
  1144. this.datainfo.zsyzFjList=JSON.parse(JSON.stringify(this.filelist))
  1145. },
  1146. getDown(e){
  1147. uni.showLoading({
  1148. title: '加载中'
  1149. });
  1150. var url=baseUrl+e;
  1151. uni.downloadFile({
  1152. url: url,//文件的下载路径
  1153. success(result) {
  1154. uni.hideLoading()
  1155. var filePath = result.tempFilePath;
  1156. uni.openDocument({
  1157. filePath: filePath,
  1158. showMenu: true,
  1159. success: function (res) {
  1160. }
  1161. });
  1162. },
  1163. fail(res) {uni.hideLoading()}
  1164. })
  1165. },
  1166. }
  1167. }
  1168. </script>
  1169. <style lang="scss">
  1170. page {
  1171. background-color: #ffffff;
  1172. }
  1173. // .info{padding-top: 30rpx;
  1174. // .cir{position: absolute;font-size: 36rpx;font-weight: bold;color: #FE5706;left: 0rpx;}
  1175. // }
  1176. // .infolist{padding: 30rpx 24rpx;}
  1177. // .infobtn{width: 100%;height: 88rpx;background: #FA5F03;line-height: 88rpx;}
  1178. // .input_ye image{width: 34rpx;height: 18rpx;}
  1179. // .info_tit{font-size: 32rpx;color: #FE5706;padding: 30rpx 26rpx;font-weight: bold;}
  1180. .inform{padding-top: 30rpx; padding-bottom: 160rpx;}
  1181. .infolist{padding: 30rpx 32rpx 30rpx 24rpx;position: relative;
  1182. .cir{position: absolute;font-size: 36rpx;font-weight: bold;color: #FE5706;left: 0rpx;}
  1183. }
  1184. .delimg{width: 40rpx;height:40rpx;margin-left: 16rpx;display: flex;align-items: center;justify-content: center;
  1185. image{width: 30rpx;height: 30rpx;}
  1186. }
  1187. .infobtn{width: 100%;height: 88rpx;background: #FA5F03;line-height: 88rpx;position: fixed;left: 0;right: 0;bottom: 0;z-index: 3;}
  1188. .input_ye image{width: 34rpx;height: 18rpx;}
  1189. .info_tit{font-size: 32rpx;color: #FE5706;padding: 30rpx 26rpx;font-weight: bold;}
  1190. .infolist_a{height: 44rpx;flex: 1;text-align: right;font-size: 32rpx;color: #343434;}
  1191. .infolist_add{position: absolute;right: 0;top: -40rpx;font-size: 28rpx;color: #41C942;padding-right: 30rpx;
  1192. image{width: 30rpx;height: 30rpx;margin-right: 20rpx;}
  1193. }
  1194. // // 弹窗
  1195. .fixedbox{position: fixed;left:24rpx;right: 24rpx;background: #fff;border-radius: 10rpx;min-height: 468rpx;top: 50%;transform: translateY(-60%);z-index: 20;padding: 48rpx 36rpx 68rpx;max-height: calc(100vh - 200rpx);overflow: auto;box-sizing: border-box;
  1196. .infolist{padding:24rpx 0 24rpx 0;}
  1197. .choseimg{width: 34rpx;height: 34rpx;position: absolute;left: 36rpx;top: 54rpx;z-index: 22;}
  1198. .chebox{position: absolute;right: 36rpx;top:54rpx;display: flex;align-items: center;
  1199. image{width: 30rpx;height: 32rpx;margin-right: 12rpx;}
  1200. view{font-size: 32rpx;font-weight: 500;color: #F13800;;}
  1201. }
  1202. .top{position: relative;text-align: center;font-size: 32rpx;font-weight: bold;color: #343434;}
  1203. .boxs{padding: 60rpx 0;
  1204. .box{display: flex;align-items: center;min-height:100rpx;}
  1205. .boxcen{flex:1;
  1206. &.act{
  1207. view{color: #FF6400;}
  1208. }
  1209. image{width: 32rpx;height: 32rpx;margin-right: 20rpx;}
  1210. view{font-size: 32rpx;font-weight: 500;
  1211. color: #666666;}
  1212. }
  1213. }
  1214. .fixedbtn{width:100%;height: 80rpx;background: #FF6400;
  1215. border-radius: 10rpx;display: flex;align-items: center;justify-content: center;font-size: 32rpx;font-weight: bold;color: #FFFFFF;
  1216. &.btn1{background-color: #20ACCF;margin-bottom: 36rpx;}
  1217. }
  1218. }
  1219. .inform /deep/ .uni-forms-item__error{margin-top: -30rpx;margin-left: 24rpx;}
  1220. .fixedbox /deep/ .uni-forms-item__error{margin-top: -30rpx;margin-left: 24rpx;}
  1221. .fixedbox /deep/ .uni-data-checklist .checklist-group .checklist-box{margin: 10rpx 0;padding: 4rpx 0;width: 50%;box-sizing: border-box;}
  1222. .fixedbox /deep/ .uni-data-checklist .checklist-group .checklist-box .checklist-text{color: #343434;font-size: 30rpx;}
  1223. // .fixedbox /deep/ .uni-data-checklist .checklist-group .checklist-box .checkbox__inner{margin-right: 40rpx;}
  1224. .fixedbox /deep/ .uni-data-checklist .checklist-group .checklist-box.is--default.is-checked .checkbox__inner{border-color: #FF440B; background-color: #FF440B;}
  1225. .fixedbox /deep/ .uni-data-checklist .checklist-group .checklist-box.is--default.is-checked .checklist-text{color: #343434;}
  1226. .inform .pl12{margin-right: 10rpx;}
  1227. .fixedbox .pl12{margin-right: 10rpx;}
  1228. .inform /deep/ .uni-easyinput__content-textarea{min-height: 200rpx;}
  1229. </style>