|
|
@@ -1,153 +1,292 @@ |
|
|
|
<template> |
|
|
|
<view class="translation"> |
|
|
|
<view class="box"> |
|
|
|
<view style="width: 10%;height: 64rpx;display: flex;align-items: center;"> |
|
|
|
<image style="width: 28rpx;height: 28rpx;margin-left: 30rpx;" src="/static/images/search.png" mode=""></image> |
|
|
|
</view> |
|
|
|
<view style="width: 90%;height: 64rpx;display: flex;align-items: center;"> |
|
|
|
<input type="text" @input="searchinfo" :disabled="disabled" v-model="keyword" placeholder="请输入关键字" |
|
|
|
style="width: 100%;color: #999999;font-size: 24rpx;"/> |
|
|
|
</view> |
|
|
|
</view> |
|
|
|
<view style="width: 690rpx;margin: 0 auto;margin-top: 10rpx;"> |
|
|
|
<view style="width: 100%;border-bottom: 1px solid #E0E0E0;display: flex;padding-bottom: 10rpx;margin-top: 40rpx;" |
|
|
|
v-for="(item,index) in listarr" :key='index' @click="toaidoinfo(item.Content,item.corpusId,item.index)"> |
|
|
|
<view style="width: 26rpx;height: 36rpx;margin-top: 4rpx;"> |
|
|
|
<image style="width: 26rpx;height: 28rpx;" src="../../static/images/testimg.png" mode=""></image> |
|
|
|
</view> |
|
|
|
<view v-html="item.Content.text" style="color: #666666;font-size: 28rpx;line-height: 36rpx;margin-left: 10rpx;width: 80%;"></view> |
|
|
|
<view style="font-size: 28rpx;width: 10%;width: 14%;text-align: right;">{{item.Content.time}}</view> |
|
|
|
</view> |
|
|
|
|
|
|
|
</view> |
|
|
|
</view> |
|
|
|
<view class="translation"> |
|
|
|
<view class="box"> |
|
|
|
<view |
|
|
|
style="width: 10%; height: 64rpx; display: flex; align-items: center" |
|
|
|
> |
|
|
|
<image |
|
|
|
style="width: 28rpx; height: 28rpx; margin-left: 30rpx" |
|
|
|
src="/static/images/search.png" |
|
|
|
mode="" |
|
|
|
></image> |
|
|
|
</view> |
|
|
|
<view |
|
|
|
style="width: 90%; height: 64rpx; display: flex; align-items: center" |
|
|
|
> |
|
|
|
<input |
|
|
|
type="text" |
|
|
|
@input="searchinfo" |
|
|
|
:disabled="disabled" |
|
|
|
v-model="keyword" |
|
|
|
placeholder="请输入关键字" |
|
|
|
style="width: 100%; color: #999999; font-size: 24rpx" |
|
|
|
/> |
|
|
|
</view> |
|
|
|
</view> |
|
|
|
<view class="box-list"> |
|
|
|
<view |
|
|
|
style="width: 100%; padding-bottom: 10rpx; margin-top: 40rpx" |
|
|
|
v-for="(item, index) in listarr" |
|
|
|
:key="index" |
|
|
|
@click="toaidoinfo(item.Content, item.corpusId, item.index)" |
|
|
|
> |
|
|
|
<view class="item-list"> |
|
|
|
<view class="icon"> |
|
|
|
<image |
|
|
|
style="width: 26rpx; height: 28rpx" |
|
|
|
src="../../static/images/testimg.png" |
|
|
|
mode="" |
|
|
|
></image> |
|
|
|
</view> |
|
|
|
<view v-html="item.Content.text" class="text"></view> |
|
|
|
<view class="time">{{ item.Content.time }}</view> |
|
|
|
</view> |
|
|
|
<!-- 1 客户画像 2销讲词 3违禁 4 需求挖掘 --> |
|
|
|
<view class="newmark" v-if="item.Content.types"> |
|
|
|
<view |
|
|
|
class="mark-item" |
|
|
|
v-for="(subitem, i) in dealTypes(item.Content.types)" |
|
|
|
:key="i" |
|
|
|
> |
|
|
|
<image |
|
|
|
v-if="dealword(subitem)[0] == 1" |
|
|
|
class="markicon" |
|
|
|
src="https://static.quhouse.com/37e0de3f8d1c421dac8bf699d5e7992d.png" |
|
|
|
></image> |
|
|
|
<image |
|
|
|
v-if="dealword(subitem)[0] == 2" |
|
|
|
class="markicon" |
|
|
|
src="https://static.quhouse.com/b106e8e75db24a59a579a15a78830a76.png" |
|
|
|
></image> |
|
|
|
<image |
|
|
|
v-if="dealword(subitem)[0] == 3" |
|
|
|
class="markicon" |
|
|
|
src="https://static.quhouse.com/8443a2ecb81d4639991ab29c422e9949.png" |
|
|
|
></image> |
|
|
|
<image |
|
|
|
v-if="dealword(subitem)[0] == 4" |
|
|
|
class="markicon" |
|
|
|
src="https://static.quhouse.com/1cd794cb6c974d9dad948a6dd444518b.png" |
|
|
|
></image> |
|
|
|
<view |
|
|
|
class="marktext" |
|
|
|
:style=" |
|
|
|
dealword(subitem)[0] == 3 ? 'color:#E7483C' : 'color:#3E50E8' |
|
|
|
" |
|
|
|
>{{ dealword(subitem)[1] }}</view |
|
|
|
> |
|
|
|
</view> |
|
|
|
</view> |
|
|
|
</view> |
|
|
|
</view> |
|
|
|
</view> |
|
|
|
</template> |
|
|
|
|
|
|
|
<script> |
|
|
|
var util = require("../../utils/util.js"); |
|
|
|
var config = require("../../config"); |
|
|
|
export default { |
|
|
|
data() { |
|
|
|
return { |
|
|
|
customerId:'', |
|
|
|
listarr:[], |
|
|
|
keyword:'', |
|
|
|
skpl:'', |
|
|
|
disabled:false, |
|
|
|
tipsFncName: '', // 通知其他页面的方法名称 |
|
|
|
}; |
|
|
|
}, |
|
|
|
onLoad(options) { |
|
|
|
this.customerId = options.customerId; |
|
|
|
this.keyword=options.keyword; |
|
|
|
this.skpl=options.skpl; |
|
|
|
if (options.UpDateEvent) this.tipsFncName = options.UpDateEvent |
|
|
|
if(this.skpl==2){ |
|
|
|
this.searchinfo() |
|
|
|
this.disabled=true; |
|
|
|
}else{ |
|
|
|
this.disabled=false; |
|
|
|
} |
|
|
|
}, |
|
|
|
methods: { |
|
|
|
formatTime(num) { |
|
|
|
//格式化时间格式 |
|
|
|
num = num.toFixed(0); |
|
|
|
let second = num % 60; |
|
|
|
if (second < 10) second = '0' + second; |
|
|
|
let min = Math.floor(num / 60); |
|
|
|
if (min < 10) min = '0' + min; |
|
|
|
return min + ":" + second; |
|
|
|
}, |
|
|
|
searchinfo(){ |
|
|
|
if(this.keyword.length==0){ |
|
|
|
return |
|
|
|
}else{ |
|
|
|
let parames={ |
|
|
|
keyword:this.keyword, |
|
|
|
customerId:this.customerId |
|
|
|
} |
|
|
|
this.$u.post("/corpus/keyWordsMatching", parames).then(res => { |
|
|
|
res.forEach(item=>{ |
|
|
|
item.Content=JSON.parse(item.transferContent) |
|
|
|
}) |
|
|
|
res.forEach(cet=>{ |
|
|
|
cet.Content.time=this.formatTime(cet.Content.bg/1000) |
|
|
|
cet.Content.text=this.brightKeyword(cet.Content.onebest) |
|
|
|
}) |
|
|
|
this.listarr=res; |
|
|
|
}) |
|
|
|
} |
|
|
|
}, |
|
|
|
//替换方法 |
|
|
|
brightKeyword(val) { |
|
|
|
if (val.indexOf(this.keyword) !== -1) { |
|
|
|
return val.replace(this.keyword, `<font style='color: red'>${this.keyword}</font>`); |
|
|
|
} else { |
|
|
|
return val; |
|
|
|
} |
|
|
|
}, |
|
|
|
//跳转 |
|
|
|
toaidoinfo(item,id,index){ |
|
|
|
uni.setStorageSync("entrance", 2); //写入缓存 |
|
|
|
item.customerId=this.customerId; |
|
|
|
item.id=id; |
|
|
|
item.index=index; |
|
|
|
if(this.skpl==2){ |
|
|
|
this.infostust(item) |
|
|
|
}else{ |
|
|
|
let pages = getCurrentPages() //获取当前页面栈的信息 |
|
|
|
let prevPage = pages[pages.length - 2] //获取上一个页面 |
|
|
|
if (this.tipsFncName) uni.$emit(this.tipsFncName, item) |
|
|
|
prevPage.setData({ //把需要回传的值保存到上一个页面 |
|
|
|
info: item |
|
|
|
}); |
|
|
|
wx.navigateBack({ //然后返回上一个页面 |
|
|
|
delta: 1 |
|
|
|
}) |
|
|
|
} |
|
|
|
}, |
|
|
|
//只有一条的时候 |
|
|
|
infostust(item){ |
|
|
|
uni.setStorageSync("searchobj", item); //写入缓存 |
|
|
|
const parames = { |
|
|
|
pageNum: 1, |
|
|
|
pageSize: 100, |
|
|
|
query: { |
|
|
|
customerId: this.customerId, |
|
|
|
} |
|
|
|
} |
|
|
|
this.$u.post("/corpus/findByPage", parames).then(res => { |
|
|
|
if(res[0].merge==0){ |
|
|
|
let newobj = res[0]; |
|
|
|
if (this.tipsFncName) { |
|
|
|
uni.$emit(this.tipsFncName, item) |
|
|
|
uni.navigateBack() |
|
|
|
return |
|
|
|
} |
|
|
|
uni.navigateTo({ |
|
|
|
url: `/pages/mine/details2?customerId=${newobj.customerId}&status=${newobj.status}&stateisshow=${'2'}` |
|
|
|
}) |
|
|
|
}else{ |
|
|
|
let newobj = res[0]; |
|
|
|
uni.navigateTo({ |
|
|
|
url: `/pages/mine/details?customerId=${newobj.customerId}&status=${newobj.status}&stateisshow=${'2'}` |
|
|
|
}) |
|
|
|
} |
|
|
|
}) |
|
|
|
}, |
|
|
|
}, |
|
|
|
} |
|
|
|
var util = require("../../utils/util.js"); |
|
|
|
var config = require("../../config"); |
|
|
|
export default { |
|
|
|
data() { |
|
|
|
return { |
|
|
|
customerId: "", |
|
|
|
listarr: [], |
|
|
|
keyword: "", |
|
|
|
skpl: "", |
|
|
|
disabled: false, |
|
|
|
tipsFncName: "", // 通知其他页面的方法名称 |
|
|
|
}; |
|
|
|
}, |
|
|
|
onLoad(options) { |
|
|
|
this.customerId = options.customerId; |
|
|
|
this.keyword = options.keyword; |
|
|
|
this.skpl = options.skpl; |
|
|
|
console.log(111); |
|
|
|
if (options.UpDateEvent) this.tipsFncName = options.UpDateEvent; |
|
|
|
if (this.skpl == 2) { |
|
|
|
this.searchinfo(); |
|
|
|
this.disabled = true; |
|
|
|
} else { |
|
|
|
this.disabled = false; |
|
|
|
} |
|
|
|
}, |
|
|
|
methods: { |
|
|
|
// 对话加命中标签 |
|
|
|
dealTypes(type) { |
|
|
|
if (type) { |
|
|
|
let tem = type.substring(1).split(","); |
|
|
|
return tem; |
|
|
|
} else { |
|
|
|
return []; |
|
|
|
} |
|
|
|
}, |
|
|
|
// 对话加命中标签 |
|
|
|
dealword(type) { |
|
|
|
if (type) { |
|
|
|
let a = type.split("-"); |
|
|
|
let rest = type.substring(2).split("-").join(","); |
|
|
|
let arr = [a[0], rest]; |
|
|
|
return arr; |
|
|
|
} else { |
|
|
|
return []; |
|
|
|
} |
|
|
|
}, |
|
|
|
formatTime(num) { |
|
|
|
//格式化时间格式 |
|
|
|
num = num.toFixed(0); |
|
|
|
let second = num % 60; |
|
|
|
if (second < 10) second = "0" + second; |
|
|
|
let min = Math.floor(num / 60); |
|
|
|
if (min < 10) min = "0" + min; |
|
|
|
return min + ":" + second; |
|
|
|
}, |
|
|
|
searchinfo() { |
|
|
|
if (this.keyword.length == 0) { |
|
|
|
return; |
|
|
|
} else { |
|
|
|
let parames = { |
|
|
|
keyword: this.keyword, |
|
|
|
customerId: this.customerId, |
|
|
|
}; |
|
|
|
this.$u.post("/corpus/keyWordsMatching", parames).then((res) => { |
|
|
|
res.forEach((item) => { |
|
|
|
item.Content = JSON.parse(item.transferContent); |
|
|
|
}); |
|
|
|
res.forEach((cet) => { |
|
|
|
cet.Content.time = this.formatTime(cet.Content.bg / 1000); |
|
|
|
cet.Content.text = this.brightKeyword(cet.Content.onebest); |
|
|
|
}); |
|
|
|
this.listarr = res; |
|
|
|
}); |
|
|
|
} |
|
|
|
}, |
|
|
|
//替换方法 |
|
|
|
brightKeyword(val) { |
|
|
|
if (val.indexOf(this.keyword) !== -1) { |
|
|
|
return val.replace( |
|
|
|
this.keyword, |
|
|
|
`<font style='color: red'>${this.keyword}</font>` |
|
|
|
); |
|
|
|
} else { |
|
|
|
return val; |
|
|
|
} |
|
|
|
}, |
|
|
|
//跳转 |
|
|
|
toaidoinfo(item, id, index) { |
|
|
|
uni.setStorageSync("entrance", 2); //写入缓存 |
|
|
|
item.customerId = this.customerId; |
|
|
|
item.id = id; |
|
|
|
item.index = index; |
|
|
|
if (this.skpl == 2) { |
|
|
|
this.infostust(item); |
|
|
|
} else { |
|
|
|
let pages = getCurrentPages(); //获取当前页面栈的信息 |
|
|
|
let prevPage = pages[pages.length - 2]; //获取上一个页面 |
|
|
|
if (this.tipsFncName) uni.$emit(this.tipsFncName, item); |
|
|
|
prevPage.setData({ |
|
|
|
//把需要回传的值保存到上一个页面 |
|
|
|
info: item, |
|
|
|
}); |
|
|
|
wx.navigateBack({ |
|
|
|
//然后返回上一个页面 |
|
|
|
delta: 1, |
|
|
|
}); |
|
|
|
} |
|
|
|
}, |
|
|
|
//只有一条的时候 |
|
|
|
infostust(item) { |
|
|
|
uni.setStorageSync("searchobj", item); //写入缓存 |
|
|
|
const parames = { |
|
|
|
pageNum: 1, |
|
|
|
pageSize: 100, |
|
|
|
query: { |
|
|
|
customerId: this.customerId, |
|
|
|
}, |
|
|
|
}; |
|
|
|
this.$u.post("/corpus/findByPage", parames).then((res) => { |
|
|
|
if (res[0].merge == 0) { |
|
|
|
let newobj = res[0]; |
|
|
|
if (this.tipsFncName) { |
|
|
|
uni.$emit(this.tipsFncName, item); |
|
|
|
uni.navigateBack(); |
|
|
|
return; |
|
|
|
} |
|
|
|
uni.navigateTo({ |
|
|
|
url: `/pages/mine/details2?customerId=${newobj.customerId}&status=${ |
|
|
|
newobj.status |
|
|
|
}&stateisshow=${"2"}`, |
|
|
|
}); |
|
|
|
} else { |
|
|
|
let newobj = res[0]; |
|
|
|
uni.navigateTo({ |
|
|
|
url: `/pages/mine/details?customerId=${newobj.customerId}&status=${ |
|
|
|
newobj.status |
|
|
|
}&stateisshow=${"2"}`, |
|
|
|
}); |
|
|
|
} |
|
|
|
}); |
|
|
|
}, |
|
|
|
}, |
|
|
|
}; |
|
|
|
</script> |
|
|
|
<style lang="scss" scoped> |
|
|
|
.box{ |
|
|
|
width: 690rpx; |
|
|
|
height: 64rpx; |
|
|
|
margin: 0 auto; |
|
|
|
margin-top: 30rpx; |
|
|
|
background: #F2F2F2; |
|
|
|
border-radius: 32rpx; |
|
|
|
display: flex; |
|
|
|
align-items: center; |
|
|
|
.box { |
|
|
|
width: 690rpx; |
|
|
|
height: 64rpx; |
|
|
|
margin: 0 auto; |
|
|
|
margin-top: 30rpx; |
|
|
|
background: #f2f2f2; |
|
|
|
border-radius: 32rpx; |
|
|
|
display: flex; |
|
|
|
align-items: center; |
|
|
|
} |
|
|
|
.box-list { |
|
|
|
width: 690rpx; |
|
|
|
margin: 0 auto; |
|
|
|
margin-top: 10rpx; |
|
|
|
} |
|
|
|
.item-list { |
|
|
|
display: flex; |
|
|
|
border-bottom: 1px solid #e0e0e0; |
|
|
|
.icon { |
|
|
|
width: 26rpx; |
|
|
|
height: 36rpx; |
|
|
|
margin-top: 4rpx; |
|
|
|
} |
|
|
|
.text { |
|
|
|
color: #666666; |
|
|
|
font-size: 28rpx; |
|
|
|
line-height: 36rpx; |
|
|
|
margin-left: 10rpx; |
|
|
|
width: 80%; |
|
|
|
} |
|
|
|
.time { |
|
|
|
font-size: 28rpx; |
|
|
|
width: 10%; |
|
|
|
width: 14%; |
|
|
|
text-align: right; |
|
|
|
} |
|
|
|
} |
|
|
|
.newmark { |
|
|
|
margin-top: 20rpx; |
|
|
|
padding-left: 30rpx; |
|
|
|
.mark-item { |
|
|
|
display: flex; |
|
|
|
flex-wrap: wrap; |
|
|
|
margin-bottom: 12rpx; |
|
|
|
.markicon { |
|
|
|
width: 30rpx; |
|
|
|
height: 30rpx; |
|
|
|
margin-right: 12rpx; |
|
|
|
} |
|
|
|
.marktext { |
|
|
|
flex: 1; |
|
|
|
font-size: 24rpx; |
|
|
|
font-family: PingFangSC-Regular, PingFang SC; |
|
|
|
font-weight: 400; |
|
|
|
color: #3e50e8; |
|
|
|
min-height: 30rpx; |
|
|
|
line-height: 30rpx; |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
</style> |