|
@@ -32,14 +32,14 @@
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="conferencecost-header-right">
|
|
|
- <el-button v-if="control.isGM" size="small" type="primary"
|
|
|
+ <el-button v-if="control.isGM && userId != 21" size="small" type="primary"
|
|
|
@click="permissionSettingDialog = true">权限分配</el-button>
|
|
|
- <el-select v-if="control.isReview" size="small" v-model="fileSelect" clearable placeholder="请选择"
|
|
|
+ <el-select v-if="canSave" size="small" v-model="fileSelect" clearable placeholder="请选择"
|
|
|
style="width: 150px;margin-left: 10px;">
|
|
|
<el-option v-for="item in filetype" :key="item.id" :label="item.name" :value="item.id">
|
|
|
</el-option>
|
|
|
</el-select>
|
|
|
- <el-button v-if="control.isReview" style="margin-left: 10px;" size="small" type="primary"
|
|
|
+ <el-button v-if="canSave" style="margin-left: 10px;" size="small" type="primary"
|
|
|
@click="FileDown">生成表格</el-button>
|
|
|
<el-button v-if="control.isReview" size="small" @click="ConferenceAffairsAudit(1)"
|
|
|
type="primary">审核通过</el-button>
|
|
@@ -48,9 +48,9 @@
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="conferencecost-content">
|
|
|
- <el-table border ref="multipleTable" :data="tableDatas" tooltip-effect="dark" style="width: 100%"
|
|
|
+ <el-table border ref="tableRef" :data="tableDatas" tooltip-effect="dark" style="width: 100%"
|
|
|
@selection-change="handleSelectionChange">
|
|
|
- <el-table-column type="selection" width="55">
|
|
|
+ <el-table-column v-if="control.isReview" type="selection" width="55">
|
|
|
</el-table-column>
|
|
|
<el-table-column label="序号" prop="index" width="55">
|
|
|
</el-table-column>
|
|
@@ -74,6 +74,20 @@
|
|
|
:controls="false" v-model="scope.row.costPrice"></el-input-number>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
+ <el-table-column prop="name" label="数量" width="80">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <el-input-number @change="calculateQuotation(scope.row)" :precision="2" size="mini"
|
|
|
+ :controls="false" v-model="scope.row.count"></el-input-number>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column prop="name" label="单位" width="100">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <el-select size="small" v-model="scope.row.unit" placeholder="" clearable>
|
|
|
+ <el-option v-for="item in units" :key="item.id" :label="item.text" :value="item.id">
|
|
|
+ </el-option>
|
|
|
+ </el-select>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
<el-table-column prop="name" label="币种" width="100">
|
|
|
<template slot-scope="scope">
|
|
|
<el-select size="small" @change="currencychange(scope.row)" v-model="scope.row.currency"
|
|
@@ -90,29 +104,30 @@
|
|
|
:controls="false" v-model="scope.row.rate"></el-input-number>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column prop="name" label="数量" width="80">
|
|
|
+
|
|
|
+ <el-table-column prop="name" label="系数" width="100">
|
|
|
<template slot-scope="scope">
|
|
|
<el-input-number @change="calculateQuotation(scope.row)" :precision="2" size="mini"
|
|
|
- :controls="false" v-model="scope.row.count"></el-input-number>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column prop="name" label="单位" width="100">
|
|
|
- <template slot-scope="scope">
|
|
|
- <el-select size="small" v-model="scope.row.unit" placeholder="" clearable>
|
|
|
- <el-option v-for="item in units" :key="item.id" :label="item.text" :value="item.id">
|
|
|
- </el-option>
|
|
|
- </el-select>
|
|
|
+ :controls="false" v-model="scope.row.coefficient"></el-input-number>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column prop="name" label="系数" width="100">
|
|
|
+ <el-table-column prop="name" :label="`单项成本金额`" width="130">
|
|
|
<template slot-scope="scope">
|
|
|
- <el-input-number @change="calculateQuotation(scope.row)" :precision="2" size="mini"
|
|
|
- :controls="false" v-model="scope.row.coefficient"></el-input-number>
|
|
|
+ {{ townum(scope.row.costPrice * scope.row.count) }}
|
|
|
+ <!-- <el-input-number :precision="2" size="mini" :controls="false" v-model="scope.row.baoJiaPrice"></el-input-number> -->
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column prop="name" label="单项报价金额" width="100">
|
|
|
+ <el-table-column prop="name" label="单项报价金额" width="160">
|
|
|
<template slot-scope="scope">
|
|
|
- {{ townum(scope.row.baoJiaPrice) }}
|
|
|
+ {{ `${townum(scope.row.baoJiaPrice)} (CNY)` }}
|
|
|
+ <div v-if="scope.row.currency != 836">
|
|
|
+
|
|
|
+ {{ `${townum(scope.row.costPrice * scope.row.coefficient * scope.row.count)}
|
|
|
+ (${getCurrencyCode(scope.row)})`
|
|
|
+
|
|
|
+ }}
|
|
|
+
|
|
|
+ </div>
|
|
|
<!-- <el-input-number :precision="2" size="mini" :controls="false" v-model="scope.row.baoJiaPrice"></el-input-number> -->
|
|
|
</template>
|
|
|
</el-table-column>
|
|
@@ -193,7 +208,7 @@
|
|
|
</el-option>
|
|
|
</el-select>
|
|
|
</div>
|
|
|
- <div class="conferencecost-Interestrate">
|
|
|
+ <div class="conferencecost-Interestrate" v-if="false">
|
|
|
该会务利润率超过
|
|
|
<el-input-number style="width:120px;" :precision="2" size="mini" :controls="false"
|
|
|
v-model="liom"></el-input-number>%
|
|
@@ -352,7 +367,7 @@ export default {
|
|
|
priceType: '',//费用类型
|
|
|
priceName: '',//费用名称
|
|
|
costPrice: 0,//成本费用
|
|
|
- currency: '',//币种
|
|
|
+ currency: 836,//币种
|
|
|
rate: 0,//当时汇率
|
|
|
count: 0,//数量333
|
|
|
unit: '',//单位
|
|
@@ -610,6 +625,11 @@ export default {
|
|
|
}
|
|
|
})
|
|
|
},
|
|
|
+ // 获取每行数据的币种代码
|
|
|
+ getCurrencyCode(row) {
|
|
|
+ const currency = this.options.find(option => option.currencyId === row.currency);
|
|
|
+ return currency ? currency.currencyCode : '';
|
|
|
+ },
|
|
|
// 合并为单一函数,移除冗余API调用
|
|
|
ConferenceAffairsLoad() {
|
|
|
this.conferencecostLoading = true;
|
|
@@ -647,6 +667,14 @@ export default {
|
|
|
if (res.data.code == 200) {
|
|
|
this.conferenceAffairsCost = data.conferenceAffairsCost;
|
|
|
this.tableDatas = data.conferenceAffairsCostChi;
|
|
|
+ // 设置默认选中所有行
|
|
|
+ this.$nextTick(() => {
|
|
|
+ if (this.tableDatas.length > 0) {
|
|
|
+ this.tableDatas.forEach(row => {
|
|
|
+ this.$refs.tableRef.toggleRowSelection(row, true);
|
|
|
+ });
|
|
|
+ }
|
|
|
+ });
|
|
|
}
|
|
|
|
|
|
if (res.data.code == 201) {
|