|
@@ -19,41 +19,50 @@
|
|
|
</el-form-item>
|
|
|
<!-- 合同类型 -->
|
|
|
<el-form-item>
|
|
|
- <span style="margin-left:5px;margin-right:5px;color:#606266;">{{ $t('he-tong-lei-xing') }}</span>
|
|
|
- <el-select v-model="typeName" style="width:120px;" :placeholder="$t('defaultText.pleaseChoose')"
|
|
|
+ <!-- <span style="margin-left:5px;margin-right:5px;color:#606266;">{{ $t('he-tong-lei-xing') }}</span> -->
|
|
|
+ <el-select v-model="typeName" style="width:140px;" placeholder="请选择合同类型"
|
|
|
@change="searchFilter" size="small" clearable>
|
|
|
<el-option v-for="item in typeList" :key="item.id" :label="item.typeName" :value="item.id"></el-option>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
<!-- 状态 -->
|
|
|
<el-form-item>
|
|
|
- <span style="margin-left:5px;margin-right:5px;color:#606266;">{{ $t('state.states') }}</span>
|
|
|
- <el-select v-model="status" style="width:120px;" :placeholder="$t('defaultText.pleaseChoose')"
|
|
|
+ <!-- <span style="margin-left:5px;margin-right:5px;color:#606266;">{{ $t('state.states') }}</span> -->
|
|
|
+ <el-select v-model="status" style="width:120px;" placeholder="请选择状态"
|
|
|
@change="searchFilter" size="small" clearable>
|
|
|
<el-option v-for="item, index in statusList" :key="item.label" :label="item.label"
|
|
|
:value="index"></el-option>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
<el-form-item>
|
|
|
- <span style="margin-left:5px;margin-right:5px;color:#606266;">供应商名称</span>
|
|
|
- <el-input v-model.trim="customerOrgs" placeholder="请输入" size="small" style="width: 150px" clearable
|
|
|
+ <!-- <span style="margin-left:5px;margin-right:5px;color:#606266;">供应商名称</span> -->
|
|
|
+ <el-input v-model.trim="customerOrgs" placeholder="请输入供应商名称" size="small" style="width: 150px" clearable
|
|
|
@input="onCustomerOrgsInput"></el-input>
|
|
|
</el-form-item>
|
|
|
<el-form-item>
|
|
|
- <span style="margin-left:5px;margin-right:5px;color:#606266;">合同状态</span>
|
|
|
- <el-select v-model="finishStatuss" placeholder="请选择" style="width:120px" size="small" clearable
|
|
|
+ <!-- <span style="margin-left:5px;margin-right:5px;color:#606266;">合同状态</span> -->
|
|
|
+ <el-select v-model="finishStatuss" placeholder="请选择合同状态" style="width:140px" size="small" clearable
|
|
|
@change="searchFilter">
|
|
|
<el-option label="履约中" :value="1"></el-option>
|
|
|
<el-option label="履约完成" :value="2"></el-option>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
<el-form-item>
|
|
|
- <span style="margin-left:5px;margin-right:5px;color:#606266;">合同印花税缴纳</span>
|
|
|
- <el-select v-model="stampDutyStatusVal" style="width:120px;" :placeholder="$t('defaultText.pleaseChoose')"
|
|
|
- @change="searchFilter" size="small" clearable>
|
|
|
+ <!-- <span style="margin-left:5px;margin-right:5px;color:#606266;">合同印花税缴纳</span> -->
|
|
|
+ <el-select v-model="stampDutyStatusVal" style="width:180px;" placeholder="请选择合同印花税缴纳"
|
|
|
+ @change="searchFilter" size="small" clearable multiple collapse-tags>
|
|
|
<el-option v-for="item in stampDutyStatusList" :key="item.id" :label="item.label" :value="item.id"></el-option>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
+ <el-form-item>
|
|
|
+ <el-select v-model="procurementMethod" placeholder="请选择采购方式" size="small" style="width:140px;" clearable @change="searchFilter">
|
|
|
+ <el-option label="公开招标" :value="0"></el-option>
|
|
|
+ <el-option label="邀请招标" :value="1"></el-option>
|
|
|
+ <el-option label="询比价" :value="2"></el-option>
|
|
|
+ <el-option label="竞争性谈判" :value="3"></el-option>
|
|
|
+ <el-option label="单一来源" :value="4"></el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
<el-form-item style="float:right;">
|
|
|
<el-dropdown>
|
|
|
<el-link type="primary" :underline="false">{{ $t('viewmore') }}<i
|
|
@@ -102,8 +111,10 @@
|
|
|
<el-table-column prop="useDepartment" label="合同承办部门" min-width="190"></el-table-column>
|
|
|
<el-table-column prop="fundsSource" label="经费来源" min-width="190">
|
|
|
<template slot-scope="scope">
|
|
|
- <span v-if="scope.row.fundsSource == 1">科研</span>
|
|
|
- <span v-if="scope.row.fundsSource == 2">其他(专项等)</span>
|
|
|
+ <!-- <span v-if="scope.row.fundsSource == 1">科研</span>
|
|
|
+ <span v-if="scope.row.fundsSource == 2">其他(专项等)</span> -->
|
|
|
+ <span v-if="scope.row.fundsSource == 1">科研经费</span>
|
|
|
+ <span v-if="scope.row.fundsSource == 2">资本金</span>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
<el-table-column prop="undertaker" label="合同承办人" min-width="190"></el-table-column>
|
|
@@ -223,13 +234,20 @@
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="使用部门">
|
|
|
- <el-input v-model="contractForm.useDepartment" :disabled="contractForm.status == 0"
|
|
|
- :placeholder="$t('peaseenterthe')" clearable></el-input>
|
|
|
+ <!-- <el-input v-model="contractForm.useDepartment" :disabled="contractForm.status == 0"
|
|
|
+ :placeholder="$t('peaseenterthe')" clearable></el-input> -->
|
|
|
+ <el-select v-model="contractForm.useDepartment" :disabled="contractForm.status == 0" placeholder="请选择" style="width:300px;">
|
|
|
+ <el-option label="综合管理部" value="综合管理部"></el-option>
|
|
|
+ <el-option label="项目管理部" value="项目管理部"></el-option>
|
|
|
+ <el-option label="工程研发部" value="工程研发部"></el-option>
|
|
|
+ </el-select>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="经费来源">
|
|
|
<el-select v-model="contractForm.fundsSource" :disabled="contractForm.status == 0" placeholder="请选择" style="width:300px;">
|
|
|
- <el-option label="科研" value="1"></el-option>
|
|
|
- <el-option label="其他(专项等)" value="2"></el-option>
|
|
|
+ <!-- <el-option label="科研" value="1"></el-option>
|
|
|
+ <el-option label="其他(专项等)" value="2"></el-option> -->
|
|
|
+ <el-option label="科研经费" value="1"></el-option>
|
|
|
+ <el-option label="资本金" value="2"></el-option>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="合同承办人">
|
|
@@ -237,8 +255,13 @@
|
|
|
:placeholder="$t('peaseenterthe')" clearable></el-input>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="委托代理人">
|
|
|
- <el-input v-model="contractForm.agent" :disabled="contractForm.status == 0"
|
|
|
- :placeholder="$t('peaseenterthe')" clearable></el-input>
|
|
|
+ <!-- <el-input v-model="contractForm.agent" :disabled="contractForm.status == 0"
|
|
|
+ :placeholder="$t('peaseenterthe')" clearable></el-input> -->
|
|
|
+ <el-select v-model="contractForm.agent" :disabled="contractForm.status == 0" placeholder="请选择" style="width:300px;">
|
|
|
+ <el-option label="樊战旗" value="樊战旗"></el-option>
|
|
|
+ <el-option label="杨新团" value="杨新团"></el-option>
|
|
|
+ <el-option label="罗月珍" value="罗月珍"></el-option>
|
|
|
+ </el-select>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="签订日期">
|
|
|
<el-date-picker v-model="contractForm.signDate" :disabled="contractForm.status == 0"
|
|
@@ -308,7 +331,7 @@
|
|
|
</el-form-item>
|
|
|
|
|
|
<el-form-item label="付款计划">
|
|
|
- <el-table :data="contractPaymentList" size="small" :key="Math.random()" :height="'300px'"
|
|
|
+ <el-table :data="contractPaymentList" size="small" :height="'300px'"
|
|
|
show-header="false" style="margin-top:10px;">
|
|
|
<el-table-column prop="isPayed" width="120">
|
|
|
<template slot-scope="scope">
|
|
@@ -462,8 +485,10 @@
|
|
|
{{ contractForm.useDepartment }}
|
|
|
</el-form-item>
|
|
|
<el-form-item label="经费来源">
|
|
|
- <span v-if="contractForm.fundsSource == 1">科研</span>
|
|
|
- <span v-if="contractForm.fundsSource == 2">其他(专项等)</span>
|
|
|
+ <!-- <span v-if="contractForm.fundsSource == 1">科研</span>
|
|
|
+ <span v-if="contractForm.fundsSource == 2">其他(专项等)</span> -->
|
|
|
+ <span v-if="contractForm.fundsSource == 1">科研经费</span>
|
|
|
+ <span v-if="contractForm.fundsSource == 2">资本金</span>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="合同承办人">
|
|
|
{{ contractForm.undertaker }}
|
|
@@ -777,9 +802,10 @@ export default {
|
|
|
{ label: '已缴纳', id: 2 },
|
|
|
{ label: '部分缴纳', id: 3 },
|
|
|
],
|
|
|
- stampDutyStatusVal: null,
|
|
|
+ stampDutyStatusVal: [],
|
|
|
tampDutyTimeNullList: [],
|
|
|
stampDutySelectionList: [],
|
|
|
+ procurementMethod: null,
|
|
|
stampDutyTimeListVisable: false,
|
|
|
}
|
|
|
},
|
|
@@ -833,8 +859,6 @@ export default {
|
|
|
}
|
|
|
const list = this.contractPaymentList || []
|
|
|
const totalNum = list.reduce((sum, item) => sum + (item.payedAmount || 0), 0);
|
|
|
- console.log(list, '<====== 开始执行')
|
|
|
- console.log(totalNum, '<====== 开始执行')
|
|
|
this.contractForm.amounts = totalNum
|
|
|
},
|
|
|
chgPayedAmount() {
|
|
@@ -842,7 +866,7 @@ export default {
|
|
|
const list = this.contractPaymentList || []
|
|
|
let totalNum = +amounts || 0
|
|
|
|
|
|
- // 计算合同金额不含税
|
|
|
+ // // 计算合同金额不含税
|
|
|
this.theContractAmountDoesNotIncludeTax()
|
|
|
|
|
|
if (amounts <= 0 || list.length <= 0) {
|
|
@@ -852,20 +876,22 @@ export default {
|
|
|
this.processingContractAmount()
|
|
|
}
|
|
|
|
|
|
- for (let i in list) {
|
|
|
- if (list[i].payedAmount) {
|
|
|
- let copyTotalNum = JSON.parse(JSON.stringify(totalNum))
|
|
|
- totalNum = totalNum - list[i].payedAmount
|
|
|
- if (totalNum <= 0) {
|
|
|
- totalNum = 0;
|
|
|
- list[i].payedAmount = copyTotalNum;
|
|
|
+ if(this.contractForm.isAmountFixed) {
|
|
|
+ for (let i in list) {
|
|
|
+ if (list[i].payedAmount) {
|
|
|
+ let copyTotalNum = JSON.parse(JSON.stringify(totalNum))
|
|
|
+ totalNum = totalNum - list[i].payedAmount
|
|
|
+ if (totalNum <= 0) {
|
|
|
+ totalNum = 0;
|
|
|
+ list[i].payedAmount = copyTotalNum;
|
|
|
+ }
|
|
|
+ list[i].pendingAmounts = totalNum;
|
|
|
}
|
|
|
- list[i].pendingAmounts = totalNum;
|
|
|
}
|
|
|
- }
|
|
|
|
|
|
- this.contractPaymentList = list
|
|
|
- this.$forceUpdate()
|
|
|
+ this.contractPaymentList = list
|
|
|
+ this.$forceUpdate()
|
|
|
+ }
|
|
|
},
|
|
|
theContractAmountDoesNotIncludeTax() {
|
|
|
const { amounts, taxRate } = this.contractForm
|
|
@@ -931,7 +957,8 @@ export default {
|
|
|
stampDutyTime: ''
|
|
|
}
|
|
|
|
|
|
- this.contractPaymentList.push(val)
|
|
|
+ // this.contractPaymentList.push(val)
|
|
|
+ this.contractPaymentList.unshift(val)
|
|
|
},
|
|
|
|
|
|
getProjectList() {
|
|
@@ -1059,8 +1086,12 @@ export default {
|
|
|
parameter.finishStatus = this.finishStatuss
|
|
|
}
|
|
|
|
|
|
- if(this.stampDutyStatusVal || this.stampDutyStatusVal === 0) {
|
|
|
- parameter.stampDutyStatus = this.stampDutyStatusVal
|
|
|
+ if(this.stampDutyStatusVal && this.stampDutyStatusVal.length) {
|
|
|
+ parameter.stampDutyStatus = this.stampDutyStatusVal.join(',')
|
|
|
+ }
|
|
|
+
|
|
|
+ if(this.procurementMethod || this.procurementMethod == 0) {
|
|
|
+ parameter.procurementWay = this.procurementMethod
|
|
|
}
|
|
|
|
|
|
this.http.post('/contract/exportContractOneToMany', parameter,
|
|
@@ -1396,9 +1427,14 @@ export default {
|
|
|
}
|
|
|
const flagList = this.returnValuableData(this.contractPaymentList)
|
|
|
const modifyState = flagList.some(item => !item.hasOwnProperty('stampDutyTime'));
|
|
|
+ const modifyStateTwo = flagList.every(item => item.hasOwnProperty('stampDutyTime') && item.stampDutyTime);
|
|
|
if(!this.contractForm.isAmountFixed && modifyState) {
|
|
|
this.contractForm.stampDutyStatus = 3
|
|
|
}
|
|
|
+
|
|
|
+ if(!this.contractForm.isAmountFixed && modifyStateTwo) {
|
|
|
+ this.contractForm.stampDutyStatus = 2
|
|
|
+ }
|
|
|
|
|
|
this.submitLoading = true
|
|
|
delete this.contractForm.files
|
|
@@ -1584,8 +1620,12 @@ export default {
|
|
|
parameter.finishStatus = this.finishStatuss
|
|
|
}
|
|
|
|
|
|
- if(this.stampDutyStatusVal || this.stampDutyStatusVal === 0) {
|
|
|
- parameter.stampDutyStatus = this.stampDutyStatusVal
|
|
|
+ if(this.stampDutyStatusVal && this.stampDutyStatusVal.length) {
|
|
|
+ parameter.stampDutyStatus = this.stampDutyStatusVal.join(',')
|
|
|
+ }
|
|
|
+
|
|
|
+ if(this.procurementMethod || this.procurementMethod == 0) {
|
|
|
+ parameter.procurementWay = this.procurementMethod
|
|
|
}
|
|
|
|
|
|
this.listLoading = true
|