|
@@ -21,11 +21,19 @@
|
|
|
<a-collapse :activeKey="['1']">
|
|
|
<a-collapse-panel key="1" header="基础信息">
|
|
|
<a-descriptions :column="3">
|
|
|
- <a-descriptions-item label="供应商">{{ (basicInfoData&&basicInfoData.supplierName) || '' }}</a-descriptions-item>
|
|
|
- <a-descriptions-item label="散件入库类型">{{ (basicInfoData&&basicInfoData.sparePartsTypeName) || '' }}</a-descriptions-item>
|
|
|
- <a-descriptions-item label="备注">{{ (basicInfoData&&basicInfoData.remarks) || '' }}</a-descriptions-item>
|
|
|
- <a-descriptions-item label="联系人">{{ (basicInfoData&&basicInfoData.supplierName) || '' }}</a-descriptions-item>
|
|
|
- <a-descriptions-item label="联系地址">{{ (basicInfoData&&basicInfoData.supplierName) || '' }}</a-descriptions-item>
|
|
|
+ <a-descriptions-item label="供应商">{{ (basicInfoData&&basicInfoData.supplierName) || '--' }}</a-descriptions-item>
|
|
|
+ <a-descriptions-item label="散件入库类型">{{ (basicInfoData&&basicInfoData.sparePartsTypeName) || '--' }}</a-descriptions-item>
|
|
|
+ <a-descriptions-item label="备注">{{ (basicInfoData&&basicInfoData.remarks) || '--' }}</a-descriptions-item>
|
|
|
+ <a-descriptions-item label="联系人">
|
|
|
+ {{ (basicInfoData&&basicInfoData.supplierContactPerson) || '--' }}
|
|
|
+ <span v-if="basicInfoData&&basicInfoData.supplierContactTel">({{ basicInfoData.supplierContactTel }})</span>
|
|
|
+ </a-descriptions-item>
|
|
|
+ <a-descriptions-item label="联系地址">
|
|
|
+ {{ (basicInfoData&&basicInfoData.supplierProvinceName) || '' }}
|
|
|
+ {{ (basicInfoData&&basicInfoData.supplierCityName) || '' }}
|
|
|
+ {{ (basicInfoData&&basicInfoData.supplierCountyName) || '' }}
|
|
|
+ {{ (basicInfoData&&basicInfoData.supplierAddress) || '' }}
|
|
|
+ </a-descriptions-item>
|
|
|
</a-descriptions>
|
|
|
</a-collapse-panel>
|
|
|
</a-collapse>
|
|
@@ -36,17 +44,17 @@
|
|
|
<a-collapse-panel key="1" header="产品详情">
|
|
|
<!-- 总计 -->
|
|
|
<a-alert type="info" showIcon style="margin-bottom:15px">
|
|
|
- <div slot="message">产品款数 <strong>6</strong> ,采购数量合计 <strong>6</strong> ,采购金额合计¥<strong>6.33</strong></div>
|
|
|
+ <div slot="message">总款数 <strong>{{ (productTotal&&productTotal.productTotalCategory) || 0 }}</strong> ,总数量 <strong>{{ (productTotal&&productTotal.productTotalQty) || 0 }}</strong> ,总成本¥<strong>{{ (productTotal&&productTotal.productTotalCost) || 0 }}</strong></div>
|
|
|
</a-alert>
|
|
|
<!-- 列表 -->
|
|
|
<s-table
|
|
|
class="sTable"
|
|
|
ref="table"
|
|
|
- size="default"
|
|
|
+ size="small"
|
|
|
:rowKey="(record) => record.id"
|
|
|
:columns="columns"
|
|
|
:data="loadData"
|
|
|
- :scroll="{ x: 1080, y: 300 }"
|
|
|
+ :scroll="{ x: 1280 }"
|
|
|
bordered>
|
|
|
<!-- 采购数量 -->
|
|
|
<template slot="purchaseNum" slot-scope="text, record">
|
|
@@ -82,7 +90,8 @@
|
|
|
|
|
|
<script>
|
|
|
import { STable, VSelect } from '@/components'
|
|
|
-import { sparePartsPurDetail, sparePartsPurDetailList } from '@/api/sparePartsPur'
|
|
|
+import { getOperationalPrecision } from '@/libs/tools.js'
|
|
|
+import { sparePartsPurDetail, sparePartsPurDetailList, sparePartsPurDetailCount } from '@/api/sparePartsPur'
|
|
|
export default {
|
|
|
components: { STable, VSelect },
|
|
|
data () {
|
|
@@ -90,29 +99,32 @@ export default {
|
|
|
// 表头
|
|
|
columns: [
|
|
|
{ title: '序号', dataIndex: 'no', width: 80, align: 'center', fixed: 'left' },
|
|
|
- { title: '产品编码', dataIndex: 'creatDate', width: 200, align: 'center', customRender: function (text) { return text || '--' } },
|
|
|
- { title: '产品名称', dataIndex: 'custName', align: 'center', customRender: function (text) { return text || '--' } },
|
|
|
- { title: '采购单价', dataIndex: 'totalNums', width: 100, align: 'center', customRender: function (text) { return ((text || text == 0) ? text : '--') } },
|
|
|
- { title: '采购数量', dataIndex: 'totaslNums', width: 100, align: 'center' },
|
|
|
- { title: '单位', dataIndex: 'mementPay', width: 100, align: 'center', customRender: function (text) { return text || '--' } },
|
|
|
- { title: '采购金额', dataIndex: 'shDate', width: 100, align: 'center', customRender: function (text) { return ((text || text == 0) ? text : '--') } },
|
|
|
- { title: '仓库', dataIndex: 'shD3ate', width: 100, align: 'center' },
|
|
|
- { title: '仓位', dataIndex: 'shDaste', width: 100, align: 'center' }
|
|
|
+ { title: '产品编码', dataIndex: 'productCode', width: 200, align: 'center', customRender: function (text) { return text || '--' } },
|
|
|
+ { title: '产品名称', dataIndex: 'productName', align: 'center', customRender: function (text) { return text || '--' } },
|
|
|
+ { title: '采购单价', dataIndex: 'putCost', width: 100, align: 'center', customRender: function (text) { return ((text || text == 0) ? text : '--') } },
|
|
|
+ { title: '采购数量', dataIndex: 'putQty', width: 100, align: 'center', customRender: function (text) { return ((text || text == 0) ? text : '--') } },
|
|
|
+ { title: '单位', dataIndex: 'productUnit', width: 100, align: 'center', customRender: function (text) { return text || '--' } },
|
|
|
+ { title: '采购金额', dataIndex: 'purchaseAmount', width: 100, align: 'center', customRender: function (text) { return ((text || text == 0) ? text : '--') } },
|
|
|
+ { title: '仓库', dataIndex: 'warehouseName', width: 200, align: 'center', customRender: function (text) { return text || '--' } },
|
|
|
+ { title: '仓位', dataIndex: 'warehouseLocationName', width: 200, align: 'center', customRender: function (text) { return text || '--' } }
|
|
|
],
|
|
|
// 加载数据方法 必须为 Promise 对象
|
|
|
loadData: parameter => {
|
|
|
this.disabled = true
|
|
|
- return sparePartsPurDetailList(Object.assign(parameter, this.queryParam)).then(res => {
|
|
|
+ return sparePartsPurDetailList(Object.assign(parameter, { sparePartsPurchaseSn: this.$route.params.sn })).then(res => {
|
|
|
const data = res.data
|
|
|
const no = (data.pageNo - 1) * data.pageSize
|
|
|
for (var i = 0; i < data.list.length; i++) {
|
|
|
data.list[i].no = no + i + 1
|
|
|
+ // 采购金额 由于数据库内小数位数为4位,页面则需显示2位。因此会做小数运算精度处理
|
|
|
+ data.list[i].purchaseAmount = getOperationalPrecision(data.list[i].putCost, data.list[i].putQty)
|
|
|
}
|
|
|
this.disabled = false
|
|
|
return data
|
|
|
})
|
|
|
},
|
|
|
- basicInfoData: null // 基本信息
|
|
|
+ basicInfoData: null, // 基本信息
|
|
|
+ productTotal: null // 合计
|
|
|
}
|
|
|
},
|
|
|
methods: {
|
|
@@ -129,12 +141,22 @@ export default {
|
|
|
this.basicInfoData = null
|
|
|
}
|
|
|
})
|
|
|
+ },
|
|
|
+ // 合计
|
|
|
+ getDetailCount () {
|
|
|
+ sparePartsPurDetailCount({ sparePartsPurchaseSn: this.$route.params.sn }).then(res => {
|
|
|
+ if (res.status == 200) {
|
|
|
+ this.productTotal = res.data
|
|
|
+ } else {
|
|
|
+ this.productTotal = null
|
|
|
+ }
|
|
|
+ })
|
|
|
}
|
|
|
},
|
|
|
beforeRouteEnter (to, from, next) {
|
|
|
next(vm => {
|
|
|
- vm.openModal = false
|
|
|
vm.getDetail()
|
|
|
+ vm.getDetailCount()
|
|
|
})
|
|
|
}
|
|
|
}
|