|
@@ -1,9 +1,4 @@
|
|
<template>
|
|
<template>
|
|
- <!-- <el-dialog
|
|
|
|
- title="查看"
|
|
|
|
- width="70%"
|
|
|
|
- :close-on-click-modal="false"
|
|
|
|
- :visible.sync="visible"> -->
|
|
|
|
<div>
|
|
<div>
|
|
<div class="my-title">查看</div>
|
|
<div class="my-title">查看</div>
|
|
<div style="margin-left: 20px;margin-right: 20px">
|
|
<div style="margin-left: 20px;margin-right: 20px">
|
|
@@ -29,22 +24,19 @@
|
|
<approve-component ref="approve" @approveFinished="approveFinished"/>
|
|
<approve-component ref="approve" @approveFinished="approveFinished"/>
|
|
</div>
|
|
</div>
|
|
<e-desc title="基本信息" column="3">
|
|
<e-desc title="基本信息" column="3">
|
|
- <e-desc-item label="采购编码">{{dataForm.purchaseCode}}</e-desc-item>
|
|
|
|
|
|
+ <e-desc-item label="采购编码">{{dataForm.procurementCode}}</e-desc-item>
|
|
<e-desc-item label="付款方式" span="2">
|
|
<e-desc-item label="付款方式" span="2">
|
|
<el-checkbox-group v-model="idsPayType">
|
|
<el-checkbox-group v-model="idsPayType">
|
|
<el-checkbox disabled class="my-cb" v-for="(item,i) in optionsPayType" :label="item.code" :key="item.code"><span>{{item.value}}</span></el-checkbox>
|
|
<el-checkbox disabled class="my-cb" v-for="(item,i) in optionsPayType" :label="item.code" :key="item.code"><span>{{item.value}}</span></el-checkbox>
|
|
</el-checkbox-group>
|
|
</el-checkbox-group>
|
|
</e-desc-item>
|
|
</e-desc-item>
|
|
|
|
|
|
- <e-desc-item label="采购类别">{{dataForm.purchaseTypeDesc}}</e-desc-item>
|
|
|
|
- <e-desc-item label="申请人">{{dataForm.applierName}}</e-desc-item>
|
|
|
|
- <e-desc-item label="申请部门">{{dataForm.deptName}}</e-desc-item>
|
|
|
|
-
|
|
|
|
- <e-desc-item label="备注说明" span="3">{{dataForm.notes}}</e-desc-item>
|
|
|
|
|
|
+ <e-desc-item label="申请人">{{dataForm.applier}}</e-desc-item>
|
|
|
|
+ <e-desc-item label="申请部门" span="2">{{dataForm.orgName}}</e-desc-item>
|
|
</e-desc>
|
|
</e-desc>
|
|
<e-desc title="采购物品明细">
|
|
<e-desc title="采购物品明细">
|
|
<el-table
|
|
<el-table
|
|
- :data="materialDetails"
|
|
|
|
|
|
+ :data="dataForm.purchaseDetails"
|
|
border
|
|
border
|
|
style="width: 100%;">
|
|
style="width: 100%;">
|
|
<el-table-column
|
|
<el-table-column
|
|
@@ -59,10 +51,11 @@
|
|
v-if="false">
|
|
v-if="false">
|
|
</el-table-column>
|
|
</el-table-column>
|
|
<el-table-column
|
|
<el-table-column
|
|
- prop="name"
|
|
|
|
|
|
+ prop="materialName"
|
|
header-align="center"
|
|
header-align="center"
|
|
align="center"
|
|
align="center"
|
|
min-width="120"
|
|
min-width="120"
|
|
|
|
+ :show-tooltip-when-overflow="true"
|
|
label="物品名称">
|
|
label="物品名称">
|
|
</el-table-column>
|
|
</el-table-column>
|
|
<el-table-column
|
|
<el-table-column
|
|
@@ -70,64 +63,59 @@
|
|
header-align="center"
|
|
header-align="center"
|
|
align="center"
|
|
align="center"
|
|
min-width="120"
|
|
min-width="120"
|
|
|
|
+ :show-tooltip-when-overflow="true"
|
|
label="型号及规格">
|
|
label="型号及规格">
|
|
</el-table-column>
|
|
</el-table-column>
|
|
<el-table-column
|
|
<el-table-column
|
|
- prop="cnt"
|
|
|
|
- header-align="center"
|
|
|
|
- align="center"
|
|
|
|
- label="数量">
|
|
|
|
- </el-table-column>
|
|
|
|
- <el-table-column
|
|
|
|
- prop="unitName"
|
|
|
|
|
|
+ prop="purchaseType"
|
|
header-align="center"
|
|
header-align="center"
|
|
align="center"
|
|
align="center"
|
|
- label="单位">
|
|
|
|
|
|
+ :formatter="formatType"
|
|
|
|
+ label="采购类别">
|
|
</el-table-column>
|
|
</el-table-column>
|
|
<el-table-column
|
|
<el-table-column
|
|
- prop="price"
|
|
|
|
|
|
+ prop="cnt"
|
|
header-align="center"
|
|
header-align="center"
|
|
align="center"
|
|
align="center"
|
|
- label="不含税单价">
|
|
|
|
|
|
+ label="数量">
|
|
</el-table-column>
|
|
</el-table-column>
|
|
<el-table-column
|
|
<el-table-column
|
|
- prop="taxPrice"
|
|
|
|
|
|
+ prop="unitName"
|
|
header-align="center"
|
|
header-align="center"
|
|
align="center"
|
|
align="center"
|
|
- label="含税单价">
|
|
|
|
|
|
+ label="单位">
|
|
</el-table-column>
|
|
</el-table-column>
|
|
<el-table-column
|
|
<el-table-column
|
|
- prop="taxAmount"
|
|
|
|
|
|
+ prop="deadline"
|
|
header-align="center"
|
|
header-align="center"
|
|
align="center"
|
|
align="center"
|
|
- label="含税总价">
|
|
|
|
|
|
+ min-width="160"
|
|
|
|
+ :show-tooltip-when-overflow="true"
|
|
|
|
+ label="采购期限">
|
|
</el-table-column>
|
|
</el-table-column>
|
|
<el-table-column
|
|
<el-table-column
|
|
- prop="taxRate"
|
|
|
|
|
|
+ prop="batchNumber"
|
|
header-align="center"
|
|
header-align="center"
|
|
align="center"
|
|
align="center"
|
|
- label="税率">
|
|
|
|
- <template slot-scope="scope">
|
|
|
|
- <span>{{scope.row.taxRate?(Number(scope.row.taxRate * 100)).toFixed(0):''}}</span>%
|
|
|
|
- </template>
|
|
|
|
|
|
+ min-width="140"
|
|
|
|
+ :show-tooltip-when-overflow="true"
|
|
|
|
+ label="批次号/用途">
|
|
</el-table-column>
|
|
</el-table-column>
|
|
<el-table-column
|
|
<el-table-column
|
|
prop="notes"
|
|
prop="notes"
|
|
header-align="center"
|
|
header-align="center"
|
|
align="center"
|
|
align="center"
|
|
|
|
+ min-width="160"
|
|
|
|
+ :show-tooltip-when-overflow="true"
|
|
label="备注">
|
|
label="备注">
|
|
</el-table-column>
|
|
</el-table-column>
|
|
</el-table>
|
|
</el-table>
|
|
</e-desc>
|
|
</e-desc>
|
|
- <e-desc>
|
|
|
|
- <e-desc-item label="合计(含税)" span="3"><span style="margin-left: 20px">{{totalAmount}}</span></e-desc-item>
|
|
|
|
- </e-desc>
|
|
|
|
</div>
|
|
</div>
|
|
<span slot="footer" class="dialog-footer">
|
|
<span slot="footer" class="dialog-footer">
|
|
<el-button @click="onChose">返回</el-button>
|
|
<el-button @click="onChose">返回</el-button>
|
|
</span>
|
|
</span>
|
|
</div>
|
|
</div>
|
|
- <!-- </el-dialog> -->
|
|
|
|
</template>
|
|
</template>
|
|
|
|
|
|
<script>
|
|
<script>
|
|
@@ -136,6 +124,7 @@
|
|
import { dealStepData, dealStepLogs } from '@/api/util'
|
|
import { dealStepData, dealStepLogs } from '@/api/util'
|
|
import { getPurchaseDetail } from '@/api/sale'
|
|
import { getPurchaseDetail } from '@/api/sale'
|
|
import ApproveComponent from '../common/approve-component'
|
|
import ApproveComponent from '../common/approve-component'
|
|
|
|
+ import { getDictList } from '@/api/dict'
|
|
export default {
|
|
export default {
|
|
name: 'purchase-detail',
|
|
name: 'purchase-detail',
|
|
components: {
|
|
components: {
|
|
@@ -147,11 +136,11 @@
|
|
isFlow: false,
|
|
isFlow: false,
|
|
id: 0,
|
|
id: 0,
|
|
dataForm: {},
|
|
dataForm: {},
|
|
- materialDetails: [],
|
|
|
|
|
|
+
|
|
stepList: [],
|
|
stepList: [],
|
|
logList: [],
|
|
logList: [],
|
|
- totalAmount: 0,
|
|
|
|
idsPayType: [],
|
|
idsPayType: [],
|
|
|
|
+ optionsType: [],
|
|
optionsPayType: [
|
|
optionsPayType: [
|
|
{
|
|
{
|
|
code: '0', value: '对公转账'
|
|
code: '0', value: '对公转账'
|
|
@@ -169,15 +158,23 @@
|
|
onChose () {
|
|
onChose () {
|
|
this.$emit('onChose')
|
|
this.$emit('onChose')
|
|
},
|
|
},
|
|
|
|
+ // 获取采购类别字典
|
|
|
|
+ getTypeList () {
|
|
|
|
+ getDictList({type: 'purchase_type'}).then(({data}) => {
|
|
|
|
+ if (data) {
|
|
|
|
+ this.optionsType = data
|
|
|
|
+ }
|
|
|
|
+ })
|
|
|
|
+ },
|
|
async init (id, businessType) {
|
|
async init (id, businessType) {
|
|
this.visible = true
|
|
this.visible = true
|
|
this.isFlow = !!(businessType && businessType !== '')
|
|
this.isFlow = !!(businessType && businessType !== '')
|
|
this.id = id || 0
|
|
this.id = id || 0
|
|
this.dataForm = {}
|
|
this.dataForm = {}
|
|
- this.materialDetails = []
|
|
|
|
this.stepList = []
|
|
this.stepList = []
|
|
this.logList = []
|
|
this.logList = []
|
|
this.idsPayType = []
|
|
this.idsPayType = []
|
|
|
|
+ this.getTypeList()
|
|
this.getDetails(businessType)
|
|
this.getDetails(businessType)
|
|
},
|
|
},
|
|
getDetails (businessType) {
|
|
getDetails (businessType) {
|
|
@@ -191,25 +188,11 @@
|
|
if (data.data.payType) {
|
|
if (data.data.payType) {
|
|
this.idsPayType.push(data.data.payType)
|
|
this.idsPayType.push(data.data.payType)
|
|
}
|
|
}
|
|
- // 获取采购物品明细
|
|
|
|
- if (data.data.details) {
|
|
|
|
- this.materialDetails = data.data.details
|
|
|
|
- this.calTotal()
|
|
|
|
- }
|
|
|
|
// 初始化审批Form
|
|
// 初始化审批Form
|
|
this.showApproveForm(businessType, this.id)
|
|
this.showApproveForm(businessType, this.id)
|
|
}
|
|
}
|
|
})
|
|
})
|
|
},
|
|
},
|
|
- calTotal () {
|
|
|
|
- let total = 0
|
|
|
|
- if (this.materialDetails) {
|
|
|
|
- this.materialDetails.forEach((item) => {
|
|
|
|
- total += item.taxAmount ? Number(item.taxAmount) : 0
|
|
|
|
- })
|
|
|
|
- }
|
|
|
|
- this.totalAmount = Number(total).toFixed(2)
|
|
|
|
- },
|
|
|
|
// 百分比
|
|
// 百分比
|
|
formatPercent (row) {
|
|
formatPercent (row) {
|
|
if (!row.taxRate) return ''
|
|
if (!row.taxRate) return ''
|
|
@@ -229,6 +212,12 @@
|
|
approveFinished () {
|
|
approveFinished () {
|
|
this.onChose()
|
|
this.onChose()
|
|
this.$emit('approveFinished')
|
|
this.$emit('approveFinished')
|
|
|
|
+ },
|
|
|
|
+ // 采购类型
|
|
|
|
+ formatType (row) {
|
|
|
|
+ if (!row.purchaseType || !this.optionsType) return ''
|
|
|
|
+ const item1 = this.optionsType.find((item) => item.code === row.purchaseType.toString())
|
|
|
|
+ return item1 ? item1.value : ''
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|