|
@@ -6,7 +6,7 @@
|
|
|
<div v-for="(msg, index) in messages" :key="index" class="message" :class="msg.type">
|
|
|
<div v-if="msg.type === 'user'" class="bubble">{{ msg.text }}</div>
|
|
|
<div v-if="msg.type === 'system'" class="bubble answer">
|
|
|
- <div class="think" v-if="!msg.text.name">
|
|
|
+ <div class="think">
|
|
|
思考中<el-icon><ArrowDown /></el-icon>
|
|
|
</div>
|
|
|
<div class="header" v-html="msg.text.header" :class="{'main-text': !msg.text.content}"></div>
|
|
@@ -25,11 +25,11 @@
|
|
|
<div class="table-wrap" v-if="msg.text.name === '花期统防统治报表,有没有与农资对接' && msg.loadEnd">
|
|
|
<el-table :data="tableData2" border style="width: 100%">
|
|
|
<el-table-column prop="name" label="企业名称" />
|
|
|
- <el-table-column prop="area" label="覆盖范围" />
|
|
|
- <el-table-column prop="step" label="完成进度" />
|
|
|
- <el-table-column prop="rate" label="系统/信用评分" />
|
|
|
- <el-table-column prop="farmRate" label="农户评价" />
|
|
|
- <el-table-column prop="result" label="成效" />
|
|
|
+ <el-table-column prop="area" label="覆盖范围" show-overflow-tooltip />
|
|
|
+ <el-table-column prop="step" label="完成进度" show-overflow-tooltip />
|
|
|
+ <el-table-column prop="rate" label="系统/信用评分" show-overflow-tooltip />
|
|
|
+ <el-table-column prop="farmRate" label="农户评价" show-overflow-tooltip />
|
|
|
+ <el-table-column prop="result" label="成效" show-overflow-tooltip />
|
|
|
</el-table>
|
|
|
</div>
|
|
|
</div>
|
|
@@ -64,7 +64,7 @@
|
|
|
<div class="bubble">
|
|
|
<div class="ask-title">你可以试着问我</div>
|
|
|
<div class="ask-list">
|
|
|
- <div class="to-map" v-for="(ask, askI) in msg.text.content" :key="askI" @click="toMapLayer(msg.text.header)">
|
|
|
+ <div class="to-map" v-for="(ask, askI) in msg.text.content" :key="askI" @click="toMapLayer(ask)">
|
|
|
<li>
|
|
|
{{ ask }}
|
|
|
</li>
|
|
@@ -160,32 +160,48 @@ const steps = [
|
|
|
{
|
|
|
type: "ask",
|
|
|
text: {
|
|
|
- askHeader: "当前高州的作物分布?",
|
|
|
- askContent: ["当前高州的作物分布?",],
|
|
|
+ askHeader: "当前高州的作物分布",
|
|
|
+ askContent: ["当前高州的作物分布",],
|
|
|
+ },
|
|
|
+ loadEnd: false
|
|
|
+ },
|
|
|
+ {
|
|
|
+ type: "ask",
|
|
|
+ text: {
|
|
|
+ askHeader: "当前区域荔枝有什么生长风险?",
|
|
|
+ askContent: ["当前区域荔枝有什么生长风险?"],
|
|
|
+ },
|
|
|
+ loadEnd: false
|
|
|
+ },
|
|
|
+ {
|
|
|
+ type: "ask",
|
|
|
+ text: {
|
|
|
+ askHeader: "当前区域哪些有荔枝地块有病虫害",
|
|
|
+ askContent: ["当前区域哪些有荔枝地块有病虫害"],
|
|
|
},
|
|
|
loadEnd: false
|
|
|
},
|
|
|
{
|
|
|
type: "ask",
|
|
|
text: {
|
|
|
- askHeader: "2024年3月广东省各市的早稻播种率",
|
|
|
- askContent: ["2024年3月广东省各市的早稻播种率", "2222"],
|
|
|
+ askHeader: "现在哪些地方有农情需求",
|
|
|
+ askContent: ["现在哪些地方有农情需求"],
|
|
|
},
|
|
|
loadEnd: false
|
|
|
},
|
|
|
{
|
|
|
type: "ask",
|
|
|
text: {
|
|
|
- askHeader: "统计2024年广东省洪灾涝渍区域",
|
|
|
- askContent: ["统计2024年广东省洪灾涝渍区域", "333"],
|
|
|
+ askHeader: "哪些地方有植保机",
|
|
|
+ askContent: ["哪些地方有植保机"],
|
|
|
},
|
|
|
loadEnd: false
|
|
|
},
|
|
|
{
|
|
|
type: "ask",
|
|
|
text: {
|
|
|
- askHeader: "附近10KM范围有4台植保机:",
|
|
|
- askContent: ["哪些地方有植保机", "4444"],
|
|
|
+ askHeader: "花期统防统治报表,有没有与农资对接",
|
|
|
+ askContent: ["花期统防统治报表,有没有与农资对接"],
|
|
|
},
|
|
|
loadEnd: false
|
|
|
},
|
|
@@ -200,7 +216,7 @@ const triggerNextStep = () => {
|
|
|
steps[stepIndex.value].text,
|
|
|
() => {
|
|
|
isProcessing.value = false;
|
|
|
- steps[stepIndex.value].loadEnd = true
|
|
|
+ // steps[stepIndex.value].loadEnd = true
|
|
|
}
|
|
|
);
|
|
|
stepIndex.value++;
|
|
@@ -229,9 +245,10 @@ const loadState = () => {
|
|
|
|
|
|
const toMapLayer = (name) => {
|
|
|
eventBus.emit("chat:showMapLayer", name)
|
|
|
- addSystemReply('system', {header: name, content: '', name}, () => {
|
|
|
- steps[stepIndex.value].loadEnd = true
|
|
|
- });
|
|
|
+ askText(name)
|
|
|
+ // addSystemReply('system', {header: name, content: '', name}, () => {
|
|
|
+ // steps[stepIndex.value].loadEnd = true
|
|
|
+ // });
|
|
|
}
|
|
|
|
|
|
const askText = (val) => {
|
|
@@ -262,7 +279,8 @@ const sendMessage = () => {
|
|
|
chat.map((item) => {
|
|
|
if (userText.indexOf(item.name) !== -1) {
|
|
|
addSystemReply('system', {header: item.header, content: item.content, name: item.name}, () => {
|
|
|
- steps[stepIndex.value].loadEnd = true
|
|
|
+ // steps[stepIndex.value].loadEnd = true
|
|
|
+ messages.value[messages.value.length - 1].loadEnd = true
|
|
|
setTimeout(triggerNextStep, 2000);
|
|
|
});
|
|
|
isSearch = false;
|
|
@@ -329,7 +347,7 @@ const addSystemReply = (type = "system", textObject, callback) => {
|
|
|
scrollToBottom();
|
|
|
callback && callback(); // 回复完成后解锁输入
|
|
|
}
|
|
|
- }, 50);
|
|
|
+ }, 5);
|
|
|
} else {
|
|
|
callback && callback(); // 如果 content 为空,直接解锁输入
|
|
|
}
|
|
@@ -465,6 +483,8 @@ const scrollToBottom = () => {
|
|
|
}
|
|
|
.table-wrap {
|
|
|
padding-top: 12px;
|
|
|
+ width: 100%;
|
|
|
+ overflow: auto;
|
|
|
::v-deep {
|
|
|
.el-table .el-table__header th.el-table__cell {
|
|
|
background: #3B3B3B !important;
|
|
@@ -546,6 +566,8 @@ const scrollToBottom = () => {
|
|
|
}
|
|
|
.bubble {
|
|
|
padding: 16px 12px;
|
|
|
+ box-sizing: border-box;
|
|
|
+ max-width: 100%;
|
|
|
border-radius: 8px;
|
|
|
// max-width: 60%;
|
|
|
background: rgba(255, 212, 137, 0.1);
|