This commit is contained in:
Vergil
2020-03-24 17:54:18 +08:00
9 changed files with 547 additions and 185 deletions

View File

@@ -0,0 +1,46 @@
import request from '@/utils/request'
import state from '@/store'
import router from '@/router'
// 初始化采购员
export function initBuyer() {
return request({
url: '',
method: 'post',
data: {
UserID: state.state.user.id,
ModularID: router.currentRoute.path,
type: '1',
name: '人事档案管理_人员与角色_查询数据_采购员'
}
})
}
// 采购合同查询
export function searchTable1(radio, check1, supplier, check2, start, end, check3, name, pageCurrent, pageSize) {
return request({
url: '',
method: 'post',
data: {
UserID: state.state.user.id,
ModularID: router.currentRoute.path,
type: '1',
name: '采购管理_合同审批查询_查询数据',
param: '查询全部=' + radio + '&供应商名称_check=' + check1 + '&供应商名称=' + supplier + '&时间段_check=' + check2 + '&开始时间=' + start + '&结束时间=' + end + '&人员编号_check=' + check3 + '&人员编号=' + name,
Pagination: pageCurrent + '&' + pageSize
}
})
}
// 采购合同明细查询
export function searchTable2(num) {
return request({
url: '',
method: 'post',
data: {
UserID: state.state.user.id,
ModularID: router.currentRoute.path,
type: '1',
name: '采购管理_采购合同内容_查询数据',
param: '采购合同流水号=' + num
}
})
}

View File

@@ -0,0 +1,59 @@
import request from '@/utils/request'
import state from '@/store'
import router from '@/router'
// 初始化采购员
export function initBuyer() {
return request({
url: '',
method: 'post',
data: {
UserID: state.state.user.id,
ModularID: router.currentRoute.path,
type: '1',
name: '人事档案管理_人员与角色_查询数据_采购员'
}
})
}
// 采购合同查询
export function searchTable1(radio, check1, supplier, check2, start, end, check3, name, pageCurrent, pageSize) {
return request({
url: '',
method: 'post',
data: {
UserID: state.state.user.id,
ModularID: router.currentRoute.path,
type: '1',
name: '采购管理_情况审批查询_查询数据',
param: '查询全部=' + radio + '&供应商流水号_check=' + check1 + '&供应商流水号=' + supplier + '&时间段_check=' + check2 + '&开始时间=' + start + '&结束时间=' + end + '&人员编号_check=' + check3 + '&人员编号=' + name,
Pagination: pageCurrent + '&' + pageSize
}
})
}
// 查询离线合同请款信息明细
export function searchTable2(num) {
return request({
url: '',
method: 'post',
data: {
UserID: state.state.user.id,
ModularID: router.currentRoute.path,
type: '1',
name: '采购管理_采购合同_请款明细_查询数据',
param: `采购合同请款流水号=${num}`
}
})
}
// 查询供应商
export function searchSupplier() {
return request({
url: '',
method: 'post',
data: {
UserID: state.state.user.id,
ModularID: router.currentRoute.path,
type: '1',
name: '采购管理_供应商_查询数据_根据条件'
}
})
}

View File

@@ -9,7 +9,7 @@
:label="item.label" :label="item.label"
:value="item.value"/> :value="item.value"/>
</el-select> </el-select>
<span style="margin-left: 0">提交时间:</span> <span style="margin-left: 0">审核时间:</span>
<el-date-picker <el-date-picker
v-model="dateRange" v-model="dateRange"
size="small" size="small"
@@ -59,16 +59,16 @@
{{ scope.row.操作时间 ? scope.row.操作时间.split(' ')[0] : '' }} {{ scope.row.操作时间 ? scope.row.操作时间.split(' ')[0] : '' }}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="审核人" align="center" min-width="60">
<template slot-scope="scope">
{{ scope.row.审核人姓名 }}
</template>
</el-table-column>
<el-table-column label="审核时间" align="center" min-width="60"> <el-table-column label="审核时间" align="center" min-width="60">
<template slot-scope="scope"> <template slot-scope="scope">
{{ scope.row.审核时间 ? scope.row.审核时间.split(' ')[0] : '' }} {{ scope.row.审核时间 ? scope.row.审核时间.split(' ')[0] : '' }}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="审核人" align="center" min-width="60">
<template slot-scope="scope">
{{ scope.row.姓名 }}
</template>
</el-table-column>
<el-table-column label="审核结果" align="center" min-width="60"> <el-table-column label="审核结果" align="center" min-width="60">
<template slot-scope="scope"> <template slot-scope="scope">
{{ scope.row.审核情况内容 }} {{ scope.row.审核情况内容 }}
@@ -76,7 +76,7 @@
</el-table-column> </el-table-column>
<el-table-column label="操作" align="center" width="90px" fixed="right"> <el-table-column label="操作" align="center" width="90px" fixed="right">
<template slot-scope="scope"> <template slot-scope="scope">
<el-tooltip :open-delay="1000" effect="dark" content="物料移出采购计划" placement="top"> <el-tooltip :open-delay="1000" effect="dark" content="查看详情" placement="top">
<div style="display: inline-block"> <div style="display: inline-block">
<el-button type="text" size="mini" @click="searchTable2(scope.row)">详情</el-button> <el-button type="text" size="mini" @click="searchTable2(scope.row)">详情</el-button>
</div> </div>
@@ -97,7 +97,7 @@
</div> </div>
</el-card> </el-card>
<el-dialog v-el-drag-dialog :visible.sync="dialogFormVisible" title="合同审通知" center style="min-height: 300px;" width="370px"> <el-dialog v-el-drag-dialog :visible.sync="dialogFormVisible" title="合同审通知" center style="min-height: 300px;" width="900px">
<div style="min-height:500px;margin: 0px auto;width:800px;border:1px solid black" v-html="returns"/> <div style="min-height:500px;margin: 0px auto;width:800px;border:1px solid black" v-html="returns"/>
</el-dialog> </el-dialog>
</div> </div>

