master
xy 3 years ago
parent 68e1503979
commit 9a98385af3

@ -15,14 +15,14 @@ export function getOutDetail({ tbname,out_caigou_id,out_contract_id,out_pay_id,o
}) })
} }
export function httpCurl({ tbname,out_caigou_id,out_contract_id,out_pay_id,out_zhaobiao_id },noloading = true) { export function httpCurl({ s = "/Api/flowDetail",tbname,out_caigou_id,out_contract_id,out_pay_id,out_zhaobiao_id },noloading = true) {
return request({ return request({
method: 'post', method: 'post',
url: '/api/admin/other/http-curl', url: '/api/admin/other/http-curl',
data: { data: {
url: 'http://hjjc-szemcold-test.ali251.langye.net', url: process.env.VUE_APP_OUT_OLD,
params: { params: {
s: "/Api/flowDetail", s,
tbname, tbname,
out_caigou_id, out_caigou_id,
out_contract_id, out_contract_id,

@ -1,7 +1,7 @@
<template> <template>
<div> <div>
<xy-dialog :is-show.sync="isShow" title="付款计划" @on-ok="isShow = false"> <xy-dialog :is-show.sync="isShow" title="付款计划" @on-ok="isShow = false">
<template v-slot:normalContent> <template>
<template v-if="isSign"> <template v-if="isSign">
<el-button size="small" type="primary" icon="el-icon-plus" style="margin-bottom: 10px;" @click="isShowAddPlan = true">新增付款计划</el-button> <el-button size="small" type="primary" icon="el-icon-plus" style="margin-bottom: 10px;" @click="isShowAddPlan = true">新增付款计划</el-button>
</template> </template>
@ -58,6 +58,7 @@
</div> </div>
</div> </div>
</template> </template>
</xy-dialog> </xy-dialog>
</div> </div>
</template> </template>
@ -137,8 +138,10 @@ export default {
date:'', date:'',
money:'', money:'',
content:'', content:'',
remark:'' remark:'',
file_ids: []
}, },
planRules:{ planRules:{
date:[ date:[
{required:true,message:"必填"} {required:true,message:"必填"}
@ -154,6 +157,8 @@ export default {
} }
}, },
methods: { methods: {
async getSignPlan(contractId){ async getSignPlan(contractId){
this.id = contractId this.id = contractId
const res = await getContractSign({contract_id:contractId}) const res = await getContractSign({contract_id:contractId})
@ -168,7 +173,7 @@ export default {
date:`${new Date(this.planForm.date).getFullYear()}-${new Date(this.planForm.date).getMonth()+1}-${new Date(this.planForm.date).getDate()}`, date:`${new Date(this.planForm.date).getFullYear()}-${new Date(this.planForm.date).getMonth()+1}-${new Date(this.planForm.date).getDate()}`,
content:this.planForm.content, content:this.planForm.content,
money:this.planForm.money, money:this.planForm.money,
remark:this.planForm.remark remark:this.planForm.remark,
}).then(res=>{ }).then(res=>{
this.isShowAddPlan = false this.isShowAddPlan = false
this.getSignPlan(this.id) this.getSignPlan(this.id)

@ -192,6 +192,44 @@
</div> </div>
</div> </div>
</template> </template>
<template #files v-if="paymentRegistrationForm.type === '结算款'">
<div class="xy-table-item">
<div class="xy-table-item-label">
附件
</div>
<div class="xy-table-item-content">
<el-upload
style="width: 300px"
ref="upload"
multiple
:on-success="successHandle"
:before-upload="uploadBefore"
accept=".rar,.zip,.doc,.docx,.pdf,.jpg,.png,.gif,.mp4,.xls,.xlsx"
:action="action"
:file-list="fileList"
:auto-upload="false"
:on-remove="removeHande"
:limit="10"
>
<el-button slot="trigger" size="small" type="primary"
>选取文件</el-button
>
<el-button
style="margin-left: 10px"
size="small"
type="success"
@click="$refs['upload'].submit()"
>开始上传</el-button
>
<div slot="tip" class="el-upload__tip">
支持文件格式.rar .zip .doc .docx .pdf .jpg .png .gif .mp4 .xls
.xlsx
<br />单个文件不能超过2M
</div>
</el-upload>
</div>
</div>
</template>
<template v-slot:extraFormBottom v-if="false"> <template v-slot:extraFormBottom v-if="false">
<Input <Input
search search
@ -240,6 +278,8 @@ import { parseTime } from "@/utils";
export default { export default {
data() { data() {
return { return {
fileList: [],
action: process.env.VUE_APP_UPLOAD_API,
searchContent: "", searchContent: "",
planTotal: 0, planTotal: 0,
pageIndex: 1, pageIndex: 1,
@ -283,6 +323,7 @@ export default {
isLast: false, isLast: false,
plan: [], plan: [],
remark: "", remark: "",
files: []
}, },
form: { form: {
audit_money: 0, audit_money: 0,
@ -345,6 +386,24 @@ export default {
}; };
}, },
methods: { methods: {
//
successHandle(response, file, fileList) {
this.fileList = fileList;
},
removeHande(file, fileList) {
this.fileList = fileList;
},
uploadBefore(file) {
console.log(file);
if (file.size / 1000 > 2 * 1024) {
this.$message({
type: "warning",
message: "上传图片大小超过2M",
});
return false;
}
},
async getPlanTypes() { async getPlanTypes() {
const res = await getparameter({ const res = await getparameter({
number: "money_way", number: "money_way",
@ -411,6 +470,13 @@ export default {
}); });
this.payment = res.data; this.payment = res.data;
this.fileList = res.files_detail?.map(i => {
return {
url: i?.url,
name: i?.original_name,
response: i
}
})
}, },
submit() { submit() {
@ -422,6 +488,7 @@ export default {
is_end: this.paymentRegistrationForm.isLast ? 1 : 0, is_end: this.paymentRegistrationForm.isLast ? 1 : 0,
remark: this.paymentRegistrationForm.remark, remark: this.paymentRegistrationForm.remark,
audit_money: this.paymentRegistrationForm.audit_money, audit_money: this.paymentRegistrationForm.audit_money,
files: this.fileList.map(i => i?.response?.id)
}; };
addFundLog(data).then((res) => { addFundLog(data).then((res) => {
// //

@ -12,7 +12,7 @@
<el-col :span="16"> <el-col :span="16">
<el-card class="box-card" style="margin: 20px 0"> <el-card class="box-card" style="margin: 20px 0">
<div slot="header" class="clearfix"> <div slot="header" class="clearfix">
<span>预算总体进展情况</span> <span>预算总体执行情况</span>
<DatePicker <DatePicker
:value="select.year" :value="select.year"
placeholder="选择所属年份" placeholder="选择所属年份"
@ -68,7 +68,7 @@
) )
}}% }}%
</div> </div>
<div class="progress-card-item__label">进展</div> <div class="progress-card-item__label">执行</div>
</div> </div>
</div> </div>
</router-link> </router-link>
@ -171,7 +171,7 @@
<div ref="lxHeader" v-if="statistic.departmentList"> <div ref="lxHeader" v-if="statistic.departmentList">
<LxHeader <LxHeader
icon="iconfont/icon--kucunguanli" icon="iconfont/icon--kucunguanli"
text="科室进展情况" text="科室执行情况"
:custom="true" :custom="true"
style="margin-bottom: 10px; border: 0px; margin-top: 15px" style="margin-bottom: 10px; border: 0px; margin-top: 15px"
> >
@ -211,7 +211,7 @@
<div ref="lxHeader" v-if="statistic.typeList"> <div ref="lxHeader" v-if="statistic.typeList">
<LxHeader <LxHeader
icon="iconfont/icon--kucunguanli" icon="iconfont/icon--kucunguanli"
text="预算类型进展情况" text="预算类型执行情况"
:custom="true" :custom="true"
style="margin-bottom: 10px; border: 0px; margin-top: 15px" style="margin-bottom: 10px; border: 0px; margin-top: 15px"
> >
@ -310,7 +310,7 @@ export default {
fixed: "left", fixed: "left",
}, },
{ {
label: "进展情况", label: "执行情况",
sortable: false, sortable: false,
minWidth: 220, minWidth: 220,
align: "left", align: "left",
@ -373,7 +373,7 @@ export default {
fixed: "left", fixed: "left",
}, },
{ {
label: "进展情况", label: "执行情况",
sortable: false, sortable: false,
minWidth: 220, minWidth: 220,
align: "left", align: "left",

@ -138,6 +138,24 @@
</div> </div>
</div> </div>
</template> </template>
<template #files v-if="paymentRegistrationForm.type === '结算款'">
<div class="xy-table-item">
<div class="xy-table-item-label">
附件
</div>
<div class="xy-table-item-content">
<el-upload
style="width: 300px"
ref="upload"
multiple
accept=".rar,.zip,.doc,.docx,.pdf,.jpg,.png,.gif,.mp4,.xls,.xlsx"
action=""
:file-list="fileList"
:auto-upload="false"
:limit="10"></el-upload>
</div>
</div>
</template>
<template v-slot:extraFormBottom> <template v-slot:extraFormBottom>
<Input search enter-button=" " placeholder="搜索预算计划.." v-model="plansSelect.name" @on-search="getBudgets" /> <Input search enter-button=" " placeholder="搜索预算计划.." v-model="plansSelect.name" @on-search="getBudgets" />
<div class="contract-add-plan" style="min-width: 300px;"> <div class="contract-add-plan" style="min-width: 300px;">
@ -192,6 +210,7 @@
export default { export default {
data() { data() {
return { return {
fileList: [],
planTotal: 0, planTotal: 0,
pageIndex: 1, pageIndex: 1,
// //
@ -234,6 +253,7 @@
plan: [], plan: [],
actMoney: '', actMoney: '',
moneyWay: [], // moneyWay: [], //
files: []
}, },
paymentRegistrationRules: { paymentRegistrationRules: {
applyMoney: [{ applyMoney: [{
@ -426,6 +446,13 @@
const res = await detailFundLog({ const res = await detailFundLog({
id id
}) })
this.fileList = res.files_detail?.map(i => {
return {
url: i?.url,
name: i?.original_name,
response: i
}
})
this.paymentRegistrationForm.type = res.type this.paymentRegistrationForm.type = res.type
this.paymentRegistrationForm.isLast = res.is_end === 1 this.paymentRegistrationForm.isLast = res.is_end === 1
this.paymentRegistrationForm.deductionMoney = res.apply_money this.paymentRegistrationForm.deductionMoney = res.apply_money

@ -196,6 +196,7 @@ import {
detailContract as show, detailContract as show,
} from "@/api/contract/contract"; } from "@/api/contract/contract";
import { getBudget } from "@/api/budget/budget"; import { getBudget } from "@/api/budget/budget";
import { httpCurl } from "@/api/out"
export default { export default {
props: { props: {
report_types: { report_types: {
@ -314,7 +315,7 @@ export default {
report_type: "", report_type: "",
other_type: "", other_type: "",
money: undefined, money: undefined,
contract_plan_links: [], //contract_plan_links: [],
}, },
rules: { rules: {
report_type: [ report_type: [

@ -2,7 +2,7 @@
<el-card class="box-card" shadow="hover" id="department-card"> <el-card class="box-card" shadow="hover" id="department-card">
<div slot="header"> <div slot="header">
<span style="border-left: 3px solid #338de3ff; padding-left: 6px" <span style="border-left: 3px solid #338de3ff; padding-left: 6px"
>科室进展情况</span >科室执行情况</span
> >
<i class="el-icon-more" style="float: right; font-size: 20px"></i> <i class="el-icon-more" style="float: right; font-size: 20px"></i>
</div> </div>
@ -25,7 +25,7 @@ export default {
w: 6, w: 6,
h: 4, h: 4,
i: "3", i: "3",
name: "科室进展情况", name: "科室执行情况",
}, },
inject: { inject: {
getStatistic: { getStatistic: {
@ -75,7 +75,7 @@ export default {
} }
}, },
{ {
title: "进展情况", title: "执行情况",
minWidth: 160, minWidth: 160,
fixed: "right", fixed: "right",
render: (h, { row }) => { render: (h, { row }) => {

@ -1,7 +1,7 @@
<template> <template>
<el-card class="box-card" shadow="hover"> <el-card class="box-card" shadow="hover">
<div slot="header" class="clearfix"> <div slot="header" class="clearfix">
<span style="border-left: 3px solid #338DE3FF;padding-left: 6px;">预算总体进展情况</span> <span style="border-left: 3px solid #338DE3FF;padding-left: 6px;">预算总体执行情况</span>
<DatePicker transfer :value="select.year" placeholder="选择所属年份" placement="bottom" style="width: 130px;float: right;" <DatePicker transfer :value="select.year" placeholder="选择所属年份" placement="bottom" style="width: 130px;float: right;"
type="year" @on-change="changeYear"></DatePicker> type="year" @on-change="changeYear"></DatePicker>
</div> </div>
@ -22,7 +22,7 @@
<div class="progress-card-item__num"> <div class="progress-card-item__num">
{{toper(statistic.progress.money_total_1 || 0,statistic.progress.money_total_2 || 0,statistic.progress.use_money_total || 0)}}% {{toper(statistic.progress.money_total_1 || 0,statistic.progress.money_total_2 || 0,statistic.progress.use_money_total || 0)}}%
</div> </div>
<div class="progress-card-item__label">进展</div> <div class="progress-card-item__label">执行</div>
</div> </div>
</div> </div>
</el-card> </el-card>

@ -2,7 +2,7 @@
<el-card class="box-card" shadow="hover" id="type-card"> <el-card class="box-card" shadow="hover" id="type-card">
<div slot="header"> <div slot="header">
<span style="border-left: 3px solid #338de3ff; padding-left: 6px" <span style="border-left: 3px solid #338de3ff; padding-left: 6px"
>预算类型进展情况</span >预算类型z执行情况</span
> >
<i class="el-icon-more" style="float: right; font-size: 20px"></i> <i class="el-icon-more" style="float: right; font-size: 20px"></i>
</div> </div>
@ -26,7 +26,7 @@ export default {
w: 6, w: 6,
h: 4, h: 4,
i: "5", i: "5",
name: "预算类型进展情况", name: "预算类型z执行情况",
}, },
inject: { inject: {
getStatistic: { getStatistic: {
@ -200,7 +200,7 @@ export default {
fixed: "left", fixed: "left",
}, },
{ {
title: "进展情况", title: "z执行情况",
minWidth: 160, minWidth: 160,
fixed: "right", fixed: "right",
render: (h, { row }) => { render: (h, { row }) => {

@ -26,7 +26,7 @@ module.exports = {
* Detail: https://cli.vuejs.org/config/#publicpath * Detail: https://cli.vuejs.org/config/#publicpath
*/ */
publicPath: '/admin/', publicPath: '/admin/',
outputDir: '/Users/liuxiangyu/Work/h-huanjingjiance/app/hjjc-workbench-service/public/admin', outputDir: './dist',
assetsDir: 'static', assetsDir: 'static',
lintOnSave: false, lintOnSave: false,
productionSourceMap: false, productionSourceMap: false,

Loading…
Cancel
Save