交易暂存

This commit is contained in:
lyp 2025-05-22 11:31:37 +08:00
parent 85b69fb647
commit 6eac101546
11 changed files with 215 additions and 135 deletions

View File

@ -13,6 +13,7 @@ import { goodsDetail, createOrder, confirmPayment } from '../../request/api'
import { showImage } from '../../request/request' import { showImage } from '../../request/request'
import { useState, useEffect, useContext } from 'react'; import { useState, useEffect, useContext } from 'react';
import useMessage from "antd/es/message/useMessage"; import useMessage from "antd/es/message/useMessage";
import { getBuyUrl } from '../../util/AjaxUtils.ts'
// const { TextArea } = Input; // const { TextArea } = Input;
export default function AiShopDetail(props: any) { export default function AiShopDetail(props: any) {
const globalDispatchContext = useContext(GlobalDispatchContext); const globalDispatchContext = useContext(GlobalDispatchContext);
@ -261,6 +262,7 @@ export default function AiShopDetail(props: any) {
marginLeft: 10, marginLeft: 10,
}}> <a onClick={() => { }}> <a onClick={() => {
// window.open('https://www.aimzhu.com/Seda.html') // window.open('https://www.aimzhu.com/Seda.html')
getBuyUrl()
}}></a></span> }}></a></span>
<div style={{ <div style={{

View File

@ -121,10 +121,13 @@ export default function AppInfo(props: any) {
<div className='appInfoBox'> <div className='appInfoBox'>
<div className='appInfoTitle'></div> <div className='appInfoTitle'></div>
<div className='appInfoText'> <div className='appInfoText'>
<div className='appInfoTextItem'> <div className='appInfoTextItem'>
<div className='appInfoTextItemTitle'> : </div> <div className='appInfoTextItemTitle'> : </div>
<div className='appInfoTextItemText'>asdkaksd.png</div> <div className='appInfoTextItemText'>asdkaksd.png</div>
</div> </div>
<div className='appInfoTextItem'> <div className='appInfoTextItem'>
<div className='appInfoTextItemTitle'> : </div> <div className='appInfoTextItemTitle'> : </div>
<div className='appInfoTextItemText'>asdkaksd.png</div> <div className='appInfoTextItemText'>asdkaksd.png</div>

View File

@ -134,6 +134,7 @@ export default function EditAppFiles(props: any) {
width: '600px', width: '600px',
// background: 'pink' // background: 'pink'
}}> }}>
<div>
<div className='appInfoFormInput' style={{ <div className='appInfoFormInput' style={{
position: 'relative', position: 'relative',
}}> }}>
@ -179,6 +180,9 @@ export default function EditAppFiles(props: any) {
textWrap: 'nowrap' textWrap: 'nowrap'
}}>[ ]</a> }}>[ ]</a>
</div> </div>
<a></a>
</div>
<div>
<div className='appInfoFormInput' style={{ <div className='appInfoFormInput' style={{
position: 'relative', position: 'relative',
}}> }}>
@ -221,6 +225,8 @@ export default function EditAppFiles(props: any) {
textWrap: 'nowrap' textWrap: 'nowrap'
}}>[ ]</a> }}>[ ]</a>
</div> </div>
<a></a>
</div>
</div> </div>

View File

