You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

344 lines
12 KiB

<template>
<div class="main-content12">
<div class="pageheader">
<span class="pagetitle">{{info.type_desc}}-展示设置</span>
</div>
<template v-if="!saveSuccess">
<div class="flex-common">
<h3 class="mb16">基础信息</h3>
<PromptText text='温馨提示:服务别名、首页服务广告词和首页服务描述不允许使用"知网"、"pmlc"、"amlc"和"smlc"等关键词。' :type="2" class="mb32"/>
<el-form ref="formRef">
<div class="flex-wrap">
<div class="flex-left">
<GuipFormItem column="column" label="服务别名">
<GuipInput slot="formDom" ref="GuipInput" class=" mb24" width="100%"
placeholder="建议80字内" desc="展示在用户端的服务名称" v-model="info.title">
</GuipInput>
</GuipFormItem>
<GuipFormItem column="column" label="服务广告词">
<GuipInput slot="formDom" ref="GuipInput" class=" mb24" width="100%"
placeholder="建议20字内" desc="用来简短概括的解释服务" v-model="info.subtitle">
</GuipInput>
</GuipFormItem>
<GuipFormItem column="column" label="服务描述">
<GuipInput slot="formDom" ref="GuipInput" width="100%" height="160px" type="textarea"
desc="用来详细的解释服务" v-model="info.desc">
</GuipInput>
</GuipFormItem>
</div>
<div class="flex-line "></div>
<div class="flex-right">
<GuipFormItem column="column" label="服务Logo">
<hover-button slot="formDom" ref="GuipInput" button-text="选择图片" :default-icon="require('@/assets/upLoad_grey.svg')"
:hover-icon="require('@/assets/upLoad_active.svg')" default-text-color="#23242B"
hover-text-color="#006AFF"/>
</GuipFormItem>
<div slot="tip" class="el-upload__tip desc">支持pngjpg格式尺寸32PX*32PX</div>
</div>
</div>
</el-form>
</div>
<div class="flex-common">
<h3>展示开关</h3>
<el-form ref="formRef">
<div class="flex-wrap">
<div class="flex-left">
<div class="card-item">
<div class="card-info">
<p class="card-name">首页服务显示</p>
<p class="card-desc">控制首页是否显示本服务</p>
</div>
<el-form>
<GuipSwitch :modelValue="info.is_index_display" :active-value="1" :inactive-value="0"
activeText="开启" inactiveText="关闭" @change="onSwitchChange('is_index_display')">
</GuipSwitch>
</el-form>
</div>
<div class="card-item">
<div class="card-info">
<p class="card-name">检测页价格展示</p>
<p class="card-desc">本服务检测页面是否展示价格</p>
</div>
<el-form>
<GuipSwitch :modelValue="info.is_display_price" :active-value="1" :inactive-value="0"
activeText="开启" inactiveText="关闭" @change="onSwitchChange('is_display_price')">
</GuipSwitch>
</el-form>
</div>
</div>
<div class="flex-line "></div>
<div class="flex-right">
<div class="card-item">
<div class="card-info">
<p class="card-name">首页推荐位</p>
<p class="card-desc">开启即上推荐位</p>
</div>
<el-form>
<GuipSwitch :modelValue="info.is_recommend" :active-value="1" :inactive-value="0"
activeText="开启" inactiveText="关闭" @change="onSwitchChange('is_recommend')">
</GuipSwitch>
</el-form>
</div>
</div>
</div>
</el-form>
</div>
</template>
<template v-else>
<div class="flex-common">
<div class="back-area" @click="saveBack">
<img src="@/assets/site/back_icon.png" alt="">
返回
</div>
<div class="success-area">
<img src="@/assets/message_Success.png" alt="">
<div>设置保存成功</div>
</div>
<div class="pro-list">
<div class="pro-item">
<img src="@/assets/site/site-web.svg" alt="">
<div class="pro-name">PC端预览</div>
<div class="pro-link">
<a :href="info.domain" class="flex" target="_blank">
<img src="@/assets/site/form_linkActive.svg" alt="">
<span>{{info.domain}}</span>
</a>
</div>
<div class="pro-desc">点击上方网址访问</div>
</div>
<div class="pro-item">
<img src="@/assets/site/site-h5.svg" alt="">
<div class="pro-name">手机H5预览</div>
<div class="pro-link"><img src="@/assets/site/kefuTem.png" alt="" class="link-code"></div>
<div class="pro-desc">微信扫码预览</div>
</div>
<div class="pro-item">
<img src="@/assets/site/site-mp.svg" alt="">
<div class="pro-name">小程序预览</div>
<div class="pro-link"><img src="@/assets/site/kefuTem.png" alt="" class="link-code"></div>
<div class="pro-desc">微信扫码预览</div>
</div>
</div>
<div class="back-btn" @click="saveBack">
返回展示设置
</div>
</div>
</template>
<div class="save-button">
<GuipButton type="primary" :btnstyle="saveBtnStyleObj" @click="saveConfirm">保存</GuipButton>
</div>
</div>
</template>
<script>
import HoverButton from "@/components/HoverButton.vue";
import GuipFormItem from "@/components/GuipFormItem.vue";
import GuipSwitch from "@/components/GuipSwitch.vue";
import PromptText from "@/components/PromptText.vue";
import GuipInput from "@/components/GuipInput.vue";
import GuipButton from "@/components/GuipButton.vue";
export default {
name: 'showSet',
props: {
serviceInfo: {
type: Object,
required: true
}
},
components: {
GuipButton,
GuipInput, PromptText, GuipSwitch, GuipFormItem, HoverButton
},
data(){
return {
token: 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpYXQiOjE3NTAwNTM3MjQsIm5iZiI6MTc1MDA1MzcyNCwiZXhwIjoxNzUyNjQ1NzI0LCJ1c2VyIjoic3VidXNlciIsImxvZ2luX3R5cGUiOjAsImFpZCI6IjEifQ.xyIqBLelB-k6jCifgRevBJTyg_Qrm6m1e4OcHhOpepU',
info:{},
saveSuccess: false,
//添加按钮样式
saveBtnStyleObj: {
width: '144px',
height: '46px',
borderRadius: '4px',
background: '#006AFF',
},
}
},
mounted() {
this.info = this.serviceInfo
},
methods:{
saveBack(){
this.saveSuccess = false
},
onSwitchChange(attr){
this.info[attr] = this.info[attr] === 1 ? 0 : 1
},
saveConfirm() {
let obj = {}
obj.uid = this.info.uid
obj.type = this.info.type
obj.title = this.info.title
obj.subtitle = this.info.subtitle
obj.desc = this.info.desc
obj.sort_id = this.info.sort_id
obj.is_display_price = this.info.is_display_price
obj.is_index_display = this.info.is_index_display
obj.is_recommend = this.info.is_recommend
const that = this
this.$http('POST', '/agentnew/ajax_update_service_show', obj,{
headers:{
'Auth': this.token
}
}).then(response => {
if(response.status){
that.$message.success('保存成功');
that.$emit('saveEvent', that.info)
// that.saveSuccess = true
return true;
}
that.$message.success(response.info);
}).catch(error => {
console.error(error, 'error')
})
},
}
}
</script>
<style lang="scss">
.card-item{
padding: 24px;
display: flex;
align-items: center;
justify-content: space-between;
background: #FAFAFA;
border-radius: 4px;
border: none;
margin-bottom: 12px;
.card-info{
text-align: left;
margin-left: 12px;
font-variation-settings: "opsz" auto;
letter-spacing: 0.08em;
.card-name{
font-size: 14px;
line-height: 18px;
color: #1E2226;
}
.card-desc{
font-size: 12px;
line-height: 13px;
margin-top: 12px;
color: #8A9099;
}
}
.el-form-item{
margin: 0;
}
}
.back-area{
display: flex;
font-size: 14px;
letter-spacing: 0.08em;
color: #626573;
line-height: 16px;
img{
width: 16px;
height: 16px;
margin-right: 6px;
}
}
.success-area{
font-size: 18px;
font-weight: bold;
line-height: 24px;
letter-spacing: 0.06em;
color: #1E2226;
margin-bottom: 52px;
img{
width: 50px;
height: 50px;
margin-bottom: 12px;
}
}
.pro-list{
display: flex;
align-items: center;
justify-content: space-between;
gap: 32px;
letter-spacing: 0.08em;
.pro-item{
width: 300px;
height: 293px;
border-radius: 20px;
border: 1px solid #DFE2E6;
padding: 42px 0;
box-sizing: border-box;
.pro-name{
font-size: 16px;
font-weight: bold;
color: #1E2226;
margin-top: 12px;
}
.pro-link{
margin-top: 32px;
.link-code{
width: 80px;
height: 80px;
}
a{
align-items: center;
justify-content: center;
font-size: 14px;
color: #006AFF;
text-decoration: none;
img{
width: 16px;
height: 16px;
vertical-align: middle;
margin-right: 12px;
}
span{
width: 200px;
overflow: hidden;
text-overflow: ellipsis;
}
}
}
.pro-desc{
font-size: 12px;
color: #8A9099;
margin-top: 12px;
}
}
}
.back-btn{
width: 144px;
height: 46px;
border-radius: 4px;
border: 1px solid #006AFF;
padding: 14px 2px;
gap: 6px;
font-size: 14px;
text-align: center;
letter-spacing: 0.08em;
color: #006AFF;
box-sizing: border-box;
margin: 52px auto 0;
}
</style>