| | |
| | | const fetchDataSource = async () => { |
| | | try { |
| | | // 根据当前标签页选择不同的接口 |
| | | const apiUrl = activeTab.value === 'tempered' |
| | | ? '/cacheVerticalGlass/bigStorageCageDetails/queryEngineer' |
| | | const apiUrl = activeTab.value === 'tempered' |
| | | ? '/cacheVerticalGlass/bigStorageCageDetails/queryEngineer' |
| | | : '/loadGlass/optimizeProject/queryEngineer'; |
| | | |
| | | |
| | | const response = await request.post(apiUrl) |
| | | |
| | | if (response.code === 200) { |
| | | dataSource.value = response.data.map((item: any) => { |
| | | const projectNo = activeTab.value === 'tempered' ? item.engineerId : item.projectNo |
| | | const name = activeTab.value === 'tempered' ? item.engineerId : (item.projectNo + "-" + item.projectName) |
| | | |
| | | |
| | | return { |
| | | key: projectNo, |
| | | label: name, |
| | |
| | | type: type |
| | | }) |
| | | |
| | | if (response.code === 200) { |
| | | if (response.code === 200) { |
| | | // 对于所有标签页,使用projectNo作为key |
| | | targetKeys.value = response.data.map((item: any) => item.projectNo) |
| | | |
| | | // 重要:将右侧数据添加到dataSource中,确保Transfer组件能找到对应的项 |
| | | |
| | | // 将右侧数据添加到dataSource中,确保Transfer组件能找到对应的项 |
| | | response.data.forEach((item: any) => { |
| | | // 检查dataSource中是否已存在该项 |
| | | const exists = dataSource.value.some(dataItem => dataItem.key === item.projectNo) |
| | |
| | | } else if (activeTab.value === 'tempered') { |
| | | type = 3; // 钢化 |
| | | } |
| | | |
| | | |
| | | const engineerList = targetKeys.value.map(projectNo => { |
| | | const dataItem = dataSource.value.find(item => item.key === projectNo) |
| | | return { |
| | |
| | | projectName: dataItem ? dataItem.projectName : '' |
| | | } |
| | | }) |
| | | |
| | | |
| | | const response = await request.post(`/loadGlass/optimizeProject/updateEngineerScheduling?type=${type}`, engineerList) |
| | | |
| | | if (response.code === 200) { |
| | |
| | | </el-tabs> |
| | | |
| | | <div class="transfer-wrapper"> |
| | | <el-transfer |
| | | v-model="targetKeys" |
| | | filterable |
| | | :data="dataSource" |
| | | :titles="['待排产', getRightListTitle]" |
| | | :button-texts="['', '']" |
| | | /> |
| | | |
| | | <el-transfer v-model="targetKeys" class="custom-transfer" filterable :data="dataSource" |
| | | :titles="['待排产', getRightListTitle]" :button-texts="['', '']"> |
| | | <template #right-empty> |
| | | <el-empty :image-size="80" description="No data" /> |
| | | </template> |
| | | </el-transfer> |
| | | |
| | | |
| | | <div class="transfer-save"> |
| | | <el-button type="primary" @click="saveScheduling"> |
| | | {{ t('searchOrder.makesure') }} |
| | |
| | | height: 440px; |
| | | } |
| | | |
| | | ::v-deep(.el-transfer-panel-body-height) { |
| | | height: 470px; |
| | | .custom-transfer { |
| | | --el-transfer-panel-body-height: 400px; |
| | | } |
| | | |
| | | ::v-deep(.el-transfer-panel__header) { |