xy 2 years ago
parent 8731ae07f4
commit fb722a8f83

@ -1,10 +1,11 @@
import request from "@/utils/request";
export function getFundLog(params){
export function getFundLog(params,noloading=false){
return request({
method:'get',
url:'/api/admin/fund_log/index',
params
params,
noloading
})
}

@ -277,7 +277,7 @@
</xy-dialog>
<!-- 新增表 框架合同-->
<el-dialog title="框架协议" :visible.sync="isShowContractToContracts" width="54%">
<Modal title="框架协议" v-model="isShowContractToContracts" width="54%">
<Table
:data="contractList"
:columns="contractTable"
@ -298,10 +298,10 @@
</div>
<span slot="footer" class="dialog-footer">
<el-button @click="isShowContractToContracts = false"> </el-button>
<el-button type="primary" @click="isShowContractToContracts = false"> </el-button>
<el-button size="small" @click="isShowContractToContracts = false"> </el-button>
<el-button size="small" type="primary" @click="isShowContractToContracts = false"> </el-button>
</span>
</el-dialog>
</Modal>
</div>
</template>
@ -538,6 +538,12 @@ import { resetSelect } from '@/utils'
minWidth: 180,
align: "left",
},
{
title: "预存金额",
key: "plan_price",
align: "right",
width: 180
},
{
title: "采购形势",
width: 120,
@ -580,7 +586,7 @@ import { resetSelect } from '@/utils'
row.useMoney = 0
return
}
if (e <= (Number(row.money) - Number(row.use_money_total))) {
if (e <= (Number(row.money) - Number(row.has_money_total))) {
row.useMoney = e
this.plan.forEach(item => {
if (item.value.plan_id == row.id) {
@ -703,7 +709,8 @@ import { resetSelect } from '@/utils'
id: id
})
this.contrantId = res.id
this.selections = []
this.selections = res.to_contracts.map(i => i.to_contract)
console.log(this.selections)
this.detail = {
name: res.name,
is_contract: res.is_contract,
@ -773,7 +780,7 @@ import { resetSelect } from '@/utils'
return {
contract_id: this.contrantId,
to_contract_id: i.id,
use_money: i.money
use_money: this.detail.price
}
})
}).then(res => {

@ -12,10 +12,13 @@
<DatePicker
:value="planSelect.year"
placeholder="选择所属年份"
placement="bottom"
placement="bottom-start"
style="width: 180px;margin-right: 10px;"
type="year"
@on-change="(e) => (planSelect.year = e)"
@on-change="(e) => {
planSelect.year = e
getBudgets()
}"
></DatePicker>
<el-select
placeholder="科室选择"
@ -143,6 +146,8 @@
>查看已选预算计划</el-button
>
</el-popover>
<br>
<Tag v-show="form.use_framework_buy" checkable color="warning">使</Tag>
<Divider></Divider>
@ -753,7 +758,7 @@
shape="circle"
@click="
$router.push({
path: isLedger ? '/contract/contract/contractLedger' : '/contract/contract/contractList',
path: '/contract/contract/contractList',
query: {
keyword: form.name,
},
@ -790,6 +795,10 @@
:page-size="contractSelect.page_size"
layout="prev, pager, next, jumper"
:total="contractTotal"
@current-change="e => {
contractSelect.page = e;
getContractToContracts();
}"
>
</el-pagination>
</div>
@ -1148,6 +1157,12 @@ export default {
minWidth: 180,
align: "left",
},
{
label: "预存金额",
prop: "plan_price",
width: 120,
align: "right"
},
{
prop: "purchase_type.value",
label: "采购形势",
@ -1266,7 +1281,7 @@ export default {
});
return;
}
if (i._inputMoney > Number(i.money) - Number(i.use_money_total)) {
if (i._inputMoney > Number(i.money) - Number(i.has_money_total)) {
this.$message({
type: "warning",
message: `${i.year}${i.name} 使用金额大于剩余预算!`,
@ -1293,6 +1308,8 @@ export default {
this.btnLoading = true
if (!this.form.use_framework_buy) {
this.form.contract_to_contracts = []
} else {
this.form.contract_plan_links = []
}
if (this.type === 'add') {
addContrant(this.form,true).then(res => {
@ -1344,7 +1361,7 @@ export default {
})?.label,
yusuan: row?.plan_price?.toString(),
zijinlaiyuan: row.money_way_detail?.value,
zijinlaiyuanjuti: row?.plans.reduce((pre,cur,index)=>(index === 0 ? cur?.name : pre+cur?.name+""),"")
zijinlaiyuanjuti: row?.plans.reduce((pre,cur,index)=>(index === 0 ? cur?.name : pre+cur?.name+""),"")
};
let url = `${process.env.VUE_APP_OUT_OLD}?s=/flow/add/modid/8&auth_token=${this.$store.getters.oa_token}&out_caigou_id=${
row.id
@ -1371,10 +1388,10 @@ export default {
return this.id ? {
contract_id: this.contractId,
to_contract_id: i.id,
use_money: i.money
use_money: this.form.plan_price
} : {
to_contract_id: i.id,
use_money: i.money
use_money: this.form.plan_price
}
})
done();

@ -77,6 +77,11 @@
</span>
</div>
<div>
<span style="padding: 0 6px; word-break: keep-all">是否简易流程</span>
<i-switch v-model="select.is_simple" :true-value="1" :false-value="0" />
</div>
<div>
<span style="padding: 0 6px; word-break: keep-all"> 项目类型 </span>
<Select
@ -251,12 +256,7 @@
<Button
style="margin-left: 10px"
type="primary"
@click="new RegExp(/contractLedger/g).test($route.path) ? $router.push({
path: '/contract/contractEdit',
query: {
isLedger: 1
}
}) : $router.push('/contract/contractEdit')"
@click="(new RegExp(/contractLedger/g).test($route.path) || select.is_myself) ? ($refs['addContractLedger'].setType('add'),$refs['addContractLedger'].show()) : $router.push('/contract/contractEdit')"
>新增</Button
>
<Button style="margin-left: 10px" type="primary" @click="getContracts"
@ -1306,7 +1306,8 @@ export default {
plan_name: "请选择预算计划",
start_plan_price: undefined,
end_plan_price: undefined,
is_myself: 0
is_myself: 0,
is_simple: 0
},
selectCopy: {
keyword: "",
@ -1324,6 +1325,8 @@ export default {
plan_name: "请选择预算计划",
start_plan_price: undefined,
end_plan_price: undefined,
is_myself: 0,
is_simple: 0
},
type: [
{
@ -2257,7 +2260,7 @@ export default {
}
}, ""),
zijinlaiyuanjuti: row?.plans.reduce((pre,cur,index)=>(index === 0 ? cur?.name : pre+cur?.name+""),"")
zijinlaiyuanjuti: row?.plans.reduce((pre,cur,index)=>(index === 0 ? cur?.name : pre+cur?.name+""),"")
};
console.log(baseInfo.zijinlaiyuanjuti)
// let res = await getOatoken()
@ -2427,8 +2430,10 @@ export default {
} else if (key === 'page_size') {
url += '&page_size=9999';
} else {
if (this.select[key]) {
url += "&" + key + "=" + this.select[key];
}
}
});
url = location.host + url;
console.log(url);

@ -76,6 +76,8 @@
@on-ok="planSelectForSearch"
>
<template>
<div style="display: flex;align-items: center;">
<DatePicker type="year" v-model="planSearch.year" style="margin-right: 6px;"></DatePicker>
<Input
v-model="planSearch.name"
search
@ -83,6 +85,7 @@
placeholder="搜索预算计划.."
@on-search="searchBudgets"
/>
</div>
<div
style="
margin: 10px 0;
@ -199,14 +202,13 @@ export default {
plan: [],
planTableSearch: [
{
label: "分类",
prop: "type",
formatter: (cell, data, value) => {
let res = this.moneyWay.filter((item) => {
return item.id === value;
});
return res[0]?.value || "未知";
label: "父级",
prop: "pid_info.name",
width: 160
},
{
label: "分类",
prop: "type_detail.value",
width: 120,
},
{
@ -231,6 +233,7 @@ export default {
],
plans: [], //
planSearch: {
year: "",
name: "",
plan_department_id: "",
},
@ -240,6 +243,7 @@ export default {
status: 0,
keyword: "",
select: {
year: "",
plan_id: "",
plan_name: "",
},
@ -425,6 +429,7 @@ export default {
page: this.plansPageIndex,
plan_department_id: this.planSearch.plan_department_id,
top_pid: 1,
year: this.planSearch.year ? this.$moment(this.planSearch.year).format("YYYY") : ""
}).then((res) => {
this.plans = res.list.data;

@ -65,11 +65,12 @@
getparameter, getparameterTree
} from '@/api/system/dictionary'
import {
moneyFormatter
} from "@/utils";
moneyFormatter, parseTime
} from '@/utils'
import {
mergeTableRow
} from "@/utils/mergeTableRow"
import { getFundLog } from "@/api/paymentRegistration/fundLog"
export default {
data() {
@ -166,7 +167,149 @@
)
}
},
]
{
prop: "show",
label: "支出",
width: 66,
fixed: "right",
customFn: row => (
<el-popover width="800"
trigger="click"
placement="left-end"
on={{
['show']:async _ => {
try {
this.isLoadingFundLogTable = true
const res = await getFundLog({
page: 1,
page_size: 999,
act_plan_link_id: row.id,
},true)
this.fundLogs = res.data
this.isLoadingFundLogTable = false
} catch (e) {
this.isLoadingFundLogTable = false
}
}
}}>
<Table loading={this.isLoadingFundLogTable}
size="small"
data={this.fundLogs}
columns={[
{
title: "项目名称",
minWidth: 300,
key: "contract.name",
fixed: "left",
align: "left",
render:(h,{ row }) => h('span',row.contract?.name)
},
{
title: "付款申请金额(元)",
prop: "apply_money",
align: "right",
width: 170,
render:(h, { row }) => h('span',Number(row.apply_money)
.toFixed(2)
.replace(/(\d)(?=(\d{3})+\.)/g, "$1,"))
},
{
title: "实际付款金额(元)",
key: "act_money",
align: "right",
width: 170,
render:(h, { row }) => h('span',Number(row.act_money)
.toFixed(2)
.replace(/(\d)(?=(\d{3})+\.)/g, "$1,"))
},
{
title: "预算计划",
width: 320,
align: "left",
render:(h, { row }) => {
if (row.act_plan_link.length > 0) {
return h('div',row.act_plan_link.map(item => (
<div> {" "}
[{item.plan.year}] {(item.plan && item.plan.pid_info) ? item.plan.pid_info.name: ''} - {item.plan.name} <br /> [使用金额]{" "}
{item.use_money}{" "}</div>
)))
}
}
},
{
title: "款项类型",
key: "type",
width: 120,
},
{
key: "status",
title: "状态",
width: 100,
render:(h, { row }) => h('span',row.status ? "已审核" : "待审核")
},
{
key: 'flow_status',
title: '流程状态',
width: 100,
render:(h, { row }) => {
let map = new Map([
[1,'待申请'],
[2,'流转中'],
[3,'已完成']
])
return h('span',map.get(row.flow_status))
}
},
{
title: "次数",
key: "pay_count",
width: 95,
render:(h , { row }) => {
let val = row.pay_count + 1
return h('span',val)
}
},
{
title: "最后一笔",
key: "is_end",
width: 125,
render: (h, { row }) => h('span',row.is_end ? "是" : "否")
},
{
title: "经办人",
minWidth: 120,
key: "admin.name",
align: "center",
render: (h, { row }) => h('span',row.admin?.name)
},
{
title: "业务科室",
minWidth: 140,
key: "department.name",
align: "center",
render: (h, { row }) => h('span',row.department?.name)
},
{
title: "备注",
minWidth: 360,
key: "remark",
align: "left",
},
{
title: "创建信息",
key: "created_at",
width: 160,
render: (h, { row }) => h('span',this.$moment(row.created_at).format('YYYY-MM-DD'))
},
]}></Table>
<Button slot="reference" size="small" type="primary">查看</Button>
</el-popover>
)
}
],
isLoadingFundLogTable: false,
fundLogs: []
}
},
methods: { //

Loading…
Cancel
Save