出差报销

master
xy 1 year ago
parent 55d5446aa9
commit b811bfc8f7

@ -0,0 +1 @@
<svg t="1718083673581" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="4251" width="200" height="200"><path d="M456 484V160.1l-335.9 72V484H456zM512 484h391.8V64.2l-391.8 84V484zM456 540H120.2v251.9l335.9 72V540zM512 540v335.9l391.8 84V540H512z" fill="#00adef" p-id="4252"></path></svg>

After

Width:  |  Height:  |  Size: 331 B

@ -0,0 +1 @@
<svg t="1718088373209" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="42775" width="200" height="200"><path d="M855.334 95.325L659.052 431.266c-8.024 13.733 1.881 30.993 17.787 30.993h108.338c11.377 0 20.6 9.223 20.6 20.6v78.519c0 11.377-9.223 20.6-20.6 20.6h-162.39c-11.377 0-20.6 9.223-20.6 20.6v49.61c0 11.377 9.223 20.6 20.6 20.6h162.39c11.377 0 20.6 9.223 20.6 20.6v79.686c0 11.377-9.223 20.6-20.6 20.6h-162.39c-11.377 0-20.6 9.223-20.6 20.6v124.79c0 11.377-9.223 20.6-20.6 20.6H438.862c-11.377 0-20.6-9.223-20.6-20.6v-124.79c0-11.377-9.223-20.6-20.6-20.6h-169.33c-11.377 0-20.6-9.223-20.6-20.6v-79.686c0-11.377 9.223-20.6 20.6-20.6h169.33c11.377 0 20.6-9.223 20.6-20.6v-49.61c0-11.377-9.223-20.6-20.6-20.6h-169.33c-11.377 0-20.6-9.223-20.6-20.6V482.86c0-11.377 9.223-20.6 20.6-20.6H341.8c15.796 0 25.715-17.046 17.91-30.779L168.542 95.112c-7.805-13.733 2.114-30.779 17.91-30.779h148.316c7.906 0 15.158 4.607 18.595 11.727 85.797 177.752 140.199 295.303 163.224 352.653h4.054c3.078-8.48 6.739-19.082 10.984-31.816 6.941-20.429 34.703-80.581 83.287-180.455l66.714-140.353a20.601 20.601 0 0 1 18.606-11.757h137.316c15.905 0.001 25.81 17.26 17.786 30.993z" p-id="42776" class="custom-cursor-on-hover" fill="currentColor"></path></svg>

After

Width:  |  Height:  |  Size: 1.3 KiB

@ -417,7 +417,7 @@ export default {
const res = await getFundLog({
away_id: this.contract.id,
fund_type: 2
show_type: 2
})
this.payment = res.data;
@ -440,6 +440,12 @@ export default {
save({
...this.contract,
financial_status: 2
}).then(_ => {
this.$refs["paymentRegistration"].reset();
this.$emit('refresh')
this.$message.success("操作成功");
this.isShowPaymentRegistration = false;
})
//
// editorContract({
@ -465,11 +471,6 @@ export default {
// message: "",
// });
// });
this.$refs["paymentRegistration"].reset();
this.$emit('refresh')
this.$message.success("操作成功");
this.isShowPaymentRegistration = false;
});
},
//

