master
271556543@qq.com 4 years ago
parent 27dc2fffcd
commit e02b7926db

@ -2,8 +2,8 @@
ENV = 'development' ENV = 'development'
# base api # base api
#VUE_APP_DOMIAN=http://192.168.60.99:9003/ VUE_APP_DOMIAN=http://192.168.60.99:9003/
VUE_APP_DOMIAN=http://hdcontract.ali251.langye.net/ #VUE_APP_DOMIAN=http://hdcontract.ali251.langye.net/
VUE_APP_BASE_API = '' VUE_APP_BASE_API = ''

@ -66,11 +66,11 @@
<div class="related-processes"> <div class="related-processes">
<div class="related-processes-title">相关流程</div> <div class="related-processes-title">相关流程</div>
<div class="related-processes-item"> <div class="related-processes-item">
<div @click="seeBuyProcess"></div> <div @click="seeBuyProcess" :style="{'color':detail.purchase_last_flow_id ? 'green' : 'red'}">采购流程查</div>
<div @click="seeSignProcess"></div> <div @click="seeSignProcess" :style="{'color':detail.join_last_flow_id ? 'green' : 'red'}">合同会签流</div>
<div @click="seeBidding"></div> <div @click="seeBidding" :style="{'color':detail.invite_last_flow_id ? 'green' : 'red'}">招标审批流</div>
<template v-if="detail.is_plan != 1"> <template v-if="detail.is_plan != 1">
<div @click="seeAskProcess"></div> <div @click="seeAskProcess" :style="{'color':detail.req_last_flow_id ? 'green' : 'red'}">请示流程查</div>
</template> </template>
</div> </div>
</div> </div>
@ -455,7 +455,7 @@ export default {
@extend .link-budget-plan-title; @extend .link-budget-plan-title;
} }
&-item{ &-item{
color: red; //color: red;
display: flex; display: flex;

@ -502,6 +502,15 @@ export default {
} }
}, },
{
label:'已申请金额(元)',
prop:'apply_money_total',
width:180,
align:'right',
formatter:(cell,data,value)=>{
return Number(value).toFixed(2).replace(/(\d)(?=(\d{3})+\.)/g, '$1,')
}
},
{ {
label:'已付金额(元)', label:'已付金额(元)',
prop:'fund_log_total', prop:'fund_log_total',
@ -518,7 +527,7 @@ export default {
let per = ((((row.fund_log_total)/row.money)||0)*100)?.toFixed(2) || 0 let per = ((((row.fund_log_total)/row.money)||0)*100)?.toFixed(2) || 0
return ( return (
<div style={{'color':per > 110 ? 'red' : 'green'}}> <div style={{'color':per > 110 ? 'red' : 'green'}}>
{per.padStart(5,'0')}% {per}%
</div> </div>
) )
} }
@ -806,8 +815,8 @@ export default {
showPaymentPlan(row, column, cell){ showPaymentPlan(row, column, cell){
if(column.property === 'sign_plan_count'){ if(column.property === 'sign_plan_count'){
this.$refs['contractPaymentRegistration'].getSignPlan(row.id) this.$refs['contractPaymentRegistration'].getSignPlan(row.id)
row.status === 2 ? this.$refs['contractPaymentRegistration'].isSign = true : this.$refs['contractPaymentRegistration'].isSign = false
this.$refs['contractPaymentRegistration'].isShow = true this.$refs['contractPaymentRegistration'].isShow = true
row.id === 2 ? this.$refs['contractPaymentRegistration'].isSign = true : this.$refs['contractPaymentRegistration'].isSign = false
} }
if(column.property === 'fund_log_total'){ if(column.property === 'fund_log_total'){
this.$router.push(`/contract/paymentRegistrationList?contractId=${row.id}`) this.$router.push(`/contract/paymentRegistrationList?contractId=${row.id}`)

@ -1,6 +1,6 @@
<template> <template>
<div style="padding: 0 20px;" ref="contractList"> <div ref="contractList" style="padding: 0 20px;">
<lx-header icon="md-apps" text="合同列表" style="margin-bottom: 10px; border: 0px; margin-top: 15px"> <lx-header icon="md-apps" style="margin-bottom: 10px; border: 0px; margin-top: 15px" text="合同列表">
<div slot="content"></div> <div slot="content"></div>
<slot> <slot>
<div class="selects"> <div class="selects">
@ -14,7 +14,8 @@
<div> <div>
<span style="padding: 0 6px;word-break: keep-all;">创建日期</span> <span style="padding: 0 6px;word-break: keep-all;">创建日期</span>
<span> <span>
<DatePicker v-model="select.showDatePicker" clearable placeholder="请选择日期" type="daterange" placement="bottom-start" style="width: 200px" @on-change="datePick"></DatePicker> <DatePicker v-model="select.showDatePicker" clearable placeholder="请选择日期" placement="bottom-start"
style="width: 200px" type="daterange" @on-change="datePick"></DatePicker>
</span> </span>
</div> </div>
@ -22,8 +23,8 @@
<span style="padding: 0 6px;word-break: keep-all;"> <span style="padding: 0 6px;word-break: keep-all;">
项目类型 项目类型
</span> </span>
<Select placeholder="请选择项目类型" v-model="select.type" style="width:140px;" clearable> <Select v-model="select.type" clearable placeholder="请选择项目类型" style="width:140px;">
<Option v-for="item in type" :value="item.value" :key="item.value">{{ item.label }}</Option> <Option v-for="item in type" :key="item.value" :value="item.value">{{ item.label }}</Option>
</Select> </Select>
</div> </div>
@ -31,8 +32,8 @@
<span style="padding: 0 6px;word-break: keep-all;"> <span style="padding: 0 6px;word-break: keep-all;">
业务科室 业务科室
</span> </span>
<el-select placeholder="业务科室选择" clearable size="small" v-model="select.department" style="width: 160px;"> <el-select v-model="select.department" clearable placeholder="业务科室选择" size="small" style="width: 160px;">
<el-option v-for="item in departments" :label="item.name" :value="item.id" :key="item.id"> <el-option v-for="item in departments" :key="item.id" :label="item.name" :value="item.id">
</el-option> </el-option>
</el-select> </el-select>
</div> </div>
@ -41,8 +42,8 @@
<span style="padding: 0 6px;word-break: keep-all;"> <span style="padding: 0 6px;word-break: keep-all;">
采购形式 采购形式
</span> </span>
<Select clearable placeholder="请选择采购形式" v-model="select.purchaseModality" style="width:200px;"> <Select v-model="select.purchaseModality" clearable placeholder="请选择采购形式" style="width:200px;">
<Option v-for="item in purchaseType" :value="item.id" :key="item.id">{{ item.value }}</Option> <Option v-for="item in purchaseType" :key="item.id" :value="item.id">{{ item.value }}</Option>
</Select> </Select>
</div> </div>
@ -50,8 +51,8 @@
<span style="padding: 0 6px;word-break: keep-all;"> <span style="padding: 0 6px;word-break: keep-all;">
采购方式 采购方式
</span> </span>
<Select clearable placeholder="请选择采购方式" v-model="select.purchaseMethods" style="width:200px;"> <Select v-model="select.purchaseMethods" clearable placeholder="请选择采购方式" style="width:200px;">
<Option v-for="item in purchaseWay" :value="item.id" :key="item.id">{{ item.value }}</Option> <Option v-for="item in purchaseWay" :key="item.id" :value="item.id">{{ item.value }}</Option>
</Select> </Select>
</div> </div>
@ -60,41 +61,49 @@
预算金额 预算金额
</span> </span>
<InputNumber <InputNumber
style="width: 100px;" v-model="select.priceMin"
placeholder="最小金额"
:min="0" :min="0"
v-model="select.priceMin"/> placeholder="最小金额"
style="width: 100px;"/>
<span style="padding: 0 5px;">-</span> <span style="padding: 0 5px;">-</span>
<InputNumber <InputNumber
style="width: 100px;" v-model="select.priceMax"
placeholder="最大金额"
:min="0" :min="0"
v-model="select.priceMax"/> placeholder="最大金额"
style="width: 100px;"/>
</div> </div>
<div> <div>
<span style="padding: 0 6px;word-break: keep-all;"> <span style="padding: 0 6px;word-break: keep-all;">
状态 状态
</span> </span>
<Select clearable placeholder="请选择合同状态" v-model="select.status" style="width:200px;"> <Select v-model="select.status" clearable placeholder="请选择合同状态" style="width:200px;">
<Option v-for="item in [{label:'待签订',value:1},{label:'已签订',value:2}]" :value="item.value" :key="item.value">{{ item.label }}</Option> <Option v-for="item in [{label:'',value:1},{label:'',value:2}]" :key="item.value"
:value="item.value">{{ item.label }}
</Option>
</Select> </Select>
</div> </div>
<Button type="primary" style="margin-left: 10px" @click="getContracts"></Button> <Button style="margin-left: 10px" type="primary" @click="getContracts"></Button>
<Button type="primary" style="margin-left: 10px" ghost <Button ghost style="margin-left: 10px" type="primary"
@click=" select = {showDatePicker:'',ageIndex:1,startDate:'',endDate:'',type:'',department:'',purchaseModality:'',purchaseMethods:'',priceMin:null,priceMax:null,status:''}">重置</Button> @click=" select = {showDatePicker:'',ageIndex:1,startDate:'',endDate:'',type:'',department:'',purchaseModality:'',purchaseMethods:'',priceMin:null,priceMax:null,status:''}">
重置
</Button>
<!-- <Button type="primary" style="margin-left: 10px">导出</Button>--> <!-- <Button type="primary" style="margin-left: 10px">导出</Button>-->
</div> </div>
</slot> </slot>
</lx-header> </lx-header>
<xy-table ref="xyTable" :table-item="table" :list="list" @editor="" @delete="(row)=>deleteContract(row.id)" @cellClick="showPaymentPlan" :cell-style="cellStyle" :show-summary="true" :summary-method="summary"> <xy-table ref="xyTable" :cell-style="cellStyle" :list="list" :show-summary="true" :summary-method="summary"
:table-item="table" @cellClick="showPaymentPlan" @delete="(row)=>deleteContract(row.id)" @editor="">
<template v-slot:btns> <template v-slot:btns>
<el-table-column label="操作" fixed="right" width="100" header-align="center" align="center"> <el-table-column align="center" fixed="right" header-align="center" label="操作" width="100">
<template slot-scope="scope"> <template slot-scope="scope">
<div class="slot-btns"> <div class="slot-btns">
<Button class="slot-btns-item" type="primary" size="small" @click="$refs['detailContract'].getDetail(scope.row.id),$refs['detailContract'].isShowDetail = true">查看</Button> <Button class="slot-btns-item" size="small" type="primary"
@click="$refs['detailContract'].getDetail(scope.row.id),$refs['detailContract'].isShowDetail = true">
查看
</Button>
</div> </div>
</template> </template>
</el-table-column> </el-table-column>
@ -128,6 +137,7 @@ import paymentRegistration from "./components/paymentRegistration";
import contractSign from "@/views/contract/components/contractSign"; import contractSign from "@/views/contract/components/contractSign";
import contractPaymentRegistration from "@/views/contract/components/contractPaymentRegistration"; import contractPaymentRegistration from "@/views/contract/components/contractPaymentRegistration";
import {login} from "@/api/user"; import {login} from "@/api/user";
export default { export default {
components: { components: {
editor, editor,
@ -197,6 +207,7 @@ export default {
width: 120, width: 120,
prop: 'type', prop: 'type',
formatter: (cell, data, value) => { formatter: (cell, data, value) => {
switch (value) { switch (value) {
case 1: case 1:
return "服务" return "服务"
@ -321,21 +332,39 @@ export default {
} }
}, },
{
label: '已申请金额(元)',
prop: 'apply_money_total',
width: 180,
align: 'right',
formatter: (cell, data, value) => {
return Number(value).toFixed(2).replace(/(\d)(?=(\d{3})+\.)/g, '$1,')
}
},
{ {
label: '已付金额(元)', label: '已付金额(元)',
prop: 'fund_log_total', prop: 'fund_log_total',
width:120, width: 180,
align: 'right', align: 'right',
formatter: (cell, data, value) => { formatter: (cell, data, value) => {
if(!value){ return Number(value).toFixed(2).replace(/(\d)(?=(\d{3})+\.)/g, '$1,')
return '0.00'
} }
return value },
{
label: '支付占比',
width: 180,
customFn: (row) => {
let per = ((((row.fund_log_total) / row.money) || 0) * 100)?.toFixed(2) || 0
return (
<div style={{'color': per > 110 ? 'red' : 'green'}}>
{per}%
</div>
)
} }
}, },
{ {
label: "合同预算价(元)", label: "合同预算价(元)",
width: 160, width: 180,
prop: "plan_price", prop: "plan_price",
align: 'right', align: 'right',
formatter: (v1, v2, value) => { formatter: (v1, v2, value) => {
@ -346,7 +375,10 @@ export default {
label: '合同签订价(元)', label: '合同签订价(元)',
width: 180, width: 180,
prop: 'money', prop: 'money',
align:'right' align: 'right',
formatter: (cell, data, value) => {
return Number(value).toFixed(2).replace(/(\d)(?=(\d{3})+\.)/g, '$1,')
}
}, },
{ {
label: "合同状态", label: "合同状态",
@ -804,7 +836,7 @@ export default {
} }
</script> </script>
<style scoped lang="scss"> <style lang="scss" scoped>
.selects { .selects {
display: flex; display: flex;
flex-wrap: wrap; flex-wrap: wrap;
@ -813,6 +845,7 @@ export default {
margin-bottom: 6px; margin-bottom: 6px;
} }
} }
.selectTop { .selectTop {
margin-top: 10px; margin-top: 10px;
} }
@ -827,6 +860,7 @@ export default {
align-content: center; align-content: center;
padding: 0 8px; padding: 0 8px;
&-no-plan { &-no-plan {
height: 30px; height: 30px;
line-height: 30px; line-height: 30px;
@ -835,7 +869,6 @@ export default {
} }
.slot-btns { .slot-btns {
display: flex; display: flex;
flex-wrap: wrap; flex-wrap: wrap;
@ -850,8 +883,10 @@ export default {
.xy-table-item-label { .xy-table-item-label {
width: 140px; width: 140px;
} }
.xy-table-item-price { .xy-table-item-price {
position: relative; position: relative;
&::after { &::after {
position: absolute; position: absolute;
right: 0; right: 0;

@ -99,19 +99,25 @@ export default {
minWidth:300 minWidth:300
}, },
{ {
prop:'rate', prop:'money',
label:'进展率', width: 180,
width: 120, label:'项目金额(元)',
formatter:(cell,data,value)=>{ align:'right'
return value + '%'
}
}, },
{ {
prop:'use_money_total', prop:'use_money_total',
label:'使用金额', label:'使用金额',
align:'right', align:'right',
width: 180 width: 180
},
{
prop:'rate',
label:'进展率',
width: 120,
formatter:(cell,data,value)=>{
return value + '%'
} }
},
] ]
} }
}, },

Loading…
Cancel
Save