问题修改

This commit is contained in:
hayu 2025-06-19 11:18:31 +08:00
parent ba4c7cc744
commit 5b09000b23
1 changed files with 36 additions and 20 deletions

View File

@ -67,8 +67,16 @@
</uni-forms-item>
<div v-for="(item, index) in partItems" :key="index">
<uni-forms-item label="配件类型">
<treeSelect style="width: 100%;height: 90rpx;" ref="treeSelectRef"
:options="partTreeData" v-model="item.partId" @change="partTreeChange" :index="index" @clear="clearPart" :defaultProps="defaultProps"></treeSelect>
<treeSelect
style="width: 100%;height: 90rpx;"
:ref="el => { if (el) treeSelectRef[index] = el }"
:options="partTreeData"
v-model="item.partId"
@change="partTreeChange"
:index="index"
@clear="clearPart"
:defaultProps="defaultProps"
></treeSelect>
</uni-forms-item>
<uni-forms-item label="配件数量">
<uni-easyinput
@ -203,11 +211,16 @@
</template>
<script setup>
import { computed, ref,nextTick } from 'vue'
import { partTypeTreeList, getSupplierList, getRepairerListApi, saveRepairRow,getPartItemApi } from '@/services/repair/repair.js'
import { baseURL } from '@/utils/http'
import {nextTick, ref} from 'vue'
import {
getPartItemApi,
getRepairerListApi,
getSupplierList,
partTypeTreeList,
saveRepairRow
} from '@/services/repair/repair.js'
import treeSelect from '../tree-select/tselectTwo.vue';
import { onLoad, onShow } from '@dcloudio/uni-app'
import {onLoad, onShow} from '@dcloudio/uni-app'
// const query = defineProps() //
// const queryParams = JSON.parse(query.queryParams)
const queryParams = ref({})
@ -322,7 +335,7 @@ const getPartTreeData = async () => {
const clearPart = (index) =>{
partItems.value[index].partId=""
}
const treeSelectRef = ref([])
const treeSelectRef = ref([]);
//
const partTreeChange = (val,index) =>{
console.log(val)
@ -367,7 +380,10 @@ const getPartItemData = async () => {
ids: rowData.value.ids,
})
if(res.data && res.data.length > 0) {
// 1.
// 1. dsNum
// 2. formLeft.repairNum
formLeft.value.repairNum = res.data.reduce((sum, item) => sum + (item.dsNum || 0), 0);
//
partItems.value = res.data.map(item => ({
...item,
partType: item.partId ? 1 : 0 // partType partId
@ -375,16 +391,16 @@ const getPartItemData = async () => {
// 使 nextTick
nextTick(() => {
setTimeout(() => {
partItems.value.forEach((item, index) => {
if (item.partId) {
console.log("尝试设置 partId", item.partId)
if (treeSelectRef.value[index] && treeSelectRef.value[index].setSelectedValue) {
treeSelectRef.value[index].setSelectedValue(item.partId);
} else {
console.warn(`treeSelectRef[${index}] 没有 setSelectedValue 方法`)
const treeSelect = treeSelectRef.value[index];
if (treeSelect?.setSelectedValue) {
treeSelect.setSelectedValue(item.partId);
}
}
});
}, 500); // 500ms treeSelect
});
}
}