Commit 01edb64e authored by jingnan's avatar jingnan 👀

ERP相关_CAS配套申请界面开发及接口联调

parent 0bcce179
...@@ -19,52 +19,55 @@ ...@@ -19,52 +19,55 @@
</div> </div>
</template> </template>
</dee-fold-pane> </dee-fold-pane>
<dee-tab v-else :tabs="tabItems" :show-swipe="false" :is-detail="false"> <!-- <dee-tab v-else :tabs="tabItems" :show-swipe="false" :is-detail="false">
<div slot="0" style="height:100%;box-sizing:border-box"> <div slot="0" style="height:100%;box-sizing:border-box"> -->
<dee-fold-pane <dee-fold-pane
:min-percent="18" v-else
:default-percent="18" :min-percent="18"
split="vertical" :default-percent="defaultPercent"
class="detail-pane" split="vertical"
fold-direction="false" class="detail-pane"
> fold-direction="false"
<template slot="paneL"> >
<div class="three-member-wrap"> <template slot="paneL">
<!-- <dee-as-com <div class="three-member-wrap">
<!-- <dee-as-com
ref="detailCom" ref="detailCom"
:key="layConfig.typeName" :key="layConfig.typeName"
:lay-config="layConfig" :lay-config="layConfig"
@row-click="rowClick" @row-click="rowClick"
/> --> /> -->
<stationPlanList :state-options="stateOptions" @getMissData="getMissData" /> <stationPlanList :state-options="stateOptions" @getMissData="getMissData" @switchMissPartsShow="switchMissPartsShow" />
</div> </div>
</template> </template>
<template slot="paneR"> <template slot="paneR">
<div class="resourceTable-wrap"> <div class="resourceTable-wrap">
<missingParts :info="missInfo" /> <missingParts :info="missInfo" />
</div> </div>
</template> </template>
</dee-fold-pane> </dee-fold-pane>
</div> <!-- </div> -->
<div slot="1" style="height:100%;box-sizing:border-box"> <!-- <div slot="1" style="height:100%;box-sizing:border-box">
<searchBar :state-options="stateOptions" @showStation="showStation" @search="search" /> <searchBar :state-options="stateOptions" @showStation="showStation" @search="search" />
<station v-show="headerShow" :state-options="stateOptions" :sorties-id="sortiesId" :form="form" @change="change" /> <station v-show="headerShow" :state-options="stateOptions" :sorties-id="sortiesId" :form="form" @change="change" />
<gantt :form="form" :state-options="stateOptions" :class="[headerShow?'gantt-bar':'gantt-bar no-header']" /> <gantt :form="form" :state-options="stateOptions" :class="[headerShow?'gantt-bar':'gantt-bar no-header']" />
</div> </div>
</dee-tab> </dee-tab> -->
</div> </div>
</template> </template>
<script> <script>
import { post } from '@/utils/http' import { post } from '@/utils/http'
import searchBar from './searchBar.vue' // import searchBar from './searchBar.vue'
import station from './station.vue' // import station from './station.vue'
import gantt from './gantt.vue' // import gantt from './gantt.vue'
import missingParts from './missingParts' import missingParts from './missingParts'
import stationPlanList from './stationPlanList' import stationPlanList from './stationPlanList'
import materialSupporting from './materialSupporting' import materialSupporting from './materialSupporting'
export default { export default {
name: 'DeeMesStationPlanMaintenance', name: 'DeeMesStationPlanMaintenance',
components: { searchBar, station, gantt, missingParts, stationPlanList, materialSupporting }, components: {
// searchBar, station, gantt,
missingParts, stationPlanList, materialSupporting },
data() { data() {
return { return {
sortiesId: '', sortiesId: '',
...@@ -74,7 +77,8 @@ export default { ...@@ -74,7 +77,8 @@ export default {
headerShow: true, headerShow: true,
basicData: {}, basicData: {},
missInfo: {}, missInfo: {},
rowData: {} rowData: {},
defaultPercent: 18
} }
}, },
computed: { computed: {
...@@ -263,6 +267,9 @@ export default { ...@@ -263,6 +267,9 @@ export default {
}, },
showStation(flag) { showStation(flag) {
this.headerShow = flag this.headerShow = flag
},
switchMissPartsShow(data) {
this.defaultPercent = data
} }
} }
} }
......
...@@ -70,46 +70,68 @@ ...@@ -70,46 +70,68 @@
</template> </template>
<template slot="paneR"> <template slot="paneR">
<div class="right-container"> <div class="right-container">
<dee-tab :is-lazy="false" :tabs="tabItems" :show-swipe="false" :is-detail="false" @tabClick="tabClick"> <div class="detail-tabs">
<div slot="0" style="height: 100%; box-sizing: border-box"> <div class="menu-tab-wrap">
<dee-as-com <div v-for="(item) in editableTabs" :key="item.configName" class="menu-tab-item" @click="changeTab(item)">
ref="detailCom" <span :class="currTab && item.configName === currTab.configName ? 'link' : ''">{{ item.name }}</span>
:key="layConfig.typeName" </div>
:basic-data="{activeNodeData,requestParams}"
:lay-config="layConfig"
table-height="calc(100vh - 200px)"
@row-click="rowClick"
/>
</div> </div>
<div slot="1" style="height: 100%; box-sizing: border-box"> </div>
<dee-as-com <div class="detail-content">
ref="detailCom2" <div v-show="currTab && currTab.configName==='JoExecutePlanSend'" style="height:calc(100% - 10px) ">
:key="layConfig.typeName" <dee-tab :is-lazy="false" :tabs="tabItems" :show-swipe="false" :is-detail="false" @tabClick="tabClick">
:basic-data="{activeNodeData,requestParams}" <div slot="0" style="height:100%; box-sizing: border-box">
:lay-config="layConfig1" <dee-as-com
table-height="calc(100vh - 200px)" ref="detailCom"
@row-click="rowClick" :key="layConfig.typeName"
/> :basic-data="{activeNodeData,requestParams}"
:lay-config="layConfig"
table-height="calc(100vh - 160px)"
@row-click="rowClick"
/>
</div>
<div slot="1" style="height:100%; box-sizing: border-box">
<dee-as-com
ref="detailCom2"
:key="layConfig.typeName"
:basic-data="{activeNodeData,requestParams}"
:lay-config="layConfig1"
table-height="calc(100vh - 160px)"
@row-click="rowClick"
/>
</div>
<div slot="2" style="height:100%; box-sizing: border-box">
<dee-as-com
ref="detailComSI2"
:key="layConfig2.typeName"
:basic-data="{stateOptions}"
:lay-config="layConfig2"
table-height="calc(100vh - 160px)"
@row-click="rowClickSpec"
/>
</div>
</dee-tab>
<span v-if="areaUpdatingLists[form.sorties]==='Y'" class="areaUpdateTip">
<i class="el-icon-warning" />
<span>温馨提示: </span>
<span class="tipInfo">
当前架次下区域正在更新中......
</span>
</span>
</div> </div>
<div slot="2" style="height: 100%; box-sizing: border-box"> <div v-show="currTab && currTab.configName==='CasAssemble'" class="background" style="height:calc(100% - 40px);">
<dee-as-com <dee-as-com
ref="detailComSI2" ref="detailComExtCas"
:key="layConfig2.typeName" :basic-data="{activeNodeData,requestParams}"
:basic-data="{stateOptions}" :lay-config="{
:lay-config="layConfig2" typeName: 'ExtCas',
table-height="calc(100vh - 200px)" layKey: 'casAssembleLists'
@row-click="rowClickSpec" }"
/> />
</div> </div>
</dee-tab> </div>
<span v-if="areaUpdatingLists[form.sorties]==='Y'" class="areaUpdateTip">
<i class="el-icon-warning" />
<span>温馨提示: </span>
<span class="tipInfo">
当前架次下区域正在更新中......
</span>
</span>
</div> </div>
</template> </template>
</dee-fold-pane> </dee-fold-pane>
</div> </div>
...@@ -200,7 +222,22 @@ export default { ...@@ -200,7 +222,22 @@ export default {
currentNodekey: '', currentNodekey: '',
areaUpdatingLists: {}, areaUpdatingLists: {},
requestParams: [], requestParams: [],
showSearchConditions: true // 控制搜索条件是否显示 showSearchConditions: true, // 控制搜索条件是否显示
editableTabs: [{
id: 1,
name: '计划下达',
configName: 'JoExecutePlanSend'
},
{
id: 2,
name: 'CAS配套',
configName: 'CasAssemble'
}],
currTab: {
id: 1,
name: '计划下达',
configName: 'JoExecutePlanSend'
}
} }
}, },
watch: { watch: {
...@@ -534,44 +571,13 @@ export default { ...@@ -534,44 +571,13 @@ export default {
this.treeData[0].children[0].children[0].level = 3 this.treeData[0].children[0].children[0].level = 3
this.activeNodeData = this.treeData[0].children[0].children[0] this.activeNodeData = this.treeData[0].children[0].children[0]
this.treeData[0].children[0].children[0].activeTab = this.activeTab this.treeData[0].children[0].children[0].activeTab = this.activeTab
if (this.activeTab === '0') { this.treeData[0].children[0].children[0].searchStories = this.form.sortiesName
if (this.$refs.detailCom.$refs.asCom && this.$refs.detailCom.$refs.asCom.getData) { this.getRightTableData(this.treeData[0].children[0].children[0])
this.$refs.detailCom.$refs.asCom.getData(this.treeData[0].children[0].children[0])
this.$emit('getMissData', null)
}
} else if (this.activeTab === '1') {
if (this.$refs.detailCom2.$refs.asCom && this.$refs.detailCom2.$refs.asCom.getData) {
this.$refs.detailCom2.$refs.asCom.getData(this.treeData[0].children[0].children[0])
this.$emit('getMissData', null)
}
} else if (this.activeTab === '2') {
if (this.$refs.detailComSI2.$refs.asCom && this.$refs.detailComSI2.$refs.asCom.getData) {
this.$refs.detailComSI2.$refs.asCom.getData(this.treeData[0].children[0].children[0])
this.$emit('getMissData', null)
}
}
}) })
} else { } else {
this.activeNodeData = {} this.activeNodeData = {}
this.activeNodeData.searchStories = this.form.sortiesName this.activeNodeData.searchStories = this.form.sortiesName
this.$nextTick(() => { this.getRightTableData(this.activeNodeData)
if (this.activeTab === '0') {
if (this.$refs.detailCom.$refs.asCom && this.$refs.detailCom.$refs.asCom.getData) {
this.$refs.detailCom.$refs.asCom.getData(this.activeNodeData)
this.$emit('getMissData', null)
}
} else if (this.activeTab === '1') {
if (this.$refs.detailCom2.$refs.asCom && this.$refs.detailCom2.$refs.asCom.getData) {
this.$refs.detailCom2.$refs.asCom.getData(this.activeNodeData)
this.$emit('getMissData', null)
}
} else if (this.activeTab === '2') {
if (this.$refs.detailComSI2.$refs.asCom && this.$refs.detailComSI2.$refs.asCom.getData) {
this.$refs.detailComSI2.$refs.asCom.getData(this.activeNodeData)
this.$emit('getMissData', null)
}
}
})
} }
}) })
.catch((err) => console.log(err)) .catch((err) => console.log(err))
...@@ -584,22 +590,7 @@ export default { ...@@ -584,22 +590,7 @@ export default {
this.activeNodeData.activeTab = this.activeTab this.activeNodeData.activeTab = this.activeTab
this.activeNodeData.searchStories = this.form.sortiesName this.activeNodeData.searchStories = this.form.sortiesName
this.$nextTick(() => { this.$nextTick(() => {
if (this.activeTab === '0') { this.getRightTableData(this.activeNodeData.level !== 4 ? this.activeNodeData : null)
if (this.$refs.detailCom.$refs.asCom && this.$refs.detailCom.$refs.asCom.getData) {
this.$refs.detailCom.$refs.asCom.getData(this.activeNodeData.level !== 4 ? this.activeNodeData : null)
this.$emit('getMissData', null)
}
} else if (this.activeTab === '1') {
if (this.$refs.detailCom2.$refs.asCom && this.$refs.detailCom2.$refs.asCom.getData) {
this.$refs.detailCom2.$refs.asCom.getData(this.activeNodeData.level !== 4 ? this.activeNodeData : null)
this.$emit('getMissData', null)
}
} else if (this.activeTab === '2') {
if (this.$refs.detailComSI2.$refs.asCom && this.$refs.detailComSI2.$refs.asCom.getData) {
this.$refs.detailComSI2.$refs.asCom.getData(this.activeNodeData)
this.$emit('getMissData', null)
}
}
}) })
}, },
handleNodeClick(data, node) { handleNodeClick(data, node) {
...@@ -612,24 +603,7 @@ export default { ...@@ -612,24 +603,7 @@ export default {
data.searchStories = this.form.sortiesName data.searchStories = this.form.sortiesName
this.activeNodeData = data this.activeNodeData = data
if (node.level === 2 || node.level === 3) { if (node.level === 2 || node.level === 3) {
this.$nextTick(() => { this.getRightTableData(data)
if (this.activeTab === '0') {
if (this.$refs.detailCom.$refs.asCom && this.$refs.detailCom.$refs.asCom.getData) {
this.$refs.detailCom.$refs.asCom.getData(data)
this.$emit('getMissData', null)
}
} else if (this.activeTab === '1') {
if (this.$refs.detailCom2.$refs.asCom && this.$refs.detailCom2.$refs.asCom.getData) {
this.$refs.detailCom2.$refs.asCom.getData(data)
this.$emit('getMissData', null)
}
} else if (this.activeTab === '2') {
if (this.$refs.detailComSI2.$refs.asCom && this.$refs.detailComSI2.$refs.asCom.getData) {
this.$refs.detailComSI2.$refs.asCom.getData(data)
this.$emit('getMissData', null)
}
}
})
} }
if (node.level === 4) { if (node.level === 4) {
this.requestParams = [ this.requestParams = [
...@@ -716,7 +690,16 @@ export default { ...@@ -716,7 +690,16 @@ export default {
}, },
getCurrentData(data) { getCurrentData(data) {
if (data.level === 2 || data.level === 3) { if (data.level === 2 || data.level === 3) {
this.$nextTick(() => { this.getRightTableData(data)
}
},
getRightTableData(data) {
this.$nextTick(() => {
if (this.currTab && this.currTab.configName === 'CasAssemble') {
if (this.$refs.detailComExtCas.$refs.asCom && this.$refs.detailComExtCas.$refs.asCom.getData) {
this.$refs.detailComExtCas.$refs.asCom.getData(data)
}
} else {
if (this.activeTab === '0') { if (this.activeTab === '0') {
if (this.$refs.detailCom.$refs.asCom && this.$refs.detailCom.$refs.asCom.getData) { if (this.$refs.detailCom.$refs.asCom && this.$refs.detailCom.$refs.asCom.getData) {
this.$refs.detailCom.$refs.asCom.getData(data) this.$refs.detailCom.$refs.asCom.getData(data)
...@@ -733,8 +716,8 @@ export default { ...@@ -733,8 +716,8 @@ export default {
this.$emit('getMissData', null) this.$emit('getMissData', null)
} }
} }
}) }
} })
}, },
rowClick(data) { rowClick(data) {
this.$emit('getMissData', data) this.$emit('getMissData', data)
...@@ -746,6 +729,12 @@ export default { ...@@ -746,6 +729,12 @@ export default {
}, },
toggleSearchConditions() { toggleSearchConditions() {
this.showSearchConditions = !this.showSearchConditions this.showSearchConditions = !this.showSearchConditions
},
changeTab(val) {
this.currTab = val
this.getRightTableData(this.activeNodeData)
const percent = this.currTab && this.currTab.configName === 'CasAssemble' ? 0 : 18
this.$emit('switchMissPartsShow', percent)
} }
} }
} }
...@@ -908,7 +897,85 @@ export default { ...@@ -908,7 +897,85 @@ export default {
.right-container { .right-container {
position: relative; position: relative;
// width: 82%; // width: 82%;
margin-left: 20px; // margin-left: 20px;
height: 100%;
margin: 8px;
box-sizing: border-box;
display: flex;
justify-content: flex-start;
background: #f1f4f5;
.detail-tabs{
height: 100%;
// overflow-y: scroll;
.menu-tab-wrap{
width:38px;
display: flex;
justify-content: flex-start;
flex-wrap: wrap;
text-align: center;
margin:6px;
.menu-tab-item{
background: #fff;
padding: 8px 10px;
margin-bottom: 10px;
border: 1px solid #dedede;
border-radius: 4px;
cursor: pointer;
writing-mode: tb;
font-size:14px;
.el-icon-close{
margin-top:4px;
}
}
}
}
.detail-content {
width: 100%;
height: 100%;
background: #fff;
overflow-y: auto;
.task-name{
font-weight: bold;
}
.el-scrollbar__wrap {
height: 100%;
}
.el-scrollbar__view{
height: 100%;
}
.background {
background: rgba(255, 255, 255, 1);
padding: 12px 16px;
}
.detaile-page {
background: rgba(255, 255, 255, 1);
}
.el-dialog__body {
padding: 20px 20px 0 20px;
}
.el-tabs__content{
padding:0 8px;
background: #fff;
}
.dee-tools{
margin-right:20px!important;
margin-top:0!important;
// background-color: #ebebeb;
// border: 1px solid #dedede;
height: 30px;
.icon{
padding-left: 10px;
}
.icon-font{
padding-right: 10px;
}
}
.flex-s{
display: flex;
justify-content: space-between;
}
}
.areaUpdateTip{ .areaUpdateTip{
position: absolute; position: absolute;
top: 20px; top: 20px;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment