修改合并

master
linyongLynn 2 months ago
commit 8f38ae4680

@ -467,6 +467,7 @@
:rules="rules"
title="编辑"
type="form"
@submit="editorTable"
>
<template v-slot:name>
<div class="xy-table-item">
@ -654,9 +655,9 @@
</div>
</div>
</template>
<template v-slot:footerContent>
<Button type="primary" @click="editorTable"></Button>
</template>
// <template v-slot:footerContent>
// <Button type="primary" @click="editorTable"></Button>
// </template>
</xy-dialog>
</div>
</template>
@ -673,8 +674,8 @@ import { listdeptNoAuth } from '@/api/system/department'
import { Message } from 'element-ui'
import { parseTime, moneyFormatter, moneyRecovery } from '@/utils'
import { getparameter } from '@/api/system/dictionary'
import {
index as getPlanType
import {
index as getPlanType
} from '@/api/budget/plantype.js'
import { mergeTableRow } from '@/utils/mergeTableRow'
import {
@ -1078,13 +1079,13 @@ export default {
department_id: item
})
})
console.log(this.form)
addBudget({
name: this.form.name,
type: this.form.type,
year: this.form.year,
content: this.form.content,
money: moneyRecovery(this.form.money),
money:this.form.money? moneyRecovery(this.form.money):'',
plan_department_id: this.form.department,
plan_department_links: plan_department_links,
remark: this.form.remark,
@ -1115,9 +1116,10 @@ export default {
//
editorTable() {
this.$refs['editorDialog'].$refs['elForm']
.validate()
.then((res) => {
console.log(this.editorForm)
// this.$refs['editorDialog'].$refs['elForm']
// .validate()
// .then((res) => {
if (this.editorForm.plan_department_link_id.length == 0) {
Message({
message: '请选择可用部门',
@ -1137,8 +1139,8 @@ export default {
type: this.editorForm.type,
year: this.editorForm.year,
content: this.editorForm.content,
money: moneyRecovery(this.editorForm.money),
update_money: moneyRecovery(this.editorForm.update_money),
money: this.editorForm.money? moneyRecovery(this.editorForm.money):'',
update_money: this.editorForm.update_money? moneyRecovery(this.editorForm.update_money):'',
remark: this.editorForm.remark,
plan_department_id: this.editorForm.department,
plan_department_links: plan_department_links
@ -1150,13 +1152,13 @@ export default {
})
this.getBudgets()
})
})
.catch((err) => {
this.$message({
message: '请填写完整信息',
type: 'error'
})
})
// })
// .catch((err) => {
// this.$message({
// message: '',
// type: 'error'
// })
// })
},
showEditor(row) {
this.checkArr = []
@ -1217,7 +1219,7 @@ export default {
z-index: 2;
}
}
::v-deep .el-checkbox__input .el-checkbox__inner {
border-radius: 50%;
::v-deep .el-checkbox__input .el-checkbox__inner {
border-radius: 50%;
}
</style>

@ -147,7 +147,7 @@ export default {
table: [{
label: '隶属项目',
prop: 'pid_info_name',
width: 200,
width: 120,
align: 'left',
sortable: false,
fixed: 'left'
@ -155,7 +155,7 @@ export default {
{
label: '项目名称',
prop: 'name',
width: 200,
width: 260,
align: 'left',
sortable: false,
fixed: 'left'

@ -136,123 +136,124 @@
style="width: 300px;" />
</div>
</div>
</template>
<template v-if="contract.is_contract===1" v-slot:other_tender_name>
<div class="xy-table-item">
<div class="xy-table-item-label">
<span style="color: red;font-weight: 600;padding-right: 4px;"></span>其他参与投标单位名称
</div>
<div class="xy-table-item-content ">
<el-button type="primary" style="margin-bottom:10px" size="small" @click="addRow"></el-button>
<div class="other_tender_name_input" v-for="(item,index) in form.other_tender_name">
<el-input placeholder="请输入" style="width:200px;margin-right:10px" v-model="form.other_tender_name[index]"></el-input>
</template>
<template v-if="contract.is_contract===1" v-slot:other_tender_name>
<div class="xy-table-item">
<div class="xy-table-item-label">
<span style="color: red;font-weight: 600;padding-right: 4px;"></span>其他参与投标单位名称
</div>
<div class="xy-table-item-content ">
<el-button type="primary" style="margin-bottom:10px" size="small" @click="addRow"></el-button>
<div class="other_tender_name_input" v-for="(item,index) in form.other_tender_name">
<el-input placeholder="请输入" style="width:200px;margin-right:10px" v-model="form.other_tender_name[index]"></el-input>
<!-- <el-popconfirm confirm-button-text="" cancel-button-text="" style="margin:0 10px"
@confirm="delRow(index)" title="确认删除该条?">
<el-button type="danger" size="small" slot="reference">删除</el-button>
</el-popconfirm> -->
<Poptip confirm
title="确认删除该条?"
@on-ok="delRow(index)">
<Button type="error">删除</Button>
</Poptip>
</div>
</div>
</div>
</template>
<template v-if="contract.is_contract===1" v-slot:quotation_situation>
<div class="xy-table-item">
<div class="xy-table-item-label">
<span style="color: red;font-weight: 600;padding-right: 4px;"></span>事前询价情况
</div>
<div class="xy-table-item-content">
<el-select v-model="form.quotation_situation" placeholder="请选择" style="width:300px">
<el-option
v-for="(item,index) in ['第三方造价咨询单位出具的报告或标底','供应商提供的报价']"
:key="index"
:label="item"
:value="item">
</el-option>
</el-select>
<!-- <el-input v-model="form.quotation_situation" type="textarea" placeholder="第三方造价咨询单位出具的报告或标底/供应商提供的报价"
style="width: 300px;" /> -->
</div>
</div>
</template>
<template v-if="contract.is_contract===1" v-slot:audit_situation>
<div class="xy-table-item">
<div class="xy-table-item-label">
<span style="color: red;font-weight: 600;padding-right: 4px;"></span>事后审计情况
</div>
<div class="xy-table-item-content">
<el-select v-model="form.audit_situation" placeholder="请选择" style="width:300px">
<el-option
v-for="(item,index) in ['外部财政局或审计局审计','内部自行委托的第三方审计','未审计']"
:key="index"
:label="item"
:value="item">
</el-option>
</el-select>
<!-- <el-input v-model="form.audit_situation" type="textarea" placeholder="外部财政局或审计局审计/内部自行委托的第三方审计/未审计。"
style="width: 300px;" /> -->
</div>
</div>
</template>
<template v-if="contract.is_contract===1" v-slot:payment_content>
<div class="xy-table-item">
<div class="xy-table-item-label">
<span style="color: red;font-weight: 600;padding-right: 4px;"></span>合同内的支付条款
</div>
<div class="xy-table-item-content">
<el-input v-model="form.payment_content" type="textarea" placeholder="合同内的支付条款"
style="width: 300px;" />
</div>
</div>
</template>
<template v-if="contract.is_end===1" v-slot:project_end_time>
<div class="xy-table-item">
<div class="xy-table-item-label">
<span style="color: red;font-weight: 600;padding-right: 4px;">*</span>项目完成竣工时间
</div>
<div class="xy-table-item-content">
<el-date-picker v-model="form.project_end_time" style="width: 300px;" value-format="yyyy-MM-dd HH:mm:ss" type="datetime" />
</div>
</div>
</template>
<template v-if="contract.is_end===1" v-slot:is_acceptance>
<div class="xy-table-item">
<div class="xy-table-item-label">
<span style="color: red;font-weight: 600;padding-right: 4px;">*</span>是否验收
</div>
<div class="xy-table-item-content">
<el-select v-model="form.is_acceptance" placeholder="请选择" style="width:300px">
<el-option
v-for="item in [{id:0,value:'否'},{id:1,value:'是'}]"
:key="item.id"
:label="item.value"
:value="item.id">
</el-option>
</el-select>
</div>
</div>
</template>
<template v-if="contract.is_end===1" v-slot:change_visa_amount>
<div class="xy-table-item">
<div class="xy-table-item-label">
<span style="color: red;font-weight: 600;padding-right: 4px;">*</span>变更签证(增加内容的补充合同)金额
</div>
<div class="xy-table-item-content xy-table-item-price">
<!-- <el-input-number v-model="form.change_visa_amount" :controls="false" placeholder="请填写变更签证(增加内容的补充合同)金额"
style="width: 300px;" /> -->
<el-input-number v-model="form.change_visa_amount" :precision="2" :controls="false" placeholder="请填写变更签证(增加内容的补充合同)金额"
style="width: 300px;" />
</div>
</div>
</template>
</el-popconfirm> -->
<Poptip confirm
title="确认删除该条?"
@on-ok="delRow(index)">
<Button type="error">删除</Button>
</Poptip>
</div>
</div>
</div>
</template>
<template v-if="contract.is_contract===1" v-slot:quotation_situation>
<div class="xy-table-item">
<div class="xy-table-item-label">
<span style="color: red;font-weight: 600;padding-right: 4px;"></span>事前询价情况
</div>
<div class="xy-table-item-content">
<el-select v-model="form.quotation_situation" placeholder="请选择" style="width:300px">
<el-option
v-for="(item,index) in ['第三方造价咨询单位出具的报告或标底','供应商提供的报价']"
:key="index"
:label="item"
:value="item">
</el-option>
</el-select>
<!-- <el-input v-model="form.quotation_situation" type="textarea" placeholder="第三方造价咨询单位出具的报告或标底/供应商提供的报价"
style="width: 300px;" /> -->
</div>
</div>
</template>
<template v-if="contract.is_contract===1" v-slot:audit_situation>
<div class="xy-table-item">
<div class="xy-table-item-label">
<span style="color: red;font-weight: 600;padding-right: 4px;"></span>事后审计情况
</div>
<div class="xy-table-item-content">
<el-select v-model="form.audit_situation" placeholder="请选择" style="width:300px">
<el-option
v-for="(item,index) in ['外部财政局或审计局审计','内部自行委托的第三方审计','未审计']"
:key="index"
:label="item"
:value="item">
</el-option>
</el-select>
<!-- <el-input v-model="form.audit_situation" type="textarea" placeholder="外部财政局或审计局审计/内部自行委托的第三方审计/未审计。"
style="width: 300px;" /> -->
</div>
</div>
</template>
<template v-if="contract.is_contract===1" v-slot:payment_content>
<div class="xy-table-item">
<div class="xy-table-item-label">
<span style="color: red;font-weight: 600;padding-right: 4px;"></span>合同内的支付条款
</div>
<div class="xy-table-item-content">
<el-input v-model="form.payment_content" type="textarea" placeholder="合同内的支付条款"
style="width: 300px;" />
</div>
</div>
</template>
<template v-if="contract.is_end===1" v-slot:project_end_time>
<div class="xy-table-item">
<div class="xy-table-item-label">
<span style="color: red;font-weight: 600;padding-right: 4px;">*</span>项目完成竣工时间
</div>
<div class="xy-table-item-content">
<el-date-picker v-model="form.project_end_time" style="width: 300px;" value-format="yyyy-MM-dd HH:mm:ss" type="datetime" />
</div>
</div>
</template>
<template v-if="contract.is_end===1" v-slot:is_acceptance>
<div class="xy-table-item">
<div class="xy-table-item-label">
<span style="color: red;font-weight: 600;padding-right: 4px;">*</span>是否验收
</div>
<div class="xy-table-item-content">
<el-select v-model="form.is_acceptance" placeholder="请选择" style="width:300px">
<el-option
v-for="item in [{id:0,value:'否'},{id:1,value:'是'}]"
:key="item.id"
:label="item.value"
:value="item.id">
</el-option>
</el-select>
</div>
</div>
</template>
<template v-if="contract.is_end===1" v-slot:change_visa_amount>
<div class="xy-table-item">
<div class="xy-table-item-label">
<span style="color: red;font-weight: 600;padding-right: 4px;">*</span>变更签证(增加内容的补充合同)金额
</div>
<div class="xy-table-item-content xy-table-item-price">
<!-- <el-input-number v-model="form.change_visa_amount" :controls="false" placeholder="请填写变更签证(增加内容的补充合同)金额"
style="width: 300px;" /> -->
<!-- <el-input-number v-model="form.change_visa_amount" :precision="2" :controls="false" placeholder="请填写变更签证(增加内容的补充合同)金额"
style="width: 300px;" /> -->
<el-input type="number" v-model="form.change_visa_amount" placeholder="请填写变更签证(增加内容的补充合同)金额" style="width: 300px;" />
</div>
</div>
</template>
<template v-if="contract.contract_type !== 160" v-slot:extraFormBottom>
<div class="base-info add-plan" style="margin-top: 20px;margin-bottom: 20px">
@ -462,14 +463,14 @@
date: '',
is_assurance: false,
assurance_money: '',
assurance_expire: '',
other_tender_name:[],
quotation_situation:'',
audit_situation:'',
payment_content:'',
project_end_time:'',
is_acceptance:'',
change_visa_amount:0,
assurance_expire: '',
other_tender_name:[],
quotation_situation:'',
audit_situation:'',
payment_content:'',
project_end_time:'',
is_acceptance:'',
change_visa_amount:'',
},
rules: {
@ -503,23 +504,23 @@
message: '必选'
}],
guaranteeMoney: [],
guaranteeYear: [],
// other_tender_name: [{
// required: true,
// message: ''
// }],
// quotation_situation: [{
// required: true,
// message: ''
// }],
// audit_situation: [{
// required: true,
// message: ''
// }],
// payment_content: [{
// required: true,
// message: ''
// }],
guaranteeYear: [],
// other_tender_name: [{
// required: true,
// message: ''
// }],
// quotation_situation: [{
// required: true,
// message: ''
// }],
// audit_situation: [{
// required: true,
// message: ''
// }],
// payment_content: [{
// required: true,
// message: ''
// }],
},
@ -607,12 +608,12 @@
this.planMonthLists()
},
//
addRow() {
this.form.other_tender_name.push('')
},
delRow(obj, index) {
this.form.other_tender_name.splice(index, 1);
//
addRow() {
this.form.other_tender_name.push('')
},
delRow(obj, index) {
this.form.other_tender_name.splice(index, 1);
},
//
sign() {
@ -634,53 +635,53 @@
})
return
}
console.log("other",this.form.other_tender_name)
if(this.contract.is_contract===1){
// if(this.form.other_tender_name.length<1){
// this.$Message.warning(``)
// return
// }
// if(!this.form.quotation_situation){
// this.$Message.warning(``)
// return
// }
// if(!this.form.audit_situation){
// this.$Message.warning(``)
// return
// }
// if(!this.form.payment_content){
// this.$Message.warning(``)
// return
// }
// if (this.form.other_tender_name.length > 0) {
// //
// for (var p of this.form.other_tender_name) {
// if (!p) {
// this.$Message.warning(``)
// return
// }
// }
// }
}
if(this.contract.is_end===1){
if(!this.form.project_end_time){
this.$Message.warning(`项目完成(竣工)时间不能为空`)
return
}
if(!this.form.is_acceptance){
this.$Message.warning(`请选择是否验收`)
return
}
if (this.form.change_visa_amount === null || this.form.change_visa_amount === undefined ||
this.form.change_visa_amount === '') {
//
this.$Message.warning(`请填写变更签证(增加内容的补充合同)金额`)
return
}
}
console.log("other",this.form.other_tender_name)
if(this.contract.is_contract===1){
// if(this.form.other_tender_name.length<1){
// this.$Message.warning(``)
// return
// }
// if(!this.form.quotation_situation){
// this.$Message.warning(``)
// return
// }
// if(!this.form.audit_situation){
// this.$Message.warning(``)
// return
// }
// if(!this.form.payment_content){
// this.$Message.warning(``)
// return
// }
// if (this.form.other_tender_name.length > 0) {
// //
// for (var p of this.form.other_tender_name) {
// if (!p) {
// this.$Message.warning(``)
// return
// }
// }
// }
}
if(this.contract.is_end===1){
if(!this.form.project_end_time){
this.$Message.warning(`项目完成(竣工)时间不能为空`)
return
}
if(this.form.is_acceptance === null || this.form.is_acceptance === undefined || this.form.is_acceptance === ''){
this.$Message.warning(`请选择是否验收`)
return
}
if (this.form.change_visa_amount === null || this.form.change_visa_amount === undefined ||
this.form.change_visa_amount === '') {
//
this.$Message.warning(`请填写变更签证(增加内容的补充合同)金额`)
return
}
}
// return
editorContract({
id: this.contractId,
@ -697,13 +698,13 @@
date: this.form.date,
is_assurance: this.form.is_assurance,
assurance_money: this.form.assurance_money,
assurance_expire: this.form.assurance_expire,
other_tender_name:this.form.other_tender_name,
project_end_time:this.form.project_end_time,
is_acceptance:this.form.is_acceptance,
quotation_situation:this.form.quotation_situation,
audit_situation:this.form.audit_situation,
change_visa_amount:this.form.change_visa_amount,
assurance_expire: this.form.assurance_expire,
other_tender_name:this.form.other_tender_name,
project_end_time:this.form.project_end_time,
is_acceptance:this.form.is_acceptance,
quotation_situation:this.form.quotation_situation,
audit_situation:this.form.audit_situation,
change_visa_amount:this.form.change_visa_amount,
payment_content:this.form.payment_content
}).then(res => {
this.isShow = false
@ -711,7 +712,7 @@
type: 'success',
message: '操作成功'
})
this.$emit('signSuccess')
this.$emit('signSuccess')
this.handleOperationSuccess()
})
},
@ -757,7 +758,7 @@
this.form.guaranteeYear = res.guarantee_year
this.form.is_assurance = res.is_assurance === 1
this.form.assurance_expire = res.assurance_expire
this.form.assurance_money = res.assurance_money
this.form.assurance_money = res.assurance_money
this.form.other_tender_name = res.other_tender_name?res.other_tender_name:[]
//
if (res.contract_type !== 160) {
@ -980,10 +981,10 @@
::v-deep .el-input__inner {
text-align: left;
}
::v-deep .other_tender_name_input{
display: flex;
align-items: center;
margin-bottom:5px
}
</style>
::v-deep .other_tender_name_input{
display: flex;
align-items: center;
margin-bottom:5px
}
</style>

@ -253,8 +253,9 @@
签订合同
</Button>
</template>
<!-- (scope.row.purchase_way ? scope.row.purchase_way.remark === 'true' : false) -->
<template
<!-- (scope.row.purchase_way ? scope.row.purchase_way.remark === 'true' : false) && -->
<template
v-if="scope.row.invite_status === 1 && scope.row.purchase_status === 3 && !scope.row.is_substitute && (!scope.row.contract_category || scope.row.invite_status === 1)"
>
<Button class="slot-btns-item" size="small" type="primary" @click="bidding(scope.row)"></Button>
@ -265,6 +266,7 @@
</Button>
</template>
<!--不需要走采购流程那么直接就是会签如果采购方式不需要招标的也是直接会签-->
<!-- (scope.row.purchase_way ? scope.row.purchase_way.remark === 'false' : false) -->
<template
v-if="(scope.row.has_charge && scope.row.req_status === 3 && scope.row.join_status === 1) || (scope.row.join_status === 1 && ((scope.row.invite_status === 3)||(scope.row.purchase_status === 3)) || ( scope.row.is_substitute && scope.row.join_status === 1) ) && (!scope.row.contract_category || scope.row.join_status === 1)"
>
@ -486,7 +488,7 @@
</el-form-item>
<!-- 新增承包商/供应商输入框 -->
<el-form-item
<!-- <el-form-item
v-show="true"
:label="formType === 'contract' ? '承包商/供应商' : '付款对象'"
prop="supply"
@ -496,6 +498,19 @@
v-model="form.supply"
:placeholder="formType === 'contract' ? '请输入承包商/供应商' : '请输入付款对象'"
/>
</el-form-item> -->
<el-form-item
v-show="formType != 'contract'"
:label="'付款对象'"
prop="supply"
:rules="[{ required: true, message: '请输入付款对象', trigger: 'submit' }]"
>
<el-input
v-model="form.supply"
:placeholder="'请输入付款对象'"
/>
</el-form-item>
<!-- 新增执行科室选择 -->
@ -1042,7 +1057,7 @@ export default {
label: '合同分类',
width: 120,
prop: 'contract_category.category',
fixed: 'left',
// fixed: 'left',
align: 'center',
formatter: (row) => this.categoryIdNameMap?.[row.contract_category?.category] || ''
},
@ -1050,7 +1065,7 @@ export default {
label: '事务类型',
width: 120,
prop: 'contract_category.work_type',
fixed: 'left',
// fixed: 'left',
align: 'center',
formatter: (row) => this.categoryIdNameMap?.[row.contract_category?.work_type] || ''
},
@ -1058,15 +1073,15 @@ export default {
label: '合同类型',
width: 120,
prop: 'contract_category.contract_type',
fixed: 'left',
// fixed: 'left',
align: 'center',
formatter: (row) => this.categoryIdNameMap?.[row.contract_category?.contract_type] || '-'
},{
label: '项目名称',
width: 120,
width: 240,
prop: 'name',
fixed: 'left',
align: 'center'
align: 'left'
},
{
label: '采购形式',
@ -2251,7 +2266,7 @@ export default {
plan: '关联预算计划',
supply: '付款对象'
}
const missingFieldNames = missingFields.map(field => fieldNames[field] || field).join('、')
this.$Message.warning(`请填写:${missingFieldNames}`)
return

@ -8,13 +8,13 @@
<span style="padding: 0 6px;word-break: keep-all;">
付款计划日期
</span>
<DatePicker
:value="[select.start,select.end]"
placeholder="请选择日期"
<DatePicker
:value="[select.start,select.end]"
placeholder="请选择日期"
placement="bottom-start"
style="width: 200px"
type="daterange"
@on-change="datePick"
style="width: 200px"
type="daterange"
@on-change="datePick"
/>
</div>
@ -25,10 +25,10 @@
<Input v-model="select.keyword" placeholder="请输入关键字" style="width: 180px" />
</div>
<Button
style="margin-left: 10px"
<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 style="margin-left: 10px" type="primary" @click="getSignPlan"></Button>
@ -36,11 +36,11 @@
</slot>
</lx-header>
<xy-table
:list="list"
:table-item="table"
<xy-table
:list="list"
:table-item="table"
@delete="deleteContractSign"
@editor="(row)=>{$refs['detailContractSign'].planId = row.id;$refs['detailContractSign'].isShow = true}"
@editor="(row)=>{$refs['detailContractSign'].planId = row.id;$refs['detailContractSign'].isShow = true}"
>
<template v-if="type==0" v-slot:btns />
</xy-table>
@ -85,7 +85,7 @@ export default {
table: [{
prop: 'contract.name',
label: '项目名称',
width: 170,
width: 240,
align: 'left',
fixed: 'left'
},

@ -21,99 +21,99 @@
<span style="padding: 0 6px;word-break: keep-all;">预算计划</span>
<span>
<Input
v-model="select.plan_name"
clearable
placeholder="请选择预算计划"
<Input
v-model="select.plan_name"
clearable
placeholder="请选择预算计划"
style="width: 200px"
@on-focus="showPlanForSearch"
@on-clear="clearSelectForSearch"
@on-focus="showPlanForSearch"
@on-clear="clearSelectForSearch"
/>
</span>
</div>
<div v-if="type!=1">
<span style="padding: 0 6px;word-break: keep-all;">签订年份</span>
<span>
<DatePicker
:value="select.year"
placeholder="选择年份"
placement="bottom"
style="width: 90px;"
<DatePicker
:value="select.year"
placeholder="选择年份"
placement="bottom"
style="width: 90px;"
type="year"
@on-change="(e)=>select.year = e"
@on-change="(e)=>select.year = e"
/>
</span>
</div>
<div v-if="type!=1">
<span style="padding: 0 6px;word-break: keep-all;">
预算金额
</span>
<InputNumber v-model="select.start_plan_price" :min="0" placeholder="最小金额" style="width: 100px;" />
<span style="padding: 0 5px;">-</span>
<InputNumber v-model="select.end_plan_price" :min="0" placeholder="最大金额" style="width: 100px;" />
</div>
<!-- 更多按钮 -->
<div>
<Button type="text" @click="showMoreSearch = !showMoreSearch">
{{ showMoreSearch ? '收起' : '更多' }}
</Button>
</div>
<!-- 其余搜索项v-if="showMoreSearch" -->
<template v-if="showMoreSearch">
<div>
<span style="padding: 0 6px;word-break: keep-all;">
合同分类
</span>
<Select v-model="select.contract_category" disabled placeholder="请选择合同分类" style="width:140px;" @on-change="handleCategoryChange">
<Option v-for="item in categoryOptions" :key="item.id" :value="item.id">{{ item.value || item.name }}</Option>
</Select>
</div>
<div>
<span style="padding: 0 6px;word-break: keep-all;">
事务类型
</span>
<Select v-model="select.work_type" multiple clearable placeholder="请选择事务类型" style="width:180px;" :max-tag-count="1" @on-change="handleTransactionTypeChange">
<Option v-for="item in transactionTypes" :key="item.id" :value="item.id">{{ item.value || item.name }}</Option>
</Select>
</div>
<div>
<span style="padding: 0 6px;word-break: keep-all;">
合同类型
</span>
<Select v-model="select.contract_type" multiple clearable placeholder="请选择合同类型" style="width:160px;" :max-tag-count="1" @on-change="handleContractTypeChange">
<Option v-for="item in contractTypes" :key="item.id" :value="item.id">{{ item.value || item.name }}</Option>
</Select>
</div>
<div v-if="type!=1">
<span style="padding: 0 6px;word-break: keep-all;">
预算金额
</span>
<InputNumber v-model="select.start_plan_price" :min="0" placeholder="最小金额" style="width: 100px;" />
<span style="padding: 0 5px;">-</span>
<InputNumber v-model="select.end_plan_price" :min="0" placeholder="最大金额" style="width: 100px;" />
</div>
<!-- 更多按钮 -->
<div>
<Button type="text" @click="showMoreSearch = !showMoreSearch">
{{ showMoreSearch ? '收起' : '更多' }}
</Button>
</div>
<!-- 其余搜索项v-if="showMoreSearch" -->
<template v-if="showMoreSearch">
<div>
<span style="padding: 0 6px;word-break: keep-all;">
合同分类
</span>
<Select v-model="select.contract_category" disabled placeholder="请选择合同分类" style="width:140px;" @on-change="handleCategoryChange">
<Option v-for="item in categoryOptions" :key="item.id" :value="item.id">{{ item.value || item.name }}</Option>
</Select>
</div>
<div>
<span style="padding: 0 6px;word-break: keep-all;">
事务类型
</span>
<Select v-model="select.work_type" multiple clearable placeholder="请选择事务类型" style="width:180px;" :max-tag-count="1" @on-change="handleTransactionTypeChange">
<Option v-for="item in transactionTypes" :key="item.id" :value="item.id">{{ item.value || item.name }}</Option>
</Select>
</div>
<div>
<span style="padding: 0 6px;word-break: keep-all;">
合同类型
</span>
<Select v-model="select.contract_type" multiple clearable placeholder="请选择合同类型" style="width:160px;" :max-tag-count="1" @on-change="handleContractTypeChange">
<Option v-for="item in contractTypes" :key="item.id" :value="item.id">{{ item.value || item.name }}</Option>
</Select>
</div>
<div v-if="type!=1">
<span style="padding: 0 6px;word-break: keep-all;">创建日期</span>
<span>
<DatePicker
v-model="select.showDatePicker"
clearable
placeholder="请选择日期"
<DatePicker
v-model="select.showDatePicker"
clearable
placeholder="请选择日期"
placement="bottom-start"
style="width: 200px"
type="daterange"
@on-change="datePick"
style="width: 200px"
type="daterange"
@on-change="datePick"
/>
</span>
</div>
<div v-if="type==1">
<span style="padding: 0 6px;word-break: keep-all;">保函有效期</span>
<span>
<DatePicker
v-model="select.showDatePickerBao"
clearable
placeholder="请选择日期"
<DatePicker
v-model="select.showDatePickerBao"
clearable
placeholder="请选择日期"
placement="bottom-start"
style="width: 200px"
type="daterange"
@on-change="datePickBao"
style="width: 200px"
type="daterange"
@on-change="datePickBao"
/>
</span>
</div>
@ -169,10 +169,10 @@
合同状态
</span>
<Select v-model="select.status" clearable placeholder="请选择" style="width:100px;">
<Option
v-for="item in [{label:'待签订',value:1},{label:'已签订',value:2}]"
<Option
v-for="item in [{label:'待签订',value:1},{label:'已签订',value:2}]"
:key="item.value"
:value="item.value"
:value="item.value"
>{{ item.label }}
</Option>
</Select>
@ -183,10 +183,10 @@
履约保函状态
</span>
<Select v-model="select.assurance_status" clearable placeholder="请选择" style="width:100px;">
<Option
v-for="item in [{label:'未收取',value:0},{label:'已收取',value:1}]"
<Option
v-for="item in [{label:'未收取',value:0},{label:'已收取',value:1}]"
:key="item.value"
:value="item.value"
:value="item.value"
>{{ item.label }}
</Option>
</Select>
@ -229,15 +229,15 @@
<Option v-for="item in options" :key="item.value" :value="item.value">{{ item.label }}
</Option>
</Select>
</div>
</div>
</template>
<Button style="margin-left: 10px" type="primary" @click="searchContracts"></Button>
<Button
ghost
style="margin-left: 10px"
<Button
ghost
style="margin-left: 10px"
type="primary"
@click=" select = {showDatePicker:'',ageIndex:1,startDate:'',endDate:'',type:'',department:'',purchaseModality:'',purchaseMethods:'',priceMin:null,priceMax:null,status:''}"
@click=" select = {showDatePicker:'',ageIndex:1,startDate:'',endDate:'',type:'',department:'',purchaseModality:'',purchaseMethods:'',priceMin:null,priceMax:null,status:''}"
>
重置
</Button>
@ -246,44 +246,44 @@
</slot>
</lx-header>
<xy-table
ref="xyTable"
:cell-style="cellStyle"
:list="list"
:show-summary="true"
<xy-table
ref="xyTable"
:cell-style="cellStyle"
:list="list"
:show-summary="true"
:summary-method="summary"
:table-item="type === 0 ? table : table1"
@cellClick="showPaymentPlan"
:table-item="type === 0 ? table : table1"
@cellClick="showPaymentPlan"
@delete="(row)=>deleteContract(row.id)"
@editor=""
@editor=""
>
<template v-slot:btns>
<el-table-column fixed="right" header-align="center" label="操作" width="200">
<template slot-scope="scope">
<div class="slot-btns">
<Button
class="slot-btns-item"
size="small"
<Button
class="slot-btns-item"
size="small"
type="primary"
@click="$refs['detailContract'].getDetail(scope.row.id),$refs['detailContract'].isShowDetail = true"
@click="$refs['detailContract'].getDetail(scope.row.id),$refs['detailContract'].isShowDetail = true"
>
查看
</Button>
<Button
v-if="scope.row.assurance_status==0&&type==1&&scope.row.is_assurance==1"
class="slot-btns-item"
size="small"
<Button
v-if="scope.row.assurance_status==0&&type==1&&scope.row.is_assurance==1"
class="slot-btns-item"
size="small"
type="primary"
@click="switchAssurance(scope.row.id,1)"
@click="switchAssurance(scope.row.id,1)"
>
确认登记
</Button>
<Button
v-if="scope.row.assurance_status==1&&type==1&&scope.row.is_assurance==1"
class="slot-btns-item"
size="small"
<Button
v-if="scope.row.assurance_status==1&&type==1&&scope.row.is_assurance==1"
class="slot-btns-item"
size="small"
type="danger"
@click="switchAssurance(scope.row.id,0)"
@click="switchAssurance(scope.row.id,0)"
>
取消登记
</Button>
@ -298,14 +298,14 @@
</div>
<!-- 新增合同 -->
<xy-dialog
ref="addContract"
:form="form"
:is-show.sync="isShowAdd"
:rules="rules"
title="新增合同"
<xy-dialog
ref="addContract"
:form="form"
:is-show.sync="isShowAdd"
:rules="rules"
title="新增合同"
type="form"
@submit="submit"
@submit="submit"
>
<template v-slot:name>
<div class="xy-table-item">
@ -410,22 +410,22 @@
<xy-dialog :is-show.sync="isShowPlanForSearch" title="预算计划" :width="720" @on-ok="planSelectForSearch">
<template v-slot:normalContent>
<Input v-model="planSearch.name" search enter-button=" " placeholder="搜索预算计划.." @on-search="getBudgets" />
<div
<div
style="margin: 10px 0;display: flex;justify-content: space-between;
align-items: center;"
align-items: center;"
>
<div>已选择<span style="margin-right:10px">{{ select.plan_name }}</span> </div>
<el-link type="success" @click="clearSelectForSearch"></el-link>
</div>
<xy-table
ref="singlePlanTable"
:list="plans"
:show-index="false"
<xy-table
ref="singlePlanTable"
:list="plans"
:show-index="false"
:table-item="planTableSearch"
:height="310"
style="margin-top: 10px;"
@rowClick="selectPlanForSearch"
:height="310"
style="margin-top: 10px;"
@rowClick="selectPlanForSearch"
>
<template v-slot:btns />
</xy-table>
@ -445,25 +445,25 @@
<xy-dialog :is-show.sync="isShowPlan" :width="720" title="预算计划" @on-ok="planSelect">
<template v-slot:normalContent>
<div style="display: flex;">
<el-select
v-model="planSearch.plan_department_id"
placeholder="科室选择"
clearable
<el-select
v-model="planSearch.plan_department_id"
placeholder="科室选择"
clearable
size="small"
style="width: 160px;"
style="width: 160px;"
>
<el-option v-for="item in departments" :key="item.id" :label="item.name" :value="item.id" />
</el-select>
<Input v-model="planSearch.name" enter-button=" " placeholder="搜索预算计划.." search @on-search="getBudgets" />
</div>
<xy-table
ref="planTable"
:height="300"
:list="plans"
:show-index="false"
<xy-table
ref="planTable"
:height="300"
:list="plans"
:show-index="false"
:table-item="planTable"
style="margin-top: 10px;"
@select="selectPlan"
style="margin-top: 10px;"
@select="selectPlan"
>
<template v-slot:btns>
<el-table-column header-align="center" label="使用金额" fixed="right" width="140">
@ -485,13 +485,13 @@
</xy-dialog>
<!-- 编辑-->
<editor
ref="editor"
:is-show-editor.sync="isShowEditor"
:money-way="moneyWay"
<editor
ref="editor"
:is-show-editor.sync="isShowEditor"
:money-way="moneyWay"
:purchase-type="purchaseType"
:purchase-way="purchaseWay"
@success="getContracts"
:purchase-way="purchaseWay"
@success="getContracts"
/>
<!-- 查看-->
@ -565,7 +565,7 @@ export default {
}
}
return {
pageTitle: '合同列表',
pageTitle: '合同列表',
showMoreSearch:false,
type: 0, // pageType _0 _1
userList: ['liuxiangyu', 'zhushulan', 'admin', 'jiangjiao'],
@ -640,7 +640,7 @@ export default {
//
table: [{
label: '项目名称',
width: 340,
width: 240,
prop: 'name',
fixed: 'left',
align: 'left'
@ -654,7 +654,7 @@ export default {
label: '项目类型',
width: 120,
prop: 'type',
formatter: (cell, data, value) => {
formatter: (cell, data, value) => {
switch (value) {
case 1:
return '服务'
@ -779,7 +779,7 @@ export default {
item.value
} </div>)
})
}
}
}
},
{
@ -793,7 +793,7 @@ export default {
item.name
} </div>)
})
}
}
}
},
{
@ -903,8 +903,8 @@ export default {
width: 160,
prop: 'date',
formatter: (cell, data, value) => {
if (value) {
return parseTime(new Date(value), '{y}-{m}-{d}')
if (value) {
return parseTime(new Date(value), '{y}-{m}-{d}')
}
}
},
@ -1165,11 +1165,11 @@ export default {
methods: {
searchContracts() {
this.select.pageIndex = 1
this.getContracts()
this.getContracts()
},
clearSelectForSearch() {
this.select.plan_id = ''
this.select.plan_name = ''
this.select.plan_name = ''
},
async getPlanTypes() {
const res = await getparameter({
@ -1491,13 +1491,13 @@ export default {
number: 'purchase_type'
})).detail
},
pageSizeChange(e) {
pageSizeChange(e) {
this.select.pageSize = e
this.select.pageIndex = 1
this.getContracts()
},
//
async getContracts() {
async getContracts() {
const res = await getContract({
page_size: this.select.pageSize,
page: this.select.pageIndex,
@ -1655,7 +1655,7 @@ export default {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
}).then(() => {
editorContract({
id: id,
assurance_status: status
@ -1671,7 +1671,7 @@ export default {
type: 'info',
message: '已取消操作'
})
})
})
},
//
async getCategoryOptions() {

File diff suppressed because it is too large Load Diff

@ -221,7 +221,7 @@ export default {
},
{
label: '项目名称',
minWidth: 220,
width: 240,
align: 'left',
prop: 'project_name'
},

@ -3,6 +3,18 @@
<lx-header icon="md-apps" text="预算进展情况" style="margin-bottom: 10px; border: 0px; margin-top: 15px">
<div slot="content" />
<slot>
<span style="padding: 0 6px;word-break: keep-all;">项目名称</span>
<span>
<el-input
v-model="select.name"
placeholder="请输入项目名称"
type="text"
size="small"
clearable
placement="bottom-start"
style="width: 160px"
/>
</span>
<span style="padding: 0 6px;word-break: keep-all;">年份</span>
<span>
<DatePicker
@ -55,7 +67,7 @@
type="primary"
style="margin-left: 10px"
ghost
@click="select = {pageIndex:1,year:'',type:'',department:''}"
@click="select = {pageIndex:1,year:'',type:'',department:'',name:''}"
>重置</Button>
<Button type="primary" style="margin-left: 10px" @click="getPlanProgress"></Button>
</slot>
@ -106,7 +118,8 @@ export default {
showDatePicker: '',
start_created_at: '',
end_created_at: '',
sort_type: 'asc'
sort_type: 'asc',
name: ''
},
rateTotal: '0%',
moneyTotal: 0,
@ -308,8 +321,9 @@ export default {
type: this.select.type,
plan_department_id: this.select.department,
top_pid: 1,
name: this.select.name,
...this.select
})
})
// for (var m of res.list.data) {
// m.pid_info_name = m.pid_info?.name
// }

@ -157,7 +157,7 @@ export default {
{
prop: 'name',
label: '项目名称',
width: 180,
width: 240,
align: 'left',
fixed: 'left'
},
@ -169,9 +169,9 @@ export default {
customFn: row => {
return (
<div>
{ row.public_act_date ? (<Tag color='success'>采购意向公开已完成</Tag>) : (<Tag color='warning'>采购意向公开未完成</Tag>) }
{ row.invite_act_date ? <Tag color='success'>招标文件挂网已完成</Tag> : (<Tag color='warning'>招标文件挂网未完成</Tag>) }
{ row.open_act_date ? <Tag color='success'>项目开标已完成</Tag> : (<Tag color='warning'>项目开标未完成</Tag>) }
<div>{ row.public_act_date ? (<Tag color='success'>采购意向公开已完成</Tag>) : (<Tag color='warning'>采购意向公开未完成</Tag>) }</div>
<div>{ row.invite_act_date ? <Tag color='success'>招标文件挂网已完成</Tag> : (<Tag color='warning'>招标文件挂网未完成</Tag>) }</div>
<div>{ row.open_act_date ? <Tag color='success'>项目开标已完成</Tag> : (<Tag color='warning'>项目开标未完成</Tag>) }</div>
</div>
)
}

Loading…
Cancel
Save