detailCompanyExam.vue 40 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-tab-pane>
  313. <el-dialog :visible.sync="dialogVisible">
  314. <img width="100%" :src="dialogImageUrl" alt="">
  315. </el-dialog>
  316. <el-dialog :title="examTitle" :visible.sync="examOpen" width="400px" append-to-body >
  317. <el-form ref="examForm" :model="examForm" :rules="examRules" label-width="140px" :inline="true">
  318. <template>
  319. <el-radio v-model="examForm.state" label="03">通过</el-radio>
  320. <el-radio v-model="examForm.state" label="04">拒绝</el-radio>
  321. </template>
  322. </el-form>
  323. <div slot="footer" class="dialog-footer">
  324. <el-button type="primary" @click="examSubmit">确 定</el-button>
  325. <el-button @click="examCancel">取 消</el-button>
  326. </div>
  327. </el-dialog>
  328. <el-button type="primary" @click="handleExamine">四要素审核</el-button>
  329. </el-tabs>
  330. </template>
  331. <script>
  332. import {
  333. queryExam, getElementStatus,listRel
  334. } from "@/api/service/company/company";
  335. import { getToken } from "@/utils/auth";
  336. export default {
  337. name: "detailComPanyExam",
  338. components: {},
  339. data() {
  340. return {
  341. examOpen:false,
  342. dialogImageUrl: "",
  343. dialogVisible: false,
  344. // 遮罩层
  345. loading: true,
  346. form: {
  347. scyType: null,
  348. },
  349. noBtnImg: true,
  350. licenShow: false,
  351. showBtnImg: false,
  352. authorizationShow: false,
  353. commitmentShow: false,
  354. legalShow: false,
  355. legalBackShow: false,
  356. appendixShow: false,
  357. handlerNegativeShow: false,
  358. handlerPositiveShow: false,
  359. queryParams: {
  360. pageNum: 1,
  361. pageSize: 10,
  362. scyId: null,
  363. companyName: null,
  364. scySocialCode: null,
  365. scrStatus: null,
  366. scrType: null,
  367. },
  368. total: 0,
  369. licenseFileList: [],
  370. legalFileList: [],
  371. legalBackFileList: [],
  372. authorizationFileList: [],
  373. commitmentFileList: [],
  374. handlerPositiveList: [],
  375. handlerNegativeList: [],
  376. relList: [],
  377. scyScaleOptions: [],
  378. scyOrganizationOptions: [],
  379. scyTypeOptions: [],
  380. scrStatusOptions: [],
  381. scrTypeOptions: [],
  382. contactsForm: {},
  383. invoiceForm: {},
  384. fileForm: {},
  385. activeName: "first",
  386. examForm : {
  387. scyId:null,
  388. state:null
  389. },
  390. examRules : {
  391. state: [
  392. { required: true, message: "审核状态不能为空", trigger: "blur" },
  393. ]
  394. },
  395. };
  396. },
  397. created() {
  398. const scyId = this.$route.params && this.$route.params.scyId;
  399. this.getList();
  400. this.getRelList();
  401. this.getDicts("ser_scy_scale").then((response) => {
  402. this.scyScaleOptions = response.data;
  403. });
  404. this.getDicts("ser_scy_organization").then((response) => {
  405. this.scyOrganizationOptions = response.data;
  406. });
  407. this.getDicts("ser_scy_type").then((response) => {
  408. this.scyTypeOptions = response.data;
  409. });
  410. this.getDicts("sys_scr_type").then((response) => {
  411. this.scrTypeOptions = response.data;
  412. });
  413. this.getDicts("sys_scr_status").then((response) => {
  414. this.scrStatusOptions = response.data;
  415. });
  416. },
  417. mounted() {},
  418. methods: {
  419. /** 提交按钮 */
  420. submitForm() {
  421. var self = this;
  422. this.$refs["form"].validate((valid) => {
  423. let fd = new FormData();
  424. for (var key in self.form) {
  425. fd.append(key, self.form[key]);
  426. }
  427. if (valid) {
  428. if (this.form.scyId != null) {
  429. const loading = this.$loading({
  430. lock: true,
  431. text: "Loading",
  432. spinner: "el-icon-loading",
  433. background: "rgba(0, 0, 0, 0.9)",
  434. });
  435. updateCompanyInfor(self.form).then((response) => {
  436. this.msgSuccess("修改成功");
  437. this.getList();
  438. this.getRelList();
  439. });
  440. loading.close();
  441. }
  442. }
  443. });
  444. },
  445. //取消按钮
  446. cancel() {
  447. (this.form.scyIndustry = null),
  448. (this.form.scyScale = null),
  449. (this.form.scyOrganization = null),
  450. (this.form.scyManager = null);
  451. this.$store.dispatch("tagsView/delView", this.$route);
  452. this.$router.go(-1);
  453. },
  454. /* 下载 */
  455. handleFilePreview(fileUrl) {
  456. this.$confirm('是否确认下载"' + fileUrl.name + '"附件?', "警告", {
  457. confirmButtonText: "确定",
  458. cancelButtonText: "取消",
  459. type: "warning",
  460. }).then(function () {
  461. if (fileUrl.name.substr(-3) == "pdf") {
  462. if (fileUrl.url.indexOf("getPdf") != -1) {
  463. fileUrl.url = fileUrl.url.replace("getPdf", "getBytes");
  464. }
  465. window.open(fileUrl.url + "/" + getToken());
  466. } else {
  467. var a = document.createElement("a");
  468. var event = new MouseEvent("click");
  469. a.download = fileUrl.name;
  470. a.href = fileUrl.url + "/" + getToken();
  471. a.dispatchEvent(event);
  472. }
  473. });
  474. },
  475. handlePictureCardPreview(file) {
  476. this.dialogImageUrl = file.url + "/" + getToken();
  477. this.dialogVisible = true;
  478. },
  479. handleImgDownload(file) {
  480. var a = document.createElement('a');
  481. var event = new MouseEvent('click');
  482. a.download = file.name;
  483. a.href = file.url+'/'+getToken();
  484. a.dispatchEvent(event);
  485. console.log(file)
  486. },
  487. /** 搜索按钮操作 */
  488. handleQuery() {
  489. this.queryParams.pageNum = 1;
  490. this.getRelList();
  491. },
  492. /** 重置按钮操作 */
  493. resetQuery() {
  494. this.resetForm("queryForm");
  495. this.handleQuery();
  496. },
  497. // 菜单状态字典翻译
  498. companyTypeFormat(companyType) {
  499. return this.selectDictLabel(this.scrTypeOptions, companyType);
  500. },
  501. scyTypeFormat(scyType) {
  502. return this.selectDictLabel(this.scyTypeOptions, scyType);
  503. },
  504. launchScrStatusFormat(row, column) {
  505. return this.selectDictLabel(
  506. this.scrStatusOptions,
  507. row.launchScrStatus
  508. );
  509. },
  510. scyScaleFormat(scyScale){
  511. return this.selectDictLabel(this.scyScaleOptions, scyScale);
  512. },
  513. scyOrganizationFormat(scyOrganization){
  514. return this.selectDictLabel(this.scyOrganizationOptions, scyOrganization);
  515. },
  516. getList() {
  517. this.loading = true;
  518. const scyId = this.$route.params && this.$route.params.scyId;
  519. queryExam(scyId).then((response) => {
  520. //基本信息
  521. if (response.data.basicList.length > 0) {
  522. this.form = response.data.basicList[0];
  523. }
  524. //经办人信息
  525. if (response.data.contactsList) {
  526. if (response.data.contactsList.length > 0) {
  527. this.contactsForm = response.data.contactsList[0];
  528. }
  529. }
  530. //发票信息
  531. if (response.data.invoiceList.length > 0) {
  532. this.invoiceForm = response.data.invoiceList[0];
  533. }
  534. //营业执照信息
  535. if (response.data.licenseList) {
  536. const licenseImg = response.data.licenseList[0].pfiUrl;
  537. const licenseImgId = response.data.licenseList[0].pfiFileId;
  538. if (licenseImg != "" && licenseImgId != "") {
  539. this.licenShow = true;
  540. let imgUrl = licenseImg.split(",");
  541. let imgUrlId = licenseImgId.split(",");
  542. for (let i = 0; i < imgUrl.length; i++) {
  543. this.licenseFileList.push({
  544. url: imgUrl[i] + "/" + getToken(),
  545. uid: imgUrlId[i],
  546. });
  547. }
  548. } else {
  549. this.licenShow = false;
  550. }
  551. }
  552. //法人正面信息
  553. if (response.data.legalList) {
  554. const legalImg = response.data.legalList[0].pfiUrl;
  555. const legalImgId = response.data.legalList[0].pfiFileId;
  556. if (legalImg != "" && legalImgId != "") {
  557. this.legalShow = true;
  558. let imgUrl = legalImg.split(",");
  559. let imgUrlId = legalImgId.split(",");
  560. for (let i = 0; i < imgUrl.length; i++) {
  561. this.legalFileList.push({
  562. url: imgUrl[i] + "/" + getToken(),
  563. uid: imgUrlId[i],
  564. });
  565. }
  566. } else {
  567. this.legalShow = false;
  568. }
  569. }
  570. //法人反面信息
  571. if (response.data.legalBackList) {
  572. const legalBackImg = response.data.legalBackList[0].pfiUrl;
  573. const legalBackImgId =
  574. response.data.legalBackList[0].pfiFileId;
  575. if (legalBackImg != "" && legalBackImgId != "") {
  576. this.legalBackShow = true;
  577. let imgUrl = legalBackImg.split(",");
  578. let imgUrlId = legalBackImgId.split(",");
  579. for (let i = 0; i < imgUrl.length; i++) {
  580. this.legalBackFileList.push({
  581. url: imgUrl[i] + "/" + getToken(),
  582. uid: imgUrlId[i],
  583. });
  584. }
  585. } else {
  586. this.legalBackShow = false;
  587. }
  588. }
  589. //经办人正面信息
  590. if (response.data.handlerPositiveList) {
  591. const handlerPositiveImg =
  592. response.data.handlerPositiveList[0].pfiUrl;
  593. const handlerPositiveImgId =
  594. response.data.handlerPositiveList[0].pfiFileId;
  595. if (handlerPositiveImg != "" && handlerPositiveId != "") {
  596. this.handlerPositiveShow = true;
  597. let imgUrl = handlerPositiveImg.split(",");
  598. let imgUrlId = handlerPositiveImgId.split(",");
  599. for (let i = 0; i < imgUrl.length; i++) {
  600. this.handlerPositiveList.push({
  601. url: imgUrl[i] + "/" + getToken(),
  602. uid: imgUrlId[i],
  603. });
  604. }
  605. } else {
  606. this.handlerPositiveShow = false;
  607. }
  608. }
  609. //经办人反面信息
  610. if (response.data.handlerNegativeList) {
  611. const handlerNegativeImg =
  612. response.data.handlerNegativeList[0].pfiUrl;
  613. const handlerNegativeImgId =
  614. response.data.handlerNegativeList[0].pfiFileId;
  615. if (
  616. handlerNegativeImg != "" &&
  617. handlerNegativeImgId != ""
  618. ) {
  619. this.handlerNegativeShow = true;
  620. let imgUrl = handlerNegativeImg.split(",");
  621. let imgUrlId = handlerNegativeImgId.split(",");
  622. for (let i = 0; i < imgUrl.length; i++) {
  623. this.handlerNegativeList.push({
  624. url: imgUrl[i] + "/" + getToken(),
  625. uid: imgUrlId[i],
  626. });
  627. }
  628. } else {
  629. this.handlerNegativeShow = false;
  630. }
  631. }
  632. //法人授权书信息
  633. if (response.data.authorizationList) {
  634. const authorizationFileName =
  635. response.data.authorizationList[0].pfiFileName;
  636. const authorizationFile =
  637. response.data.authorizationList[0].pfiUrl;
  638. const authorizationFileId =
  639. response.data.authorizationList[0].pfiFileId;
  640. if (authorizationFile != "" && authorizationFileId != "") {
  641. this.authorizationShow = true;
  642. let fileName = authorizationFileName.split(",");
  643. let fileUrl = authorizationFile.split(",");
  644. let fileUrlId = authorizationFileId.split(",");
  645. for (let i = 0; i < fileUrl.length; i++) {
  646. this.authorizationFileList.push({
  647. url: fileUrl[i] + "/" + getToken(),
  648. uid: fileUrlId[i],
  649. });
  650. }
  651. } else {
  652. this.authorizationShow = false;
  653. }
  654. }
  655. //数字证书授权与承诺书信息
  656. if (response.data.commitmentList) {
  657. const commitmentFileName =
  658. response.data.commitmentList[0].pfiFileName;
  659. const commitmentFile =
  660. response.data.commitmentList[0].pfiUrl;
  661. const commitmentFileId =
  662. response.data.commitmentList[0].pfiFileId;
  663. if (commitmentFile != "" && commitmentFileId != "") {
  664. this.commitmentShow = true;
  665. let fileName = commitmentFileName.split(",");
  666. let fileUrl = commitmentFile.split(",");
  667. let fileUrlId = commitmentFileId.split(",");
  668. for (let i = 0; i < fileUrl.length; i++) {
  669. this.commitmentFileList.push({
  670. url: fileUrl[i] + "/" + getToken(),
  671. uid: fileUrlId[i],
  672. });
  673. }
  674. } else {
  675. this.commitmentShow = false;
  676. }
  677. }
  678. //其他附件
  679. // if(response.data.appendixList){
  680. // const appendixFileName = response.data.appendixList[0].pfiFileName;
  681. // const appendixFile = response.data.appendixList[0].pfiUrl;
  682. // const appendixFileId = response.data.appendixList[0].pfiFileId;
  683. // if(appendixFile != '' && appendixFileId != ''){
  684. // this.appendixShow = true;
  685. // let fileName = (appendixFileName).split(",")
  686. // let fileUrl =(appendixFile).split(",")
  687. // let fileUrlId =(appendixFileId).split(",")
  688. // for(let i = 0;i< fileUrl.length;i++){
  689. // this.appendixFileList.push({name:fileName[i], url: fileUrl[i] + '/' + getToken(), uid: fileUrlId[i] });
  690. // }
  691. // }else{
  692. // this.appendixShow = false;
  693. // }
  694. // }
  695. this.loading = false;
  696. });
  697. },
  698. getRelList() {
  699. const scyId = this.$route.params && this.$route.params.scyId;
  700. this.queryParams.scyId = scyId;
  701. listRel(this.queryParams).then((response) => {
  702. debugger
  703. let list = response.data.records;
  704. this.loginId = response.msg;
  705. for (let i = 0; i < list.length; i++) {
  706. if (list[i].launchCompanyId == scyId) {
  707. list[i].receive = false;
  708. list[i].launch = true;
  709. } else if (list[i].launchReceiveScrCompanyId == scyId) {
  710. list[i].launch = false;
  711. list[i].receive = true;
  712. }
  713. }
  714. this.relList = list;
  715. this.total = response.data.total;
  716. });
  717. },
  718. //四要素审核
  719. handleExamine(row){
  720. const scyId = this.$route.params && this.$route.params.scyId;
  721. this.examForm.scyId = scyId;
  722. this.examForm.state = "03";
  723. this.examTitle = "四要素审核";
  724. this.examOpen = true;
  725. },
  726. //审核取消
  727. examCancel(){
  728. this.examForm.scyId = null;
  729. this.examForm.state = "03";
  730. this.examOpen = false;
  731. },
  732. //审核提交
  733. examSubmit(){
  734. console.log(this.examForm)
  735. debugger
  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>