问题修改
This commit is contained in:
parent
ba4c7cc744
commit
5b09000b23
|
|
@ -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 内部数据加载完成
|
||||
});
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue