问题修改
This commit is contained in:
parent
ba4c7cc744
commit
5b09000b23
|
|
@ -67,8 +67,16 @@
|
||||||
</uni-forms-item>
|
</uni-forms-item>
|
||||||
<div v-for="(item, index) in partItems" :key="index">
|
<div v-for="(item, index) in partItems" :key="index">
|
||||||
<uni-forms-item label="配件类型">
|
<uni-forms-item label="配件类型">
|
||||||
<treeSelect style="width: 100%;height: 90rpx;" ref="treeSelectRef"
|
<treeSelect
|
||||||
:options="partTreeData" v-model="item.partId" @change="partTreeChange" :index="index" @clear="clearPart" :defaultProps="defaultProps"></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>
|
||||||
<uni-forms-item label="配件数量">
|
<uni-forms-item label="配件数量">
|
||||||
<uni-easyinput
|
<uni-easyinput
|
||||||
|
|
@ -203,11 +211,16 @@
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup>
|
<script setup>
|
||||||
import { computed, ref,nextTick } from 'vue'
|
import {nextTick, ref} from 'vue'
|
||||||
import { partTypeTreeList, getSupplierList, getRepairerListApi, saveRepairRow,getPartItemApi } from '@/services/repair/repair.js'
|
import {
|
||||||
import { baseURL } from '@/utils/http'
|
getPartItemApi,
|
||||||
|
getRepairerListApi,
|
||||||
|
getSupplierList,
|
||||||
|
partTypeTreeList,
|
||||||
|
saveRepairRow
|
||||||
|
} from '@/services/repair/repair.js'
|
||||||
import treeSelect from '../tree-select/tselectTwo.vue';
|
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 query = defineProps() // 获取上级页面传递的路由参数
|
||||||
// const queryParams = JSON.parse(query.queryParams)
|
// const queryParams = JSON.parse(query.queryParams)
|
||||||
const queryParams = ref({})
|
const queryParams = ref({})
|
||||||
|
|
@ -322,7 +335,7 @@ const getPartTreeData = async () => {
|
||||||
const clearPart = (index) =>{
|
const clearPart = (index) =>{
|
||||||
partItems.value[index].partId=""
|
partItems.value[index].partId=""
|
||||||
}
|
}
|
||||||
const treeSelectRef = ref([])
|
const treeSelectRef = ref([]);
|
||||||
//配件选中
|
//配件选中
|
||||||
const partTreeChange = (val,index) =>{
|
const partTreeChange = (val,index) =>{
|
||||||
console.log(val)
|
console.log(val)
|
||||||
|
|
@ -367,25 +380,28 @@ const getPartItemData = async () => {
|
||||||
ids: rowData.value.ids,
|
ids: rowData.value.ids,
|
||||||
})
|
})
|
||||||
if(res.data && res.data.length > 0) {
|
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 => ({
|
partItems.value = res.data.map(item => ({
|
||||||
...item,
|
...item,
|
||||||
partType: item.partId ? 1 : 0 // 假设 partType 表示是否有 partId
|
partType: item.partId ? 1 : 0 // 假设 partType 表示是否有 partId
|
||||||
}));
|
}));
|
||||||
|
|
||||||
// 使用 nextTick 确保组件渲染完成
|
// 使用 nextTick 确保组件渲染完成
|
||||||
nextTick(() => {
|
nextTick(() => {
|
||||||
partItems.value.forEach((item, index) => {
|
setTimeout(() => {
|
||||||
if (item.partId) {
|
partItems.value.forEach((item, index) => {
|
||||||
console.log("尝试设置 partId", item.partId)
|
if (item.partId) {
|
||||||
if (treeSelectRef.value[index] && treeSelectRef.value[index].setSelectedValue) {
|
const treeSelect = treeSelectRef.value[index];
|
||||||
treeSelectRef.value[index].setSelectedValue(item.partId);
|
if (treeSelect?.setSelectedValue) {
|
||||||
} else {
|
treeSelect.setSelectedValue(item.partId);
|
||||||
console.warn(`treeSelectRef[${index}] 没有 setSelectedValue 方法`)
|
}
|
||||||
}
|
}
|
||||||
}
|
});
|
||||||
});
|
}, 500); // 延迟 500ms 确保 treeSelect 内部数据加载完成
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue