detailCompanyExam.vue 39 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777
  1. <template>
  2. <el-tabs v-model="activeName" style="margin:2px">
  3. <!--——————————————————————————————————————————基本信息————————————————————————————————————————————————————-->
  4. <el-tab-pane label="基本信息" name="first">
  5. <el-form ref="form" :model="form" label-width="130px" :inline="true">
  6. <el-form-item label="所属行业" prop="scyIndustry">
  7. <el-input v-model="form.scyIndustry" disabled />
  8. </el-form-item>
  9. <el-form-item label="企业规模" prop="scyScale">
  10. <el-input :value=scyScaleFormat(form.scyScale) disabled />
  11. </el-form-item>
  12. <el-form-item label="机构性质" prop="scyOrganization">
  13. <el-input :value=scyOrganizationFormat(form.scyOrganization) disabled />
  14. </el-form-item>
  15. <el-form-item label="企业类型" prop="scyType">
  16. <el-input :value=scyTypeFormat(form.scyType) disabled></el-input>
  17. </el-form-item>
  18. <el-form-item label="客户经理" prop="scyManager">
  19. <el-input v-model="form.scyManager" disabled />
  20. </el-form-item>
  21. <el-form-item label="机构名称" prop="scyName">
  22. <el-input v-model="form.scyName" disabled />
  23. </el-form-item>
  24. <el-form-item label="机构代码" prop="scySocialCode">
  25. <el-input v-model="form.scySocialCode" disabled />
  26. </el-form-item>
  27. <el-form-item label="证件注册日" prop="scyStartTime">
  28. <el-input v-model="form.scyStartTime" disabled />
  29. </el-form-item>
  30. <el-form-item label="注册地址" prop="scyAddress">
  31. <el-input v-model="form.scyAddress" disabled />
  32. </el-form-item>
  33. <el-form-item label="证件到期日" prop="scyEndTime">
  34. <el-input v-model="form.scyEndTime" disabled />
  35. </el-form-item>
  36. <el-form-item label="注册资本" prop="scyRegisteredCapital">
  37. <el-input v-model="form.scyRegisteredCapital" disabled />
  38. </el-form-item>
  39. <el-form-item label="法人姓名" prop="scyLegal">
  40. <el-input v-model="form.scyLegal" disabled />
  41. </el-form-item>
  42. <el-form-item label="证件类型" prop="scyLegal">
  43. <el-input value="身份证" disabled />
  44. </el-form-item>
  45. <el-form-item label="联系方式" prop="scyPhone">
  46. <el-input v-model="form.scyPhone" disabled />
  47. </el-form-item>
  48. <el-form-item label="证件号码" prop="scyLegalId">
  49. <el-input v-model="form.scyLegalId" disabled />
  50. </el-form-item>
  51. </el-form>
  52. </el-tab-pane>
  53. <!--————————————————————————————————————联系人信息————————————————————————————————————————————————-->
  54. <el-tab-pane label="联系人信息" name="second">
  55. <div><span style="color:#409EFF">▋</span> 经办人信息</div>
  56. <el-form ref="contactsForm" :model="contactsForm" label-width="130px" :inline="true">
  57. <el-row>
  58. <el-col :span="8" style="margin-top:2%">
  59. 姓名:
  60. <el-input v-model="contactsForm.nickName" disabled style=" width:50%"></el-input>
  61. </el-col>
  62. <el-col :span="8" style="margin-top:2%">
  63. 移动电话:
  64. <el-input v-model="contactsForm.userName" disabled style="width:50%"></el-input>
  65. </el-col>
  66. <el-col :span="8" style="margin-top:2%">
  67. 邮箱:
  68. <el-input v-model="contactsForm.email" disabled style=" width:50%"></el-input>
  69. </el-col>
  70. </el-row>
  71. </el-form>
  72. </el-tab-pane>
  73. <!--———————————————————————————————————— 发票信息 ————————————————————————————————————————————————-->
  74. <el-tab-pane label="发票信息" name="third">
  75. <div><span style="color:#409EFF">▋</span>开票信息</div>
  76. <el-form ref="invoiceForm" :model="invoiceForm" label-width="130px" :inline="true">
  77. <el-row>
  78. <el-col :span="2" style="margin-top:2%;line-height: 34px;    text-align: right;">
  79.                     单位名称:
  80.                 </el-col>
  81. <el-col :span="6" style="margin-top:2%;">
  82. <el-input v-model="invoiceForm.scyName" disabled style=" width:75%"></el-input>
  83. </el-col>
  84. <el-col :span="2" style="margin-top:2%;line-height: 34px;    text-align: right;">
  85. 税号:
  86. </el-col>
  87. <el-col :span="6" style="margin-top:2%;">
  88. <el-input v-model="invoiceForm.scySocialCode" disabled style=" width:75%"></el-input>
  89. </el-col>
  90. <el-col :span="2" style="margin-top:2%;line-height: 34px;    text-align: right;">
  91. 单位地址:
  92. </el-col>
  93. <el-col :span="6" style="margin-top:2%;">
  94. <el-input v-model="invoiceForm.ziaAddress" disabled style=" width:75%"></el-input>
  95. </el-col>
  96. </el-row>
  97. <el-row>
  98. <el-col :span="2" style="margin-top:2%;line-height: 34px;    text-align: right;">
  99. 电话号码:
  100. </el-col>
  101. <el-col :span="6" style="margin-top:2%;">
  102. <el-input v-model="invoiceForm.ziaContactsPhone" disabled style=" width:75%"></el-input>
  103. </el-col>
  104. <el-col :span="2" style="margin-top:2%;line-height: 34px;    text-align: right;">
  105. 开户银行:
  106. </el-col>
  107. <el-col :span="6" style="margin-top:2%;">
  108. <el-input v-model="invoiceForm.pbaiBankName" disabled style=" width:75%"></el-input>
  109. </el-col>
  110. <el-col :span="2" style="margin-top:2%;line-height: 34px;    text-align: right;">
  111. 开户账号:
  112. </el-col>
  113. <el-col :span="6" style="margin-top:2%;">
  114. <el-input v-model="invoiceForm.pbaiBankaccountId" disabled style=" width:75%"></el-input>
  115. </el-col>
  116. </el-row>
  117. </el-form>
  118. </el-tab-pane>
  119. <!--———————————————————————————————————— 链属关系 ————————————————————————————————————————————————-->
  120. <el-tab-pane label="链属关系" name="Section">
  121. <span style="margin-bottom: 10px;color:#333333;font:14px Helvetica Neue, Helvetica, PingFang SC, Tahoma, Arial,sans-serif">所选条件:</span>
  122. <div style="float: right;margin-right:1%">
  123. <el-button type="cyan" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
  124. <el-button icon="el-icon-refresh" size="mini" @click="resetQuery" style="float: ;">重置</el-button>
  125. </div>
  126. <el-form :model="queryParams" ref="queryForm" :inline="true" label-width="150px">
  127. <el-form-item label="企业名称" prop="companyName">
  128. <el-input maxlength="30" v-model="queryParams.companyName" placeholder="请输入企业名称" clearable size="small" @keyup.enter.native="handleQuery" />
  129. </el-form-item>
  130. <el-form-item label="社会统一代码" prop="scySocialCode">
  131. <el-input maxlength="30" v-model="queryParams.scySocialCode" placeholder="请输入社会统一代码" clearable size="small" @keyup.enter.native="handleQuery" />
  132. </el-form-item>
  133. <el-form-item label="链属状态" prop="scrStatus">
  134. <el-select v-model="queryParams.scrStatus" placeholder="链属状态" clearable size="small" style="width: 215px">
  135. <el-option v-for="dict in scrStatusOptions" :key="dict.dictValue" :label="dict.dictLabel" :value="dict.dictValue"></el-option>
  136. </el-select>
  137. </el-form-item>
  138. <el-form-item label="企业类型" prop="scrType">
  139. <el-select v-model="queryParams.scrType" placeholder="企业类型" clearable size="small" style="width: 215px">
  140. <el-option v-for="dict in scrTypeOptions" :key="dict.dictValue" :label="dict.dictLabel" :value="dict.dictValue"></el-option>
  141. </el-select>
  142. </el-form-item>
  143. </el-form>
  144. <el-table v-loading="loading" :data="relList" stripe border>
  145. <el-table-column label="序号" type="index" width="55" align="center" />
  146. <el-table-column label="社会统一代码" align="center" prop="companyCode" show-overflow-tooltip>
  147. <template slot-scope="scope">
  148. <span v-if="scope.row.launch">{{scope.row.receiveScySocialCode}}</span>
  149. <span v-else>{{scope.row.launchScySocialCode}}</span>
  150. </template>
  151. </el-table-column>
  152. <el-table-column label="企业名称" align="center" prop="companyName" show-overflow-tooltip>
  153. <template slot-scope="scope">
  154. <span v-if="scope.row.launch">{{scope.row.receiveScyName}}</span>
  155. <span v-else>{{scope.row.launchScyName}}</span>
  156. </template>
  157. </el-table-column>
  158. <el-table-column label="企业类型" align="center" prop="companyType">
  159. <template slot-scope="scope">
  160. <span v-if="scope.row.launch">{{companyTypeFormat(scope.row.launchScrReceiveType)}}</span>
  161. <span v-else>{{companyTypeFormat(scope.row.launchScrLaunchType)}}</span>
  162. </template>
  163. </el-table-column>
  164. <el-table-column label="联系人" align="center" prop="launchScrContarct">
  165. </el-table-column>
  166. <el-table-column label="联系电话" align="center" prop="launchScrContarctPhone">
  167. </el-table-column>
  168. <el-table-column label="邮箱" align="center" prop="launchScrContarctEmail" show-overflow-tooltip>
  169. </el-table-column>
  170. <el-table-column label="状态" align="center" prop="launchScrStatus" :formatter="launchScrStatusFormat">
  171. </el-table-column>
  172. </el-table>
  173. <pagination v-show="total > 0"
  174. :total="total"
  175. :page.sync="queryParams.pageNum"
  176. :limit.sync="queryParams.pageSize"
  177. @pagination="getRelList" />
  178. </el-tab-pane>
  179. <!--———————————————————————————————————— 附件信息 ————————————————————————————————————————————————-->
  180. <el-tab-pane label="附件信息" name="eighth">
  181. <el-row>
  182. <el-col :span="8" v-if="licenShow" style="margin-top:2%;line-height: 34px; text-align: right;">
  183. 营业执照:
  184. </el-col>
  185. <el-upload v-if="licenShow" ref="licenImg" class="Img-demo" action="" multiple list-type="picture-card" :file-list="licenseFileList" :class="{ uoloadSty: showBtnImg, disUoloadSty: noBtnImg }" :auto-upload="false">
  186. <i slot="default" class="el-icon-plus"></i>
  187. <div slot="file" slot-scope="{file}">
  188. <img class="el-upload-list__item-thumbnail" :src="file.url" alt="">
  189. <span class="el-upload-list__item-actions">
  190. <span class="el-upload-list__item-preview" @click="handlePictureCardPreview(file)">
  191. <i class="el-icon-zoom-in"></i>
  192. </span>
  193. <span class="el-upload-list__item-delete" @click="handleImgDownload(file)">
  194. <i class="el-icon-download"></i>
  195. </span>
  196. </span>
  197. </div>
  198. </el-upload>
  199. <el-col :span="8" v-if="authorizationShow" style="margin-top:2%;line-height: 34px; text-align: right;">
  200. 法人授权书:
  201. </el-col>
  202. <el-upload v-if="authorizationShow" ref="authorizationImg" class="Img-demo" action=""
  203. multiple list-type="picture-card"
  204. :file-list="authorizationFileList"
  205. :class="{ uoloadSty: showBtnImg, disUoloadSty: noBtnImg }"
  206. :auto-upload="false">
  207. <i slot="default" class="el-icon-plus"></i>
  208. <div slot="file" slot-scope="{file}">
  209. <img class="el-upload-list__item-thumbnail" :src="file.url" alt="">
  210. <span class="el-upload-list__item-actions">
  211. <span class="el-upload-list__item-preview" @click="handlePictureCardPreview(file)">
  212. <i class="el-icon-zoom-in"></i>
  213. </span>
  214. <span class="el-upload-list__item-delete" @click="handleImgDownload(file)">
  215. <i class="el-icon-download"></i>
  216. </span>
  217. </span>
  218. </div>
  219. </el-upload>
  220. <!-- <el-upload ref="upload" v-if="authorizationShow" class="upload-demo" action="" :on-preview="handleFilePreview" multiple :file-list="authorizationFileList" :auto-upload="false">
  221. </el-upload> -->
  222. </el-row>
  223. <el-row>
  224. <el-row>
  225. <el-col :span="8" v-if="handlerPositiveShow || handlerNegativeShow" style="margin-top:2%;line-height: 34px; text-align: right;">
  226. 经办人信息:
  227. </el-col>
  228. <el-upload v-if="handlerPositiveShow" ref="handlerPositiveImg" class="Img-demo" action="" multiple :class="{ uoloadSty: showBtnImg, disUoloadSty: noBtnImg }" list-type="picture-card" :file-list="handlerPositiveList" :auto-upload="false">
  229. <i slot="default" class="el-icon-plus"></i>
  230. <div slot="file" slot-scope="{file}">
  231. <img class="el-upload-list__item-thumbnail" :src="file.url" alt="">
  232. <span class="el-upload-list__item-actions">
  233. <span class="el-upload-list__item-preview" @click="handlePictureCardPreview(file)">
  234. <i class="el-icon-zoom-in"></i>
  235. </span>
  236. <span class="el-upload-list__item-delete" @click="handleImgDownload(file)">
  237. <i class="el-icon-download"></i>
  238. </span>
  239. </span>
  240. </div>
  241. </el-upload>
  242. <el-upload v-if="handlerNegativeShow" ref="handlerNegativeImg" class="Img-demo" action="" multiple :class="{ uoloadSty: showBtnImg, disUoloadSty: noBtnImg }" list-type="picture-card" :file-list="handlerNegativeList" :auto-upload="false">
  243. <i slot="default" class="el-icon-plus"></i>
  244. <div slot="file" slot-scope="{file}">
  245. <img class="el-upload-list__item-thumbnail" :src="file.url" alt="">
  246. <span class="el-upload-list__item-actions" >
  247. <span class="el-upload-list__item-preview" @click="handlePictureCardPreview(file)" >
  248. <i class="el-icon-zoom-in"></i>
  249. </span>
  250. <span class="el-upload-list__item-delete" @click="handleImgDownload(file)">
  251. <i class="el-icon-download"></i>
  252. </span>
  253. </span>
  254. </div>
  255. </el-upload>
  256. </el-row>
  257. <el-col :span="8" v-if="legalShow || legalBackShow" style="margin-top:2%;line-height: 34px; text-align: right;">
  258. 法人证件:
  259. </el-col>
  260. <el-upload ref="legalImg" v-if="legalShow" class="Img-demo" action="" multiple :class="{ uoloadSty: showBtnImg, disUoloadSty: noBtnImg }" list-type="picture-card" :file-list="legalFileList" :auto-upload="false" style="float:left;">
  261. <i slot="default" class="el-icon-plus"></i>
  262. <div slot="file" slot-scope="{file}" >
  263. <img class="el-upload-list__item-thumbnail" :src="file.url" alt="" >
  264. <span class="el-upload-list__item-actions">
  265. <span class="el-upload-list__item-preview" @click="handlePictureCardPreview(file)">
  266. <i class="el-icon-zoom-in"></i>
  267. </span>
  268. <span class="el-upload-list__item-delete" @click="handleImgDownload(file)">
  269. <i class="el-icon-download"></i>
  270. </span>
  271. </span>
  272. </div>
  273. </el-upload>
  274. <el-upload ref="legalBackImg" v-if="legalBackShow" class="Img-demo" action="" multiple :class="{ uoloadSty: showBtnImg, disUoloadSty: noBtnImg }" list-type="picture-card" :file-list="legalBackFileList" :auto-upload="false">
  275. <i slot="default" class="el-icon-plus"></i>
  276. <div slot="file" slot-scope="{file}">
  277. <img class="el-upload-list__item-thumbnail" :src="file.url" alt="">
  278. <span class="el-upload-list__item-actions">
  279. <span class="el-upload-list__item-preview" @click="handlePictureCardPreview(file)">
  280. <i class="el-icon-zoom-in"></i>
  281. </span>
  282. <span class="el-upload-list__item-delete" @click="handleImgDownload(file)">
  283. <i class="el-icon-download"></i>
  284. </span>
  285. </span>
  286. </div>
  287. </el-upload>
  288. <el-col :span="8" v-if="commitmentShow" style="margin-top:2%;line-height: 34px; text-align: right;">
  289. 数字证书授权与承诺书:
  290. </el-col>
  291. <el-upload v-if="commitmentShow" ref="commitmentImg" class="Img-demo" action=""
  292. multiple list-type="picture-card"
  293. :file-list="commitmentFileList"
  294. :class="{ uoloadSty: showBtnImg, disUoloadSty: noBtnImg }"
  295. :auto-upload="false">
  296. <i slot="default" class="el-icon-plus"></i>
  297. <div slot="file" slot-scope="{file}">
  298. <img class="el-upload-list__item-thumbnail" :src="file.url" alt="">
  299. <span class="el-upload-list__item-actions">
  300. <span class="el-upload-list__item-preview" @click="handlePictureCardPreview(file)">
  301. <i class="el-icon-zoom-in"></i>
  302. </span>
  303. <span class="el-upload-list__item-delete" @click="handleImgDownload(file)">
  304. <i class="el-icon-download"></i>
  305. </span>
  306. </span>
  307. </div>
  308. </el-upload>
  309. <!-- <el-upload v-if="commitmentShow" ref="upload" class="upload-demo" action="" :on-preview="handleFilePreview" multiple :file-list="commitmentFileList" :auto-upload="false">
  310. </el-upload> -->
  311. </el-row>
  312. <el-row v-if="scyCfcaUserId">
  313. <el-col :span="12" style="margin-top:2%;margin-left:2%;line-height: 34px; text-align:left;">
  314. CFCA企业认证证书:<span>{{scyCfcaUserId}}</span>
  315. </el-col>
  316. </el-row>
  317. <el-row v-if="scyCfcaAuthNumber">
  318. <el-col :span="12" style="margin-top:2%;margin-left:2%;line-height: 34px; text-align:left;">
  319. CFCA授权编号:<span>{{scyCfcaAuthNumber}}</span>
  320. </el-col>
  321. </el-row>
  322. </el-tab-pane>
  323. <el-dialog :visible.sync="dialogVisible">
  324. <img width="100%" :src="dialogImageUrl" alt="">
  325. </el-dialog>
  326. <el-dialog :title="examTitle" :visible.sync="examOpen" width="400px" append-to-body >
  327. <el-form ref="examForm" :model="examForm" :rules="examRules" label-width="140px" :inline="true">
  328. <template>
  329. <el-radio v-model="examForm.state" label="03">通过</el-radio>
  330. <el-radio v-model="examForm.state" label="04">拒绝</el-radio>
  331. </template>
  332. </el-form>
  333. <div slot="footer" class="dialog-footer">
  334. <el-button type="primary" @click="examSubmit">确 定</el-button>
  335. <el-button @click="examCancel">取 消</el-button>
  336. </div>
  337. </el-dialog>
  338. <el-button type="primary" @click="handleExamine">四要素审核</el-button>
  339. </el-tabs>
  340. </template>
  341. <script>
  342. import {
  343. queryExam, getElementStatus,listRel
  344. } from "@/api/service/company/company";
  345. import { getToken } from "@/utils/auth";
  346. export default {
  347. name: "detailComPanyExam",
  348. components: {},
  349. data() {
  350. return {
  351. scyCfcaUserId:null,
  352. scyCfcaAuthNumber:null,
  353. examOpen:false,
  354. dialogImageUrl: "",
  355. dialogVisible: false,
  356. // 遮罩层
  357. loading: true,
  358. form: {
  359. scyType: null,
  360. },
  361. noBtnImg: true,
  362. licenShow: false,
  363. showBtnImg: false,
  364. authorizationShow: false,
  365. commitmentShow: false,
  366. legalShow: false,
  367. legalBackShow: false,
  368. appendixShow: false,
  369. handlerNegativeShow: false,
  370. handlerPositiveShow: false,
  371. queryParams: {
  372. pageNum: 1,
  373. pageSize: 10,
  374. scyId: null,
  375. companyName: null,
  376. scySocialCode: null,
  377. scrStatus: null,
  378. scrType: null,
  379. },
  380. total: 0,
  381. licenseFileList: [],
  382. legalFileList: [],
  383. legalBackFileList: [],
  384. authorizationFileList: [],
  385. commitmentFileList: [],
  386. handlerPositiveList: [],
  387. handlerNegativeList: [],
  388. relList: [],
  389. scyScaleOptions: [],
  390. scyOrganizationOptions: [],
  391. scyTypeOptions: [],
  392. scrStatusOptions: [],
  393. scrTypeOptions: [],
  394. contactsForm: {},
  395. invoiceForm: {},
  396. fileForm: {},
  397. activeName: "first",
  398. examForm : {
  399. scyId:null,
  400. state:null
  401. },
  402. examRules : {
  403. state: [
  404. { required: true, message: "审核状态不能为空", trigger: "blur" },
  405. ]
  406. },
  407. };
  408. },
  409. created() {
  410. const scyId = this.$route.params && this.$route.params.scyId;
  411. this.getList();
  412. this.getRelList();
  413. this.getDicts("ser_scy_scale").then((response) => {
  414. this.scyScaleOptions = response.data;
  415. });
  416. this.getDicts("ser_scy_organization").then((response) => {
  417. this.scyOrganizationOptions = response.data;
  418. });
  419. this.getDicts("ser_scy_type").then((response) => {
  420. this.scyTypeOptions = response.data;
  421. });
  422. this.getDicts("sys_scr_type").then((response) => {
  423. this.scrTypeOptions = response.data;
  424. });
  425. this.getDicts("sys_scr_status").then((response) => {
  426. this.scrStatusOptions = response.data;
  427. });
  428. },
  429. mounted() {},
  430. methods: {
  431. /** 提交按钮 */
  432. submitForm() {
  433. var self = this;
  434. this.$refs["form"].validate((valid) => {
  435. let fd = new FormData();
  436. for (var key in self.form) {
  437. fd.append(key, self.form[key]);
  438. }
  439. if (valid) {
  440. if (this.form.scyId != null) {
  441. const loading = this.$loading({
  442. lock: true,
  443. text: "Loading",
  444. spinner: "el-icon-loading",
  445. background: "rgba(0, 0, 0, 0.9)",
  446. });
  447. updateCompanyInfor(self.form).then((response) => {
  448. this.msgSuccess("修改成功");
  449. this.getList();
  450. this.getRelList();
  451. });
  452. loading.close();
  453. }
  454. }
  455. });
  456. },
  457. //取消按钮
  458. cancel() {
  459. (this.form.scyIndustry = null),
  460. (this.form.scyScale = null),
  461. (this.form.scyOrganization = null),
  462. (this.form.scyManager = null);
  463. this.$store.dispatch("tagsView/delView", this.$route);
  464. this.$router.go(-1);
  465. },
  466. /* 下载 */
  467. handleFilePreview(fileUrl) {
  468. this.$confirm('是否确认下载"' + fileUrl.name + '"附件?', "警告", {
  469. confirmButtonText: "确定",
  470. cancelButtonText: "取消",
  471. type: "warning",
  472. }).then(function () {
  473. if (fileUrl.name.substr(-3) == "pdf") {
  474. if (fileUrl.url.indexOf("getPdf") != -1) {
  475. fileUrl.url = fileUrl.url.replace("getPdf", "getBytes");
  476. }
  477. window.open(fileUrl.url + "/" + getToken());
  478. } else {
  479. var a = document.createElement("a");
  480. var event = new MouseEvent("click");
  481. a.download = fileUrl.name;
  482. a.href = fileUrl.url + "/" + getToken();
  483. a.dispatchEvent(event);
  484. }
  485. });
  486. },
  487. handlePictureCardPreview(file) {
  488. this.dialogImageUrl = file.url + "/" + getToken();
  489. this.dialogVisible = true;
  490. },
  491. handleImgDownload(file) {
  492. var a = document.createElement('a');
  493. var event = new MouseEvent('click');
  494. a.download = file.name;
  495. a.href = file.url+'/'+getToken();
  496. a.dispatchEvent(event);
  497. console.log(file)
  498. },
  499. /** 搜索按钮操作 */
  500. handleQuery() {
  501. this.queryParams.pageNum = 1;
  502. this.getRelList();
  503. },
  504. /** 重置按钮操作 */
  505. resetQuery() {
  506. this.resetForm("queryForm");
  507. this.handleQuery();
  508. },
  509. // 菜单状态字典翻译
  510. companyTypeFormat(companyType) {
  511. return this.selectDictLabel(this.scrTypeOptions, companyType);
  512. },
  513. scyTypeFormat(scyType) {
  514. return this.selectDictLabel(this.scyTypeOptions, scyType);
  515. },
  516. launchScrStatusFormat(row, column) {
  517. return this.selectDictLabel(
  518. this.scrStatusOptions,
  519. row.launchScrStatus
  520. );
  521. },
  522. scyScaleFormat(scyScale){
  523. return this.selectDictLabel(this.scyScaleOptions, scyScale);
  524. },
  525. scyOrganizationFormat(scyOrganization){
  526. return this.selectDictLabel(this.scyOrganizationOptions, scyOrganization);
  527. },
  528. getList() {
  529. this.loading = true;
  530. const scyId = this.$route.params && this.$route.params.scyId;
  531. queryExam(scyId).then((response) => {
  532. //基本信息
  533. if (response.data.basicList.length > 0) {
  534. this.form = response.data.basicList[0];
  535. if(response.data.basicList[0].scyCfcaUserId){
  536. this.scyCfcaUserId = this.form.scyCfcaUserId;
  537. }
  538. if(response.data.basicList[0].scyCfcaAuthNumber){
  539. this.scyCfcaAuthNumber = this.form.scyCfcaAuthNumber;
  540. }
  541. }
  542. //经办人信息
  543. if (response.data.contactsList) {
  544. if (response.data.contactsList.length > 0) {
  545. this.contactsForm = response.data.contactsList[0];
  546. }
  547. }
  548. //发票信息
  549. if (response.data.invoiceList.length > 0) {
  550. this.invoiceForm = response.data.invoiceList[0];
  551. }
  552. //营业执照信息
  553. if (response.data.licenseList) {
  554. const licenseImg = response.data.licenseList[0].pfiUrl;
  555. const licenseImgId = response.data.licenseList[0].pfiFileId;
  556. if (licenseImg != "" && licenseImgId != "") {
  557. this.licenShow = true;
  558. let imgUrl = licenseImg.split(",");
  559. let imgUrlId = licenseImgId.split(",");
  560. for (let i = 0; i < imgUrl.length; i++) {
  561. this.licenseFileList.push({
  562. url: imgUrl[i] + "/" + getToken(),
  563. uid: imgUrlId[i],
  564. });
  565. }
  566. } else {
  567. this.licenShow = false;
  568. }
  569. }
  570. //法人正面信息
  571. if (response.data.legalList) {
  572. const legalImg = response.data.legalList[0].pfiUrl;
  573. const legalImgId = response.data.legalList[0].pfiFileId;
  574. if (legalImg != "" && legalImgId != "") {
  575. this.legalShow = true;
  576. let imgUrl = legalImg.split(",");
  577. let imgUrlId = legalImgId.split(",");
  578. for (let i = 0; i < imgUrl.length; i++) {
  579. this.legalFileList.push({
  580. url: imgUrl[i] + "/" + getToken(),
  581. uid: imgUrlId[i],
  582. });
  583. }
  584. } else {
  585. this.legalShow = false;
  586. }
  587. }
  588. //法人反面信息
  589. if (response.data.legalBackList) {
  590. const legalBackImg = response.data.legalBackList[0].pfiUrl;
  591. const legalBackImgId =
  592. response.data.legalBackList[0].pfiFileId;
  593. if (legalBackImg != "" && legalBackImgId != "") {
  594. this.legalBackShow = true;
  595. let imgUrl = legalBackImg.split(",");
  596. let imgUrlId = legalBackImgId.split(",");
  597. for (let i = 0; i < imgUrl.length; i++) {
  598. this.legalBackFileList.push({
  599. url: imgUrl[i] + "/" + getToken(),
  600. uid: imgUrlId[i],
  601. });
  602. }
  603. } else {
  604. this.legalBackShow = false;
  605. }
  606. }
  607. //经办人正面信息
  608. if (response.data.handlerPositiveList) {
  609. const handlerPositiveImg =
  610. response.data.handlerPositiveList[0].pfiUrl;
  611. const handlerPositiveImgId =
  612. response.data.handlerPositiveList[0].pfiFileId;
  613. if (handlerPositiveImg != "" && handlerPositiveId != "") {
  614. this.handlerPositiveShow = true;
  615. let imgUrl = handlerPositiveImg.split(",");
  616. let imgUrlId = handlerPositiveImgId.split(",");
  617. for (let i = 0; i < imgUrl.length; i++) {
  618. this.handlerPositiveList.push({
  619. url: imgUrl[i] + "/" + getToken(),
  620. uid: imgUrlId[i],
  621. });
  622. }
  623. } else {
  624. this.handlerPositiveShow = false;
  625. }
  626. }
  627. //经办人反面信息
  628. if (response.data.handlerNegativeList) {
  629. const handlerNegativeImg =
  630. response.data.handlerNegativeList[0].pfiUrl;
  631. const handlerNegativeImgId =
  632. response.data.handlerNegativeList[0].pfiFileId;
  633. if (
  634. handlerNegativeImg != "" &&
  635. handlerNegativeImgId != ""
  636. ) {
  637. this.handlerNegativeShow = true;
  638. let imgUrl = handlerNegativeImg.split(",");
  639. let imgUrlId = handlerNegativeImgId.split(",");
  640. for (let i = 0; i < imgUrl.length; i++) {
  641. this.handlerNegativeList.push({
  642. url: imgUrl[i] + "/" + getToken(),
  643. uid: imgUrlId[i],
  644. });
  645. }
  646. } else {
  647. this.handlerNegativeShow = false;
  648. }
  649. }
  650. //法人授权书信息
  651. if (response.data.authorizationList) {
  652. const authorizationFileName =
  653. response.data.authorizationList[0].pfiFileName;
  654. const authorizationFile =
  655. response.data.authorizationList[0].pfiUrl;
  656. const authorizationFileId =
  657. response.data.authorizationList[0].pfiFileId;
  658. if (authorizationFile != "" && authorizationFileId != "") {
  659. this.authorizationShow = true;
  660. let fileName = authorizationFileName.split(",");
  661. let fileUrl = authorizationFile.split(",");
  662. let fileUrlId = authorizationFileId.split(",");
  663. for (let i = 0; i < fileUrl.length; i++) {
  664. this.authorizationFileList.push({
  665. url: fileUrl[i] + "/" + getToken(),
  666. uid: fileUrlId[i],
  667. });
  668. }
  669. } else {
  670. this.authorizationShow = false;
  671. }
  672. }
  673. //数字证书授权与承诺书信息
  674. if (response.data.commitmentList) {
  675. const commitmentFileName =
  676. response.data.commitmentList[0].pfiFileName;
  677. const commitmentFile =
  678. response.data.commitmentList[0].pfiUrl;
  679. const commitmentFileId =
  680. response.data.commitmentList[0].pfiFileId;
  681. if (commitmentFile != "" && commitmentFileId != "") {
  682. this.commitmentShow = true;
  683. let fileName = commitmentFileName.split(",");
  684. let fileUrl = commitmentFile.split(",");
  685. let fileUrlId = commitmentFileId.split(",");
  686. for (let i = 0; i < fileUrl.length; i++) {
  687. this.commitmentFileList.push({
  688. url: fileUrl[i] + "/" + getToken(),
  689. uid: fileUrlId[i],
  690. });
  691. }
  692. } else {
  693. this.commitmentShow = false;
  694. }
  695. }
  696. this.loading = false;
  697. });
  698. },
  699. getRelList() {
  700. const scyId = this.$route.params && this.$route.params.scyId;
  701. this.queryParams.scyId = scyId;
  702. listRel(this.queryParams).then((response) => {
  703. debugger
  704. let list = response.data.records;
  705. this.loginId = response.msg;
  706. for (let i = 0; i < list.length; i++) {
  707. if (list[i].launchCompanyId == scyId) {
  708. list[i].receive = false;
  709. list[i].launch = true;
  710. } else if (list[i].launchReceiveScrCompanyId == scyId) {
  711. list[i].launch = false;
  712. list[i].receive = true;
  713. }
  714. }
  715. this.relList = list;
  716. this.total = response.data.total;
  717. });
  718. },
  719. //四要素审核
  720. handleExamine(row){
  721. const scyId = this.$route.params && this.$route.params.scyId;
  722. this.examForm.scyId = scyId;
  723. this.examForm.state = "03";
  724. this.examTitle = "四要素审核";
  725. this.examOpen = true;
  726. },
  727. //审核取消
  728. examCancel(){
  729. this.examForm.scyId = null;
  730. this.examForm.state = "03";
  731. this.examOpen = false;
  732. },
  733. //审核提交
  734. examSubmit(){
  735. console.log(this.examForm)
  736. var self = this;
  737. this.$refs["examForm"].validate(valid => {
  738. let fd = new FormData();
  739. for(var key in self.examForm){
  740. fd.append(key, self.examForm[key]);
  741. }
  742. if (valid) {
  743. if (this.examForm.scyId != null) {
  744. const loading = this.$loading({
  745. lock: true,
  746. text: "Loading",
  747. spinner: "el-icon-loading",
  748. background: "rgba(0, 0, 0, 0.7)",
  749. })
  750. getElementStatus(self.examForm).then(response => {
  751. this.msgSuccess("审核成功");
  752. this.getList();
  753. this.examCancel();
  754. this.$store.dispatch("tagsView/delView", this.$route);
  755. this.$router.go(-1);
  756. });
  757. loading.close();
  758. }
  759. }
  760. })
  761. },
  762. },
  763. };
  764. </script>
  765. <style lang="scss">
  766. .uoloadSty .el-upload--picture-card {
  767. width: 110px;
  768. height: 110px;
  769. line-height: 110px;
  770. }
  771. .disUoloadSty .el-upload--picture-card {
  772. display: none;
  773. }
  774. </style>