jyt 2 years ago
parent
commit
ff266e752d
20 changed files with 1603 additions and 1167 deletions
  1. +119
    -0
      components/yz-audio/index.scss
  2. BIN
      components/yz-audio/static/loading.png
  3. BIN
      components/yz-audio/static/loading2.png
  4. BIN
      components/yz-audio/static/pausebtn.png
  5. BIN
      components/yz-audio/static/playbtn.png
  6. +318
    -0
      components/yz-audio/yz-audio.vue
  7. +1
    -0
      manifest.json
  8. +2
    -1
      pages/center/Piabodata/Theteamcompared.vue
  9. +2
    -2
      pages/center/Piabodata/TrendAnalysis.vue
  10. +27
    -2
      pages/center/consumer/consumerDetail.vue
  11. +9
    -7
      pages/center/consumer/edit.vue
  12. +4
    -2
      pages/center/consumer/newFollowup/newFollowup.vue
  13. +10
    -11
      pages/center/records/index.vue
  14. +1089
    -1127
      pages/index/consumer/index.vue
  15. +5
    -0
      pages/index/index.vue
  16. +1
    -1
      pages/index/learning.vue
  17. +2
    -2
      pages/learning/Thefulltext/index.vue
  18. +6
    -6
      pages/learning/Thefulltext/index2.vue
  19. +6
    -5
      pages/mine/details2.vue
  20. +2
    -1
      utils/domain.js

+ 119
- 0
components/yz-audio/index.scss View File

@@ -0,0 +1,119 @@
@mixin textoverflow() {
display: -webkit-box;
overflow: hidden;
text-overflow: ellipsis;
-webkit-box-orient: vertical;
-webkit-line-clamp: 1;
}
@keyframes rowup {
0% {
-webkit-transform: translate(-50%, -50%) rotate(0deg);
transform-origin: center center;
}

100% {
-webkit-transform: translate(-50%, -50%) rotate(360deg);
transform-origin: center center;
}
}
.imt-audio{
position:relative;
width: 100%;
display: flex;
box-sizing: border-box;
background: #fff;
overflow: hidden;
.top {
width: 140rpx;
position: relative;
}

.audio-wrapper {
display: flex;
flex-direction: column;
flex: 1;
color: #fff;
margin-left: 20rpx;
}
.slidebox {
display: flex;
justify-content: space-between;
width: 96%;
}
/deep/ .uni-slider-tap-area {
padding: 0;
}
/deep/ .uni-slider-wrapper {
min-height: 0;
}
/deep/ .uni-slider-handle-wrapper {
height: 6px;
}
.audio-slider {
padding-top: 10rpx;
margin-left: 150rpx;
position: absolute;
bottom: 40rpx;
width: 75vw;
left: 0;
padding: 0;
}

// .cover {
// width: 120rpx;
// height: 120rpx;
// box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.2);
// position: absolute;
// top: 50%;
// left: 50%;
// transform: translate(-50%, -50%);
// animation-fill-mode: forwards;
// -webkit-animation-fill-mode: forwards;
// }

.play {
width: 48rpx;
height: 48rpx;
z-index: 99;
background: rgba(0, 0, 0, 0.4);
border-radius: 50%;
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
&.loading{
width: 48rpx;
height: 48rpx;
animation: rotating_theme3 2s linear infinite;
}
}
}

@keyframes rotating {
0% {
transform: rotateZ(0deg)
}
100% {
transform: rotateZ(360deg)
}
}
@keyframes rotating_theme3 {
0% {
transform: translate(-50%, -50%) rotateZ(0deg)
}
100% {
transform: translate(-50%, -50%) rotateZ(360deg)
}
}

.hItem
{
margin-left: 16rpx;
}

.extrButton
{
font-size: 36rpx;
}

BIN
components/yz-audio/static/loading.png View File

Before After
Width: 48  |  Height: 48  |  Size: 331 B

BIN
components/yz-audio/static/loading2.png View File

Before After
Width: 48  |  Height: 48  |  Size: 333 B

BIN
components/yz-audio/static/pausebtn.png View File

Before After
Width: 130  |  Height: 123  |  Size: 189 B

BIN
components/yz-audio/static/playbtn.png View File

Before After
Width: 130  |  Height: 130  |  Size: 274 B

+ 318
- 0
components/yz-audio/yz-audio.vue View File

@@ -0,0 +1,318 @@
<template>
<view class="imt-audio">
<template>
<view class="top">
<view class="audio-control-wrapper">
<!-- <image :src="poster" mode="aspectFill" class="cover"></image> -->
<image :src="require('./static/loading.png')" v-if="playState=='loading'" class="play loading">
</image>
<template v-else>
<image :src="require('./static/playbtn.png')" alt="play" @click="play" class="play"
v-if="playState=='pause'"></image>
<image :src="require('./static/pausebtn.png')" alt="pause" @click="pause" class="play" v-else>
</image>
</template>
</view>
</view>
<view class="audio-wrapper">
<view class="audio-flex">
<text>
{{formatSeconds(currentTime)}}
</text>
<slider class="audio-slider" block-size="12" :max="duration" :value="currentTime"
@change="sliderChange" @changing="sliderChanging"></slider>
<text>
{{formatSeconds(duration)}}
</text>
</view>

<view class="slidebox">
<slot name="extraCtrls">
<text class="hItem extrButton" @click="$emit('Button1Click')"
v-show="isButton1Visible">{{button1Text}}</text>
<text class="hItem extrButton" @click="$emit('Button2Click')"
v-show="isButton2Visible">{{button2Text}}</text>
<text class="hItem extrButton" @click="$emit('Button3Click')"
v-show="isButton3Visible">{{button3Text}}</text>
</slot>
</view>
</view>
<!--video在ios中不能完全隐藏,否则无法播放-->
<video id="videoPlayer" class="videoPlayer" :src="src" autoplay="true" :muted="false" style="width: 10rpx;height:10rpx;"
@play="playerOnPlay" @pause="playerOnPause" @ended="playerOnEnded" @timeupdate="playerOnTimeupdate"
@waiting="playerOnWaiting" @error="playerOnError"></video>
</template>
</view>
</template>

<script>
/*
createInnerAudioContext()是audio组件的内部实现,不能熄屏播放、不能后台播放、不能倍速播放。
getBackgroundAudioManager() 可以熄屏播放、后台播放,不能倍速播放。缺点是响应速度很慢,无法实现精细、及时的进度控制,而且可能被别的程序占用。
因此这里只能用video来实现,video能倍速播放,不能熄屏播放、不能后台播放。而且避免了用createInnerAudioContext()实现的跳转到别的页面,还在播放的问题
因此应用程序可以在需要后台播放的时候(需要用户操作触发),再暂停这个控件的播放,然后自己用getBackgroundAudioManager实现后台播放
*/

import Vue from 'vue';
export default {
props: {
isButton1Visible: {
type: Boolean,
default: false
},
button1Text: {
type: String,
default: ''
},
isButton2Visible: {
type: Boolean,
default: false
},
button2Text: {
type: String,
default: ''
},
isButton3Visible: {
type: Boolean,
default: false
},
button3Text: {
type: String,
default: ''
},
},
data() {
return {
src: "",
poster: "",
name: "...",
singer: "...",
duration: 0,
currentTime: 0,
playState: "pause", //"loading"/"playing"/"pause"
isSliderChanging: false,
};
},
created: function() {
//自定义组件,需要传递第二个参数为this,否则后续的pause等操作不起作用
this.videoCtx = uni.createVideoContext("videoPlayer", this);
},
methods: {
setSrc: function(value) {
this.src = value;
},
setPoster: function(value) {
this.poster = value;
},
setName: function(value) {
this.name = value;
},
setSinger: function(value) {
this.singer = value;
},
playerOnPlay: function(e) {
this.playState = "playing";
this.$emit("play");
},
playerOnPause: function(e) {
this.playState = "pause";
this.$emit("pause");
},
playerOnEnded: function(e) {
this.playState = "pause";
this.$emit("ended");
},
playerOnTimeupdate: function(e) {
this.playState = "playing";
this.duration = e.detail.duration;
this.currentTime = e.detail.currentTime;
this.$emit("timeUpdate", e.detail);
},
playerOnWaiting: function(e) {
this.playState = "loading";
},
playerOnError: function(e) {
uni.showToast({
title: "播放出错" + e
});
this.playState = "pause";
this.$emit("error", e);
},
formatSeconds(seconds) {
var result = typeof seconds === "string" ? parseFloat(seconds) : seconds;
if (isNaN(result)) return "";
let h = Math.floor(result / 3600) < 10 ?
"0" + Math.floor(result / 3600) :
Math.floor(result / 3600);
let m = Math.floor((result / 60) % 60) < 10 ?
"0" + Math.floor((result / 60) % 60) :
Math.floor((result / 60) % 60) + h * 60;
let s = Math.floor(result % 60) < 10 ?
"0" + Math.floor(result % 60) :
Math.floor(result % 60);
return `${m}:${s}`;
},
stop: function() {
this.videoCtx.stop();
},
seek: function(t) {
this.videoCtx.seek(t);
},
play: function() {
var that = this;
this.videoCtx.play(); //在有的H5浏览器里,如果play不是用户触发的,则play()会报错

},
pause: function() {
this.videoCtx.pause();
},
playbackRate: function(value) {
this.videoCtx.playbackRate(value);
//playbackRate不能在play之前或者之后立即调用,否则只有很少几率会成功
},
sliderChange: function(e) {
this.isSliderChanging = false;
//要通过e.detail.value获取,否则如果通过dom去读取slider的value
//就会存在滚动条拖不动的情况
this.videoCtx.seek(e.detail.value);
this.$emit('sliderChangeComplate', e)
},
sliderChanging(e) {
this.isSliderChanging = true;
console.log(e, '当前正在改变')
},
},
}
</script>

<style lang="scss">
// @import './index.scss';
@mixin textoverflow() {
display: -webkit-box;
overflow: hidden;
text-overflow: ellipsis;
-webkit-box-orient: vertical;
-webkit-line-clamp: 1;
}

@keyframes rowup {
0% {
-webkit-transform: translate(-50%, -50%) rotate(0deg);
transform-origin: center center;
}

100% {
-webkit-transform: translate(-50%, -50%) rotate(360deg);
transform-origin: center center;
}
}

.imt-audio {
position: relative;
width: 100%;
height: 81rpx;
display: flex;
box-sizing: border-box;
background: #fff;
overflow: hidden;

.top {
position: relative;
width: 100rpx;
}

.audio-wrapper {
display: flex;
flex-direction: column;
flex: 1;
color: #fff;
margin-left: 20rpx;
}

.slidebox {
display: flex;
justify-content: space-between;
width: 96%;
}

/deep/ .uni-slider-tap-area {
padding: 0;
}

/deep/ .uni-slider-wrapper {
min-height: 0;
}

/deep/ .uni-slider-handle-wrapper {
height: 6px;
}

.audio-slider {
flex-grow: 1;
}

.play {
width: 48rpx;
height: 48rpx;
z-index: 99;
background: rgba(0, 0, 0, 0.4);
border-radius: 50%;
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);

&.loading {
width: 48rpx;
height: 48rpx;
animation: rotating_theme3 2s linear infinite;
}
}
}
.audio-flex {
padding: 0 32rpx 0 0;
display: flex;
align-items: center;
text {
color: #70798D;
}
}

@keyframes rotating {
0% {
transform: rotateZ(0deg)
}

100% {
transform: rotateZ(360deg)
}
}

@keyframes rotating_theme3 {
0% {
transform: translate(-50%, -50%) rotateZ(0deg)
}

100% {
transform: translate(-50%, -50%) rotateZ(360deg)
}
}

.hItem {
margin-left: 16rpx;
}

.extrButton {
font-size: 36rpx;
}

.videoPlayer {
position: absolute;
left: 0;
bottom: 0;
z-index: -1;
}
</style>

+ 1
- 0
manifest.json View File

@@ -100,6 +100,7 @@
},
"usingComponents" : true,
"permission" : {},
"requiredBackgroundModes": ["audio"],
"plugins" : {
"WechatSI" : {
"version" : "0.3.4",


+ 2
- 1
pages/center/Piabodata/Theteamcompared.vue View File

@@ -169,7 +169,7 @@
</view>
</view>

<view class="uchaserbox">
<view class="uchaserbox" v-if="chartData1">
<qiun-data-charts :opts="opts" type="radar" :chartData="chartData1" :canvas2d="true"
canvasId="wangxiaohuaerlingeryilingwuyib88" background="none" />
</view>
@@ -385,6 +385,7 @@
this.lineOptsect1 = null
this.lineOptsect2 = null
this.lineOptsect3 = null
this.chartData1 = null
// 团队对比接待量
this.receptionCountList(this.eharTab.active1, 1, '/cusLvStatistics/teamAnalysisReception')
// 团队对比接待时长


+ 2
- 2
pages/center/Piabodata/TrendAnalysis.vue View File

@@ -55,8 +55,8 @@
</view>
<view class="comparesize" v-if="compareFlag&&timepickpickisshow">
<text style="margin-right: 10rpx;">对比:{{index==1?item.num1+'%':item.num1}}</text>
<text :style="{color:item.num2*1>0?'red':'green'}">{{item.num2+'%'}}
{{(item.num2*1) > 0 ? '↑' : '↓'}}</text>
<text
:style="{color:item.num2*1>0?'red':'green'}">{{item.num2+'%'}}{{(item.num2*1) > 0 ? '↑' : '↓'}}</text>
</view>
</view>
</view>


+ 27
- 2
pages/center/consumer/consumerDetail.vue View File

@@ -9,7 +9,10 @@
<view class="img B" v-else-if="customerInfo.level==2">B</view>
<view class="img C" v-else-if="customerInfo.level==3">C</view>
<view class="img D" v-else-if="customerInfo.level==4">D</view>
<view class="test">{{customerInfo.name || '--'}}</view>
<view class="test">
{{customerInfo.name || '--'}}
<view v-if="customerInfo.clientStageName" class="clientStageName">{{ customerInfo.clientStageName }}</view>
</view>
<view class="edit" @click="goedit()" v-if="isHavePermission">
<image class="screen-sel-img" src="../../../static/images/edit.png" mode=""></image>
</view>
@@ -122,6 +125,7 @@
<view class="tab2-first-left">
<view class="img">{{item.agentName.slice(0,1) || '--'}}</view>
<view class="name">{{item.agentName || '||'}}</view>
<view v-if="item.clientStageName" class="clientStageName">{{ item.clientStageName }}</view>
</view>
<view class="tab2-first-right">{{item.createTime}}</view>
</view>
@@ -905,6 +909,17 @@
flex-grow: 1;
font-weight: 500;
color: #333333;
display: flex;
align-items: center;
.clientStageName {
margin-left: 20rpx;
padding: 5rpx 20rpx;
border: 1px solid #F29819;
border-radius: 32rpx 32rpx 32rpx 0;
color: #F29819;
font-size: 20rpx;
}
}

.edit {
@@ -918,6 +933,7 @@
height: 100%;
}
}
}

