刘翔宇-旅管家 4 years ago
parent 45c7a785ea
commit 4d93802cee

@ -43,7 +43,7 @@
</xy-table> </xy-table>
<div style="display: flex;justify-content: flex-end;"> <div style="display: flex;justify-content: flex-end;">
<Page :total="total" show-elevator @on-change="pageChange" /> <Page :total="total" show-elevator @on-change="pageChange" show-sizer @on-page-size-change="pageSizeChange" />
</div> </div>
<!-- 新增--> <!-- 新增-->
@ -330,6 +330,7 @@
totalMoney: 0, totalMoney: 0,
total: 0, total: 0,
pageIndex: 1, pageIndex: 1,
pageSize:10,
table: [{ table: [{
label: "项目名称", label: "项目名称",
prop: 'name', prop: 'name',
@ -479,6 +480,11 @@
this.pageIndex = e this.pageIndex = e
this.getBudgets() this.getBudgets()
}, },
pageSizeChange(e){
this.pageSize = e
this.pageIndex = 1
this.getBudgets()
},
// //
getDepartment() { getDepartment() {
listdeptNoAuth().then(res => { listdeptNoAuth().then(res => {
@ -488,7 +494,7 @@
// //
getBudgets() { getBudgets() {
getBudget({ getBudget({
page_size: 10, page_size: this.pageSize ,
page: this.pageIndex, page: this.pageIndex,
year: this.select.year, year: this.select.year,
type: this.select.type, type: this.select.type,

@ -42,7 +42,7 @@
</xy-table> </xy-table>
<div style="display: flex;justify-content: flex-end;"> <div style="display: flex;justify-content: flex-end;">
<Page :total="total" show-elevator @on-change="pageChange" /> <Page :total="total" show-elevator @on-change="pageChange" show-sizer @on-page-size-change="pageSizeChange" />
</div> </div>
</div> </div>
</template> </template>
@ -111,6 +111,7 @@
totalMoney: 0, totalMoney: 0,
total: 0, total: 0,
pageIndex: 1, pageIndex: 1,
pageSize: 10,
table: [{ table: [{
label: "项目名称", label: "项目名称",
prop: 'name', prop: 'name',
@ -224,7 +225,11 @@
}) })
return sums return sums
}, },
pageSizeChange(e) {
this.pageIndex = 1;
this.pageSize = e;
this.getBudgets()
},
// //
pageChange(e) { pageChange(e) {
this.pageIndex = e this.pageIndex = e
@ -239,7 +244,7 @@
// //
getBudgets() { getBudgets() {
getBudget({ getBudget({
page_size: 10, page_size: this.pageSize,
page: this.pageIndex, page: this.pageIndex,
year: this.select.year, year: this.select.year,
type: this.select.type, type: this.select.type,

@ -103,7 +103,7 @@
</div> </div>
</div> </div>
</template> </template>
<template v-slot:date> <template v-slot:date v-if="adminEdit">
<div class="xy-table-item"> <div class="xy-table-item">
<div class="xy-table-item-label">合同签订日期 <div class="xy-table-item-label">合同签订日期
</div> </div>

@ -224,7 +224,7 @@
</xy-table> </xy-table>
<div style="display: flex;justify-content: flex-end;"> <div style="display: flex;justify-content: flex-end;">
<Page :total="total" show-elevator @on-change="pageChange" /> <Page :total="total" show-elevator @on-change="pageChange" show-sizer @on-page-size-change="pageSizeChange" />
</div> </div>
<!-- 新增合同 --> <!-- 新增合同 -->
@ -492,6 +492,7 @@
keyword: '', keyword: '',
showDatePicker: '', showDatePicker: '',
pageIndex: 1, pageIndex: 1,
pageSize: 10,
startDate: "", startDate: "",
endDate: "", endDate: "",
type: "", type: "",
@ -1288,12 +1289,17 @@
number: 'purchase_type' number: 'purchase_type'
})).detail })).detail
}, },
pageSizeChange(e) {
this.select.pageSize = e;
this.select.pageIndex = 1;
this.getContracts();
},
// //
async getContracts() { async getContracts() {
const res = await getContract({ const res = await getContract({
page_size: 10, page_size: this.select.pageSize,
page: this.select.pageIndex, page: this.select.pageIndex,
is_auth: 1, is_auth: 1,
...this.select ...this.select

@ -6,21 +6,21 @@
<div class="selects"> <div class="selects">
<div> <div>
<span style="padding: 0 6px;word-break: keep-all;"> <span style="padding: 0 6px;word-break: keep-all;">
付款计划日期 付款计划日期
</span> </span>
<DatePicker :value="[select.start,select.end]" placeholder="请选择日期" placement="bottom-start" style="width: 200px" <DatePicker :value="[select.start,select.end]" placeholder="请选择日期" placement="bottom-start"
type="daterange" @on-change="datePick"></DatePicker> style="width: 200px" type="daterange" @on-change="datePick"></DatePicker>
</div> </div>
<div> <div>
<span style="padding: 0 6px;word-break: keep-all;"> <span style="padding: 0 6px;word-break: keep-all;">
关键字 关键字
</span> </span>
<Input v-model="select.keyword" placeholder="请输入关键字" style="width: 180px"></Input> <Input v-model="select.keyword" placeholder="请输入关键字" style="width: 180px"></Input>
</div> </div>
<Button style="margin-left: 10px" type="primary" <Button style="margin-left: 10px" type="primary"
@click="select={showDate:'',start:'',end:'',pageIndex:1,keyword:''}">重置 @click="select={showDate:'',start:'',end:'',pageIndex:1,keyword:''}">重置
</Button> </Button>
<Button style="margin-left: 10px" type="primary" @click="getSignPlan"></Button> <Button style="margin-left: 10px" type="primary" @click="getSignPlan"></Button>
</div> </div>
@ -29,10 +29,14 @@
<xy-table :list="list" :table-item="table" @delete="deleteContractSign" <xy-table :list="list" :table-item="table" @delete="deleteContractSign"
@editor="(row)=>{$refs['detailContractSign'].planId = row.id;$refs['detailContractSign'].isShow = true}"></xy-table> @editor="(row)=>{$refs['detailContractSign'].planId = row.id;$refs['detailContractSign'].isShow = true}">
<template v-slot:btns v-if="type==0">
</template>
</xy-table>
<div style="display: flex;justify-content: flex-end;"> <div style="display: flex;justify-content: flex-end;">
<Page :total="total" show-elevator/> <Page :total="total" @on-change="pageChange" show-elevator show-sizer @on-page-size-change="pageSizeChange" />
</div> </div>
<detailContractSign ref="detailContractSign" @editorSuccess="getSignPlan"></detailContractSign> <detailContractSign ref="detailContractSign" @editorSuccess="getSignPlan"></detailContractSign>
@ -40,132 +44,150 @@
</template> </template>
<script> <script>
import {getContractSign, delContractSign} from "@/api/contractSign/contractSign" import {
import {parseTime} from "@/utils" getContractSign,
import {Message} from "element-ui"; delContractSign
} from "@/api/contractSign/contractSign"
import {
parseTime
} from "@/utils"
import {
Message
} from "element-ui";
import detailContractSign from "@/views/contract/components/detailContractSign"; import detailContractSign from "@/views/contract/components/detailContractSign";
export default { export default {
components: { components: {
detailContractSign detailContractSign
}, },
data() { data() {
return { return {
select: { select: {
start: `${new Date().getFullYear()}-${new Date().getMonth() + 1}-${new Date().getDate()}`, start: `${new Date().getFullYear()}-${new Date().getMonth() + 1}-${new Date().getDate()}`,
end: `${new Date().getFullYear()}-${new Date().getMonth() + 2}-${new Date().getDate()}`, end: `${new Date().getFullYear()}-${new Date().getMonth() + 2}-${new Date().getDate()}`,
pageIndex: 1, pageIndex: 1,
keyword: '' keyword: '',
}, is_auth: 1,
total: 0,
list: [],
table: [
{
prop: 'contract.name',
label: '项目名称',
width: 170,
align: 'left',
fixed: 'left'
},
{
prop: 'money',
label: '计划付款金额(元)',
align: 'right',
width: 170,
formatter: (v1, v2, value) => {
return Number(value).toFixed(2).replace(/(\d)(?=(\d{3})+\.)/g, '$1,')
}
},
{
prop: 'date',
label: '计划付款日期',
width: 180
},
{
prop: 'content',
label: '内容',
minWidth: 180,
align: 'left'
},
{
prop: 'contract.created_at',
label: '合同签订日期',
width: 180,
formatter: (v1, v2, value) => {
return parseTime(new Date(value), '{y}-{m}-{d}')
}
},
{
prop: 'contract.supply',
label: '受款单位',
width: 140
},
{
prop: 'admin.name',
label: '经办人',
width: 140
},
{
prop: 'department.name',
label: '经办科室',
width: 140
}, },
{ total: 0,
prop: 'created_at', list: [],
label: '创建信息', table: [{
width: 160, prop: 'contract.name',
formatter: (v1, v2, value) => { label: '项目名称',
return parseTime(new Date(value), '{y}-{m}-{d}') width: 170,
align: 'left',
fixed: 'left'
},
{
prop: 'money',
label: '计划付款金额(元)',
align: 'right',
width: 170,
formatter: (v1, v2, value) => {
return Number(value).toFixed(2).replace(/(\d)(?=(\d{3})+\.)/g, '$1,')
}
},
{
prop: 'date',
label: '计划付款日期',
width: 180
},
{
prop: 'content',
label: '内容',
minWidth: 180,
align: 'left'
},
{
prop: 'contract.created_at',
label: '合同签订日期',
width: 180,
formatter: (v1, v2, value) => {
return parseTime(new Date(value), '{y}-{m}-{d}')
}
},
{
prop: 'contract.supply',
label: '受款单位',
width: 140
},
{
prop: 'admin.name',
label: '经办人',
width: 140
},
{
prop: 'department.name',
label: '经办科室',
width: 140
},
{
prop: 'created_at',
label: '创建信息',
width: 160,
formatter: (v1, v2, value) => {
return parseTime(new Date(value), '{y}-{m}-{d}')
}
} }
} ],
], }
}
},
methods: {
async getSignPlan() {
const res = await getContractSign({
page_size: 10,
page: this.select.pageIndex,
keyword: this.select.keyword,
start_date: this.select.start,
end_date: this.select.end,
is_auth:1
})
this.total = res.total
this.list = res.data
}, },
deleteContractSign(row) { methods: {
delContractSign({id: row.id}).then(res => { pageSizeChange(e) {
this.getSignPlan() this.select.pageSize = e;
Message({ this.select.pageIndex = 1;
type: 'success', this.getSignPlan();
message: "操作成功" },
async getSignPlan() {
const res = await getContractSign({
page_size: this.select.pageSize,
page: this.select.pageIndex,
keyword: this.select.keyword,
start_date: this.select.start,
end_date: this.select.end,
is_auth: this.select.is_auth
}) })
}) this.total = res.total
}, this.list = res.data
datePick(e) { },
this.select.start = e[0] deleteContractSign(row) {
this.select.end = e[1] delContractSign({
id: row.id
}).then(res => {
this.getSignPlan()
Message({
type: 'success',
message: "操作成功"
})
})
},
datePick(e) {
this.select.start = e[0]
this.select.end = e[1]
},
pageChange(e) {
this.select.pageIndex = e
this.getSignPlan()
},
}, },
pageChange(e) { mounted() {
this.select.pageIndex = e
this.getSignPlan() this.getSignPlan()
}, },
}, created() {
mounted() { let type = parseInt(this.$route.path.split("_")[1]);
this.getSignPlan() this.type = this.select.is_auth = type;
}
} }
}
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
.selects { .selects {
display: flex; display: flex;
flex-wrap: wrap; flex-wrap: wrap;
& > div { &>div {
margin-bottom: 6px; margin-bottom: 6px;
}
} }
}
</style> </style>

@ -5,16 +5,25 @@
<slot> <slot>
<span style="padding: 0 6px;word-break: keep-all;">创建日期</span> <span style="padding: 0 6px;word-break: keep-all;">创建日期</span>
<span> <span>
<DatePicker :value="selectDate" placeholder="请选择日期" type="date" placement="bottom-start" style="width: 180px" @on-change="(e)=>selectDate = e"></DatePicker> <DatePicker :value="selectDate" placeholder="请选择日期" type="date" placement="bottom-start" style="width: 180px"
@on-change="(e)=>selectDate = e"></DatePicker>
</span> </span>
<span style="padding: 0 6px;word-break: keep-all;">关键字</span> <span style="padding: 0 6px;word-break: keep-all;">关键字</span>
<span> <span>
<Input v-model="keywords" placeholder="请输入关键字" style="width: 180px"></Input> <Input v-model="keywords" placeholder="请输入关键字" style="width: 180px"></Input>
</span> </span>
<span style="padding: 0 6px;word-break: keep-all;">
<Button type="primary" style="margin-left: 10px" ghost @click="contractId = '',pageIndex = 1,keywords = '',selectDate = ''">重置</Button> 状态
<Button type="primary" style="margin-left: 10px" @click="getFundLogs"></Button> </span>
<Select v-model="status" clearable placeholder="请选择" style="width:100px;">
<Option v-for="item in [{label:'待审核',value:0},{label:'已审核',value:1}]" :key="item.value" :value="item.value">
{{ item.label }}
</Option>
</Select>
<Button type="primary" style="margin-left: 10px" ghost
@click="contractId = '',pageIndex = 1,keywords = '',selectDate = ''">重置</Button>
<Button type="primary" style="margin-left: 10px" @click="getFundLogs"></Button>
</slot> </slot>
</lx-header> </lx-header>
@ -22,26 +31,23 @@
<template v-slot:btns> <template v-slot:btns>
<el-table-column label="操作" fixed="right" width="200" header-align="center"> <el-table-column label="操作" fixed="right" width="200" header-align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<template v-if="scope.row.status === 0"> <template v-if="scope.row.status === 0&&type==1">
<Poptip <Poptip placement="bottom" confirm :transfer="true" title="确认要删除吗" @on-ok="deleteFundLog(scope.row)">
placement="bottom" <Button size="small" type="error" style="margin-left: 10px;margin-bottom: 4px" ghost>删除</Button>
confirm
:transfer="true"
title="确认要删除吗"
@on-ok="deleteFundLog(scope.row)">
<Button size="small" type="error" style="margin-left: 10px;margin-bottom: 4px" ghost>删除</Button>
</Poptip> </Poptip>
<Button size="small" type="primary" style="margin-left: 10px;margin-bottom: 4px" @click="$refs['detailPaymentRegistration'].getFundLog(scope.row.id),$refs['detailPaymentRegistration'].isShow = true">编辑</Button> <Button size="small" type="primary" style="margin-left: 10px;margin-bottom: 4px"
@click="$refs['detailPaymentRegistration'].getFundLog(scope.row.id),$refs['detailPaymentRegistration'].isShow = true">编辑</Button>
</template> </template>
<Button size="small" type="primary" style="margin-left: 10px;margin-bottom: 4px" @click="$refs['printRegistration'].getDetailFundLog(scope.row.id),$refs['printRegistration'].isShow = true">打印</Button> <Button size="small" type="primary" style="margin-left: 10px;margin-bottom: 4px"
@click="$refs['printRegistration'].getDetailFundLog(scope.row.id),$refs['printRegistration'].isShow = true">打印</Button>
</template> </template>
</el-table-column> </el-table-column>
</template> </template>
</xy-table> </xy-table>
<div style="display: flex;justify-content: flex-end;"> <div style="display: flex;justify-content: flex-end;">
<Page :total="total" show-elevator @on-change="pageChange"/> <Page :total="total" show-elevator @on-change="pageChange" show-sizer @on-page-size-change="pageSizeChange" />
</div> </div>
<printRegistration ref="printRegistration"></printRegistration> <printRegistration ref="printRegistration"></printRegistration>
@ -51,130 +57,166 @@
</template> </template>
<script> <script>
import {getFundLog,delFundLog} from "@/api/paymentRegistration/fundLog" import {
import {parseTime} from "@/utils" getFundLog,
import {Message} from "element-ui"; delFundLog
} from "@/api/paymentRegistration/fundLog"
import {
parseTime
} from "@/utils"
import {
Message
} from "element-ui";
import printRegistration from "./components/printRegistration"; import printRegistration from "./components/printRegistration";
import detailPaymentRegistration from "./components/detailPaymentRegistration"; import detailPaymentRegistration from "./components/detailPaymentRegistration";
export default { export default {
components:{ components: {
printRegistration, printRegistration,
detailPaymentRegistration detailPaymentRegistration
}, },
data() { data() {
return { return {
selectDate:'', selectDate: '',
keywords:'', keywords: '',
list:[], list: [],
contractId:'', contractId: '',
total:0, total: 0,
pageIndex:1, pageIndex: 1,
table:[ pageSize: 10,
{ is_auth: 1,
label:"项目名称", status: "",
minWidth: 150, table: [{
prop:'contract.name', label: "项目名称",
align:'left', minWidth: 250,
fixed:'left' prop: 'contract.name',
}, align: 'left',
{ fixed: 'left'
label:"付款申请金额(元)", },
prop:"apply_money", {
align:'right', label: "付款申请金额(元)",
width: 180, prop: "apply_money",
formatter:(v1,v2,value)=>{ align: 'right',
return Number(value).toFixed(2).replace(/(\d)(?=(\d{3})+\.)/g, '$1,') width: 180,
} formatter: (v1, v2, value) => {
}, return Number(value).toFixed(2).replace(/(\d)(?=(\d{3})+\.)/g, '$1,')
{ }
label:'实际支付金额(元)', },
prop:"act_money", {
align:'right', label: '实际支付金额(元)',
width: 180, prop: "act_money",
formatter:(v1,v2,value)=>{ align: 'right',
return Number(value).toFixed(2).replace(/(\d)(?=(\d{3})+\.)/g, '$1,') width: 180,
} formatter: (v1, v2, value) => {
}, return Number(value).toFixed(2).replace(/(\d)(?=(\d{3})+\.)/g, '$1,')
{ }
label:"款项类型", },
prop:"type", {
width: 120 label: "款项类型",
}, prop: "type",
{ width: 120
prop:'status', },
label:'状态', {
width: 120, prop: 'status',
formatter:(cell,data,value)=>{ label: '状态',
if(value === 0) return '待审核' width: 120,
else return '已审核' formatter: (cell, data, value) => {
} if (value === 0) return '待审核'
}, else return '已审核'
{ }
label:"是否为最后一笔", },
prop:"is_end", {
width: 145, label: "次数",
formatter:(cell,data,value)=>{ prop: "pay_count",
return value == 1 ? "是" : "否" width: 95,
} formatter: (cell, data, value) => {
}, return value + 1;
{ }
label:"经办人", },
minWidth: 160, {
prop:'admin.name', label: "是否为最后一笔",
align:'center' prop: "is_end",
}, width: 145,
{ formatter: (cell, data, value) => {
label:"业务科室", return value == 1 ? "是" : "否"
minWidth: 160, }
prop:'department.name', },
align:'center' {
}, label: "经办人",
{ minWidth: 160,
label:"备注", prop: 'admin.name',
minWidth: 160, align: 'center'
prop:'remark', },
align:'left' {
}, label: "业务科室",
{ minWidth: 160,
label:"创建信息", prop: 'department.name',
prop:"created_at", align: 'center'
width:160, },
formatter:(cell,data,value)=>{ {
return parseTime(new Date(value),'{y}-{m}-{d}') label: "备注",
minWidth: 460,
prop: 'remark',
align: 'left'
},
{
label: "创建信息",
prop: "created_at",
width: 160,
formatter: (cell, data, value) => {
return parseTime(new Date(value), '{y}-{m}-{d}')
}
} }
} ]
] }
}
},
methods: {
pageChange(e){
this.pageIndex = e
this.getFundLogs()
}, },
methods: {
pageSizeChange(e) {
this.pageSize = e;
this.pageIndex = 1;
this.getFundLogs()
},
pageChange(e) {
this.pageIndex = e
this.getFundLogs()
},
async getFundLogs(){ async getFundLogs() {
const res = await getFundLog({page_size:10,page:this.pageIndex,contract_id:this.contractId,keyword:this.keywords,date:this.selectDate}) const res = await getFundLog({
this.list = res.data page_size: this.pageSize,
this.total = res.total page: this.pageIndex,
}, contract_id: this.contractId,
keyword: this.keywords,
date: this.selectDate,
is_auth: this.selectDate,
status: this.status,
})
this.list = res.data
this.total = res.total
},
deleteFundLog(row){ deleteFundLog(row) {
delFundLog({id:row.id}).then(res=>{ delFundLog({
Message({ id: row.id
type:'success', }).then(res => {
message:'操作成功' Message({
type: 'success',
message: '操作成功'
})
this.getFundLogs()
}) })
this.getFundLogs() }
}) },
} mounted() {
}, this.contractId = this.$route.query.contractId
mounted() {
this.contractId = this.$route.query.contractId
this.getFundLogs() this.getFundLogs()
}, },
} created() {
let type = parseInt(this.$route.path.split("_")[1]);
this.type = this.is_auth = type;
}
}
</script> </script>
<style scoped lang="scss"> <style scoped lang="scss">

@ -175,7 +175,7 @@
</xy-table> </xy-table>
<div style="display: flex;justify-content: flex-end;"> <div style="display: flex;justify-content: flex-end;">
<Page :total="total" show-elevator @on-change="pageChange" /> <Page :total="total" show-elevator @on-change="pageChange" show-sizer @on-page-size-change="pageSizeChange" />
</div> </div>
<!-- 新增合同 --> <!-- 新增合同 -->
@ -459,7 +459,7 @@
plan_name: "请选择预算计划", plan_name: "请选择预算计划",
start_plan_price: "", start_plan_price: "",
end_plan_price: "", end_plan_price: "",
assurance_status:0 assurance_status: 0
}, },
type: [{ type: [{
label: '服务', label: '服务',
@ -1229,12 +1229,17 @@
number: 'purchase_type' number: 'purchase_type'
})).detail })).detail
}, },
pageSizeChange(e) {
this.select.pageSize = e;
this.select.pageIndex = 1;
this.getContracts();
},
// //
async getContracts() { async getContracts() {
const res = await getContract({ const res = await getContract({
page_size: 10, page_size: this.select.pageSize,
page: this.select.pageIndex, page: this.select.pageIndex,
...this.select ...this.select
}) })

@ -81,7 +81,7 @@
</xy-table> </xy-table>
<div style="display: flex;justify-content: flex-end;"> <div style="display: flex;justify-content: flex-end;">
<Page :total="total" show-elevator @on-change="pageChange" /> <Page :total="total" show-elevator @on-change="pageChange" show-sizer @on-page-size-change="pageSizeChange" />
</div> </div>
<examineRegistration ref="examineRegistration" @refresh="getFundLogs"></examineRegistration> <examineRegistration ref="examineRegistration" @refresh="getFundLogs"></examineRegistration>
@ -165,6 +165,7 @@
list: [], list: [],
total: 0, total: 0,
pageIndex: 1, pageIndex: 1,
pageSize: 10,
table: [{ table: [{
label: "项目名称", label: "项目名称",
minWidth: 300, minWidth: 300,
@ -226,6 +227,15 @@
else return '已审核' else return '已审核'
} }
}, },
{
label: "次数",
prop: "pay_count",
width: 95,
formatter: (cell, data, value) => {
return value + 1;
}
},
{ {
label: "最后一笔", label: "最后一笔",
prop: "is_end", prop: "is_end",
@ -356,6 +366,11 @@
} }
this.isShowPlanForSearch = false this.isShowPlanForSearch = false
}, },
pageSizeChange(e) {
this.pageSize = e
this.pageIndex = 1
this.getFundLogs()
},
pageChange(e) { pageChange(e) {
this.pageIndex = e this.pageIndex = e
this.getFundLogs() this.getFundLogs()
@ -366,7 +381,7 @@
}, },
async getFundLogs(is_export) { async getFundLogs(is_export) {
await getFundLog({ await getFundLog({
page_size: 10, page_size: this.pageSize,
page: this.pageIndex, page: this.pageIndex,
keyword: this.keyword, keyword: this.keyword,
date: this.selectDate, date: this.selectDate,

Loading…
Cancel
Save