Commit 3ab6693c authored by 前端-黄佳鑫's avatar 前端-黄佳鑫
parents 53d3b1cb d0a6b161
...@@ -220,6 +220,7 @@ const TabTree: React.FC<TabTreeProps> = props => { ...@@ -220,6 +220,7 @@ const TabTree: React.FC<TabTreeProps> = props => {
handleCheck, handleCheck,
customExpandkeys, customExpandkeys,
enableSearch = false, enableSearch = false,
checkStrictly = false
} = props; } = props;
const selfActions = useTreeActions(actions) const selfActions = useTreeActions(actions)
...@@ -352,6 +353,7 @@ const TabTree: React.FC<TabTreeProps> = props => { ...@@ -352,6 +353,7 @@ const TabTree: React.FC<TabTreeProps> = props => {
checkedKeys={selected} checkedKeys={selected}
expandedKeys={expandkeys} expandedKeys={expandkeys}
autoExpandParent={autoExpandParent} autoExpandParent={autoExpandParent}
checkStrictly={checkStrictly}
onExpand={onExpand} onExpand={onExpand}
onCheck={(keys, nodes) => { onCheck={(keys, nodes) => {
const { node, checked, checkedNodes } = nodes; const { node, checked, checkedNodes } = nodes;
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* @Author: XieZhiXiong * @Author: XieZhiXiong
* @Date: 2020-11-04 15:09:09 * @Date: 2020-11-04 15:09:09
* @LastEditors: XieZhiXiong * @LastEditors: XieZhiXiong
* @LastEditTime: 2020-12-29 11:32:18 * @LastEditTime: 2020-12-31 14:29:36
* @Description: 维修商品抽屉组件 * @Description: 维修商品抽屉组件
*/ */
import React, { useState, useEffect } from 'react'; import React, { useState, useEffect } from 'react';
...@@ -472,7 +472,15 @@ class GoodsDrawer extends React.Component<GoodsDrawerProps, GoodsDrawerState> { ...@@ -472,7 +472,15 @@ class GoodsDrawer extends React.Component<GoodsDrawerProps, GoodsDrawerState> {
payList: payList:
product.payInfoList ? product.payInfoList ?
product.payInfoList.map(item => { product.payInfoList.map(item => {
const { payPrice, payTime, payWay, channel, ...rest } = item; const {
payPrice,
payTime,
payWay,
channel,
payCode,
ruleConfigurationId,
...rest
} = item;
return { return {
payAmount: payPrice, payAmount: payPrice,
payTime: moment(payTime).format('YYYY-MM-DD HH:mm:ss'), payTime: moment(payTime).format('YYYY-MM-DD HH:mm:ss'),
...@@ -480,6 +488,8 @@ class GoodsDrawer extends React.Component<GoodsDrawerProps, GoodsDrawerState> { ...@@ -480,6 +488,8 @@ class GoodsDrawer extends React.Component<GoodsDrawerProps, GoodsDrawerState> {
channel, channel,
payWayName: PAYWAY[payWay], payWayName: PAYWAY[payWay],
channelName: PAY_CHANNEL[channel], channelName: PAY_CHANNEL[channel],
transactionPayId: payCode,
payRuleId: ruleConfigurationId,
...rest, ...rest,
} }
}) : }) :
......
...@@ -86,6 +86,7 @@ const ExchangeForm: React.FC<BillsFormProps> = ({ ...@@ -86,6 +86,7 @@ const ExchangeForm: React.FC<BillsFormProps> = ({
title: '下单时间', title: '下单时间',
dataIndex: 'createTime', dataIndex: 'createTime',
align: 'center', align: 'center',
render: text => moment(text).format('YYYY-MM-DD HH:mm:ss'),
}, },
{ {
title: '订单状态', title: '订单状态',
......
...@@ -210,6 +210,7 @@ const MemberDetail: React.FC<{}> = () => { ...@@ -210,6 +210,7 @@ const MemberDetail: React.FC<{}> = () => {
actions={treeActions} actions={treeActions}
treeData={treeData} treeData={treeData}
handleSelect={handleSelect} handleSelect={handleSelect}
checkStrictly={true}
customKey='id' customKey='id'
disabled={pageStatus === PageStatus.PREVIEW} disabled={pageStatus === PageStatus.PREVIEW}
/> />
......
...@@ -178,7 +178,7 @@ ...@@ -178,7 +178,7 @@
} }
.goods_price { .goods_price {
color: var(--mall_main_color); color: #D32F2F;
line-height: 16px; line-height: 16px;
display: flex; display: flex;
font-weight: bold; font-weight: bold;
...@@ -202,4 +202,4 @@ ...@@ -202,4 +202,4 @@
} }
} }
} }
\ No newline at end of file
...@@ -15,7 +15,7 @@ const CommonHeader: React.FC<ShopHeaderPropsType> = (props) => { ...@@ -15,7 +15,7 @@ const CommonHeader: React.FC<ShopHeaderPropsType> = (props) => {
const { title, logoUrl, type, shopUrlParam } = props const { title, logoUrl, type, shopUrlParam } = props
const getLink = () => { const getLink = () => {
let url: string = '' let url: string
switch(type) { switch(type) {
case LAYOUT_TYPE.channel: case LAYOUT_TYPE.channel:
url = `${GlobalConfig.channelRootRoute}?channelId=${shopUrlParam}` url = `${GlobalConfig.channelRootRoute}?channelId=${shopUrlParam}`
......
...@@ -5,6 +5,7 @@ import { history } from 'umi' ...@@ -5,6 +5,7 @@ import { history } from 'umi'
import { FileTextOutlined, DownOutlined } from '@ant-design/icons' import { FileTextOutlined, DownOutlined } from '@ant-design/icons'
import isEmpty from 'lodash/isEmpty' import isEmpty from 'lodash/isEmpty'
import { PublicApi } from '@/services/api' import { PublicApi } from '@/services/api'
import ImageBox from '@/components/ImageBox'
import { getAuth } from '@/utils/auth' import { getAuth } from '@/utils/auth'
import styles from './index.less' import styles from './index.less'
...@@ -19,7 +20,7 @@ const Header: React.FC<HeaderPropsType> = (props) => { ...@@ -19,7 +20,7 @@ const Header: React.FC<HeaderPropsType> = (props) => {
const [count, setCount] = useState<number>(0) const [count, setCount] = useState<number>(0)
const { search } = history.location.query const { search } = history.location.query
let handleScroll = () => { const handleScroll = () => {
const scrollTop = document.documentElement.scrollTop || document.body.scrollTop; const scrollTop = document.documentElement.scrollTop || document.body.scrollTop;
const floatSearch = document.getElementById("floatSearch") const floatSearch = document.getElementById("floatSearch")
if (floatSearch) { if (floatSearch) {
...@@ -50,7 +51,7 @@ const Header: React.FC<HeaderPropsType> = (props) => { ...@@ -50,7 +51,7 @@ const Header: React.FC<HeaderPropsType> = (props) => {
}, []) }, [])
useEffect(() => { useEffect(() => {
if (!!search) { if (search) {
setSearchValue(search) setSearchValue(search)
} else { } else {
setSearchValue("") setSearchValue("")
...@@ -97,7 +98,7 @@ const Header: React.FC<HeaderPropsType> = (props) => { ...@@ -97,7 +98,7 @@ const Header: React.FC<HeaderPropsType> = (props) => {
<div className={styles.header}> <div className={styles.header}>
<div className={styles.header_container}> <div className={styles.header_container}>
<div className={styles.logo}> <div className={styles.logo}>
<img src={logo} /> <ImageBox width={145} height={50} imgUrl={logo} />
</div> </div>
<div className={styles.mall_search}> <div className={styles.mall_search}>
<div className={styles.mall_search_tags}> <div className={styles.mall_search_tags}>
......
...@@ -39,8 +39,7 @@ ...@@ -39,8 +39,7 @@
&.active { &.active {
&>a { &>a {
color: #D32F2F; color: @mall_main_color;
// color: @mall_main_color;
} }
} }
} }
...@@ -66,4 +65,4 @@ ...@@ -66,4 +65,4 @@
} }
} }
} }
} }
\ No newline at end of file
.mall_index { .mall_index {
background-color: #F4F5F7; background-color: #F4F5F7;
padding-bottom: 52px; padding-bottom: 52px;
} }
\ No newline at end of file
...@@ -124,7 +124,7 @@ const LXShopLayout: React.FC<LXMallLayoutPropsType> = (props) => { ...@@ -124,7 +124,7 @@ const LXShopLayout: React.FC<LXMallLayoutPropsType> = (props) => {
updateShopInfo: () => handleUpdate() updateShopInfo: () => handleUpdate()
}, },
); );
}) : <SearchShopResult search={shopInfo.memberName} /> : null }) : <SearchShopResult search={shopInfo ? shopInfo.memberName : ''} /> : null
} }
</div> </div>
<Footer /> <Footer />
......
...@@ -83,7 +83,7 @@ const CommodityList: React.FC<CommodityListPropsType> = (props) => { ...@@ -83,7 +83,7 @@ const CommodityList: React.FC<CommodityListPropsType> = (props) => {
</div> </div>
<div className={styles.shop_list_goods}> <div className={styles.shop_list_goods}>
{ {
item.commodityList && item.commodityList.map((commodityItem, commodityIndex) => commodityIndex < 2 && ( item.productList && item.productList.map((commodityItem, commodityIndex) => commodityIndex < 2 && (
<Link to={`/shop/commodity/detail?id=${commodityItem.id}&shopId=${btoa(JSON.stringify({ shopId: item.id, memberId: item.memberId }))}`} key={commodityItem.id} target="_blank"> <Link to={`/shop/commodity/detail?id=${commodityItem.id}&shopId=${btoa(JSON.stringify({ shopId: item.id, memberId: item.memberId }))}`} key={commodityItem.id} target="_blank">
<div className={styles.shop_list_goods_item}> <div className={styles.shop_list_goods_item}>
<div className={styles.shop_list_goods_item_imgbox}> <div className={styles.shop_list_goods_item_imgbox}>
......
...@@ -41,7 +41,7 @@ const CheckDetail: React.FC<{}> = () => { ...@@ -41,7 +41,7 @@ const CheckDetail: React.FC<{}> = () => {
const { code, data } = res const { code, data } = res
setDetails(data) setDetails(data)
if(code === 1000) { if(code === 1000) {
let bankRes = await PublicApi.getSettleAccountsCorporateAccountConfig({memberId: data.memberId + ''}) let bankRes = await PublicApi.getSettleAccountsCorporateAccountConfig({memberId: data.memberId + '', memberRoleId: data.memberRoleId + ''})
setBankDetail(bankRes.data) setBankDetail(bankRes.data)
} }
} }
...@@ -66,7 +66,7 @@ const CheckDetail: React.FC<{}> = () => { ...@@ -66,7 +66,7 @@ const CheckDetail: React.FC<{}> = () => {
title: '交易时间', title: '交易时间',
dataIndex: 'tradeTime', dataIndex: 'tradeTime',
key: 'tradeTime', key: 'tradeTime',
render: (text: any) => moment(text).format("YYYY-MM-DD HH:mm:ss") render: (text: any) => moment(text).format("YYYY-MM-DD HH:mm:ss")
}, },
{ {
title: '交易金额(元)', title: '交易金额(元)',
...@@ -116,7 +116,7 @@ const CheckDetail: React.FC<{}> = () => { ...@@ -116,7 +116,7 @@ const CheckDetail: React.FC<{}> = () => {
} }
const handleCancel = () => { const handleCancel = () => {
checkForm.resetFields() checkForm.resetFields()
setVisibleModal(false) setVisibleModal(false)
} }
...@@ -126,7 +126,7 @@ const CheckDetail: React.FC<{}> = () => { ...@@ -126,7 +126,7 @@ const CheckDetail: React.FC<{}> = () => {
onBack={() => history.goBack()} onBack={() => history.goBack()}
backIcon={<ReutrnEle />} backIcon={<ReutrnEle />}
extra={ urlParams.preview ? [] : [ extra={ urlParams.preview ? [] : [
<Button <Button
icon={<CheckSquareOutlined />} icon={<CheckSquareOutlined />}
key="1" key="1"
type="primary" type="primary"
...@@ -288,8 +288,8 @@ const CheckDetail: React.FC<{}> = () => { ...@@ -288,8 +288,8 @@ const CheckDetail: React.FC<{}> = () => {
layout="vertical" layout="vertical"
form={checkForm} form={checkForm}
> >
<Form.Item <Form.Item
name="status" name="status"
label="" label=""
rules={[ rules={[
{ {
...@@ -305,8 +305,8 @@ const CheckDetail: React.FC<{}> = () => { ...@@ -305,8 +305,8 @@ const CheckDetail: React.FC<{}> = () => {
</Radio.Group> </Radio.Group>
</Form.Item> </Form.Item>
{ {
checkStatus===2 && <Form.Item checkStatus===2 && <Form.Item
name="remark" name="remark"
label={'审核不通过原因'} label={'审核不通过原因'}
rules={[ rules={[
{ {
......
...@@ -264,6 +264,8 @@ class IntroduceRow extends React.Component<IntroduceRowProps, IntroduceRowState> ...@@ -264,6 +264,8 @@ class IntroduceRow extends React.Component<IntroduceRowProps, IntroduceRowState>
}); });
this.payRecordId = `${res.data.recordId}`; this.payRecordId = `${res.data.recordId}`;
this.handleWxPayVisible(true); this.handleWxPayVisible(true);
break;
} }
default: { default: {
......
...@@ -186,6 +186,7 @@ const AddBrand: React.FC<{}> = () => { ...@@ -186,6 +186,7 @@ const AddBrand: React.FC<{}> = () => {
保存 保存
</Button>, </Button>,
]} ]}
className={styles.brandBox}
> >
<Space direction="vertical" style={{width:'100%'}}> <Space direction="vertical" style={{width:'100%'}}>
<Card headStyle={{borderBottom:'none'}} title="流程进度"> <Card headStyle={{borderBottom:'none'}} title="流程进度">
......
.proveBox{ .proveBox{
width:175px; width:175px;
height:120px; height:120px;
border:1px solid rgba(235,236,240,1); border:1px solid rgba(235,236,240,1);
img { img {
width: 100%; width: 100%;
height: 100%; height: 100%;
padding: 18px; padding: 18px;
} }
} }
\ No newline at end of file
.brandBox {
:global {
.ant-form-item {
display: block;
}
}
}
.fontGray { .fontGray {
font-size: 12px; font-size: 12px;
color: #909399; color: #909399;
margin-bottom: 10px; margin-bottom: 10px;
} }
.bignumber { .bignumber {
font-size: 24px; font-size: 24px;
color: #303133; color: #303133;
margin-bottom: 10px; margin-bottom: 10px;
} }
.smallnumber { .smallnumber {
font-size: 14px; font-size: 14px;
color: #303133; color: #303133;
line-height: 24px; line-height: 24px;
} }
\ No newline at end of file
.card-list {
font-size: 12px;
line-height: 20px;
margin-top: 4px;
}
...@@ -4,6 +4,11 @@ import { Tabs, Row, Col } from 'antd' ...@@ -4,6 +4,11 @@ import { Tabs, Row, Col } from 'antd'
import { OrderDetailContext } from '../../_public/order/context' import { OrderDetailContext } from '../../_public/order/context'
import MellowCard from '@/components/MellowCard' import MellowCard from '@/components/MellowCard'
import StatusColors from '../StatusColors' import StatusColors from '../StatusColors'
import moment from 'moment'
/**
* 展示 支付比例和简单流程的发货信息
*/
export interface OrderPayTabsProps {} export interface OrderPayTabsProps {}
...@@ -35,6 +40,9 @@ const OrderPayTabs:React.FC<OrderPayTabsProps> = (props) => { ...@@ -35,6 +40,9 @@ const OrderPayTabs:React.FC<OrderPayTabsProps> = (props) => {
const { data, payList, ctl } = useContext(OrderDetailContext) const { data, payList, ctl } = useContext(OrderDetailContext)
// 简单流程为24
const processEnum = data.processEnum
useEffect(() => { useEffect(() => {
// 过滤支付信息 取第一个待支付的id // 过滤支付信息 取第一个待支付的id
if(data?.paymentInformationResponses?.length) { if(data?.paymentInformationResponses?.length) {
...@@ -50,24 +58,53 @@ const OrderPayTabs:React.FC<OrderPayTabsProps> = (props) => { ...@@ -50,24 +58,53 @@ const OrderPayTabs:React.FC<OrderPayTabsProps> = (props) => {
} }
return ( return (
<MellowCard style={{marginTop: 24}} bordered={false}> <Row gutter={24} style={{marginTop: 24}}>
<Tabs defaultActiveKey='1' onChange={onChange}> <Col span={processEnum === 24 ? 12 : 24}>
{ data.paymentInformationResponses && data.paymentInformationResponses.map(v => <TabPane key={v.id} tab={<TabHeader dataSource={v}/>}> <MellowCard bordered={false} fullHeight>
<Row> {/* <Row gutter={24}> */}
<Col className={style.fontGray} span={4}>支付环节: </Col> <Tabs defaultActiveKey='1' onChange={onChange}>
<Col>{v.payNode}</Col> { data.paymentInformationResponses && data.paymentInformationResponses.map(v => <TabPane key={v.id} tab={<TabHeader dataSource={v}/>}>
<Row>
<Col className={style.fontGray} span={4}>支付环节: </Col>
<Col>{v.payNode}</Col>
</Row>
<Row>
<Col className={style.fontGray} span={4}>支付方式: </Col>
<Col>{payTextList[v.payWay]}</Col>
</Row>
<Row>
<Col className={style.fontGray} span={4}>支付渠道: </Col>
<Col>{payList.find(j => j.id === v.channel)?.way || (v.channel === 0 && '积分支付')}</Col>
</Row>
</TabPane>) }
</Tabs>
{/* </Row> */}
</MellowCard>
</Col>
{
processEnum === 24 && data &&
<Col span={12}>
<MellowCard title="发货信息" fullHeight>
<Row className={style['card-list']}>
<Col span={6}><p>发货地址: </p></Col>
<Col><p>{data.name}</p></Col>
</Row> </Row>
<Row> <Row className={style['card-list']}>
<Col className={style.fontGray} span={4}>支付方式: </Col> <Col span={6}><p>发货时间: </p></Col>
<Col>{payTextList[v.payWay]}</Col> <Col><p>{moment(data.deliverTime).format('YYYY-MM-DD')}</p></Col>
</Row> </Row>
<Row> <Row className={style['card-list']}>
<Col className={style.fontGray} span={4}>支付渠道: </Col> <Col span={6}><p>物流单号: </p></Col>
<Col>{payList.find(j => j.id === v.channel)?.way || (v.channel === 0 && '积分支付')}</Col> <Col><p><a href={`https://www.kuaidi100.com/chaxun?nu=${data.deliverNo}`} target="_blank">{data.deliverNo}</a></p></Col>
</Row> </Row>
</TabPane>) } <Row className={style['card-list']}>
</Tabs> <Col span={6}><p>物流公司: </p></Col>
</MellowCard> <Col><p>{data.logisticsCompany}</p></Col>
</Row>
</MellowCard>
</Col>
}
</Row>
) )
} }
......
...@@ -259,21 +259,23 @@ export const useElectronicContract = (ctx: ISchemaFormActions | ISchemaFormAsync ...@@ -259,21 +259,23 @@ export const useElectronicContract = (ctx: ISchemaFormActions | ISchemaFormAsync
params['memberId'] = ctx.getFieldValue('supplyMembersId') params['memberId'] = ctx.getFieldValue('supplyMembersId')
params['memberRoleId'] = ctx.getFieldValue('supplyMembersRoleId') params['memberRoleId'] = ctx.getFieldValue('supplyMembersRoleId')
fetchOrderApi.getOrderWorkFlow(params).then(data => { if(params['memberId'] && params['memberRoleId']) {
// 简单流程并使用电子合同 强行启用电子合同 fetchOrderApi.getOrderWorkFlow(params).then(data => {
if(data["processEnum"] === 24 && data["isElectronicContract"]) { // 简单流程并使用电子合同 强行启用电子合同
ctx.setFieldState("usingElectronicContracts", state => { if(data["processEnum"] === 24 && data["isElectronicContract"]) {
state.visible = true
})
ctx.setFieldValue("processEnum", data["processEnum"])
// ctx.setFieldValue("usingElectronicContracts", data["isElectronicContract"] ? 1 : 0)
}
if(data['electronicContractId']) {
fetchOrderApi.createContract({contractTemplateId: data['electronicContractId'], signMemberId: params['memberId'] }).then(_data => {
ctx.setFieldState("usingElectronicContracts", state => { ctx.setFieldState("usingElectronicContracts", state => {
state.props["x-component-props"].contract = { contractTemplateId: data['electronicContractId'], ..._data, } state.visible = true
}) })
}) ctx.setFieldValue("processEnum", data["processEnum"])
} // ctx.setFieldValue("usingElectronicContracts", data["isElectronicContract"] ? 1 : 0)
}) }
if(data['electronicContractId']) {
fetchOrderApi.createContract({contractTemplateId: data['electronicContractId'], signMemberId: params['memberId'] }).then(_data => {
ctx.setFieldState("usingElectronicContracts", state => {
state.props["x-component-props"].contract = { contractTemplateId: data['electronicContractId'], ..._data, }
})
})
}
})
}
} }
...@@ -3,8 +3,6 @@ import { PayInfoCell, EditableRow } from '../components/payInfoTableCell' ...@@ -3,8 +3,6 @@ import { PayInfoCell, EditableRow } from '../components/payInfoTableCell'
import { ISchemaFormActions, ISchemaFormAsyncActions } from '@formily/antd' import { ISchemaFormActions, ISchemaFormAsyncActions } from '@formily/antd'
import { useEffect, useState, useRef, useContext } from 'react' import { useEffect, useState, useRef, useContext } from 'react'
import { PublicApi } from '@/services/api' import { PublicApi } from '@/services/api'
import { ReadyAddOrderDetailContext } from '../../context'
import { message } from 'antd'
export const usePaymentInfo = (ctx: ISchemaFormActions | ISchemaFormAsyncActions, memberId: any, memberRoleId: any, orderProducts: any): any => { export const usePaymentInfo = (ctx: ISchemaFormActions | ISchemaFormAsyncActions, memberId: any, memberRoleId: any, orderProducts: any): any => {
const paywayData = useRef<any>({}) const paywayData = useRef<any>({})
...@@ -148,7 +146,7 @@ export const usePaymentInfo = (ctx: ISchemaFormActions | ISchemaFormAsyncActions ...@@ -148,7 +146,7 @@ export const usePaymentInfo = (ctx: ISchemaFormActions | ISchemaFormAsyncActions
if(options.filter(_item => _item.payType === 4).length) if(options.filter(_item => _item.payType === 4).length)
options.filter(_item => _item.payType === 4)[0].disabled = false options.filter(_item => _item.payType === 4)[0].disabled = false
} }
} , 500) } , 800)
setTimeout(() => { setTimeout(() => {
if(pros.filter(item => item.deliveryType === 1).length !== pros.length) { if(pros.filter(item => item.deliveryType === 1).length !== pros.length) {
...@@ -161,7 +159,7 @@ export const usePaymentInfo = (ctx: ISchemaFormActions | ISchemaFormAsyncActions ...@@ -161,7 +159,7 @@ export const usePaymentInfo = (ctx: ISchemaFormActions | ISchemaFormAsyncActions
} }
} }
} , 800) } , 800)
console.log(newColumns, 'newColumns')
setColumns(newColumns) setColumns(newColumns)
} }
} }
......
// science下的全局变量在此定义 // science下的全局变量在此定义
// 企业商城科技模板 // 企业商城科技模板
.theme-mall-science { .theme-mall-science {
font-size: 14px; font-size: 14px;
--mall_main_color: #D32F2F; --mall_main_color: #00B37A;
--mall_main_color_opacity_2: rgba(211, 47, 47, .2); --mall_main_color_opacity_2: rgba(211, 47, 47, .2);
--mall_sub_color: rgba(211, 47, 47, 0.1); --mall_sub_color: rgba(211, 47, 47, 0.1);
--category_content_bg: #FFFFFF; --category_content_bg: #FFFFFF;
--category_content_title_text: #303133; --category_content_title_text: #303133;
--category_content_sub_title_text: #606266; --category_content_sub_title_text: #606266;
} }
// 渠道科技类模板 // 渠道科技类模板
.theme-channel-science { .theme-channel-science {
font-size: 14px; font-size: 14px;
--mall_main_color: #464552; --mall_main_color: #464552;
--mall_sub_color: #FFFFFF; --mall_sub_color: #FFFFFF;
--category_content_bg: #464552; --category_content_bg: #464552;
--category_content_title_text: #FFFFFF; --category_content_title_text: #FFFFFF;
--category_content_sub_title_text: rgba(255, 255, 255, 0.45); --category_content_sub_title_text: rgba(255, 255, 255, 0.45);
} }
// 店铺科技类模板颜色配置 // 店铺科技类模板颜色配置
.theme-shop-science { .theme-shop-science {
font-size: 14px; font-size: 14px;
--mall_main_color: #D32F2F; --mall_main_color: #D32F2F;
--mall_sub_color: rgba(211, 47, 47, 0.1); --mall_sub_color: rgba(211, 47, 47, 0.1);
--category_content_bg: #FFFFFF; --category_content_bg: #FFFFFF;
--category_content_title_text: #303133; --category_content_title_text: #303133;
--category_content_sub_title_text: #606266; --category_content_sub_title_text: #606266;
} }
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment