|
@@ -112,11 +112,84 @@
|
|
|
</el-col>
|
|
</el-col>
|
|
|
</el-row>
|
|
</el-row>
|
|
|
<headerTitle title="物品清单" style="margin-top: 30px"></headerTitle>
|
|
<headerTitle title="物品清单" style="margin-top: 30px"></headerTitle>
|
|
|
- <inventoryTableDetails
|
|
|
|
|
- ref="inventoryTableDetailsRef"
|
|
|
|
|
- :isDiscountTotalPrice="true"
|
|
|
|
|
- :isSelected="true"
|
|
|
|
|
- ></inventoryTableDetails>
|
|
|
|
|
|
|
+ <div v-if="form.sourceType == 2">
|
|
|
|
|
+ <ele-pro-table
|
|
|
|
|
+ ref="table"
|
|
|
|
|
+ :needPage="false"
|
|
|
|
|
+ :columns="columns"
|
|
|
|
|
+ @columns-change="handleColumnChange"
|
|
|
|
|
+ :cache-key="cacheKeyUrl"
|
|
|
|
|
+ :datasource="form.originalList"
|
|
|
|
|
+ row-key="id"
|
|
|
|
|
+ max-height="500px"
|
|
|
|
|
+ >
|
|
|
|
|
+ <template v-slot:toolbar>
|
|
|
|
|
+ <div class="headbox">
|
|
|
|
|
+ <span class="amount">总计:{{ form.totalAmount }}元</span>
|
|
|
|
|
+ <span class="amount"
|
|
|
|
|
+ >应付金额:{{ form.payAmount }}元</span
|
|
|
|
|
+ >
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </template>
|
|
|
|
|
+ <template v-slot:technicalDrawings="{ row }">
|
|
|
|
|
+ <fileMain v-model="row.technicalDrawings" type="view"></fileMain>
|
|
|
|
|
+ </template>
|
|
|
|
|
+ <template v-slot:requirementTotalCount="{ row, $index }">
|
|
|
|
|
+ <!-- <el-button type="text" @click="handleGetBillDetail(row, 1)">{{ -->
|
|
|
|
|
+ {{row.requirementTotalCount}}
|
|
|
|
|
+ <!-- }}</el-button> -->
|
|
|
|
|
+ <span v-if="row.requirementTotalCount">{{
|
|
|
|
|
+ row.measuringUnit || ''
|
|
|
|
|
+ }}</span>
|
|
|
|
|
+ </template>
|
|
|
|
|
+ <template v-slot:planTotalCount="{ row, $index }">
|
|
|
|
|
+ <!-- <el-button type="text" @click="handleGetBillDetail(row, 2)">{{ -->
|
|
|
|
|
+ {{row.planTotalCount}}
|
|
|
|
|
+ <!-- }}</el-button> -->
|
|
|
|
|
+ <span v-if="row.planTotalCount">{{
|
|
|
|
|
+ row.measuringUnit || ''
|
|
|
|
|
+ }}</span>
|
|
|
|
|
+ </template>
|
|
|
|
|
+ <template v-slot:inquiryTotalCount="{ row, $index }">
|
|
|
|
|
+ <!-- <el-button type="text" @click="handleGetBillDetail(row, 3)">{{ -->
|
|
|
|
|
+ {{row.inquiryTotalCount}}
|
|
|
|
|
+ <!-- }}</el-button> -->
|
|
|
|
|
+ <span v-if="row.inquiryTotalCount">{{
|
|
|
|
|
+ row.measuringUnit || ''
|
|
|
|
|
+ }}</span>
|
|
|
|
|
+ </template>
|
|
|
|
|
+ <template v-slot:contractTotalCount="{ row, $index }">
|
|
|
|
|
+ <!-- <el-button type="text" @click="handleGetBillDetail(row, 4)">{{ -->
|
|
|
|
|
+ {{row.contractTotalCount}}
|
|
|
|
|
+ <!-- }}</el-button> -->
|
|
|
|
|
+ <span v-if="row.contractTotalCount">{{
|
|
|
|
|
+ row.measuringUnit || ''
|
|
|
|
|
+ }}</span>
|
|
|
|
|
+ </template>
|
|
|
|
|
+ <template v-slot:doneTotalCount="{ row, $index }">
|
|
|
|
|
+ <!-- <el-button type="text" @click="handleGetBillDetail(row, 5)">{{ -->
|
|
|
|
|
+ {{row.doneTotalCount}}
|
|
|
|
|
+ <!-- }}</el-button> -->
|
|
|
|
|
+ <span v-if="row.doneTotalCount">{{
|
|
|
|
|
+ row.measuringUnit || ''
|
|
|
|
|
+ }}</span>
|
|
|
|
|
+ </template>
|
|
|
|
|
+ <template v-slot:waitTotalCount="{ row, $index }">
|
|
|
|
|
+ <!-- <el-button type="text" @click="handleGetBillDetail(row, 6)">{{ -->
|
|
|
|
|
+ {{row.waitTotalCount}}
|
|
|
|
|
+ <!-- }}</el-button> -->
|
|
|
|
|
+ <span v-if="row.waitTotalCount">{{
|
|
|
|
|
+ row.measuringUnit || ''
|
|
|
|
|
+ }}</span>
|
|
|
|
|
+ </template>
|
|
|
|
|
+ </ele-pro-table>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ <div v-else>
|
|
|
|
|
+ <inventoryTableDetails
|
|
|
|
|
+ ref="inventoryTableDetailsRef"
|
|
|
|
|
+ :isDiscountTotalPrice="true"
|
|
|
|
|
+ ></inventoryTableDetails>
|
|
|
|
|
+ </div>
|
|
|
<headerTitle
|
|
<headerTitle
|
|
|
title="冲差信息"
|
|
title="冲差信息"
|
|
|
style="margin-top: 30px"
|
|
style="margin-top: 30px"
|
|
@@ -170,7 +243,8 @@
|
|
|
import inventoryTable from './inventoryTable.vue';
|
|
import inventoryTable from './inventoryTable.vue';
|
|
|
import inventoryTableDetails from '@/BIZComponents/inventoryTableDetails.vue';
|
|
import inventoryTableDetails from '@/BIZComponents/inventoryTableDetails.vue';
|
|
|
import { reduce } from 'lodash';
|
|
import { reduce } from 'lodash';
|
|
|
-
|
|
|
|
|
|
|
+ import { pricingWayList, lbjtList, levelList, quoteTypeOp } from '@/enum/dict.js';
|
|
|
|
|
+ import tabMixins from '@/mixins/tableColumnsMixin';
|
|
|
const defForm = {
|
|
const defForm = {
|
|
|
name: '',
|
|
name: '',
|
|
|
changeCode: '',
|
|
changeCode: '',
|
|
@@ -184,6 +258,7 @@
|
|
|
relationType: ''
|
|
relationType: ''
|
|
|
};
|
|
};
|
|
|
export default {
|
|
export default {
|
|
|
|
|
+ mixins: [tabMixins],
|
|
|
components: { inventoryTable, inventoryTableDetails },
|
|
components: { inventoryTable, inventoryTableDetails },
|
|
|
computed: {
|
|
computed: {
|
|
|
...mapGetters(['user'])
|
|
...mapGetters(['user'])
|
|
@@ -197,7 +272,410 @@
|
|
|
return {
|
|
return {
|
|
|
form: {
|
|
form: {
|
|
|
...defForm
|
|
...defForm
|
|
|
- }
|
|
|
|
|
|
|
+ },
|
|
|
|
|
+ cacheKeyUrl: '202606051537-eom-purchase-order-detail',
|
|
|
|
|
+ quoteTypeOp,
|
|
|
|
|
+ columns: [
|
|
|
|
|
+ {
|
|
|
|
|
+ width: 45,
|
|
|
|
|
+ type: 'index',
|
|
|
|
|
+ columnKey: 'index',
|
|
|
|
|
+ align: 'center',
|
|
|
|
|
+ fixed: 'left'
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ width: 45,
|
|
|
|
|
+ type: 'selection',
|
|
|
|
|
+ columnKey: 'selection',
|
|
|
|
|
+ align: 'center',
|
|
|
|
|
+ selectable: (row, index) => {
|
|
|
|
|
+ return !row.sendTotalCount;
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ width: 200,
|
|
|
|
|
+ prop: 'productName',
|
|
|
|
|
+ label: '名称',
|
|
|
|
|
+ slot: 'productName',
|
|
|
|
|
+ align: 'center'
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ width: 120,
|
|
|
|
|
+ prop: 'productCode',
|
|
|
|
|
+ label: '编码',
|
|
|
|
|
+ slot: 'productCode',
|
|
|
|
|
+ align: 'center'
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ width: 200,
|
|
|
|
|
+ prop: 'productCategoryName',
|
|
|
|
|
+ label: '类型',
|
|
|
|
|
+ slot: 'productCategoryName',
|
|
|
|
|
+ align: 'center'
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ width: 160,
|
|
|
|
|
+ prop: 'productBrand',
|
|
|
|
|
+ label: '牌号',
|
|
|
|
|
+ slot: 'productBrand',
|
|
|
|
|
+ align: 'center'
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ width: 120,
|
|
|
|
|
+ prop: 'modelType',
|
|
|
|
|
+ label: '型号',
|
|
|
|
|
+ slot: 'modelType',
|
|
|
|
|
+ align: 'center'
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ width: 120,
|
|
|
|
|
+ prop: 'supplierMark',
|
|
|
|
|
+ label: '供应商代号',
|
|
|
|
|
+ slot: 'supplierMark',
|
|
|
|
|
+ align: 'center'
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ width: 120,
|
|
|
|
|
+ prop: 'specification',
|
|
|
|
|
+ label: '规格',
|
|
|
|
|
+ slot: 'specification',
|
|
|
|
|
+ align: 'center'
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ minWidth: 200,
|
|
|
|
|
+ prop: 'taskName',
|
|
|
|
|
+ label: '工序',
|
|
|
|
|
+ slot: 'taskName',
|
|
|
|
|
+ align: 'center'
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ width: 120,
|
|
|
|
|
+ prop: 'requirementTotalCount',
|
|
|
|
|
+ label: '采购需求数量',
|
|
|
|
|
+ slot: 'requirementTotalCount',
|
|
|
|
|
+ align: 'center'
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ width: 120,
|
|
|
|
|
+ prop: 'planTotalCount',
|
|
|
|
|
+ label: '采购计划数量',
|
|
|
|
|
+ slot: 'planTotalCount',
|
|
|
|
|
+ align: 'center'
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ width: 120,
|
|
|
|
|
+ prop: 'inquiryTotalCount',
|
|
|
|
|
+ label: '采购核价数量',
|
|
|
|
|
+ slot: 'inquiryTotalCount',
|
|
|
|
|
+ align: 'center'
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ width: 120,
|
|
|
|
|
+ prop: 'contractTotalCount',
|
|
|
|
|
+ label: '采购合同数量',
|
|
|
|
|
+ slot: 'contractTotalCount',
|
|
|
|
|
+ align: 'center'
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ width: 80,
|
|
|
|
|
+ prop: 'doneTotalCount',
|
|
|
|
|
+ label: '已采数量',
|
|
|
|
|
+ slot: 'doneTotalCount',
|
|
|
|
|
+ align: 'center'
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ width: 100,
|
|
|
|
|
+ prop: 'waitTotalCount',
|
|
|
|
|
+ label: '待采数量',
|
|
|
|
|
+ // slot: 'waitTotalCount',
|
|
|
|
|
+ align: 'center',
|
|
|
|
|
+ formatter: (row, column) => {
|
|
|
|
|
+ if (row.waitTotalCount) {
|
|
|
|
|
+ return row.waitTotalCount + ' ' + row.measuringUnit;
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ width: 100,
|
|
|
|
|
+ prop: 'doneReceiveCount',
|
|
|
|
|
+ label: '已收货数量',
|
|
|
|
|
+ align: 'center',
|
|
|
|
|
+ formatter: (row, column) => {
|
|
|
|
|
+ if (row.doneReceiveCount) {
|
|
|
|
|
+ return row.doneReceiveCount + ' ' + (row.measuringUnit || '');
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ width: 100,
|
|
|
|
|
+ prop: 'waitReceiveCount',
|
|
|
|
|
+ label: '未收货数量',
|
|
|
|
|
+ align: 'center',
|
|
|
|
|
+ formatter: (row, column) => {
|
|
|
|
|
+ if (row.waitReceiveCount) {
|
|
|
|
|
+ return row.waitReceiveCount + ' ' + (row.measuringUnit || '');
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ width: 170,
|
|
|
|
|
+ prop: 'purchaseCount',
|
|
|
|
|
+ label: '数量',
|
|
|
|
|
+ align: 'center',
|
|
|
|
|
+ formatter: (row, column) => {
|
|
|
|
|
+ if (row.purchaseCount) {
|
|
|
|
|
+ return row.purchaseCount + ' ' + (row.purchaseUnit || '');
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+
|
|
|
|
|
+ {
|
|
|
|
|
+ minWidth: 180,
|
|
|
|
|
+ prop: 'packingSpecification',
|
|
|
|
|
+ align: 'center',
|
|
|
|
|
+ label: '包装规格',
|
|
|
|
|
+ showOverflowTooltip: true
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ width: 150,
|
|
|
|
|
+ prop: 'totalCount',
|
|
|
|
|
+ label: '计量数量',
|
|
|
|
|
+ slot: 'totalCount',
|
|
|
|
|
+ align: 'center',
|
|
|
|
|
+ formatter: (row, column) => {
|
|
|
|
|
+ if (row.totalCount) {
|
|
|
|
|
+ return row.totalCount + ' ' + (row.measuringUnit || '');
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+
|
|
|
|
|
+ {
|
|
|
|
|
+ width: 120,
|
|
|
|
|
+ prop: 'produceType',
|
|
|
|
|
+ align: 'center',
|
|
|
|
|
+ label: '属性类型',
|
|
|
|
|
+ showOverflowTooltip: true,
|
|
|
|
|
+ formatter: (row, column) => {
|
|
|
|
|
+ if (row.produceType) {
|
|
|
|
|
+ return row.produceType
|
|
|
|
|
+ .map((item) => {
|
|
|
|
|
+ return lbjtList[item];
|
|
|
|
|
+ })
|
|
|
|
|
+ .toString();
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+
|
|
|
|
|
+ {
|
|
|
|
|
+ width: 120,
|
|
|
|
|
+ prop: 'singleWeight',
|
|
|
|
|
+ label: '单重',
|
|
|
|
|
+ slot: 'singleWeight',
|
|
|
|
|
+ align: 'center',
|
|
|
|
|
+ formatter: (row, column) => {
|
|
|
|
|
+ if (row.singleWeight) {
|
|
|
|
|
+ return row.singleWeight + ' ' + (row.weightUnit || '');
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ width: 120,
|
|
|
|
|
+ prop: 'totalWeight',
|
|
|
|
|
+ label: '总重',
|
|
|
|
|
+ slot: 'totalWeight',
|
|
|
|
|
+ align: 'center',
|
|
|
|
|
+ formatter: (row, column) => {
|
|
|
|
|
+ if (row.totalWeight) {
|
|
|
|
|
+ return row.totalWeight + ' ' + (row.weightUnit || '');
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+
|
|
|
|
|
+ {
|
|
|
|
|
+ width: 140,
|
|
|
|
|
+ prop: 'pricingWay',
|
|
|
|
|
+ label: '计价方式',
|
|
|
|
|
+ align: 'center',
|
|
|
|
|
+ fixed: 'left',
|
|
|
|
|
+ formatter: (row, column) => {
|
|
|
|
|
+ return pricingWayList.find((item) => item.id == row.pricingWay)
|
|
|
|
|
+ ?.name;
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ minWidth: 120,
|
|
|
|
|
+ prop: 'goodsLevel',
|
|
|
|
|
+ label: '物品级别',
|
|
|
|
|
+ formatter: (_row, _column, cellValue) => {
|
|
|
|
|
+ return levelList.find((item) => item.value == _row.goodsLevel)
|
|
|
|
|
+ ?.label;
|
|
|
|
|
+ },
|
|
|
|
|
+ align: 'center'
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ width: 160,
|
|
|
|
|
+ prop: 'singlePrice',
|
|
|
|
|
+ label: '单价',
|
|
|
|
|
+ slot: 'singlePrice',
|
|
|
|
|
+ align: 'center'
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ width: 120,
|
|
|
|
|
+ prop: 'taxRate',
|
|
|
|
|
+ label: '税率',
|
|
|
|
|
+ formatter: (row, column) => {
|
|
|
|
|
+ return row.taxRate && row.taxRate + '%';
|
|
|
|
|
+ },
|
|
|
|
|
+ align: 'center'
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ width: 150,
|
|
|
|
|
+ prop: 'notaxSinglePrice',
|
|
|
|
|
+ label: '不含税单价',
|
|
|
|
|
+ align: 'center'
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ width: 160,
|
|
|
|
|
+ prop: 'quoteWay',
|
|
|
|
|
+ label: '报价方式',
|
|
|
|
|
+ align: 'center',
|
|
|
|
|
+ formatter: (_row, _column, cellValue) => {
|
|
|
|
|
+ return this.quoteTypeOp.find((item) => item.value == _row.quoteWay)
|
|
|
|
|
+ ?.label || '';
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ width: 160,
|
|
|
|
|
+ prop: 'discountRatio',
|
|
|
|
|
+ label: '折后比例',
|
|
|
|
|
+ align: 'center',
|
|
|
|
|
+ formatter: (row) => {
|
|
|
|
|
+ return row.discountRatio ? row.discountRatio + '%' : '';
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ width: 160,
|
|
|
|
|
+ prop: 'discountSinglePrice',
|
|
|
|
|
+ label: '折后单价',
|
|
|
|
|
+ slot: 'discountSinglePrice',
|
|
|
|
|
+ align: 'center'
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ width: 120,
|
|
|
|
|
+ prop: 'totalPrice',
|
|
|
|
|
+ label: '合计',
|
|
|
|
|
+ slot: 'totalPrice',
|
|
|
|
|
+ formatter: (_row, _column, cellValue) => {
|
|
|
|
|
+ return _row.totalPrice + '元';
|
|
|
|
|
+ },
|
|
|
|
|
+ align: 'center'
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ width: 120,
|
|
|
|
|
+ prop: 'discountTotalPrice',
|
|
|
|
|
+ label: '折后合计',
|
|
|
|
|
+ slot: 'discountTotalPrice',
|
|
|
|
|
+ formatter: (_row, _column, cellValue) => {
|
|
|
|
|
+ return _row.discountTotalPrice + '元';
|
|
|
|
|
+ },
|
|
|
|
|
+ align: 'center'
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ width: 110,
|
|
|
|
|
+ prop: 'batchNo',
|
|
|
|
|
+ label: '批次号',
|
|
|
|
|
+ slot: 'batchNo',
|
|
|
|
|
+ align: 'center'
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ prop: 'provenance',
|
|
|
|
|
+ label: '产地',
|
|
|
|
|
+ slot: 'provenance',
|
|
|
|
|
+ align: 'center',
|
|
|
|
|
+ minWidth: 200,
|
|
|
|
|
+ showOverflowTooltip: true,
|
|
|
|
|
+ formatter: (row, column) => {
|
|
|
|
|
+ return row.provenance && row.provenance.length
|
|
|
|
|
+ ? row.provenance
|
|
|
|
|
+ .map((item) => this.getDictValue('产地', item))
|
|
|
|
|
+ .join(',')
|
|
|
|
|
+ : '';
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ minWidth: 120,
|
|
|
|
|
+ prop: 'modelKey',
|
|
|
|
|
+ label: '机型',
|
|
|
|
|
+ showOverflowTooltip: true,
|
|
|
|
|
+ align: 'center'
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ minWidth: 120,
|
|
|
|
|
+ prop: 'colorKey',
|
|
|
|
|
+ showOverflowTooltip: true,
|
|
|
|
|
+ label: '颜色',
|
|
|
|
|
+ align: 'center'
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ width: 160,
|
|
|
|
|
+ prop: 'deliveryDeadline',
|
|
|
|
|
+ label: '交期截止日期',
|
|
|
|
|
+ slot: 'deliveryDeadline',
|
|
|
|
|
+ align: 'center'
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ width: 200,
|
|
|
|
|
+ prop: 'guaranteePeriod',
|
|
|
|
|
+ label: '有效期',
|
|
|
|
|
+ slot: 'guaranteePeriod',
|
|
|
|
|
+ formatter: (_row, _column, cellValue) => {
|
|
|
|
|
+ return (
|
|
|
|
|
+ (_row.guaranteePeriod || '') + _row.guaranteePeriodUnitName
|
|
|
|
|
+ );
|
|
|
|
|
+ },
|
|
|
|
|
+ align: 'center'
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ width: 160,
|
|
|
|
|
+ prop: 'guaranteePeriodDeadline',
|
|
|
|
|
+ label: '有效期截止日期',
|
|
|
|
|
+ slot: 'guaranteePeriodDeadline',
|
|
|
|
|
+ align: 'center'
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ width: 120,
|
|
|
|
|
+ prop: 'technicalAnswerName',
|
|
|
|
|
+ label: '技术答疑人',
|
|
|
|
|
+ slot: 'technicalAnswerName',
|
|
|
|
|
+ align: 'center'
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ width: 220,
|
|
|
|
|
+ prop: 'technicalParams',
|
|
|
|
|
+ label: '技术参数',
|
|
|
|
|
+ slot: 'technicalParams',
|
|
|
|
|
+ align: 'center'
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ width: 240,
|
|
|
|
|
+ prop: 'technicalDrawings',
|
|
|
|
|
+ label: '技术图纸',
|
|
|
|
|
+ slot: 'technicalDrawings',
|
|
|
|
|
+ formatter: (_row, _column, cellValue) => {
|
|
|
|
|
+ return (
|
|
|
|
|
+ (_row.guaranteePeriod || '') + _row.guaranteePeriodUnitName
|
|
|
|
|
+ );
|
|
|
|
|
+ },
|
|
|
|
|
+ align: 'center'
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ width: 220,
|
|
|
|
|
+ prop: 'remark',
|
|
|
|
|
+ label: '备注',
|
|
|
|
|
+ slot: 'remark',
|
|
|
|
|
+ align: 'center'
|
|
|
|
|
+ }
|
|
|
|
|
+ ],
|
|
|
};
|
|
};
|
|
|
},
|
|
},
|
|
|
created() {
|
|
created() {
|
|
@@ -211,8 +689,8 @@
|
|
|
// console.log('data~~~~', reduce(data.originalList, (total, item) => total + item.amount, 0));
|
|
// console.log('data~~~~', reduce(data.originalList, (total, item) => total + item.amount, 0));
|
|
|
const tempdata = {
|
|
const tempdata = {
|
|
|
// ...data,
|
|
// ...data,
|
|
|
- totalPrice: reduce(data.originalList, (total, item) => total + item.totalPrice, 0),
|
|
|
|
|
- discountTotalPrice: reduce(data.originalList, (total, item) => total + item.discountTotalPrice, 0),
|
|
|
|
|
|
|
+ totalPrice: reduce(data.originalList, (total, item) => total + +item.totalPrice, 0),
|
|
|
|
|
+ discountTotalPrice: reduce(data.originalList, (total, item) => total + +item.discountTotalPrice, 0),
|
|
|
productList: data.originalList
|
|
productList: data.originalList
|
|
|
}
|
|
}
|
|
|
this.businessId = data.id;
|
|
this.businessId = data.id;
|