7 changed files with 1211 additions and 38 deletions
@ -0,0 +1,400 @@ |
|||||
|
<template> |
||||
|
<div class="main-content12"> |
||||
|
<!-- page header --> |
||||
|
<div class="pageheader"> |
||||
|
<span class="pagetitle">基本设置</span> |
||||
|
</div> |
||||
|
|
||||
|
<!-- page content --> |
||||
|
<div class="site-setting-wrap min-flex-right"> |
||||
|
<div class="siteMessage flex-common" id="siteMessage1"> |
||||
|
<h3>站点信息</h3> |
||||
|
<el-form> |
||||
|
<div class="flex-wrap"> |
||||
|
<div class="flex-left"> |
||||
|
<GuipInput ref="GuipInput" column="column" label="站点简称" :maxlength="10" :showWordLimit="true" |
||||
|
desc="一个站点对应一个销售渠道,定义好名字好区分" v-model="siteInfo.short_name" prop="short_name" |
||||
|
placeholder="仅自己区分站点销售渠道,客户看不到" /> |
||||
|
|
||||
|
<GuipInput ref="GuipInput" column="column" label="公司电话" desc="在站点首页底部“关于我们”展示" |
||||
|
v-model="siteInfo.phone_num" prop="company_phone" placeholder="非必填" /> |
||||
|
</div> |
||||
|
<div class="flex-line"></div> |
||||
|
<div class="flex-right"> |
||||
|
<GuipTextarea v-model="siteInfo.company_name" label="详细介绍" column="column" prop="doctor_detail" |
||||
|
width="100%" height="90px" placeholder="请输入描述内容" desc="在站点首页底部“关于我们”展示" |
||||
|
show-word-limit /> |
||||
|
</div> |
||||
|
</div> |
||||
|
</el-form> |
||||
|
<GroupFormBtns @cancel="cancleUpdateSiteInfo()" @confirm="updateSiteInfo()" /> |
||||
|
|
||||
|
</div> |
||||
|
<div class="siteMessage flex-common" id="siteMessage2"> |
||||
|
<h3>站点信息</h3> |
||||
|
<el-form :model="siteForm1" :rules="siteFormrules1" ref="siteForm1"> |
||||
|
<div class="flex-wrap"> |
||||
|
<div class="flex-left"> |
||||
|
<GuipFormItem column="column" class="mb24" label="域名来源" required="true"> |
||||
|
<GuipRadio slot="formDom" v-model="siteForm1.domain_source" :options="domain_source" |
||||
|
prop="domain_source" @change="domain_radioChange" /> |
||||
|
</GuipFormItem> |
||||
|
</div> |
||||
|
<div class="flex-line"></div> |
||||
|
<div class="flex-right"> |
||||
|
<GuipFormItem column="column" label="域名设置" required="true"> |
||||
|
<GuipInput slot="formDom" v-model="siteForm1.domain_set" placeholder="仅支持数字、字母"> |
||||
|
<span slot="appendshow">.chachongz.com</span> |
||||
|
</GuipInput> |
||||
|
</GuipFormItem> |
||||
|
</div> |
||||
|
</div> |
||||
|
</el-form> |
||||
|
<GroupFormBtns @cancel="cancelClick" @confirm="submitForm('siteForm1')" /> |
||||
|
|
||||
|
</div> |
||||
|
<div class="siteMessage flex-common" id="siteMessage3"> |
||||
|
<h3>店铺收款</h3> |
||||
|
<el-form :model="siteForm2" ref="formRef"> |
||||
|
<div class="flex-wrap"> |
||||
|
<div class="flex-left"> |
||||
|
<GuipFormItem column="column" class="mb24"> |
||||
|
<div slot="formLeft" class="form-top-icon"> |
||||
|
<img src="@/assets/register/weixin.svg" style="width: 26px;height: 26px;" |
||||
|
alt=""><span>微信收款</span> |
||||
|
</div> |
||||
|
<CustomDropdown slot="formDom" width="100%" v-model="siteForm1.weixin_pay" :options="options_weixin" |
||||
|
@change="changeSelectWeixin" placeholder="请选择" :options_null="options_weixin_null" |
||||
|
@changeNormal="changeNormalWeixin"> |
||||
|
<!-- 自定义触发按钮 --> |
||||
|
<template #trigger> |
||||
|
<span v-if="selectedItemWeixin" |
||||
|
style="color: #1E2226;font-family: Microsoft YaHei UI;">{{ |
||||
|
select_placeholder_weixin ? select_placeholder_weixin : |
||||
|
selectedItemWeixin.desc }}</span> |
||||
|
<span v-else>请选择</span> |
||||
|
</template> |
||||
|
<template #normal> |
||||
|
<div class="flex flex-between noraml-jump"> |
||||
|
<div class="left"> |
||||
|
<b>绑定新微信收款</b> |
||||
|
<p class="one">需要使用您公司的微信支付</p> |
||||
|
<p>需在微信商户平台-产品中心开通Native支付</p> |
||||
|
</div> |
||||
|
<div class="right"> |
||||
|
<GuipButton type="primary" size="medium">前往绑定</GuipButton> |
||||
|
</div> |
||||
|
</div> |
||||
|
</template> |
||||
|
|
||||
|
<!-- 自定义下拉选项 --> |
||||
|
<template #item="{ item }"> |
||||
|
<div class="flex-between"> |
||||
|
<div class="left"> |
||||
|
<p class="one">{{ item.label }}</p> |
||||
|
<p>{{ item.desc }}</p> |
||||
|
</div> |
||||
|
<div class="right"> |
||||
|
<img v-if="selectedItem.value == item.value" |
||||
|
src="@/assets/register/drop-selected.svg" alt=""> |
||||
|
</div> |
||||
|
</div> |
||||
|
</template> |
||||
|
</CustomDropdown> |
||||
|
</GuipFormItem> |
||||
|
<GuipFormItem column="column"> |
||||
|
<div slot="formLeft" class="form-top-icon"> |
||||
|
<img src="@/assets/register/zhifubao.svg" style="width: 26px;height: 26px;" |
||||
|
alt=""><span>支付宝收款</span> |
||||
|
</div> |
||||
|
<!-- <GuipSelect slot="formDom" v-model="siteForm2.zhifubao_pay" prop="zhifubao_pay" |
||||
|
:options="options_zhifubao" placeholder="未绑定支付宝收款" /> --> |
||||
|
<CustomDropdown slot="formDom" width="100%" v-model="siteForm1.zhifubao_pay" :options="options_weixin" |
||||
|
@change="changeSelectWeixin" placeholder="请选择" :options_null="options_weixin_null" |
||||
|
@changeNormal="changeNormalWeixin"> |
||||
|
<!-- 自定义触发按钮 --> |
||||
|
<template #trigger> |
||||
|
<span v-if="selectedItemWeixin" |
||||
|
style="color: #1E2226;font-family: Microsoft YaHei UI;">{{ |
||||
|
select_placeholder_weixin ? select_placeholder_weixin : |
||||
|
selectedItemWeixin.desc }}</span> |
||||
|
<span v-else>请选择</span> |
||||
|
</template> |
||||
|
<template #normal> |
||||
|
<div class="flex flex-between noraml-jump"> |
||||
|
<div class="left"> |
||||
|
<b>绑定新支付宝收款</b> |
||||
|
<p class="one">需要使用您公司的支付宝支付</p> |
||||
|
<p>需在支付宝商户平台-产品中心开通Native支付</p> |
||||
|
</div> |
||||
|
<div class="right"> |
||||
|
<GuipButton type="primary" size="medium">前往绑定</GuipButton> |
||||
|
</div> |
||||
|
</div> |
||||
|
</template> |
||||
|
|
||||
|
<!-- 自定义下拉选项 --> |
||||
|
<template #item="{ item }"> |
||||
|
<div class="flex-between"> |
||||
|
<div class="left"> |
||||
|
<p class="one">{{ item.label }}</p> |
||||
|
<p>{{ item.desc }}</p> |
||||
|
</div> |
||||
|
<div class="right"> |
||||
|
<img v-if="selectedItem.value == item.value" |
||||
|
src="@/assets/register/drop-selected.svg" alt=""> |
||||
|
</div> |
||||
|
</div> |
||||
|
</template> |
||||
|
</CustomDropdown> |
||||
|
</GuipFormItem> |
||||
|
</div> |
||||
|
<div class="flex-line"></div> |
||||
|
<div class="flex-right"> |
||||
|
<!-- <div>{{ input1 }}</div> --> |
||||
|
<div class="addStore flex"> |
||||
|
<div></div> |
||||
|
添加其他收款方式 |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
</el-form> |
||||
|
<GroupFormBtns @cancel="cancelClick" @confirm="submitForm('siteForm2')" /> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
</template> |
||||
|
<script> |
||||
|
// import GuipInput from '@/components/GuipInput.vue'; |
||||
|
import store from '@/store'; |
||||
|
import { mapState } from 'vuex'; |
||||
|
import GuipFormItem from '@/components/GuipFormItem.vue'; |
||||
|
import GuipInput from '@/components/GuipInput.vue'; |
||||
|
import GuipTextarea from '@/components/GuipTextarea.vue'; |
||||
|
import GuipRadio from '@/components/GuipRadio.vue'; |
||||
|
import CustomDropdown from '@/components/CustomDropdown.vue'; |
||||
|
import GuipButton from '@/components/GuipButton.vue'; |
||||
|
import GroupFormBtns from '@/components/GroupFormBtns.vue'; |
||||
|
// import {setHighActive} from '@/utils/common'; |
||||
|
export default { |
||||
|
// 站点设置 |
||||
|
name: '', |
||||
|
props: [''], |
||||
|
components: { |
||||
|
GuipRadio, |
||||
|
GuipFormItem, |
||||
|
GuipInput, |
||||
|
GuipTextarea, |
||||
|
CustomDropdown, |
||||
|
GuipButton, |
||||
|
GroupFormBtns |
||||
|
|
||||
|
}, |
||||
|
data() { |
||||
|
return { |
||||
|
// AUTH |
||||
|
token: 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpYXQiOjE3NTAwNTM3MjQsIm5iZiI6MTc1MDA1MzcyNCwiZXhwIjoxNzUyNjQ1NzI0LCJ1c2VyIjoic3VidXNlciIsImxvZ2luX3R5cGUiOjAsImFpZCI6IjEifQ.xyIqBLelB-k6jCifgRevBJTyg_Qrm6m1e4OcHhOpepU', |
||||
|
// 站点信息 |
||||
|
siteInfo: { |
||||
|
short_name: '', |
||||
|
company_name: '', |
||||
|
phone_num: '', |
||||
|
}, |
||||
|
|
||||
|
|
||||
|
siteForm: { |
||||
|
company_name: '', |
||||
|
company_address: '', |
||||
|
company_phone: '', |
||||
|
site_alias: '', |
||||
|
}, |
||||
|
// siteFormrules: { |
||||
|
// site_alias: [ |
||||
|
// { required: true, message: '请输入站点简称', trigger: 'blur' } |
||||
|
// ] |
||||
|
// }, |
||||
|
siteForm1: { |
||||
|
domain_set: '', |
||||
|
domain_source: '平台免费域名', |
||||
|
}, |
||||
|
siteForm2: { |
||||
|
zhifubao_pay: '', |
||||
|
weixin_pay: '', |
||||
|
}, |
||||
|
siteFormrules1: { |
||||
|
domain_source: [ |
||||
|
{ required: true, message: '请输入站点简称', trigger: 'blur' } |
||||
|
] |
||||
|
}, |
||||
|
domain_source: [ |
||||
|
{ label: '平台免费域名', value: '平台免费域名', selectedLabel: "平台免费域名" }, |
||||
|
{ label: '我自己有域名', value: '我自己有域名', selectedLabel: "我自己有域名" }, |
||||
|
], |
||||
|
options_weixin_null: { |
||||
|
label: '暂无收款账号', |
||||
|
value: '暂时没有收款账号,我想稍后配置', |
||||
|
desc: '暂无收款账号,稍后配置' |
||||
|
}, |
||||
|
select_placeholder_weixin: '暂无收款账号,稍后配置', |
||||
|
selectedItemWeixin: {},//微信收款方式 |
||||
|
options_weixin: [], |
||||
|
options_zhifubao: [], |
||||
|
} |
||||
|
}, |
||||
|
computed: { |
||||
|
...mapState(['pageTitle']) // 从Vuex映射showSidebar状态到组件的计算属性中 |
||||
|
}, |
||||
|
mounted() { |
||||
|
store.commit('SET_PAGETITLE', '基本设置'); |
||||
|
|
||||
|
this.getSiteInfo(); |
||||
|
}, |
||||
|
methods: { |
||||
|
// 获取站点信息 |
||||
|
getSiteInfo() { |
||||
|
const that = this |
||||
|
that.siteInfo = [] |
||||
|
this.$http('POST', '/agentnew/ajax_get_site_info', { |
||||
|
uid: this.$route.query.uid, |
||||
|
},{ |
||||
|
headers:{ |
||||
|
'Auth': this.token |
||||
|
} |
||||
|
}).then(response => { |
||||
|
this.$nextTick(() => { |
||||
|
that.siteInfo = response.data |
||||
|
}) |
||||
|
}).catch(error => { |
||||
|
console.error(error, 'error') |
||||
|
}) |
||||
|
}, |
||||
|
updateSiteInfo() { |
||||
|
this.$http('POST', '/agentnew/ajax_update_site_info', { |
||||
|
uid: this.$route.query.uid, |
||||
|
short_name: this.siteInfo.short_name, |
||||
|
company_name: this.siteInfo.company_name, |
||||
|
company_phone: this.siteInfo.phone_num, |
||||
|
},{ |
||||
|
headers:{ |
||||
|
'Auth': this.token |
||||
|
} |
||||
|
}).then(response => { |
||||
|
this.$nextTick(() => { |
||||
|
if (response.status) { |
||||
|
this.$Message.success(response.info); |
||||
|
} else { |
||||
|
this.$Message.error(response.info); |
||||
|
} |
||||
|
}) |
||||
|
}).catch(error => { |
||||
|
console.error(error, 'error') |
||||
|
}) |
||||
|
}, |
||||
|
cancleUpdateSiteInfo() { |
||||
|
this.getSiteInfo(); |
||||
|
}, |
||||
|
changeNormalWeixin() { |
||||
|
|
||||
|
}, |
||||
|
changeSelectWeixin(item, flag) { |
||||
|
if (flag) { |
||||
|
this.select_placeholder_weixin = this.options_weixin_null.desc; |
||||
|
return |
||||
|
} |
||||
|
this.selectedItem = { ...item }; |
||||
|
console.log(this.selectedItem, 'this.selectedItem===='); |
||||
|
}, |
||||
|
// 销售渠道 |
||||
|
domain_radioChange(type) { |
||||
|
console.log(type, '--'); |
||||
|
}, |
||||
|
onSwitchChange(data) { |
||||
|
console.log(data, '---'); |
||||
|
}, |
||||
|
submitForm(form) { |
||||
|
console.log(this.$refs[form], '-----'); |
||||
|
this.$refs[form].validate((valid) => { |
||||
|
console.log(this[form], '======formxinxi'); |
||||
|
if (valid) { |
||||
|
alert('提交成功!'); |
||||
|
} else { |
||||
|
return false; |
||||
|
} |
||||
|
}); |
||||
|
}, |
||||
|
cancelClick() { |
||||
|
console.log('quxiao'); |
||||
|
}, |
||||
|
confirmClick(type) { |
||||
|
console.log(type, '确认'); |
||||
|
} |
||||
|
|
||||
|
} |
||||
|
} |
||||
|
</script> |
||||
|
<style lang="scss"> |
||||
|
.pageheader { |
||||
|
display: flex; |
||||
|
justify-content: space-between; /* 关键属性 */ |
||||
|
align-items: center; |
||||
|
margin: 16px 0px 16px 0px; |
||||
|
} |
||||
|
.pagetitle { |
||||
|
font-size: 18px; |
||||
|
font-weight: bold; |
||||
|
line-height: normal; |
||||
|
letter-spacing: 0.08em; |
||||
|
color: #1E2226; |
||||
|
margin-top:8px; |
||||
|
} |
||||
|
.siteMessage{ |
||||
|
border-radius: 4px; |
||||
|
transition: all .5s; |
||||
|
border: 1px solid transparent; |
||||
|
} |
||||
|
.addStore { |
||||
|
margin-top: 12px; |
||||
|
// border-radius: 4px; |
||||
|
// opacity: 1; |
||||
|
// /* text/text_white_2 */ |
||||
|
// border: 1px dashed #BABDC2; |
||||
|
// padding: 15px 20px; |
||||
|
// color: #626573; |
||||
|
// justify-content: center; |
||||
|
|
||||
|
// img { |
||||
|
// margin-right: 12px; |
||||
|
// } |
||||
|
} |
||||
|
|
||||
|
|
||||
|
.site-setting-wrap{ |
||||
|
width: 100%; |
||||
|
} |
||||
|
#siteMessage2{ |
||||
|
margin: 12px 0; |
||||
|
} |
||||
|
.domain-wrap { |
||||
|
.domain-item { |
||||
|
margin-bottom: 10px; |
||||
|
} |
||||
|
|
||||
|
|
||||
|
.domain-item p:last-child { |
||||
|
padding-left: 23px; |
||||
|
color: #8A9099; |
||||
|
} |
||||
|
|
||||
|
p { |
||||
|
text-align: left; |
||||
|
line-height: 18px; |
||||
|
margin-bottom: 8px; |
||||
|
} |
||||
|
|
||||
|
.domain-box { |
||||
|
display: flex; |
||||
|
flex-direction: column; |
||||
|
justify-content: flex-start; |
||||
|
} |
||||
|
} |
||||
|
</style> |
@ -0,0 +1,754 @@ |
|||||
|
<template> |
||||
|
<div class="main-content12"> |
||||
|
<!-- page header --> |
||||
|
<div class="pageheader"> |
||||
|
<span class="pagetitle">基本设置</span> |
||||
|
</div> |
||||
|
|
||||
|
<!-- page content --> |
||||
|
<div class="site-sem-wrap min-flex-right"> |
||||
|
<div class="siteMessage flex-common" id="siteMessage11"> |
||||
|
<h3>搜索引擎优化(SEO) <span>通过SEO设置,可以免费获得流量、提高网站在搜索引擎中的排名</span></h3> |
||||
|
<el-form ref="formRef"> |
||||
|
<div class="flex-wrap"> |
||||
|
<div class="flex-left"> |
||||
|
<GuipFormItem column="column" class="mb24" label="站点标题(T:title)"> |
||||
|
<GuipInput slot="formDom" ref="GuipInput" class=" mb24" width="100%" |
||||
|
v-model="siteInfo.sitename" placeholder="建议80字内"> |
||||
|
</GuipInput> |
||||
|
|
||||
|
</GuipFormItem> |
||||
|
<GuipFormItem column="column" label="站点关键词(K:keyword)"> |
||||
|
<GuipInput slot="formDom" ref="GuipInput" width="100%" height="68px" type="textarea" |
||||
|
v-model="siteInfo.sitekeywords"> |
||||
|
</GuipInput> |
||||
|
</GuipFormItem> |
||||
|
</div> |
||||
|
<div class="flex-line "></div> |
||||
|
<div class="flex-right"> |
||||
|
<GuipFormItem column="column" label="站点描述(D:description)"> |
||||
|
<GuipInput slot="formDom" ref="GuipInput" width="100%" height="160px" type="textarea" |
||||
|
v-model="siteInfo.sitedesc"> |
||||
|
</GuipInput> |
||||
|
</GuipFormItem> |
||||
|
</div> |
||||
|
</div> |
||||
|
</el-form> |
||||
|
<GroupFormBtns @cancel="cancleUpdateSiteInfo" @confirm="updateSiteTDK" /> |
||||
|
</div> |
||||
|
<div class="siteMessage flex-common mt12" id="siteMessage12"> |
||||
|
<h3>搜索引擎竞价(SEM) <span>通过SEM设置,获得流量、提高网站在搜索引擎中的排名</span></h3> |
||||
|
<el-form ref="baiduRef" class="bidform baidu-form"> |
||||
|
<div class="semBidWrap"> |
||||
|
<h3 class="flex-between"> |
||||
|
<p>百度OCPC竞价 <span>自动化的出价和优化,以实现更高的广告投放效果和ROI</span></p> |
||||
|
<!-- <div class="flex close-bid point" @click="deleteBid('baidu')">删除<img src="@/assets/register/close.svg" alt=""></div> --> |
||||
|
</h3> |
||||
|
<div class="baidu-wrap bidWrap"> |
||||
|
<div class="bidwrap-item"> |
||||
|
<div class="bidwrap-item-top mb24 flex"> |
||||
|
<img class="bid-item-img" src="@/assets/site/step_1.png" alt=""> |
||||
|
<div class="top-right column"> |
||||
|
<b>输入Token</b> |
||||
|
<p>百度创建转化追踪:转化类型选择“服务购买成功”,接入方式选择“线索API”,复制token,填入下方输入框。 |
||||
|
<!-- <img src="@/assets/site/form_qua_ic.svg" alt=""> 指南 --> |
||||
|
</p> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div class="bidwrap-item-bot flex"> |
||||
|
<div style="flex: 1;margin-right: 10px;"> |
||||
|
<GuipInput ref="GuipInput" width="100%" v-model="siteInfo.bd_ocpc_token" |
||||
|
placeholder="请输入Token" /> |
||||
|
</div> |
||||
|
<GuipButton type="primary" :btnstyle="{ width: '94px', height: '38px' }" |
||||
|
@click="saveBaiduOcpcToken()">确认</GuipButton> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div class="bidwrap-item"> |
||||
|
<div class="bidwrap-item-top mb24 flex"> |
||||
|
<img class="bid-item-img" src="@/assets/site/step_2.png" alt=""> |
||||
|
<div class="top-right column"> |
||||
|
<b>联调创建OCPC</b> |
||||
|
<p>创建转化追踪后:点击该条记录的“联调”,复制带有bd-vid的推广url,复制到下方输入框,点击按钮开始联调。 |
||||
|
<!-- <img src="@/assets/site/form_qua_ic.svg" alt=""> 指南 --> |
||||
|
</p> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div class="bidwrap-item-bot flex"> |
||||
|
<div style="flex: 1;margin-right: 10px;"> |
||||
|
<GuipInput ref="GuipInput" width="100%" v-model="bdurl" placeholder="请输入联调链接" /> |
||||
|
</div> |
||||
|
<GuipButton type="primary" :btnstyle="{ width: '94px', height: '38px' }" |
||||
|
@click="verifyBaiduOcpc()">开始联调 |
||||
|
</GuipButton> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
</el-form> |
||||
|
<el-form class="bidform" ref="360Ref"> |
||||
|
<div class="semBidWrap"> |
||||
|
<h3 class="flex-between"> |
||||
|
<p>360OCPC竞价 <span>自动化的出价和优化,以实现更高的广告投放效果和ROI</span></p> |
||||
|
<!-- <div class="flex close-bid point" @click="deleteBid('360')">删除<img src="@/assets/register/close.svg" alt=""></div> --> |
||||
|
</h3> |
||||
|
<div class="baidu-wrap bidWrap"> |
||||
|
<div class="beforeNotice"> |
||||
|
<h4 class="flex"> <img src="@/assets/site/siteSemInfo_Icon.svg" alt=""> 前期准备事项</h4> |
||||
|
<p class="mt12 flex"> |
||||
|
1. <a href="https://e.360.cn/static/zhihui/login/?rdurl=https%3A%2F%2Fe.360.cn%2F" |
||||
|
class="flex" target="_blank"> |
||||
|
<img src="@/assets/site/form_linkActive.svg" alt="">前往登陆</a>登录360智慧平台 |
||||
|
</p> |
||||
|
<p class="mt10 flex"> |
||||
|
2. <a href="https://dianjing.e.360.cn/ocpc/list" class="flex" target="_blank"> |
||||
|
<img src="@/assets/site/form_linkActive.svg" |
||||
|
alt="">前往ocpc设置页</a>>点击“添加OCPC投放包”按钮。注意转换类型只能选择“订单”,其他的根据表单提示填写。 |
||||
|
</p> |
||||
|
</div> |
||||
|
<div class="bidwrap-item"> |
||||
|
<div class="column"> |
||||
|
<p class="common_title">AppKey 和 AppSecret </p> |
||||
|
<p class="common_text mt10 mb24" style="text-align: left;"> |
||||
|
点击前期准备事项第2步页面中的【投放说明】按钮,选择【API回传】,点击【获取Key&Secret】,将 AppKey 和 AppSecret 填入表中保存即可 |
||||
|
</p> |
||||
|
</div> |
||||
|
<div class="biditem360 mb24 flex"> |
||||
|
<img class="bid-item-img" src="@/assets/site/step_1.png" alt=""> |
||||
|
<b>AppKey</b> |
||||
|
<div style="flex: 1;margin-right: 10px;"> |
||||
|
<GuipInput ref="GuipInput" width="100%" v-model="siteInfo.ocpc_360_appkey" |
||||
|
placeholder="请输入appkey" /> |
||||
|
</div> |
||||
|
<GuipButton type="primary" :btnstyle="{ width: '94px', height: '38px' }" |
||||
|
@click="save360Ocpc()">确认</GuipButton> |
||||
|
</div> |
||||
|
<div class="biditem360 mb24 flex"> |
||||
|
<img class="bid-item-img" src="@/assets/site/step_2.png" alt=""> |
||||
|
<b>AppSecret</b> |
||||
|
<div style="flex: 1;margin-right: 10px;"> |
||||
|
<GuipInput ref="GuipInput" width="100%" v-model="siteInfo.ocpc_360_appsecret" |
||||
|
placeholder="请输入appsecret" /> |
||||
|
</div> |
||||
|
<GuipButton type="primary" :btnstyle="{ width: '94px', height: '38px' }" |
||||
|
@click="save360Ocpc()">确认</GuipButton> |
||||
|
</div> |
||||
|
|
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
</el-form> |
||||
|
<el-form ref="formRef" class="bidform tcpr-wrap"> |
||||
|
<div class="semBidWrap"> |
||||
|
<h3 class="flex-between"> |
||||
|
<p>必应TCPA竞价 <span>自动化的出价和优化,以实现更高的广告投放效果和ROI</span></p> |
||||
|
<!-- <div class="flex close-bid point" @click="deleteBid('360')">删除<img src="@/assets/register/close.svg" alt=""></div> --> |
||||
|
</h3> |
||||
|
<div class="baidu-wrap bidWrap"> |
||||
|
<div class="beforeNotice"> |
||||
|
<h4 class="flex"> <img src="@/assets/site/siteSemInfo_Icon.svg" alt=""> 前期准备事项</h4> |
||||
|
<p class="mt12 flex"> |
||||
|
<i>1.</i> <a href="https://azure.microsoft.com/zh-cn/free" class="flex" |
||||
|
target="_blank"> <img src="@/assets/site/form_linkActive.svg" |
||||
|
alt="">前往微软云</a>(Azure),登录后填写个人资料并完成注册。 |
||||
|
</p> |
||||
|
<p class="mt10 flex"> |
||||
|
<i>2.</i> <a href="https://aka.ms/bingads-app" class="flex" target="_blank"> <img |
||||
|
src="@/assets/site/form_linkActive.svg" |
||||
|
alt="">前往应用注册</a>,侧边栏点击“应用注册”,然后在右侧应用列表中注册应用程序 |
||||
|
</p> |
||||
|
<div> |
||||
|
<p>名称:填写应用名称</p> |
||||
|
<p>受支持的帐户类型:选择 任何组织目录(任何 Microsoft Entra ID 租户 - 多租户)中的帐户和个人 Microsoft 帐户(例如 |
||||
|
Skype、Xbox)</p> |
||||
|
<p>重定向URI:忽略</p> |
||||
|
<p>点击:注册</p> |
||||
|
</div> |
||||
|
<p class="mt10"><i>3.</i> |
||||
|
<span>应用配置,返回应用列表,在应用列表点击刚创建的应用,然后在应用概览页点击“添加重定向URI”->点击添加平台,选择移动和桌面应用程序->自定义重定向 |
||||
|
URI, |
||||
|
<b>https://www.kuailelunwen.com/callback/microsoft_callback <img class="point" |
||||
|
src="@/assets/site/form_copy.svg" alt=""></b></span> |
||||
|
|
||||
|
</p> |
||||
|
</div> |
||||
|
<div class="bidwrap-item"> |
||||
|
<div class="biditemMast mb12 flex-between"> |
||||
|
<div class="bidwrap-item-top flex"> |
||||
|
<img class="bid-item-img" src="@/assets/site/step_1.png" alt=""> |
||||
|
<div class="top-right column"> |
||||
|
<b>配置应用信息</b> |
||||
|
<p>在微软云平台,获得应用程序(客户端) ID。并联系开户人员,获得开发者令牌Developer token </p> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div class="flex" v-if="siteInfo.bing_client_id&&siteInfo.bing_developer_token"> |
||||
|
<span :class="'yesSet'">已设置</span> |
||||
|
<GuipButton type="normal" :btnstyle="{ width: '126px', height: '38px' }" |
||||
|
@click="manageDialog('configAppInfo')">管理设置</GuipButton> |
||||
|
</div> |
||||
|
<div class="flex" v-else> |
||||
|
<span :class="'notSet'">未设置</span> |
||||
|
<GuipButton type="normal" :btnstyle="{ width: '126px', height: '38px' }" |
||||
|
@click="manageDialog('configAppInfo')">立即设置</GuipButton> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div class="biditemMast mb12 flex-between"> |
||||
|
<div class="bidwrap-item-top flex"> |
||||
|
<img class="bid-item-img" src="@/assets/site/step_2.png" alt=""> |
||||
|
<div class="top-right column"> |
||||
|
<b>配置离线转化信息</b> |
||||
|
<p class="flex"><a href="https://ads.microsoft.com/" class="flex" target="_blank"> <img src="@/assets/site/form_linkActive.svg" |
||||
|
alt="">前往微软广告</a>,左上角切换有效的账户,从浏览器地址栏链接中获取aid的值和cid的值</p> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div class="flex" v-if="siteInfo.bing_customer_id&&siteInfo.bing_customer_account_id"> |
||||
|
<span :class="'yesSet'">已设置</span> |
||||
|
<GuipButton type="primary" :btnstyle="{ width: '126px', height: '38px' }" |
||||
|
@click="manageDialog('configOffline')">管理设置</GuipButton> |
||||
|
</div> |
||||
|
<div class="flex" v-else> |
||||
|
<span :class="'notSet'">未设置</span> |
||||
|
<GuipButton type="primary" :btnstyle="{ width: '126px', height: '38px' }" |
||||
|
@click="manageDialog('configOffline')">立即设置</GuipButton> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div class="biditemMast mb12 flex-between"> |
||||
|
<div class="bidwrap-item-top flex"> |
||||
|
<img class="bid-item-img" src="@/assets/site/step_3.png" alt=""> |
||||
|
<div class="top-right column"> |
||||
|
<b>创建离线转化</b> |
||||
|
<p>在微软云平台创建离线转化,创建成功后2个小时才生效,转化数据查看最晚有5-6小时延迟。 </p> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div class="flex" v-if="siteInfo.bing_conversion_name"> |
||||
|
<span :class="'yesSet'">已设置</span> |
||||
|
<GuipButton type="primary" :btnstyle="{ width: '126px', height: '38px' }" |
||||
|
@click="manageDialog('createOffline')">立即设置</GuipButton> |
||||
|
</div> |
||||
|
<div class="flex" v-else> |
||||
|
<span :class="'notSet'">未设置</span> |
||||
|
<GuipButton type="primary" :btnstyle="{ width: '126px', height: '38px' }" |
||||
|
@click="manageDialog('createOffline')">立即设置</GuipButton> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div class="biditemMast flex-between" v-if="!siteInfo.bing_isexist_accesstoken"> |
||||
|
<div class="bidwrap-item-top flex"> |
||||
|
<img class="bid-item-img" src="@/assets/site/step_4.png" alt=""> |
||||
|
<div class="top-right column" v-if="siteInfo.bing_authurl"> |
||||
|
<b>登陆</b> |
||||
|
<p>确认前3步完成,点击右侧“登录”按钮。 </p> |
||||
|
</div> |
||||
|
<div class="top-right column" v-else> |
||||
|
<b>请先完善上方信息</b> |
||||
|
<p>确认前3步完成。 </p> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div class="flex" v-if="siteInfo.bing_authurl"> |
||||
|
<GuipButton type="primary" :btnstyle="{ width: '126px', height: '38px' }" @click="openLink(siteInfo.bing_authurl)">登录</GuipButton> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
</el-form> |
||||
|
</div> |
||||
|
<div class="siteMessage flex-common mt12" id="siteMessage13"> |
||||
|
<h3>访问统计 <span>输入统计代码,便于统计浏览点击量(可以不填)</span></h3> |
||||
|
<el-form ref="formRef"> |
||||
|
<GuipInput ref="GuipInput" width="100%" height="160px" type="textarea" v-model="siteInfo.access_stats_code"> |
||||
|
</GuipInput> |
||||
|
</el-form> |
||||
|
<GroupFormBtns @cancel="cancleUpdateSiteInfo" @confirm="saveSiteAccessStat" /> |
||||
|
</div> |
||||
|
|
||||
|
<GuipDialog type="normal" :dialogVisible="dialogVisibleConfig" :title="diaTitle" :show-close-button="false" |
||||
|
:show-cancel-button="true" cancelText="取消" confirmText="确定" @confirm="handleConfirmConfig" |
||||
|
@cancel="handleCancelConfig" @dialogVisibleChange="dialogVisibleChange"> |
||||
|
<ConfigOffLineConversion v-if="configType == 'configOffline'" :siteInfo="siteInfo" @update-field="handleFieldUpdate" /> |
||||
|
<ConfigAppInformation v-if="configType == 'configAppInfo'" :siteInfo="siteInfo" @update-field="handleFieldUpdate" /> |
||||
|
<CreateOffLine v-if="configType == 'createOffline'" :siteInfo="siteInfo" @update-field="handleFieldUpdate" /> |
||||
|
</GuipDialog> |
||||
|
</div> |
||||
|
</div> |
||||
|
</template> |
||||
|
<script> |
||||
|
import GuipInput from '@/components/GuipInput.vue'; |
||||
|
import { mapState } from 'vuex'; |
||||
|
import store from '@/store'; |
||||
|
// import GuipButton from '@/components/GuipButton.vue'; |
||||
|
import GroupFormBtns from '@/components/GroupFormBtns.vue'; |
||||
|
import GuipFormItem from '@/components/GuipFormItem.vue'; |
||||
|
import GuipDialog from '@/components/GuipDialog.vue'; |
||||
|
import GuipButton from '@/components/GuipButton.vue'; |
||||
|
import ConfigOffLineConversion from '@/components/site/ConfigOffLineConversion.vue'; |
||||
|
import ConfigAppInformation from '@/components/site/ConfigAppInformation.vue'; |
||||
|
import CreateOffLine from '@/components/site/CreateOffLine.vue'; |
||||
|
|
||||
|
export default { |
||||
|
// 站点设置 |
||||
|
name: '', |
||||
|
props: [''], |
||||
|
components: { |
||||
|
CreateOffLine, |
||||
|
ConfigAppInformation, |
||||
|
ConfigOffLineConversion, |
||||
|
GuipInput, |
||||
|
GuipFormItem, |
||||
|
GuipButton, |
||||
|
GroupFormBtns, |
||||
|
GuipDialog |
||||
|
}, |
||||
|
data() { |
||||
|
return { |
||||
|
// AUTH |
||||
|
token: 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpYXQiOjE3NTAwNTM3MjQsIm5iZiI6MTc1MDA1MzcyNCwiZXhwIjoxNzUyNjQ1NzI0LCJ1c2VyIjoic3VidXNlciIsImxvZ2luX3R5cGUiOjAsImFpZCI6IjEifQ.xyIqBLelB-k6jCifgRevBJTyg_Qrm6m1e4OcHhOpepU', |
||||
|
// 站点信息 |
||||
|
siteInfo: { |
||||
|
sitename: '', |
||||
|
sitedesc: '', |
||||
|
sitekeywords: '', |
||||
|
bd_ocpc_token: '', |
||||
|
ocpc_360_appkey: '', |
||||
|
ocpc_360_appsecret: '', |
||||
|
bing_client_id: '9999', |
||||
|
bing_conversion_name: '', |
||||
|
bing_customer_account_id: '', |
||||
|
bing_customer_id: '', |
||||
|
bing_developer_token: '', |
||||
|
bing_isexist_accesstoken: false, |
||||
|
bing_authurl: '', |
||||
|
}, |
||||
|
bdurl: '', |
||||
|
|
||||
|
configType: '', |
||||
|
diaTitle: '配置应用信息', |
||||
|
configTitle: { |
||||
|
createOffline: '创建离线转化', |
||||
|
configOffline: '配置离线转化信息', |
||||
|
configAppInfo: '配置应用信息', |
||||
|
}, |
||||
|
dialogVisibleBid: false, |
||||
|
dialogVisibleConfig: false, |
||||
|
} |
||||
|
}, |
||||
|
computed: { |
||||
|
...mapState(['pageTitle']) // 从Vuex映射showSidebar状态到组件的计算属性中 |
||||
|
}, |
||||
|
mounted() { |
||||
|
this.getSiteInfo(); |
||||
|
store.commit('SET_PAGETITLE', '营销推广'); |
||||
|
}, |
||||
|
methods: { |
||||
|
// 修改siteinfo |
||||
|
handleFieldUpdate({ field, value }) { |
||||
|
this.siteInfo = { |
||||
|
...this.siteInfo, |
||||
|
[field]: value |
||||
|
} |
||||
|
}, |
||||
|
// 获取站点信息 |
||||
|
getSiteInfo() { |
||||
|
const that = this |
||||
|
that.siteInfo = [] |
||||
|
this.$http('POST', '/agentnew/ajax_get_site_info', { |
||||
|
uid: this.$route.query.uid, |
||||
|
}, { |
||||
|
headers: { |
||||
|
'Auth': this.token |
||||
|
} |
||||
|
}).then(response => { |
||||
|
this.$nextTick(() => { |
||||
|
that.siteInfo = {...response.data} |
||||
|
}) |
||||
|
}).catch(error => { |
||||
|
console.error(error, 'error') |
||||
|
}) |
||||
|
}, |
||||
|
updateSiteTDK() { |
||||
|
this.$http('POST', '/agentnew/ajax_update_site_tdk', { |
||||
|
uid: this.$route.query.uid, |
||||
|
title: this.siteInfo.sitename, |
||||
|
desc: this.siteInfo.sitedesc, |
||||
|
keyword: this.siteInfo.sitekeywords |
||||
|
}, { |
||||
|
headers: { |
||||
|
'Auth': this.token |
||||
|
} |
||||
|
}).then(response => { |
||||
|
this.$nextTick(() => { |
||||
|
if (response.status) { |
||||
|
this.$Message.success(response.info); |
||||
|
} else { |
||||
|
this.$Message.error(response.info); |
||||
|
} |
||||
|
}) |
||||
|
}).catch(error => { |
||||
|
console.error(error, 'error') |
||||
|
}) |
||||
|
}, |
||||
|
saveBaiduOcpcToken() { |
||||
|
this.$http('POST', '/agentnew/ajax_update_bd_ocpc', { |
||||
|
uid: this.$route.query.uid, |
||||
|
token: this.siteInfo.bd_ocpc_token, |
||||
|
}, { |
||||
|
headers: { |
||||
|
'Auth': this.token |
||||
|
} |
||||
|
}).then(response => { |
||||
|
this.$nextTick(() => { |
||||
|
if (response.status) { |
||||
|
this.$Message.success(response.info); |
||||
|
} else { |
||||
|
this.$Message.error(response.info); |
||||
|
} |
||||
|
}) |
||||
|
}).catch(error => { |
||||
|
console.error(error, 'error') |
||||
|
}) |
||||
|
}, |
||||
|
verifyBaiduOcpc() { |
||||
|
this.$http('POST', '/agentnew/ajax_verify_bd_ocpc', { |
||||
|
uid: this.$route.query.uid, |
||||
|
bdurl: this.bdurl, |
||||
|
}, { |
||||
|
headers: { |
||||
|
'Auth': this.token |
||||
|
} |
||||
|
}).then(response => { |
||||
|
this.$nextTick(() => { |
||||
|
if (response.status) { |
||||
|
this.$Message.success(response.info); |
||||
|
} else { |
||||
|
this.$Message.error(response.info); |
||||
|
} |
||||
|
}) |
||||
|
}).catch(error => { |
||||
|
console.error(error, 'error') |
||||
|
}) |
||||
|
}, |
||||
|
save360Ocpc() { |
||||
|
this.$http('POST', '/agentnew/ajax_save_360_ocpc', { |
||||
|
uid: this.$route.query.uid, |
||||
|
appkey: this.siteInfo.ocpc_360_appkey, |
||||
|
appsecret: this.siteInfo.ocpc_360_appsecret |
||||
|
}, { |
||||
|
headers: { |
||||
|
'Auth': this.token |
||||
|
} |
||||
|
}).then(response => { |
||||
|
this.$nextTick(() => { |
||||
|
if (response.status) { |
||||
|
this.$Message.success(response.info); |
||||
|
} else { |
||||
|
this.$Message.error(response.info); |
||||
|
} |
||||
|
}) |
||||
|
}).catch(error => { |
||||
|
console.error(error, 'error') |
||||
|
}) |
||||
|
}, |
||||
|
saveBingTcpc() { |
||||
|
this.$http('POST', '/agentnew/ajax_save_bing_tcpa', { |
||||
|
uid: this.$route.query.uid, |
||||
|
client_id: this.siteInfo.bing_client_id, |
||||
|
developer_token: this.siteInfo.bing_developer_token, |
||||
|
customer_id: this.siteInfo.bing_customer_id, |
||||
|
customer_account_id: this.siteInfo.bing_customer_account_id, |
||||
|
conversion_name: this.siteInfo.bing_conversion_name |
||||
|
}, { |
||||
|
headers: { |
||||
|
'Auth': this.token |
||||
|
} |
||||
|
}).then(response => { |
||||
|
this.$nextTick(() => { |
||||
|
if (response.status) { |
||||
|
this.$Message.success(response.info); |
||||
|
} else { |
||||
|
this.$Message.error(response.info); |
||||
|
} |
||||
|
}) |
||||
|
}).catch(error => { |
||||
|
console.error(error, 'error') |
||||
|
}) |
||||
|
}, |
||||
|
saveSiteAccessStat() { |
||||
|
this.$http('POST', '/agentnew/ajax_update_site_access_stat', { |
||||
|
uid: this.$route.query.uid, |
||||
|
access_stats_code: this.siteInfo.access_stats_code, |
||||
|
}, { |
||||
|
headers: { |
||||
|
'Auth': this.token |
||||
|
} |
||||
|
}).then(response => { |
||||
|
this.$nextTick(() => { |
||||
|
if (response.status) { |
||||
|
this.$Message.success(response.info); |
||||
|
} else { |
||||
|
this.$Message.error(response.info); |
||||
|
} |
||||
|
}) |
||||
|
}).catch(error => { |
||||
|
console.error(error, 'error') |
||||
|
}) |
||||
|
}, |
||||
|
openLink(url) { |
||||
|
window.open(url, '_blank'); |
||||
|
}, |
||||
|
cancleUpdateSiteInfo() { |
||||
|
this.getSiteInfo(); |
||||
|
}, |
||||
|
// 确认按钮事件 |
||||
|
handleConfirm() { |
||||
|
this.dialogVisibleBid = false; |
||||
|
}, |
||||
|
// 取消按钮事件 |
||||
|
handleCancel() { |
||||
|
this.$message.warning('点击了取消按钮'); |
||||
|
this.dialogVisibleBid = false; |
||||
|
}, |
||||
|
manageDialog(type) { |
||||
|
this.configType = type; |
||||
|
this.dialogVisibleConfig = true; |
||||
|
this.diaTitle = this.configTitle[type] |
||||
|
}, |
||||
|
// 确认按钮事件 |
||||
|
handleConfirmConfig() { |
||||
|
this.saveBingTcpc(); |
||||
|
this.dialogVisibleConfig = false; |
||||
|
|
||||
|
}, |
||||
|
// 取消按钮事件 |
||||
|
handleCancelConfig() { |
||||
|
this.dialogVisibleConfig = false; |
||||
|
}, |
||||
|
dialogVisibleChange(data) { |
||||
|
console.log(data, 'data098908090'); |
||||
|
}, |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
</script> |
||||
|
<style scoped lang="scss"> |
||||
|
.pageheader { |
||||
|
display: flex; |
||||
|
justify-content: space-between; |
||||
|
/* 关键属性 */ |
||||
|
align-items: center; |
||||
|
margin: 16px 0px 16px 0px; |
||||
|
} |
||||
|
|
||||
|
.pagetitle { |
||||
|
font-size: 18px; |
||||
|
font-weight: bold; |
||||
|
line-height: normal; |
||||
|
letter-spacing: 0.08em; |
||||
|
color: #1E2226; |
||||
|
margin-top: 8px; |
||||
|
} |
||||
|
|
||||
|
.site-sem-wrap { |
||||
|
width: 100%; |
||||
|
letter-spacing: 0.08em; |
||||
|
} |
||||
|
|
||||
|
.notSet, |
||||
|
.yesSet { |
||||
|
margin-right: 12px; |
||||
|
color: #FF4D4F; |
||||
|
} |
||||
|
|
||||
|
.yesSet { |
||||
|
color: #00C261; |
||||
|
} |
||||
|
|
||||
|
.bidform { |
||||
|
&:nth-child(even) { |
||||
|
margin: 32px 0; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
.baidu-form { |
||||
|
.bidwrap-item { |
||||
|
margin-bottom: 18px; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
.beforeNotice { |
||||
|
|
||||
|
h4 { |
||||
|
margin: 0; |
||||
|
gap: 8px; |
||||
|
} |
||||
|
|
||||
|
margin-bottom: 18px; |
||||
|
text-align: left; |
||||
|
box-sizing: border-box; |
||||
|
padding: 20px 14px; |
||||
|
border-radius: 4px; |
||||
|
/* middle/middle_blue_1 */ |
||||
|
background: #F2F7FF; |
||||
|
/* middle/middle_blue_3 */ |
||||
|
border: 1px solid #BFDAFF; |
||||
|
|
||||
|
div { |
||||
|
margin-top: 2px; |
||||
|
padding-left: 23px; |
||||
|
|
||||
|
p { |
||||
|
color: #8A9099; |
||||
|
} |
||||
|
|
||||
|
} |
||||
|
|
||||
|
p { |
||||
|
color: #1E2226; |
||||
|
|
||||
|
i { |
||||
|
font-style: normal; |
||||
|
} |
||||
|
|
||||
|
&:last-child { |
||||
|
display: flex; |
||||
|
align-items: stretch; |
||||
|
|
||||
|
b { |
||||
|
font-weight: normal; |
||||
|
color: #8A9099; |
||||
|
display: inline-flex; |
||||
|
|
||||
|
img { |
||||
|
margin-left: 4px; |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
a { |
||||
|
text-decoration: none; |
||||
|
color: #006AFF; |
||||
|
margin-right: 10px; |
||||
|
|
||||
|
img { |
||||
|
margin-left: 12px; |
||||
|
margin-right: 12px; |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
.biditem360 { |
||||
|
b { |
||||
|
display: inline-block; |
||||
|
width: 80px; |
||||
|
text-align: left; |
||||
|
margin-right: 10px; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
.addStore { |
||||
|
margin-top: 24px; |
||||
|
// transition: all .3s; |
||||
|
// &:active{ |
||||
|
// opacity: 0.7; |
||||
|
// } |
||||
|
// div{ |
||||
|
// width: 16px; |
||||
|
// height: 16px; |
||||
|
// background-image: url(../assets/addIcon.svg); |
||||
|
// margin-right: 12px; |
||||
|
// } |
||||
|
// &:hover{ |
||||
|
// div{ |
||||
|
// background-image: url(../assets/addIcon_light.svg); |
||||
|
// } |
||||
|
// border-color: #006AFF; |
||||
|
// color: #006AFF; |
||||
|
// } |
||||
|
} |
||||
|
|
||||
|
.radio-wrap {} |
||||
|
|
||||
|
.tcpr-wrap { |
||||
|
.bidwrap-item { |
||||
|
padding: 0 !important; |
||||
|
background: transparent !important; |
||||
|
|
||||
|
.biditemMast { |
||||
|
background: #fff; |
||||
|
padding: 24px 16px; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
.semBidWrap { |
||||
|
padding-bottom: 24rpx; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
.semBidWrap { |
||||
|
background: #FAFAFA; |
||||
|
padding: 18px 14px; |
||||
|
box-sizing: border-box; |
||||
|
|
||||
|
.el-form-item { |
||||
|
margin-bottom: 0; |
||||
|
} |
||||
|
|
||||
|
.close-bid { |
||||
|
color: #626573; |
||||
|
font-size: 14px; |
||||
|
font-weight: normal; |
||||
|
transition: all .3s; |
||||
|
|
||||
|
&:hover { |
||||
|
opacity: 0.7; |
||||
|
} |
||||
|
|
||||
|
img { |
||||
|
width: 16px; |
||||
|
height: 16px; |
||||
|
margin-left: 6px; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
|
||||
|
.bidWrap { |
||||
|
.bidwrap-item { |
||||
|
padding: 24px 16px; |
||||
|
box-sizing: border-box; |
||||
|
border-radius: 8px; |
||||
|
background: #FFFFFF; |
||||
|
|
||||
|
|
||||
|
.bid-item-img { |
||||
|
width: 32px; |
||||
|
height: 32px; |
||||
|
margin-right: 22px; |
||||
|
} |
||||
|
|
||||
|
.bidwrap-item-top { |
||||
|
.top-right { |
||||
|
p { |
||||
|
margin-top: 10px; |
||||
|
} |
||||
|
|
||||
|
a { |
||||
|
text-decoration: none; |
||||
|
color: #006AFF; |
||||
|
|
||||
|
img { |
||||
|
margin-right: 10px; |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
.bidwrap-item-bot { |
||||
|
padding-left: 54px; |
||||
|
justify-content: flex-end; |
||||
|
|
||||
|
} |
||||
|
|
||||
|
} |
||||
|
} |
||||
|
|
||||
|
} |
||||
|
</style> |
Loading…
Reference in new issue