View File

@@ -1,236 +1,203 @@
<template> <template>
<div class="app-container"> <div class="app-container">
<el-card> <el-card>
<el-select v-model="projectValue" filterable clearable size="small" style="margin-right:10px;width: 150px" placeholder="项目名称" @change="typeChange"> <el-input v-model="billNames" clearable filterable size="small" placeholder="供应商或合同编号" style="width: 200px;margin: 5px"/>
<el-select v-model="personValue" placeholder="采购员" size="small" style="width: 120px" clearable>
<el-option <el-option
v-for="item in project" v-for="item in person"
:key="item.value" :key="item.value"
:label="item.label" :label="item.label"
:value="item.value"/> :value="item.value"/>
</el-select> </el-select>
<el-select v-model="machineValue" clearable filterable size="small" style="margin-right:10px;width: 150px" placeholder="机床名称"> <span style="margin-left: 0">审批时间:</span>
<el-option <el-date-picker
v-for="item in machine" v-model="dateRange"
:key="item.value" size="small"
:label="item.label" type="daterange"
:value="item.value"/> align="center"
</el-select> style="width: 300px"
<el-button size="small" type="primary" icon="el-icon-search" style="margin: 0 0 0 10px" plain @click="searchTable()">查询</el-button> value-format="yyyy-MM-dd"
<el-button size="small" type="primary" icon="el-icon-download" style="margin: 0 0 0 10px" plain @click="exportExcel()">导出</el-button> format="yyyy-MM-dd"
range-separator=""
start-placeholder="开始日期"
end-placeholder="结束日期"/>
<el-button type="primary" plain size="small" icon="el-icon-search" style="margin-left: 10px" @click="total1=0;pageCurrent1=1;pageSize1=50;searchTable1()">查询</el-button>
<el-radio v-model="radio" label="1" style="margin: 0 0 0 10px">全部</el-radio>
<el-radio v-model="radio" label="2" style="margin: 0 0 0 10px">通过</el-radio>
<el-radio v-model="radio" label="3" style="margin: 0 0 0 10px">未过</el-radio>
<el-button type="success" size="small" icon="el-icon-download" style="margin-left:10px;margin-top: 3px;margin-right: 20px;float: right" plain @click="exportTable('')">导出</el-button>
</el-card> </el-card>
<el-card> <el-card style="margin-top: 5px">
<el-table v-loading="loading" :data="tableData" highlight-current-row show-summary border style="width: 1510px;" size="mini" height="700"> <el-table v-loading="loading1" :data="tableData1" size="mini" border stripe style="width: 100%" height="600px" highlight-current-row @row-click="searchTable2">
<el-table-column label="跟单号" align="center" width="150"> <el-table-column label="采购合同编号" align="center" min-width="130">
<template slot-scope="scope"> <template slot-scope="scope">
{{ scope.row.跟单 }} {{ scope.row.采购合同编 }}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="工序" align="center" width="50"> <el-table-column label="供应商" align="center" min-width="150">
<template slot-scope="scope"> <template slot-scope="scope">
{{ scope.row.序号 }} {{ scope.row.供应商名称 }}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="工序名" align="center" width="90"> <el-table-column label="采购员" align="center" min-width="60">
<template slot-scope="scope"> <template slot-scope="scope">
{{ scope.row.工序 }} {{ scope.row. }}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="投产数" align="center" width="80"> <el-table-column label="合同金额(元)" align="center" min-width="60">
<template slot-scope="scope"> <template slot-scope="scope">
{{ scope.row.计划数量 }} {{ scope.row.合同总额 }}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="计划准结(分)" align="center" width="110"> <el-table-column label="交货日期" align="center" min-width="60">
<template slot-scope="scope"> <template slot-scope="scope">
{{ scope.row.计划准备工时 }} {{ scope.row.交货日期 }}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="单件定额(分)" align="center" width="110"> <el-table-column label="审核时间" align="center" min-width="60">
<template slot-scope="scope"> <template slot-scope="scope">
{{ scope.row.单件计划工时 }} {{ scope.row.审核时间 ? scope.row.审核时间.split(' ')[0] : '' }}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="计划工时(分)" align="center" prop="计划工时" width="110"> <el-table-column label="审批时间" align="center" min-width="60">
<template slot-scope="scope"> <template slot-scope="scope">
{{ scope.row.计划工时 }} {{ scope.row.审批时间 ? scope.row.审批时间.split(' ')[0] : '' }}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="计划完成" align="center" width="110"> <el-table-column label="审批人" align="center" min-width="60">
<template slot-scope="scope"> <template slot-scope="scope">
{{ scope.row.计划加工日期 }} {{ scope.row.审批人姓名 }}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="加工件数" align="center" width="80"> <el-table-column label="审批结果" align="center" min-width="60">
<template slot-scope="scope"> <template slot-scope="scope">
{{ scope.row.加工数量 }} {{ scope.row.审批情况内容 }}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="准结(分)" align="center" width="110"> <el-table-column label="操作" align="center" width="90px" fixed="right">
<template slot-scope="scope"> <template slot-scope="scope">
{{ scope.row.修补工时 }} <el-tooltip :open-delay="1000" effect="dark" content="查看详情" placement="top">
</template> <div style="display: inline-block">
</el-table-column> <el-button type="text" size="mini" @click="searchTable2(scope.row)">详情</el-button>
<el-table-column label="单件加工工时(分)" align="center" prop="加工工时" width="140"> </div>
<template slot-scope="scope"> </el-tooltip>
{{ scope.row.修补单件工时 }}
</template>
</el-table-column>
<el-table-column label="加工工时(分)" align="center" prop="加工工时" width="110">
<template slot-scope="scope">
{{ scope.row.完成工时 }}
</template>
</el-table-column>
<el-table-column label="扫码工时(分)" align="center" prop="扫码工时" width="110">
<template slot-scope="scope">
{{ scope.row.扫码工时 }}
</template>
</el-table-column>
<el-table-column label="工时比值" align="center" width="100">
<template slot-scope="scope">
{{ scope.row.工时比值 }}
</template>
</el-table-column>
<el-table-column label="加工完成" align="center" width="100">
<template slot-scope="scope">
{{ scope.row.加工完成时间 }}
</template>
</el-table-column>
<el-table-column label="图号及规格" align="center" width="150">
<template slot-scope="scope">
{{ scope.row.图号及规格 }}
</template>
</el-table-column>
<el-table-column label="制品名称" align="center" width="150">
<template slot-scope="scope">
{{ scope.row.制品名称 }}
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
<div class="block"> <div class="block" style="margin-top: 10px;">
<el-pagination <el-pagination
v-if="!loading" :current-page="pageCurrent1"
:current-page="pageCurrent" :page-sizes="[50, 100, 150, 200]"
:page-sizes="[50, 100, 200, 300]" :page-size="pageSize1"
:page-size="pageSize" :total="total1"
:total="total" style="display:inline-block;width:50%"
layout="total, sizes, prev, pager, next, jumper" layout="total, sizes, prev, pager, next, jumper"
@size-change="handleSizeChange" @size-change="handleSizeChange1"
@current-change="handleCurrentChange"/> @current-change="handleCurrentChange1"/>
</div> </div>
</el-card> </el-card>
<el-dialog v-el-drag-dialog :visible.sync="dialogFormVisible" title="合同审批通知" center style="min-height: 300px;" width="370px">
<div style="min-height:500px;margin: 0px auto;width:800px;border:1px solid black" v-html="returns"/>
</el-dialog>
</div> </div>
</template> </template>
<script> <script>
import { initProject, initMachine, searchatabledata } from '@/api/ManufacturingCenter/ContractDetailsInquiry' import { initBuyer, searchTable1, searchTable2 } from '@/api/ManufacturingCenter/ContractApprovalQuery'
export default { export default {
data() { data() {
return { return {
project: [], radio: '1',
projectValue: '', // 项目名称 billNames: '',
machineValue: '', // 机床名称 person: [],
machine: [], personValue: '',
loading: false, dateRange: '',
part: [], // 分組 total1: 0,
partValue: '', pageCurrent1: 1,
specificationValue: '', // 规格型号 pageSize1: 50,
totalProcessingHours: '', // 加工总工时 tableData1: [],
totalPlannedHours: '', // 计划总工时 loading1: false,
tableData: [], // 详情表 dialogFormVisible: false,
total: 0, // 总条数 returns: ''
pageSize: 50, // 每页显示条数
pageCurrent: 1 // 后台获取页
} }
}, },
created() { created() {
this.fetchData() this.fetchData()
this.searchTable1()
}, },
methods: { methods: {
fetchData() { fetchData() {
this.getSelect(initProject, ['项目名称', '项目流水号'], 'project') this.person = []
}, initBuyer().then(response => {
// 查询按钮
typeChange() {
this.machineValue = ''
this.machine = []
initMachine(this.projectValue).then(response => {
for (let i = 0; i < response.data.length; i++) { for (let i = 0; i < response.data.length; i++) {
this.machine.push({ this.person.push({
label: response.data[i].机床图号, label: response.data[i].姓名,
value: response.data[i].机床流水 value: response.data[i].人员编
}) })
} }
}) })
}, },
// 分页查询 searchTable1() {
searchTable() { this.loading1 = true
this.tableData = [] var check1, check2, check3
if (this.machineValue) { this.billNames ? check1 = 1 : check1 = 0
this.loading = true this.dateRange ? check2 = 1 : (check2 = 0, this.dateRange = '')
searchatabledata(this.projectValue, this.machineValue, this.pageCurrent, this.pageSize).then(response => { this.personValue ? check3 = 1 : check3 = 0
this.loading = false searchTable1(this.radio, check1, this.billNames, check2, this.dateRange[0], this.dateRange[1], check3, this.personValue, this.pageCurrent1, this.pageSize1).then(response => {
if (response.data.result.length !== 0) { console.log(response.data)
for (let i = 0; i < response.data.result.length; i++) { this.loading1 = false
this.tableData.push({ this.tableData1 = response.data.rows
跟单号: response.data.result[i].跟单号, this.total1 = response.data.total
序号: response.data.result[i].工序顺序, })
工序名: response.data.result[i].工艺名称,
计划数量: response.data.result[i].批次数量,
计划准备工时: response.data.result[i].准结定额工时,
单件计划工时: response.data.result[i].单件定额工时,
计划工时: response.data.result[i].计划工时,
计划加工日期: response.data.result[i].计划日期.split(' ')[0],
加工数量: response.data.result[i].完成数量,
加工准备工时: response.data.result[i].修补准结工时,
加工工时: response.data.result[i].设备工时,
扫码工时: response.data.result[i].扫码工时,
辅助工时: response.data.result[i].辅助工时,
工时比值: Number(response.data.result[i].计划工时) === 0 ? 0 : Math.round(response.data.result[i].完成工时 / Number(response.data.result[i].计划工时) * 100) / 100.00,
加工日期: response.data.result[i].操作时间,
图号及规格: response.data.result[i].零件图号_零件工艺计划,
修补工时: response.data.result[i].修补工时,
修补单件工时: response.data.result[i].修补单件工时,
完成工时: response.data.result[i].完成工时,
加工完成时间: response.data.result[i].加工完成时间,
制品名称: response.data.result[i].零件名称
})
}
}
this.total = parseInt(response.data.output[0].ItemCount)
})
} else {
this.$message.warning('请选择要查询的机床')
}
}, },
exportExcel() { exportTable() {
if (this.tableData.length === 0) { var check1, check2, check3
this.$message.warning('请查询出要导出的数据') this.billNames ? check1 = 1 : check1 = 0
return this.dateRange ? check2 = 1 : (check2 = 0, this.dateRange = '')
} this.personValue ? check3 = 1 : check3 = 0
var param = [] var param = []
param[0] = ['项目流水号', this.projectValue] param[0] = ['查询全部', this.radio]
param[1] = ['机床流水号', this.machineValue] param[1] = ['供应商名称_check', check1]
param[2] = ['PageCurrent', 1] param[2] = ['供应商名称', this.billNames]
param[3] = ['PageSize', 999999] param[3] = ['时间段_check', check2]
param[4] = ['PageCount', '1111', 'int', '1'] if (check2 === 0) {
param[5] = ['ItemCount', '1111', 'int', '1'] param[4] = ['开始时间', '']
var Data = this.CreateData('2001', '报表_机床工时统计_查询', param) param[5] = ['结束时间', '']
} else {
param[4] = ['开始时间', this.dateRange[0]]
param[5] = ['结束时间', this.dateRange[1]]
}
param[6] = ['人员编号_check', check3]
param[7] = ['人员编号', this.personValue]
var Data = this.CreateData('2001', '报表_采购管理_合同审核查询_查询数据', param)
this.exportExcel_NPOI(Data) this.exportExcel_NPOI(Data)
}, },
// 分页 searchTable2(row) {
handleSizeChange(val) { this.contractValue = parseInt(row.采购合同流水号)
this.pageCurrent = 1 searchTable2(this.contractValue).then(response => {
this.pageSize = val this.returns = response.data[0].合同内容
this.searchTable() this.dialogFormVisible = true
})
}, },
handleCurrentChange(val) { handleSizeChange1(val) {
this.pageCurrent = val this.pageCurrent1 = 1
this.searchTable() this.pageSize1 = val
this.searchTable1()
},
handleCurrentChange1(val) {
this.pageCurrent1 = val
this.searchTable1()
} }
} }
} }
</script> </script>
<style scoped> <style scoped>
</style>
<style>
#table .el-form-item {
margin: 0;
}
</style> </style>

