Commit e734c12b authored by qinhaoran's avatar qinhaoran

Merge branch 'ERP_202406251616' of http://94.191.100.41/tfmom/tf-mom-web into ERP_202406251616

parents 9d37c662 4c8161bc
...@@ -222,7 +222,16 @@ export default { ...@@ -222,7 +222,16 @@ export default {
Object.keys(this.$store.state.tagsView.visitedViews).forEach(key => { Object.keys(this.$store.state.tagsView.visitedViews).forEach(key => {
list = [...list, ...this.$store.state.tagsView.visitedViews[key]] list = [...list, ...this.$store.state.tagsView.visitedViews[key]]
}) })
this.$set(this, 'visitedViews', list.filter(x => (x.path !== '/home' && x.path !== '/businessHome' && x.path !== '/systemHome' && x.path !== '/DevopsHome' && x.path !== '/safeHome'))) const filterViews = list.filter(x => (x.path !== '/home' && x.path !== '/businessHome' && x.path !== '/systemHome' && x.path !== '/DevopsHome' && x.path !== '/safeHome'))
const tempViews = filterViews.reduce((acc, current) => {
const exists = acc.find(item => item.title === current.title)
if (!exists) {
acc.push(current)
}
return acc
}, [])
this.$set(this, 'visitedViews', tempViews)
// this.$set(this, 'visitedViews', list.filter(x => (x.path !== '/home' && x.path !== '/businessHome' && x.path !== '/systemHome' && x.path !== '/DevopsHome' && x.path !== '/safeHome')))
} }
}, 0) }, 0)
}, },
......
...@@ -1701,6 +1701,22 @@ export function addMinutes(date, minutes) { ...@@ -1701,6 +1701,22 @@ export function addMinutes(date, minutes) {
const resDate= formatDate(dateFormat, 'YYYY-MM-DD HH:mm:ss') const resDate= formatDate(dateFormat, 'YYYY-MM-DD HH:mm:ss')
return resDate return resDate
} }
/**
* 计算两个日期时间字符串的时间差(单位:分钟)
* @param {*} dateTimeStr1
* @param {*} dateTimeStr2
* @returns
*/
export function getTimeDifferenceInMinutes(dateTimeStr1, dateTimeStr2) {
const date1 = new Date(dateTimeStr1)
const date2 = new Date(dateTimeStr2)
if (isNaN(date1.getTime()) || isNaN(date2.getTime())) {
throw new Error('无效的日期时间字符串')
}
const differenceInMilliseconds = Math.abs(date2 - date1) // 使用Math.abs获取绝对值,确保总是正数
const differenceInSeconds = differenceInMilliseconds / (1000 * 60)
return differenceInSeconds
}
export default { export default {
findByNameVnode, findByNameVnode,
...@@ -1795,5 +1811,6 @@ export default { ...@@ -1795,5 +1811,6 @@ export default {
subNum, subNum,
getTargetJobResponses, getTargetJobResponses,
export_excel, export_excel,
addMinutes addMinutes,
getTimeDifferenceInMinutes
} }
...@@ -143,7 +143,7 @@ export default { ...@@ -143,7 +143,7 @@ export default {
{ {
title: 'AO名称', title: 'AO名称',
show: true, show: true,
key: 'materName', key: 'name',
sortable: true, sortable: true,
minWidth: 100 minWidth: 100
}, },
......
...@@ -88,7 +88,7 @@ export default { ...@@ -88,7 +88,7 @@ export default {
this.$set(this.cmpOptions, 'layKey', `outStorageUseMaterial_Add_${val}`) this.$set(this.cmpOptions, 'layKey', `outStorageUseMaterial_Add_${val}`)
break break
case 'scrapUse': case 'scrapUse':
this.amountItemLabel = '报废数量' this.amountItemLabel = '申领数量'
this.$set(this.cmpOptions, 'layKey', `outStorageUseMaterial_Add_${val}`) this.$set(this.cmpOptions, 'layKey', `outStorageUseMaterial_Add_${val}`)
break break
default: default:
......
...@@ -471,6 +471,11 @@ export default { ...@@ -471,6 +471,11 @@ export default {
const addTime = (!this.form.spec || this.form.spec === '/') ? 0 : Number(this.form.spec) const addTime = (!this.form.spec || this.form.spec === '/') ? 0 : Number(this.form.spec)
const resultDate = this.$utils.addMinutes(this.form.mixStartTime, addTime * 60) const resultDate = this.$utils.addMinutes(this.form.mixStartTime, addTime * 60)
this.$set(this.form, 'mixEndTime', resultDate) this.$set(this.form, 'mixEndTime', resultDate)
// 设置剩余施工期
if (this.form.mixStartTime && this.form.validityStart) {
const diffTime = addTime - this.$utils.getTimeDifferenceInMinutes(this.form.mixStartTime, this.form.validityStart)
this.$set(this.form, 'leftWorkMinutes', diffTime)
}
} }
}, },
changeRequest() { changeRequest() {
......
...@@ -99,6 +99,7 @@ export default { ...@@ -99,6 +99,7 @@ export default {
if (this.selection.subTypeName === 'JobResponseOutStorageMatch') { // 历史配套数据(配套退库使用) if (this.selection.subTypeName === 'JobResponseOutStorageMatch') { // 历史配套数据(配套退库使用)
responseName = 'oldOutStorage' responseName = 'oldOutStorage'
scrapCount = -(this.selection.scrapCount) scrapCount = -(this.selection.scrapCount)
delete this.selection.erpInventory
} else { } else {
responseName = 'jobResponseSorting' responseName = 'jobResponseSorting'
} }
...@@ -126,7 +127,7 @@ export default { ...@@ -126,7 +127,7 @@ export default {
'aoPlan': aoNo, 'aoPlan': aoNo,
'mdsItemCode': inventoryData.extMaterial.resCode 'mdsItemCode': inventoryData.extMaterial.resCode
}] }]
data[0][responseName] = this.selection data[0][responseName] = JSON.parse(JSON.stringify(this.selection))
this.$emit('submitEvent', { formData: data, addContinue }) this.$emit('submitEvent', { formData: data, addContinue })
addContinue && this.cleanAddForm() addContinue && this.cleanAddForm()
} else { } else {
......
...@@ -1905,6 +1905,7 @@ ...@@ -1905,6 +1905,7 @@
<ExpireWarningDialog ref="ExpireWarningDialog" /> <ExpireWarningDialog ref="ExpireWarningDialog" />
<SummaryOfStationMissingPartsDialog <SummaryOfStationMissingPartsDialog
ref="SummaryOfStationMissingPartsDialog" ref="SummaryOfStationMissingPartsDialog"
:summary-of-station-missing-parts-params="summaryOfStationMissingPartsParams"
/> />
<SiteProblemManagementSummaryDialog <SiteProblemManagementSummaryDialog
ref="SiteProblemManagementSummaryDialog" ref="SiteProblemManagementSummaryDialog"
...@@ -2604,10 +2605,6 @@ export default { ...@@ -2604,10 +2605,6 @@ export default {
const chartDom = document.getElementById('outsourcEchart') const chartDom = document.getElementById('outsourcEchart')
const myChart = echarts.init(chartDom) const myChart = echarts.init(chartDom)
myChart.on('click', function(params) { myChart.on('click', function(params) {
if (params) {
console.log('跳转暂时未做,需要做的时候删除这段代码!')
return
}
that.routerSummaryOfStationMissingParts( that.routerSummaryOfStationMissingParts(
'外购成品', '外购成品',
params.name, params.name,
...@@ -2648,10 +2645,6 @@ export default { ...@@ -2648,10 +2645,6 @@ export default {
const chartDom = document.getElementById('sparepartsEchart') const chartDom = document.getElementById('sparepartsEchart')
const myChart = echarts.init(chartDom) const myChart = echarts.init(chartDom)
myChart.on('click', function(params) { myChart.on('click', function(params) {
if (params) {
console.log('跳转暂时未做,需要做的时候删除这段代码!')
return
}
that.routerSummaryOfStationMissingParts( that.routerSummaryOfStationMissingParts(
'零组件', '零组件',
params.name, params.name,
...@@ -2690,10 +2683,6 @@ export default { ...@@ -2690,10 +2683,6 @@ export default {
const chartDom = document.getElementById('standardEchart') const chartDom = document.getElementById('standardEchart')
const myChart = echarts.init(chartDom) const myChart = echarts.init(chartDom)
myChart.on('click', function(params) { myChart.on('click', function(params) {
if (params) {
console.log('跳转暂时未做,需要做的时候删除这段代码!')
return
}
that.routerSummaryOfStationMissingParts( that.routerSummaryOfStationMissingParts(
'标准件', '标准件',
params.name, params.name,
...@@ -2791,7 +2780,7 @@ export default { ...@@ -2791,7 +2780,7 @@ export default {
if (res.message.includes('成功')) { if (res.message.includes('成功')) {
Object.entries(res.items).forEach(([key, value]) => { Object.entries(res.items).forEach(([key, value]) => {
const targetIndex = superviseOption.series[0].data.findIndex(el => (el.name === key)) const targetIndex = superviseOption.series[0].data.findIndex(el => (el.name === key))
superviseOption.series[0].data[targetIndex].value = value superviseOption.series[0].data[targetIndex] && (superviseOption.series[0].data[targetIndex].value = value)
}) })
} }
}) })
...@@ -2987,7 +2976,9 @@ export default { ...@@ -2987,7 +2976,9 @@ export default {
name: 'summaryOfStationMissingParts', name: 'summaryOfStationMissingParts',
query: { query: {
name: name, name: name,
serialNumber: serialNumber, rootPage: 'AssembleKanban',
serialNumber: this.$route.query.serialNumber,
sorties: this.$route.query.sorties,
seriesName: seriesName seriesName: seriesName
} }
} }
......
...@@ -56,6 +56,11 @@ export default { ...@@ -56,6 +56,11 @@ export default {
'fieldName': 'sorties', 'fieldName': 'sorties',
'operator': 'EQ', 'operator': 'EQ',
'value': queryData.sorties 'value': queryData.sorties
},
{
'fieldName': 'state',
'operator': 'NEQ',
'value': 'Finish'
} }
] ]
if (queryData.rootPage === 'ExperimentKanban') { if (queryData.rootPage === 'ExperimentKanban') {
......
...@@ -9,30 +9,75 @@ ...@@ -9,30 +9,75 @@
class="summary-of-station-missing-parts-dialog" class="summary-of-station-missing-parts-dialog"
:destroy-on-close="true" :destroy-on-close="true"
@close="close" @close="close"
@opened="opened"
> >
<!-- <SummaryOfStationMissingParts /> --> <dee-as-com
:default-data="extraParams"
:lay-config="{
typeName: 'ExtSupportingItem',
layKey: 'stationMissingPartsSearch'
}"
@searchEvent="searchEvent"
/>
<dee-as-com
ref="table"
table-height="calc(100vh - 270px)"
class="list-table"
:lay-config="cmpOptions"
/>
</el-dialog> </el-dialog>
</template> </template>
<script> <script>
// import SummaryOfStationMissingParts from '@/views/mes/materialMatch/summaryOfStationMissingParts/index'
export default { export default {
name: 'SummaryOfStationMissingPartsDialog', name: 'SummaryOfStationMissingPartsDialog',
components: { components: {
// SummaryOfStationMissingParts
}, },
props: { }, props: {
summaryOfStationMissingPartsParams: {
type: Object,
default: () => {}
}
},
data() { data() {
return { return {
visible: false visible: false,
cmpOptions: { layKey: 'stationMissingParts', typeName: 'ExtSupportingItem' },
extraParams: {}
} }
}, },
computed: { computed: {
}, },
created() {}, created() {},
methods: { methods: {
opened() {
const queryData = this.summaryOfStationMissingPartsParams.query
this.extraParams = {
isOk: queryData.seriesName === '齐套' ? 'Y' : 'N',
sorties: queryData.sorties || '',
typeName: queryData.name
}
if (queryData.rootPage === 'ExperimentKanban') {
this.extraParams.positionNo = queryData.serialNumber
}
setTimeout(() => {
this.$refs.table.$refs.asCom.getData(this.extraParams)
}, 500)
},
close() { close() {
this.$parent.SummaryOfStationMissingPartsParams = {}
this.visible = false this.visible = false
},
searchEvent(data) {
const searchItem = data && data.items || []
let defaultItem = {}
if (searchItem && searchItem.length) {
defaultItem = searchItem.reduce((acc, item) => {
acc[item.fieldName] = item.value
return acc
}, {})
} else {
defaultItem = this.extraParams
}
this.$refs.table.$refs.asCom.getData(defaultItem)
} }
} }
} }
......
...@@ -1979,7 +1979,7 @@ ...@@ -1979,7 +1979,7 @@
</div> </div>
<JobPlanExecutionQueryDialog ref="JobPlanExecutionQueryDialog" :job-plan-execution-query-params="JobPlanExecutionQueryParams" /> <JobPlanExecutionQueryDialog ref="JobPlanExecutionQueryDialog" :job-plan-execution-query-params="JobPlanExecutionQueryParams" />
<SQCDPDialog ref="SQCDPDialog" :sqcdp-params="sqcdpParams" /> <SQCDPDialog ref="SQCDPDialog" :sqcdp-params="sqcdpParams" />
<SummaryOfStationMissingPartsDialog ref="SummaryOfStationMissingPartsDialog" /> <SummaryOfStationMissingPartsDialog ref="SummaryOfStationMissingPartsDialog" :summary-of-station-missing-parts-params="summaryOfStationMissingPartsParams" />
<SiteProblemManagementSummaryDialog ref="SiteProblemManagementSummaryDialog" :site-problem-management-summary-params="siteProblemManagementSummaryParams" /> <SiteProblemManagementSummaryDialog ref="SiteProblemManagementSummaryDialog" :site-problem-management-summary-params="siteProblemManagementSummaryParams" />
</div> </div>
</template> </template>
...@@ -2592,10 +2592,6 @@ export default { ...@@ -2592,10 +2592,6 @@ export default {
const chartDom = document.getElementById('missPartsEchart') const chartDom = document.getElementById('missPartsEchart')
const myChart = echarts.init(chartDom) const myChart = echarts.init(chartDom)
myChart.on('click', function(params) { myChart.on('click', function(params) {
if (params) {
console.log('跳转暂时未做,需要做的时候删除这段代码!')
return
}
that.routerSummaryOfStationMissingParts(params.name, params.seriesName) that.routerSummaryOfStationMissingParts(params.name, params.seriesName)
}) })
myChart.setOption(optionParts) myChart.setOption(optionParts)
...@@ -2805,11 +2801,13 @@ export default { ...@@ -2805,11 +2801,13 @@ export default {
* 站位缺件汇总 * 站位缺件汇总
*/ */
routerSummaryOfStationMissingParts(name, seriesName) { routerSummaryOfStationMissingParts(name, seriesName) {
this.SummaryOfStationMissingPartsParams = { this.summaryOfStationMissingPartsParams = {
name: 'summaryOfStationMissingParts', name: 'summaryOfStationMissingParts',
query: { query: {
name: name, name: name,
serialNumber: this.info.serialNumber, rootPage: 'ExperimentKanban',
serialNumber: this.$route.query.serialNumber,
sorties: this.$route.query.sorties,
seriesName: seriesName seriesName: seriesName
} }
} }
......
...@@ -4,10 +4,11 @@ ...@@ -4,10 +4,11 @@
<template> <template>
<div style="height:100%;width:100%"> <div style="height:100%;width:100%">
<div class="production-kanban"> <div class="production-kanban">
<header> <header v-if="!showOverlay">
<div <div
v-for="item in sortiesData" v-for="item in displayedFlights"
:key="item.aircraftSorties.defCode" :key="item.aircraftSorties.defCode"
class="flight-item"
:class=" :class="
sortiesRow.aircraftSorties.defCode === item.aircraftSorties.defCode ? 'cur' : '' sortiesRow.aircraftSorties.defCode === item.aircraftSorties.defCode ? 'cur' : ''
" "
...@@ -15,7 +16,22 @@ ...@@ -15,7 +16,22 @@
> >
{{ item.aircraftSorties.defCode }} {{ item.aircraftSorties.defCode }}
</div> </div>
<div v-if="hasMoreFlights" class="ellipsis" @click="toggleOverlay">···</div>
</header> </header>
<div v-else class="overlay">
<h2 class="allFightTitle">全部架次</h2>
<div
v-for="item in sortiesData"
:key="item.aircraftSorties.defCode"
:class="
sortiesRow.aircraftSorties.defCode === item.aircraftSorties.defCode ? 'cur' : ''
"
class="overlay-item"
@click="selectFlight(item)"
>
{{ item.aircraftSorties.defCode }}
</div>
</div>
<div <div
v-for="item in stationData" v-for="item in stationData"
:key="item.serialNumber" :key="item.serialNumber"
...@@ -187,7 +203,8 @@ export default { ...@@ -187,7 +203,8 @@ export default {
} }
], ],
JobPlanExecutionQueryParams: {}, JobPlanExecutionQueryParams: {},
erd: elementResizeDetectorMaker() erd: elementResizeDetectorMaker(),
showOverlay: false
} }
}, },
computed: { computed: {
...@@ -211,6 +228,13 @@ export default { ...@@ -211,6 +228,13 @@ export default {
}, },
isFullscreen() { isFullscreen() {
return this.$store.state.storeFull.isFullscreen return this.$store.state.storeFull.isFullscreen
},
// 默认最多展示十三个
displayedFlights() {
return this.sortiesData.slice(0, 13)
},
hasMoreFlights() {
return this.sortiesData.length > 13
} }
}, },
created() {}, created() {},
...@@ -467,6 +491,20 @@ export default { ...@@ -467,6 +491,20 @@ export default {
} else if (document.webkitExitFullscreen) { } else if (document.webkitExitFullscreen) {
document.webkitExitFullscreen() document.webkitExitFullscreen()
} }
},
toggleOverlay() {
this.showOverlay = true
},
selectFlight(flightObj) {
this.selectSorties(flightObj.aircraftSorties.defCode)
const index = this.sortiesData.findIndex(data => {
return data.aircraftSorties.defCode === flightObj.aircraftSorties.defCode
})
if (index > 0) {
this.sortiesData.splice(index, 1)
this.sortiesData.unshift(flightObj)
this.showOverlay = false
}
} }
} }
} }
...@@ -494,9 +532,40 @@ position: relative; ...@@ -494,9 +532,40 @@ position: relative;
> header { > header {
position: absolute; position: absolute;
display: flex; display: flex;
top: 90px; top: 103px;
left: 100px; left: 100px;
> div { .ellipsis{
width: 65px;
height: 65px;
line-height: 65px;
font-size: 30px;
font-weight: 700;
color:#999;
cursor: pointer;
}
}
.overlay {
position: absolute;
top:60px;
left: 70px;
width: 1200px;
position: absolute;
background-color: rgba(6, 24, 26, 0.8);
display: flex;
flex-wrap: wrap;
align-items: flex-end;
z-index: 99;
padding-top: 10px;
padding-left: 30px;
border-radius: 6px;
.allFightTitle{
width: 100%;
margin-bottom: 10px;
font-size: 20px;
color:#D9EBEC;
}
}
.flight-item,.overlay-item{
width: 65px; width: 65px;
height: 65px; height: 65px;
background-image: url("../../../assets/看板/按钮灰.png"); background-image: url("../../../assets/看板/按钮灰.png");
...@@ -520,7 +589,9 @@ position: relative; ...@@ -520,7 +589,9 @@ position: relative;
margin-right: 25px; margin-right: 25px;
} }
} }
} .overlay-item{
margin-bottom: 20px;
}
> .station { > .station {
position: absolute; position: absolute;
// width: 170px; // width: 170px;
......
...@@ -165,6 +165,7 @@ export default { ...@@ -165,6 +165,7 @@ export default {
{ label: '计量单位', value: erpInventoryData.unit || '' }, { label: '计量单位', value: erpInventoryData.unit || '' },
{ label: '机型', value: erpSortingData.airModel || '' }, { label: '机型', value: erpSortingData.airModel || '' },
{ label: '架次', value: erpSortingData.sorties || '' }, { label: '架次', value: erpSortingData.sorties || '' },
{ label: '分拣人', value: erpSortingData.creator.userName || '' },
{ label: '库位号', value: erpInventoryData.workerUnit || '' } { label: '库位号', value: erpInventoryData.workerUnit || '' }
] ]
}) })
......
...@@ -69,6 +69,7 @@ ...@@ -69,6 +69,7 @@
@pagination-current-change="paginationCurrentChange" @pagination-current-change="paginationCurrentChange"
@pagination-size-change="handleSizeChange" @pagination-size-change="handleSizeChange"
@selection-change="selectionChange" @selection-change="selectionChange"
@sort-change="handleSortChange"
> >
<dee-tools slot="header" :tools="tools" mode="normal" /> <dee-tools slot="header" :tools="tools" mode="normal" />
</dee-up-table> </dee-up-table>
...@@ -156,11 +157,12 @@ export default { ...@@ -156,11 +157,12 @@ export default {
width: '70' width: '70'
}, },
columns: [ columns: [
{ title: '机上区域', key: 'extProcessPlan.area', align: 'left', minWidth: 120 }, { title: '机上区域', key: 'extProcessPlan.area', align: 'left', minWidth: 120, sortable: true },
{ {
title: '指令号', title: '指令号',
key: 'extProcessPlan.serialNumber', key: 'extProcessPlan.serialNumber',
align: 'left', align: 'left',
sortable: true,
minWidth: 330, minWidth: 330,
component: { component: {
render: (h, params) => { render: (h, params) => {
...@@ -205,12 +207,12 @@ export default { ...@@ -205,12 +207,12 @@ export default {
{ title: '计划开始', key: 'scheduledStart', align: 'left', { title: '计划开始', key: 'scheduledStart', align: 'left',
formatter(row, column) { formatter(row, column) {
return row.scheduledStart ? row.scheduledStart.substr(0, 10) : '' return row.scheduledStart ? row.scheduledStart.substr(0, 10) : ''
} }, minWidth: 140, sortable: true
}, },
{ title: '计划结束', key: 'scheduledEnd', align: 'left', { title: '计划结束', key: 'scheduledEnd', align: 'left',
formatter(row, column) { formatter(row, column) {
return row.scheduledEnd ? row.scheduledEnd.substr(0, 10) : '' return row.scheduledEnd ? row.scheduledEnd.substr(0, 10) : ''
} }, minWidth: 140, sortable: true
} }
], ],
tableData: [], tableData: [],
...@@ -288,7 +290,11 @@ export default { ...@@ -288,7 +290,11 @@ export default {
], ],
groupUserTotal: 0, groupUserTotal: 0,
groupUserPage: 1, groupUserPage: 1,
isLoading: false isLoading: false,
sortItem: [{
'fieldName': 'modifyTime',
'sortOrder': 'desc'
}]
} }
}, },
computed: { computed: {
...@@ -551,12 +557,7 @@ export default { ...@@ -551,12 +557,7 @@ export default {
] ]
} }
], ],
'sortItem': [ 'sortItem': this.sortItem
{
'fieldName': 'modifyTime',
'sortOrder': 'desc'
}
]
} }
if (this.searchFormData.sortiesName) { if (this.searchFormData.sortiesName) {
params.searchItems.children[0].items.push({ params.searchItems.children[0].items.push({
...@@ -654,6 +655,14 @@ export default { ...@@ -654,6 +655,14 @@ export default {
this.groupUserPage++ this.groupUserPage++
this.getGroupUser() this.getGroupUser()
} }
},
handleSortChange({ column, prop, order }) {
if (prop && order) {
this.sortItem = [{ fieldName: prop, sortOrder: order.includes('asc') ? 'asc' : 'desc' }]
} else {
this.sortItem = [{ 'fieldName': 'modifyTime', 'sortOrder': 'desc' }]
}
this.getInstructionsDispatchList()
} }
} }
} }
......
...@@ -74,6 +74,7 @@ ...@@ -74,6 +74,7 @@
@pagination-current-change="paginationCurrentChange" @pagination-current-change="paginationCurrentChange"
@pagination-size-change="handleSizeChange" @pagination-size-change="handleSizeChange"
@selection-change="selectionChange" @selection-change="selectionChange"
@sort-change="handleSortChange"
> >
<dee-tools slot="header" :tools="tools" mode="normal" /> <dee-tools slot="header" :tools="tools" mode="normal" />
</dee-up-table> </dee-up-table>
...@@ -213,11 +214,12 @@ export default { ...@@ -213,11 +214,12 @@ export default {
width: '70' width: '70'
}, },
columns: [ columns: [
{ title: '机上区域', key: 'extProcessPlan.area', align: 'left', minWidth: 120 }, { title: '机上区域', key: 'extProcessPlan.area', align: 'left', minWidth: 120, sortable: true },
{ {
title: '指令号', title: '指令号',
key: 'extProcessPlan.serialNumber', key: 'extProcessPlan.serialNumber',
align: 'left', align: 'left',
sortable: true,
minWidth: 330, minWidth: 330,
component: { component: {
render: (h, params) => { render: (h, params) => {
...@@ -249,10 +251,12 @@ export default { ...@@ -249,10 +251,12 @@ export default {
} }
} }
}, },
{ title: '指令名称', key: 'extProcessPlan.name', align: 'left', minWidth: 280 }, { title: '指令名称', key: 'extProcessPlan.name', align: 'left', minWidth: 280, sortable: true },
{ title: '是否协同', { title: '是否协同',
key: 'extProcessPlan.name', key: 'extProcessPlan.name',
align: 'left', align: 'left',
minWidth: 120,
sortable: true,
formatter(row) { formatter(row) {
return row.cooperatives ? '协同' : '' return row.cooperatives ? '协同' : ''
} }
...@@ -268,14 +272,14 @@ export default { ...@@ -268,14 +272,14 @@ export default {
{ title: '工时', key: 'extProcessPlan.workHour', align: 'left' }, { title: '工时', key: 'extProcessPlan.workHour', align: 'left' },
{ title: '计划员', key: 'planner.name', align: 'left' }, { title: '计划员', key: 'planner.name', align: 'left' },
{ title: '工艺员', key: 'extProcessPlan.noteName', align: 'left' }, { title: '工艺员', key: 'extProcessPlan.noteName', align: 'left' },
{ title: '计划开始', key: 'scheduledStart', align: 'left', { title: '计划开始', key: 'scheduledStart', align: 'left', minWidth: 140,
formatter(row, column) { formatter(row, column) {
return row.scheduledStart ? row.scheduledStart.substr(0, 10) : '' return row.scheduledStart ? row.scheduledStart.substr(0, 10) : ''
} }, }, sortable: true },
{ title: '计划结束', key: 'scheduledEnd', align: 'left', { title: '计划结束', key: 'scheduledEnd', align: 'left', minWidth: 140,
formatter(row, column) { formatter(row, column) {
return row.scheduledEnd ? row.scheduledEnd.substr(0, 10) : '' return row.scheduledEnd ? row.scheduledEnd.substr(0, 10) : ''
} }, sortable: true
} }
], ],
tableData: [], tableData: [],
...@@ -368,7 +372,11 @@ export default { ...@@ -368,7 +372,11 @@ export default {
groupUserPage: 1, groupUserPage: 1,
mainUserId: null, mainUserId: null,
postionList: [], postionList: [],
isLoading: false isLoading: false,
sortItem: [{
'fieldName': 'modifyTime',
'sortOrder': 'desc'
}]
} }
}, },
computed: { computed: {
...@@ -631,12 +639,7 @@ export default { ...@@ -631,12 +639,7 @@ export default {
'name': 'cooperatives' 'name': 'cooperatives'
} }
], ],
'sortItem': [ 'sortItem': this.sortItem
{
'fieldName': 'modifyTime',
'sortOrder': 'desc'
}
]
} }
if (this.searchFormData.sorties) { if (this.searchFormData.sorties) {
params.searchItems.children[0].items.push({ params.searchItems.children[0].items.push({
...@@ -740,6 +743,14 @@ export default { ...@@ -740,6 +743,14 @@ export default {
this.groupUserPage++ this.groupUserPage++
this.getGroupUser() this.getGroupUser()
} }
},
handleSortChange({ column, prop, order }) {
if (prop && order) {
this.sortItem = [{ fieldName: prop, sortOrder: order.includes('asc') ? 'asc' : 'desc' }]
} else {
this.sortItem = [{ 'fieldName': 'modifyTime', 'sortOrder': 'desc' }]
}
this.getInstructionsDispatchList()
} }
} }
} }
......
...@@ -768,6 +768,7 @@ export default { ...@@ -768,6 +768,7 @@ export default {
} }
} }
.right-container { .right-container {
background-color: #fff;
margin-left: 20px; margin-left: 20px;
} }
} }
......
...@@ -228,17 +228,17 @@ export default { ...@@ -228,17 +228,17 @@ export default {
showSearchConditions: true, // 控制搜索条件是否显示 showSearchConditions: true, // 控制搜索条件是否显示
editableTabs: [{ editableTabs: [{
id: 1, id: 1,
name: '计划下达', name: 'AO/AOR 计划下达',
configName: 'JoExecutePlanSend' configName: 'JoExecutePlanSend'
}, },
{ {
id: 2, id: 2,
name: 'CAS配套', name: 'CAS 计划下达',
configName: 'CasAssemble' configName: 'CasAssemble'
}], }],
currTab: { currTab: {
id: 1, id: 1,
name: '计划下达', name: 'AO/AOR计划下达',
configName: 'JoExecutePlanSend' configName: 'JoExecutePlanSend'
} }
} }
......
...@@ -39,6 +39,7 @@ import { post } from '@/utils/http' ...@@ -39,6 +39,7 @@ import { post } from '@/utils/http'
export default { export default {
name: 'StorageExperimentDialog', name: 'StorageExperimentDialog',
data() { data() {
const _that = this
return { return {
visible: false, visible: false,
loading: false, loading: false,
...@@ -71,7 +72,30 @@ export default { ...@@ -71,7 +72,30 @@ export default {
'show': true, 'show': true,
'headerAlign': 'center', 'headerAlign': 'center',
'align': 'left' 'align': 'left'
},
{
align: 'center',
headerAlign: 'center',
key: 'target.contentType',
parentKey: 'target',
level: 1,
show: true,
title: '备注',
component: {
componentType: 'render',
render: (h, data, column, index) => {
return <el-input v-model={data.target.contentType} class='modify-state-select' size='small'
v-on:change={(val) => {
data.operator = 'MODIFY'
data.contentType = data.target.contentType
_that.$set(_that.process.fileList, index, data)
}}
>
</el-input>
} }
}
}
], ],
tableConfig: { tableConfig: {
component: { component: {
...@@ -96,6 +120,7 @@ export default { ...@@ -96,6 +120,7 @@ export default {
taleType: 'single', taleType: 'single',
url: '/dfs/fileManager/feign/uploadFile' url: '/dfs/fileManager/feign/uploadFile'
}, },
isAttachmentUsedSecret: true,
descriptionShowMode: 'text', descriptionShowMode: 'text',
hidden: false, hidden: false,
key: 'objFileLinks', key: 'objFileLinks',
......
...@@ -214,6 +214,12 @@ ...@@ -214,6 +214,12 @@
label="扩展名" label="扩展名"
align="center" align="center"
/> />
<el-table-column
min-width="120"
prop="contentType"
label="备注"
align="center"
/>
</el-table> </el-table>
</div> </div>
<!-- <span <!-- <span
......
...@@ -126,8 +126,13 @@ export default { ...@@ -126,8 +126,13 @@ export default {
appId: 1626782774851 appId: 1626782774851
}, },
{ {
taskType: '配套自动退库确认', taskType: '配套退库申请',
type: 'ERP_MatchAutoReturnConfirm', type: 'ERP_MatchReturnApply',
appId: 1626782774851
},
{
taskType: '配套退库确认',
type: 'ERP_MatchReturnConfirm',
appId: 1626782774851 appId: 1626782774851
}, },
{ {
...@@ -135,6 +140,11 @@ export default { ...@@ -135,6 +140,11 @@ export default {
type: 'ERP_StockBackConfirm', type: 'ERP_StockBackConfirm',
appId: 1626782774851 appId: 1626782774851
}, },
{
taskType: '台账退库确认',
type: 'ERP_InventoryBackConfirm',
appId: 1626782774851
},
{ {
taskType: '入库台账确认', taskType: '入库台账确认',
type: 'ERP_ErpInventoryConfirm', type: 'ERP_ErpInventoryConfirm',
...@@ -230,7 +240,7 @@ export default { ...@@ -230,7 +240,7 @@ export default {
get(`/indexTask/task/ProdTask`, {}).then(res => { get(`/indexTask/task/ProdTask`, {}).then(res => {
this.$set(this.quickAccessList[index], 'taskCount', res.items.count) this.$set(this.quickAccessList[index], 'taskCount', res.items.count)
}) })
} else if (item.taskType === '准备工出库调整' || item.taskType === '操作工确认' || item.taskType === '配套自动退库确认') { } else if (item.taskType === '准备工出库调整' || item.taskType === '操作工确认') {
post(`/ErpSorting/currentUserSortingTaskCount`, {}).then(res => { post(`/ErpSorting/currentUserSortingTaskCount`, {}).then(res => {
let resKey = '' let resKey = ''
switch (item.taskType) { switch (item.taskType) {
...@@ -240,16 +250,50 @@ export default { ...@@ -240,16 +250,50 @@ export default {
case '操作工确认': case '操作工确认':
resKey = '操作工任务数量' resKey = '操作工任务数量'
break break
case '配套自动退库确认':
resKey = '自动配套退库任务'
break
default: default:
break break
} }
this.$set(this.quickAccessList[index], 'taskCount', res.items[resKey]) this.$set(this.quickAccessList[index], 'taskCount', res.items[resKey])
}) })
} else if (item.taskType === '配套退库申请') {
post(`/ErpRetirementRequest/searchBackApplyTaskCount`, {
'searchItems': {
'items': [
{
'fieldName': 'state',
'operator': 'IN',
'value': ['Apply', 'Back']
},
{
'fieldName': 'subTypeName',
'operator': 'EQ',
'value': 'MatchStockBackRequest'
},
{
'fieldName': 'extProcessPlan.joExecutePlan.prodTask.extProcessSkillUser.dxUserInfoId ',
'operator': 'EQ',
'value': localStorage.getItem('userId')
},
{
'fieldName': 'extProcessPlan.joExecutePlan.prodTask',
'operator': 'EQ',
'value': 'FitOut'
}
]
}
}).then(res => {
this.$set(this.quickAccessList[index], 'taskCount', res.items)
})
} else if (item.taskType === '配套退库确认') {
post(`/ErpRetirementRequest/searchBackTaskCount?subTypeName=MatchStockBackRequest`, {}).then(res => {
this.$set(this.quickAccessList[index], 'taskCount', res.items)
})
} else if (item.taskType === '库内退库确认') { } else if (item.taskType === '库内退库确认') {
post(`/ErpRetirementRequest/searchBackTaskCount`, {}).then(res => { post(`/ErpRetirementRequest/searchBackTaskCount?subTypeName=InternalStockBackRequest`, {}).then(res => {
this.$set(this.quickAccessList[index], 'taskCount', res.items)
})
} else if (item.taskType === '台账退库确认') {
post(`/ErpRetirementRequest/searchBackTaskCount?subTypeName=InventoryStockBackRequest`, {}).then(res => {
this.$set(this.quickAccessList[index], 'taskCount', res.items) this.$set(this.quickAccessList[index], 'taskCount', res.items)
}) })
} else if (item.taskType === '入库台账确认') { } else if (item.taskType === '入库台账确认') {
...@@ -305,7 +349,7 @@ export default { ...@@ -305,7 +349,7 @@ export default {
} }
}) })
this.$store.dispatch('app/closeSideBar', false) this.$store.dispatch('app/closeSideBar', false)
} else if (['准备工出库调整', '操作工确认', '配套自动退库确认', '库内退库确认', '领用出库确认', '入库台账确认'].includes(item.taskType)) { } else if (['准备工出库调整', '操作工确认', '配套退库申请', '配套退库确认', '库内退库确认', '领用出库确认', '入库台账确认', '台账退库确认'].includes(item.taskType)) {
let pageNo = '' let pageNo = ''
switch (item.taskType) { switch (item.taskType) {
case '准备工出库调整': case '准备工出库调整':
...@@ -314,12 +358,18 @@ export default { ...@@ -314,12 +358,18 @@ export default {
case '操作工确认': case '操作工确认':
pageNo = '038a430e-facf-4fcb-9b98-2bf75c226681' pageNo = '038a430e-facf-4fcb-9b98-2bf75c226681'
break break
case '配套自动退库确认': case '配套退库申请':
pageNo = '4db88bc5-b77d-4020-84fb-01271a75dd3d'
break
case '配套退库确认':
pageNo = '102e307a-342e-4786-8a9a-a50465ab1721' pageNo = '102e307a-342e-4786-8a9a-a50465ab1721'
break break
case '库内退库确认': case '库内退库确认':
pageNo = '219cf48e-020a-4048-85d7-d5c2b83537f4' pageNo = '219cf48e-020a-4048-85d7-d5c2b83537f4'
break break
case '台账退库确认':
pageNo = 'b9c04cfc-95b4-4584-ba31-c1c52a4d0047'
break
case '入库台账确认': case '入库台账确认':
pageNo = 'a04bba16-f4c4-47ec-baab-57e784551808' pageNo = 'a04bba16-f4c4-47ec-baab-57e784551808'
break break
......
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