detailCompany.vue 38 KB

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