.right {
@@ -1149,6 +1165,7 @@
// height: 75rpx;
.tab2-first-left {
display: flex;
align-items: center;

.img {
width: 52rpx;
@@ -1164,7 +1181,15 @@
font-weight: 600;
color: #333333;
margin-left: 20rpx;
margin-top: 11rpx;
}
.clientStageName {
margin-left: 20rpx;
padding: 5rpx 20rpx;
border: 1px solid #F29819;
border-radius: 32rpx 32rpx 32rpx 0;
color: #F29819;
font-size: 20rpx;
}
}



+ 9
- 7
pages/center/consumer/edit.vue View File

@@ -90,12 +90,11 @@
</view>
</view>

<view class="conmsg" v-if="allList.length!=0">
<view class="conmsg">
<view class="conmsg-title">
客户标签
</view>
<view class="conmsg-msg">

<view v-for="(item,index) in allList" :key="index">
<view class="">
<view class="conmsg-msg-lab" style="border: none;">
@@ -193,11 +192,16 @@
console.log(this.userInfo.showPhoneStatus)
// 先调用借口查询数据
this.customerId = e.id
this.getdetail()
this.initPage()
},
methods: {
initPage() {
this.getdetail()
// 获取置业需求
this.getListByType()
},
Edittag(item, item1, index, i) {

if (this.allList[index].children[i].selected == 0) {
this.allList[index].children[i].selected = 1;
} else {
@@ -241,8 +245,6 @@
this.selectform.level = 'A';
this.form.level = 1;
}
// 获取置业需求
this.getListByType()
})
},
@@ -252,7 +254,7 @@
customerId: this.customerId
})
.then(res => {
// console.log(res)
console.log(res, '123123123123')
res.forEach(item1 => {
item1.children.map(item => {
if (item.isInterval == 0) {


+ 4
- 2
pages/center/consumer/newFollowup/newFollowup.vue View File

@@ -95,11 +95,12 @@
totalRecord: '',
freeList: [],
customerType: [],
customerId: ''
customerId: '',
orgCode: '',
}
},
onShow() {
this.orgCode = uni.getStorageSync('orgCode')
},
onLoad(e) {
this.customerId = e.id
@@ -174,6 +175,7 @@
"stageCode": this.stateList[this.screen.state].stageCode,
"stageName": this.stateList[this.screen.state].stageName,
"remarks": this.screen.con,
orgCode: this.orgCode,
words,
// "settingTime":"",
"agentRelationPo": {


+ 10
- 11
pages/center/records/index.vue View File

@@ -55,13 +55,13 @@
</view>

<view class="right" v-if="item.recording!=0">
<view style="margin-right: 6rpx;color: red;">{{item.receptionStatusName.slice(0, 2) || ''}}</view>
<view v-if="item.receptionStatusName" style="margin-right: 6rpx;color: red;">{{item.receptionStatusName.slice(0, 2) || ''}}</view>
<text style="margin-right: 6rpx;" v-if="item.receptionStatusName"> |</text>
<view v-if="methodsisshow">
<text style="margin-right: 6rpx;color: red;" v-if="item.taboo==1">违禁</text>
<text style="margin-right: 6rpx;" v-if="item.taboo==1"> |</text>
</view>
<view style="margin-right: 6rpx;">{{item.validInvalidName.slice(0, 2)||''}}</view>
<view v-if="item.validInvalidName" style="margin-right: 6rpx;">{{item.validInvalidName.slice(0, 2)||''}}</view>
<text style="margin-right: 6rpx;" v-if="item.validInvalidName"> |</text>
<view v-if="item.markAdvisor==0" class="">未标记</view>
<view v-if="item.markAdvisor==1" class="">已标记</view>
@@ -108,7 +108,7 @@
所属顾问
</view>
<view class="screen-sel" @click="selectshow = true">
<u-input v-model="screen.counselorName" input-align="right" type="text" placeholder='请选择'
<input v-model="screen.counselorName" type="text" placeholder='请选择'
class="screen-inp" disabled />
<image class="screen-sel-img" src="../../../static/images/right.png" mode=""></image>
</view>
@@ -536,11 +536,11 @@
},
//获取顾问列表
getFreeList() {
this.$u.get("/zkAgentPool/freeList?itemId=" + this.buildingID).then(res => {
this.$u.post("/cusLvStatistics/selectAllAccountIdByHouseId", {houseId: this.buildingID}).then(res => {
this.freeList = res;
this.freeList.forEach(item => {
item.label = item.name;
item.value = item.agentId
item.value = item.accountId
})
})
},
@@ -550,7 +550,7 @@
},
actionSelectCallback(e) {
this.screen.agentId = e[0].value;
this.screenShow = false;
this.screen.counselorName = e[0].label
this.recordList = [];
this.nextPage = 1;
this.getMyCustom();
@@ -906,6 +906,7 @@

.screen-counselor {
display: flex;
align-items: center;
height: 106rpx;
// padding: 40rpx 30rpx 36rpx 30rpx;
padding: 0 30rpx;
@@ -913,7 +914,6 @@
border-bottom: 1px solid #EEEEEE;

.screen-text {
margin: 40rpx 0 36rpx 0;
font-size: 30rpx;
font-weight: 400;
color: #333333;
@@ -922,21 +922,20 @@

.screen-sel {
display: flex;
justify-content: space-between;
justify-content: flex-end;
align-items: center;
width: 500rpx;
margin-left: 60rpx;

.screen-sel-img {
flex-shrink: 0;
margin: 40rpx 0 36rpx 0;
width: 14rpx;
height: 30rpx;
}

.screen-inp {
margin-top: 20rpx;
padding: 0 20rpx;
flex-grow: 1;
text-align: right;
}
}
}


+ 1089
- 1127
pages/index/consumer/index.vue
File diff suppressed because it is too large
View File


+ 5
- 0
pages/index/index.vue View File

@@ -464,9 +464,11 @@
this.methodsisshow = true;
}
if (this.userInfo.zkProperties.length == 1) {
console.log('asdklajkl')
this.buildingID = uni.getStorageSync('buildingID').id;
this.buildingname = uni.getStorageSync('buildingID').name;
this.buildingishow = false;
uni.setStorageSync('orgCode', this.userInfo.zkProperties[0].orgCode)
} else {
this.buildingishow = true;
this.buildingname = uni.getStorageSync('buildingID').name;
@@ -490,6 +492,8 @@
this.initworkThisWeek()
this.initrealTimeStatistics()
// this.sendLog()
console.log(this.lpanlist, '123uio123uyoiasdcfnmklsdfm;kl ')
},
methods: {
indexStatus(i){
@@ -757,6 +761,7 @@
name: e[0].label
}
uni.setStorageSync("buildingID", lopan); //楼盘id写入缓存
uni.setStorageSync("orgCode", e[0].orgCode); //楼盘id写入缓存
this.initworkThisWeek()
this.initrealTimeStatistics()
this.waitForOperation()


+ 1
- 1
pages/index/learning.vue View File

@@ -17,7 +17,7 @@
<view class="infozuochiud1">{{item.jbaName}}</view>
</view>
<view class="infoyou">
<view class="infoyouchiud2">未学习</view>
<view class="infoyouchiud2">{{ item.studyStatus }}</view>
</view>
</view>
<view class="footerinfo">


+ 2
- 2
pages/learning/Thefulltext/index.vue View File

@@ -272,8 +272,8 @@
},
addHot(){
// console.log('30')
this.$u.get('/addtodigest/addHeat',{
id:this.customerId
this.$u.post('/zkstudyrecord',{
targetId: this.customerId
})
.then(res=>{
// console.log(res)


+ 6
- 6
pages/learning/Thefulltext/index2.vue View File

@@ -361,8 +361,8 @@
},
addHot() {
// console.log('30')
this.$u.get('/addtodigest/addHeat', {
id: this.customerId
this.$u.post('/zkstudyrecord', {
targetId: this.customerId
})
.then(res => {
// console.log(res)
@@ -873,23 +873,23 @@
color: #FFFFFF;
border: none;
}
.boxs {
min-height: 100%;
display: flex;
flex-direction: column;
.chat {
flex-grow: 1;
}
.bottomArea {
flex-shrink: 0;
position: sticky;
bottom: 0;
}
}
// 表单
.tian-view {
width: 570upx;


+ 6
- 5
pages/mine/details2.vue View File

@@ -30,7 +30,7 @@
<scroll-view :scroll-top="scrollTop" lower-threshold='100px' @scrolltolower="ltolower()" upper-threshold='40px'
@scrolltoupper="rolltoupper()" :scroll-into-view="scrollId" scroll-y="true" class="zhuti text scroll-Y">
<!-- 聊天记录-->
<view class="dialog-block" @click="close()" v-for="(dialog,i) in dialogList" :key="i">
<view class="dialog-block" @click="close()" v-for="(dialog,i) in dialogList" :key="i">
<view :id="'dialog'+i" class="fileName">录音文件</view>
<view class="text" :id="'dialog'+csdFileindex+'text'+item.bg"
:class="{active: item.bg < playNow && item.ed > playNow && i==0}"
@@ -153,6 +153,7 @@
</scroll-view>
<view class="bottombox">
<!-- 播放块 -->
<!-- <yz-audio ref="zyAudio"></yz-audio> -->
<view class="bottomhead">
<view class="audio-play" @tap="changePlayState">
<image class="image" mode="widthFix"
@@ -1804,6 +1805,7 @@
//录音实例
creatAudio() {
this.innerAudioContext = uni.createInnerAudioContext();
// this.$refs.zyAudio.setSrc(this.recordPath)
if (uni.getStorageSync('entrance') == 1) {
this.innerAudioContext.autoplay = false;
} else {
@@ -2751,18 +2753,17 @@
padding: 20rpx;
border: 1rpx solid #E4F0FF;
}
.scroll-Y .text.active .content {
color: #38FFF1;
position: relative;
}
.scroll-Y .text.active[data-speaker="2"] .content,
.scroll-Y .text.active[data-speaker="4"] .content,
.scroll-Y .text.active[data-speaker="6"] .content {
color: #FF7538 !important;
position: relative;
}
</style>

+ 2
- 1
utils/domain.js View File

@@ -2,7 +2,8 @@
// const base = 'http://8kdmng.natappfree.cc' ;// 佳豪
// const base = 'http://192.168.31.134:9999' ;// 佳豪
// const base = 'http://192.168.31.167:9999' // 长龙
const base = 'https://zanyong.hfju.com';// 正式
const base = 'https://zanyong.hfju.com';// 正式 AI销管
// const base = 'https://hxz.quhouse.com';// 正式 AI销讲助手

// http.js使用
const baseUrl = `${base}/autoSR/api`;


Loading…
Cancel
Save