|
|
@ -1,8 +1,46 @@ |
|
|
|
<template> |
|
|
|
<div class="articleDemand-wrapper" :style="{width: Width}"> |
|
|
|
<div class="content-table-wrap" ref="topTableRef"> |
|
|
|
<div class="tool_list"> |
|
|
|
<div class="search"> |
|
|
|
<div style="padding:8px"> |
|
|
|
模式选择 |
|
|
|
</div> |
|
|
|
<div> |
|
|
|
<el-select |
|
|
|
v-model="mode" |
|
|
|
placeholder="请选择" |
|
|
|
> |
|
|
|
<el-option |
|
|
|
v-for="item in mpsPlanMode" |
|
|
|
:key="item['Stdef-StdefTyp']" |
|
|
|
:label="item['Stdef-Bez']" |
|
|
|
:value="item['Stdef-StdefTyp']" |
|
|
|
/> |
|
|
|
</el-select> |
|
|
|
</div> |
|
|
|
<div style="margin-left:15px"> |
|
|
|
<el-button |
|
|
|
class="add-button-style mps-button" |
|
|
|
@click="calcHandle" |
|
|
|
><div class="icon-upload"></div> MPS计算</el-button> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
<div class="button_list"> |
|
|
|
<img class="image_button" :src="outsourcingDemandImageUrl" @click="editField = '外购需求'" title="外购需求"> |
|
|
|
<div class="button_split"></div> |
|
|
|
<img class="image_button" :src="independentDemandImageUrl" @click="editField = '独立需求'" title="独立需求"> |
|
|
|
<div class="button_split"></div> |
|
|
|
<img class="image_button" :src="netProductionImageUrl" @click="editField = '净生产量'" title="净生产量"> |
|
|
|
<div class="button_split"></div> |
|
|
|
<img class="image_button" :src="refreshImageUrl" title="刷新数据"> |
|
|
|
<div class="button_split"></div> |
|
|
|
<img class="image_button" :src="saveImageUrl" @click="saveDemandData" title="保存"> |
|
|
|
<div class="button_split"></div> |
|
|
|
<img class="image_button" :src="reloadImageUrl" @click="reloadData" title="数据重载"> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
<el-table |
|
|
|
|
|
|
|
class="articleDemand-table" |
|
|
|
:data="TableData" |
|
|
|
:height="Height" |
|
|
@ -12,13 +50,28 @@ |
|
|
|
:key="index" |
|
|
|
:prop="item.prop" |
|
|
|
:label="item.label" > |
|
|
|
<template #default="scope"> |
|
|
|
<el-input size='mini' v-if="scope.row['-'] == editField && index != 0 " |
|
|
|
v-model.number="scope.row[item.prop]"></el-input> |
|
|
|
<span v-else>{{scope.row[item.prop]}}</span> |
|
|
|
</template> |
|
|
|
</el-table-column> |
|
|
|
|
|
|
|
</el-table> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
</template> |
|
|
|
<script> |
|
|
|
|
|
|
|
import independentDemandImageUrl from '@/assets/icon/independent_demand.png' |
|
|
|
import outsourcingDemandImageUrl from '@/assets/icon/outsourcing_demand.png' |
|
|
|
import netProductionImageUrl from '@/assets/icon/net_production.png' |
|
|
|
import reloadImageUrl from '@/assets/icon/reload.png' |
|
|
|
import refreshImageUrl from '@/assets/icon/refresh.png' |
|
|
|
import saveImageUrl from '@/assets/icon/save.png' |
|
|
|
import { reloadData } from "@/server/productionPlanning/customerForecastDemandReview"; |
|
|
|
|
|
|
|
|
|
|
|
export default { |
|
|
|
props: { |
|
|
|
Width:{ |
|
|
@ -37,6 +90,27 @@ export default { |
|
|
|
type:String |
|
|
|
} |
|
|
|
}, |
|
|
|
data(){ |
|
|
|
return { |
|
|
|
mode:"", |
|
|
|
tableHeight:0, |
|
|
|
mpsPlanMode:[], |
|
|
|
independentDemandImageUrl:independentDemandImageUrl, |
|
|
|
outsourcingDemandImageUrl:outsourcingDemandImageUrl, |
|
|
|
netProductionImageUrl:netProductionImageUrl, |
|
|
|
reloadImageUrl:reloadImageUrl, |
|
|
|
refreshImageUrl:refreshImageUrl, |
|
|
|
saveImageUrl:saveImageUrl, |
|
|
|
|
|
|
|
editField:"", |
|
|
|
|
|
|
|
} |
|
|
|
}, |
|
|
|
created () { |
|
|
|
this.getStanderOne({ statid: `MpsPlanMode` }).then(({ data = [] }) => { |
|
|
|
this.mpsPlanMode = data; |
|
|
|
}); |
|
|
|
}, |
|
|
|
mounted() { |
|
|
|
this.$nextTick(()=>{ |
|
|
|
this.tableHeight = this.calculationTableHeight( |
|
|
@ -46,24 +120,107 @@ export default { |
|
|
|
this.$emit('calculateTableHeight', this.tableHeight) |
|
|
|
}) |
|
|
|
}, |
|
|
|
data(){ |
|
|
|
return { |
|
|
|
tableHeight:0 |
|
|
|
} |
|
|
|
methods: { |
|
|
|
reloadData(){ |
|
|
|
reloadData().then( ({msg}) => { |
|
|
|
this.$message({ |
|
|
|
type:"success", |
|
|
|
message: msg |
|
|
|
}) |
|
|
|
}).catch(()=> { |
|
|
|
this.$message({ |
|
|
|
type:"error", |
|
|
|
message: "访问失败" |
|
|
|
}) |
|
|
|
}) |
|
|
|
}, |
|
|
|
saveDemandData(){ |
|
|
|
if(!this.editField) { |
|
|
|
this.$message({ |
|
|
|
type:"error", |
|
|
|
message: "请先编辑数据" |
|
|
|
}) |
|
|
|
return false |
|
|
|
} |
|
|
|
this.TableData.forEach(item => { |
|
|
|
if(item['-'] == this.editField){ |
|
|
|
this.$emit("saveDemandData",item) |
|
|
|
this.editField = "" |
|
|
|
} |
|
|
|
}) |
|
|
|
}, |
|
|
|
|
|
|
|
calcHandle() { |
|
|
|
}, |
|
|
|
}, |
|
|
|
} |
|
|
|
</script> |
|
|
|
<style lang="less" scoped> |
|
|
|
.articleDemand-wrapper { |
|
|
|
height: 100%; |
|
|
|
background-color: #F1F1F1; |
|
|
|
|
|
|
|
.content-table-wrap { |
|
|
|
width: 100%; |
|
|
|
height: 100%; |
|
|
|
.tool_list{ |
|
|
|
width: 100%; |
|
|
|
height: 30px; |
|
|
|
padding-top:12px; |
|
|
|
display: flex; |
|
|
|
justify-content: space-between; |
|
|
|
.search{ |
|
|
|
width: 500px; |
|
|
|
display: flex; |
|
|
|
.mps-button{ |
|
|
|
width: 98px; |
|
|
|
height: 32px; |
|
|
|
background: linear-gradient(180deg, #3C8F87 0%, #28A89E 43%, #24645E 100%); |
|
|
|
box-shadow: 1px 1px 1px 0px #FFFFFF; |
|
|
|
border-radius: 2px; |
|
|
|
border: 1px solid #073A35; |
|
|
|
line-height: 20px; |
|
|
|
.icon-upload{ |
|
|
|
width: 18px; |
|
|
|
height: 18px; |
|
|
|
background: url("../../../../../assets/icon/mps_button_icon.png"); |
|
|
|
float: left; |
|
|
|
margin-left: 5px; |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
.button_list { |
|
|
|
width: 220px; |
|
|
|
height: 32px; |
|
|
|
display: flex; |
|
|
|
align-items: center; |
|
|
|
.image_button { |
|
|
|
margin: 2px 5px; |
|
|
|
width: 24px; |
|
|
|
height: 24px; |
|
|
|
box-shadow: 2px 2px 0px 0px #DADADA; |
|
|
|
border: 1px solid #FFFFFF; |
|
|
|
} |
|
|
|
.image_button:hover { |
|
|
|
background: #DFDFDF; |
|
|
|
box-shadow: 2px 2px 0px 0px #FFFFFF; |
|
|
|
border-radius: 1px; |
|
|
|
border: 1px solid #DADADA; |
|
|
|
} |
|
|
|
.button_split { |
|
|
|
width: 1px; |
|
|
|
height: 30px; |
|
|
|
background: #DFDFDF; |
|
|
|
box-shadow: 1px 0px 0px 0px #FFFFFF; |
|
|
|
border-radius: 1px; |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
.articleDemand-table { |
|
|
|
margin-top: 10px; |
|
|
|
width: 100%; |
|
|
|
} |
|
|
|
} |
|
|
|
.articleDemand-table { |
|
|
|
margin-top: 10px; |
|
|
|
width: 100%; |
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
</style> |