Commit 01edb64e authored by jingnan's avatar jingnan 👀

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

parent 0bcce179
......@@ -19,52 +19,55 @@
</div>
</template>
</dee-fold-pane>
<dee-tab v-else :tabs="tabItems" :show-swipe="false" :is-detail="false">
<div slot="0" style="height:100%;box-sizing:border-box">
<dee-fold-pane
:min-percent="18"
:default-percent="18"
split="vertical"
class="detail-pane"
fold-direction="false"
>
<template slot="paneL">
<div class="three-member-wrap">
<!-- <dee-as-com
<!-- <dee-tab v-else :tabs="tabItems" :show-swipe="false" :is-detail="false">
<div slot="0" style="height:100%;box-sizing:border-box"> -->
<dee-fold-pane
v-else
:min-percent="18"
:default-percent="defaultPercent"
split="vertical"
class="detail-pane"
fold-direction="false"
>
<template slot="paneL">
<div class="three-member-wrap">
<!-- <dee-as-com
ref="detailCom"
:key="layConfig.typeName"
:lay-config="layConfig"
@row-click="rowClick"
/> -->
<stationPlanList :state-options="stateOptions" @getMissData="getMissData" />
</div>
</template>
<template slot="paneR">
<div class="resourceTable-wrap">
<missingParts :info="missInfo" />
</div>
</template>
</dee-fold-pane>
</div>
<div slot="1" style="height:100%;box-sizing:border-box">
<stationPlanList :state-options="stateOptions" @getMissData="getMissData" @switchMissPartsShow="switchMissPartsShow" />
</div>
</template>
<template slot="paneR">
<div class="resourceTable-wrap">
<missingParts :info="missInfo" />
</div>
</template>
</dee-fold-pane>
<!-- </div> -->
<!-- <div slot="1" style="height:100%;box-sizing:border-box">
<searchBar :state-options="stateOptions" @showStation="showStation" @search="search" />
<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']" />
</div>
</dee-tab>
</dee-tab> -->
</div>
</template>
<script>
import { post } from '@/utils/http'
import searchBar from './searchBar.vue'
import station from './station.vue'
import gantt from './gantt.vue'
// import searchBar from './searchBar.vue'
// import station from './station.vue'
// import gantt from './gantt.vue'
import missingParts from './missingParts'
import stationPlanList from './stationPlanList'
import materialSupporting from './materialSupporting'
export default {
name: 'DeeMesStationPlanMaintenance',
components: { searchBar, station, gantt, missingParts, stationPlanList, materialSupporting },
components: {
// searchBar, station, gantt,
missingParts, stationPlanList, materialSupporting },
data() {
return {
sortiesId: '',
......@@ -74,7 +77,8 @@ export default {
headerShow: true,
basicData: {},
missInfo: {},
rowData: {}
rowData: {},
defaultPercent: 18
}
},
computed: {
......@@ -263,6 +267,9 @@ export default {
},
showStation(flag) {
this.headerShow = flag
},
switchMissPartsShow(data) {
this.defaultPercent = data
}
}
}
......
......@@ -70,46 +70,68 @@
</template>
<template slot="paneR">
<div class="right-container">
<dee-tab :is-lazy="false" :tabs="tabItems" :show-swipe="false" :is-detail="false" @tabClick="tabClick">
<div slot="0" style="height: 100%; box-sizing: border-box">
<dee-as-com
ref="detailCom"
:key="layConfig.typeName"
:basic-data="{activeNodeData,requestParams}"
:lay-config="layConfig"
table-height="calc(100vh - 200px)"
@row-click="rowClick"
/>
<div class="detail-tabs">
<div class="menu-tab-wrap">
<div v-for="(item) in editableTabs" :key="item.configName" class="menu-tab-item" @click="changeTab(item)">
<span :class="currTab && item.configName === currTab.configName ? 'link' : ''">{{ item.name }}</span>
</div>
</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 - 200px)"
@row-click="rowClick"
/>
</div>
<div class="detail-content">
<div v-show="currTab && currTab.configName==='JoExecutePlanSend'" style="height:calc(100% - 10px) ">
<dee-tab :is-lazy="false" :tabs="tabItems" :show-swipe="false" :is-detail="false" @tabClick="tabClick">
<div slot="0" style="height:100%; box-sizing: border-box">
<dee-as-com
ref="detailCom"
: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 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
ref="detailComSI2"
:key="layConfig2.typeName"
:basic-data="{stateOptions}"
:lay-config="layConfig2"
table-height="calc(100vh - 200px)"
@row-click="rowClickSpec"
ref="detailComExtCas"
:basic-data="{activeNodeData,requestParams}"
:lay-config="{
typeName: 'ExtCas',
layKey: 'casAssembleLists'
}"
/>
</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>
</template>
</dee-fold-pane>
</div>
......@@ -200,7 +222,22 @@ export default {
currentNodekey: '',
areaUpdatingLists: {},
requestParams: [],
showSearchConditions: true // 控制搜索条件是否显示
showSearchConditions: true, // 控制搜索条件是否显示
editableTabs: [{
id: 1,
name: '计划下达',
configName: 'JoExecutePlanSend'
},
{
id: 2,
name: 'CAS配套',
configName: 'CasAssemble'
}],
currTab: {
id: 1,
name: '计划下达',
configName: 'JoExecutePlanSend'
}
}
},
watch: {
......@@ -534,44 +571,13 @@ export default {
this.treeData[0].children[0].children[0].level = 3
this.activeNodeData = this.treeData[0].children[0].children[0]
this.treeData[0].children[0].children[0].activeTab = this.activeTab
if (this.activeTab === '0') {
if (this.$refs.detailCom.$refs.asCom && this.$refs.detailCom.$refs.asCom.getData) {
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)
}
}
this.treeData[0].children[0].children[0].searchStories = this.form.sortiesName
this.getRightTableData(this.treeData[0].children[0].children[0])
})
} else {
this.activeNodeData = {}
this.activeNodeData.searchStories = this.form.sortiesName
this.$nextTick(() => {
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)
}
}
})
this.getRightTableData(this.activeNodeData)
}
})
.catch((err) => console.log(err))
......@@ -584,22 +590,7 @@ export default {
this.activeNodeData.activeTab = this.activeTab
this.activeNodeData.searchStories = this.form.sortiesName
this.$nextTick(() => {
if (this.activeTab === '0') {
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)
}
}
this.getRightTableData(this.activeNodeData.level !== 4 ? this.activeNodeData : null)
})
},
handleNodeClick(data, node) {
......@@ -612,24 +603,7 @@ export default {
data.searchStories = this.form.sortiesName
this.activeNodeData = data
if (node.level === 2 || node.level === 3) {
this.$nextTick(() => {
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)
}
}
})
this.getRightTableData(data)
}
if (node.level === 4) {
this.requestParams = [
......@@ -716,7 +690,16 @@ export default {
},
getCurrentData(data) {
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.$refs.detailCom.$refs.asCom && this.$refs.detailCom.$refs.asCom.getData) {
this.$refs.detailCom.$refs.asCom.getData(data)
......@@ -733,8 +716,8 @@ export default {
this.$emit('getMissData', null)
}
}
})
}
}
})
},
rowClick(data) {
this.$emit('getMissData', data)
......@@ -746,6 +729,12 @@ export default {
},
toggleSearchConditions() {
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 {
.right-container {
position: relative;
// 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{
position: absolute;
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