warehouseManagementList.vue 24 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819
  1. <!--仓库管理-->
  2. <template>
  3. <div>
  4. <BaseHeaderLayout :leftSpan="15">
  5. <template slot="left">
  6. <ws-button type="primary" @click="handleAdd()"
  7. v-hasPermission="
  8. `warehouseManagement.warehouse.warehouseInfo.add`
  9. "
  10. ><img
  11. width="11"
  12. height="11"
  13. style="position: relative; top: 1px"
  14. src="../../../public/img/header-add.png"
  15. alt=""
  16. />
  17. 添加</ws-button
  18. >
  19. <ws-button v-hasPermission="
  20. `warehouseManagement.warehouse.warehouseInfo.view`
  21. " @click="handleLook()">查看</ws-button>
  22. <ws-button v-hasPermission="
  23. `warehouseManagement.warehouse.warehouseInfo.edit`
  24. " @click="handleEdit()">编辑</ws-button>
  25. <ws-button v-hasPermission="
  26. `warehouseManagement.warehouse.warehouseInfo.delete`
  27. " @click="handleDelete()">删除</ws-button>
  28. <ws-button v-if='list.length>0'
  29. @click="handlTask()">任务</ws-button>
  30. </template>
  31. <template slot="left">
  32. <div >
  33. <el-radio-group
  34. v-model="warehouseType"
  35. @change="changeradio"
  36. size="small"
  37. >
  38. <el-radio-button label="1">常用仓库</el-radio-button>
  39. <el-radio-button label="2">临时仓库</el-radio-button>
  40. </el-radio-group>
  41. </div>
  42. </template>
  43. <template slot="right">
  44. <ws-input
  45. v-model="warehouseName"
  46. placeholder="请输入仓库名"
  47. clearable
  48. maxlength="500"
  49. type="input"
  50. class="findValue"
  51. ></ws-input>
  52. <!-- v-hasPermission="'procurement.sparepart.directShip'" -->
  53. <ws-button class="find" type="primary" @click="find()"
  54. ><img
  55. width="16"
  56. height="16"
  57. style="
  58. vertical-align: text-top;
  59. position: relative;
  60. top: 0px;
  61. left: -8px;
  62. "
  63. src="../../../public/img/sousuo.png"
  64. alt=""
  65. /></ws-button>
  66. </template>
  67. </BaseHeaderLayout>
  68. <div v-show="this.warehouseType == '1'">
  69. <el-table
  70. class="wenzi"
  71. :data="warehouseList"
  72. style="width: 100%; margin-top: 20px"
  73. height="780"
  74. >
  75. <el-table-column prop="warehouseName" label="仓库名" >
  76. </el-table-column>
  77. <el-table-column prop="binNumber" label="仓位编号" >
  78. </el-table-column>
  79. <el-table-column prop="capacity" label="容量(吨)">
  80. <template slot-scope="scope">
  81. <div
  82. v-if="scope.row.capacity != 'null' && scope.row.capacity != null"
  83. >
  84. {{ scope.row.capacity }}
  85. </div>
  86. </template>
  87. </el-table-column>
  88. <el-table-column label="品种">
  89. <template slot-scope="scope">
  90. <div
  91. style="height: 24px"
  92. v-for="(item, i) in scope.row.warehouseNumViewList"
  93. >
  94. {{ item.goodsName }}
  95. </div>
  96. </template>
  97. </el-table-column>
  98. <el-table-column label="入库量(吨)">
  99. <template slot-scope="scope">
  100. <div
  101. style="height: 24px"
  102. v-for="(item, i) in scope.row.warehouseNumViewList"
  103. >
  104. {{item.inNetWeight}}
  105. </div>
  106. </template>
  107. </el-table-column>
  108. <el-table-column label="出库量(吨)">
  109. <template slot-scope="scope">
  110. <div
  111. style="height: 24px"
  112. v-for="(item, i) in scope.row.warehouseNumViewList"
  113. >
  114. {{ item.outNetWeight }}
  115. </div>
  116. </template>
  117. </el-table-column>
  118. <el-table-column label="应余量(吨)">
  119. <template slot-scope="scope">
  120. <div
  121. style="height: 24px"
  122. v-for="(item, i) in scope.row.warehouseNumViewList"
  123. >
  124. {{ item.storage }}
  125. </div>
  126. </template>
  127. </el-table-column>
  128. <el-table-column prop="seller" label="入库" width="300">
  129. <template slot-scope="scope">
  130. <ws-button v-hasPermission="
  131. `warehouseManagement.warehouse.warehouseInfo.in`
  132. " class="putstorage" @click="warehousing1(scope.row)">
  133. 毛检
  134. </ws-button>
  135. <ws-button v-hasPermission="
  136. `warehouseManagement.warehouse.warehouseInfo.in`
  137. " class="putstorage" @click="nocomplete1(scope.row)">
  138. 皮检
  139. </ws-button>
  140. <!-- <ws-button v-hasPermission="
  141. `warehouseManagement.warehouse.warehouseInfo.view`
  142. " class="completed" @click="nocomplete(scope.row)">
  143. 待皮检({{ scope.row.number }})
  144. </ws-button> -->
  145. </template>
  146. </el-table-column>
  147. <el-table-column prop="seller" label="出库" width="300">
  148. <template slot-scope="scope">
  149. <ws-button v-hasPermission="
  150. `warehouseManagement.warehouse.warehouseInfo.out`
  151. " class="deliverystorage" @click="delivery1(scope.row)">
  152. 皮检
  153. </ws-button>
  154. <ws-button v-hasPermission="
  155. `warehouseManagement.warehouse.warehouseInfo.out`
  156. " class="deliverystorage" @click="nocomplete1(scope.row)">
  157. 毛检
  158. </ws-button>
  159. <!-- <ws-button v-hasPermission="
  160. `warehouseManagement.warehouse.warehouseInfo.view`
  161. " class="completed" @click="nocomplete(scope.row)">
  162. 待毛检({{ scope.row.number }})
  163. </ws-button> -->
  164. </template>
  165. </el-table-column>
  166. <el-table-column prop="address" label="操作" width="200">
  167. <template slot-scope="scope">
  168. <div class="record" v-hasPermission="
  169. `warehouseManagement.warehouse.warehouseInfo.view`
  170. " @click="record(scope.row)">记录</div>
  171. <div class="adjustment" v-hasPermission="
  172. `warehouseManagement.warehouse.warehouseInfo.view`
  173. " @click="loss(scope.row)">盘损</div>
  174. <div class="adjustment" v-hasPermission="
  175. `warehouseManagement.warehouse.warehouseInfo.view`
  176. " @click="mintor(scope.row)">监控</div>
  177. </template>
  178. </el-table-column>
  179. </el-table>
  180. </div>
  181. <div v-show="this.warehouseType == '2'">
  182. <el-table
  183. class="wenzi"
  184. :data="warehouseList"
  185. style="width: 100%; margin-top: 20px"
  186. height="780"
  187. >
  188. <el-table-column type="index" label="序号" width="80">
  189. <template scope="scope">
  190. <span v-if="scope.$index < 9">0{{ scope.$index + 1 }}</span>
  191. <span v-else>{{ scope.$index + 1 }}</span>
  192. </template>
  193. </el-table-column>
  194. <el-table-column prop="warehouseName" label="仓库名" width="80">
  195. </el-table-column>
  196. <el-table-column prop="address" label="临时仓库地址">
  197. <template slot-scope="scope">
  198. <div
  199. v-if="scope.row.address != 'null' && scope.row.address != null"
  200. >
  201. {{ scope.row.address }}
  202. </div>
  203. </template>
  204. </el-table-column>
  205. <el-table-column label="入库量(吨)">
  206. <template slot-scope="scope">
  207. <div
  208. style="height: 24px"
  209. v-for="(item, i) in scope.row.warehouseNumViewList"
  210. >
  211. {{ item.goodsName}}({{item.inNetWeight == null ? 0 : item.inNetWeight}})
  212. </div>
  213. </template>
  214. </el-table-column>
  215. <el-table-column label="出库量(吨)">
  216. <template slot-scope="scope">
  217. <div
  218. style="height: 24px"
  219. v-for="(item, i) in scope.row.warehouseNumViewList"
  220. >
  221. {{ item.goodsName}}({{item.outNetWeight == null ? 0:item.outNetWeight}})
  222. </div>
  223. </template>
  224. </el-table-column>
  225. <el-table-column label="应余量(吨)">
  226. <template slot-scope="scope">
  227. <div
  228. style="height: 24px"
  229. v-for="(item, i) in scope.row.warehouseNumViewList"
  230. >{{ item.goodsName}}
  231. ({{ item.inNetWeight - item.outNetWeight }})
  232. {{item.storage }}
  233. </div>
  234. </template>
  235. </el-table-column>
  236. <el-table-column prop="seller" label="出入库" width="300">
  237. <template slot-scope="scope">
  238. <ws-button class="completed" @click="nocomplete(scope.row)">
  239. 待完成({{ scope.row.number }})
  240. </ws-button>
  241. <ws-button class="putstorage" @click="warehousing(scope.row)">
  242. 入库
  243. </ws-button>
  244. <ws-button
  245. class="deliverystorage"
  246. v-if="scope.row.clearStatusFlag != 3"
  247. @click="delivery(scope.row)"
  248. >
  249. 出库
  250. </ws-button>
  251. </template>
  252. </el-table-column>
  253. <el-table-column prop="address" label="操作" width="200">
  254. <template slot-scope="scope">
  255. <div class="record" @click="record(scope.row)">记录</div>
  256. <div
  257. class="adjustment"
  258. v-if="scope.row.clearStatusFlag == 1"
  259. @click="clearance(scope.row)"
  260. >
  261. 清仓
  262. </div>
  263. <div class="adjustment" v-if="scope.row.clearStatusFlag == 3">
  264. 已清仓
  265. </div>
  266. </template>
  267. </el-table-column>
  268. </el-table>
  269. </div>
  270. </div>
  271. </template>
  272. <script>
  273. import {
  274. getList,
  275. getwarehousetask,
  276. export1,
  277. editstatus,
  278. billoperatehis,
  279. getsponsible,
  280. clearancee,
  281. } from '@/model/warehouse/index'
  282. import { downloadFile } from '@/utils/batchDown'
  283. import Pagination from '@/components/Pagination'
  284. import WsUpload from '@/components/WsUpload'
  285. import { EventBus } from 'base-core-lib'
  286. export default {
  287. name: 'viewSpareMoney',
  288. components: {
  289. WsUpload,
  290. Pagination,
  291. },
  292. watch: {
  293. vesselId(val) {
  294. this.getList()
  295. },
  296. isShow(val) {
  297. this.showType = val
  298. },
  299. },
  300. data() {
  301. return {
  302. //弹出框
  303. dialogViewSpareMoney: false,
  304. dialogApproveFormVisible: false,
  305. // 船舶类型
  306. monetaryKey: null,
  307. // 表格显示数据
  308. tableDate: [],
  309. list:[],
  310. // 是否显示
  311. showType: true,
  312. // 年
  313. year: '',
  314. searchType: 1,
  315. searchTypeText: '未完成',
  316. searchKeyWord: '',
  317. contractType: 2,
  318. warehouseType: '1',
  319. // 提交类型
  320. submitType: true,
  321. size: 10,
  322. spanArr: [],
  323. warehouseName: '',
  324. compId: sessionStorage.getItem('ws-pf_compId'),
  325. deptCircularPage: {},
  326. warehouseList: [],
  327. deptBudgetList: {},
  328. historyList: [],
  329. deptBudgetTotal: 0,
  330. pickerBeginDateBefore: {
  331. disabledDate: (time) => {
  332. return time.getTime() > Date.now()
  333. },
  334. },
  335. accessoryTFs: false,
  336. }
  337. },
  338. activated() {
  339. this.getList()
  340. this.showType = this.isShow
  341. },
  342. methods: {
  343. //清仓
  344. clearance(row) {
  345. console.log(row.outNumber)
  346. if (row.outNumber > 0) {
  347. this.$confirm(`你还有未完善的出库记录,请完善提交后再进行操作`, {
  348. cancelButtonText: '关闭',
  349. })
  350. .then(() => {})
  351. .catch(() => {
  352. return false
  353. })
  354. } else {
  355. this.$confirm(
  356. `清仓操作代表库存已清零,清仓后不可进行出库操作,是否确定清仓`,
  357. {
  358. confirmButtonText: '确定',
  359. cancelButtonText: '取消',
  360. type: 'warning',
  361. }
  362. )
  363. .then(() => {
  364. clearancee({ id: row.warehouseId })
  365. .toPromise()
  366. .then((response) => {
  367. this.$notify.success({
  368. title: '成功',
  369. message: '状态清仓成功',
  370. })
  371. this.getList()
  372. })
  373. .catch((response) => {})
  374. })
  375. .catch(() => {
  376. return false
  377. })
  378. }
  379. },
  380. //出库
  381. delivery(item) {
  382. this.$router.push({
  383. path: 'warehouseManagementDelivery',
  384. query: {
  385. baseId: item.warehouseId,
  386. positionId: item.binNumberId,
  387. warehouseName: item.warehouseName,
  388. binNumber: item.binNumber,
  389. capacity: item.capacity,
  390. warehouseType: this.warehouseType,
  391. warehouseId: item.warehouseId,
  392. },
  393. })
  394. },
  395. //入库
  396. warehousing(item) {
  397. var free = 0
  398. for (var i = 0; i < item.warehouseNumViewList.length; i++) {
  399. free += Number(item.warehouseNumViewList[i].storage)
  400. }
  401. this.$router.push({
  402. path: 'warehouseManagementPut',
  403. query: {
  404. baseId: item.warehouseId,
  405. positionId: item.binNumberId,
  406. warehouseName: item.warehouseName,
  407. binNumber: item.binNumber,
  408. capacity: item.capacity - free,
  409. id: item.id,
  410. warehouseType: this.warehouseType,
  411. createType: item.createType,
  412. },
  413. })
  414. },
  415. //毛检
  416. warehousing1(item) {
  417. var free = 0
  418. for (var i = 0; i < item.warehouseNumViewList.length; i++) {
  419. free += Number(item.warehouseNumViewList[i].storage)
  420. }
  421. this.$router.push({
  422. path: 'warehouseManagementGross',
  423. query: {
  424. baseId: item.warehouseId,
  425. positionId: item.binNumberId,
  426. warehouseName: item.warehouseName,
  427. binNumber: item.binNumber,
  428. capacity: item.capacity - free,
  429. id: item.id,
  430. warehouseType: this.warehouseType,
  431. createType: item.createType,
  432. information:'毛重检斤',
  433. allowEdit:item.allowEdit
  434. },
  435. })
  436. },
  437. //皮检
  438. delivery1(item) {
  439. this.$router.push({
  440. path: 'warehouseManagementTare',
  441. query: {
  442. baseId: item.warehouseId,
  443. positionId: item.binNumberId,
  444. warehouseName: item.warehouseName,
  445. binNumber: item.binNumber,
  446. capacity: item.capacity,
  447. warehouseType: this.warehouseType,
  448. warehouseId: item.warehouseId,
  449. information:'皮重检斤',
  450. allowEdit:item.allowEdit
  451. },
  452. })
  453. },
  454. getSpanArr(data) {
  455. let that = this
  456. //页面展示的数据,不一定是全部的数据,所以每次都清空之前存储的 保证遍历的数据是最新的数据。以免造成数据渲染混乱
  457. that.spanArr = []
  458. that.pos = 0
  459. //遍历数据
  460. data.forEach((item, index) => {
  461. //判断是否是第一项
  462. // if (index === 0) {
  463. // this.spanArr.push(1)
  464. // this.pos = 0
  465. // } else {
  466. //不是第一项时,就根据标识去存储
  467. if (data[index].warehouseNumViewList.length > 1) {
  468. // 查找到符合条件的数据时每次要把之前存储的数据+1
  469. this.spanArr[this.pos] = data[index].warehouseNumViewList.length
  470. this.spanArr.push(0)
  471. } else {
  472. // 没有符合的数据时,要记住当前的index
  473. this.spanArr.push(1)
  474. this.pos = index
  475. }
  476. // }
  477. })
  478. },
  479. //待完成//传参
  480. nocomplete(row) {
  481. if (row.number > 0) {
  482. this.$router.push({
  483. path: 'warehouseManagementNoComplete',
  484. query: {
  485. baseId: row.warehouseId,
  486. positionId: row.binNumberId,
  487. warehouseName: row.warehouseName,
  488. binNumber: row.binNumber,
  489. warehouseType: this.warehouseType,
  490. createType: row.createType,
  491. },
  492. })
  493. }
  494. },
  495. //检斤待完成
  496. nocomplete1(row) {
  497. this.$router.push({
  498. path: 'warehouseManagementNoWeight',
  499. query: {
  500. baseId: row.warehouseId,
  501. positionId: row.binNumberId,
  502. warehouseName: row.warehouseName,
  503. binNumber: row.binNumber,
  504. warehouseType: this.warehouseType,
  505. createType: row.createType,
  506. },
  507. })
  508. },
  509. //记录
  510. record(item) {
  511. this.$router.push({
  512. name: 'warehouseManagementRecord',
  513. query: {
  514. baseId: item.warehouseId,
  515. positionId: item.binNumberId,
  516. warehouseName: item.warehouseName,
  517. remark: item.remark,
  518. binNumber: item.binNumber,
  519. capacity: item.capacity,
  520. warehouseType: this.warehouseType,
  521. },
  522. })
  523. },
  524. //盘损
  525. loss(item) {
  526. this.$router.push({
  527. path: 'warehouseManagementIoss',
  528. query: {
  529. baseId: item.warehouseId,
  530. positionId: item.binNumberId,
  531. warehouseName: item.warehouseName,
  532. binNumber: item.binNumber,
  533. },
  534. })
  535. },
  536. mintor(){
  537. this.$router.push({ path: 'warehouseManagementMintor' })
  538. },
  539. changeradio(e) {
  540. this.getList()
  541. },
  542. //查看
  543. handleLook() {
  544. this.$router.push({ path: 'warehouseManagementLook' })
  545. },
  546. //添加
  547. handleAdd() {
  548. this.$router.push({ path: 'warehouseManagementAdd' })
  549. },
  550. //编辑
  551. handleEdit() {
  552. this.$router.push({ path: 'warehouseManagementEdit' })
  553. },
  554. handleDelete() {
  555. this.$router.push({ path: 'warehouseManagementDelete' })
  556. },
  557. //任务
  558. handlTask(){
  559. var arr=[]
  560. console.log(this.list)
  561. for (let i = 0; i < this.list.length; i++) {
  562. arr.push(this.list[i].warehouseName)
  563. }
  564. this.$router.push({ path: 'tranManagementWarehouseInOutTask',query:{stringList:arr,warehouseBaseInfoList:JSON.stringify(this.list)} })
  565. // this.$router.push({ path: 'tranManagementWarehouseInOutTask',query:{warehouseBaseInfoList:JSON.stringify(this.list)} })
  566. },
  567. dateFormat(fmt, date) {
  568. let ret
  569. const opt = {
  570. 'Y+': date.getFullYear().toString(), // 年
  571. 'm+': (date.getMonth() + 1).toString(), // 月
  572. 'd+': date.getDate().toString(), // 日
  573. 'H+': date.getHours().toString(), // 时
  574. // "M+": date.getMinutes().toString(), // 分
  575. // "S+": date.getSeconds().toString() // 秒
  576. // 有其他格式化字符需求可以继续添加,必须转化成字符串
  577. }
  578. for (let k in opt) {
  579. ret = new RegExp('(' + k + ')').exec(fmt)
  580. if (ret) {
  581. fmt = fmt.replace(
  582. ret[1],
  583. ret[1].length == 1 ? opt[k] : opt[k].padStart(ret[1].length, '0')
  584. )
  585. }
  586. }
  587. return fmt
  588. },
  589. handleClose() {
  590. this.accessoryTFs = false
  591. },
  592. handleSizeChange(val) {
  593. console.log(`每页 ${val} 条`)
  594. this.pageSize = val
  595. this.getList()
  596. },
  597. handleCurrentChange(val) {
  598. this.currentPage = val
  599. console.log(`当前页: ${val}`)
  600. this.getList()
  601. },
  602. getList() {
  603. getList({
  604. compId: sessionStorage.getItem('ws-pf_compId'),
  605. warehouseName: this.warehouseName,
  606. warehouseType: this.warehouseType,
  607. })
  608. .toPromise()
  609. .then((response) => {
  610. this.warehouseList = response
  611. })
  612. getsponsible({
  613. compId: sessionStorage.getItem('ws-pf_compId')
  614. }).toPromise()
  615. .then((response) => {
  616. this.list=response
  617. // console.log(response)
  618. })
  619. },
  620. editClick(row) {
  621. var status = ''
  622. if (row.status == '待执行' || row.status == '已完成') {
  623. status = '执行中'
  624. } else if (row.status == '执行中') {
  625. status = '已完成'
  626. }
  627. //cancelButtonClass: "btn-custom-cancel"
  628. this.$confirm(`是否将状态改为${status}`, {
  629. confirmButtonText: '确定',
  630. cancelButtonText: '取消',
  631. type: 'warning',
  632. })
  633. .then(() => {
  634. editstatus({ id: row.id })
  635. .toPromise()
  636. .then((response) => {
  637. this.$notify.success({
  638. title: '成功',
  639. message: '状态修改成功',
  640. })
  641. this.getList()
  642. })
  643. .catch((response) => {
  644. // EventBus.$emit('error', this.$t('showMessage.asteriskRequired'))
  645. })
  646. })
  647. .catch(() => {
  648. return false
  649. })
  650. },
  651. selecttaskType(e) {
  652. for (var i = 0; i < this.taskTypeList.length; i++) {
  653. if (this.taskTypeList[i].value == e) {
  654. this.searchType = this.taskTypeList[i].type
  655. }
  656. }
  657. },
  658. fujian(row) {
  659. if (
  660. row.receiveAttachmentPath === null ||
  661. row.receiveAttachmentPath === ''
  662. ) {
  663. EventBus.$emit(
  664. 'warning',
  665. this.$t('system.noticeCircular.NoInformation')
  666. )
  667. } else {
  668. this.accessoryTFs = true
  669. }
  670. this.appendixIdss = row.receiveAttachmentPath
  671. },
  672. handleExamine(row) {
  673. this.$router.push({
  674. name: 'salesContractExamine',
  675. query: { id: row.id },
  676. })
  677. },
  678. // 关闭 dialog时 处理文件url 初始化upload组件
  679. handleCloe() {
  680. this.dialogViewSpareMoney = false
  681. },
  682. history(row) {
  683. billoperatehis({ id: row.id })
  684. .toPromise()
  685. .then((response) => {
  686. this.historyList = response
  687. })
  688. },
  689. find() {
  690. this.currentPage = 1
  691. this.getList()
  692. },
  693. async exportlist() {
  694. const { data } = await export1(
  695. {
  696. compId: sessionStorage.getItem('ws-pf_compId'),
  697. contractType: this.contractType,
  698. currentPage: this.currentPage,
  699. pageSize: this.pageSize,
  700. searchType: this.searchType,
  701. searchKeyWord: this.searchKeyWord,
  702. startDate: this.startDate,
  703. endDate: this.endDate,
  704. },
  705. {},
  706. { responseType: 'blob' }
  707. ).toPromise()
  708. downloadFile({
  709. res: data,
  710. fileName: `${
  711. this.date.year + (this.date.month ? `-${this.date.month}` : '')
  712. }_采购合同`,
  713. type: 'xls',
  714. })
  715. },
  716. },
  717. }
  718. </script>
  719. <style lang="scss" scoped>
  720. .connert {
  721. width: 90%;
  722. margin: 0 auto;
  723. }
  724. .vertical-text-left {
  725. width: 62px;
  726. text-align: right;
  727. }
  728. .el-button--primary {
  729. background-color: #5878e8;
  730. border-color: #5878e8;
  731. }
  732. .el-button--default {
  733. color: #8890b1;
  734. border-color: #e8eaf1;
  735. }
  736. /deep/.base_header_layout .grid-content.right .find.el-button--primary {
  737. width: 30px;
  738. margin-left: 0;
  739. border-top-left-radius: 0px;
  740. border-bottom-left-radius: 0px;
  741. }
  742. /deep/.findValue .el-input__inner {
  743. border-top-right-radius: 0px;
  744. border-bottom-right-radius: 0px;
  745. }
  746. .completed.el-button--default {
  747. border-color: #5878e8;
  748. background-color: #f6f7fc;
  749. color: #5878e8;
  750. }
  751. .putstorage.el-button--default,
  752. .deliverystorage.el-button--default {
  753. border-color: #8890b1;
  754. background-color: #fff;
  755. color: #8890b1;
  756. }
  757. /deep/.el-table td,
  758. /deep/.el-table th.is-leaf {
  759. border-right: 1px solid #e9ecf7;
  760. text-align: center;
  761. }
  762. /deep/.el-table tr td:first-child,
  763. /deep/.el-table tr th.is-leaf:first-child {
  764. border-left: 1px solid #e9ecf7;
  765. }
  766. /deep/.el-table .el-table__header .cell,
  767. /deep/.el-table .el-table__body .cell {
  768. -webkit-line-clamp: 10;
  769. max-height: 400px;
  770. }
  771. .record,
  772. .adjustment {
  773. display: inline-block;
  774. color: #5878e8;
  775. padding: 0 4px !important;
  776. position: relative;
  777. }
  778. .record:after {
  779. position: absolute;
  780. content: '';
  781. display: block;
  782. top: 5px;
  783. right: -2px;
  784. width: 1px;
  785. height: 12px;
  786. background: #e9ecf7;
  787. }
  788. /deep/.el-radio-button:first-child .el-radio-button__inner {
  789. margin-left: 10px;
  790. }
  791. //分页
  792. .el-pagination {
  793. text-align: center;
  794. white-space: nowrap;
  795. padding: 2px 5px;
  796. color: #303133;
  797. font-weight: 700;
  798. margin-bottom: 20px;
  799. }
  800. </style>