4040 <el-checkbox-group v-model =" multipleSelectionChat" @change =" handleCheckedChatChange" >
4141 <template v-for =" (item , index ) in chatList " :key =" index " >
4242 <div class =" flex-between w-full" >
43- <el-checkbox :value =" item.id " v-if =" selection" />
43+ <el-checkbox :value =" item.record_id " v-if =" selection" />
4444 <div
4545 class =" w-full border-r-8"
4646 :class =" selection ? 'is-selected p-12 mt-8 mb-8 cursor' : 'mt-24'"
47- @click =" toggleSelect(item.id )"
47+ @click =" toggleSelect(item.record_id )"
4848 >
4949 <!-- 问题 -->
5050 <QuestionContent
5959 </div >
6060 </div >
6161 <div class =" flex align-center w-full" >
62- <el-checkbox :value =" item.id " v-if =" selection" />
62+ <el-checkbox :value =" item.record_id " v-if =" selection" />
6363 <div
6464 class =" w-full border-r-8"
6565 :class =" selection ? 'is-selected p-12 cursor' : ''"
66- @click =" toggleSelect(item.id )"
66+ @click =" toggleSelect(item.record_id )"
6767 >
6868 <!-- 回答 -->
6969 <AnswerContent
@@ -304,28 +304,35 @@ watch(
304304 },
305305)
306306
307+ // 选择对话分享
308+ const checkAll = ref (false )
309+ const multipleSelectionChat = ref <any []>([])
310+ const shareLoading = ref (false )
311+
307312watch (
308313 () => props .selection ,
309314 (value ) => {
310315 if (value ) {
311316 if (value && multipleSelectionChat .value .length === 0 ) {
312- multipleSelectionChat .value = chatList .value .map ((v ) => v .id )
317+ multipleSelectionChat .value = chatList .value .map ((v ) => v .record_id )
313318 checkAll .value = true
314319 }
320+ } else {
321+ checkAll .value = false
322+ multipleSelectionChat .value = []
315323 }
316324 },
317325 {
318326 immediate: true ,
319327 },
320328)
321329
322- // 选择对话分享
323- const checkAll = ref (false )
324- const multipleSelectionChat = ref <any []>([])
325- const shareLoading = ref (false )
326330function shareChatHandle() {
331+ const validIds = new Set (chatList .value .map ((v ) => v .record_id ))
332+ const selectedIds = multipleSelectionChat .value .filter ((id ) => validIds .has (id ))
333+
327334 const obj = {
328- chat_record_ids: multipleSelectionChat . value ,
335+ chat_record_ids: selectedIds ,
329336 is_current_all: checkAll .value ,
330337 }
331338 chatAPI .postShareChat (id || props .appId , chartOpenId .value , obj , shareLoading ).then ((res ) => {
@@ -336,7 +343,7 @@ function shareChatHandle() {
336343}
337344
338345const handleCheckAllChange = (val : CheckboxValueType ) => {
339- multipleSelectionChat .value = val ? chatList .value .map ((v ) => v .id ) : []
346+ multipleSelectionChat .value = val ? chatList .value .map ((v ) => v .record_id ) : []
340347 checkAll .value = val as boolean
341348}
342349const handleCheckedChatChange = (value : CheckboxValueType []) => {
0 commit comments