|
|
|
@ -60,7 +60,7 @@ |
|
|
|
|
> |
|
|
|
|
<view |
|
|
|
|
:class="['bar', item.answerId == '0' ? 'currAnswer' : '']" |
|
|
|
|
v-for="(item, index) in msgList" |
|
|
|
|
v-for="item in msgList" |
|
|
|
|
:key="item.id" |
|
|
|
|
> |
|
|
|
|
<!-- <image |
|
|
|
@ -71,7 +71,9 @@ |
|
|
|
|
/> --> |
|
|
|
|
<image |
|
|
|
|
:src=" |
|
|
|
|
item.answerId == '0' ? 'data:image/jpeg;base64,iVBORw0KGgoAAAANSUhEUgAAACYAAAAmCAYAAACoPemuAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMDY3IDc5LjE1Nzc0NywgMjAxNS8wMy8zMC0yMzo0MDo0MiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkYwQjdBNUI1OTNGMzExRTk5OEMyRUJEREM0NTA0NzFEIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkYwQjdBNUI2OTNGMzExRTk5OEMyRUJEREM0NTA0NzFEIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RjBCN0E1QjM5M0YzMTFFOTk4QzJFQkREQzQ1MDQ3MUQiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6RjBCN0E1QjQ5M0YzMTFFOTk4QzJFQkREQzQ1MDQ3MUQiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz6ceP8WAAAFRUlEQVR42sxYa0xbVRzvvb29bS9taQvtYBQ63kxhsBlw6mbwQZyabE4H6geTZfOR+MFPiyZO4jRxiYl+UOOXOdTERxyLcxs+trkFxbGxwZgb22CAPDoKpQ8ofVFa7q3/g7ekK33ce9st/pNfbnLPOf/zyzn/839hoVBIJEBKAHWAdYACQA5Azo7NAywAE+Aq4CJgmO8GGA9iFGA7YBugiOc+I4BjgJ8AvnQREwOaAC8DMkWpyRzgIKAVQKdCDF3TB4C1ovRKP2Ave90xBU+weDPgmztASsTq/JbdgxexJwEfATJEd04odo+nuF7lw+wCXHR3hAHsAXQkImZkr4/iorHvHxv13cl+fdf1KbXPHxSH/5OEmKkqznY3PV5urV9f4MKwpKrQS30JMB6LGFL8dTKbYpiQ6LeuUfWP7YP6ayN25ZI9YFho59OV5qK8TL911idpaevL884HCTSWp1P4n60vs+54pMwhlxJMkgexM/xaI6+riYuh/3B6IPu9lnPFYVLLRvlA4WzXtSnV5mqDi4ogYLZ5ZJ8d7i34+PvuPA4P4vlo46dYP5VU6u7JdeMx7iZHmxEkJWIGkZKRxAofdV9FjpuD+t1hMwoT287VeZYY1AsNdUbbbdcbCmG79p8oz9crF97/6rzxltUtjxwvK9B4tmwsdHJQn8lyWbaxVj5hxulZEL/24akytBQdXiBIwyH+d4oSAmdoOoRRMoImxHgI4fXnasw1pXofR/UofDUhAy3lG/vUCikNRi4FAxcnm4sehlYlW+ShHnEpRcRqhTifrZuKrRaHj7wxZlcgktHuEMgHy41ar05NBQpWqQI81dciYpVCiP15eUJjc/rI0nyNt7Io24PjWAg9CoZl6JjzS64M2ZRZmbKgAPVViFihEGKrwT9N2j2yG6MOJSDuvNxshVuA+jXoVeqFENt4b64rnfOiRI9zDT/RAt7ckSGXJMypYHwRzRMS4AUHaoVcwry6rXoi0RwYN6N5QvTjXFPdWPJiQ4UdQpEtZt4E/9G4QNU+RMyaSs7y7q4HTcg1RLsK9D8FtVZEbCwVYl5Id7Co2IlcBgpTKagdQ+6iD9DAZ5VnPoh3XjWregYsio7LE9rP9zw2+PeQjfqk9ZIR2d0T969xvtD889oN5XoXBG/PQ+vyXDxtrQ8R6+Y62zbrIz493Lu6vfdWFoqP4f+nLoyraTihhQCNO91+4gTka6ZplxzhaMfwKikpZurX5zveaNwwqdNQXMJTN1I+xAbOhHK6ezyz8Z22ypMXxnSRpJYMwumT7KgvtZcYNN5N1YY564yPjBxHhNG6pua2yjM948myGMRlKLzB8UQz4dqUzQfOFkemz5HSUGt0nr8+pRyemM34/eKYZvfWKgsKUSvsEYJ+84HO4nN9k4oE2x2PzMeOsMVoTIHrM9BMfGM+9tdwloJ1tih9bj1zM5uJM3+RZjDIaA1xVLlYLsvEkC9ribexFDLTRCd69opZq5CTS8SMOSr/L50juoR1Q/wXezDsV4mIn4fYenJF3v/l3i2DR/4Y0rZfMmkGTDMZ4UIj8hR6+i1KJUUuznkWCMuMVxqtA9JtBrJf7+Yag7Px0fJYjvcmy0F4+TZl90igyCCnoSKanvGSyLgpmYSGrJVBX5PFJSMIPAS5WDBHSwUgEwkYdMoA2J2g8u1/VfDG2hxN2McuuBuk9kWTStS7+BXwZioBnkugBrzF7iWoDbUfUJFmUgOAtxO1ofg07l4BqFIkhPzUF+lo3N2WGwKeYVudfOuEUbbVeRTlAOnuwSZrDlMRtpNyc/hfAQYAFFwdv9Iba+4AAAAASUVORK5CYII=' : '/static/left_user.png' |
|
|
|
|
item.answerId == '0' |
|
|
|
|
? 'data:image/jpeg;base64,iVBORw0KGgoAAAANSUhEUgAAACYAAAAmCAYAAACoPemuAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMDY3IDc5LjE1Nzc0NywgMjAxNS8wMy8zMC0yMzo0MDo0MiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkYwQjdBNUI1OTNGMzExRTk5OEMyRUJEREM0NTA0NzFEIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkYwQjdBNUI2OTNGMzExRTk5OEMyRUJEREM0NTA0NzFEIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RjBCN0E1QjM5M0YzMTFFOTk4QzJFQkREQzQ1MDQ3MUQiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6RjBCN0E1QjQ5M0YzMTFFOTk4QzJFQkREQzQ1MDQ3MUQiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz6ceP8WAAAFRUlEQVR42sxYa0xbVRzvvb29bS9taQvtYBQ63kxhsBlw6mbwQZyabE4H6geTZfOR+MFPiyZO4jRxiYl+UOOXOdTERxyLcxs+trkFxbGxwZgb22CAPDoKpQ8ofVFa7q3/g7ekK33ce9st/pNfbnLPOf/zyzn/839hoVBIJEBKAHWAdYACQA5Azo7NAywAE+Aq4CJgmO8GGA9iFGA7YBugiOc+I4BjgJ8AvnQREwOaAC8DMkWpyRzgIKAVQKdCDF3TB4C1ovRKP2Ave90xBU+weDPgmztASsTq/JbdgxexJwEfATJEd04odo+nuF7lw+wCXHR3hAHsAXQkImZkr4/iorHvHxv13cl+fdf1KbXPHxSH/5OEmKkqznY3PV5urV9f4MKwpKrQS30JMB6LGFL8dTKbYpiQ6LeuUfWP7YP6ayN25ZI9YFho59OV5qK8TL911idpaevL884HCTSWp1P4n60vs+54pMwhlxJMkgexM/xaI6+riYuh/3B6IPu9lnPFYVLLRvlA4WzXtSnV5mqDi4ogYLZ5ZJ8d7i34+PvuPA4P4vlo46dYP5VU6u7JdeMx7iZHmxEkJWIGkZKRxAofdV9FjpuD+t1hMwoT287VeZYY1AsNdUbbbdcbCmG79p8oz9crF97/6rzxltUtjxwvK9B4tmwsdHJQn8lyWbaxVj5hxulZEL/24akytBQdXiBIwyH+d4oSAmdoOoRRMoImxHgI4fXnasw1pXofR/UofDUhAy3lG/vUCikNRi4FAxcnm4sehlYlW+ShHnEpRcRqhTifrZuKrRaHj7wxZlcgktHuEMgHy41ar05NBQpWqQI81dciYpVCiP15eUJjc/rI0nyNt7Io24PjWAg9CoZl6JjzS64M2ZRZmbKgAPVViFihEGKrwT9N2j2yG6MOJSDuvNxshVuA+jXoVeqFENt4b64rnfOiRI9zDT/RAt7ckSGXJMypYHwRzRMS4AUHaoVcwry6rXoi0RwYN6N5QvTjXFPdWPJiQ4UdQpEtZt4E/9G4QNU+RMyaSs7y7q4HTcg1RLsK9D8FtVZEbCwVYl5Id7Co2IlcBgpTKagdQ+6iD9DAZ5VnPoh3XjWregYsio7LE9rP9zw2+PeQjfqk9ZIR2d0T969xvtD889oN5XoXBG/PQ+vyXDxtrQ8R6+Y62zbrIz493Lu6vfdWFoqP4f+nLoyraTihhQCNO91+4gTka6ZplxzhaMfwKikpZurX5zveaNwwqdNQXMJTN1I+xAbOhHK6ezyz8Z22ypMXxnSRpJYMwumT7KgvtZcYNN5N1YY564yPjBxHhNG6pua2yjM948myGMRlKLzB8UQz4dqUzQfOFkemz5HSUGt0nr8+pRyemM34/eKYZvfWKgsKUSvsEYJ+84HO4nN9k4oE2x2PzMeOsMVoTIHrM9BMfGM+9tdwloJ1tih9bj1zM5uJM3+RZjDIaA1xVLlYLsvEkC9ribexFDLTRCd69opZq5CTS8SMOSr/L50juoR1Q/wXezDsV4mIn4fYenJF3v/l3i2DR/4Y0rZfMmkGTDMZ4UIj8hR6+i1KJUUuznkWCMuMVxqtA9JtBrJf7+Yag7Px0fJYjvcmy0F4+TZl90igyCCnoSKanvGSyLgpmYSGrJVBX5PFJSMIPAS5WDBHSwUgEwkYdMoA2J2g8u1/VfDG2hxN2McuuBuk9kWTStS7+BXwZioBnkugBrzF7iWoDbUfUJFmUgOAtxO1ofg07l4BqFIkhPzUF+lo3N2WGwKeYVudfOuEUbbVeRTlAOnuwSZrDlMRtpNyc/hfAQYAFFwdv9Iba+4AAAAASUVORK5CYII=' |
|
|
|
|
: '/static/left_user.png' |
|
|
|
|
" |
|
|
|
|
class="img" |
|
|
|
|
/> |
|
|
|
@ -83,9 +85,55 @@ |
|
|
|
|
class="btn" |
|
|
|
|
@click="handleBtn(text)" |
|
|
|
|
v-for="(text, index) in item.options" |
|
|
|
|
:key="index" |
|
|
|
|
>{{ text }}</view |
|
|
|
|
> |
|
|
|
|
</view> |
|
|
|
|
<view |
|
|
|
|
v-if="item.answerOptions && item.answerOptions.length > 0" |
|
|
|
|
style="display: flex" |
|
|
|
|
> |
|
|
|
|
<u-checkbox-group |
|
|
|
|
v-model="item.checkboxValue1" |
|
|
|
|
placement="column" |
|
|
|
|
iconPlacement=".right" |
|
|
|
|
style="width: 100%; padding: 0 15px; box-sizing: border-box" |
|
|
|
|
v-if="item.optionType == 1" |
|
|
|
|
> |
|
|
|
|
<u-checkbox |
|
|
|
|
:customStyle="{ marginBottom: '8px' }" |
|
|
|
|
v-for="(item, index) in item.answerOptions" |
|
|
|
|
:key="index" |
|
|
|
|
:label="item" |
|
|
|
|
:name="item" |
|
|
|
|
> |
|
|
|
|
</u-checkbox> |
|
|
|
|
</u-checkbox-group> |
|
|
|
|
|
|
|
|
|
<u-radio-group |
|
|
|
|
v-model="item.radiovalue1" |
|
|
|
|
placement="column" |
|
|
|
|
iconPlacement="right" |
|
|
|
|
style="width: 100%; padding: 0 15px; box-sizing: border-box" |
|
|
|
|
v-if="item.optionType == 0" |
|
|
|
|
> |
|
|
|
|
<u-radio |
|
|
|
|
:customStyle="{ marginBottom: '8px' }" |
|
|
|
|
v-for="(item, index) in item.answerOptions" |
|
|
|
|
:key="index" |
|
|
|
|
:label="item" |
|
|
|
|
:name="item" |
|
|
|
|
> |
|
|
|
|
</u-radio> |
|
|
|
|
</u-radio-group> |
|
|
|
|
</view> |
|
|
|
|
|
|
|
|
|
<view |
|
|
|
|
class="btnBox" |
|
|
|
|
v-if="item.answerOptions && item.answerOptions.length > 0" |
|
|
|
|
> |
|
|
|
|
<view class="btn" @click="handleGroup(item)">确认</view> |
|
|
|
|
</view> |
|
|
|
|
</view> |
|
|
|
|
</view> |
|
|
|
|
<view class="loading-animation" v-if="loading"> |
|
|
|
@ -175,10 +223,17 @@ export default { |
|
|
|
|
allContent: "", |
|
|
|
|
params: {}, |
|
|
|
|
tabkey: 0, |
|
|
|
|
radiovalue1: "", |
|
|
|
|
checkboxValue1: [], |
|
|
|
|
}; |
|
|
|
|
}, |
|
|
|
|
onLoad(options) { |
|
|
|
|
let params = options; |
|
|
|
|
// params.deptId = "3702000000"; |
|
|
|
|
// params.id = "37020017609"; |
|
|
|
|
// params.sectionId = "37020017609"; |
|
|
|
|
// params.roadName = "023县道"; |
|
|
|
|
// params.taskId = "000001"; |
|
|
|
|
this.params = params; |
|
|
|
|
let str = ""; |
|
|
|
|
if (params.roadName) { |
|
|
|
@ -192,7 +247,8 @@ export default { |
|
|
|
|
if (params.id == 12121212) { |
|
|
|
|
this.queryChat("开始隐患排查," + str); |
|
|
|
|
} else { |
|
|
|
|
this.SSE("开始隐患排查," + str, "1"); |
|
|
|
|
// this.SSE("开始隐患排查," + str, "1"); |
|
|
|
|
this.queryChat("开始隐患排查," + str); |
|
|
|
|
// if(this.msgListA.length==0){ |
|
|
|
|
// this.SSE("开始隐患排查," + str, '1') |
|
|
|
|
// }else{ |
|
|
|
@ -221,13 +277,13 @@ export default { |
|
|
|
|
// 建立SSE长连接 |
|
|
|
|
SSE(voiceText, answerId) { |
|
|
|
|
const ctrl = new AbortController(); |
|
|
|
|
console.log(ctrl.signal); |
|
|
|
|
fetchEventSource($.chatUrl + "/chat", { |
|
|
|
|
method: "POST", |
|
|
|
|
headers: { |
|
|
|
|
"Content-Type": "application/json", |
|
|
|
|
Accept: ["text/event-stream", "application/json"], |
|
|
|
|
}, |
|
|
|
|
|
|
|
|
|
body: JSON.stringify({ |
|
|
|
|
voiceText, |
|
|
|
|
sceneFlag: "", |
|
|
|
@ -236,11 +292,11 @@ export default { |
|
|
|
|
userId: this.params.userId, |
|
|
|
|
deptId: this.params.deptId, |
|
|
|
|
stream: true, |
|
|
|
|
type: '1', |
|
|
|
|
type: "1", |
|
|
|
|
id: this.params.id, |
|
|
|
|
taskId: this.params.taskId, |
|
|
|
|
sectionId: this.params.sectionId, |
|
|
|
|
sectionType: this.params.sectionType, |
|
|
|
|
// sectionType: this.params.sectionType, |
|
|
|
|
}), |
|
|
|
|
signal: ctrl.signal, |
|
|
|
|
openWhenHidden: true, |
|
|
|
@ -253,6 +309,7 @@ export default { |
|
|
|
|
console.log(res.result.data.tabkey); |
|
|
|
|
console.log(res.result.data); |
|
|
|
|
this.tabkey = res.result.data.tabkey; |
|
|
|
|
this.optionType = res.result.data?.optionType; |
|
|
|
|
if (this.tabkey - 1 != this.active) { |
|
|
|
|
this.active = this.tabkey - 1 > 0 ? this.tabkey - 1 : 0; |
|
|
|
|
} |
|
|
|
@ -261,6 +318,8 @@ export default { |
|
|
|
|
{ |
|
|
|
|
answerId, |
|
|
|
|
data: res.result.data.content, |
|
|
|
|
optionType: res.result.data?.optionType, |
|
|
|
|
answerOptions: res.result.data?.answerOptions || [], |
|
|
|
|
}, |
|
|
|
|
]; |
|
|
|
|
} else { |
|
|
|
@ -270,6 +329,10 @@ export default { |
|
|
|
|
//最后一个是回答 |
|
|
|
|
this.msgList[this.msgList.length - 1].data += |
|
|
|
|
res.result.data.content; |
|
|
|
|
this.msgList[this.msgList.length - 1].optionType = |
|
|
|
|
res.result.data?.optionType; |
|
|
|
|
this.msgList[this.msgList.length - 1].answerOptions = |
|
|
|
|
res.result.data?.answerOptions || []; |
|
|
|
|
} else { |
|
|
|
|
//最后一个是问题 |
|
|
|
|
this.msgList = [ |
|
|
|
@ -277,6 +340,8 @@ export default { |
|
|
|
|
{ |
|
|
|
|
answerId: "1", |
|
|
|
|
data: res.result.data.content, |
|
|
|
|
optionType: res.result.data?.optionType, |
|
|
|
|
answerOptions: res.result.data?.answerOptions || [], |
|
|
|
|
}, |
|
|
|
|
]; |
|
|
|
|
} |
|
|
|
@ -305,6 +370,7 @@ export default { |
|
|
|
|
async queryChat(voiceText) { |
|
|
|
|
// console.log(voiceText,"voiceText"); |
|
|
|
|
this.loading = true; |
|
|
|
|
|
|
|
|
|
const [err, res] = await uni.request({ |
|
|
|
|
// url: 'http://10.16.3.159:8777/api/local_doc_qa/local_doc_chat', |
|
|
|
|
url: $.chatUrl + "/chat", |
|
|
|
@ -318,13 +384,15 @@ export default { |
|
|
|
|
data: { |
|
|
|
|
voiceText, |
|
|
|
|
sceneFlag: "", |
|
|
|
|
sessionId: this.sessionId, |
|
|
|
|
id: this.id, |
|
|
|
|
sessionId: "", |
|
|
|
|
multiType: "", |
|
|
|
|
userId: "admin1", |
|
|
|
|
deptId: "3702000000", |
|
|
|
|
type: 1, |
|
|
|
|
userId: this.params.userId, |
|
|
|
|
deptId: this.params.deptId, |
|
|
|
|
stream: false, |
|
|
|
|
type: "1", |
|
|
|
|
id: this.params.id, |
|
|
|
|
taskId: this.params.taskId, |
|
|
|
|
sectionId: this.params.sectionId, |
|
|
|
|
// "user_id": "zzp", |
|
|
|
|
// "kb_ids": ["KBa80ea15e786241eca70a20f136f4e34c"], |
|
|
|
|
// "question": "隐患排查流程是什么", |
|
|
|
@ -332,6 +400,7 @@ export default { |
|
|
|
|
// "history": [] |
|
|
|
|
}, |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
if (res && res.data && res.data.code == 200) { |
|
|
|
|
// console.log('request success', res.data) |
|
|
|
|
const { result = {} } = res.data; |
|
|
|
@ -343,6 +412,7 @@ export default { |
|
|
|
|
this.changeMsgList( |
|
|
|
|
data.answerId || "1", |
|
|
|
|
data.content, |
|
|
|
|
data.optionType, |
|
|
|
|
data.answerOptions |
|
|
|
|
); |
|
|
|
|
} |
|
|
|
@ -375,15 +445,21 @@ export default { |
|
|
|
|
this.scrollBottom(); |
|
|
|
|
}, |
|
|
|
|
scrollBottom() { |
|
|
|
|
this.$nextTick(() => { |
|
|
|
|
const height = |
|
|
|
|
this.$refs.scrollView && |
|
|
|
|
this.$refs.scrollView.$refs && |
|
|
|
|
this.$refs.scrollView.$refs.content |
|
|
|
|
? this.$refs.scrollView.$refs.content.scrollHeight |
|
|
|
|
: 0; |
|
|
|
|
this.scrollTop = height; |
|
|
|
|
}); |
|
|
|
|
uni.createSelectorQuery().in(this).select('#scroll-view-content').boundingClientRect((res)=>{ |
|
|
|
|
let top = res.height-this.scrollViewHeight; |
|
|
|
|
if(top>0){ |
|
|
|
|
this.scrollTop=top; |
|
|
|
|
} |
|
|
|
|
}).exec() |
|
|
|
|
// this.$nextTick(() => { |
|
|
|
|
// const height = |
|
|
|
|
// this.$refs.scrollView && |
|
|
|
|
// this.$refs.scrollView.$refs && |
|
|
|
|
// this.$refs.scrollView.$refs.content |
|
|
|
|
// ? this.$refs.scrollView.$refs.content.scrollHeight |
|
|
|
|
// : 0; |
|
|
|
|
// this.scrollTop = height; |
|
|
|
|
// }); |
|
|
|
|
}, |
|
|
|
|
// 发送 |
|
|
|
|
handleSend(text) { |
|
|
|
@ -400,14 +476,17 @@ export default { |
|
|
|
|
this.queryChat(this.inputValue || text); |
|
|
|
|
this.scrollBottom(); |
|
|
|
|
} else { |
|
|
|
|
this.addQuestion(this.inputValue || text, "0"); |
|
|
|
|
this.SSE(this.inputValue || text, "0"); |
|
|
|
|
// this.addQuestion(this.inputValue || text, "0"); |
|
|
|
|
// this.SSE(this.inputValue || text, "0"); |
|
|
|
|
this.changeMsgList("0", this.inputValue || text); |
|
|
|
|
this.queryChat(this.inputValue || text); |
|
|
|
|
this.scrollBottom(); |
|
|
|
|
} |
|
|
|
|
this.inputValue = ""; |
|
|
|
|
} |
|
|
|
|
}, |
|
|
|
|
// 更新列表信息 |
|
|
|
|
changeMsgList(answerId, data, answerOptions) { |
|
|
|
|
changeMsgList(answerId, data, optionType, answerOptions) { |
|
|
|
|
let id = 1; |
|
|
|
|
if (this.msgList.length > 0) { |
|
|
|
|
id = this.msgList[this.msgList.length - 1].id + 1; |
|
|
|
@ -417,7 +496,6 @@ export default { |
|
|
|
|
let newdata = ""; |
|
|
|
|
let index = 0; |
|
|
|
|
const timer = setInterval(() => { |
|
|
|
|
console.log(this.msgList); |
|
|
|
|
newdata = newdata += data[index]; |
|
|
|
|
if (this.msgList?.filter((item) => item.id == id).length == 0) { |
|
|
|
|
this.msgList = [ |
|
|
|
@ -442,10 +520,20 @@ export default { |
|
|
|
|
: 0; |
|
|
|
|
this.scrollTop = height; |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
if (newdata == data) { |
|
|
|
|
this.msgList[this.msgList.length - 1].options = answerOptions; |
|
|
|
|
if (optionType == 0 || optionType == 1) { |
|
|
|
|
this.msgList[this.msgList.length - 1].optionType = optionType; |
|
|
|
|
this.msgList[this.msgList.length - 1].answerOptions = |
|
|
|
|
answerOptions || []; |
|
|
|
|
this.msgList[this.msgList.length - 1].checkboxValue1 = []; |
|
|
|
|
this.msgList[this.msgList.length - 1].radiovalue1 = ""; |
|
|
|
|
} else { |
|
|
|
|
this.msgList[this.msgList.length - 1].options = answerOptions; |
|
|
|
|
} |
|
|
|
|
clearInterval(timer); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
}, 50); |
|
|
|
|
} else { |
|
|
|
|
this.msgList = [ |
|
|
|
@ -492,24 +580,53 @@ export default { |
|
|
|
|
count: 6, //默认9 |
|
|
|
|
sizeType: ["original", "compressed"], //可以指定是原图还是压缩图,默认二者都有 |
|
|
|
|
sourceType: ["album"], //从相册选择 |
|
|
|
|
success: (res) => { |
|
|
|
|
success: async (res) => { |
|
|
|
|
console.log(res); |
|
|
|
|
if (res.tempFilePaths && res.tempFilePaths.length) { |
|
|
|
|
let str = ""; |
|
|
|
|
let jsonArr = []; |
|
|
|
|
for (let i = 0; i < res.tempFilePaths.length; i++) { |
|
|
|
|
str += ``; |
|
|
|
|
const result = await this.uploadFilePromise(res.tempFilePaths[i]); |
|
|
|
|
let json = JSON.parse(result); |
|
|
|
|
str += ``; |
|
|
|
|
jsonArr.push(json.result); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
console.log(str); |
|
|
|
|
if (this.id == 12121212) { |
|
|
|
|
this.changeMsgList("0", str); |
|
|
|
|
this.queryChat(res.tempFilePaths); |
|
|
|
|
} else { |
|
|
|
|
this.addQuestion(str, "0"); |
|
|
|
|
this.SSE(res.tempFilePaths, "0"); |
|
|
|
|
// this.addQuestion(str, "0"); |
|
|
|
|
// this.SSE(jsonArr, "0"); |
|
|
|
|
this.changeMsgList("0", str); |
|
|
|
|
this.queryChat(jsonArr); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
}, |
|
|
|
|
}); |
|
|
|
|
}, |
|
|
|
|
uploadFilePromise(url) { |
|
|
|
|
return new Promise((resolve, reject) => { |
|
|
|
|
let a = uni.uploadFile({ |
|
|
|
|
url: this.$.baseUrl + "/hiddenDanger/ftp/uploadFileToFtp", // 仅为示例,非真实的接口地址 |
|
|
|
|
filePath: url, |
|
|
|
|
name: "file", |
|
|
|
|
success: (res) => { |
|
|
|
|
resolve(res.data); |
|
|
|
|
}, |
|
|
|
|
}); |
|
|
|
|
}); |
|
|
|
|
}, |
|
|
|
|
handleGroup(item) { |
|
|
|
|
let text = ""; |
|
|
|
|
if (this.optionType) { |
|
|
|
|
text = item.checkboxValue1.join(","); |
|
|
|
|
} else { |
|
|
|
|
text = item.radiovalue1; |
|
|
|
|
} |
|
|
|
|
this.handleSend(text); |
|
|
|
|
}, |
|
|
|
|
}, |
|
|
|
|
}; |
|
|
|
|
</script> |
|
|
|
|