|
|
@ -21,7 +21,7 @@ |
|
|
|
<div class="lockShadow" v-if="isLock">{{lockTip}}</div> |
|
|
|
<!-- 中间底盘号 --> |
|
|
|
<div class="centerChassisContain"> |
|
|
|
<div class="title">底盘号</div> |
|
|
|
<div class="title" @click="LogoutUserHandle">底盘号</div> |
|
|
|
<ul class="chassisList" v-if="centerChassisList.length > 0"> |
|
|
|
<li |
|
|
|
v-for="(item,index) of centerChassisList" |
|
|
@ -39,49 +39,52 @@ |
|
|
|
</div> |
|
|
|
<!-- 右侧底盘组 --> |
|
|
|
<div class="rightChassisGroup"> |
|
|
|
<!-- 右上组 --> |
|
|
|
<div class="rightTopTable"> |
|
|
|
<el-table |
|
|
|
:border="true" |
|
|
|
:data="rightTopChassisGroup" |
|
|
|
:height="'100%'" |
|
|
|
:header-cell-style="{ background: '#e3f0ff',color:'#333'}" |
|
|
|
style="width: 100%"> |
|
|
|
<el-table-column |
|
|
|
prop="chassisNumber" |
|
|
|
label="底盘组" |
|
|
|
></el-table-column> |
|
|
|
<el-table-column |
|
|
|
prop="creationTime" |
|
|
|
label="时间" |
|
|
|
> |
|
|
|
<template slot-scope="scope"> |
|
|
|
{{ formatDate(scope.row.creationTime) }} |
|
|
|
</template> |
|
|
|
</el-table-column> |
|
|
|
</el-table> |
|
|
|
</div> |
|
|
|
<!-- 右下bom --> |
|
|
|
<div class="rightBottomBomData"> |
|
|
|
<el-table |
|
|
|
:border="true" |
|
|
|
:data="rightBottomBomData" |
|
|
|
:header-cell-style="{ background: '#e3f0ff',color:'#333'}" |
|
|
|
style="width: 100%"> |
|
|
|
<el-table-column |
|
|
|
prop="itemCode" |
|
|
|
label="Kitting组别Bom" |
|
|
|
></el-table-column> |
|
|
|
<el-table-column |
|
|
|
prop="qty" |
|
|
|
label="底盘组物品数量" |
|
|
|
></el-table-column> |
|
|
|
<!-- todo: Kiting组数量字段确定--> |
|
|
|
<el-table-column |
|
|
|
prop="qty1" |
|
|
|
label="Kiting组数量" |
|
|
|
></el-table-column> |
|
|
|
</el-table> |
|
|
|
<div class="rightTopBigBox"> |
|
|
|
<!-- 右上组 --> |
|
|
|
<div class="rightTopTable"> |
|
|
|
<el-table |
|
|
|
:border="true" |
|
|
|
:data="rightTopChassisGroup" |
|
|
|
:height="'100%'" |
|
|
|
:header-cell-style="{ background: '#e3f0ff',color:'#333'}" |
|
|
|
style="width: 100%"> |
|
|
|
<el-table-column |
|
|
|
prop="chassisNumber" |
|
|
|
label="底盘组" |
|
|
|
></el-table-column> |
|
|
|
<el-table-column |
|
|
|
prop="creationTime" |
|
|
|
label="时间" |
|
|
|
> |
|
|
|
<template slot-scope="scope"> |
|
|
|
{{ formatDate(scope.row.creationTime) }} |
|
|
|
</template> |
|
|
|
</el-table-column> |
|
|
|
</el-table> |
|
|
|
</div> |
|
|
|
<!-- 右下bom --> |
|
|
|
<div class="rightBottomBomData"> |
|
|
|
<el-table |
|
|
|
:border="true" |
|
|
|
:data="rightBottomBomData" |
|
|
|
:header-cell-style="{ background: '#e3f0ff',color:'#333'}" |
|
|
|
:height="'100%'" |
|
|
|
style="width: 100%"> |
|
|
|
<el-table-column |
|
|
|
prop="itemCode" |
|
|
|
label="Kitting组别Bom" |
|
|
|
></el-table-column> |
|
|
|
<el-table-column |
|
|
|
prop="qty" |
|
|
|
label="底盘组物品数量" |
|
|
|
></el-table-column> |
|
|
|
<!-- todo: Kiting组数量字段确定--> |
|
|
|
<el-table-column |
|
|
|
prop="qty1" |
|
|
|
label="Kiting组数量" |
|
|
|
></el-table-column> |
|
|
|
</el-table> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
<div class="footer-button"> |
|
|
|
<el-button :disabled="isLock" type="success" @click="finishChassisHandle">完成该组底盘</el-button> |
|
|
@ -142,45 +145,55 @@ export default { |
|
|
|
} |
|
|
|
return formatTimeStrToStr(time) |
|
|
|
}, |
|
|
|
// 左侧按钮点击事件 -获取是否锁定 |
|
|
|
getPageLockList(selectItem){ |
|
|
|
resetData(){ |
|
|
|
this.centerChassisList=[] |
|
|
|
this.rightTopChassisGroup=[] |
|
|
|
this.rightBottomBomData=[] |
|
|
|
this.isLock=false |
|
|
|
}, |
|
|
|
// 获取锁定数据 |
|
|
|
async getPageLockListHttp(filters){ |
|
|
|
let _data = { |
|
|
|
condition: { |
|
|
|
filters: [ |
|
|
|
{ |
|
|
|
logic: "And", |
|
|
|
column: "menuCode", |
|
|
|
action: "==", |
|
|
|
value: this.$route.name + '_' + selectItem.code, |
|
|
|
}, |
|
|
|
{ |
|
|
|
logic: "And", |
|
|
|
column: "userAccount", |
|
|
|
action: "!=", |
|
|
|
value: store.getters.name.name, |
|
|
|
} |
|
|
|
] |
|
|
|
filters: filters |
|
|
|
}, |
|
|
|
Sorting: "", |
|
|
|
SkipCount: 0, |
|
|
|
MaxResultCount: 9999, |
|
|
|
} |
|
|
|
this.loading = true |
|
|
|
getPageList(_data, 'auth/auth/page-lock').then(res => { |
|
|
|
this.currentKittingInfo = selectItem; |
|
|
|
// 未锁定 |
|
|
|
if(res.items.length <= 0){ |
|
|
|
this.isLock = false |
|
|
|
this.lockUserHandle() |
|
|
|
} |
|
|
|
// 已锁定 |
|
|
|
else{ |
|
|
|
this.isLock = true |
|
|
|
this.initKittingData() |
|
|
|
console.log(111) |
|
|
|
return getPageList(_data, 'auth/auth/page-lock') |
|
|
|
console.log(222) |
|
|
|
}, |
|
|
|
// 左侧按钮点击事件 -获取是否锁定 |
|
|
|
async getPageLockList(selectItem){ |
|
|
|
let _filter= [ |
|
|
|
{ |
|
|
|
logic: "And", |
|
|
|
column: "menuCode", |
|
|
|
action: "==", |
|
|
|
value: this.$route.name + '_' + selectItem.code, |
|
|
|
}, |
|
|
|
{ |
|
|
|
logic: "And", |
|
|
|
column: "userAccount", |
|
|
|
action: "!=", |
|
|
|
value: store.getters.name.name, |
|
|
|
} |
|
|
|
}).catch(err => { |
|
|
|
this.loading = false |
|
|
|
}) |
|
|
|
] |
|
|
|
let _lockList = await this.getPageLockListHttp(_filter) |
|
|
|
this.currentKittingInfo = selectItem; |
|
|
|
// 未锁定 |
|
|
|
if(_lockList.items.length <= 0){ |
|
|
|
this.isLock = false |
|
|
|
this.lockUserHandle() |
|
|
|
} |
|
|
|
// 已锁定 |
|
|
|
else{ |
|
|
|
this.isLock = true |
|
|
|
this.initKittingData() |
|
|
|
} |
|
|
|
}, |
|
|
|
// 锁定账号 |
|
|
|
lockUserHandle(){ |
|
|
@ -194,10 +207,34 @@ export default { |
|
|
|
}) |
|
|
|
.catch(err=>{}) |
|
|
|
}, |
|
|
|
// 退出账号todo:批量将当前账号所有的绑定菜单删除 |
|
|
|
async LogoutUserHandle(e){ |
|
|
|
// 退出锁定账号:批量将当前账号所有的绑定菜单删除 |
|
|
|
async LogoutUserHandle(){ |
|
|
|
let _filter = [{ |
|
|
|
logic: "And", |
|
|
|
column: "userAccount", |
|
|
|
action: "==", |
|
|
|
value: store.getters.name.name, |
|
|
|
}] |
|
|
|
let _currentUserLockList = await this.getPageLockListHttp(_filter) |
|
|
|
let _https = 0 |
|
|
|
if(_currentUserLockList && _currentUserLockList.items){ |
|
|
|
_currentUserLockList.items.forEach(item=>{ |
|
|
|
this.LogoutUserHttp(item.menuCode) |
|
|
|
_https++ |
|
|
|
}) |
|
|
|
} |
|
|
|
if(_https == _currentUserLockList.items.length){ |
|
|
|
this.loading = false; |
|
|
|
this.currentKittingInfo = null; |
|
|
|
this.$nextTick(()=>{ |
|
|
|
this.initData() |
|
|
|
}) |
|
|
|
} |
|
|
|
}, |
|
|
|
// 退出登录http交互 |
|
|
|
LogoutUserHttp(menuCode){ |
|
|
|
let _data = { |
|
|
|
menuCode:this.$route.name + '_' + this.currentKittingInfo.code, |
|
|
|
menuCode:menuCode, |
|
|
|
userAccount:store.getters.name.name, |
|
|
|
} |
|
|
|
pageLockToLogout(_data) |
|
|
@ -221,6 +258,7 @@ export default { |
|
|
|
if(this.currentKittingInfo){ |
|
|
|
this.getPageLockList(this.currentKittingInfo) |
|
|
|
}else{ |
|
|
|
this.resetData() |
|
|
|
this.loading = false |
|
|
|
} |
|
|
|
}).catch(err => { |
|
|
@ -332,9 +370,9 @@ export default { |
|
|
|
this.rightTopChassisGroup.forEach(item=>{ |
|
|
|
let _item = { |
|
|
|
itemCode: item.itemCode, |
|
|
|
itemName: item.itemName, |
|
|
|
itemDesc1: item.itemDesc1, |
|
|
|
itemDesc2: item.itemDesc2, |
|
|
|
itemName: item.itemName || "", |
|
|
|
itemDesc1: item.itemDesc1 || "", |
|
|
|
itemDesc2: item.itemDesc2 || "", |
|
|
|
chassisNumber: item.chassisNumber,//底盘组 |
|
|
|
kittingCode: this.currentKittingInfo.code,//左侧按钮code |
|
|
|
chassisSortNumber: item.sortNumber,//sortNumber |
|
|
@ -345,9 +383,9 @@ export default { |
|
|
|
this.rightBottomBomData.forEach(item=>{ |
|
|
|
let _item = { |
|
|
|
itemCode: item.itemCode, |
|
|
|
itemName: item.itemName, |
|
|
|
itemDesc1: item.itemDesc1, |
|
|
|
itemDesc2: item.itemDesc2, |
|
|
|
itemName: item.itemName || "", |
|
|
|
itemDesc1: item.itemDesc1 || "", |
|
|
|
itemDesc2: item.itemDesc2 || "", |
|
|
|
qty: item.qty, |
|
|
|
kittingCode: this.currentKittingInfo.code |
|
|
|
} |
|
|
@ -358,9 +396,8 @@ export default { |
|
|
|
}); |
|
|
|
|
|
|
|
}, |
|
|
|
// 完成该组底盘http交互 |
|
|
|
finishHandleHttp(_data){ |
|
|
|
console.log(286,_data) |
|
|
|
return |
|
|
|
this.loading = true |
|
|
|
postCreate(_data, 'wms/store/KittingPackagingNote').then(res => { |
|
|
|
this.initData() |
|
|
@ -507,26 +544,30 @@ $footerBtn_height:60px; |
|
|
|
border:$boxBorder; |
|
|
|
padding:$boxPadding; |
|
|
|
height:100%; |
|
|
|
overflow:auto; |
|
|
|
background:#fff; |
|
|
|
|
|
|
|
.rightTopTable{ |
|
|
|
.rightTopBigBox{ |
|
|
|
position:absolute; |
|
|
|
top:0; |
|
|
|
left:0; |
|
|
|
right:0; |
|
|
|
height:40%; |
|
|
|
bottom:$footerBtn_height; |
|
|
|
display:flex; |
|
|
|
flex-direction:column; |
|
|
|
overflow:auto; |
|
|
|
align-items: stretch; |
|
|
|
} |
|
|
|
|
|
|
|
.rightTopTable{ |
|
|
|
flex: 1; |
|
|
|
margin-bottom:10px; |
|
|
|
overflow:auto; |
|
|
|
} |
|
|
|
|
|
|
|
.rightBottomBomData{ |
|
|
|
position:absolute; |
|
|
|
top:calc(40% + 10px); |
|
|
|
left:0; |
|
|
|
right:0; |
|
|
|
bottom:$footerBtn_height; |
|
|
|
flex: 1.2; |
|
|
|
margin-top:10px; |
|
|
|
overflow:auto; |
|
|
|
border-top:$boxBorder; |
|
|
|
} |
|
|
|
} |
|
|
|
.footer-button{ |
|
|
|