123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136 |
- <template>
- <dialog-base class="dialog-body" ref="baseDialog" title="选择工序查看箱号">
- <view class="selectedProcess">
- <uni-section title="选择工序" type="square">
- <uni-data-select v-model="selectedProcess" :localdata="processList" :clear="false"
- @change="handleProcessChange"></uni-data-select>
- </uni-section>
- </view>
- <view class="carrierList" v-for="(item,index) in carrierList">
- <view>{{ item.carrierCode }}</view>
- </view>
- </dialog-base>
- </template>
- <script setup>
- import {
- ref,
- getCurrentInstance
- } from 'vue'
- import {
- store
- } from '../../store';
- import {
- getAvailableCarrierList
- } from '@/api/business/dayWork.js'
- import {
- getProcessList
- } from '@/api/business/deptProcess.js'
- const baseDialog = ref(null)
- const selectedProcess = ref(0)
- const processList = ref([])
- const curProcessId = ref(0)
- const carrierList = ref([])
- function open() {
- reset();
- // getProcessList({
- // deptId: store.curDeptDetails.deptId
- // }).then(res => {
- // if (res.code == 200) {
- // //过滤出工序交集
- // let filteredData = store.planDetails.processSequence.filter((item1) =>
- // res.data.some((item2) => item2.processCode === item1.processCode)
- // );
- // for (let i = 0; i < filteredData.length; i++) {
- // processList.value[i] = {
- // text: filteredData[i].processAlias,
- // value: filteredData[i].id
- // }
- // }
- // console.log(processList.value)
- // }
- // baseDialog.value.open();
- // })
- // getAvailableCarrierList(store.planDetails.id, store.curDeptDetails.deptId).then(res => {
- // if (res.code == 200) {
- // carrierList.value = res.data;
- // }
- // })
- Promise.all([getProcessList({
- deptId: store.curDeptDetails.deptId
- }), getAvailableCarrierList({
- planDetailId: store.planDetails.id,
- deptId: store.curDeptDetails.deptId
- })]).then(([res, response]) => {
- if (res.code == 200) {
- //过滤出工序交集
- let filteredData = store.planDetails.processSequence.filter((item1) =>
- res.data.some((item2) => item2.processCode === item1.processCode)
- );
- for (let i = 0; i < filteredData.length; i++) {
- processList.value[i] = {
- text: filteredData[i].processAlias,
- value: filteredData[i].id
- }
- }
- console.log(processList.value)
- }
- carrierList.value = response.data;
- baseDialog.value.open();
- })
- }
- function close() {
- baseDialog.value.close()
- }
- function reset() {
- selectedProcess.value = 0;
- processList.value = [];
- curProcessId.value = 0;
- carrierList.value = [];
- }
- function handleProcessChange() {
- for (let i = 1; i < store.planDetails.processSequence.length; i++) {
- if (store.planDetails.processSequence[i].id == selectedProcess.value) {
- curProcessId.value = store.planDetails.processSequence[i - 1].id;
- console.log(curProcessId.value)
- break;
- }
- }
- getAvailableCarrierList({
- planDetailId: store.planDetails.id,
- deptId: store.curDeptDetails.deptId,
- proccessId: curProcessId.value
- }).then(res => {
- if(res.code == 200){
- carrierList.value = res.data;
- }
- console.log(res)
- })
- }
- defineExpose({
- open
- })
- </script>
- <style lang="scss">
- $nav-height: 60rpx;
- .dialog-body {
- overflow: auto;
- .selectedProcess {
- width: 88%;
- margin: 20rpx auto 40rpx;
- }
- }
- </style>
|