This commit is contained in:
liushuai
2019-06-13 15:15:29 +08:00
parent 53efe87a0d
commit a884db8082
3 changed files with 322 additions and 65 deletions

View File

@@ -69,7 +69,7 @@ export function getExport(num) {
name: `select 机床流水号,机床图号,组件流水号,组号,车间生产管理工艺_零件工艺计划.工艺计划流水号,车间生产管理工艺_零件工艺计划.零件图号_零件工艺计划,车间生产管理工艺_零件工序_视图.零件名称,待加工工序顺序,车间生产管理工艺_零件工序.工序流水号,车间生产管理工艺_零件工序.工艺编号,车间生产管理工艺_基础表_工艺名称.工艺名称,批次数量,材料
from ( select 工艺计划流水号,min(工序顺序) as 待加工工序顺序
from 车间生产管理工艺_零件工序_视图
where 完成日期_短 is null and 考核状态 = 6
where 完成日期_短 is null and 考核状态 = 6 or 考核状态 = 7
group by 工艺计划流水号) as 当前加工工序表
inner join 车间生产管理工艺_零件工艺计划 on 当前加工工序表.工艺计划流水号 = 车间生产管理工艺_零件工艺计划.工艺计划流水号
inner join 车间生产管理工艺_零件工序 on 当前加工工序表.工艺计划流水号 = 车间生产管理工艺_零件工序.工艺计划流水号 and 当前加工工序表.待加工工序顺序 = 车间生产管理工艺_零件工序.工序顺序

View File

@@ -47,3 +47,15 @@ export function searchtable2(machineValue, type) {
}
})
}
export function searchtable5(num1, num2, num3, num4, num5, num6, num7, num8, num9, num10, num11, num12, pageCurrent, pageSize) {
return request({
url: '',
method: 'post',
data: {
type: '1',
name: '项目计划管理_项目总计划_查询数据',
param: `项目流水号_check=` + num1 + '&项目流水号=' + num2 + '&机床流水号_check=' + num3 + '&机床流水号=' + num4 + '&客户名称_check=' + num5 + '&客户名称=' + num6 + '&签订日期_check=' + num7 + '&签订日期开始时间=' + num8 + '&签订日期结束时间=' + num9 + '&交货期_check=' + num10 + '&交货期开始时间=' + num11 + '&交货期结束时间=' + num12,
Pagination: pageCurrent + '&' + pageSize
}
})
}

View File

@@ -2,62 +2,181 @@
<div class="app-container bold-font">
<el-card>
<div slot="header">
<h3 style="display: inline-block;margin: 0">项目名称:</h3>
<el-select v-model="projectValue" placeholder="请选择项目名称" filterable size="small" @change="searchMachine">
<el-option
v-for="item in project"
:key="item.value"
:label="item.label"
:value="item.value"/>
</el-select>
<h3 style="display: inline-block;margin: 0 0 0 20px">机床图号:</h3>
<el-select v-model="machineValue" placeholder="请选择机床图号" filterable size="small">
<el-option
v-for="item in machine"
:key="item.value"
:label="item.label"
:value="item.value"/>
</el-select>
<!--<span>签订日期:</span>-->
<!--<el-date-picker-->
<!--v-model="startTime"-->
<!--value-format="yyyy-MM-dd"-->
<!--size="small"-->
<!--style="width: 160px"-->
<!--type="date"-->
<!--placeholder="选择日期"/>-->
<!--<span class="demonstration">~</span>-->
<!--<el-date-picker-->
<!--v-model="endTime"-->
<!--value-format="yyyy-MM-dd"-->
<!--size="small"-->
<!--style="width: 160px"-->
<!--type="date"-->
<!--placeholder="选择日期"/>-->
<!--<span>交货期:</span>-->
<!--<el-date-picker-->
<!--v-model="startTime1"-->
<!--value-format="yyyy-MM-dd"-->
<!--size="small"-->
<!--style="width: 160px"-->
<!--type="date"-->
<!--placeholder="选择日期"/>-->
<!--<span class="demonstration">~</span>-->
<!--<el-date-picker-->
<!--v-model="endTime1"-->
<!--value-format="yyyy-MM-dd"-->
<!--size="small"-->
<!--style="width: 160px"-->
<!--type="date"-->
<!--placeholder="选择日期"/>-->
<span>提前</span>
<el-input-number v-model="warningValue" :min="1" controls-position="right" size="small" style="width: 90px"/>
<span>天预警</span>
<el-button icon="el-icon-search" type="success" size="small" style="margin-left: 20px" @click="searchTable()">查询</el-button>
<el-row>
<h3 style="display: inline-block;margin: 0">项目名称:</h3>
<el-select v-model="projectValue" filterable clearable size="small" style="margin-top:10px;width: 220px" placeholder="项目名称" @change="typeChange()">
<el-option
v-for="item in project"
:key="item.value"
:label="item.label"
:value="item.value"/>
</el-select>
<h3 style="display: inline-block;margin: 0 0 0 20px">机床名称:</h3>
<el-select v-model="machineValue" clearable filterable size="small" style="margin-bottom:10px;width: 220px" placeholder="机床名称">
<el-option
v-for="item in machine"
:key="item.value"
:label="item.label"
:value="item.value"/>
</el-select>
<h3 style="display: inline-block;margin: 0 0 0 20px">客户名称:</h3>
<el-input v-model="CustomerNameValue" placeholder="客户名称" size="small" clearable style="width:200px"/>
</el-row>
<el-row>
<h3 style="display: inline-block;margin: 0">签订日期:</h3>
<el-date-picker v-model="time_SignStart" size="small" value-format="yyyy-MM-dd" type="date" style="margin-top:10px;width: 180px" placeholder="签订日期" class="time"/> ~
<el-date-picker v-model="time_SignFinish" size="small" value-format="yyyy-MM-dd" type="date" style="margin-top:10px;width: 180px" placeholder="签订日期" class="time"/>
<h3 style="display: inline-block;margin: 0 0 0 20px">交货期:</h3>
<el-date-picker v-model="time_deliveryStart" size="small" value-format="yyyy-MM-dd" type="date" style="margin-top:10px;width: 180px" placeholder="交货期" class="time"/> ~
<el-date-picker v-model="time_deliveryFinish" size="small" value-format="yyyy-MM-dd" type="date" style="margin-top:10px;width: 180px" placeholder="交货期" class="time"/>
<span>提前</span>
<el-input-number v-model="warningValue" :min="1" controls-position="right" size="small" style="width: 90px"/>
<span>天预警</span>
<el-button size="small" icon="el-icon-search" type="success" style="margin-left: 10px" @click="pageSize=10; pageCurrent=1;searchTable1()">查询</el-button>
</el-row>
</div>
<h1 class="word" style="margin: 0">总计划:</h1>
<el-table v-loading="loading" :data="tableData10" height="550" highlight-current-row style="width: 100%;" border element-loading-text="拼命加载中" @row-click="searchTable">
<el-table-column label="项目编号" align="center" width="140px" fixed="left">
<template slot-scope="scope">
<template v-if="scope.row.edit">
<el-input v-model="scope.row.项目编号" size="mini"/>
</template>
<template v-else>
{{ scope.row.项目编号 }}
</template>
</template>
</el-table-column>
<el-table-column label="项目名称" align="center" width="120px" fixed="left">
<template slot-scope="scope">
{{ scope.row.项目名称 }}
</template>
</el-table-column>
<el-table-column label="机床图号" align="center" width="140px" fixed="left">
<template slot-scope="scope">
{{ scope.row.机床图号 }}
</template>
</el-table-column>
<el-table-column label="机床名称" align="center" width="280px" fixed="left">
<template slot-scope="scope">
{{ scope.row.机床名称 }}
</template>
</el-table-column>
<el-table-column label="机床数量" align="center" width="100px">
<template slot-scope="scope">
{{ scope.row.机床数量 }}
</template>
</el-table-column>
<el-table-column label="签订日期" align="center" width="120px">
<template slot-scope="scope">
{{ scope.row.合同签订日期 }}
</template>
</el-table-column>
<el-table-column label="交货期" align="center" width="120px">
<template slot-scope="scope">
{{ scope.row.发货节点 }}
</template>
</el-table-column>
<el-table-column label="设备预验节点" align="center" width="150px">
<template slot-scope="scope">
{{ scope.row.设备预验收节点 }}
</template>
</el-table-column>
<el-table-column label="安装调试节点" align="center" width="150px">
<template slot-scope="scope">
{{ scope.row.安装调试节点 }}
</template>
</el-table-column>
<el-table-column label="设计者" align="center" width="90px">
<template slot-scope="scope">
<div>{{ scope.row.机床设计者 }}</div>
</template>
</el-table-column>
<el-table-column label="审图(计划开始)" align="center" width="170px">
<template slot-scope="scope">
<div>{{ scope.row.审图计划开始时间 }}</div>
</template>
</el-table-column>
<el-table-column label="审图(计划完成)" align="center" width="170px">
<template slot-scope="scope">
<div>{{ scope.row.审图计划完成时间 }}</div>
</template>
</el-table-column>
<el-table-column label="审图(实际完成)" align="center" width="170px">
<template slot-scope="scope">
<div>{{ scope.row.审图实际完成时间 }}</div>
</template>
</el-table-column>
<el-table-column label="发图(计划)" align="center" width="150px">
<template slot-scope="scope">
<div>{{ scope.row.机床设计完成时间 }}</div>
</template>
</el-table-column>
<el-table-column label="发图(实际)" align="center" width="150px">
<template slot-scope="scope">
<div>{{ scope.row.机床设计实际完成时间 }}</div>
</template>
</el-table-column>
<el-table-column label="采购(计划)" align="center" width="150px">
<template slot-scope="scope">
<div>{{ scope.row.采购完成时间 }}</div>
</template>
</el-table-column>
<el-table-column label="采购(实际)" align="center" width="150px">
<template slot-scope="scope">
<div>{{ scope.row.采购实际完成时间 }}</div>
</template>
</el-table-column>
<el-table-column label="备料(计划)" align="center" width="150px">
<template slot-scope="scope">
<div>{{ scope.row.备料完成时间 }}</div>
</template>
</el-table-column>
<el-table-column label="备料(实际)" align="center" width="150px">
<template slot-scope="scope">
<div>{{ scope.row.备料实际完成时间 }}</div>
</template>
</el-table-column>
<el-table-column label="制造(计划)" align="center" width="150px">
<template slot-scope="scope">
<div>{{ scope.row.机床生产完成时间 }}</div>
</template>
</el-table-column>
<el-table-column label="制造(实际)" align="center" width="150px">
<template slot-scope="scope">
<div>{{ scope.row.机床生产实际完成时间 }}</div>
</template>
</el-table-column>
<el-table-column label="装配(计划)" align="center" width="150px">
<template slot-scope="scope">
<div>{{ scope.row.机床装配完成时间 }}</div>
</template>
</el-table-column>
<el-table-column label="装配(实际)" align="center" width="150px">
<template slot-scope="scope">
<div>{{ scope.row.机床装配实际完成时间 }}</div>
</template>
</el-table-column>
<el-table-column label="更新" align="center" width="90px">
<template slot-scope="scope">
<div>{{ scope.row.更新 }}</div>
</template>
</el-table-column>
</el-table>
<div class="block">
<el-pagination
v-if="!loading"
:current-page="pageCurrent"
:page-sizes="[10, 20, 30, 40, 100]"
:page-size="pageSize"
:total="total"
layout="total, sizes, prev, pager, next, jumper"
@size-change="handleSizeChange"
@current-change="handleCurrentChange"/>
</div>
<sticky :z-index="10" style="height: 180px">
<div>
<h1 class="word" style="margin: 0">总计划</h1>
<h1 class="word" style="margin: 0">当前总计划</h1>
<el-table v-loading="loading" :data="tableData" height="120px" border element-loading-text="拼命加载中">
<el-table-column label="项目名称" align="center" min-width="120px" fixed="left">
<template slot-scope="scope">
@@ -387,18 +506,28 @@
</template>
<script>
import { initProject, initMachine, searchtable, searchtable2 } from '@/api/ManufacturingCenter/ProjectPlanningQuery'
import { initProject, initMachine, searchtable, searchtable2, searchtable5 } from '@/api/ManufacturingCenter/ProjectPlanningQuery'
import Sticky from '@/components/Sticky'
export default {
components: { Sticky },
data() {
return {
projectValue: '',
projectValue1: '',
project: [],
machineValue: '',
machineValue1: '',
machine: [],
time_SignStart: '', // 签订开始
time_SignFinish: '', // 签订结束
time_deliveryStart: '', // 交货开始
time_deliveryFinish: '', // 交货结束
CustomerNameValue: '',
CustomerName: [], // 客户名称
loading: false,
loading1: false,
pageSize: 10,
pageCurrent: 1,
now: '',
arrival: [],
judge: [],
@@ -411,6 +540,7 @@ export default {
arrival4: [],
judge4: [],
warningValue: '',
tableData10: [], // 表格数据
tableData: [], // 表格数据
tableData1: [], // 表格数据
tableData2: [], // 表格数据
@@ -421,6 +551,7 @@ export default {
},
created() {
this.fetchData()
this.searchTable1()
},
methods: {
colorJudge(time1, time2) {
@@ -448,7 +579,7 @@ export default {
fetchData() {
this.getSelect(initProject, ['项目名称', '项目流水号'], 'project')
},
searchMachine() {
typeChange() {
this.machineValue = ''
this.machine = []
initMachine(this.projectValue).then(response => {
@@ -461,9 +592,113 @@ export default {
})
},
// 查询表格数据
searchTable() {
if (this.projectValue !== '') {
if (this.machineValue !== '') {
searchTable1() {
this.loading = true
this.tableData10 = []
if (this.projectValue !== '' && this.projectValue !== null) { this.projectValuecheck = 1 } else { this.projectValuecheck = 0 }
if (this.CustomerNameValue !== '' && this.CustomerNameValue !== null) { this.CustomerNameValuecheck = 1 } else { this.CustomerNameValuecheck = 0 }
if (this.machineValue !== '' && this.machineValue !== null) { this.machineValuecheck = 1 } else { this.machineValuecheck = 0 }
if (this.time_SignStart !== '' && this.time_SignStart !== null && this.time_SignFinish !== '' && this.time_SignFinish) { this.time_Signcheck = 1 } else { this.time_Signcheck = 0 }
if (this.time_deliveryStart !== '' && this.time_deliveryStart !== null && this.time_deliveryFinish !== '' && this.time_deliveryFinish) { this.time_deliverycheck = 1 } else { this.time_deliverycheck = 0 }
searchtable5(this.projectValuecheck, this.projectValue, this.machineValuecheck, this.machineValue, this.CustomerNameValuecheck, this.CustomerNameValue, this.time_Signcheck, this.time_SignStart, this.time_SignFinish, this.time_deliverycheck, this.time_deliveryStart, this.time_deliveryFinish, this.pageCurrent, this.pageSize).then(response => {
if (response.data.total === 0) {
this.loading = false
} else {
for (let i = 0; i < response.data.rows.length; i++) {
if (response.data.rows[i].合同签订日期 !== '' && response.data.rows[i].合同签订日期 !== null) {
response.data.rows[i].合同签订日期 = response.data.rows[i].合同签订日期.split(' ')[0]
}
if (response.data.rows[i].发货节点 !== '' && response.data.rows[i].发货节点 !== null) {
response.data.rows[i].发货节点 = response.data.rows[i].发货节点.split(' ')[0]
}
if (response.data.rows[i].设备预验收节点 !== '' && response.data.rows[i].设备预验收节点 !== null) {
response.data.rows[i].设备预验收节点 = response.data.rows[i].设备预验收节点.split(' ')[0]
}
if (response.data.rows[i].安装调试节点 !== '' && response.data.rows[i].安装调试节点 !== null) {
response.data.rows[i].安装调试节点 = response.data.rows[i].安装调试节点.split(' ')[0]
}
if (response.data.rows[i].机床设计完成时间 !== '' && response.data.rows[i].机床设计完成时间 !== null) {
response.data.rows[i].机床设计完成时间 = response.data.rows[i].机床设计完成时间.split(' ')[0]
}
if (response.data.rows[i].采购完成时间 !== '' && response.data.rows[i].采购完成时间 !== null) {
response.data.rows[i].采购完成时间 = response.data.rows[i].采购完成时间.split(' ')[0]
}
if (response.data.rows[i].备料完成时间 !== '' && response.data.rows[i].备料完成时间 !== null) {
response.data.rows[i].备料完成时间 = response.data.rows[i].备料完成时间.split(' ')[0]
}
if (response.data.rows[i].机床生产完成时间 !== '' && response.data.rows[i].机床生产完成时间 !== null) {
response.data.rows[i].机床生产完成时间 = response.data.rows[i].机床生产完成时间.split(' ')[0]
}
if (response.data.rows[i].机床装配完成时间 !== '' && response.data.rows[i].机床装配完成时间 !== null) {
response.data.rows[i].机床装配完成时间 = response.data.rows[i].机床装配完成时间.split(' ')[0]
}
if (response.data.rows[i].机床设计实际完成时间 !== '' && response.data.rows[i].机床设计实际完成时间 !== null) {
response.data.rows[i].机床设计实际完成时间 = response.data.rows[i].机床设计实际完成时间.split(' ')[0]
}
if (response.data.rows[i].采购实际完成时间 !== '' && response.data.rows[i].采购实际完成时间 !== null) {
response.data.rows[i].采购实际完成时间 = response.data.rows[i].采购实际完成时间.split(' ')[0]
}
if (response.data.rows[i].备料实际完成时间 !== '' && response.data.rows[i].备料实际完成时间 !== null) {
response.data.rows[i].备料实际完成时间 = response.data.rows[i].备料实际完成时间.split(' ')[0]
}
if (response.data.rows[i].机床生产实际完成时间 !== '' && response.data.rows[i].机床生产实际完成时间 !== null) {
response.data.rows[i].机床生产实际完成时间 = response.data.rows[i].机床生产实际完成时间.split(' ')[0]
}
if (response.data.rows[i].机床装配实际完成时间 !== '' && response.data.rows[i].机床装配实际完成时间 !== null) {
response.data.rows[i].机床装配实际完成时间 = response.data.rows[i].机床装配实际完成时间.split(' ')[0]
}
if (response.data.rows[i].审图计划开始时间 !== '' && response.data.rows[i].审图计划开始时间 !== null) {
response.data.rows[i].审图计划开始时间 = response.data.rows[i].审图计划开始时间.split(' ')[0]
}
if (response.data.rows[i].审图计划完成时间 !== '' && response.data.rows[i].审图计划完成时间 !== null) {
response.data.rows[i].审图计划完成时间 = response.data.rows[i].审图计划完成时间.split(' ')[0]
}
if (response.data.rows[i].审图实际完成时间 !== '' && response.data.rows[i].审图实际完成时间 !== null) {
response.data.rows[i].审图实际完成时间 = response.data.rows[i].审图实际完成时间.split(' ')[0]
}
this.tableData10.push({
项目编号: response.data.rows[i].项目编号,
项目名称: response.data.rows[i].项目名称,
机床图号: response.data.rows[i].机床图号,
机床名称: response.data.rows[i].机床名称,
机床数量: response.data.rows[i].机床数量,
合同签订日期: response.data.rows[i].合同签订日期,
发货节点: response.data.rows[i].发货节点,
设备预验收节点: response.data.rows[i].设备预验收节点,
安装调试节点: response.data.rows[i].安装调试节点,
客户名称: response.data.rows[i].客户名称,
机床设计者: response.data.rows[i].机床设计者,
机床设计完成时间: response.data.rows[i].机床设计完成时间,
采购完成时间: response.data.rows[i].采购完成时间,
备料完成时间: response.data.rows[i].备料完成时间,
机床生产完成时间: response.data.rows[i].机床生产完成时间,
机床装配完成时间: response.data.rows[i].机床装配完成时间,
机床设计实际完成时间: response.data.rows[i].机床设计实际完成时间,
采购实际完成时间: response.data.rows[i].采购实际完成时间,
备料实际完成时间: response.data.rows[i].备料实际完成时间,
机床生产实际完成时间: response.data.rows[i].机床生产实际完成时间,
机床装配实际完成时间: response.data.rows[i].机床装配实际完成时间,
审图计划开始时间: response.data.rows[i].审图计划开始时间,
审图计划完成时间: response.data.rows[i].审图计划完成时间,
审图实际完成时间: response.data.rows[i].审图实际完成时间,
完成顺序: response.data.rows[i].完成顺序,
更新: response.data.rows[i].更新,
项目流水号: response.data.rows[i].项目流水号,
机床流水号: response.data.rows[i].机床流水号
})
}
this.total = response.data.total
}
}).then(() => {
this.loading = false
})
},
// 查询表格数据
searchTable(row) {
this.projectValue1 = row.项目流水号
this.machineValue1 = row.机床流水号
if (this.projectValue1 !== '') {
if (this.machineValue1 !== '') {
this.loading = true
this.tableData = []
this.tableData1 = []
@@ -472,7 +707,7 @@ export default {
this.tableData4 = []
this.tableData5 = []
this.now = new Date()
searchtable(this.projectValue, this.machineValue).then(response => {
searchtable(this.projectValue1, this.machineValue1).then(response => {
for (let i = 0; i < response.data.length; i++) {
if (response.data[i].合同签订日期 !== '' && response.data[i].合同签订日期 !== null) {
response.data[i].合同签订日期 = response.data[i].合同签订日期.split(' ')[0]
@@ -531,7 +766,7 @@ export default {
console.log(response.data, 222222)
this.tableData = response.data
}).then(() => {
searchtable2(this.machineValue, 1).then(response => {
searchtable2(this.machineValue1, 1).then(response => {
for (let i = 0; i < response.data.length; i++) {
// this.arrival.push(new Date(response.data[i].计划完成时间))
// if ((this.arrival[i] - this.now) > 0 && (this.arrival[i] - this.now) < (86400000 * this.warningValue)) {
@@ -555,7 +790,7 @@ export default {
console.log(response.data, 2)
this.tableData1 = response.data
})
searchtable2(this.machineValue, 2).then(response => {
searchtable2(this.machineValue1, 2).then(response => {
for (let i = 0; i < response.data.length; i++) {
// this.arrival1.push(new Date(response.data[i].计划完成时间))
// if ((this.arrival1[i] - this.now) > 0 && (this.arrival1[i] - this.now) < (86400000 * this.warningValue)) {
@@ -583,7 +818,7 @@ export default {
this.tableData2 = response.data
console.log(response.data, 2222)
})
searchtable2(this.machineValue, 3).then(response => {
searchtable2(this.machineValue1, 3).then(response => {
for (let i = 0; i < response.data.length; i++) {
// this.arrival2.push(new Date(response.data[i].计划完成时间))
// if ((this.arrival2[i] - this.now) > 0 && (this.arrival2[i] - this.now) < (86400000 * this.warningValue)) {
@@ -610,7 +845,7 @@ export default {
console.log(response.data, 4)
this.tableData3 = response.data
})
searchtable2(this.machineValue, 4).then(response => {
searchtable2(this.machineValue1, 4).then(response => {
for (let i = 0; i < response.data.length; i++) {
// this.arrival3.push(new Date(response.data[i].计划完成时间))
// if ((this.arrival3[i] - this.now) > 0 && (this.arrival3[i] - this.now) < (86400000 * this.warningValue)) {
@@ -637,7 +872,7 @@ export default {
console.log(response.data, 5)
this.tableData4 = response.data
})
searchtable2(this.machineValue, 5).then(response => {
searchtable2(this.machineValue1, 5).then(response => {
console.log(response.data)
for (let i = 0; i < response.data.length; i++) {
// this.arrival4.push(new Date(response.data[i].计划完成时间))
@@ -672,6 +907,16 @@ export default {
} else {
this.$message.warning('请选择项目')
}
},
// 分页
handleSizeChange(val) {
this.pageCurrent = 1
this.pageSize = val
this.searchTable1()
},
handleCurrentChange(val) {
this.pageCurrent = val
this.searchTable1()
}
}
}