@ -61,6 +61,7 @@ export default function CopyrightGgoods() {
const copyrightDate = state ? state.copyrightDate : ''; // 版权日期 const copyrightDate = state ? state.copyrightDate : ''; // 版权日期
const copyrightLanguage = state ? state.copyrightLanguage : ''; // 开发语言 const copyrightLanguage = state ? state.copyrightLanguage : ''; // 开发语言
// const copyrightType = state ? state.copyrightType : ''; // 软著类型 // const copyrightType = state ? state.copyrightType : ''; // 软著类型
const goodsFlag = state ? state.goodsFlag : ''; // 商品特价标识
const [data, setData] = useState([]); // 表格数据 const [data, setData] = useState([]); // 表格数据
@ -121,6 +122,7 @@ export default function CopyrightGgoods() {
goodsDevelop: copyrightLanguage ? copyrightLanguage : '', // 开发语言 goodsDevelop: copyrightLanguage ? copyrightLanguage : '', // 开发语言
// goodsType: copyrightType ? copyrightType.join(',') : '', // 软著类型 // goodsType: copyrightType ? copyrightType.join(',') : '', // 软著类型
goodsType: selectTypeArray.length > 0 ? selectTypeArray.join(',') : '', goodsType: selectTypeArray.length > 0 ? selectTypeArray.join(',') : '',
goodsFlag: goodsFlag ? goodsFlag : '' // 商品特价标识
}) })
// console.log(res); // console.log(res);
@ -214,8 +216,11 @@ export default function CopyrightGgoods() {
}, []) }, [])
useEffect(() => { useEffect(() => {
getBuyGoodsList(page) getBuyGoodsList(page)
}, [page, selectTypeArray]) }, [page])
useEffect(() => {
setPage(1)
getBuyGoodsList(1)
}, [selectTypeArray])
return ( return (
<div className='copyrightG-goods' style={{ height: `${height}px`, overflow: 'auto' }}> <div className='copyrightG-goods' style={{ height: `${height}px`, overflow: 'auto' }}>
@ -261,7 +266,7 @@ export default function CopyrightGgoods() {
{data.map((item: any) => { {data.map((item: any) => {
return ( return (
<div className='goodSBox rightgoods' key={item.goodsId} style={{ <div className='goodSBox rightgoods' key={item.goodsId} style={{
height: 300, // height: 300,
cursor: 'pointer', cursor: 'pointer',
}} }}
onClick={() => { onClick={() => {
@ -277,8 +282,17 @@ export default function CopyrightGgoods() {
preview={false} preview={false}
style={{ maxWidth: '100%' }} style={{ maxWidth: '100%' }}
></Image> ></Image>
<div className='tipsPrice' style={{
display: item.goodsFlag == '特价' ? 'unset' : 'none'
}}></div>
<div className='goodsTime'>
: {item.goodsLastTime}
</div>
</div> </div>
<div className='goodsBot'> <div className='goodsBot'>
<div className='goodsNameBox'>
<div className='goodsName' title={item.goodsName}>{item.goodsName}</div>
</div>
<div className='goodsPrice'> <div className='goodsPrice'>
<div> <div>
<span style={{ <span style={{
@ -289,13 +303,8 @@ export default function CopyrightGgoods() {
</div> </div>
<div className='goodsNameBox'>
<div className='tipsPrice'></div>
<div className='goodsName' title={item.goodsName}>{item.goodsName}</div>
</div>
<div className='goodsTime'>
: {item.goodsLastTime}
</div>
{/* <div className='goodsBtnBox'> {/* <div className='goodsBtnBox'>
<Button className='goodsBtn' style={{ <Button className='goodsBtn' style={{
display: item.goodsStatus == '1' ? 'none' : 'unset' display: item.goodsStatus == '1' ? 'none' : 'unset'

View File

@ -323,8 +323,11 @@ export default function ProductRelease() {
} }
useEffect(() => { useEffect(() => {
getGoodsDate(page) getGoodsDate(page)
}, [page, selectTypeArray]) }, [page])
useEffect(() => {
getGoodsDate(1)
setPage(1)
}, [selectTypeArray])
useEffect(() => { useEffect(() => {
getSoftTypeListDate() getSoftTypeListDate()
}, []) }, [])
@ -524,8 +527,15 @@ export default function ProductRelease() {
}} }}
style={{ maxWidth: '100%' }} style={{ maxWidth: '100%' }}
></Image> ></Image>
<div className='goodsTime'>
: {item.goodsLastTime}
</div>
</div> </div>
<div className='goodsBot'> <div className='goodsBot'>
<div className='goodsNameBox'>
{/* <div className='tipsPrice'>特价</div> */}
<div className='goodsName' title={item.goodsName}>{item.goodsName}</div>
</div>
<div className='goodsPrice'> <div className='goodsPrice'>
<div> <div>
<span style={{ <span style={{
@ -559,27 +569,28 @@ export default function ProductRelease() {
</div> </div>
</div> </div>
<div className='goodsNameBox'>
{/* <div className='tipsPrice'>特价</div> */}
<div className='goodsName' title={item.goodsName}>{item.goodsName}</div>
</div>
<div className='goodsTime'>
: {item.goodsLastTime}
</div>
<div className='goodsBtnBox'> <div className='goodsBtnBox'>
<Button className='goodsBtn' style={{ <Button className='goodsBtn' style={{
display: item.goodsStatus == '1' ? 'none' : 'unset' display: item.goodsStatus == '1' ? 'none' : 'unset',
width: '80px'
}} }}
onClick={() => { onClick={() => {
edit(item) edit(item)
}}></Button> }}></Button>
<Button className='goodsBtn' type="primary" style={{ <Button className='goodsBtn' type="primary" style={{
width: '163px',
background:'#0FADAB',
display: item.goodsCheckStatus == '1' || item.goodsCheckStatus == '2' ? 'none' : 'unset' display: item.goodsCheckStatus == '1' || item.goodsCheckStatus == '2' ? 'none' : 'unset'
}} onClick={() => submit(item)}></Button> }} onClick={() => submit(item)}></Button>
<Button className='goodsBtn' type="primary" style={{ <Button className='goodsBtn' type="primary" style={{
width: '80px',
display: item.goodsStatus == '0' && item.goodsCheckStatus == '2' ? 'unset' : 'none' display: item.goodsStatus == '0' && item.goodsCheckStatus == '2' ? 'unset' : 'none'
}} onClick={() => sell(item)}></Button> }} onClick={() => sell(item)}></Button>
<Button className='goodsBtn' type="primary" style={{ <Button className='goodsBtn' type="primary" style={{
width: '80px',
background:'rgb(248, 97, 97)',
display: item.goodsStatus == '0' || item.goodsOrderStatus == '1' ? 'none' : 'unset' display: item.goodsStatus == '0' || item.goodsOrderStatus == '1' ? 'none' : 'unset'
}} }}
onClick={() => off(item)}></Button> onClick={() => off(item)}></Button>

View File

@ -88,7 +88,7 @@ thead {
/* 使用 grid 布局 */ /* 使用 grid 布局 */
display: grid; display: grid;
/* 自动填充列,每列最小宽度 183px最大宽度 1fr */ /* 自动填充列,每列最小宽度 183px最大宽度 1fr */
grid-template-columns: repeat(auto-fill, minmax(183px, 1fr)); grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
/* 行间距 10px */ /* 行间距 10px */
row-gap: 20px; row-gap: 20px;
/* 列间距 10px */ /* 列间距 10px */
@ -152,19 +152,49 @@ thead {
.goodsImg { .goodsImg {
width: 100%; width: 100%;
height: 183px; height: 245px;
object-fit: cover; object-fit: cover;
/* background: pink; */ /* background: pink; */
padding: 15px 9px 0px 9px; padding: 15px 9px 0px 9px;
box-sizing: border-box; box-sizing: border-box;
overflow: hidden; overflow: hidden;
position: relative;
}
.goodsTime {
font-size: 14px;
color: #e6e6e6;
/* margin-top: 10px; */
position: absolute;
/* background-color: skyblue; */
height: 33px;
background: rgba(11, 70, 75, 0.41);
width: 100%;
left: 0;
bottom: 0;
text-align: center;
line-height: 33px;
}
.tipsPrice {
width: 63px;
height: 32px;
background: #FF9F08;
border-radius: 0px 0px 0px 10px;
color: white;
font-size: 18px;
text-align: center;
line-height: 32px;
position: absolute;
right: 0;
top: 0;
} }
.goodsBot { .goodsBot {
padding: 10px 5px 10px 5px; padding: 10px 5px 10px 5px;
box-sizing: border-box; box-sizing: border-box;
/* height: 157px; */ /* height: 157px; */
/* background-color: rgb(167, 167, 167); */ /* background-color: rgb(175, 64, 64); */
} }
.goodsPrice { .goodsPrice {
@ -188,22 +218,12 @@ thead {
margin-top: 10px; margin-top: 10px;
} }
.tipsPrice {
width: 38px;
height: 23px;
background: #FF9600;
border-radius: 5px;
color: white;
font-size: 12px;
text-align: center;
line-height: 23px;
margin-right: 6px;
}
.goodsName { .goodsName {
width: calc(100% - 29px); width: calc(100% - 29px);
/* background-color: #1bd258; */ /* background-color: #1bd258; */
font-weight: bold; /* font-weight: bold; */
font-size: 20px; font-size: 20px;
overflow: hidden; overflow: hidden;
text-overflow: ellipsis; text-overflow: ellipsis;
@ -211,15 +231,12 @@ thead {
/* cursor: pointer; */ /* cursor: pointer; */
} }
.goodsTime {
font-size: 14px;
color: #707070;
margin-top: 10px;
}
.goodsBtnBox { .goodsBtnBox {
display: flex; display: flex;
margin-top: 10px; margin-top: 10px;
} }
.goodsBtn { .goodsBtn {
@ -270,6 +287,7 @@ thead {
font-size: 18px; font-size: 18px;
flex-wrap: wrap; flex-wrap: wrap;
} }
.typeName { .typeName {
margin-left: 10px; margin-left: 10px;
margin-bottom: 5px; margin-bottom: 5px;

View File

@ -156,6 +156,7 @@ export default function TransactionOrder() {
width={110} width={110}
render={(text) => ( render={(text) => (
<span style={{ color: '#FF5D15', fontSize: '24px', fontWeight: '700' }}>{text.goodsPrice}</span> <span style={{ color: '#FF5D15', fontSize: '24px', fontWeight: '700' }}>{text.goodsPrice}</span>
// <span style={{ color: '#FF5D15', fontSize: '24px', fontWeight: '700' }}>1</span>
)} /> )} />
<Column title="订单状态" dataIndex="orderStatus" align="center" <Column title="订单状态" dataIndex="orderStatus" align="center"
width={120} width={120}

View File

@ -88,7 +88,8 @@ import topblue from '../../static/appimgs/topblue.png'
import right from '../../static/trademark/right.png' import right from '../../static/trademark/right.png'
import yes from '../../static/trademark/yes.png' import yes from '../../static/trademark/yes.png'
import firImg from '../../static/fir.png'
import noFirImg from '../../static/noFir.png'
export default function Index() { export default function Index() {
@ -877,6 +878,7 @@ export default function Index() {
const copyrightKeyWordshandleSearch = () => { const copyrightKeyWordshandleSearch = () => {
setCopyrightKeywords(copyrightNewKeywords) setCopyrightKeywords(copyrightNewKeywords)
} }
const [specialPrice,setSpecialPrice] = useState(false) //商品特价标识
const copyrightInit = () => { const copyrightInit = () => {
setMinPrice(null) setMinPrice(null)
setMaxPrice(null) setMaxPrice(null)
@ -886,7 +888,10 @@ export default function Index() {
setCopyrightType(null) setCopyrightType(null)
setCopyrightNewKeywords('') setCopyrightNewKeywords('')
setCopyrightKeywords('') setCopyrightKeywords('')
// 清除特价标识
setSpecialPrice(false)
} }
useEffect(() => { useEffect(() => {
if (location.pathname == '/copyright-goods') { if (location.pathname == '/copyright-goods') {
nav('/copyright-goods', { nav('/copyright-goods', {
@ -898,10 +903,12 @@ export default function Index() {
copyrightDate: copyrightDate, copyrightDate: copyrightDate,
copyrightLanguage: copyrightLanguage, copyrightLanguage: copyrightLanguage,
copyrightType: copyrightType, copyrightType: copyrightType,
// 新增特价标识
goodsFlag:specialPrice?'特价':''
} }
}) })
} }
}, [copyrightKeywords, minPrice, maxPrice, sort, copyrightDate, copyrightLanguage, copyrightType]) }, [copyrightKeywords, minPrice, maxPrice, sort, copyrightDate, copyrightLanguage, copyrightType,specialPrice])
// ---------------------------------------------------------------------------------------------- // ----------------------------------------------------------------------------------------------
@ -3084,6 +3091,21 @@ export default function Index() {
options={[]} options={[]}
value={copyrightType} value={copyrightType}
/> />
<Button
icon={<img src={specialPrice?noFirImg:firImg} style={{ width: 15, height: 18 }} />}
style={{
background: specialPrice?'#FF9F08':'#FFF6EF',
color: specialPrice?'white':'#FF9F00 ',
marginLeft: 5, height: 31,
border:'1px solid #FF9F00 ',
}}
onClick={()=>{
// 特价标识
setSpecialPrice(!specialPrice)
}}
>
</Button>
<Button <Button
style={{ style={{
marginLeft: 5, height: 31 marginLeft: 5, height: 31
@ -3096,9 +3118,7 @@ export default function Index() {
> >
</Button> </Button>
<div >
!
</div>
</div> </div>
</div> </div>
<div style={{ display: tradingSearchBox ? 'block' : 'none', }}> <div style={{ display: tradingSearchBox ? 'block' : 'none', }}>

BIN
src/static/fir.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

BIN
src/static/noFir.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

@ -151,6 +151,16 @@ export function getUseUrl() {
console.error("请求出错:", error); console.error("请求出错:", error);
}); });
} }
// 购买协议
export function getBuyUrl() {
axios.get(`${baseUrl}/operator/app/agreementportal/getrelease/0542d435-dc22-459b-bf4a-28a61afe400b `)
.then((data:any) => {
window.open(`${baseUrl}/operator/route/agreementportal/view?agreementId=${data.data.agreementId}&title=${data.data.title}`)
})
.catch(error => {
console.error("请求出错:", error);
});
}
// 软件委托开发协议 // 软件委托开发协议
export function getSoftUrl() { export function getSoftUrl() {
return `${baseUrl}/Seda.html` return `${baseUrl}/Seda.html`