17 changed files with 434 additions and 24 deletions
-
28src/assets/css/other.css
-
6src/components/footer.vue
-
3src/components/header.vue
-
35src/router.js
-
3src/store/modules/trend.js
-
8src/views/assets/exchange.vue
-
8src/views/coincoin/components/trade_data_update.vue
-
5src/views/coincoin/components/trade_depth.vue
-
27src/views/coincoin/components/trade_form.vue
-
79src/views/contact/contact_us.vue
-
116src/views/contact/details.vue
-
11src/views/contact/index.vue
-
51src/views/contact/list.vue
-
23src/views/currency/currency_deal.vue
-
24src/views/currency/currency_release.vue
-
4src/views/release/components/release_depth.vue
-
27src/views/release/components/release_form.vue
@ -0,0 +1,79 @@ |
|||
<template> |
|||
<div class="wrap"> |
|||
<div class="global-width"> |
|||
<div class="container"> |
|||
<!--当前位置--> |
|||
<div class="hc-breadcrumb" style="display: flex;justify-content: space-between;"> |
|||
<span class="tansp">在线交谈</span> |
|||
<router-link class="tana" to="/contact/list">交谈记录</router-link> |
|||
</div> |
|||
<div class="conversation-box"> |
|||
<!-- <div class="conli"> |
|||
<label style="display: flex;justify-content: space-between;width: 3rem;margin-right: 1rem;"> |
|||
<span>邮</span><span>箱:</span> |
|||
</label> |
|||
<input type="text" placeholder="手动输入邮箱"> |
|||
<div style="clear:both;"></div> |
|||
</div> --> |
|||
<!-- <div class="conli"> |
|||
<label style="margin-right: 0.5rem;">选择问题:</label> |
|||
<div class="problem">问题类型 |
|||
<img src="../../assets/images/icon-dowd.png"> |
|||
<ul class="proul"> |
|||
<li>问题1</li> |
|||
<li>问题1</li> |
|||
<li>问题1</li> |
|||
</ul> |
|||
</div> |
|||
<div style="clear:both;"></div> |
|||
</div> --> |
|||
<div class="conli"> |
|||
<label style="display: flex;justify-content: space-between;width: 3rem;margin-right: 1rem;"> 您的提问: |
|||
</label> |
|||
<textarea v-model="content" style="width: 30rem;height: 10rem;" :maxlength="255" :auto-height="true" placeholder="输入内容..."></textarea> |
|||
<div style="clear:both;"></div> |
|||
<div style="font-size: 0.7rem;padding-top: 0.8rem;text-align: right;">还能输入{{ 255 - content.length }}个字</div> |
|||
</div> |
|||
<div class="conli" style="margin: 0 auto;"> |
|||
<button @click="send()">提交</button> |
|||
<div style="clear:both;"></div> |
|||
</div> |
|||
|
|||
</div> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</template> |
|||
|
|||
<script> |
|||
export default { |
|||
name: 'contact', |
|||
data() { |
|||
return { |
|||
content: '', |
|||
} |
|||
}, |
|||
methods: { |
|||
send(){ |
|||
this.postAxios('/api/feedback/post', { |
|||
comment:this.content |
|||
}) |
|||
.then(() => { |
|||
this.$message.success(this.$t('提交成功,请耐心等待客服回复')); |
|||
this.content='' |
|||
}) |
|||
} |
|||
} |
|||
} |
|||
</script> |
|||
|
|||
<style> |
|||
.tana { |
|||
font-size: 0.7rem; |
|||
color: #5f97ff; |
|||
padding-right: 1rem; |
|||
} |
|||
.conli button { |
|||
margin-left: 2.3rem; |
|||
} |
|||
</style> |
|||
@ -0,0 +1,116 @@ |
|||
<template> |
|||
<div class="wrap"> |
|||
<div class="global-width"> |
|||
<div class="container"> |
|||
<!--当前位置--> |
|||
<div class="hc-breadcrumb"><span class="tansp">交谈内容</span></div> |
|||
<div class="conversation-box conversation-boxs"> |
|||
<ul class="rec-ul"> |
|||
<li v-if="question"> |
|||
<div class="rec-q"> |
|||
<img :src="userInfoData.extendData.avatar" v-if="userInfoData.extendData.avatar"> |
|||
<img src="../../assets/images/user-head-img.png" v-else> |
|||
</div> |
|||
<p class="rec-p">{{ question.comment }}</p> |
|||
<p><span>{{question.createDateTime | dateFormat('YYYY-MM-DD hh:mm:ss')}}</span></p> |
|||
<!-- <img src="../../assets/images/banner-img1.png" /> --> |
|||
</li> |
|||
<div v-for="(item, index) in list" :key="index"> |
|||
<li v-if="item.adminName"> |
|||
<div class="rec-q"><img src="../../assets/images/user-head-img.png"></div> |
|||
<p class="rec-p">{{item.content}}</p> |
|||
<p><span>{{item.createDateTime | dateFormat('YYYY-MM-DD hh:mm:ss')}}</span></p> |
|||
<!-- <img src="../../assets/images/banner-img1.png" /> --> |
|||
</li> |
|||
<li v-else> |
|||
<div class="rec-q"><img :src="userInfoData.extendData.avatar" v-if="userInfoData.extendData.avatar"> |
|||
<img src="../../assets/images/user-head-img.png" v-else></div> |
|||
<p class="rec-p">{{item.content}}</p> |
|||
<p><span>{{item.createDateTime | dateFormat('YYYY-MM-DD hh:mm:ss')}}</span></p> |
|||
<!-- <img src="../../assets/images/banner-img1.png" /> --> |
|||
</li> |
|||
</div> |
|||
|
|||
</ul> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</template> |
|||
|
|||
<script> |
|||
import { mapState } from 'vuex' |
|||
export default { |
|||
name: 'contactDetails', |
|||
data() { |
|||
return { |
|||
// 问题ID |
|||
commentId: '', |
|||
// 问题ID的具体内容 |
|||
question: null, |
|||
// 回复列表 |
|||
list: [], |
|||
// 用户追问 |
|||
sendMsg: '' |
|||
} |
|||
}, |
|||
watch: { |
|||
$route() { |
|||
this.commentId = this.$route.params.id; |
|||
this.getData() |
|||
} |
|||
}, |
|||
created() { |
|||
this.commentId = this.$route.params.id; |
|||
this.getData() |
|||
}, |
|||
computed: { |
|||
...mapState('user', ['isLogin', 'userInfoData', 'merchantStatus', 'merchantUnpass']), |
|||
}, |
|||
methods: { |
|||
// 回复信息 |
|||
// send() { |
|||
// if (this.sendMsg === '') return this.$toast(this.$t('请输入文字后再回复')); |
|||
// this.postAxios('/api/feedback/flow/reply', { |
|||
// feedbackId: this.commentId, |
|||
// content: this.sendMsg |
|||
// }) |
|||
// .then(() => { |
|||
// this.sendMsg = ''; |
|||
// this.$toast(this.$t('发送成功!')); |
|||
// this.getData(); |
|||
// }); |
|||
// }, |
|||
|
|||
// 获取回复数据 |
|||
getData() { |
|||
this.getAxios('/api/feedback/list').then(res => { |
|||
res.data.forEach(item => { |
|||
if (item.id == this.commentId) this.question = item; |
|||
}); |
|||
}); |
|||
|
|||
this.getAxios('/api/feedback/flow/' + this.commentId).then(res => { |
|||
this.list = res.data; |
|||
this.list.sort((a, b) => a.createDateTime - b.createDateTime); |
|||
}); |
|||
console.log(this.question) |
|||
} |
|||
} |
|||
|
|||
} |
|||
</script> |
|||
|
|||
<style> |
|||
.rec-q img { |
|||
border-radius: 50px; |
|||
background: #2cbfa2; |
|||
width: 35px!important; |
|||
height: 35px; |
|||
text-align: center; |
|||
line-height: 35px; |
|||
color: #fff; |
|||
font-size: 20px; |
|||
margin-bottom: 10px!important; |
|||
} |
|||
</style> |
|||
@ -0,0 +1,11 @@ |
|||
<template> |
|||
<div class="wrap"> |
|||
<router-view></router-view> |
|||
</div> |
|||
</template> |
|||
|
|||
<script> |
|||
</script> |
|||
|
|||
<style> |
|||
</style> |
|||
@ -0,0 +1,51 @@ |
|||
<template> |
|||
<div class="wrap"> |
|||
<div class="global-width"> |
|||
<div class="container"> |
|||
<!--当前位置--> |
|||
<div class="hc-breadcrumb"><span class="tansp">交谈记录</span></div> |
|||
<div class="conversation-box conversation-boxs"> |
|||
<ul class="rec-ul"> |
|||
<li v-for="item in list" :key="item.id"> |
|||
<router-link :to="'/contact/details/' + item.id"> |
|||
<p class="rec-p">{{item.comment}}</p> |
|||
<span v-if="item.finish" style="color: #3e64fd;">已完结</span> |
|||
<span v-else-if="item.status=='禁用'" class="no-re">禁用</span> |
|||
<span v-else class="no-re">{{item.status}}</span> |
|||
<p><span>{{item.createDateTime | dateFormat('YYYY-MM-DD hh:mm:ss')}}</span></p> |
|||
</router-link> |
|||
</li> |
|||
</ul> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</template> |
|||
|
|||
<script> |
|||
export default { |
|||
name: 'contactList', |
|||
data() { |
|||
return { |
|||
list: [] |
|||
} |
|||
}, |
|||
methods: { |
|||
getData(){ |
|||
this.getAxios('/api/feedback/list').then(res=>{ |
|||
this.list=res.data |
|||
console.log(this.list) |
|||
}) |
|||
} |
|||
}, |
|||
created() { |
|||
this.getData() |
|||
} |
|||
} |
|||
</script> |
|||
|
|||
<style> |
|||
.no-re { |
|||
color: #3e64fd!important; |
|||
} |
|||
</style> |
|||
Write
Preview
Loading…
Cancel
Save
Reference in new issue