|
|
@ -1,27 +1,51 @@
|
|
|
|
<template>
|
|
|
|
<template>
|
|
|
|
<!-- 中标审批列表 -->
|
|
|
|
<!-- 中标审批列表 -->
|
|
|
|
<div>
|
|
|
|
<div>
|
|
|
|
<HeaderFilter :listType="listType" :spList="spList" @onListQuery="handleListQuery" :paramProp="listQuery" />
|
|
|
|
<HeaderFilter
|
|
|
|
<RMList :moreLoading.sync="moreLoading" :refreshing.sync="refreshing" :finished.sync="finished" @onLoad="handleLoad" @onRefresh="handleRefresh" isMore :tableList="tableList">
|
|
|
|
:listType="listType"
|
|
|
|
|
|
|
|
:spList="spList"
|
|
|
|
|
|
|
|
@onListQuery="handleListQuery"
|
|
|
|
|
|
|
|
:paramProp="listQuery"
|
|
|
|
|
|
|
|
/>
|
|
|
|
|
|
|
|
<RMList
|
|
|
|
|
|
|
|
:moreLoading.sync="moreLoading"
|
|
|
|
|
|
|
|
:refreshing.sync="refreshing"
|
|
|
|
|
|
|
|
:finished.sync="finished"
|
|
|
|
|
|
|
|
@onLoad="handleLoad"
|
|
|
|
|
|
|
|
@onRefresh="handleRefresh"
|
|
|
|
|
|
|
|
isMore
|
|
|
|
|
|
|
|
:tableList="tableList"
|
|
|
|
|
|
|
|
>
|
|
|
|
<div>
|
|
|
|
<div>
|
|
|
|
<MySupplierListCard v-for="(item,index) in tableList" :key="item.id" :itemData="item" :listType="listType" @onUpdataInfo="handleUpdataInfo($event, index)" @onAllRefresh="handleAllRefresh" />
|
|
|
|
<MySupplierListCard
|
|
|
|
|
|
|
|
v-for="(item, index) in tableList"
|
|
|
|
|
|
|
|
:key="item.id"
|
|
|
|
|
|
|
|
:itemData="item"
|
|
|
|
|
|
|
|
:listType="listType"
|
|
|
|
|
|
|
|
@onUpdataInfo="handleUpdataInfo($event, index)"
|
|
|
|
|
|
|
|
@onAllRefresh="handleAllRefresh"
|
|
|
|
|
|
|
|
/>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</RMList>
|
|
|
|
</RMList>
|
|
|
|
<div class="common-bottom-btns" style="bottom:8rem">
|
|
|
|
<div class="common-bottom-btns" style="bottom: 8rem">
|
|
|
|
<div class="common-bottom-btn" @click="handleTopPage">
|
|
|
|
<div class="common-bottom-btn" @click="handleTopPage">
|
|
|
|
<img src="@/assets/images/icons/top.png" alt="">
|
|
|
|
<img src="@/assets/images/icons/top.png" alt="" />
|
|
|
|
<span>回到顶部</span>
|
|
|
|
<span>回到顶部</span>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div class="common-bottom-btns" v-hasPermi="['bs:supplier-contract:create']" style="bottom:10rem">
|
|
|
|
<div
|
|
|
|
|
|
|
|
class="common-bottom-btns"
|
|
|
|
|
|
|
|
v-hasPermi="['bs:supplier-contract:create']"
|
|
|
|
|
|
|
|
style="bottom: 10rem"
|
|
|
|
|
|
|
|
>
|
|
|
|
<div class="common-bottom-btn" @click="handleToAdd">
|
|
|
|
<div class="common-bottom-btn" @click="handleToAdd">
|
|
|
|
<img src="@/assets/images/icons/add.png" alt="">
|
|
|
|
<img src="@/assets/images/icons/add.png" alt="" />
|
|
|
|
<span>添加申请</span>
|
|
|
|
<span>添加申请</span>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div class="common-bottom-btns" style="bottom:6rem">
|
|
|
|
<div class="common-bottom-btns" style="bottom: 6rem">
|
|
|
|
<div class="common-bottom-btn" @click="handleBack">
|
|
|
|
<div class="common-bottom-btn" @click="handleBack">
|
|
|
|
<img src="@/assets/images/icons/home.png" alt="">
|
|
|
|
<img src="@/assets/images/icons/home.png" alt="" />
|
|
|
|
<span>返回首页</span>
|
|
|
|
<span>返回首页</span>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
@ -30,13 +54,13 @@
|
|
|
|
|
|
|
|
|
|
|
|
<script>
|
|
|
|
<script>
|
|
|
|
import { getScrollTop } from '@/utils'
|
|
|
|
import { getScrollTop } from '@/utils'
|
|
|
|
import { getSupplierCompanyPage } from "@/api/bs/quotationSheet";
|
|
|
|
import { getSupplierCompanyPage } from '@/api/bs/quotationSheet'
|
|
|
|
import { getSupplierContractPage } from "@/api/bs/supplierContract";
|
|
|
|
import { getSupplierContractPage } from '@/api/bs/supplierContract'
|
|
|
|
import { mapState } from 'vuex'
|
|
|
|
import { mapState } from 'vuex'
|
|
|
|
import dayjs from 'dayjs'
|
|
|
|
import dayjs from 'dayjs'
|
|
|
|
export default {
|
|
|
|
export default {
|
|
|
|
props: {
|
|
|
|
props: {
|
|
|
|
listType: String // EnrollmentOrder: 报名订单 EnrollmentCollection: 报名收款 ShiftRecord: 换班记录 WaitPay: 待支付
|
|
|
|
listType: String, // EnrollmentOrder: 报名订单 EnrollmentCollection: 报名收款 ShiftRecord: 换班记录 WaitPay: 待支付
|
|
|
|
},
|
|
|
|
},
|
|
|
|
components: {
|
|
|
|
components: {
|
|
|
|
HeaderFilter: () => import('./HeaderFilter.vue'),
|
|
|
|
HeaderFilter: () => import('./HeaderFilter.vue'),
|
|
|
@ -60,7 +84,6 @@ export default {
|
|
|
|
contractName: null,
|
|
|
|
contractName: null,
|
|
|
|
contractType: null,
|
|
|
|
contractType: null,
|
|
|
|
supplierName: null,
|
|
|
|
supplierName: null,
|
|
|
|
status: null,
|
|
|
|
|
|
|
|
amount: null,
|
|
|
|
amount: null,
|
|
|
|
receivedAmount: null,
|
|
|
|
receivedAmount: null,
|
|
|
|
projectId: null,
|
|
|
|
projectId: null,
|
|
|
@ -81,9 +104,9 @@ export default {
|
|
|
|
},
|
|
|
|
},
|
|
|
|
computed: {
|
|
|
|
computed: {
|
|
|
|
...mapState({
|
|
|
|
...mapState({
|
|
|
|
singlePageSize: state => state.common.setting.singlePageSize,
|
|
|
|
singlePageSize: (state) => state.common.setting.singlePageSize,
|
|
|
|
pageSize: state => state.common.setting.pageSize,
|
|
|
|
pageSize: (state) => state.common.setting.pageSize,
|
|
|
|
})
|
|
|
|
}),
|
|
|
|
},
|
|
|
|
},
|
|
|
|
activated() {
|
|
|
|
activated() {
|
|
|
|
this.handleScrollInit()
|
|
|
|
this.handleScrollInit()
|
|
|
@ -113,35 +136,44 @@ export default {
|
|
|
|
pageNo: 1,
|
|
|
|
pageNo: 1,
|
|
|
|
pageSize: this.singlePageSize,
|
|
|
|
pageSize: this.singlePageSize,
|
|
|
|
}
|
|
|
|
}
|
|
|
|
getSupplierContractPage(listQuery).then((res) => {
|
|
|
|
getSupplierContractPage(listQuery)
|
|
|
|
let arr = (res.data && res.data.list || []).filter(item => item.id == id)
|
|
|
|
.then((res) => {
|
|
|
|
|
|
|
|
let arr = ((res.data && res.data.list) || []).filter(
|
|
|
|
|
|
|
|
(item) => item.id == id
|
|
|
|
|
|
|
|
)
|
|
|
|
resolve(arr)
|
|
|
|
resolve(arr)
|
|
|
|
}).catch((err) => {
|
|
|
|
})
|
|
|
|
|
|
|
|
.catch((err) => {
|
|
|
|
reject(err)
|
|
|
|
reject(err)
|
|
|
|
})
|
|
|
|
})
|
|
|
|
})
|
|
|
|
})
|
|
|
|
},
|
|
|
|
},
|
|
|
|
handleUpdataInfo(id, index) {
|
|
|
|
handleUpdataInfo(id, index) {
|
|
|
|
this.$loading(true, 'singleReset')
|
|
|
|
this.$loading(true, 'singleReset')
|
|
|
|
this.handleSetSingle(id).then(arr => {
|
|
|
|
this.handleSetSingle(id)
|
|
|
|
|
|
|
|
.then((arr) => {
|
|
|
|
if (arr.length) {
|
|
|
|
if (arr.length) {
|
|
|
|
this.tableList.splice(index, 1, arr[0])
|
|
|
|
this.tableList.splice(index, 1, arr[0])
|
|
|
|
}
|
|
|
|
}
|
|
|
|
this.$loading(false, 'singleReset')
|
|
|
|
this.$loading(false, 'singleReset')
|
|
|
|
}).catch(() => {
|
|
|
|
})
|
|
|
|
|
|
|
|
.catch(() => {
|
|
|
|
this.$loading(false, 'singleReset')
|
|
|
|
this.$loading(false, 'singleReset')
|
|
|
|
})
|
|
|
|
})
|
|
|
|
},
|
|
|
|
},
|
|
|
|
handleListQuery(paramProp) {
|
|
|
|
handleListQuery(paramProp) {
|
|
|
|
this.listQuery = {
|
|
|
|
this.listQuery = {
|
|
|
|
...paramProp,
|
|
|
|
...paramProp,
|
|
|
|
invoiceDate: paramProp.startDate && [dayjs(paramProp.startDate).format('YYYY-MM-DD HH:ss:mm'), dayjs(paramProp.endDate).format('YYYY-MM-DD HH:ss:mm')]
|
|
|
|
invoiceDate: paramProp.startDate && [
|
|
|
|
|
|
|
|
dayjs(paramProp.startDate).format('YYYY-MM-DD HH:ss:mm'),
|
|
|
|
|
|
|
|
dayjs(paramProp.endDate).format('YYYY-MM-DD HH:ss:mm'),
|
|
|
|
|
|
|
|
],
|
|
|
|
}
|
|
|
|
}
|
|
|
|
this.finished = false
|
|
|
|
this.finished = false
|
|
|
|
this.handleRefresh()
|
|
|
|
this.handleRefresh()
|
|
|
|
},
|
|
|
|
},
|
|
|
|
handleScroll() {
|
|
|
|
handleScroll() {
|
|
|
|
getScrollTop().then(height => {
|
|
|
|
getScrollTop().then((height) => {
|
|
|
|
this.height = height
|
|
|
|
this.height = height
|
|
|
|
})
|
|
|
|
})
|
|
|
|
},
|
|
|
|
},
|
|
|
@ -159,8 +191,8 @@ export default {
|
|
|
|
this.$router.push({
|
|
|
|
this.$router.push({
|
|
|
|
path: '/supplier',
|
|
|
|
path: '/supplier',
|
|
|
|
query: {
|
|
|
|
query: {
|
|
|
|
type: 'add'
|
|
|
|
type: 'add',
|
|
|
|
}
|
|
|
|
},
|
|
|
|
})
|
|
|
|
})
|
|
|
|
},
|
|
|
|
},
|
|
|
|
handleAllRefresh() {
|
|
|
|
handleAllRefresh() {
|
|
|
@ -191,12 +223,13 @@ export default {
|
|
|
|
getTableList(val) {
|
|
|
|
getTableList(val) {
|
|
|
|
// const { shellIdsLocal, collegeInfoIdLocal, startDate, endDate, keyword, type, method, targets, usePersonId, teacherIds, chargePersonIds } = this.listQuery
|
|
|
|
// const { shellIdsLocal, collegeInfoIdLocal, startDate, endDate, keyword, type, method, targets, usePersonId, teacherIds, chargePersonIds } = this.listQuery
|
|
|
|
const query = {
|
|
|
|
const query = {
|
|
|
|
...this.listQuery
|
|
|
|
...this.listQuery,
|
|
|
|
}
|
|
|
|
}
|
|
|
|
this.moreLoading = true
|
|
|
|
this.moreLoading = true
|
|
|
|
this.$loading(true, 'tableLoading')
|
|
|
|
this.$loading(true, 'tableLoading')
|
|
|
|
getSupplierContractPage(query).then(res => {
|
|
|
|
getSupplierContractPage(query)
|
|
|
|
let resList = res.data && res.data.list || []
|
|
|
|
.then((res) => {
|
|
|
|
|
|
|
|
let resList = (res.data && res.data.list) || []
|
|
|
|
if (['init', 'refresh'].includes(val)) {
|
|
|
|
if (['init', 'refresh'].includes(val)) {
|
|
|
|
this.tableList = resList
|
|
|
|
this.tableList = resList
|
|
|
|
this.handleScrollToTop()
|
|
|
|
this.handleScrollToTop()
|
|
|
@ -206,7 +239,8 @@ export default {
|
|
|
|
if (resList.length < this.pageSize) {
|
|
|
|
if (resList.length < this.pageSize) {
|
|
|
|
this.finished = true
|
|
|
|
this.finished = true
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}).finally(() => {
|
|
|
|
})
|
|
|
|
|
|
|
|
.finally(() => {
|
|
|
|
this.$nextTick(() => {
|
|
|
|
this.$nextTick(() => {
|
|
|
|
this.moreLoading = false
|
|
|
|
this.moreLoading = false
|
|
|
|
this.refreshing = false
|
|
|
|
this.refreshing = false
|
|
|
@ -215,7 +249,7 @@ export default {
|
|
|
|
// this.$loading(false, `cTableLoading_${this.listType}`)
|
|
|
|
// this.$loading(false, `cTableLoading_${this.listType}`)
|
|
|
|
})
|
|
|
|
})
|
|
|
|
},
|
|
|
|
},
|
|
|
|
}
|
|
|
|
},
|
|
|
|
}
|
|
|
|
}
|
|
|
|
</script>
|
|
|
|
</script>
|
|
|
|
<style scoped lang="scss">
|
|
|
|
<style scoped lang="scss">
|
|
|
|