项目计划查询

This commit is contained in:
Vergil
2020-03-12 16:40:13 +08:00
parent b1a9b26591
commit 36cb7761ca
3 changed files with 625 additions and 0 deletions

View File

@@ -0,0 +1,157 @@
import request from '@/utils/request'
import state from '@/store'
import router from '@/router'
// 项目
export function getProject() {
return request({
url: '',
method: 'post',
data: {
UserID: state.state.user.id,
ModularID: router.currentRoute.path,
type: '1',
name: 'PDM_项目名称_查询数据_总计划'
}
})
}
// 机床
export function getToolNum(check, num) {
return request({
url: '',
method: 'post',
data: {
UserID: state.state.user.id,
ModularID: router.currentRoute.path,
type: '1',
name: 'PDM_机床名称_查询数据',
param: '项目流水号_check=' + check + '=int&项目流水号=' + num
}
})
}
// 组件查询
export function searchgroup(num) {
return request({
url: '',
method: 'post',
data: {
UserID: state.state.user.id,
ModularID: router.currentRoute.path,
type: '1',
name: 'PDM_组件名称_查询数据',
param: '机床流水号=' + num
}
})
}
// 组件名称查询
export function searchgroupName(num) {
return request({
url: '',
method: 'post',
data: {
UserID: state.state.user.id,
ModularID: router.currentRoute.path,
type: '1',
name: 'PDM_组件名称_查询数据_查询名称',
param: '组件流水号=' + num
}
})
}
// 客户名称
export function getCustomerName() {
return request({
url: '',
method: 'post',
data: {
UserID: state.state.user.id,
ModularID: router.currentRoute.path,
type: '1',
name: '客户关系管理系统_初始化查询_客户名称'
}
})
}
// 查询表1
export function searchtable(num1, num2, num3, num4, num5, num6, num7, num8, num9, num10, num11, num12, pageCurrent, pageSize) {
return request({
url: '',
method: 'post',
data: {
UserID: state.state.user.id,
ModularID: router.currentRoute.path,
type: '1',
name: '项目计划管理_项目总计划_查询数据',
param: `项目流水号_check=` + num1 + '&项目流水号=' + num2 + '&机床流水号_check=' + num3 + '&机床流水号=' + num4 + '&客户名称_check=' + num5 + '&客户名称=' + num6 + '&签订日期_check=' + num7 + '&签订日期开始时间=' + num8 + '&签订日期结束时间=' + num9 + '&交货期_check=' + num10 + '&交货期开始时间=' + num11 + '&交货期结束时间=' + num12,
Pagination: pageCurrent + '&' + pageSize
}
})
}
// 编辑表1
export function editTable(num1, num2, num3, num5, num13, num14, num15, num6, num7, num8, num9, num10, num11, num12) {
return request({
url: '',
method: 'post',
data: {
UserID: state.state.user.id,
ModularID: router.currentRoute.path,
type: '2',
name: '项目计划管理_项目总计划_编辑数据',
param: `项目流水号=` + num1 + '&机床流水号=' + num2 + '&项目编号=' + num3 + '&设计者=' + num5 + '&审图计划开始时间=' + num13 + '&审图计划完成时间=' + num14 + '&审图实际完成时间=' + num15 + '&机床设计完成时间=' + num6 + '&采购完成时间=' + num7 + '&备料完成时间=' + num8 + '&机床生产完成时间=' + num9 + '&机床装配完成时间=' + num10 + '&完成顺序=' + num11 + '&更新=' + num12
}
})
}
// 查询表2
export function searchTable2(num1) {
return request({
url: '',
method: 'post',
data: {
UserID: state.state.user.id,
ModularID: router.currentRoute.path,
type: '1',
name: '项目计划管理_项目计划查询_查询项目详细_查询数据',
param: `机床流水号=` + num1
}
})
}
// 编辑表2
export function editTable2(num1, num2, num3, num4, num5, num6, num7, num8, num9, num10) {
return request({
url: '',
method: 'post',
data: {
UserID: state.state.user.id,
ModularID: router.currentRoute.path,
type: '2',
name: '项目计划管理_项目详细计划_编辑数据',
param: `组件计划流水号=` + num1 + '&组件流水号=' + num2 + '&任务名称=' + num3 + '&负责人=' + num4 + '&接收任务时间=' + num5 + '&任务开始时间=' + num6 + '&计划完成时间=' + num7 + '&货期=' + num8 + '&实际完成时间=' + num9 + '&备注=' + num10
}
})
}
// 删除表2
export function Delete(num1) {
return request({
url: '',
method: 'post',
data: {
UserID: state.state.user.id,
ModularID: router.currentRoute.path,
type: '2',
name: '项目计划管理_项目详细计划_删除数据',
param: `组件计划流水号=` + num1
}
})
}
// 新增表2
export function addTable(num1, num2) {
return request({
url: '',
method: 'post',
data: {
UserID: state.state.user.id,
ModularID: router.currentRoute.path,
type: '2',
name: '项目计划管理_项目详细计划_增加数据',
param: `机床流水号=` + num1 + '&计划类型=' + num2
}
})
}

