|
@@ -74,6 +74,10 @@
|
|
|
<Edit />
|
|
|
</el-icon>批量赋值
|
|
|
</el-button>
|
|
|
+ <el-button type="primary" style="float:right" @click="fullScreen()">
|
|
|
+ <span v-if="!fullBoolean">全屏</span>
|
|
|
+ <span v-if="fullBoolean">取消</span>
|
|
|
+ </el-button>
|
|
|
<div class="search">
|
|
|
<el-input type="number" v-model="eqptDataQuery.sortId" placeholder="请输入序号" clearable style="width: 200px;" />
|
|
|
<el-input v-model="eqptDataQuery.equipmentName" placeholder="请输入设备名称" clearable style="width: 200px;margin-left: 10px;" />
|
|
@@ -101,14 +105,14 @@
|
|
|
show-header-overflow
|
|
|
show-footer-overflow
|
|
|
ref="allTableRef"
|
|
|
- height="100%"
|
|
|
+ height="90%"
|
|
|
size="mini"
|
|
|
:loading="loading"
|
|
|
:column-config="{ resizable: true, maxFixedSize: 0 }"
|
|
|
:edit-config="editConfig"
|
|
|
:scroll-y="{ enabled: true, gt: 0 }"
|
|
|
>
|
|
|
- <vxe-column field="sortId" title="序号" width="160" :edit-render="{ name: 'VxeNumberInput' }"></vxe-column>
|
|
|
+ <vxe-column field="sortId" title="序号" width="160" :edit-render="{ name: 'VxeNumberInput', props: { controls: false } }"></vxe-column>
|
|
|
<vxe-column field="equipmentName" title="设备名称" width="160" :edit-render="{ name: 'VxeInput' }">
|
|
|
<template #header>
|
|
|
<span>设备名称</span>
|
|
@@ -213,7 +217,7 @@
|
|
|
</el-select>
|
|
|
</template>
|
|
|
</vxe-column>
|
|
|
- <vxe-column field="quantity" title="数量" width="160" :edit-render="{ name: 'VxeNumberInput' }">
|
|
|
+ <vxe-column field="quantity" title="数量" width="160" :edit-render="{ name: 'VxeNumberInput', props: { controls: false } }">
|
|
|
<template #header>
|
|
|
<span>数量</span>
|
|
|
<span @click="getEqptTableFilter(eqptPageData, 'quantity'), autoSaveBatch()">
|
|
@@ -239,7 +243,7 @@
|
|
|
</span>
|
|
|
</template>
|
|
|
</vxe-column>
|
|
|
- <vxe-column field="bookOriginalValue" title="账面原值" width="160" :edit-render="{ name: 'VxeNumberInput' }">
|
|
|
+ <vxe-column field="bookOriginalValue" title="账面原值" width="160" :edit-render="{ name: 'VxeNumberInput', props: { controls: false } }">
|
|
|
<template #header>
|
|
|
<span>账面原值</span>
|
|
|
<span @click="getEqptTableFilter(eqptPageData, 'bookOriginalValue'), autoSaveBatch()">
|
|
@@ -252,7 +256,7 @@
|
|
|
</span>
|
|
|
</template>
|
|
|
</vxe-column>
|
|
|
- <vxe-column field="bookNetValue" title="账面净值" width="160" :edit-render="{ name: 'VxeNumberInput' }">
|
|
|
+ <vxe-column field="bookNetValue" title="账面净值" width="160" :edit-render="{ name: 'VxeNumberInput', props: { controls: false } }">
|
|
|
<template #header>
|
|
|
<span>账面净值</span>
|
|
|
<span @click="getEqptTableFilter(eqptPageData, 'bookNetValue'), autoSaveBatch()">
|
|
@@ -265,7 +269,7 @@
|
|
|
</span>
|
|
|
</template>
|
|
|
</vxe-column>
|
|
|
- <vxe-column field="taxedUnitPrice" title="合同/发票含税单价" width="160" :edit-render="{ name: 'VxeNumberInput' }">
|
|
|
+ <vxe-column field="taxedUnitPrice" title="合同/发票含税单价" width="160" :edit-render="{ name: 'VxeNumberInput', props: { controls: false } }">
|
|
|
<template #header>
|
|
|
<span>合同/发票含税单价</span>
|
|
|
<span @click="getEqptTableFilter(eqptPageData, 'taxedUnitPrice'), autoSaveBatch()">
|
|
@@ -278,7 +282,7 @@
|
|
|
</span>
|
|
|
</template>
|
|
|
</vxe-column>
|
|
|
- <vxe-column field="taxRate" title="购置时税率%" width="160" :edit-render="{ name: 'VxeNumberInput' }">
|
|
|
+ <vxe-column field="taxRate" title="购置时税率%" width="160" :edit-render="{ name: 'VxeNumberInput', props: { controls: false } }">
|
|
|
<template #header>
|
|
|
<span>购置时税率%</span>
|
|
|
<span @click="getEqptTableFilter(eqptPageData, 'taxRate'), autoSaveBatch()">
|
|
@@ -369,7 +373,7 @@
|
|
|
</vxe-column>
|
|
|
<vxe-column field="remainingUsefulLife" title="尚可使用年限" width="160" :edit-render="{}">
|
|
|
<template #edit="{ $rowIndex, row }">
|
|
|
- <vxe-number-input v-model="row.remainingUsefulLife" @change="countDepreciationRate(row)" placeholder="整数类型" type="integer"></vxe-number-input>
|
|
|
+ <vxe-number-input v-model="row.remainingUsefulLife" @change="countDepreciationRate(row)" placeholder="整数类型" type="integer" :controls="false"></vxe-number-input>
|
|
|
</template>
|
|
|
</vxe-column>
|
|
|
<vxe-column title="年限成新率%" width="160">
|
|
@@ -385,7 +389,7 @@
|
|
|
<span>{{ row.weight01 * 100 }}%</span>
|
|
|
</template>
|
|
|
</vxe-column>
|
|
|
- <vxe-column field="directObservationDepreciationRate" title="直接观察成新率" width="160" :edit-render="{ name: 'VxeNumberInput' }">
|
|
|
+ <vxe-column field="directObservationDepreciationRate" title="直接观察成新率" width="160" :edit-render="{ name: 'VxeNumberInput', props: { controls: false } }">
|
|
|
<template #header>
|
|
|
<span>直接观察成新率</span>
|
|
|
<span @click="getEqptTableFilter(eqptPageData, 'directObservationDepreciationRate'), autoSaveBatch()">
|
|
@@ -464,7 +468,7 @@
|
|
|
</vxe-column>
|
|
|
<vxe-column field="inquiryWeb" title="询价网址" width="160" :edit-render="{ name: 'VxeInput' }"></vxe-column>
|
|
|
<vxe-column field="inquiryLocation" title="询价地点" width="160" :edit-render="{ name: 'VxeInput' }"></vxe-column>
|
|
|
- <vxe-column field="price" title="询价单价" width="160" :edit-render="{ name: 'VxeNumberInput' }">
|
|
|
+ <vxe-column field="price" title="询价单价" width="160" :edit-render="{ name: 'VxeNumberInput', props: { controls: false } }">
|
|
|
<template #header>
|
|
|
<span>询价单价</span>
|
|
|
<span @click="getEqptTableFilter(eqptPageData, 'price'), autoSaveBatch()">
|
|
@@ -482,7 +486,7 @@
|
|
|
<span>{{ row.quotation = (row.price * row.quantity).toFixed(2) }}</span>
|
|
|
</template>
|
|
|
</vxe-column>
|
|
|
- <vxe-column field="freightAndMiscellaneousFeeRate" title="运杂费率" width="160" :edit-render="{ name: 'VxeNumberInput' }">
|
|
|
+ <vxe-column field="freightAndMiscellaneousFeeRate" title="运杂费率" width="160" :edit-render="{ name: 'VxeNumberInput', props: { controls: false } }">
|
|
|
<template #header>
|
|
|
<span>运杂费率</span>
|
|
|
<span @click="getEqptTableFilter(eqptPageData, 'freightAndMiscellaneousFeeRate'), autoSaveBatch()">
|
|
@@ -504,7 +508,7 @@
|
|
|
</span>
|
|
|
</template>
|
|
|
</vxe-column>
|
|
|
- <vxe-column field="baseRate" title="基础费率" width="160" :edit-render="{ name: 'VxeNumberInput' }">
|
|
|
+ <vxe-column field="baseRate" title="基础费率" width="160" :edit-render="{ name: 'VxeNumberInput', props: { controls: false } }">
|
|
|
<template #header>
|
|
|
<span>基础费率</span>
|
|
|
<span @click="getEqptTableFilter(eqptPageData, 'baseRate'), autoSaveBatch()">
|
|
@@ -522,7 +526,7 @@
|
|
|
<span>{{ row.baseFee = (row.quotation * row.baseRate / 100).toFixed(0) }}</span>
|
|
|
</template>
|
|
|
</vxe-column>
|
|
|
- <vxe-column field="installationRate" title="安装费率" width="160" :edit-render="{ name: 'VxeNumberInput' }">
|
|
|
+ <vxe-column field="installationRate" title="安装费率" width="160" :edit-render="{ name: 'VxeNumberInput', props: { controls: false } }">
|
|
|
<template #header>
|
|
|
<span>安装费率</span>
|
|
|
<span @click="getEqptTableFilter(eqptPageData, 'installationRate'), autoSaveBatch()">
|
|
@@ -681,10 +685,10 @@
|
|
|
</el-select>
|
|
|
</template>
|
|
|
</vxe-column>
|
|
|
- <vxe-column field="contractAmount" title="合同金额" width="160" :edit-render="{ name: 'VxeNumberInput' }"></vxe-column>
|
|
|
+ <vxe-column field="contractAmount" title="合同金额" width="160" :edit-render="{ name: 'VxeNumberInput', props: { controls: false } }"></vxe-column>
|
|
|
<vxe-column field="contractSigningDate" title="合同签订日期" width="160" :edit-render="dateEditRender"></vxe-column>
|
|
|
<vxe-column field="destinationPort" title="到岸港口" width="160" :edit-render="{ name: 'VxeInput' }"></vxe-column>
|
|
|
- <vxe-column field="ppi" title="价格指数" width="160" :edit-render="{ name: 'VxeNumberInput' }"></vxe-column>
|
|
|
+ <vxe-column field="ppi" title="价格指数" width="160" :edit-render="{ name: 'VxeNumberInput', props: { controls: false } }"></vxe-column>
|
|
|
<vxe-column field="pricingBasis" title="取价依据" width="160" :edit-render="{ name: 'VxeInput' }"></vxe-column>
|
|
|
<vxe-column field="purchasePrice" title="购置价(CIF到岸价)" width="160">
|
|
|
<template #default="{ row }">
|
|
@@ -695,14 +699,14 @@
|
|
|
</template>
|
|
|
</vxe-column>
|
|
|
<vxe-colgroup title="(CIF到岸价)折人民币">
|
|
|
- <vxe-column field="centralParityRate" title="基准日汇率中间价" width="160" :edit-render="{ name: 'VxeNumberInput' }"></vxe-column>
|
|
|
+ <vxe-column field="centralParityRate" title="基准日汇率中间价" width="160" :edit-render="{ name: 'VxeNumberInput', props: { controls: false } }"></vxe-column>
|
|
|
<vxe-column field="CIFLandedPrice" title="(CIF到岸价)折人民币" width="160">
|
|
|
<template #default="{ row }">
|
|
|
<span>{{ row.CIFLandedPrice = (row.purchasePrice * row.centralParityRate).toFixed(0) }}</span>
|
|
|
</template>
|
|
|
</vxe-column>
|
|
|
</vxe-colgroup>
|
|
|
- <vxe-column field="tariffRate" title="关税税率%" width="160" :edit-render="{ name: 'VxeNumberInput' }"></vxe-column>
|
|
|
+ <vxe-column field="tariffRate" title="关税税率%" width="160" :edit-render="{ name: 'VxeNumberInput', props: { controls: false } }"></vxe-column>
|
|
|
<vxe-column field="tariffRatePicture" title="关税税率截图" width="160" :edit-render="{}">
|
|
|
<template #edit="{ row, $rowIndex }">
|
|
|
<el-input v-model="row.tariffRatePicture" placeholder="粘贴关税税率截图" @paste.native="(e) => { return imagePaste(e, row, 'tariffRatePicture'); }" />
|
|
@@ -713,7 +717,7 @@
|
|
|
<span>{{ row.tariff = (row.CIFLandedPrice * (row.tariffRate / 100)).toFixed(2) }}</span>
|
|
|
</template>
|
|
|
</vxe-column>
|
|
|
- <vxe-column field="importVATRate" title="进口增值税率%" width="160" :edit-render="{ name: 'VxeNumberInput' }"></vxe-column>
|
|
|
+ <vxe-column field="importVATRate" title="进口增值税率%" width="160" :edit-render="{ name: 'VxeNumberInput', props: { controls: false } }"></vxe-column>
|
|
|
<vxe-column field="importVAT" title="进口增值税(元)" width="160">
|
|
|
<template #default="{ row }">
|
|
|
<span>
|
|
@@ -731,13 +735,13 @@
|
|
|
</span>
|
|
|
</template>
|
|
|
</vxe-column>
|
|
|
- <vxe-column field="bankChargesRate" title="银行财务费率%" width="160" :edit-render="{ name: 'VxeNumberInput' }"></vxe-column>
|
|
|
+ <vxe-column field="bankChargesRate" title="银行财务费率%" width="160" :edit-render="{ name: 'VxeNumberInput', props: { controls: false } }"></vxe-column>
|
|
|
<vxe-column field="bankCharges" title="银行财务费(元)" width="160">
|
|
|
<template #default="{ row }">
|
|
|
<span>{{ row.bankCharges = (row.CIFLandedPrice * (row.bankChargesRate / 100)).toFixed(2) }}</span>
|
|
|
</template>
|
|
|
</vxe-column>
|
|
|
- <vxe-column field="foreignTransactionRate" title="外贸手续费率%" width="160" :edit-render="{ name: 'VxeNumberInput' }"></vxe-column>
|
|
|
+ <vxe-column field="foreignTransactionRate" title="外贸手续费率%" width="160" :edit-render="{ name: 'VxeNumberInput', props: { controls: false } }"></vxe-column>
|
|
|
<vxe-column field="foreignTransaction" title="外贸手续费(元)" width="160">
|
|
|
<template #default="{ row }">
|
|
|
<span>
|
|
@@ -851,13 +855,13 @@
|
|
|
<vxe-column field="inquiryBasis" title="价格来源" width="160"></vxe-column>
|
|
|
<vxe-column field="inquiryLocation" title="询价地点" width="160"></vxe-column>
|
|
|
<vxe-column field="material1" title="主材1" width="160" :edit-render="{ name: 'VxeInput' }"></vxe-column>
|
|
|
- <vxe-column field="material1Quantity" title="主材1用量(吨/方)" width="160" :edit-render="{ name: 'VxeNumberInput' }"></vxe-column>
|
|
|
- <vxe-column field="material1UseRatio" title="主材1利用率%" width="160" :edit-render="{ name: 'VxeNumberInput' }"></vxe-column>
|
|
|
- <vxe-column field="material1Price" title="主材1单价(元/(吨/方))" width="160" :edit-render="{ name: 'VxeNumberInput' }"></vxe-column>
|
|
|
+ <vxe-column field="material1Quantity" title="主材1用量(吨/方)" width="160" :edit-render="{ name: 'VxeNumberInput', props: { controls: false } }"></vxe-column>
|
|
|
+ <vxe-column field="material1UseRatio" title="主材1利用率%" width="160" :edit-render="{ name: 'VxeNumberInput', props: { controls: false } }"></vxe-column>
|
|
|
+ <vxe-column field="material1Price" title="主材1单价(元/(吨/方))" width="160" :edit-render="{ name: 'VxeNumberInput', props: { controls: false } }"></vxe-column>
|
|
|
<vxe-column field="material2" title="主材2(没有填 无)" width="160" :edit-render="{ name: 'VxeInput' }"></vxe-column>
|
|
|
- <vxe-column field="material2Quantity" title="主材2用量(吨/方)" width="160" :edit-render="{ name: 'VxeNumberInput' }"></vxe-column>
|
|
|
- <vxe-column field="material2UseRatio" title="主材2利用率%" width="160" :edit-render="{ name: 'VxeNumberInput' }"></vxe-column>
|
|
|
- <vxe-column field="material2Price" title="主材2单价(元/(吨/方))" width="160" :edit-render="{ name: 'VxeNumberInput' }"></vxe-column>
|
|
|
+ <vxe-column field="material2Quantity" title="主材2用量(吨/方)" width="160" :edit-render="{ name: 'VxeNumberInput', props: { controls: false } }"></vxe-column>
|
|
|
+ <vxe-column field="material2UseRatio" title="主材2利用率%" width="160" :edit-render="{ name: 'VxeNumberInput', props: { controls: false } }"></vxe-column>
|
|
|
+ <vxe-column field="material2Price" title="主材2单价(元/(吨/方))" width="160" :edit-render="{ name: 'VxeNumberInput', props: { controls: false } }"></vxe-column>
|
|
|
<vxe-column field="mainMaterialCost" title="主材费/设备报价(含税不含运费不含安装调试费)" width="160">
|
|
|
<template #default="{ row }">
|
|
|
<span>
|
|
@@ -871,12 +875,12 @@
|
|
|
</span>
|
|
|
</template>
|
|
|
</vxe-column>
|
|
|
- <vxe-column field="mainMaterialCostRate" title="不含主要外购件费的成本主材费率%" width="160" :edit-render="{ name: 'VxeNumberInput' }"></vxe-column>
|
|
|
- <vxe-column field="mainPurchasedPartsCost" title="主要外购件费(元)" width="160" :edit-render="{ name: 'VxeNumberInput' }"></vxe-column>
|
|
|
- <vxe-column field="costProfitRatio" title="成本利润率%" width="160" :edit-render="{ name: 'VxeNumberInput' }"></vxe-column>
|
|
|
- <vxe-column field="salesTaxRate" title="销售税金率%" width="160" :edit-render="{ name: 'VxeNumberInput' }"></vxe-column>
|
|
|
- <vxe-column field="designFeeRate" title="非标准设备设计费率%" width="160" :edit-render="{ name: 'VxeNumberInput' }"></vxe-column>
|
|
|
- <vxe-column field="VATRate" title="增值税率%" width="160" :edit-render="{ name: 'VxeNumberInput' }"></vxe-column>
|
|
|
+ <vxe-column field="mainMaterialCostRate" title="不含主要外购件费的成本主材费率%" width="160" :edit-render="{ name: 'VxeNumberInput', props: { controls: false } }"></vxe-column>
|
|
|
+ <vxe-column field="mainPurchasedPartsCost" title="主要外购件费(元)" width="160" :edit-render="{ name: 'VxeNumberInput', props: { controls: false } }"></vxe-column>
|
|
|
+ <vxe-column field="costProfitRatio" title="成本利润率%" width="160" :edit-render="{ name: 'VxeNumberInput', props: { controls: false } }"></vxe-column>
|
|
|
+ <vxe-column field="salesTaxRate" title="销售税金率%" width="160" :edit-render="{ name: 'VxeNumberInput', props: { controls: false } }"></vxe-column>
|
|
|
+ <vxe-column field="designFeeRate" title="非标准设备设计费率%" width="160" :edit-render="{ name: 'VxeNumberInput', props: { controls: false } }"></vxe-column>
|
|
|
+ <vxe-column field="VATRate" title="增值税率%" width="160" :edit-render="{ name: 'VxeNumberInput', props: { controls: false } }"></vxe-column>
|
|
|
<vxe-column field="nonsEqptValue" title="非标设备估值(元)" width="160">
|
|
|
<template #default="{ row }">
|
|
|
<span>
|
|
@@ -1168,6 +1172,8 @@ export default {
|
|
|
autoSaveNonSAtive: false,
|
|
|
autoSaveNonSTimer: null, // 用于存储 setTimeout 的引用
|
|
|
countdownDuration: 60000, // 倒计时时间(10秒)
|
|
|
+ //是否全屏显示,默认否
|
|
|
+ fullBoolean: false,
|
|
|
}
|
|
|
},
|
|
|
components: {
|
|
@@ -2167,6 +2173,61 @@ export default {
|
|
|
})
|
|
|
}
|
|
|
},
|
|
|
+ fullScreen() {
|
|
|
+ if(!this.fullBoolean){
|
|
|
+ //如果未全屏,则开启全屏
|
|
|
+ this.fullBoolean = true
|
|
|
+ //获取需要全屏的元素
|
|
|
+ let full = document.getElementById('evaluateDiv')
|
|
|
+ // 加上内边距以免组件贴边
|
|
|
+ full.style.padding = '10px';
|
|
|
+ //开启全屏方法
|
|
|
+ this.toFullscreen(full)
|
|
|
+ //分辨率调整后,重新初始化方法
|
|
|
+ this.init();
|
|
|
+ }else{
|
|
|
+ //如果已全屏,则退出全屏
|
|
|
+ this.fullBoolean = false
|
|
|
+ let full = document.getElementById('evaluateDiv')
|
|
|
+ // 去掉内边距
|
|
|
+ full.style.padding = '0px';
|
|
|
+ //退出全屏方法
|
|
|
+ this.cancelFullscreen()
|
|
|
+ //分辨率调整后,重新初始化方法
|
|
|
+ this.init();
|
|
|
+ }
|
|
|
+ },
|
|
|
+ //全屏方法
|
|
|
+ toFullscreen(element) {
|
|
|
+ //全屏
|
|
|
+ if (element.requestFullscreen) {
|
|
|
+ element.requestFullscreen()
|
|
|
+ }
|
|
|
+ //兼容Firefox全屏
|
|
|
+ else if (element.mozRequestFullScreen) {
|
|
|
+ element.mozRequestFullScreen()
|
|
|
+ }
|
|
|
+ //兼容Chrome Safari Opera全屏
|
|
|
+ else if (element.webkitRequestFullscreen) {
|
|
|
+ element.webkitRequestFullscreen()
|
|
|
+ }
|
|
|
+ //兼容IE Edge全屏
|
|
|
+ else if (element.msRequestFullscreen) {
|
|
|
+ element.msRequestFullscreen()
|
|
|
+ }
|
|
|
+ },
|
|
|
+ //退出全屏
|
|
|
+ cancelFullscreen() {
|
|
|
+ if (document.exitFullscreen) {
|
|
|
+ document.exitFullscreen()
|
|
|
+ } else if (document.mozCancelFullScreen) {
|
|
|
+ document.mozCancelFullScreen()
|
|
|
+ } else if (document.webkitCancelFullScreen) {
|
|
|
+ document.webkitCancelFullScreen()
|
|
|
+ } else if (document.msExitFullscreen) {
|
|
|
+ document.msExitFullscreen()
|
|
|
+ }
|
|
|
+ },
|
|
|
},
|
|
|
}
|
|
|
</script>
|
|
@@ -2213,6 +2274,7 @@ export default {
|
|
|
}
|
|
|
|
|
|
.evaluateDiv {
|
|
|
+ background-color: white;
|
|
|
margin-left: 10px;
|
|
|
width: 84%;
|
|
|
display: inline-block;
|