Commit e3200d43 authored by jingnan's avatar jingnan 👀

供外出库确认界面修改

parent 6b42dc0f
......@@ -92,15 +92,16 @@ export default {
},
tbPrintCode(selectRows) {
const selection = selectRows
if (selection[0].subTypeName === 'OutStorageMatchItem') { // 打印AO标签
const selectSubTypeName = selection && selection[0] && selection[0].subTypeName
if (selectSubTypeName === 'OutStorageMatchItem') { // 打印AO标签
this.printAoLabel(selection)
} else if (selection[0].subTypeName === 'InventoryFlow') { // 打印流水标签
} else if (selectSubTypeName === 'InventoryFlow') { // 打印流水标签
this.printFlowLable(selection)
} else if (selection[0].subTypeName === 'Inventory') { // 打印移库标签
} else if (selectSubTypeName === 'Inventory') { // 打印移库标签
this.printMoveLibraryLabel(selection)
} else if (selection[0].subTypeName === 'JobResponseOutStorageMatch') { // 批量签审_配套出库响应打印标签
} else if (selectSubTypeName === 'JobResponseOutStorageMatch' || selectSubTypeName === 'JobResponseOutStorageOut') { // 批量签审_配套出库响应打印标签||批量签审_供外出库响应打印标签
this.printBatchSignMatchJob(selection)
} else if (selection[0].subTypeName.includes('OutStorage')) { // 打印出库标签
} else if (selectSubTypeName.includes('OutStorage')) { // 打印出库标签
this.printOutStorageLabel(selection)
} else { // 打印入库标签
this.printInStorageLabel(selection)
......@@ -309,7 +310,7 @@ export default {
{ label: '验收单号', value: row.inventory && row.inventory.testNo },
{ label: '保证保管期', value: jobResInTest.guaranteePeriod && jobResInTest.guaranteePeriod.replace(' 00:00:00', '') },
{ label: '贮存期', value: jobResInTest.qualityPeriod && jobResInTest.qualityPeriod.replace(' 00:00:00', '') },
{ label: '库位号', value: jobOrderData.workunit || '' },
{ label: '库位号', value: row.inventory && row.inventory.workunit || '' },
{ label: '出库数量', value: row.allocatedAmount || '' },
{
label: '计量单位', value: jobOrderData.extMaterial.extUnit.unitName || '' },
......
<template>
<div class="proPreConfirmLeft" style="padding-right: 15px; height: 100%; overflow: scroll;">
<!-- 搜索 -->
<dee-as-com
:lay-config="{
typeName: 'OutStorageOut',
layKey: '4e4e6f1e-291e-41b6-8132-b89bcea60722'
}"
@searchEvent="searchEvent"
/>
<!-- 分类展示 -->
<el-collapse
v-model="collapse.active"
v-loading="loading"
accordion
>
<el-collapse-item
v-for="(request, index) in requests"
:key="index"
:name="(index + 1).toString()"
>
<template slot="title">
<section class="collapse-title">| {{ request.name }}{{ request.lists.length }}</section>
</template>
<ul v-if="request.lists.length">
<template v-for="(item, subIndex) in request.lists">
<li
:key="item.id"
class="blue"
:class="{active: subIndex === active,'active-background':item.activeBackground}"
@click="currentDataClick(item,subIndex)"
>
<i class="el-icon-document" />
{{ item.reqNo }} ,{{ item.creator.userName || '暂无' }},
{{ item.createTime }}
</li>
</template>
</ul>
<span v-else class="empty">暂无数据</span>
</el-collapse-item>
</el-collapse>
</div>
</template>
<script>
import { post } from '@/utils/http'
export default {
name: 'MatchConfirmLeft',
components: {
},
props: {
selectData: {
type: Object,
default: () => {}
}
},
data() {
return {
loading: false,
// 搜索表单
form: {
reqNo: '',
reqBill: '',
ao: '',
resCode: '',
modelNo: ''
},
// 手风琴默认高亮
active: 0,
// 手风琴组件
collapse: {
active: ['1']
},
// 申请列表
requests: [
{ name: '供外出库', lists: [] }
],
searchItems: []
}
},
mounted() {
this.init()
this.$bus.$on('reloadModuleList', (hasFlag) => {
this.$nextTick(() => {
this.init()
})
})
},
methods: {
searchEvent(data) {
this.searchItems = data && data.items || []
this.init()
},
// 加载左侧申请表
init() {
const params = {
'pageFrom': 1,
'pageSize': 9999,
'searchItems': {
'children': [],
'items': this.searchItems,
'operator': 'AND'
},
'openProps': [
],
'sortItem': [
{
'fieldName': 'modifyTime',
'sortOrder': 'desc'
}
]
}
this.loading = true
post(`OutStorageRequest/search/outStorageExpireApply?taskDefinitionKey=${this.selectData.taskKey}`, params).then(res => {
const data = res.items.content.map(item => {
return {
...item.pbo,
processInstanceId: item.processTask.processInstanceId,
processTaskId: item.processTask.id
}
})
this.requests.find(item => item.name === '供外出库').lists = data
data && this.currentDataClick(data[0], 0)
}).catch(err => console.log(err)).finally(() => {
this.loading = false
})
},
searchForm() {
this.init()
},
// 重置表单
resetForm() {
this.form = {}
this.init()
},
currentDataClick(item, subIndex) {
this.active = subIndex
this.$emit('currentLeftData:click', item)
}
}
}
</script>
<style lang="scss" scoped>
ul {
margin: -10px 0;
padding: 5px 0 0 0;
li {
margin-top: 5px;
padding: 0 5px 0 8px;
height: 25px;
line-height: 25px;
list-style: none;
cursor: pointer;
font-size: 14px;
color: #606266;
opacity: .85;
white-space: nowrap;
&.black{
color: black;
}
&.active-background{background-color: #67C23A;}
&.blue { color: blue; }
&.red { color: red; }
i { font-size: 14px; }
&:hover, &.active {
opacity: 1;
font-weight: 500;
background-color: #edf0f5;
}
}
}
.empty { margin-left: 10px; color: #666; }
.el-date-editor { width: 100%; }
.collapse-title { font-size: 14px; color: #666; }
.is-active .collapse-title { font-size: 15px; font-weight: 600; color: #222; }
</style>
<template>
<div class="proPreConfirmRight">
<dee-as-com
ref="requestTable"
:basic-data=" { selectData,...currentLeftData,selectionRows}"
:lay-config="{ typeName: 'OutStorageOut', layKey: 'e3b7e2e1-af45-4e28-99f6-6f7583d2c216'}"
table-height="auto"
@selectionChange="selectionChange"
/>
<dee-as-com
ref="itemsTable"
:lay-config="{ typeName: 'OutStorageOutItem', layKey: 'edit_outStorageOutItem_confirm'}"
table-height="35%"
:basic-data=" { selectData,selectionRowsItem,...currentLeftData }"
@selectionChange="selectionChangeItem"
/>
<dee-as-com
ref="responseTable"
:lay-config="{ typeName: 'JobResponseOutStorageOut', layKey: 'batchSign_outStorageOutJobResponse'}"
table-height="47%"
:basic-data=" { selectData,selectionRowsRes,...currentLeftData }"
@selectionChangeRes="selectionChangeRes"
/>
</div>
</template>
<script>
export default {
name: 'MatchConfirmRight',
components: {},
props: {
selectData: {
type: Object,
default: () => {}
},
currentLeftData: {
type: Object,
default: () => {}
}
},
data() {
return {
selectionRows: [],
selectionRowsItem: [],
selectionRowsRes: []
}
},
computed: {},
watch: {
currentLeftData: {
immediate: true,
deep: true,
handler(val) {
this.$nextTick(() => {
this.init()
})
}
}
},
created() {},
mounted() {
this.$bus.$on('refreshUseItemConfirm', (data) => {
this.$refs.itemsTable && this.$refs.itemsTable.$refs.asCom.getData()
})
},
// 组件方法
methods: {
selectionChange(val) {
this.selectionRows = val
},
selectionChangeItem(val) {
this.selectionRowsItem = val
const itemIds = val && val.map(item => item.id) || []
this.$refs.responseTable && this.$refs.responseTable.$refs.asCom.getData(itemIds)
},
selectionChangeRes(val) {
this.selectionRowsRes = val
},
init() {
this.$refs.requestTable && this.$refs.requestTable.$refs.asCom && this.$refs.requestTable.$refs.asCom.getData()
this.$refs.itemsTable && this.$refs.itemsTable.$refs.asCom && this.$refs.itemsTable.$refs.asCom.getData()
}
}
}
</script>
<style lang='scss'>
.proPreConfirmRight{
overflow: auto;
width: 100%;
height: 100%;
box-sizing: border-box;
padding-left: 8px;
.sub-title{
padding-top: 10px!important;
}
.dee-table{
.dee-tools {
margin: 2px 0!important;
}
.dee-table-config-bar{
margin: 2px 0!important;
}
.dee-table-pagination {
margin-top: 12px!important;
}
}
}
</style>
<!--
* @Author: gjn
* @Date: 2023-08-22 15:45:30
* @Date: 2023-12-22 15:34:39
* @Description:批量签审_供外出库确认
-->
<template>
<div class="outStorageOutConfirm">
<dee-as-com
ref="applyTable"
class="list-table"
:basic-data=" { selectData,selectionRows }"
:lay-config="{ typeName: 'OutStorageOut', layKey: 'batchSign_outStorageOutConfirm'}"
@selectionChange="selectionChange"
<dee-fold-pane
:min-percent="18"
:default-percent="18"
split="vertical"
class="detail-pane"
>
<template slot="paneL">
<Left
ref="left"
:select-data="selectData"
@currentLeftData:click="currentAoClick"
/>
</template>
<template slot="paneR">
<Right
v-show="subTypeName === '1'"
ref="right"
:select-data="selectData"
:current-left-data="currentLeftData"
/>
<!-- empty -->
<section v-if="!subTypeName" style="padding-left: 15px;">
请先选择左侧请求单
</section>
</template>
</dee-fold-pane>
</div>
</template>
<script>
import Left from './components/left.vue'
import Right from './components/right.vue'
export default {
name: 'OutStorageOutConfirm',
components: { },
components: { Left, Right },
props: {
selectData: {
type: Object,
......@@ -28,7 +48,8 @@ export default {
},
data() {
return {
selectionRows: []
subTypeName: '',
currentLeftData: null
}
},
computed: {},
......@@ -37,8 +58,9 @@ export default {
mounted() {},
// 组件方法
methods: {
selectionChange(val) {
this.selectionRows = val
currentAoClick(data) {
this.subTypeName = '1'
this.currentLeftData = data
}
}
}
......@@ -47,7 +69,7 @@ export default {
<style lang='scss'>
.outStorageOutConfirm{
width: 100%;
height: 100%;
height: 103%;
box-sizing: border-box;
padding:0 4px;
......
......@@ -56,7 +56,7 @@ export default {
},
init(currentAo) {
this.$refs.outStorageMatch && this.$refs.outStorageMatch.$refs.asCom.getData(currentAo && currentAo.id || 0)
this.$refs.outStorageMatch && this.$refs.outStorageMatchItem.$refs.asCom.getData(currentAo && currentAo.id || 0)
this.$refs.outStorageMatchItem && this.$refs.outStorageMatchItem.$refs.asCom.getData(currentAo && currentAo.id || 0)
}
}
}
......
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