View File

@@ -0,0 +1,465 @@
<template>
<div class="app-container bold-font">
<el-card>
<el-row>
<el-select v-model="projectValue" filterable clearable size="small" style="margin-top:10px;width: 200px" placeholder="项目名称" @change="typeChange()">
<el-option
v-for="item in project"
:key="item.value"
:label="item.label"
:value="item.value"/>
</el-select>
<el-select v-model="toolNumValue" clearable filterable size="small" style="margin-bottom:10px;width: 200px" placeholder="机床名称">
<el-option
v-for="item in toolNum"
:key="item.value"
:label="item.label"
:value="item.value"/>
</el-select>
<el-input v-model="CustomerNameValue" placeholder="客户名称" size="small" clearable style="width:200px"/>
<h3 style="display: inline-block;margin: 0 0 0 10px">签订日期:</h3>
<el-date-picker
v-model="Sign"
size="small"
type="daterange"
align="center"
style="width: 240px;margin: 3px 0"
value-format="yyyy-MM-dd"
format="yyyy-MM-dd"
range-separator=""
start-placeholder="开始日期"
end-placeholder="结束日期"/>
<h3 style="display: inline-block;margin: 0 0 0 10px">交货期:</h3>
<el-date-picker
v-model="delivery"
size="small"
type="daterange"
align="center"
style="width: 240px;margin: 3px 0"
value-format="yyyy-MM-dd"
format="yyyy-MM-dd"
range-separator=""
start-placeholder="开始日期"
end-placeholder="结束日期"/>
<el-button size="small" icon="el-icon-search" type="primary" plain style="margin-left: 10px" @click="pageSize=10; pageCurrent=1;searchTable()">查询</el-button>
</el-row>
</el-card>
<el-card style="overflow: auto">
<el-col style="width: 1400px;">
<el-table v-loading="loading" :data="tableData" height="330" highlight-current-row style="margin-top: 5px;width: 100%;" border element-loading-text="拼命加载中" @row-click="rowClick">
<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" min-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="125px">
<template slot-scope="scope">
{{ scope.row.合同签订日期 !== '1900-01-01' ? scope.row.合同签订日期 : '' }}
</template>
</el-table-column>
<el-table-column label="交货期" align="center" width="125px">
<template slot-scope="scope">
{{ scope.row.发货节点 !== '1900-01-01' ? scope.row.发货节点 : '' }}
</template>
</el-table-column>
<el-table-column label="设备预验节点" align="center" width="125px">
<template slot-scope="scope">
{{ scope.row.设备预验收节点 !== '1900/1/1' ? scope.row.设备预验收节点 : '' }}
</template>
</el-table-column>
<el-table-column label="安装调试节点" align="center" width="125px">
<template slot-scope="scope">
{{ scope.row.安装调试节点 !== '1900/1/1' ? scope.row.安装调试节点 : '' }}
</template>
</el-table-column>
<el-table-column v-if="false" label="操作" width="150px" align="center">
<template slot-scope="scope">
<el-button v-if="scope.row.edit" type="success" size="small" @click="confirmEdit(scope.row)">确定</el-button>
<el-button v-else type="primary" size="small" @click="scope.row.edit=!scope.row.edit">编辑</el-button>
<el-button v-if="scope.row.edit" type="primary" size="small" @click="scope.row.edit=!scope.row.edit">取消</el-button>
</template>
</el-table-column>
</el-table>
<div class="block" style="margin-top: 15px;">
<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>
</el-col>
<el-col style="width: 240px;">
<div style="width: 80px;font-size: 18px;float: left;text-align: center;">进程</div>
<div style="width: 80px;font-size: 18px;float: left;text-align: center;">计划时间</div>
<div style="width: 80px;font-size: 18px;float: left;text-align: center;">实际时间</div>
<el-form label-position="right" label-width="85px" class="demo-ruleForm1">
<el-row>
<el-col style="width: 270px">
<el-form-item label="审图开始">
<el-col style="width: 80px;">
{{ 审图开始 }}
</el-col>
<el-col style="width: 80px;">
-
</el-col>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col style="width: 270px">
<el-form-item label="审图结束">
<el-col style="width: 80px;">
{{ 审图结束 }}
</el-col>
<el-col style="width: 80px;">
{{ 审图实际完成时间 }}
</el-col>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col style="width: 270px">
<el-form-item label="发图完成">
<el-col style="width: 80px;">
{{ 发图完成 }}
</el-col>
<el-col style="width: 80px;">
{{ 机床设计实际完成时间 }}
</el-col>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col style="width: 270px">
<el-form-item label="采购完成">
<el-col style="width: 80px;">
{{ 采购完成 }}
</el-col>
<el-col style="width: 80px;">
{{ 采购实际完成时间 }}
</el-col>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col style="width: 270px">
<el-form-item label="备料完成">
<el-col style="width: 80px;">
{{ 备料完成 }}
</el-col>
<el-col style="width: 80px;">
{{ 备料实际完成时间 }}
</el-col>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col style="width: 270px">
<el-form-item label="制造完成">
<el-col style="width: 80px;">
{{ 制造完成 }}
</el-col>
<el-col style="width: 80px;">
{{ 机床生产实际完成时间 }}
</el-col>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col style="width: 270px">
<el-form-item label="装配完成">
<el-col style="width: 80px;">
{{ 装配完成 }}
</el-col>
<el-col style="width: 80px;">
{{ 机床装配实际完成时间 }}
</el-col>
</el-form-item>
</el-col>
</el-row>
</el-form>
</el-col>
</el-card>
<el-card>
<el-table v-loading="loading2" :data="tableData2" style="margin-top: 10px;width: 100%;" stripe border element-loading-text="拼命加载中">
<el-table-column width="100px" label="计划名称" align="center">
<template slot-scope="scope">
{{ scope.row.计划名称 }}
</template>
</el-table-column>
<el-table-column width="150px" label="组号" align="center">
<template slot-scope="scope">
{{ scope.row.组号 }}
</template>
</el-table-column>
<el-table-column min-width="200px" label="任务名称" align="center">
<template slot-scope="scope">
{{ scope.row.任务名称 }}
</template>
</el-table-column>
<el-table-column width="120px" label="负责人" align="center">
<template slot-scope="scope">
{{ scope.row.负责人 }}
</template>
</el-table-column>
<el-table-column label="任务开始时间" align="center" width="150px">
<template slot-scope="scope">
{{ scope.row.任务开始时间 ? scope.row.任务开始时间.split(' ')[0] : '-' }}
</template>
</el-table-column>
<el-table-column label="计划完成" align="center" width="150px">
<template slot-scope="scope">
{{ scope.row.计划完成时间 ? scope.row.计划完成时间.split(' ')[0] : '-' }}
</template>
</el-table-column>
<el-table-column width="100px" label="货期(天)" align="center">
<template slot-scope="scope">
{{ scope.row.货期 }}
</template>
</el-table-column>
<el-table-column label="实际完成时间" align="center" width="150px">
<template slot-scope="scope">
{{ scope.row.实际完成时间 ? scope.row.实际完成时间.split(' ')[0] : '-' }}
</template>
</el-table-column>
</el-table>
</el-card>
</div>
</template>
<script>
import { getProject, getCustomerName, searchgroupName, getToolNum, searchtable, searchTable2 } from '@/api/ManufacturingCenter/ProjectPlanningManagementQuery'
export default {
data() {
return {
Sign: '',
delivery: '',
项目流水号: '',
机床流水号: '',
项目编号: '',
设计者: '',
审图开始: '',
审图结束: '',
发图完成: '',
采购完成: '',
备料完成: '',
制造完成: '',
装配完成: '',
更新时间: '',
// /////////////
审图实际完成时间: '',
机床设计实际完成时间: '',
采购实际完成时间: '',
备料实际完成时间: '',
机床生产实际完成时间: '',
机床装配实际完成时间: '',
machineNum: '',
jichuang: '',
title: '',
tableData2: [],
loading2: false,
code: '',
time_SignStart: '', // 签订开始
time_SignFinish: '', // 签订结束
time_deliveryStart: '', // 交货开始
time_deliveryFinish: '', // 交货结束
projectValue: '',
project: [], // 项目名称
CustomerNameValue: '',
CustomerName: [], // 客户名称
toolNumValue: '',
toolNum: [], // 机床
groupNum: [],
loading: false,
tableData: [], // 表格数据
total: null, // 总条数
pageSize: 10, // 每页显示条数
pageCurrent: 1 // 后台获取页
}
},
created() {
this.fetchData()
this.getCustomerName()
this.searchTable()
},
methods: {
fetchData() {
this.projectValue = ''
this.project = []
getProject().then(response => {
for (let i = 0; i < response.data.length; i++) {
this.project.push({
label: response.data[i].项目名称,
value: response.data[i].项目流水号
})
}
})
},
typeChange() {
this.toolNumValue = ''
this.toolNum = []
getToolNum(1, this.projectValue).then(response => {
for (let i = 0; i < response.data.length; i++) {
this.toolNum.push({
label: response.data[i].机床图号,
value: response.data[i].机床流水号
})
}
})
},
groupChange(row, index) {
if (row.组件流水号 !== '') {
searchgroupName(row.组件流水号).then(response => {
this.tableData2[index].任务名称 = response.data[0].组件名称
})
}
},
getCustomerName() {
this.CustomerNameValue = ''
this.CustomerName = []
getCustomerName().then(response => {
for (let i = 0; i < response.data.length; i++) {
this.CustomerName.push({
label: response.data[i].客户名称,
value: response.data[i].客户流水号
})
}
})
},
// 查询表格数据
searchTable() {
this.loading = true
this.tableData = []
this.tableData2 = []
this.radio = ''
this.项目流水号 = ''
this.机床流水号 = ''
this.项目编号 = ''
this.设计者 = ''
this.审图开始 = ''
this.审图结束 = ''
this.发图完成 = ''
this.采购完成 = ''
this.备料完成 = ''
this.制造完成 = ''
this.装配完成 = ''
this.更新时间 = ''
this.jichuang = ''
this.code = ''
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.toolNumValue !== '' && this.toolNumValue !== null) { this.toolNumValuecheck = 1 } else { this.toolNumValuecheck = 0 }
this.Sign ? this.time_Signcheck = 1 : (this.time_Signcheck = 0, this.Sign = '')
this.delivery ? this.time_deliverycheck = 1 : (this.time_deliverycheck = 0, this.delivery = '')
searchtable(this.projectValuecheck, this.projectValue, this.toolNumValuecheck, this.toolNumValue, this.CustomerNameValuecheck, this.CustomerNameValue, this.time_Signcheck, this.Sign[0], this.Sign[1], this.time_deliverycheck, this.delivery[0], this.delivery[1], this.pageCurrent, this.pageSize).then(response => {
if (response.data.total === 0) {
this.loading = false
} else {
this.tableData = response.data.rows
this.total = response.data.total
}
}).then(() => {
this.loading = false
})
},
rowClick(row) {
this.设计者 = row.机床设计者 ? row.机床设计者.split(' ')[0] : '-'
this.审图开始 = row.审图计划开始时间 ? row.审图计划开始时间.split(' ')[0] : '-'
this.审图结束 = row.审图计划完成时间 ? row.审图计划完成时间.split(' ')[0] : '-'
this.发图完成 = row.机床设计完成时间 ? row.机床设计完成时间.split(' ')[0] : '-'
this.采购完成 = row.采购完成时间 ? row.采购完成时间.split(' ')[0] : '-'
this.备料完成 = row.备料完成时间 ? row.备料完成时间.split(' ')[0] : '-'
this.制造完成 = row.机床生产完成时间 ? row.机床生产完成时间.split(' ')[0] : '-'
this.装配完成 = row.机床装配完成时间 ? row.机床装配完成时间.split(' ')[0] : '-'
this.更新时间 = row.更新 ? row.更新.split(' ')[0] : '-'
// ////////////////////////////
this.审图实际完成时间 = row.审图实际完成时间 ? row.审图实际完成时间.split(' ')[0] : '-'
this.机床设计实际完成时间 = row.机床设计实际完成时间 ? row.机床设计实际完成时间.split(' ')[0] : '-'
this.采购实际完成时间 = row.采购实际完成时间 ? row.采购实际完成时间.split(' ')[0] : '-'
this.备料实际完成时间 = row.备料实际完成时间 ? row.备料实际完成时间.split(' ')[0] : '-'
this.机床生产实际完成时间 = row.机床生产实际完成时间 ? row.机床生产实际完成时间.split(' ')[0] : '-'
this.机床装配实际完成时间 = row.机床装配实际完成时间 ? row.机床装配实际完成时间.split(' ')[0] : '-'
this.openDialog(row)
},
// 查询表格2数据
openDialog(row) {
this.loading2 = true
this.tableData2 = []
searchTable2(row.机床流水号).then(response => {
if (response.data.length !== 0) {
this.tableData2 = response.data
}
}).then(() => {
this.loading2 = false
})
},
// 分页
handleSizeChange(val) {
this.pageCurrent = 1
this.pageSize = val
this.searchTable()
},
handleCurrentChange(val) {
this.pageCurrent = val
this.searchTable()
}
}
}
</script>
<style scoped>
span{
margin: 10px 0 10px 10px;
}
.el-pagination{
background-color: white;
}
</style>
<style>
.el-radio {
margin-top: 12px !important;
}
.demo-ruleForm1 .el-form-item {
margin-bottom: 0px
}
.bold-font .el-table{
font: bold 20px arial!important;
margin: 0 0 10px 0;
/*color: white;*/
}
.bold-font{
/*color: ghostwhite;*/
font: bold 22px arial!important;
padding: 5px;
}
</style>

View File

@@ -67,6 +67,9 @@ export default {
case 'ProjectPlanningManagementNew': // 项目计划管理
document.getElementById('app-main').style.width = '1710px'
break
case 'ProjectPlanningManagementQuery': // 项目计划管理
document.getElementById('app-main').style.width = '1710px'
break
default:
document.getElementById('app-main').style.width = '1380px'
}