Browse Source

设置价格页面、修改供货详情页面

pull/112/head
zq 1 week ago
parent
commit
704e052f3a
  1. 23
      src/App.vue
  2. 1
      src/assets/site/price1.svg
  3. 1
      src/assets/site/price2.svg
  4. 1
      src/assets/site/price3.svg
  5. 1
      src/components/SliderScondThree.vue
  6. 227
      src/views/agent/siteServiceAdd.vue
  7. 1
      src/views/agent/supplyList.vue

23
src/App.vue

@ -10,9 +10,10 @@
<el-container :class="(showHeader ? 'short-container' : '')">
<!-- 侧边栏 -->
<SliderMenu v-if="showSidebar" :menuData="slidermenu" :customize="customize"></SliderMenu>
<SliderScond v-if="showSecondSide" :menuData="secondMenu" ></SliderScond>
<!-- <SliderScond v-if="showSecondSide" :menuData="secondMenu" ></SliderScond> -->
<SliderScondThree v-if="showSecondSide" :menuData="secondMenu" ></SliderScondThree>
<!-- :renderKey="{}" 覆盖内部取值 可存储至store 修改获取-->
<el-container class="main-right-content">
<el-container :class="['main-right-content',showSecondSide ? 'main-right-content2':'']">
<!-- 面包屑导航 -->
<Breadcrumb />
<el-main class="app-content">
@ -34,7 +35,7 @@ import Header from './components/Header.vue';
import Breadcrumb from './components/Breadcrumb.vue';
// import loadingAnimation from '@/assets/loadingAni.json' // JSON
import GlobalLoading from '@/components/GlobalLoading1.vue'
import SliderScond from '@/components/SliderScond.vue'
import SliderScondThree from '@/components/SliderScondThree.vue'
// import ContentWithLoading from '@/components/ContentWithLoading'
export default {
data() {
@ -44,7 +45,7 @@ export default {
},
components: {
GlobalLoading,
SliderScond,
SliderScondThree,
// ContentWithLoading,
SliderMenu,
// Footer,
@ -56,6 +57,17 @@ export default {
},
mounted() {
window.addEventListener('beforeunload', this.clearStorage);
console.log(this.secondMenu,'secondMenu====');
if (!this.secondMenu || this.secondMenu.length === 0 || Object.keys(this.secondMenu).length == 0) {
// localStorage
console.log(savedData,'savedData');
const savedData = localStorage.getItem('selectedServices');
if (savedData) {
this.$store.commit('SET_SECOND_MENU', JSON.parse(savedData));
} else {
this.$router.go(-1);
}
}
},
beforeUnmount() {
window.removeEventListener('beforeunload', this.clearStorage);
@ -101,6 +113,9 @@ export default {
flex-direction: column;
min-width: 1042px;
}
.main-right-content2{
min-width: 990px;
}
::v-deep .el-container .el-main {

1
src/assets/site/price1.svg

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" fill="none" version="1.1" width="16" height="16" viewBox="0 0 16 16"><defs><clipPath id="master_svg0_827_029976"><rect x="0" y="0" width="16" height="16" rx="0"/></clipPath><linearGradient x1="0.94976806640625" y1="0.9587570428848267" x2="0.1639928761548255" y2="-0.013538789885776559" id="master_svg1_3_10240"><stop offset="0%" stop-color="#006AFF" stop-opacity="1"/><stop offset="100%" stop-color="#4D97FF" stop-opacity="1"/></linearGradient></defs><g clip-path="url(#master_svg0_827_029976)"><g><path d="M12.039581265625,11.2C11.204380265625,12.583467,9.665180165625,13.4368,7.999047265625,13.44C6.331847165625,13.4368,4.792647365625,12.583467,3.956380865625,11.2C3.825079665625,11.003482,3.817214965625,10.749328,3.936114065625,10.545067C4.0598354656249995,10.336885,4.285998865625,10.211375,4.528113865625,10.216534C4.773447065625,10.219733,4.996380365625,10.352,5.109446965625,10.56C5.707847165625,11.5488,6.807580465625,12.157867,7.999046765625,12.160001C9.189447365625,12.157867,10.288112665625,11.5488,10.885446265625,10.56C11.007995265625,10.358182,11.227472265625,10.235486,11.463581265625,10.2368C11.699426265625,10.234432,11.919248265625,10.355882,12.042780265625,10.5568C12.162336265625,10.754748,12.161512265625,11.002849,12.040647265625,11.2M13.872114265625,3.2000003L1.861447365625,3.2000003C1.128647325625,3.2000003,0.534513950325,3.7706668,0.533447265625,4.4746666L0.533447265625,14.7232C0.533447265625,15.4272,1.128647325625,16,1.861447365625,16L13.872114265625,16C14.605980265625,15.998934,15.199047265625,15.428267,15.200113265625,14.724267L15.200113265625,4.4757338C15.200113265625,3.7717335,14.604913265625,3.2010667,13.872114265625,3.2000003ZM7.866780265625,1.2800001C8.969713165625,1.2800001,9.866781265625,2.1418667,9.866781265625,3.2L11.200113265625,3.2C11.200113265625,1.4357333,9.704647065625,0,7.866780765625,0C6.028914965625,0,4.533447265625,1.4357336,4.533447265625,3.2000003L5.866780765625,3.2000003C5.866780765625,2.1418669,6.763847365625,1.2800003,7.866780265625,1.2800001Z" fill="url(#master_svg1_3_10240)" fill-opacity="1"/></g></g></svg>

After

Width:  |  Height:  |  Size: 2.1 KiB

1
src/assets/site/price2.svg

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" fill="none" version="1.1" width="16" height="16" viewBox="0 0 16 16"><defs><clipPath id="master_svg0_827_030015"><rect x="0" y="0" width="16" height="16" rx="0"/></clipPath><linearGradient x1="0.94976806640625" y1="0.9587570428848267" x2="0.049243539926359964" y2="0.08606825837055598" id="master_svg1_3_10240"><stop offset="0%" stop-color="#006AFF" stop-opacity="1"/><stop offset="100%" stop-color="#4D97FF" stop-opacity="1"/></linearGradient></defs><g clip-path="url(#master_svg0_827_030015)"><g><path d="M15.2639619140625,13.80803725Q15.2639619140625,14.11203625,15.1599619140625,14.37603625Q15.0559619140625,14.64003625,14.8639619140625,14.84003625Q14.6719629140625,15.04003625,14.4159619140625,15.15203625Q14.1599619140625,15.26403725,13.8559619140625,15.26403725L2.2399618140625,15.26403725Q1.9359619140625,15.26403725,1.6639619440625,15.15203625Q1.3919619940625,15.04003625,1.1839619240625,14.84003625Q0.9759618640625,14.64003625,0.8559619140625,14.37603625Q0.735961973667145,14.11203625,0.7359619140625,13.80803725L0.7359619140625,5.82403655Q0.7359619140625,5.216037050000001,1.1599618840625001,4.792036749999999Q1.5839617840625,4.368036549999999,2.1919618140625,4.3680369500000005L13.8079619140625,4.3680369500000005Q14.4159609140625,4.3680369500000005,14.8399609140625,4.792036749999999Q15.2639609140625,5.21603655,15.2639609140625,5.82403655L15.2639609140625,8.00003715L11.6319609140625,8.00003715Q11.0239609140625,8.00003715,10.5999613140625,8.416036649999999Q10.1759615140625,8.83203605,10.1759615140625,9.44003675Q10.1919613140625,9.85603715,10.3519611140625,10.17603685Q10.4799614140625,10.44803715,10.7759609140625,10.67203715Q11.0719609140625,10.89603715,11.6319609140625,10.89603715L15.2639609140625,10.89603715L15.2639619140625,13.80803725ZM13.0879619140625,3.63203745L5.8239627140625,3.63203745Q6.6879625140625,3.18403745,7.4559626140625,2.76803735Q8.1279626140625,2.41603735,8.7839622140625,2.0640373199999997Q9.4399624140625,1.7120373199999999,9.8079624140625,1.5200372899999999Q10.3679628140625,1.216037273,10.8079629140625,1.240037322Q11.2479619140625,1.264037371,11.5519629140625,1.3920372699999999Q11.9039629140625,1.56803727,12.1599629140625,1.85603726L13.0879619140625,3.63203745ZM10.9119619140625,9.44003675Q10.9119619140625,9.13603685,11.1199619140625,8.92803665Q11.3279619140625,8.72003655,11.6319619140625,8.72003655Q11.9359619140625,8.72003655,12.1439619140625,8.92803665Q12.3519619140625,9.13603685,12.3519619140625,9.44003675Q12.3519619140625,9.74403665,12.1439619140625,9.96003625Q11.9359619140625,10.17603585,11.6319619140625,10.17603585Q11.3279619140625,10.17603585,11.1199619140625,9.96003625Q10.9119619140625,9.74403665,10.9119619140625,9.44003675Z" fill="url(#master_svg1_3_10240)" fill-opacity="1"/></g></g></svg>

After

Width:  |  Height:  |  Size: 2.8 KiB

1
src/assets/site/price3.svg

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" fill="none" version="1.1" width="16" height="16" viewBox="0 0 16 16"><defs><clipPath id="master_svg0_827_030042"><rect x="0" y="0" width="16" height="16" rx="0"/></clipPath></defs><g clip-path="url(#master_svg0_827_030042)"><g><path d="M6.1838849,9.16500420625L3.50055146,9.16500420625C3.15021825,9.16500420625,2.908551455,8.81433720625,3.033218145,8.48717070625L5.6995518,1.4885039362499999C5.7734005,1.29465341625,5.9592773999999995,1.16653573513,6.1667182,1.16650390625L10.6660519,1.16650390625C11.0210514,1.16650390625,11.263052,1.52617061625,11.1290522,1.85500395625L9.5765524,5.66567090625L12.4992189,5.66567090625C12.9290524,5.66567090625,13.158385,6.17233750625,12.8748856,6.49533750625L5.7092192,14.66033690625C5.3608858999999995,15.05733690625,4.7150524,14.71333690625,4.850219,14.20283590625L6.1838849,9.16500420625Z" fill="#00C261" fill-opacity="1"/></g></g></svg>

After

Width:  |  Height:  |  Size: 959 B

1
src/components/SliderScondThree.vue

@ -235,6 +235,7 @@ export default {
// }, 1000)
// }
setActiveCur(item1, item, index) {
console.log(item1,'===---item1');
store.commit('SET_CURRENTMENUITEM', item1);
this.currentMenuItem = item1;
this.curIndex = index;

227
src/views/agent/siteServiceAdd.vue

@ -20,59 +20,70 @@
</PromptText> -->
<div class="flex-common service_info">
<div class="service_info_wrap common_scss">
<div class="title flex">
<img src="" alt="">
<div class="title flex gap6">
<img src="@/assets/site/price1.svg" alt="">
<b class="blue">服务信息</b>
</div>
<div class="flex">
<label for="">品牌名称</label>
<label>品牌名称</label>
<p>
<b>{{ }}</b>
{{ }}dsfdsfsdfds
<b>{{ }}人工摘要翻译</b>
{{ }}站点开通服务后除了新增了翻译入口外该站点的检测服务网页的右上角会显示翻译的广告宣传图点击会跳转到已开启的翻译页面
</p>
</div>
<div class="flex">
<label for="">服务名称</label>
<label>服务名称</label>
<p>
<b>{{ }}</b>
{{ }}
</p>
</div>
<!--需要 增加条件判断 -->
<div class="flex">
<label>注意事项</label>
<p class="warn">
电商禁止售卖降重类的商品如果上架建议调整文案规避
</p>
</div>
</div>
<div class="flex-between gap24">
<div class="common_scss">
<div class="flex">
<img src="" alt="">
<div class="flex gap6">
<img src="@/assets/site/price2.svg" alt="">
<b class="blue">价格信息</b>
</div>
<div class="flex">
<label for="">进货价格</label>
<label>进货价格</label>
<p>
{{ }}
{{ serviceAddInfo.supply_price }}{{ serviceAddInfo.supply_price_warning }}
</p>
</div>
<div class="flex">
<label for="">售价规则</label>
<div class="flex" v-if="serviceAddInfo && serviceAddInfo.prompt && serviceAddInfo.prompt.title">
<label>售价规则</label>
<p>
{{ }}
{{ serviceAddInfo.prompt.title }}
</p>
</div>
</div>
<div class="common_scss green_back">
<div class="flex">
<img src="" alt="">
<div class="flex gap6">
<img src="@/assets/site/price3.svg" alt="">
<b class="green">利润分析</b>
</div>
<div class="flex">
<label for="">利润率</label>
<p>
{{ }}
<label>利润率</label>
<p v-if="service_unit == '1'">
因售卖单位设置为篇利率无法计算
</p>
<p v-if="service_unit == '0'">
{{ calculation.profitRate }}%因单位进制差异利率为约数
</p>
</div>
<div class="flex">
<label for="">利润水平</label>
<p>
{{ }}
<label>利润额</label>
<p v-if="service_unit == '1'">因售卖单位设置为篇利润额无法计算</p>
<p v-if="service_unit == '0'">
每1000字赚{{ calculation.profitPerUnit }}因单位进制差异金额为约数
</p>
</div>
</div>
@ -80,7 +91,7 @@
</div>
<div class="service-title flex-between" v-if="serviceAddInfo && serviceAddInfo.ver_type">
<!-- <div class="service-title flex-between" v-if="serviceAddInfo && serviceAddInfo.ver_type">
<div class="service-name flex gap12">
<img :src="require('@/assets/serviceIcon/ver_'+serviceAddInfo.ver_type+'.svg')" alt="">
<span>{{ serviceAddInfo.ver_name }}_{{ serviceAddInfo.type_name }}</span>
@ -89,9 +100,9 @@
<span class="service-status-close" @click="handleDelServiceClick">关闭服务</span>
<span class="service-status-desc">已开启</span>
</div>
</div>
</div> -->
<PromptText v-if="serviceAddInfo && serviceAddInfo.prompt && serviceAddInfo.prompt.title" :text='serviceAddInfo.prompt.title' :type="1"
<!-- <PromptText v-if="serviceAddInfo && serviceAddInfo.prompt && serviceAddInfo.prompt.title" :text='serviceAddInfo.prompt.title' :type="1"
class="mb12">
<template #desc v-if="serviceAddInfo.prompt.content">
<div class="alert-more-info mt12">
@ -99,39 +110,42 @@
{{ item }}</div>
</div>
</template>
</PromptText>
</PromptText> -->
<!-- 网页售价 -->
<div class="flex-common mb12 price-set" v-if="serviceAddInfo.web_price_set">
<div class="flex-common mt12 mb12 price-set" v-if="serviceAddInfo.web_price_set">
<el-form class="el-row demo-ruleForm" ref="formRef">
<div class="price-top">
<span class="title">网页支付与售价</span>
<span class="desc"
v-if="serviceAddInfo.supply_price">供货价{{ serviceAddInfo.supply_price }}{{ serviceAddInfo.supply_price_warning }}</span>
<span class="title">网页售价</span>
<!-- <span class="desc"
v-if="serviceAddInfo.supply_price">供货价{{ serviceAddInfo.supply_price }}{{ serviceAddInfo.supply_price_warning }}</span> -->
</div>
<div class="flex-wrap">
<div class="flex-left">
<div class="flex-between mb12">
<div>售价管理</div>
</div>
<div class="flex-between">
<div class="short-width" v-if="Object.keys(serviceAddInfo.set_units).length>1">
<!-- <div class="flex-between mb12">
<div>售价设置</div>
</div> -->
<div class="column">
<el-tabs v-if="Object.keys(serviceAddInfo.set_units).length>1" v-model="service_unit" @tab-click="handleUnitName">
<el-tab-pane v-for="item in Object.keys(serviceAddInfo.set_units)" :label="'按'+serviceAddInfo.set_units[item] + '售卖'" :name="item" :key="item"></el-tab-pane>
</el-tabs>
<!-- <div class="short-width" v-if="Object.keys(serviceAddInfo.set_units).length>1">
<GuipSelect width="100%" v-model="service_unit" placeholder="选择计费方式"
:options="serviceAddInfo.set_units" @change="handleUnitName"/>
</div>
</div> -->
<div class="short-width" v-if="service_unit !== '0'">
<GuipInput v-model="serviceInfo.price" width="100%"
ref="GuipInput" :unit="'元/'+serviceAddInfo.unit_name"></GuipInput>
</div>
</div>
<div class="flex-between mt12" v-if="service_unit === '0'">
<div class="flex-between" v-if="service_unit === '0'">
<div class="short-width">
<GuipInput width="100%" v-model="serviceInfo.price" ref="GuipInput" unit="元">
<GuipInput width="100%" v-model="serviceInfo.price" ref="GuipInput" unit="元" @blur="priceBlur">
</GuipInput>
</div>
<div class="short-width">
<GuipInput width="100%" v-model="serviceInfo.unit_num" ref="GuipInput" :unit="serviceAddInfo.unit_name">
<GuipInput width="100%" v-model="serviceInfo.unit_num" ref="GuipInput" :unit="serviceAddInfo.unit_name" @blur="priceBlur">
</GuipInput>
</div>
</div>
@ -182,20 +196,23 @@
<el-form class="el-row demo-ruleForm" ref="formRef">
<div class="price-top">
<span class="title">{{ serviceAddInfo.shop_name }}支付管理</span>
<span class="desc"
v-if="serviceAddInfo.supply_price && !serviceAddInfo.web_price_set">供货价{{ serviceAddInfo.supply_price }}{{ serviceAddInfo.supply_price_warning }}</span>
<!-- <span class="desc"
v-if="serviceAddInfo.supply_price && !serviceAddInfo.web_price_set">供货价{{ serviceAddInfo.supply_price }}{{ serviceAddInfo.supply_price_warning }}</span> -->
</div>
<div class="flex-wrap">
<div class="flex-left">
<div class="flex-between mb12">
<div>售价管理</div>
<div>售价设置</div>
</div>
<div class="flex-between">
<div class="short-width" v-if="Object.keys(serviceAddInfo.set_units).length>1">
<el-tabs v-if="Object.keys(serviceAddInfo.set_units).length>1" v-model="service_unit" @tab-click="handleUnitName">
<el-tab-pane v-for="item in Object.keys(serviceAddInfo.set_units)" :label="'按'+serviceAddInfo.set_units[item] + '售卖'" :name="item" :key="item"></el-tab-pane>
</el-tabs>
<!-- <div class="short-width" v-if="Object.keys(serviceAddInfo.set_units).length>1">
<GuipSelect width="100%" v-model="service_unit" placeholder="选择计费方式"
:options="serviceAddInfo.set_units" @change="handleUnitName"/>
</div>
</div> -->
<div class="short-width" v-if="service_unit !== '0'">
<GuipInput v-model="serviceInfo.unit_piece" width="100%"
ref="GuipInput" :unit="'件/'+serviceAddInfo.unit_name"></GuipInput>
@ -296,17 +313,18 @@
</GuipDialog>
</div>
<div class="register-btns flex gap12">
<span class="service-open-num">已开启 {{addNum}} 服务</span><GuipButton type="primary" :btnstyle="{ width: '144px', height: '46px' }" @click="jumpStep">返回服务列表</GuipButton>
<!-- <span class="service-open-num">已开启 {{addNum}} 服务</span><GuipButton type="primary" :btnstyle="{ width: '144px', height: '46px' }" @click="jumpStep">返回服务列表</GuipButton> -->
<GuipButton type="system" size="page" @click="jumpStep">取消</GuipButton>
<GuipButton type="primary" size="page" @click="jumpStep">设置下一项服务</GuipButton>
</div>
</div>
</template>
<script>
import store from '@/store';
import { mapState } from 'vuex';
import GuipButton from "@/components/GuipButton.vue";
import PromptText from "@/components/PromptText.vue";
import GuipSelect from "@/components/GuipSelect.vue";
// import PromptText from "@/components/PromptText.vue";
// import GuipSelect from "@/components/GuipSelect.vue";
import GuipInput from "@/components/GuipInput.vue";
import bindGoods from "@/components/bindGoods.vue";
import GuipDialog from "@/components/GuipDialog.vue";
@ -321,8 +339,8 @@ export default {
ValueAdded,
GuipDialog,
GuipInput,
GuipSelect,
PromptText,
// GuipSelect,
// PromptText,
GuipButton,
bindGoods,
},
@ -345,18 +363,32 @@ export default {
dialogDelBindConfim: false,
delRow: {},
dialogDelServiceConfim: false,
addNum: 0
addNum: 0,
rateNum:null,
calculation: {
profitRate: 0,
profitPerUnit: 0,
totalProfit: 0,
pricePerThousand: 0,
isValid: false
}
}
},
computed: {
...mapState(['pageTitle','secondMenu']), // VuexshowSidebar
menuItem() {
return this.$store.state.currentMenuItem;
...mapState(['pageTitle','secondMenu','currentMenuItem']), // VuexshowSidebar
// menuItem() {
// return this.$store.state.currentMenuItem;
// }
formatted() {
return this.formatProfitResult(this.calculation);
}
},
watch: {
'$store.state.currentMenuItem': {
handler(newVal) {
this.menuItem = newVal;
console.log(this.menuItem,'this.menuItem===');
this.type = newVal.type
//
this.getServiceInfo()
@ -375,16 +407,29 @@ export default {
this.loadPddSDK()
},
mounted() {
if(this.menuItem){
this.type = this.menuItem.type
if(this.currentMenuItem){
this.type = this.currentMenuItem.type
//
this.getServiceInfo()
this.getServiceAddInfo();
}
store.commit('SET_PAGETITLE', '站点信息');
console.log(this.menuItem,'menuItem===',this.currentMenuItem);
// store.commit('SET_PAGETITLE', '');
// this.getAddServiceList();
},
methods: {
extractedNumber() {
const match = this.basePrice.match(/(\d+\.?\d*)/);
return match ? parseFloat(match[0]) : 0;
},
priceBlur(){
const price = this.serviceAddInfo.supply_price.replace(/[^\d.]/g, '');
this.calculation = this.calculateProfitRate(this.serviceInfo.price, this.serviceInfo.unit_num, Number(price));
console.log(this.calculation,'====val');
},
unitNameBlur(){
},
handleAlert() {
this.alertShow = !this.alertShow
},
@ -427,6 +472,7 @@ export default {
text: that.serviceAddInfo.site_short_name,
link: that.serviceAddInfo.site_domain
});
this.priceBlur()
})
return true
}
@ -476,7 +522,8 @@ export default {
})
},
handleUnitName(){
this.serviceAddInfo.unit_name = this.serviceAddInfo.set_units[this.service_unit]
this.serviceAddInfo.unit_name = this.serviceAddInfo.set_units[this.service_unit];
console.log(this.serviceAddInfo.unit_name,'this.serviceAddInfo.unit_name====---999');
},
handleDelServiceClick() {
this.dialogDelServiceConfim = true
@ -500,7 +547,7 @@ export default {
})
return true;
}
that.$message.error(response.info);
that.$Message.error(response.info);
}).catch(error => {
console.error(error, 'error')
})
@ -510,6 +557,9 @@ export default {
this.serviceInfo.unit_num = ''
this.serviceInfo.base_unit_price = ''
this.serviceInfo.base_unit_num = ''
// !!
this.rateNum = ''
},
savePrice() {
const that = this
@ -689,6 +739,51 @@ export default {
console.error(error, 'error')
})
},
calculateProfitRate(price, num, baseCost = 2.4) {
//
if (!price || !num || price <= 0 || num <= 0) {
return {
profitRate: 0,
profitPerUnit: 0,
totalProfit: 0,
pricePerThousand: 0,
isValid: false
};
}
try {
// 1000
const pricePerThousand = (price / num) * 1000;
console.log(pricePerThousand,'pricePerThousand==');
//
const profitRate = ((pricePerThousand - baseCost) / baseCost) * 100;
console.log(profitRate,'profitRate==');
// 1000
const profitPerUnit = pricePerThousand - baseCost;
//
const totalProfit = (profitPerUnit / 1000) * num;
return {
profitRate: Number(profitRate.toFixed(2)), //
profitPerUnit: Number(profitPerUnit.toFixed(2)), // 1000
totalProfit: Number(totalProfit.toFixed(2)), //
pricePerThousand: Number(pricePerThousand.toFixed(2)), // 1000
isValid: true
};
} catch (error) {
console.error('计算利率时出错:', error);
return {
profitRate: 0,
profitPerUnit: 0,
totalProfit: 0,
pricePerThousand: 0,
isValid: false
};
}
}
}
}
</script>
@ -698,7 +793,18 @@ export default {
flex-direction: column;
gap: 24px;
}
.gap6{
gap: 6px;
}
.warn{
font-size: 12px;
font-weight: normal;
line-height: 17px;
letter-spacing: 0.03em;
color: #FF4D4F !important;
}
.service_info_wrap{
}
.common_scss{
width: 100%;
@ -717,6 +823,7 @@ export default {
}
p{
color: #23242B;
text-align: left;
}
.blue{
color: #006AFF;
@ -724,10 +831,14 @@ export default {
.green{
color: #00C261;
}
label{
white-space: nowrap;
}
}
.gap24{
gap: 24px;
width: 100%;
align-items: stretch;
}
.green_back{
background: #EFFFE0;

1
src/views/agent/supplyList.vue

@ -193,6 +193,7 @@ export default {
gap: 4px;
z-index: 0;
border-radius: 100px;
white-space: nowrap;
/* text/text_white_1 */
background: #FFFFFF;
box-sizing: border-box;

Loading…
Cancel
Save