addFinanceRecord.vue 51 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633
  1. <template>
  2. <div class="app-container zap-main">
  3. <el-row>
  4. <el-form
  5. ref="form"
  6. :model="form"
  7. :inline="true"
  8. :rules="rules"
  9. label-width="95px"
  10. >
  11. <div class="zap-title">申请融资信息</div>
  12. <el-row class="zap-form" style="padding-bottom: 0">
  13. <el-col :span="12">
  14. <el-form-item label="选择融信:" prop="zfrFinanceId" size="large">
  15. <el-select
  16. v-model="form.zfrFinanceId"
  17. clearable
  18. @clear="clearBoth"
  19. >
  20. <el-option
  21. v-for="(item, index) in financeInfList"
  22. :key="index"
  23. :label="item.zfiNumber"
  24. :value="item.zfiId"
  25. @click.native="amount(item)"
  26. ></el-option>
  27. </el-select>
  28. </el-form-item>
  29. </el-col>
  30. <el-col :span="12">
  31. <el-form-item
  32. label="融资收款账户:"
  33. prop="zfrCollectionAccount"
  34. size="large"
  35. label-width="101px"
  36. >
  37. <el-input
  38. v-model="form.zfrCollectionAccount"
  39. clearable
  40. placeholder="请输入融资账户"
  41. maxlength="25"
  42. :readonly="onlyRead"
  43. />
  44. </el-form-item>
  45. </el-col>
  46. </el-row>
  47. <el-row class="zap-form" style="padding-bottom: 0">
  48. <el-col :span="12">
  49. <el-form-item label="融信金额:" prop="zfiAmount" size="large">
  50. <el-input
  51. v-model="form.zfiAmount"
  52. clearable
  53. placeholder="请输入融信金额"
  54. maxlength="25"
  55. readonly
  56. >
  57. <template slot="append">元</template>
  58. </el-input>
  59. </el-form-item>
  60. </el-col>
  61. <el-col :span="12">
  62. <el-form-item label="申请融资方:" prop="companyName" size="large">
  63. <el-input
  64. v-model="form.companyName"
  65. clearable
  66. placeholder="请输入申请融资方"
  67. maxlength="25"
  68. readonly
  69. />
  70. </el-form-item>
  71. </el-col>
  72. </el-row>
  73. <el-row class="zap-form" style="padding-bottom: 0">
  74. <el-col :span="12">
  75. <el-form-item label="融资金额:" prop="zfrAmount" size="large">
  76. <el-input
  77. v-model="form.zfrAmount"
  78. clearable
  79. placeholder="请输入融资金额"
  80. maxlength="25"
  81. readonly
  82. >
  83. <template slot="append">元</template>
  84. </el-input>
  85. </el-form-item>
  86. </el-col>
  87. <el-col :span="12">
  88. <el-form-item label="融资利率:" prop="zfrRate" size="large">
  89. <el-input
  90. v-model="form.zfrRate"
  91. clearable
  92. placeholder="请输入融资利率"
  93. maxlength="25"
  94. readonly
  95. >
  96. <template slot="append">%</template>
  97. </el-input>
  98. </el-form-item>
  99. </el-col>
  100. </el-row>
  101. <el-row class="zap-form" style="padding-bottom: 0">
  102. <el-col :span="12">
  103. <el-form-item
  104. label="承诺还款日期:"
  105. prop="zfrRepaymentDate"
  106. size="large"
  107. label-width="101px"
  108. >
  109. <el-input
  110. v-model="form.zfrRepaymentDate"
  111. clearable
  112. placeholder="请输入承诺还款日期"
  113. maxlength="25"
  114. readonly
  115. />
  116. </el-form-item>
  117. </el-col>
  118. <el-col :span="12">
  119. <el-form-item label="服务费率:" prop="zfpcrChargeRate" size="large">
  120. <el-input
  121. v-model="form.zfpcrChargeRate"
  122. clearable
  123. placeholder="请输入服务费率"
  124. maxlength="25"
  125. readonly
  126. >
  127. <template slot="append">%</template>
  128. </el-input>
  129. </el-form-item>
  130. </el-col>
  131. </el-row>
  132. <el-row class="zap-form" style="padding-bottom: 0">
  133. <el-col :span="12">
  134. <el-form-item
  135. label="预计融资成本:"
  136. prop="cost"
  137. size="large"
  138. label-width="101px"
  139. >
  140. <el-input
  141. v-model="form.cost"
  142. clearable
  143. placeholder="请输入预计融资成本"
  144. maxlength="25"
  145. readonly
  146. >
  147. <template slot="append">元</template>
  148. </el-input>
  149. </el-form-item>
  150. </el-col>
  151. <el-col :span="12">
  152. <el-form-item
  153. label="预计融资期限:"
  154. prop="term"
  155. size="large"
  156. label-width="101px"
  157. >
  158. <el-input
  159. v-model="form.term"
  160. clearable
  161. placeholder="请输入预计融资期限"
  162. maxlength="25"
  163. readonly
  164. >
  165. <template slot="append">天</template>
  166. </el-input>
  167. </el-form-item>
  168. </el-col>
  169. </el-row>
  170. <el-row class="zap-form" style="padding-bottom: 0">
  171. <el-col :span="12">
  172. <el-form-item
  173. label="预计净融资额:"
  174. prop="amount"
  175. size="large"
  176. label-width="101px"
  177. >
  178. <el-input
  179. v-model="form.amount"
  180. clearable
  181. placeholder="请输入预计净融资额"
  182. maxlength="25"
  183. readonly
  184. >
  185. <template slot="append">元</template>
  186. </el-input>
  187. </el-form-item>
  188. </el-col>
  189. </el-row>
  190. <div class="contain">
  191. <p>说明:</p>
  192. <p>1. 因银行结算原因,资金到账可能会在申请日期后2-5工作日;</p>
  193. <p>
  194. 2.
  195. 申请融资时,预计融资成本、预计融资期限、预计净融资额,由申请日期单日开始计算;准确数值以银行实际放款日期为准;
  196. </p>
  197. <p>
  198. 3.
  199. 因填写融资收款账户错误,或其他原因导致银行无法正常放款,款项将汇入备用收款账户,可在电子账户管理查看;
  200. </p>
  201. <p>4. 服务费缴纳与退还要求,可详细阅读《融信产品使用协议》</p>
  202. </div>
  203. <div class="zap-title">融信信息</div>
  204. <el-row class="zap-form">
  205. <el-col>
  206. <span style="font-size: 14px; color: #333333">融信凭证</span>
  207. </el-col>
  208. <table
  209. class="gridtable"
  210. style="width: 80%; text-align: center"
  211. align="center"
  212. >
  213. <tr>
  214. <td rowspan="4">开立方</td>
  215. <td>全称</td>
  216. <td>{{ openName }}</td>
  217. <td rowspan="4">接收方</td>
  218. <td>全称</td>
  219. <td>{{ receiveName }}</td>
  220. </tr>
  221. <tr>
  222. <td>社会统一码</td>
  223. <td>{{ openCode }}</td>
  224. <td>社会统一码</td>
  225. <td>{{ receiverCode }}</td>
  226. </tr>
  227. <tr>
  228. <td>开户银行</td>
  229. <td>{{ openBank }}</td>
  230. <td>开户银行</td>
  231. <td>{{ receiverBank }}</td>
  232. </tr>
  233. <tr>
  234. <td>账号</td>
  235. <td>{{ openAccount }}</td>
  236. <td>账号</td>
  237. <td>{{ receiverAccount }}</td>
  238. </tr>
  239. <tr>
  240. <td colspan="2">粮信金额</td>
  241. <td colspan="4">
  242. 人民币(大写):{{ issuedAmount }}<br />人民币(小写)¥{{
  243. form.zfiAmount
  244. }}
  245. </td>
  246. </tr>
  247. <tr>
  248. <td colspan="2">起止日期</td>
  249. <td colspan="4">{{ stopDate }}</td>
  250. </tr>
  251. </table>
  252. </el-row>
  253. <el-row class="zap-form">
  254. <el-row type="flex" align="middle" justify="end">
  255. <el-col>
  256. <span style="font-size: 14px; color: #333333">资产信息</span>
  257. </el-col>
  258. <el-col class="zap-margin-top;">
  259. <el-row type="flex" align="middle" justify="end">
  260. <el-form-item label="金额大写:" class="zap-margin-clear">
  261. <span>{{ smallToBig(allAmount()) }}</span>
  262. </el-form-item>
  263. <el-form-item label="合计金额:" class="zap-margin-clear">
  264. <span>{{ allAmount() }}</span>
  265. </el-form-item>
  266. </el-row>
  267. </el-col>
  268. </el-row>
  269. <el-row class="zap-margin-top">
  270. <el-table :data="billInfList">
  271. <el-table-column
  272. label="序号"
  273. type="index"
  274. width="50"
  275. align="center"
  276. >
  277. <template slot-scope="scope">
  278. <span>{{
  279. (queryParams.pageNum - 1) * queryParams.pageSize +
  280. scope.$index +
  281. 1
  282. }}</span>
  283. </template>
  284. </el-table-column>
  285. <el-table-column label="编号" align="center" prop="zbiNumber" />
  286. <el-table-column label="账款名称" align="center" prop="zbiName" />
  287. <el-table-column label="应收企业" align="center" prop="payee" />
  288. <el-table-column label="应付企业" align="center" prop="payer" />
  289. <el-table-column
  290. label="还款时间"
  291. align="center"
  292. prop="zbiPayDate"
  293. />
  294. <el-table-column label="金额" align="center" prop="zbiAmount" />
  295. <el-table-column
  296. label="操作"
  297. align="center"
  298. class-name="small-padding fixed-width"
  299. width="250"
  300. >
  301. <template slot-scope="scope">
  302. <el-button
  303. size="mini"
  304. type="text"
  305. icon="el-icon-view"
  306. @click="handleDetail(scope.$index, billInfList)"
  307. >详情</el-button
  308. >
  309. </template>
  310. </el-table-column>
  311. </el-table>
  312. </el-row>
  313. </el-row>
  314. </el-form>
  315. <!-- 签署合同 -->
  316. <el-row class="zap-margin-top zap-form">
  317. <div class="zap-title">签署合同</div>
  318. <el-table :data="creditSealList" style="width: 100%">
  319. <el-table-column
  320. label="文件名称"
  321. align="center"
  322. prop="pfiFileName"
  323. show-overflow-tooltip
  324. >
  325. <template slot-scope="scope">
  326. <img
  327. style="width: 30px; height: 30px"
  328. src="../../../assets/images/pdf.png"
  329. />
  330. <span>{{ scope.row.pfiFileName }} </span>
  331. </template>
  332. </el-table-column>
  333. <el-table-column
  334. label="操作"
  335. align="center"
  336. class-name="small-padding fixed-width"
  337. width="300"
  338. fixed="right"
  339. >
  340. <template slot-scope="scope">
  341. <el-button
  342. size="mini"
  343. type="text"
  344. icon="el-icon-view"
  345. @click="handleDownload(scope.row)"
  346. >下载</el-button
  347. >
  348. <el-button
  349. size="mini"
  350. type="text"
  351. icon="el-icon-view"
  352. @click="handlePreview(scope.row)"
  353. >预览</el-button
  354. >
  355. </template>
  356. </el-table-column>
  357. </el-table>
  358. </el-row>
  359. <!-- 发票附件 -->
  360. <!-- <el-row class="zap-margin-top zap-form">
  361. <div class="zap-title">发票附件</div>
  362. <el-table :data="invoiceFileList" stripe="" style="width: 100%">
  363. <el-table-column label="文件名称" align="center" prop="pfiFileName" show-overflow-tooltip />
  364. <el-table-column label="操作" align="center" class-name="small-padding fixed-width" width='300' fixed="right">
  365. <template slot-scope="scope">
  366. <el-button size="mini" type="text" icon="el-icon-view" @click="handlePreview(scope.row)">预览</el-button>
  367. </template>
  368. </el-table-column>
  369. </el-table>
  370. </el-row> -->
  371. <!-- 合同附件 -->
  372. <!-- <el-row class="zap-margin-top zap-form">
  373. <div class="zap-title">合同附件</div>
  374. <el-table :data="contractFileList" stripe="" style="width: 100%">
  375. <el-table-column label="文件名称" align="center" prop="pfiFileName" show-overflow-tooltip />
  376. <el-table-column label="操作" align="center" class-name="small-padding fixed-width" width='300' fixed="right">
  377. <template slot-scope="scope">
  378. <el-button size="mini" type="text" icon="el-icon-view" @click="handlePreview(scope.row)">预览</el-button>
  379. </template>
  380. </el-table-column>
  381. </el-table>
  382. </el-row> -->
  383. <!-- 其他附件 -->
  384. <!-- <el-row class="zap-margin-top zap-form">
  385. <div class="zap-title">其他附件</div>
  386. <el-table :data="otherFileList" stripe="" style="width: 100%">
  387. <el-table-column label="文件名称" align="center" prop="pfiFileName" show-overflow-tooltip />
  388. <el-table-column label="操作" align="center" class-name="small-padding fixed-width" width='300' fixed="right">
  389. <template slot-scope="scope">
  390. <el-button size="mini" type="text" icon="el-icon-view" @click="handlePreview(scope.row)">预览</el-button>
  391. </template>
  392. </el-table-column>
  393. </el-table>
  394. </el-row> -->
  395. <el-row type="flex" align="middle" justify="center" style="height: 77px">
  396. <el-button type="primary" @click="submitForm"
  397. >确 定</el-button
  398. >
  399. <!-- <el-button @click="cancel">取 消</el-button> -->
  400. </el-row>
  401. </el-row>
  402. <!-- 附件详情 -->
  403. <el-dialog
  404. title="详情"
  405. :visible.sync="openDetailBill"
  406. width="1120px"
  407. append-to-body
  408. >
  409. <detail-bill :zbiId="this.zbiId" v-if="openDetailBill"></detail-bill>
  410. </el-dialog>
  411. <!--预览-->
  412. <el-dialog :visible.sync="openFile" width="1000px" append-to-body>
  413. <img :src="wordUrl" v-if="show" width="700px" height="500px" />
  414. <iframe
  415. :src="wordUrl"
  416. width="800px"
  417. height="600px"
  418. frameborder="1"
  419. v-if="heid"
  420. />
  421. </el-dialog>
  422. <!-- 合同预览 -->
  423. <el-dialog title="预览" :visible.sync="pdfShowDialog" width="60%" append-to-body :show-close="pdfIsShow">
  424. <pdf-show
  425. :pdfFileList="pdfFileList"
  426. :zfiId="this.form.zfiId"
  427. :parent="parent"
  428. ></pdf-show>
  429. <span slot="footer" class="dialog-footer">
  430. <el-button type="primary" @click="selectType" v-if="pdfIsShow">签署</el-button>
  431. <el-button type="primary" plain="" @click="pdfShowDialog = false" v-if="pdfIsShow">取消</el-button>
  432. <el-button type="primary" @click="closePDF" v-if="!pdfIsShow">确定</el-button>
  433. </span>
  434. </el-dialog>
  435. <!--选择签署意愿类型-->
  436. <el-dialog
  437. :visible.sync="confirmIsShow"
  438. width="600px"
  439. append-to-body
  440. :before-close="cancelUpdate"
  441. center
  442. >
  443. <el-form
  444. ref="updateForm"
  445. :disabled="false"
  446. :model="updateForm"
  447. v-if="confirmIsShow"
  448. label-width="150px"
  449. class="demo-form-inline"
  450. :inline="true"
  451. >
  452. <el-radio-group v-model="updateForm.radio">
  453. <el-radio label="01">人脸</el-radio>
  454. <el-radio label="02">短信</el-radio>
  455. </el-radio-group>
  456. </el-form>
  457. <div slot="footer" class="dialog-footer">
  458. <el-button type="primary" @click="confirmSelect">确 定</el-button>
  459. <el-button @click="cancelUpdate">取 消</el-button>
  460. </div>
  461. </el-dialog>
  462. <!--盖章短信-->
  463. <el-dialog
  464. :visible.sync="messageIsShow"
  465. width="600px"
  466. append-to-body
  467. :before-close="cancelMessage"
  468. center
  469. >
  470. <el-form
  471. ref="messageForm"
  472. :disabled="false"
  473. :model="messageForm"
  474. v-if="messageIsShow"
  475. label-width="150px"
  476. class="demo-form-inline"
  477. :inline="true"
  478. @submit.native.prevent
  479. >
  480. <el-form-item label="验证码" prop="validCode">
  481. <el-input
  482. v-model="messageForm.validCode"
  483. style="width: 200px"
  484. maxlength="6"
  485. />
  486. </el-form-item>
  487. <el-form-item>
  488. <el-button :disabled="!showCode" type="success" @click="send">
  489. 点击获取验证码
  490. <span v-show="!showCode" class="count">{{ count }} s</span>
  491. </el-button>
  492. </el-form-item>
  493. </el-form>
  494. <div slot="footer" class="dialog-footer">
  495. <el-button type="primary" @click="checkCode">确定</el-button>
  496. <el-button @click="cancelMessage">取 消</el-button>
  497. </div>
  498. </el-dialog>
  499. <!--授权编号激活短信-->
  500. <el-dialog
  501. :visible.sync="messageIfShow"
  502. width="600px"
  503. append-to-body
  504. :before-close="cancelMessages"
  505. center
  506. >
  507. <el-divider content-position="left">cfca签章授权编号激活</el-divider>
  508. <el-form
  509. ref="messageForm"
  510. :disabled="false"
  511. :model="messagesForm"
  512. v-if="messageIfShow"
  513. label-width="150px"
  514. class="demo-form-inline"
  515. :inline="true"
  516. @submit.native.prevent
  517. >
  518. <el-form-item label="验证码" prop="validCode">
  519. <el-input
  520. v-model="messagesForm.validCode"
  521. style="width: 200px"
  522. maxlength="6"
  523. />
  524. </el-form-item>
  525. <el-form-item>
  526. <el-button :disabled="!showCodes" type="success" @click="proSend">
  527. 点击获取验证码
  528. <span v-show="!showCodes" class="count">{{ countCode }} s</span>
  529. </el-button>
  530. </el-form-item>
  531. </el-form>
  532. <div slot="footer" class="dialog-footer">
  533. <el-button type="primary" @click="checkProCode">确定</el-button>
  534. <el-button @click="cancelMessages">取 消</el-button>
  535. </div>
  536. </el-dialog>
  537. <!--人脸二维码-->
  538. <el-dialog
  539. :visible.sync="faceIsShow"
  540. width="500px"
  541. append-to-body
  542. :before-close="cancelFace"
  543. center
  544. >
  545. <img
  546. :src="'data:image/jpeg;base64,' + this.fileUrl"
  547. style="overflow: auto; width: 100%; height: 100%"
  548. />
  549. </el-dialog>
  550. </div>
  551. </template>
  552. <script>
  553. import {
  554. addRecord,
  555. listBillInf,
  556. listAccInf,
  557. getContractFile,
  558. getRecord,
  559. contractSigning,
  560. updateChargeStatus,
  561. listChargeStatus,
  562. cancelContract,
  563. } from "@/api/service/financeRecord/record";
  564. import { listFinanceInf } from "@/api/common/financeInf";
  565. import { getFile } from "@/api/service/credit/credit";
  566. import { getToken } from "@/utils/auth";
  567. import { getUserProfile } from "@/api/system/user";
  568. import { getCreditDetail } from "@/api/service/credit/credit";
  569. import { getCreditSealFile } from "@/api/service/credit/creditHandle";
  570. import DetailBill from "@/views/service/credit/billDetail";
  571. import { isOpenApproval } from "@/api/service/credit/approvalRelatedCredit";
  572. import { listCompanyHandler } from "@/api/common/companyHandler";
  573. import {
  574. sendMessage,
  575. checkCode,
  576. faceAuth,
  577. checkFaceAuth,
  578. } from "@/api/service/credit/message";
  579. import {
  580. cfcaProjectNo,
  581. projectSendMessage,
  582. checkProCode,
  583. } from "@/api/service/credit/cfcaProject";
  584. import { balance, transfer } from "@/api/bank/bankInterface";
  585. import pdfShow from "@/views/service/financeRecord/pdfShow";
  586. export default {
  587. name: "financeRecord",
  588. components: { DetailBill, pdfShow },
  589. data() {
  590. return {
  591. pdfIsShow: true,
  592. //往来账款id
  593. zbiId: "",
  594. //融资账户是够编辑
  595. onlyRead: false,
  596. // 遮罩层
  597. loading: true,
  598. // 选中数组
  599. ids: [],
  600. // 非单个禁用
  601. single: true,
  602. // 非多个禁用
  603. multiple: true,
  604. // 显示搜索条件
  605. showSearch: true,
  606. // 总条数
  607. total: 0,
  608. // 全部融资记录表格数据
  609. recordList: [],
  610. //融信编号数据
  611. financeInfList: [],
  612. //应收账款
  613. billInfList: [],
  614. //合同附件
  615. contractFileList: [],
  616. //发票附件
  617. invoiceFileList: [],
  618. //其他文件
  619. otherFileList: [],
  620. //盖章文件
  621. creditSealList: [],
  622. //开立方
  623. openName: "",
  624. //开立社会码
  625. openCode: "",
  626. //开立银行
  627. openBank: "",
  628. //开立账户
  629. openAccount: "",
  630. //接收方
  631. receiveName: "",
  632. //接收方社会统一码
  633. receiverCode: "",
  634. //接收方银行
  635. receiverBank: "",
  636. //接收方账户
  637. receiverAccount: "",
  638. //起止日期
  639. stopDate: "",
  640. //签发金额大写
  641. issuedAmount: "零元整",
  642. // 弹出层标题
  643. title: "",
  644. // 是否显示弹出层
  645. open: false,
  646. openDetailBill: false,
  647. //人脸验证结果
  648. faceResult:"",
  649. //人脸识别结果传参
  650. authForm:{},
  651. // 查询参数
  652. queryParams: {
  653. pageNum: 1,
  654. pageSize: 10,
  655. zfrFinanceId: null,
  656. zfrNumber: null,
  657. zfrAmount: null,
  658. zfrRate: null,
  659. zfrHandler: null,
  660. zfrRepaymentDate: null,
  661. zfrApplyDate: null,
  662. zfrLoanDate: null,
  663. zfrApplyAmount: null,
  664. zfrApplyType: null,
  665. zfrStatus: null,
  666. zfrApproveStt: null,
  667. zfpcrLoanType: null,
  668. zfiProductId: null,
  669. },
  670. queryParamsDown: {
  671. pfiFileUrl: null,
  672. },
  673. // 表单参数
  674. form: {},
  675. forms: {},
  676. // 表单校验
  677. rules: {
  678. zfrFinanceId: [
  679. {
  680. required: true,
  681. message: "融信编号不能为空",
  682. trigger: "blur",
  683. },
  684. ],
  685. zfrAmount: [
  686. {
  687. required: true,
  688. message: "融资金额不能为空",
  689. trigger: "blur",
  690. },
  691. ],
  692. },
  693. openFile: false,
  694. wordUrl: "",
  695. heid: false,
  696. show: false,
  697. //盖章预览
  698. parent: this,
  699. pdfShowDialog: false,
  700. pdfFileList: [],
  701. confirmIsShow: false,
  702. messageIsShow: false,
  703. messageIfShow: false,
  704. faceIsShow: false,
  705. fileUrl: "",
  706. //意愿
  707. updateForm: {},
  708. messageForm: {},
  709. messagesForm: {},
  710. count: "",
  711. timer: null,
  712. //授权编号激活短信验证码倒计时
  713. //项目编号
  714. projectCode: "",
  715. showCode: true,
  716. showCodes: true,
  717. countCode: "",
  718. timerCode: null,
  719. zfrId: null,
  720. };
  721. },
  722. created() {
  723. this.getFinanceInf();
  724. this.getUserProfile();
  725. },
  726. methods: {
  727. /** 查询融信编号 */
  728. getFinanceInf() {
  729. this.loading = true;
  730. this.financeInfList = [];
  731. listFinanceInf().then((response) => {
  732. this.financeInfList = response.data;
  733. this.loading = false;
  734. });
  735. },
  736. getUserProfile() {
  737. getUserProfile().then((response) => {
  738. if (response.company) {
  739. this.$set(this.form, "companyName", response.company.scyName);
  740. }
  741. });
  742. },
  743. //获取盖章文件
  744. getCreditSealFile() {
  745. getCreditSealFile(this.forms).then((response) => {
  746. if (response.data.list) {
  747. this.creditSealList = response.data.list;
  748. }
  749. });
  750. },
  751. // 取消按钮
  752. cancel() {
  753. this.$store.dispatch("tagsView/delView", this.$route);
  754. this.$router.go(-1);
  755. },
  756. // 表单重置
  757. reset() {
  758. this.form = {
  759. zfrId: null,
  760. zfrFinanceId: null,
  761. zfrNumber: null,
  762. zfrAmount: null,
  763. zfrRate: null,
  764. zfrHandler: null,
  765. zfrRepaymentDate: null,
  766. zfrApplyDate: null,
  767. zfrLoanDate: null,
  768. zfrApplyAmount: null,
  769. zfrApplyType: null,
  770. zfrStatus: "00",
  771. zfrApproveStt: null,
  772. zfrProfitSpare1: null,
  773. zfrProfitSpare2: null,
  774. zfrProfitSpare3: null,
  775. zfrProfitSpare4: null,
  776. zfrProfitSpare5: null,
  777. zfrProfitSpare6: null,
  778. zfrProfitSpare7: null,
  779. zfrProfitSpare8: null,
  780. zfrProfitSpare9: null,
  781. createBy: null,
  782. createTime: null,
  783. updateBy: null,
  784. updateTime: null,
  785. };
  786. this.resetForm("form");
  787. },
  788. /** 全部搜索按钮操作 */
  789. handleQuery() {
  790. this.queryParams.pageNum = 1;
  791. this.getList();
  792. },
  793. /** 全部重置按钮操作 */
  794. resetQuery() {
  795. this.resetForm("queryForm");
  796. this.handleQuery();
  797. },
  798. //全部 多选框选中数据
  799. handleSelectionChange(selection) {
  800. this.ids = selection.map((item) => item.zfrId);
  801. this.single = selection.length !== 1;
  802. this.multiple = !selection.length;
  803. },
  804. /* 融信编号赋值融资金额 */
  805. amount(item) {
  806. this.$set(this.form, "zfrAmount", item.zfiAmount);
  807. this.$set(this.form, "zfiAmount", item.zfiAmount);
  808. this.$set(this.form, "zfrRepaymentDate", item.zfiExpireDate);
  809. this.$set(this.form, "zfrRate", item.zfpcrRate);
  810. this.$set(this.form, "zfpcrLoanType", item.zfpcrLoanType);
  811. this.$set(this.form, "zfiProductId", item.zfiProductId);
  812. this.$set(this.form, "zfpcrChargeRate", item.zfpcrChargeRate);
  813. this.$set(this.form, "cost", item.cost);
  814. this.$set(this.form, "term", item.term);
  815. this.$set(this.form, "amount", item.amount);
  816. if (item.zfiId) {
  817. this.loading = true;
  818. listBillInf(item.zfiId)
  819. .then((response) => {
  820. this.billInfList = response.data;
  821. this.loading = false;
  822. })
  823. .then(() => {
  824. var queryParamsFile = {};
  825. queryParamsFile.ticketList = this.billInfList;
  826. getFile(queryParamsFile).then((response) => {
  827. if (response.data) {
  828. //获取发票文件
  829. this.invoiceFileList = response.data.invoiceFileList;
  830. //获取合同文件
  831. this.contractFileList = response.data.contractFileList;
  832. //获取其他文件
  833. this.otherFileList = response.data.otherFileList;
  834. }
  835. });
  836. if (item.zfpcrLoanType == "0") {
  837. listAccInf(item.zfiProductId).then((response) => {
  838. this.$set(this.form, "zfrCollectionAccount", response.msg);
  839. this.onlyRead = true;
  840. });
  841. }else{
  842. //其余类型,清空后可以手动输入
  843. this.$set(this.form, "zfrCollectionAccount","");
  844. this.onlyRead = false;
  845. }
  846. });
  847. getCreditDetail(item.zfiId).then((response) => {
  848. if (response.data) {
  849. this.forms = response.data.financeInf;
  850. //签发金额大写
  851. this.issuedAmount = this.smallToBig(this.forms.zfiAmount);
  852. //给表格赋值
  853. this.openName = response.data.openName;
  854. this.openCode = response.data.openCode;
  855. this.openBank = response.data.openBank;
  856. this.openAccount = response.data.openAccount;
  857. this.receiveName = response.data.receiveName;
  858. this.receiverCode = response.data.receiverCode;
  859. this.receiverBank = response.data.receiverBank;
  860. this.receiverAccount = response.data.receiverAccount;
  861. this.stopDate = response.data.stopDate;
  862. this.zfiRate = response.data.financeInf.zfiRate;
  863. }
  864. //盖章合同
  865. this.getCreditSealFile();
  866. });
  867. }
  868. },
  869. //详情按钮
  870. handleDetail(index, rows) {
  871. this.zbiId = rows[index].zbiId;
  872. this.openDetailBill = true;
  873. },
  874. /** 提交按钮 */
  875. submitForm() {
  876. this.$refs["form"].validate((valid) => {
  877. if (valid) {
  878. const loading = this.$loading({
  879. lock: true,
  880. text: "Loading",
  881. spinner: "el-icon-loading",
  882. background: "rgba(0, 0, 0, 0.7)",
  883. });
  884. listCompanyHandler().then((response) => {
  885. if (response.data == true) {
  886. this.form.zfrId = this.zfrId;
  887. addRecord(this.form)
  888. .then((response) => {
  889. loading.close();
  890. this.zfrId = response.data.zfrId;
  891. this.isOpenApproval();
  892. // this.msgSuccess("融资申请成功");
  893. // this.$store.dispatch("tagsView/delView", this.$route);
  894. // this.$router.go(-1);
  895. })
  896. .catch((response) => {
  897. loading.close();
  898. });
  899. } else {
  900. loading.close();
  901. this.$message({
  902. message: "此操作需经办人权限,请确认您是否是经办人",
  903. type: "warning",
  904. });
  905. }
  906. });
  907. }
  908. });
  909. },
  910. /* 清空 */
  911. clearBoth() {
  912. this.form.zfrAmount = "";
  913. this.form, (zfrRepaymentDate = "");
  914. this.form.zfrRate = "";
  915. this.form.zfpcrLoanType = "";
  916. this.billInfList = [];
  917. this.contractFileList = [];
  918. this.invoiceFileList = [];
  919. this.otherFileList = [];
  920. },
  921. //文件下载
  922. handleDownload(row) {
  923. debugger;
  924. const pfiFileUrl = row.pfiFileUrl;
  925. if (pfiFileUrl != null && pfiFileUrl != "") {
  926. const pfiFileName = row.pfiFileName;
  927. this.queryParamsDown.pfiFileUrl = pfiFileUrl;
  928. this.download(
  929. "sc-service/creditLine/jpgAuthorization",
  930. {
  931. ...this.queryParamsDown,
  932. },
  933. pfiFileName
  934. );
  935. // window.open(pfiUrl + "/" + getToken());
  936. } else {
  937. this.$message({
  938. message: "该附件不存在!",
  939. type: "warning",
  940. });
  941. return;
  942. }
  943. },
  944. //预览
  945. handlePreview(row) {
  946. const pfiUrl = row.pfiUrl;
  947. const pfiFileName = row.pfiFileName;
  948. if (row.pfiUrl) {
  949. console.log(pfiFileName.substr(-3));
  950. if (pfiFileName.substr(-3) == "pdf") {
  951. this.wordUrl = pfiUrl + "/" + getToken();
  952. this.show = false;
  953. this.heid = true;
  954. } else if (
  955. pfiFileName.substr(-3) == "jpg" ||
  956. pfiFileName.substr(-3) == "png" ||
  957. pfiFileName.substr(-3) == "JPG" ||
  958. pfiFileName.substr(-3) == "PNG" ||
  959. pfiFileName.substr(-4) == "jpeg" ||
  960. pfiFileName.substr(-3) == "JPEG"
  961. ) {
  962. this.wordUrl = pfiUrl + "/" + getToken();
  963. this.show = true;
  964. this.heid = false;
  965. console.log("====>", this.wordUrl);
  966. } else if (
  967. pfiFileName.substr(-3) == "doc" ||
  968. pfiFileName.substr(-3) == "DOC" ||
  969. pfiFileName.substr(-4) == "docx" ||
  970. pfiFileName.substr(-3) == "DOCX"
  971. ) {
  972. this.wordUrl =
  973. "https://view.officeapps.live.com/op/view.aspx?src=" +
  974. pfiUrl +
  975. "/" +
  976. getToken() +
  977. "/" +
  978. pfiFileName;
  979. this.show = false;
  980. this.heid = true;
  981. console.log("====>", this.wordUrl);
  982. } else {
  983. this.$message({
  984. message: "暂不支持该类型文件预览",
  985. type: "warning",
  986. });
  987. return;
  988. }
  989. }
  990. this.openFile = true;
  991. },
  992. //应收账款合计
  993. allAmount() {
  994. var strarr = [0.0];
  995. for (let i in this.billInfList) {
  996. strarr.push(this.billInfList[i]["zbiAmount"]);
  997. }
  998. return Math.floor(eval(strarr.join("+")) * 100) / 100; //结果
  999. },
  1000. /* // 将数字金额转换为大写金额 */
  1001. smallToBig(money) {
  1002. // 将数字金额转换为大写金额
  1003. var cnNums = new Array(
  1004. "零",
  1005. "壹",
  1006. "贰",
  1007. "叁",
  1008. "肆",
  1009. "伍",
  1010. "陆",
  1011. "柒",
  1012. "捌",
  1013. "玖"
  1014. ); //汉字的数字
  1015. var cnIntRadice = new Array("", "拾", "佰", "仟"); //基本单位
  1016. var cnIntUnits = new Array("", "万", "亿", "兆"); //对应整数部分扩展单位
  1017. var cnDecUnits = new Array("角", "分", "毫", "厘"); //对应小数部分单位
  1018. var cnInteger = "整"; //整数金额时后面跟的字符
  1019. var cnIntLast = "元"; //整数完以后的单位
  1020. //最大处理的数字
  1021. var maxNum = 999999999999999.9999;
  1022. var integerNum; //金额整数部分
  1023. var decimalNum; //金额小数部分
  1024. //输出的中文金额字符串
  1025. var chineseStr = "";
  1026. var parts; //分离金额后用的数组,预定义
  1027. if (money == "" || money == null || money == undefined) {
  1028. return "零元零角零分";
  1029. }
  1030. money = parseFloat(money);
  1031. if (money >= maxNum) {
  1032. //超出最大处理数字
  1033. return "超出最大处理数字";
  1034. }
  1035. if (money == 0) {
  1036. chineseStr = cnNums[0] + cnIntLast + cnInteger;
  1037. return chineseStr;
  1038. }
  1039. //四舍五入保留两位小数,转换为字符串
  1040. money = Math.round(money * 100).toString();
  1041. integerNum = money.substr(0, money.length - 2);
  1042. decimalNum = money.substr(money.length - 2);
  1043. //获取整型部分转换
  1044. if (parseInt(integerNum, 10) > 0) {
  1045. var zeroCount = 0;
  1046. var IntLen = integerNum.length;
  1047. for (var i = 0; i < IntLen; i++) {
  1048. var n = integerNum.substr(i, 1);
  1049. var p = IntLen - i - 1;
  1050. var q = p / 4;
  1051. var m = p % 4;
  1052. if (n == "0") {
  1053. zeroCount++;
  1054. } else {
  1055. if (zeroCount > 0) {
  1056. chineseStr += cnNums[0];
  1057. }
  1058. //归零
  1059. zeroCount = 0;
  1060. chineseStr += cnNums[parseInt(n)] + cnIntRadice[m];
  1061. }
  1062. if (m == 0 && zeroCount < 4) {
  1063. chineseStr += cnIntUnits[q];
  1064. }
  1065. }
  1066. chineseStr += cnIntLast;
  1067. }
  1068. //小数部分
  1069. if (decimalNum != "") {
  1070. var decLen = decimalNum.length;
  1071. for (var i = 0; i < decLen; i++) {
  1072. var n = decimalNum.substr(i, 1);
  1073. if (n != "0") {
  1074. chineseStr += cnNums[Number(n)] + cnDecUnits[i];
  1075. }
  1076. }
  1077. }
  1078. if (chineseStr == "") {
  1079. chineseStr += cnNums[0] + cnIntLast + cnInteger;
  1080. } else if (decimalNum == "" || /^0*$/.test(decimalNum)) {
  1081. chineseStr += cnInteger;
  1082. }
  1083. return chineseStr;
  1084. },
  1085. /** 导出按钮操作 */
  1086. handleExport() {
  1087. this.download(
  1088. "sc-service/record/export",
  1089. {
  1090. ...this.queryParams,
  1091. },
  1092. `sc-service_record.xlsx`
  1093. );
  1094. },
  1095. // 取消按钮
  1096. cancelFtp() {
  1097. let form = {};
  1098. form.zfrId = this.zfrId;
  1099. cancelContract(form).then((response) => {
  1100. this.cancel();
  1101. });
  1102. this.pdfShowDialog = false;
  1103. },
  1104. //查询有无融资内部审批
  1105. isOpenApproval() {
  1106. var confirmParam = {};
  1107. confirmParam.menuId = "1000000006";
  1108. isOpenApproval(confirmParam).then((response) => {
  1109. var result = response.data.isOpen;
  1110. //有融资内部审批
  1111. if (true == result) {
  1112. this.msgSuccess("已提交内部审批,请内部审批通过后签署融资协议");
  1113. this.cancel();
  1114. this.$store.dispatch("tagsView/delView", this.$route);
  1115. this.$router.go(-1);
  1116. } else {
  1117. //无融资内部审批,显示融资合同预览页面
  1118. // this.zfrId = '2c83a92dc238468aabd9cd3261748ae0'
  1119. getRecord(this.zfrId).then((response) => {
  1120. this.zcFinanceInf = response.data.zcFinanceInf;
  1121. this.needPay = response.data.needPay;
  1122. //意愿类型
  1123. this.zfpAuthType = response.data.zfpAuthType;
  1124. this.selectPayment();
  1125. });
  1126. }
  1127. });
  1128. },
  1129. //取消选择意愿
  1130. cancelUpdate() {
  1131. this.confirmIsShow = false;
  1132. this.resetUpdate();
  1133. },
  1134. //关闭盖章短信
  1135. cancelMessage() {
  1136. this.messageIsShow = false;
  1137. this.resetMessage();
  1138. },
  1139. //关闭授权编号激活短信
  1140. cancelMessages() {
  1141. this.messageIfShow = false;
  1142. this.resetMessages();
  1143. },
  1144. //关闭二维码
  1145. cancelFace() {
  1146. this.faceIsShow = false;
  1147. },
  1148. closePdfShow() {
  1149. this.pdfShowDialog = false;
  1150. },
  1151. resetUpdate() {
  1152. this.updateForm = {
  1153. radio: "",
  1154. };
  1155. //意愿类型还原为全部
  1156. this.zfpAuthType = "00";
  1157. this.resetForm("updateForm");
  1158. },
  1159. resetMessage() {
  1160. this.messageForm = {
  1161. validCode: "",
  1162. };
  1163. this.resetForm("messageForm");
  1164. },
  1165. resetMessages() {
  1166. this.messagesForm = {
  1167. validCode: "",
  1168. };
  1169. this.resetForm("messagesForm");
  1170. },
  1171. //获取合同文件
  1172. getContractFile() {
  1173. const loading = this.$loading({
  1174. lock: true,
  1175. text: "Loading",
  1176. background: "rgba(0, 0, 0,0)",
  1177. });
  1178. getContractFile(this.zcFinanceInf)
  1179. .then((response) => {
  1180. loading.close();
  1181. if (response.data.list) {
  1182. this.pdfFileList = response.data.list;
  1183. }
  1184. //文件存在
  1185. if (this.pdfFileList.length > 0) {
  1186. this.pdfShowDialog = true;
  1187. } else {
  1188. this.$message({
  1189. message: "文件不存在!",
  1190. type: "warning",
  1191. });
  1192. }
  1193. })
  1194. .catch((response) => {
  1195. loading.close();
  1196. });
  1197. },
  1198. //缴费查询
  1199. selectPayment() {
  1200. listCompanyHandler().then((response) => {
  1201. var self = this;
  1202. // self.paiAccno = '3115730025233104147';
  1203. if (response.data == true) {
  1204. cfcaProjectNo().then((response) => {
  1205. if (response.data.scyCfcaAuthNumber == null) {
  1206. this.messageIfShow = true;
  1207. } else {
  1208. var zfrId = self.zfrId;
  1209. listChargeStatus(zfrId).then((response) => {
  1210. if (response.data.accInfList[0]) {
  1211. self.paiAccno = response.data.accInfList[0].paiAccno;
  1212. }
  1213. if (response.data.chargeInfList[0]) {
  1214. if (response.data.chargeInfList[0].zciStatus == "00") {
  1215. self.zciId = response.data.chargeInfList[0].zciId;
  1216. self
  1217. .$confirm("请缴纳手续费" + self.needPay + "元", "警告", {
  1218. confirmButtonText: "去缴费",
  1219. cancelButtonText: "取消",
  1220. type: "warning",
  1221. })
  1222. .then(function () {
  1223. const loading = self.$loading({
  1224. lock: true,
  1225. text: "Loading",
  1226. spinner: "el-icon-loading",
  1227. background: "rgba(0, 0, 0, 0.7)",
  1228. });
  1229. if (self.paiAccno) {
  1230. balance(self.paiAccno)
  1231. .then((response) => {
  1232. if (
  1233. eval(self.needPay) > eval(response.data.kyAmt)
  1234. ) {
  1235. self.$message({
  1236. message:
  1237. "余额为" +
  1238. response.data.kyAmt +
  1239. "不足以抵扣本次缴费费用,请及时充值",
  1240. type: "warning",
  1241. });
  1242. loading.close();
  1243. } else {
  1244. console.log();
  1245. var map = {
  1246. recvAccNo: "",
  1247. recvAccNm: "",
  1248. tranAmt: self.needPay,
  1249. businessId: self.zciId,
  1250. };
  1251. transfer(map)
  1252. .then((response) => {
  1253. loading.close();
  1254. self.msgSuccess("缴费成功");
  1255. setTimeout(() => {
  1256. if (response.data.status == "AAAAAAA") {
  1257. updateChargeStatus(zfrId).then(
  1258. (res) => {
  1259. self.getContractFile();
  1260. }
  1261. );
  1262. }
  1263. }, 1000);
  1264. })
  1265. .catch(() => {
  1266. loading.close();
  1267. });
  1268. }
  1269. })
  1270. .catch(() => {
  1271. loading.close();
  1272. });
  1273. } else {
  1274. self.$message({
  1275. message: "您还没有电子账户,请联系平台开通电子账户",
  1276. type: "warning",
  1277. });
  1278. loading.close();
  1279. }
  1280. });
  1281. } else {
  1282. self.getContractFile();
  1283. }
  1284. } else {
  1285. self.getContractFile();
  1286. }
  1287. });
  1288. }
  1289. });
  1290. } else {
  1291. this.$message({
  1292. message: "此操作需经办人权限,请确认您是否是经办人",
  1293. type: 'warning'
  1294. });
  1295. }
  1296. });
  1297. },
  1298. //缴费
  1299. selectType() {
  1300. //选择签署意愿
  1301. if (this.zfpAuthType == "00") {
  1302. this.confirmIsShow = true;
  1303. } else {
  1304. this.checking();
  1305. }
  1306. },
  1307. //确认选择
  1308. confirmSelect() {
  1309. if (!this.updateForm.radio) {
  1310. this.$message({
  1311. message: "请选择签署意愿类型",
  1312. type: "warning",
  1313. });
  1314. return;
  1315. }
  1316. this.confirmIsShow = false;
  1317. this.zfpAuthType = this.updateForm.radio;
  1318. //调用人脸识别或者短信验证
  1319. this.checking();
  1320. },
  1321. //去签署
  1322. checking() {
  1323. //人脸
  1324. if (this.zfpAuthType == "01") {
  1325. //调用人脸识别生成二维码
  1326. faceAuth().then((response) => {
  1327. if (response.data) {
  1328. //获取二维码
  1329. this.fileUrl = response.data.fileUrl;
  1330. //获取源流水号
  1331. var originalTxSN = response.data.originalTxSN;
  1332. this.faceIsShow = true;
  1333. //每5秒查证人脸识别结果
  1334. var timeInterval = window.setInterval(() => {
  1335. setTimeout(() => {
  1336. //源流水不为空并且结果为空
  1337. if (originalTxSN && !this.faceResult) {
  1338. this.authForm.originalTxSN = originalTxSN;
  1339. //调用查证方法
  1340. checkFaceAuth(this.authForm).then((res) => {
  1341. //认证结果
  1342. this.faceResult = res.data.Verification;
  1343. //成功
  1344. if (this.faceResult == "20") {
  1345. this.msgSuccess("验证成功");
  1346. //关闭验证码
  1347. this.faceIsShow = false;
  1348. //关闭定时
  1349. window.clearInterval(timeInterval);
  1350. //调用盖章
  1351. this.contractSigning();
  1352. } else if (this.faceResult == "30") {
  1353. this.$message({
  1354. message: "验证失败",
  1355. type: "warning",
  1356. });
  1357. //关闭验证码
  1358. this.faceIsShow = false;
  1359. window.clearInterval(timeInterval);
  1360. }
  1361. });
  1362. }
  1363. }, 0);
  1364. }, 10000);
  1365. }
  1366. });
  1367. } else if (this.zfpAuthType == "02") {
  1368. //短信
  1369. this.messageIsShow = true;
  1370. }
  1371. },
  1372. //发送短信验证码
  1373. send() {
  1374. //发送
  1375. sendMessage().then((response) => {
  1376. if (response.data) {
  1377. //手机号
  1378. var newIphone = response.data.newIphone;
  1379. //结果
  1380. var result = response.data.result;
  1381. //倒计时
  1382. const TIME_COUNT = 60;
  1383. if (!this.timer) {
  1384. this.count = TIME_COUNT;
  1385. this.showCode = false;
  1386. this.timer = setInterval(() => {
  1387. if (this.count > 0 && this.count <= TIME_COUNT) {
  1388. this.count--;
  1389. } else {
  1390. this.showCode = true;
  1391. clearInterval(this.timer);
  1392. this.timer = null;
  1393. }
  1394. }, 1000);
  1395. }
  1396. //成功
  1397. if ("20" == result) {
  1398. this.$message({
  1399. message:
  1400. "已向经办人手机号为" + newIphone + "发送短信验证码,请注意查收",
  1401. type: "warning",
  1402. });
  1403. } else if ("10" == result) {
  1404. //失败
  1405. this.$message({
  1406. message: "短信发送失败",
  1407. type: "warning",
  1408. });
  1409. }
  1410. }
  1411. });
  1412. },
  1413. //校验验证码是否正确
  1414. checkCode() {
  1415. if (!this.messageForm.validCode) {
  1416. this.$message({
  1417. message: "请输入验证码",
  1418. type: "warning",
  1419. });
  1420. return;
  1421. }
  1422. //校验验证码
  1423. checkCode(this.messageForm).then((response) => {
  1424. if (response.data) {
  1425. //结果
  1426. var verification = response.data.verification;
  1427. //匹配
  1428. if ("20" == verification) {
  1429. //进行下一步-- 盖章
  1430. this.contractSigning();
  1431. } else if ("30" == verification) {
  1432. //不匹配
  1433. this.$message({
  1434. message: "验证有误,请重新输入",
  1435. type: "warning",
  1436. });
  1437. }
  1438. }
  1439. });
  1440. },
  1441. //生成项目授权编号发送短信
  1442. proSend() {
  1443. //发送
  1444. projectSendMessage().then((response) => {
  1445. if (response.data) {
  1446. //手机号
  1447. var newIphone = response.data.newIphone;
  1448. //结果
  1449. var result = response.data.result;
  1450. //项目编号
  1451. this.projectCode = response.data.projectCode;
  1452. //倒计时
  1453. const TIME_COUNT = 60;
  1454. if (!this.timerCode) {
  1455. this.countCode = TIME_COUNT;
  1456. this.showCodes = false;
  1457. this.timerCode = setInterval(() => {
  1458. if (this.countCode > 0 && this.countCode <= TIME_COUNT) {
  1459. this.countCode--;
  1460. } else {
  1461. this.showCodes = true;
  1462. clearInterval(this.timerCode);
  1463. this.timerCode = null;
  1464. }
  1465. }, 1000);
  1466. }
  1467. //成功
  1468. if ("60000000" == result) {
  1469. this.$message({
  1470. message:
  1471. "已向经办人手机号为" + newIphone + "发送短信验证码,请注意查收",
  1472. type: "warning",
  1473. });
  1474. } else {
  1475. //失败
  1476. this.$message({
  1477. message: "短信发送失败",
  1478. type: "warning",
  1479. });
  1480. }
  1481. }
  1482. });
  1483. },
  1484. //校验授权编号验证码
  1485. checkProCode() {
  1486. if (!this.projectForm.code) {
  1487. this.$message({
  1488. message: "请输入验证码",
  1489. type: "warning",
  1490. });
  1491. return;
  1492. }
  1493. //项目编号
  1494. this.projectForm.projectCode = this.projectCode;
  1495. //校验验证码
  1496. checkProCode(this.projectForm).then((response) => {
  1497. if (response.data) {
  1498. //结果
  1499. var verification = response.data.verification;
  1500. //匹配
  1501. if ("60000000" == verification) {
  1502. var zfrId = this.zfrId;
  1503. listChargeStatus(zfrId).then((response) => {
  1504. if (response.data[0]) {
  1505. if (response.data[0].zciStatus == "00") {
  1506. this.$confirm("请缴纳手续费" + this.needPay + "元", "警告", {
  1507. confirmButtonText: "去缴费",
  1508. cancelButtonText: "取消",
  1509. type: "warning",
  1510. })
  1511. .then(function () {
  1512. return updateChargeStatus(zfrId);
  1513. })
  1514. .then(() => {
  1515. this.getContractFile();
  1516. });
  1517. } else {
  1518. this.getContractFile();
  1519. }
  1520. } else {
  1521. this.getContractFile();
  1522. }
  1523. });
  1524. } else {
  1525. //不匹配
  1526. this.$message({
  1527. message: "验证有误,请重新输入",
  1528. type: "warning",
  1529. });
  1530. }
  1531. }
  1532. });
  1533. },
  1534. //盖章
  1535. contractSigning() {
  1536. var self = this;
  1537. const loading = this.$loading({
  1538. lock: true,
  1539. text: "Loading",
  1540. background: "rgba(0, 0, 0,0)",
  1541. });
  1542. self.zcFinanceInf.zfrId = self.zfrId;
  1543. contractSigning(self.zcFinanceInf)
  1544. .then((response) => {
  1545. loading.close();
  1546. self.msgSuccess("盖章成功");
  1547. if (self.zfpAuthType == "02") {
  1548. //关闭短信验证
  1549. self.messageIsShow = false;
  1550. } else if (self.zfpAuthType == "01") {
  1551. //关闭人脸二维码
  1552. self.faceIsShow = false;
  1553. }
  1554. // self.cancel();
  1555. //关闭预览合同
  1556. //self.closePdfShow();
  1557. let queryStamped = {};
  1558. queryStamped.zfrId = this.zfrId
  1559. const load = self.$loading({
  1560. lock: true,
  1561. text: "Loading",
  1562. background: "rgba(0, 0, 0,0)",
  1563. });
  1564. listStamped(queryStamped).then((response) =>{
  1565. if(response.data){
  1566. this.pdfFileList = response.data.list;
  1567. }
  1568. this.pdfShowDialog = true;
  1569. this.pdfIsShow = false;
  1570. load.close()
  1571. }).catch((response) => {
  1572. load.close();
  1573. });
  1574. })
  1575. .catch((response) => {
  1576. loading.close();
  1577. });
  1578. },
  1579. closePDF(){
  1580. this.cancel();
  1581. //关闭预览合同
  1582. this.closePdfShow();
  1583. }
  1584. },
  1585. };
  1586. </script>
  1587. <style lang="scss" scoped>
  1588. .zap-title {
  1589. padding: 20px 25px;
  1590. font-size: 16px;
  1591. color: #333333;
  1592. background-color: #ffffff;
  1593. }
  1594. .zap-form {
  1595. padding: 0px 25px 8px;
  1596. background-color: #ffffff;
  1597. }
  1598. .zap-form--clear {
  1599. padding-left: 0;
  1600. padding-right: 0;
  1601. }
  1602. </style>
  1603. <style type="text/css">
  1604. table.gridtable {
  1605. font-size: 11px;
  1606. color: #333333;
  1607. border-width: 1px;
  1608. border-collapse: collapse;
  1609. }
  1610. table.gridtable th {
  1611. border-width: 1px;
  1612. padding: 8px;
  1613. border-style: solid;
  1614. background-color: #dedede;
  1615. }
  1616. table.gridtable td {
  1617. border-width: 1px;
  1618. padding: 8px;
  1619. border-style: solid;
  1620. }
  1621. </style>