View File

@@ -16,7 +16,7 @@
:label="item.label" :label="item.label"
:value="item.value"/> :value="item.value"/>
</el-select> </el-select>
<span style="margin-left: 0">提交时间:</span> <span style="margin-left: 0">审核时间:</span>
<el-date-picker <el-date-picker
v-model="dateRange" v-model="dateRange"
size="small" size="small"
@@ -51,9 +51,9 @@
{{ scope.row.请款金额 }} {{ scope.row.请款金额 }}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="审核时间" align="center" min-width="60"> <el-table-column label="提交时间" align="center" min-width="60">
<template slot-scope="scope"> <template slot-scope="scope">
{{ scope.row.审核时间 ? scope.row.审核时间.split(' ')[0] : '' }} {{ scope.row.请款时间 ? scope.row.请款时间.split(' ')[0] : '' }}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="审核人" align="center" min-width="60"> <el-table-column label="审核人" align="center" min-width="60">
@@ -61,6 +61,11 @@
{{ scope.row.审核人姓名 }} {{ scope.row.审核人姓名 }}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="审核时间" align="center" min-width="60">
<template slot-scope="scope">
{{ scope.row.审核时间 ? scope.row.审核时间.split(' ')[0] : '' }}
</template>
</el-table-column>
<el-table-column label="审核结果" align="center" min-width="60"> <el-table-column label="审核结果" align="center" min-width="60">
<template slot-scope="scope"> <template slot-scope="scope">
{{ scope.row.审核情况内容 }} {{ scope.row.审核情况内容 }}
@@ -68,7 +73,7 @@
</el-table-column> </el-table-column>
<el-table-column label="操作" align="center" width="90px" fixed="right"> <el-table-column label="操作" align="center" width="90px" fixed="right">
<template slot-scope="scope"> <template slot-scope="scope">
<el-tooltip :open-delay="1000" effect="dark" content="物料移出采购计划" placement="top"> <el-tooltip :open-delay="1000" effect="dark" content="查看详情" placement="top">
<div style="display: inline-block"> <div style="display: inline-block">
<el-button type="text" size="mini" @click="searchTable2(scope.row)">详情</el-button> <el-button type="text" size="mini" @click="searchTable2(scope.row)">详情</el-button>
</div> </div>
@@ -195,8 +200,8 @@ export default {
this.personValue ? check3 = 1 : check3 = 0 this.personValue ? check3 = 1 : check3 = 0
var param = [] var param = []
param[0] = ['查询全部', this.radio] param[0] = ['查询全部', this.radio]
param[1] = ['供应商名称_check', check1] param[1] = ['供应商流水号_check', check1]
param[2] = ['供应商名称', this.supplierValue] param[2] = ['供应商流水号', this.supplierValue]
param[3] = ['时间段_check', check2] param[3] = ['时间段_check', check2]
if (check2 === 0) { if (check2 === 0) {
param[4] = ['开始时间', ''] param[4] = ['开始时间', '']

View File

@@ -0,0 +1,252 @@
<template>
<div class="app-container">
<el-card>
<!-- <el-input v-model="billNames" clearable filterable size="small" placeholder="供应商或合同编号" style="width: 200px;margin: 5px"/>-->
<el-select v-model="supplierValue" placeholder="供应商" filterable size="small" style="margin-left: 5px" clearable @change="totalSum=0;totalPay=0;totalDebt=0;">
<el-option
v-for="item in supplier"
:key="item.value"
:label="item.label"
:value="item.value"/>
</el-select>
<el-select v-model="personValue" placeholder="采购员" size="small" style="width: 120px" clearable>
<el-option
v-for="item in person"
:key="item.value"
:label="item.label"
:value="item.value"/>
</el-select>
<span style="margin-left: 0">审批时间:</span>
<el-date-picker
v-model="dateRange"
size="small"
type="daterange"
align="center"
style="width: 300px"
value-format="yyyy-MM-dd"
format="yyyy-MM-dd"
range-separator=""
start-placeholder="开始日期"
end-placeholder="结束日期"/>
<el-button type="primary" plain size="small" icon="el-icon-search" style="margin-left: 10px" @click="total1=0;pageCurrent1=1;pageSize1=50;searchTable1()">查询</el-button>
<el-radio v-model="radio" label="1" style="margin: 0 0 0 10px">全部</el-radio>
<el-radio v-model="radio" label="2" style="margin: 0 0 0 10px">通过</el-radio>
<el-radio v-model="radio" label="3" style="margin: 0 0 0 10px">未过</el-radio>
<el-button type="success" size="small" icon="el-icon-download" style="margin-left:10px;margin-top: 3px;margin-right: 20px;float: right" plain @click="exportTable('')">导出</el-button>
</el-card>
<el-card style="margin-top: 5px">
<el-table v-loading="loading1" :data="tableData1" size="mini" border stripe style="width: 100%" height="600px" highlight-current-row @row-click="searchTable2">
<el-table-column label="供应商" align="center" min-width="150">
<template slot-scope="scope">
{{ scope.row.供应商名称 }}
</template>
</el-table-column>
<el-table-column label="请款人" align="center" min-width="60">
<template slot-scope="scope">
{{ scope.row.姓名 }}
</template>
</el-table-column>
<el-table-column label="请款金额(元)" align="center" min-width="60">
<template slot-scope="scope">
{{ scope.row.请款金额 }}
</template>
</el-table-column>
<el-table-column label="审批时间" align="center" min-width="60">
<template slot-scope="scope">
{{ scope.row.审批时间 ? scope.row.审批时间.split(' ')[0] : '' }}
</template>
</el-table-column>
<el-table-column label="审批人" align="center" min-width="60">
<template slot-scope="scope">
{{ scope.row.审批人姓名 }}
</template>
</el-table-column>
<el-table-column label="审批结果" align="center" min-width="60">
<template slot-scope="scope">
{{ scope.row.审批情况内容 }}
</template>
</el-table-column>
<el-table-column label="操作" align="center" width="90px" fixed="right">
<template slot-scope="scope">
<el-tooltip :open-delay="1000" effect="dark" content="查看详情" placement="top">
<div style="display: inline-block">
<el-button type="text" size="mini" @click="searchTable2(scope.row)">详情</el-button>
</div>
</el-tooltip>
</template>
</el-table-column>
</el-table>
<div class="block" style="margin-top: 10px;">
<el-pagination
:current-page="pageCurrent1"
:page-sizes="[50, 100, 150, 200]"
:page-size="pageSize1"
:total="total1"
style="display:inline-block;width:50%"
layout="total, sizes, prev, pager, next, jumper"
@size-change="handleSizeChange1"
@current-change="handleCurrentChange1"/>
</div>
</el-card>
<el-dialog v-el-drag-dialog :visible.sync="dialogFormVisible" title="请款信息明细" center width="800px">
<el-table :data="gridData1" border highlight-current-row size="mini">
<el-table-column min-width="150" align="center" label="合同编号">
<template slot-scope="scope">
{{ scope.row.采购合同编号 ? scope.row.采购合同编号 : scope.row.离线合同编号 }}
</template>
</el-table-column>
<el-table-column width="120" align="center" label="到货金额(元)" prop="到货金额">
<template slot-scope="scope">
{{ parseFloat(scope.row.到货金额).toFixed(2) }}
</template>
</el-table-column>
<el-table-column width="120" align="center" label="已付金额(元)" prop="已付金额">
<template slot-scope="scope">
{{ parseFloat(scope.row.已付金额).toFixed(2) }}
</template>
</el-table-column>
<el-table-column width="120" align="center" label="请款金额(元)" prop="请款金额">
<template slot-scope="scope">
{{ parseFloat(scope.row.请款金额).toFixed(2) }}
</template>
</el-table-column>
</el-table>
</el-dialog>
</div>
</template>
<script>
import { initBuyer, searchTable1, searchTable2, searchSupplier } from '@/api/ManufacturingCenter/RequestApprovalQuery'
import { mapGetters } from 'vuex'
export default {
data() {
return {
radio: '1',
billNames: '',
supplier: [],
supplierValue: '',
person: [],
personValue: '',
dateRange: '',
total1: 0,
pageCurrent1: 1,
pageSize1: 50,
tableData1: [],
loading1: false,
dialogFormVisible: false,
gridData1: []
}
},
computed: {
...mapGetters([
'sidebar',
'avatar',
'name',
'id' // 人员编号
])
},
created() {
this.fetchData()
this.searchTable1()
this.searchSupplier()
},
methods: {
searchSupplier() {
this.supplier = []
searchSupplier().then(response => {
for (let i = 0; i < response.data.length; i++) {
this.supplier.push({
label: response.data[i].供应商名称,
value: response.data[i].供应商流水号
})
}
})
},
fetchData() {
this.person = []
initBuyer().then(response => {
for (let i = 0; i < response.data.length; i++) {
this.person.push({
label: response.data[i].姓名,
value: response.data[i].人员编号
})
}
})
},
searchTable1() {
this.loading1 = true
var check1, check2, check3
this.supplierValue ? check1 = 1 : check1 = 0
this.dateRange ? check2 = 1 : (check2 = 0, this.dateRange = '')
this.personValue ? check3 = 1 : check3 = 0
searchTable1(this.radio, check1, this.supplierValue, check2, this.dateRange[0], this.dateRange[1], check3, this.personValue, this.pageCurrent1, this.pageSize1).then(response => {
console.log(response.data)
this.loading1 = false
this.tableData1 = response.data.rows
this.total1 = response.data.total
})
},
exportTable() {
var check1, check2, check3
this.supplierValue ? check1 = 1 : check1 = 0
this.dateRange ? check2 = 1 : (check2 = 0, this.dateRange = '')
this.personValue ? check3 = 1 : check3 = 0
var param = []
param[0] = ['查询全部', this.radio]
param[1] = ['供应商名称_check', check1]
param[2] = ['供应商名称', this.supplierValue]
param[3] = ['时间段_check', check2]
if (check2 === 0) {
param[4] = ['开始时间', '']
param[5] = ['结束时间', '']
} else {
param[4] = ['开始时间', this.dateRange[0]]
param[5] = ['结束时间', this.dateRange[1]]
}
param[6] = ['人员编号_check', check3]
param[7] = ['人员编号', this.personValue]
var Data = this.CreateData('2001', '报表_采购管理_情况审核查询_查询数据', param)
this.exportExcel_NPOI(Data)
},
searchTable2(row) {
this.gridData1 = []
searchTable2(row.采购合同请款流水号).then(response => {
this.gridData1 = response.data
this.dialogFormVisible = true
})
},
handleSizeChange1(val) {
this.pageCurrent1 = 1
this.pageSize1 = val
this.searchTable1()
},
handleCurrentChange1(val) {
this.pageCurrent1 = val
this.searchTable1()
}
}
}
</script>
<style scoped>
.el-card{
margin-bottom: 0px;
}
.el-select{
width:200px
}
.el-input{
width:200px
}
span{
margin: 10px 0 10px 10px;
}
.searchForm .el-form-item{
margin-bottom: 5px;
}
.el-tag{
margin: 0
}
</style>

View File

@@ -52,9 +52,9 @@
{{ scope.row.采购合同编号 ? scope.row.采购合同编号 : scope.row.离线合同编号 }} {{ scope.row.采购合同编号 ? scope.row.采购合同编号 : scope.row.离线合同编号 }}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column width="110" align="center" label="合同总额(元)" prop="合同总额"> <el-table-column width="110" align="center" label="合同总额(元)" prop="合同总额">
<template slot-scope="scope"> <template slot-scope="scope">
{{ parseFloat(scope.row.合同总额).toFixed(2) }} {{ parseFloat(scope.row.合同总).toFixed(2) }}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column width="110" align="center" label="到货金额(元)" prop="到货金额"> <el-table-column width="110" align="center" label="到货金额(元)" prop="到货金额">
@@ -231,7 +231,7 @@ export default {
if (index === 0) { if (index === 0) {
sums[index] = '总价' sums[index] = '总价'
return return
} else if (index === 2 || index === 3) { } else if (index === 1 || index === 2 || index === 3 || index === 4) {
const values = data.map(item => Number(item[column.property])) const values = data.map(item => Number(item[column.property]))
if (!values.every(value => isNaN(value))) { if (!values.every(value => isNaN(value))) {
sums[index] = values.reduce((prev, curr) => { sums[index] = values.reduce((prev, curr) => {

View File

@@ -10,7 +10,7 @@
<el-button type="warning" size="small" icon="el-icon-circle-plus-outline" plain style="margin-left:10px" @click="createOrder()">结算申请</el-button> <el-button type="warning" size="small" icon="el-icon-circle-plus-outline" plain style="margin-left:10px" @click="createOrder()">结算申请</el-button>
<el-button :disabled="disabled" type="warning" size="small" icon="el-icon-circle-plus-outline" plain style="margin-left:10px" @click="addInStoreRecord()">追加入库记录</el-button> <el-button :disabled="disabled" type="warning" size="small" icon="el-icon-circle-plus-outline" plain style="margin-left:10px" @click="addInStoreRecord()">追加入库记录</el-button>
</div> </div>
<h4 style="margin-top: 5px;margin-bottom: 0px">票结算申请单</h4> <h4 style="margin-top: 5px;margin-bottom: 0px">票结算申请单</h4>
<el-table id="expandTable" :data="tableData1" border stripe highlight-current-row style="width: 100%;max-height: 350px" size="mini" @row-click="searchTable2"> <el-table id="expandTable" :data="tableData1" border stripe highlight-current-row style="width: 100%;max-height: 350px" size="mini" @row-click="searchTable2">
<!-- <el-table-column type="expand"> <!-- <el-table-column type="expand">
<template slot-scope="scope"> <template slot-scope="scope">

View File

@@ -35,11 +35,12 @@
@click="back">打回</el-button> @click="back">打回</el-button>
</div> </div>
</el-tooltip> </el-tooltip>
<el-button type="success" size="small" icon="el-icon-download" plain style="float: right; margin-right: 130px;" @click="exportExcel">导出</el-button>
</el-row> </el-row>
</div> </div>
</el-card> </el-card>
<el-row> <el-row>
<el-card style="width: 42%; float: left"> <el-card style="width: 50%; float: left">
<el-table <el-table
v-loading="loading1" v-loading="loading1"
id="expandTable" id="expandTable"
@@ -62,7 +63,7 @@
<!-- {{ scope.row.离线合同名称 }}--> <!-- {{ scope.row.离线合同名称 }}-->
<!-- </template>--> <!-- </template>-->
<!-- </el-table-column>--> <!-- </el-table-column>-->
<el-table-column label="离线合同编号" align="center" prop="离线合同编号" min-width="120" sortable="custom" show-overflow-tooltip> <el-table-column label="离线合同编号" align="center" prop="离线合同编号" min-width="130" sortable="custom" show-overflow-tooltip>
<template slot-scope="scope"> <template slot-scope="scope">
{{ scope.row.离线合同编号 }} {{ scope.row.离线合同编号 }}
</template> </template>
@@ -72,12 +73,27 @@
<!-- {{ scope.row.采购员 }}--> <!-- {{ scope.row.采购员 }}-->
<!-- </template>--> <!-- </template>-->
<!-- </el-table-column>--> <!-- </el-table-column>-->
<el-table-column label="总金额(元)" align="center" min-width="90"> <el-table-column label="总金额(元)" align="center" min-width="110">
<template slot-scope="scope"> <template slot-scope="scope">
{{ Number(scope.row.合同总额).toFixed(2) }} {{ Number(scope.row.合同总额).toFixed(2) }}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="创建日期" align="center" min-width="80"> <el-table-column label="到货金额(元)" align="center" min-width="110">
<template slot-scope="scope">
{{ Number(scope.row.到货金额).toFixed(2) }}
</template>
</el-table-column>
<el-table-column label="已付金额(元)" align="center" min-width="110">
<template slot-scope="scope">
{{ Number(scope.row.已付金额).toFixed(2) }}
</template>
</el-table-column>
<el-table-column label="未付金额(元)" align="center" min-width="110">
<template slot-scope="scope">
{{ (Number(scope.row.合同总额) - Number(scope.row.已付金额)).toFixed(2) }}
</template>
</el-table-column>
<el-table-column label="创建日期" align="center" min-width="90">
<template slot-scope="scope"> <template slot-scope="scope">
{{ scope.row.创建日期.split(' ')[0] }} {{ scope.row.创建日期.split(' ')[0] }}
</template> </template>
@@ -95,9 +111,9 @@
@current-change="handleCurrentChange1"/> @current-change="handleCurrentChange1"/>
</div> </div>
</el-card> </el-card>
<el-card style="width: 58%"> <el-card style="width: 50%">
<!-- <div id="offlineContract" style="background-color:white;min-height:500px;margin: 0 auto;width: 800px;border:1px solid black">--> <!-- <div id="offlineContract" style="background-color:white;min-height:500px;margin: 0 auto;width: 800px;border:1px solid black">-->
<table v-show="contractDetail.length > 0" class="offlineContract" cellspacing="0px" align="center" border="1 solid black" width="700px"> <table v-show="contractDetail.length > 0" class="offlineContract" cellspacing="0px" align="center" border="1 solid black" width="500px">
<tr> <tr>
<th colspan="14"><h1>离线合同</h1></th> <th colspan="14"><h1>离线合同</h1></th>
</tr> </tr>
@@ -219,6 +235,23 @@ export default {
this.loading1 = false this.loading1 = false
}) })
}, },
exportExcel() { // 离线合同导出
let check1, check2, check3
this.contractNumber ? check1 = 1 : check1 = 0
this.supplierName ? check2 = 1 : check2 = 0
this.dateRange ? check3 = 1 : (check3 = 0, this.dateRange = '')
var param = []
param[0] = ['离线合同编号_check', check1]
param[1] = ['离线合同编号', this.contractNumber]
param[2] = ['供应商名称_check', check2]
param[3] = ['供应商名称', this.supplierName]
param[4] = ['时间_check', check3]
param[5] = ['开始时间', this.dateRange[0]]
param[6] = ['结束时间', this.dateRange[1]]
param[7] = ['是否不包含编辑中', 1]
var Data = this.CreateData('2001', '报表_离线采购合同信息', param)
this.exportExcel_NPOI(Data)
},
// 离线合同列表分页 // 离线合同列表分页
handleSizeChange1(val) { handleSizeChange1(val) {
this.pageSize1 = val this.pageSize1 = val