feat: 采购合同历史单价查询及人员管理表单优化

- ProcurementContractAudit: 新增历史单价按钮及弹窗(表格+统计)
- OrderInquiry: 新增历史单价按钮及弹窗(表格+统计)
- PurchasedPartsSearch: 新增历史单价按钮及弹窗(表格+统计)
- PersonnelManagement: 取消出生日期/身份证号/学历/家庭住址/民族的必填验证
This commit is contained in:
Developer
2026-05-22 15:23:25 +08:00
parent fd70670235
commit f6802d9893
4 changed files with 267 additions and 28 deletions

View File

@@ -153,7 +153,7 @@
{{ scope.row.订单备注 }}
</template>
</el-table-column>
<el-table-column width="200px" label="操作" align="center" fixed="right">
<el-table-column width="260px" label="操作" align="center" fixed="right">
<template slot-scope="scope">
<el-button
:disabled="scope.row.图纸 === null"
@@ -169,6 +169,12 @@
size="mini"
@click="updatePrice(scope.row)">更新单价
</el-button>
<el-button
type="text"
icon="el-icon-data-line"
size="mini"
@click="showHistoryPrice(scope.row)">历史单价
</el-button>
</template>
</el-table-column>
</el-table>
@@ -212,6 +218,36 @@
</div>
</div>
</el-dialog>
<el-dialog
v-el-drag-dialog
:visible.sync="historyPriceVisible"
title="历史单价"
center
width="900px">
<el-table :data="historyPriceList" border size="small" style="width: 100%" max-height="400">
<el-table-column type="index" width="50" label="序号" align="center"/>
<el-table-column label="采购合同号" align="center" prop="合同号" show-overflow-tooltip/>
<el-table-column label="采购件" align="center" prop="采购件" show-overflow-tooltip/>
<el-table-column label="采购日期" align="center" prop="采购日期"/>
<el-table-column label="单价(元)" align="center" prop="单价">
<template slot-scope="scope">
{{ scope.row.单价 ? Number(scope.row.单价).toFixed(2) : '' }}
</template>
</el-table-column>
<el-table-column label="供应商" align="center" prop="供应商" show-overflow-tooltip/>
</el-table>
<el-divider/>
<el-table :data="[historySummary]" border size="small" style="width: 100%">
<el-table-column label="当前采购件" align="center" prop="采购件"/>
<el-table-column label="当前图号型号" align="center" prop="图号或型号"/>
<el-table-column label="当前物料编码" align="center" prop="物料编码"/>
<el-table-column label="历史采购次数" align="center" prop="采购次数"/>
<el-table-column label="平均单价" align="center" prop="平均单价"/>
<el-table-column label="最低单价" align="center" prop="最低单价"/>
<el-table-column label="最高单价" align="center" prop="最高单价"/>
<el-table-column label="最近一次采购单价" align="center" prop="最近单价"/>
</el-table>
</el-dialog>
</el-card>
</div>
</template>
@@ -225,15 +261,27 @@ export default {
data() {
return {
hadFile: [],
loading: false, // 数据加载
dialogVisible: false, // 查看图片
dialogFormVisible: false, // 查看图片
urls: [], // 图片数组
total: 0, // 分页总数
tableData: [], // 合同信息表
tableData1: [], // 合同信息表
pageCurrent: 1, // 分页当前页
pageSize: 100 // 分页每页显示条数
loading: false,
dialogVisible: false,
dialogFormVisible: false,
urls: [],
total: 0,
tableData: [],
tableData1: [],
pageCurrent: 1,
pageSize: 100,
historyPriceVisible: false,
historySummary: {
采购件: '',
图号或型号: '',
物料编码: '',
采购次数: '',
平均单价: '',
最低单价: '',
最高单价: '',
最近单价: ''
},
historyPriceList: []
}
},
computed: {
@@ -404,6 +452,39 @@ export default {
}
})
},
showHistoryPrice(row) {
var param = []
param[0] = ['采购合同流水号', row.采购合同流水号]
param[1] = ['物料流水号',row.物料流水号]
var Data = this.CreateData('11', '采购管理_采购合同历史单价_查询', param)
this.ExecDatabase(Data).then(response => {
var list = response.data || []
if (list.length === 0) {
this.$message.warning('暂无历史单价数据')
return
}
this.historySummary = {
采购件: row.采购件 || '',
图号或型号: row.图号或型号 || '',
物料编码: row.物料编码 || '',
采购次数: list.length,
平均单价: '',
最低单价: '',
最高单价: '',
最近单价: ''
}
var prices = list.map(item => Number(item.单价)).filter(v => !isNaN(v))
if (prices.length > 0) {
var sum = prices.reduce(function(a, b) { return a + b }, 0)
this.historySummary.平均单价 = (sum / prices.length).toFixed(2)
this.historySummary.最低单价 = Math.min.apply(null, prices).toFixed(2)
this.historySummary.最高单价 = Math.max.apply(null, prices).toFixed(2)
this.historySummary.最近单价 = prices[prices.length - 1].toFixed(2)
}
this.historyPriceList = list
this.historyPriceVisible = true
})
},
getSummaries(param) {
const { columns, data } = param
const sums = []