index.vue 35 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029
  1. <template>
  2. <div>
  3. <!--顶部显示-->
  4. <el-breadcrumb class="heading">
  5. <el-breadcrumb-item :to="{ path: '/' }">平台首页</el-breadcrumb-item>
  6. <el-breadcrumb-item>供方情况查询</el-breadcrumb-item>
  7. </el-breadcrumb>
  8. <!--内框顶部显示-->
  9. <el-card class="box-card" style="height: calc(100vh - 115px);position:relative">
  10. <div slot="header">
  11. <span>
  12. <i class="icon icon-table2"></i> 供方情况查询
  13. </span>
  14. <el-form
  15. :model="searchForm"
  16. ref="searchformRef"
  17. :inline="true"
  18. style="float: right;position:absolute;right:15px;top:10.5px"
  19. >
  20. <el-form-item label="准入证号">
  21. <el-input size="mini" v-model="searchForm.AccessCardNo" placeholder="请输入内容"></el-input>
  22. </el-form-item>
  23. <el-form-item label="企业名称">
  24. <el-input size="mini" v-model="searchForm.SupplierName" placeholder="请输入内容"></el-input>
  25. </el-form-item>
  26. <el-form-item label="准入类别">
  27. <el-select
  28. size="mini"
  29. style="width:150px"
  30. v-model="searchForm.SupplierTypeCode"
  31. placeholder="请选择"
  32. >
  33. <el-option label="全部" value></el-option>
  34. <el-option label="物资类" value="01"></el-option>
  35. <el-option label="基建类" value="02"></el-option>
  36. <el-option label="技术服务类" value="03"></el-option>
  37. </el-select>
  38. </el-form-item>
  39. <el-form-item>
  40. <el-dropdown
  41. split-button
  42. type="primary"
  43. size="mini"
  44. @click="initDatas($event)"
  45. @command="searchCommand"
  46. >
  47. 查询
  48. <el-dropdown-menu slot="dropdown">
  49. <el-dropdown-item command="search">高级查询</el-dropdown-item>
  50. <el-dropdown-item command="clear">查询重置</el-dropdown-item>
  51. </el-dropdown-menu>
  52. </el-dropdown>
  53. </el-form-item>
  54. <el-form-item>
  55. <el-button type="primary" size="mini" @click="exportExcel">导出</el-button>
  56. </el-form-item>
  57. </el-form>
  58. </div>
  59. <!--内框表格显示-->
  60. <el-table
  61. id="rebateSetTable"
  62. :data="entityList"
  63. size="mini"
  64. border
  65. height="calc(100vh - 243px)"
  66. style="width: 100%"
  67. @sort-change="orderby"
  68. >
  69. <el-table-column label="操作" min-width="200px" align="center" fixed="right">
  70. <template slot-scope="scope">
  71. <el-button type="text" @click="toWord(scope.row)" title="下载" size="mini" icon="el-icon-download" width="120px">下载</el-button>
  72. <el-button type="text" @click="toPdf(scope.row)" title="导出" size="mini" icon="el-icon-document" width="120px">导出</el-button>
  73. </template>
  74. </el-table-column>
  75. <!--内框表格剩余栏显示-->
  76. <el-table-column label="准入证号" width="100px" prop="AccessCardNo" sortable align="center"></el-table-column>
  77. <el-table-column label="企业名称" width="280px" prop="SupplierName" sortable align="center"></el-table-column>
  78. <el-table-column label="准入类别" prop="SupplierTypeCode" align="center">
  79. <template slot-scope="scope">
  80. {{transferStr(scope.row.SupplierTypeCode)}}
  81. </template>
  82. </el-table-column>
  83. <el-table-column label="法人代表" width="100px" prop="LegalPerson" align="center"></el-table-column>
  84. <el-table-column label="注册资金(万元)" width="150px" prop="RegCapital" sortable align="center"></el-table-column>
  85. <el-table-column label="移动电话" width="100px" prop="Mobile" align="center"></el-table-column>
  86. <el-table-column label="最后一次年审" width="100px" prop="AuditDate" align="center">
  87. <template slot-scope="scope">{{ jstimehandle(scope.row.AuditDate) }}</template>
  88. </el-table-column>
  89. <el-table-column label="有效期至" width="100px" prop="ApplyTime" align="center">
  90. <template slot-scope="scope">{{ jstimehandle(scope.row.ApplyTime) }}</template>
  91. </el-table-column>
  92. <el-table-column label="状态" prop="InFlag" width="100px" align="center">
  93. <template slot-scope="scope">
  94. <el-alert
  95. v-if="scope.row.InFlag=='1'"
  96. :closable="false"
  97. style="background:rgba(255,255,255,0.2)"
  98. title="准入"
  99. type="success"
  100. ></el-alert>
  101. <el-alert
  102. v-if="scope.row.InFlag=='2'"
  103. :closable="false"
  104. style="background:rgba(255,255,255,0.2)"
  105. title="暂停"
  106. type="warning"
  107. ></el-alert>
  108. <el-alert
  109. v-if="scope.row.InFlag=='3'"
  110. :closable="false"
  111. style="background:rgba(255,255,255,0.2)"
  112. title="取消"
  113. type="error"
  114. ></el-alert>
  115. </template>
  116. </el-table-column>
  117. <el-table-column label="企业曾用名" width="280px" prop="OldSupplierName" align="center"></el-table-column>
  118. </el-table>
  119. <!-- 分页 -->
  120. <el-pagination
  121. @size-change="handleSizeChange"
  122. @current-change="handleCurrentChange"
  123. :current-page="currentPage"
  124. :page-sizes="[10, 15, 20, 25]"
  125. :page-size="size"
  126. layout="total, sizes, prev, pager, next, jumper"
  127. :total="currentItemCount"
  128. ></el-pagination>
  129. </el-card>
  130. <!-- 详情框(默认隐藏) -->
  131. <!--
  132. <el-dialog
  133. class="eldialog"
  134. title="大港油田公司供方情况一览表"
  135. :visible.sync="show"
  136. width="1000px"
  137. :center="true"
  138. >
  139. <el-form :inline="true" style="float: right;position:absolute;right:60px;top:10.5px">
  140. <el-form-item>
  141. &lt;!&ndash; <el-button type="primary" size="mini" @click="print">打印</el-button> &ndash;&gt;
  142. </el-form-item>
  143. </el-form>
  144. &lt;!&ndash;打印内容开始&ndash;&gt;
  145. <el-form label-width="135px" :model="formData" size="mini">
  146. <el-row>
  147. <el-col :span="8">
  148. <el-form-item label="供方名称 :" prop="SupplierName">
  149. <el-input v-model="formData.SupplierName" style="width: 100%" readonly></el-input>
  150. </el-form-item>
  151. </el-col>
  152. <el-col :span="8">
  153. <el-form-item label="准入证号 :" prop="AccessCardNo">
  154. <el-input v-model="formData.AccessCardNo" style="width: 100%" readonly></el-input>
  155. </el-form-item>
  156. </el-col>
  157. </el-row>
  158. <el-row>
  159. <el-col :span="8">
  160. <el-form-item label="单位关系 :" prop="SpecTypeCode">
  161. <el-input v-model="formData.SpecTypeCode" style="width: 100%" readonly></el-input>
  162. </el-form-item>
  163. </el-col>
  164. <el-col :span="8">
  165. <el-form-item label="国家 :" prop="Country">
  166. <el-input v-model="formData.Country" style="width: 100%" readonly></el-input>
  167. </el-form-item>
  168. </el-col>
  169. <el-col :span="8">
  170. <el-form-item label="准入方式 :" prop="InStyle">
  171. <el-input v-model="formData.InStyle" style="width: 100%" readonly></el-input>
  172. </el-form-item>
  173. </el-col>
  174. </el-row>
  175. <el-row>
  176. <el-col :span="8">
  177. <el-form-item label="管理单位 :" prop="ManagementUnit">
  178. <el-input v-model="formData.ManagementUnit" style="width: 100%" readonly></el-input>
  179. </el-form-item>
  180. </el-col>
  181. <el-col :span="8">
  182. <el-form-item label="证件合一 :" prop="CredentialFlag">
  183. <el-input v-model="formData.CredentialFlag" style="width: 100%" readonly></el-input>
  184. </el-form-item>
  185. </el-col>
  186. <el-col :span="8">
  187. <el-form-item label="统一社会信用代码 :" prop="CommercialNo">
  188. <el-input v-model="formData.CommercialNo" style="width: 100%" readonly></el-input>
  189. </el-form-item>
  190. </el-col>
  191. <el-col :span="8">
  192. <el-form-item label="税务登记证编号 :" prop="CountryTaxNo">
  193. <el-input v-model="formData.CountryTaxNo" style="width: 100%" readonly></el-input>
  194. </el-form-item>
  195. </el-col>
  196. <el-col :span="8">
  197. <el-form-item label="组织机构代码 :" prop="OrganCode">
  198. <el-input v-model="formData.OrganCode" style="width: 100%" readonly></el-input>
  199. </el-form-item>
  200. </el-col>
  201. <el-col :span="16">
  202. <el-form-item label="注册地址 :" prop="Address">
  203. <el-input v-model="formData.Address" style="width: 100%" readonly></el-input>
  204. </el-form-item>
  205. </el-col>
  206. <el-col :span="8">
  207. <el-form-item label="邮编 :" prop="ZipCode">
  208. <el-input v-model="formData.ZipCode" style="width: 100%" readonly></el-input>
  209. </el-form-item>
  210. </el-col>
  211. <el-col :span="16">
  212. <el-form-item label="通信地址 :" prop="LinkAddress">
  213. <el-input v-model="formData.LinkAddress" style="width: 100%" readonly></el-input>
  214. </el-form-item>
  215. </el-col>
  216. <el-col :span="8">
  217. <el-form-item label="邮编 :" prop="LinkZipCode">
  218. <el-input v-model="formData.LinkZipCode" style="width: 100%" readonly></el-input>
  219. </el-form-item>
  220. </el-col>
  221. </el-row>
  222. <el-row>
  223. <el-col :span="8">
  224. <el-form-item label="法人姓名 :" prop="LegalPerson">
  225. <el-input v-model="formData.LegalPerson" style="width: 100%" readonly></el-input>
  226. </el-form-item>
  227. </el-col>
  228. <el-col :span="8">
  229. <el-form-item label="公司类型 :" prop="CompanyType">
  230. <el-input v-model="formData.CompanyType" style="width: 100%" readonly></el-input>
  231. </el-form-item>
  232. </el-col>
  233. <el-col :span="8">
  234. <el-form-item label="注册资本(万元) :" prop="RegCapital">
  235. <el-input v-model="formData.RegCapital" style="width: 100%" readonly></el-input>
  236. </el-form-item>
  237. </el-col>
  238. <el-col :span="8">
  239. <el-form-item label="成立时间 :" prop="SetupTime">
  240. <el-input v-model="formData.SetupTime" style="width: 100%" readonly></el-input>
  241. </el-form-item>
  242. </el-col>
  243. <el-col :span="8">
  244. <el-form-item label="开户银行 :" prop="DepositBank">
  245. <el-input v-model="formData.DepositBank" style="width: 100%" readonly></el-input>
  246. </el-form-item>
  247. </el-col>
  248. <el-col :span="8">
  249. <el-form-item label="银行账号 :" prop="BankAccount">
  250. <el-input v-model="formData.BankAccount" style="width: 100%" readonly></el-input>
  251. </el-form-item>
  252. </el-col>
  253. <el-col :span="8">
  254. <el-form-item label="联系人姓名 :" prop="ContactName">
  255. <el-input v-model="formData.ContactName" style="width: 100%" readonly></el-input>
  256. </el-form-item>
  257. </el-col>
  258. <el-col :span="8">
  259. <el-form-item label="移动电话" prop="Mobile">
  260. <el-input v-model="formData.Mobile" maxlength="20" readonly style="width: 100%"></el-input>
  261. </el-form-item>
  262. </el-col>
  263. <el-col :span="8">
  264. <el-form-item label="固定电话" prop="Telphone">
  265. <el-input v-model="formData.Telphone" maxlength="20" readonly style="width: 100%"></el-input>
  266. </el-form-item>
  267. </el-col>
  268. <el-col :span="8">
  269. <el-form-item label="传真" prop="Fax">
  270. <el-input v-model="formData.Fax" maxlength="20" readonly style="width: 100%"></el-input>
  271. </el-form-item>
  272. </el-col>
  273. <el-col :span="8">
  274. <el-form-item label="财务电话" prop="CompanyTel">
  275. <el-input v-model="formData.CompanyTel" maxlength="20" readonly style="width: 100%"></el-input>
  276. </el-form-item>
  277. </el-col>
  278. <el-col :span="8">
  279. <el-form-item label="电子邮箱" prop="EMail">
  280. <el-input v-model="formData.EMail" maxlength="50" readonly style="width: 100%"></el-input>
  281. </el-form-item>
  282. </el-col>
  283. <el-col :span="8">
  284. <el-form-item label="银行信用等级" prop="BankCreditRating">
  285. <el-input
  286. v-model="formData.BankCreditRating"
  287. maxlength="10"
  288. readonly
  289. style="width: 100%"
  290. ></el-input>
  291. </el-form-item>
  292. </el-col>
  293. <el-col :span="8">
  294. <el-form-item label="级别" prop="Level">
  295. <el-input v-model="formData.Level" maxlength="255" readonly style="width: 100%"></el-input>
  296. </el-form-item>
  297. </el-col>
  298. <el-col :span="8">
  299. <el-form-item label="HSE审查培训" prop="HseTraining">
  300. <el-input v-model="formData.HseTraining" maxlength="255" readonly style="width: 100%"></el-input>
  301. </el-form-item>
  302. </el-col>
  303. </el-row>
  304. </el-form>
  305. <el-form label-position="top" size="mini">
  306. <el-row :gutter="60">
  307. <el-col :span="8">
  308. <el-form-item label="质量管理体系认证情况及认证机构">
  309. <el-input
  310. readonly
  311. v-model="formData.QualitySystemCert"
  312. maxlength="200"
  313. type="textarea"
  314. style="width: 100%"
  315. ></el-input>
  316. </el-form-item>
  317. </el-col>
  318. <el-col :span="8">
  319. <el-form-item label="产品质量认证情况及认证机构">
  320. <el-input
  321. readonly
  322. v-model="formData.ProductQualityCert"
  323. maxlength="200"
  324. type="textarea"
  325. ></el-input>
  326. </el-form-item>
  327. </el-col>
  328. <el-col :span="8">
  329. <el-form-item label="生产/制造许可证获证情况及编号">
  330. <el-input readonly v-model="formData.MaunLicense" maxlength="200" type="textarea"></el-input>
  331. </el-form-item>
  332. </el-col>
  333. <el-col :span="8">
  334. <el-form-item label="所代理制造商名称">
  335. <el-input
  336. readonly
  337. v-model="formData.AgentManufacturer"
  338. maxlength="255"
  339. type="textarea"
  340. ></el-input>
  341. </el-form-item>
  342. </el-col>
  343. <el-col :span="8">
  344. <el-form-item label="中石油物资供应商证书">
  345. <el-input
  346. readonly
  347. v-model="formData.SupplierCertificate"
  348. maxlength="255"
  349. type="textarea"
  350. style="width: 100%"
  351. ></el-input>
  352. </el-form-item>
  353. </el-col>
  354. <el-col :span="8">
  355. <el-form-item label="安全生产许可证">
  356. <el-input
  357. readonly
  358. v-model="formData.SafetyLicense"
  359. maxlength="200"
  360. type="textarea"
  361. style="width: 100%"
  362. ></el-input>
  363. </el-form-item>
  364. </el-col>
  365. <el-col :span="8">
  366. <el-form-item label="行业特殊要求的认证证书">
  367. <el-input
  368. readonly
  369. v-model="formData.SpecIndustryCert"
  370. maxlength="200"
  371. type="textarea"
  372. style="width: 100%"
  373. ></el-input>
  374. </el-form-item>
  375. </el-col>
  376. <el-col :span="16">
  377. <el-form-item label="营业范围" prop="BusinessScope">
  378. <el-input
  379. readonly
  380. v-model="formData.BusinessScope"
  381. maxlength="200"
  382. type="textarea"
  383. style="width: 100%"
  384. ></el-input>
  385. </el-form-item>
  386. </el-col>
  387. <el-col :span="24">
  388. <el-form-item label="备注">
  389. <el-input
  390. readonly
  391. v-model="formData.Remark"
  392. maxlength="500"
  393. type="textarea"
  394. style="width: 100%"
  395. ></el-input>
  396. </el-form-item>
  397. </el-col>
  398. </el-row>
  399. </el-form>
  400. </el-dialog>
  401. -->
  402. <!--查询框-->
  403. <el-dialog title="高级查询" :visible.sync="dialogVisible" width="720px">
  404. <el-form label-width="135px">
  405. <el-row>
  406. <el-col :span="12">
  407. <el-form-item label="准入证号">
  408. <el-input size="mini" v-model="searchForm.AccessCardNo" placeholder="请输入内容"></el-input>
  409. </el-form-item>
  410. </el-col>
  411. <el-col :span="12">
  412. <el-form-item label="企业名称">
  413. <el-input size="mini" v-model="searchForm.SupplierName" placeholder="请输入内容"></el-input>
  414. </el-form-item>
  415. </el-col>
  416. <el-col :span="12">
  417. <el-form-item label="企业曾用名称">
  418. <el-input size="mini" v-model="searchForm.OldSupplierName" placeholder="请输入内容"></el-input>
  419. </el-form-item>
  420. </el-col>
  421. <el-col :span="12">
  422. <el-form-item label="准入类别">
  423. <el-select
  424. size="mini"
  425. style="width:100%"
  426. v-model="searchForm.SupplierTypeCode"
  427. placeholder="请选择"
  428. >
  429. <el-option label="全部" value></el-option>
  430. <el-option label="物资类" value="01"></el-option>
  431. <el-option label="基建类" value="02"></el-option>
  432. <el-option label="技术服务类" value="03"></el-option>
  433. </el-select>
  434. </el-form-item>
  435. </el-col>
  436. <el-col :span="12">
  437. <el-form-item label="准入标识">
  438. <el-select
  439. size="mini"
  440. style="width:100%"
  441. v-model="searchForm.InFlag"
  442. placeholder="请选择"
  443. >
  444. <el-option label="全部" value></el-option>
  445. <el-option label="准入" value="1"></el-option>
  446. <el-option label="暂停" value="2"></el-option>
  447. <el-option label="取消" value="3"></el-option>
  448. </el-select>
  449. </el-form-item>
  450. </el-col>
  451. <el-col :span="12">
  452. <el-form-item label="法人">
  453. <el-input size="mini" v-model="searchForm.LegalPerson" placeholder="请输入内容"></el-input>
  454. </el-form-item>
  455. </el-col>
  456. <el-col :span="12">
  457. <el-form-item label="联系人">
  458. <el-input size="mini" v-model="searchForm.ContactName" placeholder="请输入内容"></el-input>
  459. </el-form-item>
  460. </el-col>
  461. <el-col :span="12">
  462. <el-form-item label="统一社会信用代码">
  463. <el-input size="mini" v-model="searchForm.CommercialNo" placeholder="请输入内容"></el-input>
  464. </el-form-item>
  465. </el-col>
  466. <el-col :span="12">
  467. <el-form-item label="开户银行">
  468. <el-input size="mini" v-model="searchForm.DepositBank" placeholder="请输入内容"></el-input>
  469. </el-form-item>
  470. </el-col>
  471. <el-col :span="12">
  472. <el-form-item label="HSE审查培训">
  473. <el-select
  474. size="mini"
  475. v-model="searchForm.HseTraining"
  476. placeholder="请选择"
  477. style="width: 100%;"
  478. >
  479. <el-option
  480. v-for="item in HSEOptions"
  481. :key="item.value"
  482. :label="item.label"
  483. :value="item.value"
  484. style="width: 100%"
  485. ></el-option>
  486. </el-select>
  487. </el-form-item>
  488. </el-col>
  489. </el-row>
  490. <el-row>
  491. <el-col :span="12">
  492. <el-form-item label="公司类型" prop="CompanyType">
  493. <el-select
  494. size="mini"
  495. v-model="searchForm.CompanyType"
  496. maxlength="50"
  497. filterable
  498. placeholder="请选择"
  499. style="width: 100%;"
  500. >
  501. <el-option
  502. v-for="item in CompanyTypeOptions"
  503. :key="item.Id"
  504. :label="item.Key"
  505. :value="item.Value"
  506. style="width: 100%"
  507. ></el-option>
  508. </el-select>
  509. </el-form-item>
  510. </el-col>
  511. <el-col :span="12">
  512. <el-form-item label="成立时间">
  513. <el-date-picker
  514. v-model="SetupTime"
  515. size="mini"
  516. type="date"
  517. format="yyyy 年 MM 月 dd 日"
  518. value-format="yyyy-MM-dd"
  519. placeholder="选择日期"
  520. style="width: 100%"
  521. ></el-date-picker>
  522. </el-form-item>
  523. </el-col>
  524. </el-row>
  525. <el-row>
  526. <el-form-item label="注册资本(万元)">
  527. <el-col :span="5">
  528. <el-input size="mini" v-model="searchForm.RegCapital1" placeholder="请输入内容"></el-input>
  529. </el-col>
  530. <el-col :span="1">
  531. <span>&nbsp;~</span>
  532. </el-col>
  533. <el-col :span="5">
  534. <el-input size="mini" v-model="searchForm.RegCapital2" placeholder="请输入内容"></el-input>
  535. </el-col>
  536. </el-form-item>
  537. </el-row>
  538. <el-row>
  539. <el-col :span="24">
  540. <el-form-item label="注册地址">
  541. <el-row>
  542. <el-col :span="10">
  543. <el-cascader
  544. :change-on-select="true"
  545. v-model="CityAry"
  546. size="mini"
  547. :options="countryoptions"
  548. :props="countryprops"
  549. maxlength="100"
  550. placeholder="省市区"
  551. style="width: 100%"
  552. @change="handleAreaChange"
  553. ></el-cascader>
  554. </el-col>
  555. <el-col :span="14">
  556. <el-input
  557. size="mini"
  558. v-model="searchForm.Address"
  559. maxlength="500"
  560. placeholder="详细地址"
  561. style="width: 100%"
  562. ></el-input>
  563. </el-col>
  564. </el-row>
  565. </el-form-item>
  566. </el-col>
  567. </el-row>
  568. <el-row>
  569. <el-col :span="24">
  570. <el-form-item label="通信地址">
  571. <el-row>
  572. <el-col :span="10">
  573. <el-cascader
  574. :change-on-select="true"
  575. v-model="LinkCityAry"
  576. size="mini"
  577. :options="countryoptions"
  578. :props="countryprops"
  579. maxlength="100"
  580. placeholder="省市区"
  581. style="width: 100%"
  582. @change="handleLinkAreaChange"
  583. ></el-cascader>
  584. </el-col>
  585. <el-col :span="14">
  586. <el-input
  587. size="mini"
  588. v-model="searchForm.LinkAddress"
  589. maxlength="500"
  590. placeholder="详细地址"
  591. style="width: 100%"
  592. ></el-input>
  593. </el-col>
  594. </el-row>
  595. </el-form-item>
  596. </el-col>
  597. </el-row>
  598. <el-row>
  599. <el-col :span="24">
  600. <el-form-item label="营业范围">
  601. <el-input size="mini" v-model="searchForm.BusinessScope" placeholder="请输入内容"></el-input>
  602. </el-form-item>
  603. </el-col>
  604. </el-row>
  605. <!-- <el-row>
  606. <el-col :span="24">
  607. <el-form-item label="企业资质">
  608. <el-select
  609. size="mini"
  610. style="width: 100%"
  611. v-model="searchForm.NeedFileType"
  612. filterable
  613. multiple
  614. placeholder="请选择"
  615. >
  616. <el-option
  617. v-for="item in nftOptions"
  618. :key="item.Id"
  619. :label="item.Name"
  620. :value="item.Name"
  621. ></el-option>
  622. </el-select>
  623. </el-form-item>
  624. </el-col>
  625. </el-row> -->
  626. <el-row>
  627. <el-col :span="24">
  628. <el-form-item label="企业资质">
  629. <el-input size="mini" v-model="searchForm.NeedFileType" placeholder="请输入内容"></el-input>
  630. </el-form-item>
  631. </el-col>
  632. </el-row>
  633. <el-row>
  634. <el-col :span="24">
  635. <el-form-item label="准入范围">
  636. <el-input size="mini" v-model="searchForm.CerSubName" placeholder="请输入内容"></el-input>
  637. </el-form-item>
  638. </el-col>
  639. </el-row>
  640. </el-form>
  641. <span slot="footer" class="dialog-footer">
  642. <el-button size="mini" @click="dialogVisible = false">取 消</el-button>
  643. <el-button size="mini" type="primary" @click="initDatas($event)">查 询</el-button>
  644. </span>
  645. </el-dialog>
  646. </div>
  647. </template>
  648. <script>
  649. import api from '@/api/oilsupplier/select'
  650. import FileSaver from 'file-saver'
  651. import XLSX from 'xlsx'
  652. import oapi from '@/api/oilsupplier/supplier'
  653. import dataapi from '@/api/oilsupplier/dataentry'
  654. import watermark from '@/assets/js/watermark'
  655. export default {
  656. created () {
  657. Object.assign(this.searchFormReset, this.searchForm)
  658. // 执行初始化方法
  659. this.getDictOptions()
  660. this.initDatas()
  661. this.initNftOptions()
  662. //watermark.set("大港油田企业法规处")
  663. },
  664. data () {
  665. return {
  666. HSEOptions: [
  667. {
  668. value: '',
  669. label: '全部'
  670. },
  671. {
  672. value: '1',
  673. label: '是'
  674. },
  675. {
  676. value: '0',
  677. label: '否'
  678. }
  679. ],
  680. nftOptions: [],
  681. CityAry: [],
  682. LinkCityAry: [],
  683. countryprops: {
  684. value: 'adcode',
  685. label: 'name',
  686. children: 'districts'
  687. },
  688. CompanyTypeOptions: [],
  689. dictData: null,
  690. searchFormReset: {},
  691. dialogVisible: false,
  692. formData: {
  693. SupplierName: '',
  694. AccessCardNo: '',
  695. SpecTypeCode: '',
  696. Country: '',
  697. InStyle: '',
  698. ManagementUnit: '',
  699. CredentialFlag: '',
  700. CommercialNo: '',
  701. CountryTaxNo: '',
  702. OrganCode: '',
  703. Address: '',
  704. ZipCode: '',
  705. LinkAddress: '',
  706. LinkZipCode: '',
  707. LegalPerson: '',
  708. CompanyType: '',
  709. RegCapital: '',
  710. SetupTime: '',
  711. DepositBank: '',
  712. BankAccount: '',
  713. ContactName: '',
  714. Mobile: '',
  715. Telphone: '',
  716. Fax: '',
  717. CompanyTel: '',
  718. EMail: '',
  719. BankCreditRating: '',
  720. Level: '',
  721. HseTraining: '',
  722. QualitySystemCert: '',
  723. ProductQualityCert: '',
  724. MaunLicense: '',
  725. AgentManufacturer: '',
  726. SupplierCertificate: '',
  727. SafetyLicense: '',
  728. SpecIndustryCert: '',
  729. BusinessScope: '',
  730. Remark: ''
  731. },
  732. show: false,
  733. // 定义列表数据
  734. entityList: [],
  735. // 分页参数
  736. size: 10,
  737. currentPage: 1,
  738. currentItemCount: 0,
  739. SetupTime: '', // 成立时间
  740. searchForm: {
  741. AccessCardNo: '',
  742. SupplierName: '',
  743. SupplierTypeCode: '',
  744. InFlag: '',
  745. LegalPerson: '',
  746. ContactName: '',
  747. CommercialNo: '',
  748. RegCapital1: '',
  749. RegCapital2: '',
  750. CompanyType: '',
  751. Province: '',
  752. City: '',
  753. Street: '',
  754. Address: '',
  755. LinkProvince: '',
  756. LinkCity: '',
  757. LinkStreet: '',
  758. LinkAddress: '',
  759. DepositBank: '',
  760. BusinessScope: '',
  761. OldSupplierName: '',
  762. HseTraining: '',
  763. // NeedFileType: [],
  764. NeedFileType: '',
  765. CerSubName: ''
  766. },
  767. // 列表排序
  768. Column: {
  769. Order: '',
  770. Prop: ''
  771. },
  772. countryoptions: []
  773. }
  774. },
  775. methods: {
  776. transferStr (val) {
  777. if (val === '01') {
  778. return '物资类'
  779. } else if (val === '02') {
  780. return '基建类'
  781. } else if (val === '03') {
  782. return '技术服务类'
  783. } else {
  784. return val
  785. }
  786. },
  787. initNftOptions () {
  788. api
  789. .getNFTOptions(this.$axios)
  790. .then(res => {
  791. this.nftOptions = res.data.items
  792. })
  793. .catch(err => {
  794. console.error(err)
  795. })
  796. },
  797. handleLinkAreaChange (value) {
  798. this.searchForm.LinkProvince = value[0]
  799. this.searchForm.LinkCity = value[1]
  800. this.searchForm.LinkStreet = value[2]
  801. },
  802. handleAreaChange (value) {
  803. this.searchForm.Province = value[0]
  804. this.searchForm.City = value[1]
  805. this.searchForm.Street = value[2]
  806. },
  807. getDictOptions () {
  808. oapi
  809. .getDictList(this.$axios)
  810. .then(res => {
  811. this.dictData = res.data.items
  812. this.CompanyTypeOptions = this.dictData['CompanyType']
  813. this.getCityList(this.dictData['GaodeMapChinaAreas'])
  814. })
  815. .catch(err => {
  816. console.error(err)
  817. })
  818. },
  819. getCityList (val) {
  820. let resultData = JSON.parse(val)
  821. let countstr = JSON.stringify(resultData.districts[0].districts)
  822. countstr = countstr.replace(/\,\"districts\"\:\[\]/g, '')
  823. this.countryoptions = JSON.parse(countstr)
  824. },
  825. exportExcel () {
  826. /* generate workbook object from table */
  827. let wb = XLSX.utils.table_to_book(
  828. document.querySelector('#rebateSetTable')
  829. )
  830. /* get binary string as output */
  831. let wbout = XLSX.write(wb, {
  832. bookType: 'xlsx',
  833. bookSST: true,
  834. type: 'array'
  835. })
  836. try {
  837. FileSaver.saveAs(
  838. new Blob([wbout], { type: 'application/octet-stream' }),
  839. 'SupplierSituation.xlsx'
  840. )
  841. } catch (e) {
  842. if (typeof console !== 'undefined') console.log(e, wbout)
  843. }
  844. return wbout
  845. },
  846. //导出到Word文件
  847. toWord (val) {
  848. dataapi.docexport(val.Id, this.$axios)
  849. .then(res => {
  850. // response
  851. if (res.data.code === 0) {
  852. this.$message({
  853. type: 'success',
  854. message: res.data.message
  855. })
  856. let docurl = res.data.item
  857. // 内网服务器专用
  858. if (process.client && docurl.indexOf('upfile') === 0) {
  859. const myDomain = window.location.host
  860. location.href = 'http://' + myDomain + '/' + docurl
  861. } else {
  862. location.href = 'http://' + docurl
  863. }
  864. }
  865. }).catch(err => {
  866. console.error(err)
  867. })
  868. },
  869. //导出准入范围到pdf
  870. toPdf (val) {
  871. dataapi.pdfexport(val.Id, this.$axios)
  872. .then(res => {
  873. // response
  874. if (res.data.code === 0) {
  875. this.$message({
  876. type: 'success',
  877. message: res.data.message
  878. })
  879. let docurl = res.data.item
  880. let pdfurl
  881. // 内网服务器专用
  882. if (process.client && docurl.indexOf('upfile') === 0) {
  883. const myDomain = window.location.host
  884. // location.href = 'http://' + myDomain + '/' + docurl
  885. pdfurl = 'http://' + myDomain + '/' + docurl
  886. let requestParams = {
  887. pdfUrl: pdfurl,
  888. watermark: val.SupplierName
  889. }
  890. this.$axios.post('supplierdataentry/word-to-pdf-watermark', requestParams)
  891. .then(function (res) {
  892. window.open('http://' + res.data)
  893. })
  894. } else {
  895. // location.href = 'http://' + docurl
  896. pdfurl = 'http://' + docurl
  897. let requestParams = {
  898. pdfUrl: pdfurl,
  899. watermark: val.SupplierName
  900. }
  901. this.$axios.post('supplierdataentry/word-to-pdf-watermark', requestParams)
  902. .then(function (res) {
  903. window.open('http://' + res.data)
  904. })
  905. }
  906. }
  907. }).catch(err => {
  908. console.error(err)
  909. })
  910. },
  911. // 列表排序功能
  912. orderby (column) {
  913. if (column.order == 'ascending') {
  914. this.Column.Order = 'asc'
  915. } else if (column.order == 'descending') {
  916. this.Column.Order = 'desc'
  917. }
  918. this.Column.Prop = column.prop
  919. this.initDatas()
  920. },
  921. jstimehandle (val) {
  922. if (val === '') {
  923. return '----'
  924. } else if (val === '0001-01-01T08:00:00+08:00') {
  925. return '----'
  926. } else if (val === '0001-01-01T00:00:00Z') {
  927. return '----'
  928. } else if (val === '5000-01-01T23:59:59+08:00') {
  929. return '永久'
  930. } else {
  931. val = val.replace('T', ' ')
  932. return val.substring(0, 10)
  933. }
  934. },
  935. // 初始化列表方法
  936. initDatas (event) {
  937. if (event != null) {
  938. this.currentPage = 1
  939. this.dialogVisible = false
  940. }
  941. let params = {
  942. _size: this.size,
  943. _currentPage: this.currentPage,
  944. Order: this.Column.Order,
  945. Prop: this.Column.Prop,
  946. SetupTime: this.SetupTime
  947. }
  948. api
  949. .getCompanyList(params, this.searchForm, this.$axios)
  950. .then(res => {
  951. this.entityList = res.data.items
  952. this.currentItemCount = res.data.currentItemCount
  953. })
  954. .catch(err => {
  955. console.error(err)
  956. })
  957. },
  958. // 分页方法
  959. handleCurrentChange (value) {
  960. this.currentPage = value
  961. this.initDatas()
  962. },
  963. handleSizeChange (value) {
  964. this.size = value
  965. this.currentPage = 1
  966. this.initDatas()
  967. },
  968. searchCommand (command) {
  969. if (command == 'search') {
  970. this.dialogVisible = true
  971. } else if (command == 'clear') {
  972. this.clearSearch()
  973. }
  974. },
  975. clearSearch () {
  976. Object.assign(this.searchForm, this.searchFormReset)
  977. this.CityAry = []
  978. this.SetupTime = '';
  979. (this.LinkCityAry = []), (this.currentPage = 1)
  980. this.initDatas()
  981. }
  982. }
  983. }
  984. </script>
  985. <style>
  986. .eldialog .el-input__inner {
  987. border: none;
  988. }
  989. .eldialog .el-textarea__inner {
  990. border: none;
  991. resize: none;
  992. height: 70px;
  993. }
  994. </style>