feat: 采购合同历史单价查询及人员管理表单优化
- ProcurementContractAudit: 新增历史单价按钮及弹窗(表格+统计) - OrderInquiry: 新增历史单价按钮及弹窗(表格+统计) - PurchasedPartsSearch: 新增历史单价按钮及弹窗(表格+统计) - PersonnelManagement: 取消出生日期/身份证号/学历/家庭住址/民族的必填验证
This commit is contained in:
@@ -740,16 +740,16 @@ export default {
|
||||
AccountNumber: [{ required: true, message: '请输入', trigger: 'blur' }],
|
||||
Password: [{ required: true, message: '请输入', trigger: 'blur' }],
|
||||
Sex: [{ required: true, message: '请输入', trigger: 'change' }],
|
||||
Birthday: [{ required: true, message: '请输入', trigger: 'change' }],
|
||||
IDcard: [{ required: true, message: '请输入', trigger: 'blur' }],
|
||||
Birthday: [{ required: false, message: '请输入', trigger: 'change' }],
|
||||
IDcard: [{ required: false, message: '请输入', trigger: 'blur' }],
|
||||
TimeOfEntry: [{ required: true, message: '请输入', trigger: 'change' }],
|
||||
ContactInformation: [{ required: true, message: '请输入', trigger: 'blur' }],
|
||||
Address: [{ required: true, message: '请输入', trigger: 'change' }],
|
||||
Nation: [{ required: true, message: '请输入', trigger: 'change' }],
|
||||
Address: [{ required: false, message: '请输入', trigger: 'change' }],
|
||||
Nation: [{ required: false, message: '请输入', trigger: 'change' }],
|
||||
ForeignLanguageLevel: [{ required: true, message: '请输入', trigger: 'change' }],
|
||||
Title: [{ required: true, message: '请输入', trigger: 'change' }],
|
||||
PositionStatus: [{ required: true, message: '请输入', trigger: 'change' }],
|
||||
Education: [{ required: true, message: '请输入', trigger: 'change' }],
|
||||
Education: [{ required: false, message: '请输入', trigger: 'change' }],
|
||||
DepartmentName: [{ required: true, message: '请输入', trigger: 'blur' }]
|
||||
},
|
||||
SexData: [{
|
||||
|
||||
@@ -304,7 +304,7 @@
|
||||
{{ scope.row.订单备注 }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column width="120px" label="操作" align="center" fixed="right">
|
||||
<el-table-column width="180px" label="操作" align="center" fixed="right">
|
||||
<template slot-scope="scope">
|
||||
<el-button type="text" icon="el-icon-edit" size="mini" @click="editProduct(scope.row)">编辑
|
||||
</el-button>
|
||||
@@ -315,6 +315,12 @@
|
||||
size="mini"
|
||||
@click="getNum(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>
|
||||
@@ -525,6 +531,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>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@@ -586,9 +622,21 @@ export default {
|
||||
ProductionPick: [],
|
||||
pageCurrent: 1, // 分页当前页
|
||||
pageSize: 50, // 分页每页显示条数
|
||||
orderName: '', // 排序列名
|
||||
orderName: '',
|
||||
purchaseContractSerialNumber: '',
|
||||
order: '' // 排序方式
|
||||
order: '',
|
||||
historyPriceVisible: false,
|
||||
historySummary: {
|
||||
采购件: '',
|
||||
图号或型号: '',
|
||||
物料编码: '',
|
||||
采购次数: '',
|
||||
平均单价: '',
|
||||
最低单价: '',
|
||||
最高单价: '',
|
||||
最近单价: ''
|
||||
},
|
||||
historyPriceList: []
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
@@ -1238,20 +1286,45 @@ export default {
|
||||
this.searchLeftTable()
|
||||
},
|
||||
getApproverName(approverId) {
|
||||
// 调试:打印people数组和approverId
|
||||
// console.log('people数组:', this.people)
|
||||
// console.log('approverId:', approverId, '类型:', typeof approverId)
|
||||
|
||||
// 尝试类型转换后比较
|
||||
for (let i = 0; i < this.people.length; i++) {
|
||||
// console.log('people[i].value:', this.people[i].value, '类型:', typeof this.people[i].value)
|
||||
if (String(this.people[i].value) === String(approverId)) {
|
||||
// console.log('找到匹配:', this.people[i].label)
|
||||
return this.people[i].label
|
||||
}
|
||||
}
|
||||
// console.log('未找到匹配,返回原始值:', approverId)
|
||||
return approverId
|
||||
},
|
||||
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
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -215,6 +215,16 @@
|
||||
{{ scope.row.采购期限 }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column width="100px" label="操作" align="center" fixed="right">
|
||||
<template slot-scope="scope">
|
||||
<el-button
|
||||
type="text"
|
||||
icon="el-icon-data-line"
|
||||
size="mini"
|
||||
@click="showHistoryPrice(scope.row)">历史单价
|
||||
</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<div class="block" style="margin: 10px 0;">
|
||||
<el-pagination
|
||||
@@ -277,6 +287,36 @@
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
</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>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@@ -318,8 +358,20 @@ export default {
|
||||
tableData: [], // 合同信息表
|
||||
pageCurrent: 1, // 分页当前页
|
||||
pageSize: 30, // 分页每页显示条数
|
||||
orderName: '', // 排序列名
|
||||
order: '' // 排序方式
|
||||
orderName: '',
|
||||
order: '',
|
||||
historyPriceVisible: false,
|
||||
historySummary: {
|
||||
采购件: '',
|
||||
图号或型号: '',
|
||||
物料编码: '',
|
||||
采购次数: '',
|
||||
平均单价: '',
|
||||
最低单价: '',
|
||||
最高单价: '',
|
||||
最近单价: ''
|
||||
},
|
||||
historyPriceList: []
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
@@ -608,6 +660,39 @@ export default {
|
||||
handleCurrentChanges(val) {
|
||||
this.pageCurrent = val
|
||||
this.searchTable()
|
||||
},
|
||||
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
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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 = []
|
||||
|
||||
Reference in New Issue
Block a user