@ -74,29 +74,32 @@
width="220"
>
<template #default="{ row }" v-if="!/Finance/g.test($route.path)">
<Poptip
v-if="isAuthEdit(row)"
:transfer="true"
confirm
placement="bottom"
title="确认要删除吗"
@on-ok="() => deleteAway(row.id)"
>
<Button style="margin: 2px;" size="small" type="primary" @click="printFlow(row)"></Button>
<template v-if="row.away_status === 1 && row.expense_status === 1">
<Poptip
v-if="isAuthEdit(row)"
:transfer="true"
confirm
placement="bottom"
title="确认要删除吗"
@on-ok="() => deleteAway(row.id)"
>
<Button
style="margin: 2px;"
ghost
size="small"
type="error"
>删除
</Button>
</Poptip>
<Button
style="margin: 2px;"
ghost
size="small"
type="error"
>删除
type="primary"
@click="$refs['addAway'].setType('editor'),$refs['addAway'].setId(row.id),$refs['addAway'].show()"
>编辑
</Button>
</Poptip>
<Button
style="margin: 2px;"
size="small"
type="primary"
@click="$refs['addAway'].setType('editor'),$refs['addAway'].setId(row.id),$refs['addAway'].show()"
>编辑
</Button>
</template>
<template v-if="row.FLOWSTATUS.useCar.isEnabled()">
<Button
@ -384,9 +387,20 @@ export default {
}
},
methods: {
showExamineAway () {
printFlow (row) {
let id;
if (row.away_flow_id) {
id = row.away_flow_id;
} else if (row.expense_flow_id) {
id = row.expense_flow_id
} else {}
if (!id) {
this.$message.warning("未找到流程");
return
}
window.open(`${process.env.VUE_APP_OUT_URL}/flow/print-relate-flow?id=${id}&except_self=0&auth_token=${this.$store.getters.oa_token}`,"_blank")
},
async toOaDetail (tbname,row) {
let url = `${process.env.VUE_APP_OUT_URL}/flow/view/`
switch (tbname) {

@ -276,7 +276,7 @@ export default {
}
})
const res = await getFundLog({contract_id:this.contract.id})
const res = await getFundLog({contract_id:this.contract.id,show_type: 1})
this.payment = res.data
this.toggleSelection(this.paymentRegistrationForm.plan.map(item => {

@ -506,6 +506,7 @@ export default {
const res = await getFundLog({
contract_id: this.contract.id,
show_type: 1
});
this.payment = res.data;

@ -144,7 +144,8 @@
this.registration = res
let res1 = await getFundLog({
page_size: 999,
contract_id: this.registration.contract.id
contract_id: this.registration.contract.id,
show_type: 1
})
if (res1.data.length > 0) {
res1.data.map(item => {

@ -361,6 +361,7 @@ export default {
(
await getFundLog({
contract_id: row.contract_id,
show_type: 1
})
)?.data || [];
console.log(contract);
@ -429,6 +430,7 @@ export default {
date: this.selectDate,
is_auth: this.is_auth,
status: this.status,
show_type: 1
},noloading);
this.list = res.data;
this.total = res.total;

@ -571,7 +571,8 @@ import {listdeptNoAuth} from "@/api/system/department";
this.contract = info
const res = await getFundLog({
contract_id: this.contract.id
contract_id: this.contract.id,
show_type: 1
})
this.payment = res.data

@ -5,30 +5,48 @@
<el-table-column type="index"></el-table-column>
<el-table-column prop="name">
<template #default="{ row }">
<el-link type="primary">{{ row.name }}</el-link>
<el-link type="primary" href="http://contract-sqhj-test.ali251.langye.net/api/pc/download" target="_blank">{{ row.name }}</el-link>
</template>
</el-table-column>
<el-table-column prop="support">
<template #default="{ row }">
<SvgIcon icon-class="windows"></SvgIcon>
<span style="padding-left: 6px;">{{ row.support }}</span>
</template>
</el-table-column>
<el-table-column prop="support"></el-table-column>
<el-table-column prop="created_at"></el-table-column>
<el-table-column>
<template #default="{ row }">
<el-button type="primary" plain icon="el-icon-download" circle size="mini" @click="install(row)"></el-button>
</template>
</el-table-column>
</el-table>
</el-card>
</div>
</template>
<script>
import SvgIcon from "@/components/SvgIcon"
export default {
components: {
SvgIcon
},
data() {
return {
list: [
{
name: "123.exe",
name: "内控信息化系统0.0.1",
support: "wind10+",
created_at: this.$moment().format("YYYY-MM-DD")
src: "http://contract-sqhj-test.ali251.langye.net/api/pc/download"
}
]
}
},
methods: {},
methods: {
install (row) {
window.open(row.src, "_blank")
}
},
computed: {},
}
</script>

@ -10,6 +10,7 @@
<div style="position: relative;height: 100%;width: 100%;">
<div style="position: absolute;top: 0;left: 0;right: 0;bottom: 0;">
<Table
:show-header="false"
:height="tableHeight"
:loading="loading"
size="small"
@ -68,27 +69,27 @@ export default {
table: [
{
type: "index",
title: "序号",
title: " ",
align: "center",
width: 64,
},
{
title: "内容",
key: "title",
align: "left",
ellipsis: true,
tooltip: true,
minWidth: 140,
width: 46,
},
{
title: "收件时间",
key: "created_at",
width: 120,
width: 160,
align: "center",
render: (h, { row }) => {
return h("span", this.$moment(row.created_at).format("YYYY-MM-DD HH:mm:ss"));
return h("span",{ style: { color: "#4d8bdc" } }, this.$moment(row.created_at).format("YYYY-MM-DD HH:mm:ss"));
},
},
{
title: "内容",
key: "title",
align: "left",
ellipsis: true,
tooltip: true,
minWidth: 200,
},
{
title: "查看",
key: "show",
@ -253,4 +254,7 @@ export default {
width: 100%;
height: calc(100% - 58px);
}
::v-deep .ivu-table th,::v-deep .ivu-table td {
border-bottom-style: dashed;
}
</style>

@ -1,12 +1,15 @@
<template>
<el-card class="box-card" shadow="hover">
<div slot="header" class="clearfix">
<span style="border-left: 3px solid #338DE3FF;padding-left: 6px;">预算总体执行情况</span>
<span style="padding-left: 15px;">预算总体执行情况</span>
<DatePicker transfer :value="select.year" placeholder="选择所属年份" placement="bottom" style="width: 130px;float: right;"
type="year" @on-change="changeYear"></DatePicker>
</div>
<div class="progress-card">
<div class="progress-card-item">
<!-- <div class="icon-yuan">-->
<!-- <SvgIcon icon-class="yuan"></SvgIcon>-->
<!-- </div>-->
<div class="progress-card-item__num">{{moneyFormatter(statistic.progress.money_total_1 || 0)}}</div>
<div class="progress-card-item__label">年初预算合计金额</div>
</div>
@ -29,9 +32,13 @@
</template>
<script>
import SvgIcon from "@/components/SvgIcon";
import { moneyFormatter } from "@/utils"
import { statistic } from '@/api/dashboard/notice'
export default {
components: {
SvgIcon
},
name:"card1",
layout:{
x:0,
@ -98,6 +105,23 @@ export default {
padding: 6px 0;
}
.icon-yuan {
background: $primaryColor;
color: #fff;
border-radius: 20px;
filter: drop-shadow(0px 6px 6px rgba(43,188,255,0.5));
display: inline-block;
padding: 10px;
svg {
background: #fff;
color: $primaryColor;
border-radius: 100%;
width: 25px;
height: 25px;
}
}
}
}
</style>

Loading…
Cancel
Save