提交 043e70c3 作者: 翁进城
...@@ -8,7 +8,7 @@ const qrcodeList = [ ...@@ -8,7 +8,7 @@ const qrcodeList = [
url: "http://www.mmcuav.cn/", url: "http://www.mmcuav.cn/",
}, },
{ {
img: require("./assets/fuwuhao.png"), img: require("./assets/fuwuhao.jpg"),
title: "云享飞服务号", title: "云享飞服务号",
}, },
{ {
......
...@@ -3,10 +3,11 @@ import {useRouter} from 'next/router'; ...@@ -3,10 +3,11 @@ import {useRouter} from 'next/router';
import Layout from "~/components/layout"; import Layout from "~/components/layout";
import {Box} from './styled'; import {Box} from './styled';
import ImagePreview from './components/picture-preview'; import ImagePreview from './components/picture-preview';
import { Button , Image as AImage , Divider } from 'antd'; import { Button , Image as AImage , Divider , Select,Modal ,Tag,Space,Form,message} from 'antd';
import Image from 'next/image'; import Image from 'next/image';
import errImg from "~/assets/errImg"; import errImg from "~/assets/errImg";
import api,{GetWebDeviceDetailResult} from './api'; import api,{GetWebDeviceDetailResult,GetWebDeviceWareSkuById} from './api';
const {CheckableTag } = Tag
export default function EquipmentLeasingDetail() { export default function EquipmentLeasingDetail() {
const router = useRouter(); const router = useRouter();
...@@ -14,6 +15,7 @@ export default function EquipmentLeasingDetail() { ...@@ -14,6 +15,7 @@ export default function EquipmentLeasingDetail() {
const [id, setId] = useState<number | null>(null); const [id, setId] = useState<number | null>(null);
const [detail,setDetail] = useState<GetWebDeviceDetailResult | null>() const [detail,setDetail] = useState<GetWebDeviceDetailResult | null>()
const [wareSkuList,setWareSkuList] = useState<GetWebDeviceWareSkuById[] | undefined>()
useEffect(()=>{ useEffect(()=>{
setId(Number(router.query.id)) setId(Number(router.query.id))
...@@ -28,9 +30,98 @@ export default function EquipmentLeasingDetail() { ...@@ -28,9 +30,98 @@ export default function EquipmentLeasingDetail() {
.then((res) => { .then((res) => {
setDetail(res.result || null); setDetail(res.result || null);
}); });
api
.listWareSkuById({
id:id
})
.then((res) => {
res.result?.map(item=>{
return item
})
setWareSkuList(res.result || undefined);
});
} }
},[id]) },[id])
//租赁弹框
const [isModalOpen, setIsModalOpen] = useState(false);
const [loading, setLoading] = useState(false);
const [form] = Form.useForm();
const tagsData = ['3-7天', '8-15天', '16-30天', '30天以上'];
const [selectedTags, setSelectedTags] = useState<number>();
const [selectedTagsData, setSelectedTagsData] = useState<string>();
const showModal = () => {
setIsModalOpen(true);
if (wareSkuList?.length) {
setSelectedTags(wareSkuList[0].id);
form.setFieldValue("id",wareSkuList[0].id)
setSelectedTagsData("3-7天")
form.setFieldValue("date","3-7天")
}
};
const handleOk = () => {
setLoading(true);
form
.validateFields()
.then(async (values) => {
form.resetFields()
message.success("租赁成功")
setLoading(false);
setIsModalOpen(false);
// try{
// const res = await api.listWareSkuUpdate(values)
// if (res.code === "200") {
// setLoading(false);
// setIsModalOpen(false);
// form.resetFields()
// message.success('租赁成功')
// }else{
// setLoading(false);
// message.error(res.message)
// }
// }catch(e:any){
// message.error(e.message)
// }
}).catch((err) => {
message
.warning({
content: err.errorFields[0].errors[0],
})
.then();
setLoading(false);
});
};
const handleCancel = () => {
setIsModalOpen(false);
};
const handleChange = (tag: number, checked: boolean) => {
if (checked) {
const nextWareSkuList = checked
? tag
: wareSkuList?.filter((t) => t.id !== tag)[0].id;
console.log('You are interested in: ', nextWareSkuList);
setSelectedTags(nextWareSkuList);
form.setFieldValue("id",tag)
}
};
const handleChangeDate = (tag: string, checked: boolean) => {
if (checked) {
const nextSelectedTags = checked
? tag
: tagsData.filter((t) => t !== tag)[0];
console.log('You are interested in: ', nextSelectedTags);
setSelectedTagsData(nextSelectedTags);
form.setFieldValue("date",tag)
}
};
return ( return (
<Layout> <Layout>
<Box> <Box>
...@@ -45,13 +136,36 @@ export default function EquipmentLeasingDetail() { ...@@ -45,13 +136,36 @@ export default function EquipmentLeasingDetail() {
</div>) : (<div className='function not'></div>) </div>) : (<div className='function not'></div>)
} }
<div className='menoy'> <div className='menoy'>
<span className='menoy-left'>¥{detail?.minRent}</span> <span className='menoy-left'>{`¥${detail?.minRent}`}</span>
<span className='menoy-right'>/天起</span> <span className='menoy-right'>/天起</span>
</div> </div>
<div className='classification'></div> <div className='classification'>
<div className='top'>
<div className='left'>
<span className='label'>选择</span>
<span className='value'>商品分类</span>
</div>
<div className='right'>
<Select
className="selectItem"
defaultActiveFirstOption
defaultValue={wareSkuList}
style={{ width: 120 }}
bordered={false}
options={wareSkuList}
fieldNames={{label:"skuTitle",value:"id"}}
placeholder="选择商品"
/>
</div>
</div>
<div className='bottom'>
<span className='label'>发货</span>
<span className='value'>顺丰到付</span>
</div>
</div>
<div className='botton-btn'> <div className='botton-btn'>
<Button className='btn-left' size='small' type="primary">成为渠道商</Button> <Button className='btn-left' size='small' type="primary">成为渠道商</Button>
<Button className='btn-right' size='small' type="primary">立即租赁</Button> <Button className='btn-right' size='small' type="primary" onClick={showModal}>立即租赁</Button>
</div> </div>
</div> </div>
</div> </div>
...@@ -66,6 +180,71 @@ export default function EquipmentLeasingDetail() { ...@@ -66,6 +180,71 @@ export default function EquipmentLeasingDetail() {
detail?.wareDetailContent ? <div style={{ textAlign: "center" }} dangerouslySetInnerHTML={{ __html: detail?.wareDetailContent}}> detail?.wareDetailContent ? <div style={{ textAlign: "center" }} dangerouslySetInnerHTML={{ __html: detail?.wareDetailContent}}>
</div> : <div style={{ textAlign: "center" }} ></div> </div> : <div style={{ textAlign: "center" }} ></div>
} }
{/* 立即租赁 */}
<Modal
wrapClassName='application'
open={isModalOpen}
onOk={handleOk}
onCancel={handleCancel}
getContainer={false}
footer={[
<Button
style={{ width: "100%" ,height: 44 }}
key="submit"
type="primary"
loading={loading}
onClick={handleOk}
>
立即租赁
</Button>,
]}
>
<div className='title'>
<div className="left"></div>
<div className="right">
<div className="top">
<span className='tag'>¥</span>
<span className='money'>{detail?.minRent}</span>
<span className='unit'>/天</span>
</div>
<div className="bottom">渠道免押金</div>
</div>
</div>
<Form
form={form}
layout="vertical"
name="application"
initialValues={{ modifier: 'public' }}
>
<Form.Item style={{flex:1,marginRight:16}} name="id" label="选择商品">
<Space size={[0, 8]} wrap>
{wareSkuList?.map((tag) => (
<CheckableTag
style={{height:28,lineHeight:"28px"}}
key={tag.id}
checked={wareSkuList?.some(item=>tag.id === selectedTags)}
onChange={(checked) => handleChange(tag.id, checked)}
>
{tag.skuTitle}
</CheckableTag>
))}
</Space>
</Form.Item>
<Form.Item style={{flex:1,marginRight:16}} name="date" label="租期天数(拿到和归还当天不算入租期)">
<Space size={[0, 8]} wrap>
{tagsData.map((tag) => (
<CheckableTag
key={tag}
checked={tag === selectedTagsData}
onChange={(checked) => handleChangeDate(tag, checked)}
>
{tag}
</CheckableTag>
))}
</Space>
</Form.Item>
</Form>
</Modal>
</Box> </Box>
</Layout> </Layout>
) )
......
...@@ -34,9 +34,48 @@ export interface GetWebDeviceDetailResult { ...@@ -34,9 +34,48 @@ export interface GetWebDeviceDetailResult {
wareDetailContent: string | TrustedHTML wareDetailContent: string | TrustedHTML
} }
export interface PriceList {
id: number,
wareInfoId: number,
skuInfoId: number,
rentPrice: number,
minDay: number,
maxDay: number,
createTime: null
}
export interface GetWebDeviceWareSkuById {
id: number,
wareInfoId: number,
skuTitle: string,
rentPrice: number | null,
rentDeposit: number,
stockNum: number,
saleNum: number,
createTime: string,
updateTime: null,
skuPriceDTOList: Array<PriceList>,
}
export interface WebDeviceUpdateParams {
id?:number,
inventoryId?:number,
inventoryUsage?:string,
startDay?:string
endDay?:string,
}
export default { export default {
//web-设备租赁-详情 //web-设备租赁-详情
listDetailDeviceInfo: (params: GetWebDeviceDetailParams): Promise<Response<GetWebDeviceDetailResult>> => { listDetailDeviceInfo: (params: GetWebDeviceDetailParams): Promise<Response<GetWebDeviceDetailResult>> => {
return request('/pms/webDevice/detail', 'get', params) return request('/pms/webDevice/detail', 'get', params)
},
//web-设备租赁-商品
listWareSkuById: (params: GetWebDeviceDetailParams): Promise<Response<GetWebDeviceWareSkuById[]>> => {
return request('/pms/appDevice/listWareSkuById', 'get', params)
},
//web-设备租赁-立即租赁
listWareSkuUpdate: (params: WebDeviceUpdateParams): Promise<Response<number>> => {
return request('/pms/appDevice/update', 'post', params)
} }
} }
\ No newline at end of file
...@@ -56,9 +56,40 @@ export const Box = styled.div` ...@@ -56,9 +56,40 @@ export const Box = styled.div`
} }
.classification{ .classification{
margin-top: 28px; margin-top: 28px;
width: 300px; width: 375px;
height: 50px; height: 50px;
background-color: pink; .label{
height: 21px;
font-size: 16px;
font-family: MicrosoftYaHei;
color: #9A9A9A;
line-height: 21px;
margin-right: 36px;
}
.value{
height: 21px;
font-size: 16px;
font-family: MicrosoftYaHei;
color: #151515;
line-height: 21px;
}
.top{
display: flex;
justify-content: space-between;
align-items: center;
.left{
}
.right{
.selectItem{
.ant-select-selection-placeholder {
color: #000;
}
}
}
}
.bottom{
margin-top: 5px;
}
} }
.botton-btn{ .botton-btn{
margin-top: 30px; margin-top: 30px;
...@@ -123,4 +154,49 @@ export const Box = styled.div` ...@@ -123,4 +154,49 @@ export const Box = styled.div`
color: #989898; color: #989898;
} }
} }
.application{
.title{
display: flex;
align-items: center;
padding-bottom: 25px;
.left{
width: 58px;
height: 58px;
background: #D8D8D8;
border-radius: 2px;
}
.right{
margin-left: 15px;
.top{
.tag{
font-size: 14px;
font-family: PingFangSC-Regular, PingFang SC;
font-weight: 400;
color: #FF0F0F;
}
.money{
font-size: 22px;
font-family: PingFangSC-Medium, PingFang SC;
font-weight: 500;
color: #FF0F0F;
}
.unit{
font-size: 12px;
font-family: PingFangSC-Regular, PingFang SC;
font-weight: 400;
color: #FF0F0F;
}
}
.bottom{
width: 65px;
height: 18px;
font-size: 13px;
font-family: PingFangSC-Regular, PingFang SC;
font-weight: 400;
color: #121212;
line-height: 18px;
}
}
}
}
` `
\ No newline at end of file
...@@ -69,7 +69,7 @@ export default function EquipmentLeasing(props: Props) { ...@@ -69,7 +69,7 @@ export default function EquipmentLeasing(props: Props) {
const [abort, setAbort] = useState<AbortController | null>(null); //请求中断 const [abort, setAbort] = useState<AbortController | null>(null); //请求中断
const [pageParams, setPageParams] = useState({ const [pageParams, setPageParams] = useState({
pageNo: 1, pageNo: 1,
pageSize: 16, pageSize: 15,
}); //分页器对象 }); //分页器对象
const onPageChange = (page: number, pageSize: number) => { const onPageChange = (page: number, pageSize: number) => {
...@@ -141,7 +141,7 @@ export default function EquipmentLeasing(props: Props) { ...@@ -141,7 +141,7 @@ export default function EquipmentLeasing(props: Props) {
></Filter> ></Filter>
<div style={{ paddingTop: 13 }}> <div style={{ paddingTop: 13 }}>
<ContentBox <ContentBox
boxIndex={4} boxIndex={5}
leftcontentstyle={{ leftcontentstyle={{
width: "916px", width: "916px",
margin: { top: 0, right: "12px", bottom: "12px", left: 0 }, margin: { top: 0, right: "12px", bottom: "12px", left: 0 },
......
...@@ -16,10 +16,12 @@ export const Box = styled.div` ...@@ -16,10 +16,12 @@ export const Box = styled.div`
cursor: pointer; cursor: pointer;
transition: all 0.5s; transition: all 0.5s;
&-top { &-top {
display: flex;
justify-content: center;
align-items: center;
height: 145px; height: 145px;
background: #ffffff; background: #ffffff;
border-radius: 6px 6px 0px 0px; border-radius: 6px 6px 0px 0px;
padding: 19px 52px 10px 52px;
&-image { &-image {
width: 116px; width: 116px;
height: 116px; height: 116px;
...@@ -29,7 +31,6 @@ export const Box = styled.div` ...@@ -29,7 +31,6 @@ export const Box = styled.div`
&-bottom { &-bottom {
padding: 10px 13px 14px 18px; padding: 10px 13px 14px 18px;
&-title { &-title {
width: 189px;
height: 24px; height: 24px;
font-size: 14px; font-size: 14px;
font-family: MicrosoftYaHeiUI-Bold, MicrosoftYaHeiUI; font-family: MicrosoftYaHeiUI-Bold, MicrosoftYaHeiUI;
...@@ -73,5 +74,6 @@ export const Box = styled.div` ...@@ -73,5 +74,6 @@ export const Box = styled.div`
} }
.pagination-page { .pagination-page {
text-align: right; text-align: right;
margin-top: 50px;
} }
`; `;
...@@ -193,17 +193,34 @@ export default function FlyingHandService() { ...@@ -193,17 +193,34 @@ export default function FlyingHandService() {
const [isModalOpen, setIsModalOpen] = useState(false); const [isModalOpen, setIsModalOpen] = useState(false);
const [loading, setLoading] = useState(false); const [loading, setLoading] = useState(false);
const handleOk = async (values: any) => { const handleOk = async (values: any) => {
const value = form.getFieldsValue()
form
.validateFields()
.then(async (values) => {
setLoading(true); setLoading(true);
try{ try{
const res = await api.PilotRegistrations(value) const res = await api.PilotRegistrations(values)
if (res.code === "200") {
setLoading(false); setLoading(false);
setIsModalOpen(false); setIsModalOpen(false);
form.resetFields() form.resetFields()
message.success('报名成功') message.success('报名成功')
}else{
setLoading(false);
message.error(res.message)
}
}catch(e:any){ }catch(e:any){
message.error(e.message) message.error(e.message)
} }
}).catch((err) => {
message
.warning({
content: err.errorFields[0].errors[0],
})
.then();
});
}; };
const handleCancel = () => { const handleCancel = () => {
...@@ -309,21 +326,21 @@ export default function FlyingHandService() { ...@@ -309,21 +326,21 @@ export default function FlyingHandService() {
<div style={{display:"flex",justifyContent:"space-between"}}> <div style={{display:"flex",justifyContent:"space-between"}}>
<Form.Item style={{flex:1,marginRight:16}} <Form.Item style={{flex:1,marginRight:16}}
name="name" name="name"
rules={[{ required: true, message: 'Please input the title of collection!' }]} rules={[{ required: true, message: '请输入姓名!' }]}
> >
<Input placeholder="姓名" /> <Input placeholder="姓名" />
</Form.Item> </Form.Item>
<Form.Item style={{flex:1}} name="telephone"> <Form.Item style={{flex:1}} name="telephone" rules={[{ required: true, message: '请输入手机号!' }]}>
<Input placeholder="手机号" /> <Input placeholder="手机号" />
</Form.Item> </Form.Item>
</div> </div>
<Form.Item <Form.Item
name="city" name="city"
rules={[{ required: true, message: 'Please select gender!' }]} rules={[{ required: true, message: '请选择城市!' }]}
> >
<Cascader <Cascader
allowClear allowClear
placeholder="地域" placeholder="城市"
className="selectItem" className="selectItem"
size="large" size="large"
fieldNames={{ fieldNames={{
...@@ -338,16 +355,14 @@ export default function FlyingHandService() { ...@@ -338,16 +355,14 @@ export default function FlyingHandService() {
<Form.Item <Form.Item
name="drivingLicense" name="drivingLicense"
rules={[{ required: true, message: 'Please select gender!' }]}
> >
<Select placeholder="是否有驾照"> <Select allowClear placeholder="是否有驾照">
<Option value="0"></Option> <Option value="0"></Option>
<Option value="1"></Option> <Option value="1"></Option>
</Select> </Select>
</Form.Item> </Form.Item>
<Form.Item <Form.Item
name="uavLicenseLevelOne" name="uavLicenseLevelOne"
rules={[{ required: true, message: 'Please select gender!' }]}
> >
<Cascader <Cascader
allowClear allowClear
......
...@@ -174,15 +174,27 @@ interface ListTenderNewsInfoParams { ...@@ -174,15 +174,27 @@ interface ListTenderNewsInfoParams {
provinceCode?: number; provinceCode?: number;
} }
export interface TenderApplyType{
tenderInfoId: number,
tenderNewsId: number,
userAccountId: number
}
export const listNewsApi = { export const listNewsApi = {
//新闻列表
listNewsPage: ( listNewsPage: (
params: ListPageNewsInfoParams params: ListPageNewsInfoParams
): Promise<Response<ListPageNewsInfoResp>> => { ): Promise<Response<ListPageNewsInfoResp>> => {
return request("/release/industry-news/listNewsPage", "post", params); return request("/release/industry-news/listNewsPage", "post", params);
}, },
//招标列表
listNewTenderInfo: ( listNewTenderInfo: (
params: ListTenderNewsInfoParams params: ListTenderNewsInfoParams
): Promise<Response<ListTenderNewsInfoResp>> => { ): Promise<Response<ListTenderNewsInfoResp>> => {
return request("/release/tender/listNewTenderInfo", "post", params); return request("/release/tender/listNewTenderInfo", "post", params);
}, },
}; //web-招标-合作申请提交
tenderApply: (params: TenderApplyType): Promise<Response<number>> => {
return request('/release/tender/apply', 'post', params)
}
}
...@@ -63,10 +63,10 @@ export default function MapComponent() { ...@@ -63,10 +63,10 @@ export default function MapComponent() {
} }
//解析定位错误信息 //解析定位错误信息
async function onError(data:any) { async function onError(data:any) {
message.error(`定位失败 // message.error(`定位失败
失败原因排查信息:${data.message} // 失败原因排查信息:${data.message}
浏览器返回信息:${data.originMessage} // 浏览器返回信息:${data.originMessage}
`) // `)
} }
await mapEntiy(0) await mapEntiy(0)
}) })
...@@ -85,7 +85,7 @@ export default function MapComponent() { ...@@ -85,7 +85,7 @@ export default function MapComponent() {
const list = res.result const list = res.result
?.map((item) => item.locationList) ?.map((item) => item.locationList)
.flat() .flat()
.filter((item: { dizhi: string }) => item.dizhi.includes("广东省")); .filter((item: { dizhi: string }) => item.dizhi.includes("省"));
const markerList: any = []; const markerList: any = [];
if (list?.length) { if (list?.length) {
list?.map((item) => { list?.map((item) => {
...@@ -100,7 +100,7 @@ export default function MapComponent() { ...@@ -100,7 +100,7 @@ export default function MapComponent() {
lon: userPositioning?.lon || data?.lon || 113.93029, lon: userPositioning?.lon || data?.lon || 113.93029,
lat: userPositioning?.lat || data?.lat || 22.53291, lat: userPositioning?.lat || data?.lat || 22.53291,
pageNo:1, pageNo:1,
pageSize: pageSize || 10 pageSize: pageSize || 40
}); });
const list = res.result?.list const list = res.result?.list
const markerList: any = []; const markerList: any = [];
...@@ -118,7 +118,7 @@ export default function MapComponent() { ...@@ -118,7 +118,7 @@ export default function MapComponent() {
lon: userPositioning?.lon || data?.lon || 113.93029, lon: userPositioning?.lon || data?.lon || 113.93029,
lat: userPositioning?.lat || data?.lat || 22.53291, lat: userPositioning?.lat || data?.lat || 22.53291,
pageNo:1, pageNo:1,
pageSize: 10 pageSize: 40
}); });
const list = res.result?.list const list = res.result?.list
const markerList: any = []; const markerList: any = [];
...@@ -137,7 +137,7 @@ export default function MapComponent() { ...@@ -137,7 +137,7 @@ export default function MapComponent() {
if (index === 0) { if (index === 0) {
showPositioningInfo(index,data) showPositioningInfo(index,data)
}else if (index === 1) { }else if (index === 1) {
showFlyerBitmap(index,data) showFlyerBitmap(index,data,30)
} else if(index === 2) { } else if(index === 2) {
showUavBitmap(index,data) showUavBitmap(index,data)
}else{ }else{
......
import React, { useEffect, useState } from "react"; import React, { useEffect, useState } from "react";
import { Space, Select, Button } from "antd"; import { Space, Select, Button, message } from "antd";
import Image from "next/image"; import Image from "next/image";
import { useRouter } from "next/router"; import { useRouter } from "next/router";
import { Box } from "./styled"; import { Box } from "./styled";
...@@ -266,6 +266,29 @@ export default function WaterfallFlowBody() { ...@@ -266,6 +266,29 @@ export default function WaterfallFlowBody() {
} }
}; };
const handleTenderApply = async (item:NewsTenderType)=>{
console.log(item);
let res = await listNewsApi.tenderApply({
tenderInfoId: item.id,
tenderNewsId: item.tenderNewsId,
userAccountId: 0,
})
try{
if (res.code==="200") {
message.success("申请成功")
let res8 = await listNewsApi.listNewTenderInfo({
pageNo: 1,
pageSize: 6,
});
setRightBottomDomList(rightDom2(res8.result?.list!));
}else{
message.error(res.message)
}
}catch(e){
console.log(e);
}
}
const leftDom = ( const leftDom = (
item: ColumnsType, item: ColumnsType,
index: number, index: number,
...@@ -355,7 +378,7 @@ export default function WaterfallFlowBody() { ...@@ -355,7 +378,7 @@ export default function WaterfallFlowBody() {
</div> </div>
<div className="body"> <div className="body">
{list?.map((item, index) => ( {list?.map((item, index) => (
<div key={item.id} className="body-item"> <div key={item.id} className="body-item" onClick={()=>router.push(`/projectInfo/newsArticle/${item.id}`)}>
<div <div
className={`item-ranking ${index === 0 ? "one" : ""} ${ className={`item-ranking ${index === 0 ? "one" : ""} ${
index === 1 ? "two" : "" index === 1 ? "two" : ""
...@@ -393,9 +416,11 @@ export default function WaterfallFlowBody() { ...@@ -393,9 +416,11 @@ export default function WaterfallFlowBody() {
{item.tenderContent} {item.tenderContent}
<div className="label-bottom">{item.tenderPrice}</div> <div className="label-bottom">{item.tenderPrice}</div>
</div> </div>
<div className="item-right"> <div className="item-right" onClick={()=>handleTenderApply(item)}>
<div className="left">{`${item.tenderPrice}W`}</div> {
<div className="right">申请合作</div> item.apply ? <div>已申请</div> : <><div className="left">{`${item.tenderPrice}W`}</div>
<div className="right">申请合作</div></>
}
</div> </div>
</div> </div>
))} ))}
......
...@@ -162,6 +162,7 @@ export const Box = styled.div` ...@@ -162,6 +162,7 @@ export const Box = styled.div`
align-items: center; align-items: center;
padding: 0 23px 0 19px; padding: 0 23px 0 19px;
height: 32px; height: 32px;
cursor: pointer;
.item-ranking { .item-ranking {
color: #9295a3; color: #9295a3;
&.one { &.one {
...@@ -184,6 +185,9 @@ export const Box = styled.div` ...@@ -184,6 +185,9 @@ export const Box = styled.div`
overflow: hidden; overflow: hidden;
white-space: nowrap; white-space: nowrap;
text-overflow: ellipsis; text-overflow: ellipsis;
&:hover {
color: #ff552d;
}
} }
} }
} }
...@@ -282,6 +286,7 @@ export const Box = styled.div` ...@@ -282,6 +286,7 @@ export const Box = styled.div`
height: 22px; height: 22px;
background: url(${button.src}) no-repeat; background: url(${button.src}) no-repeat;
background-size: contain; background-size: contain;
cursor: pointer;
.left { .left {
width: 35px; width: 35px;
height: 22px; height: 22px;
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论