system-copyright-react/src/route/index/Index.tsx

3739 lines
181 KiB
TypeScript
Raw Normal View History

2024-03-27 18:56:48 +08:00
import './index.css';
2024-05-07 17:00:32 +08:00
// import { MouseEvent, Reducer, useEffect, useReducer, useState, useContext } from "react";
import { MouseEvent, Reducer, useEffect, useReducer, useState } from "react";
2024-07-31 16:00:30 +08:00
import { useSelector, useDispatch } from 'react-redux'
2024-05-07 17:00:32 +08:00
import { useNavigate, useSearchParams, Outlet } from "react-router-dom";
2025-03-13 15:43:27 +08:00
import {
Modal,
2025-04-11 16:20:46 +08:00
// Row,
DatePicker,
InputNumber
2025-03-13 15:43:27 +08:00
} from 'antd';
2025-04-11 16:20:46 +08:00
import locale from 'antd/es/date-picker/locale/zh_CN';
import type { DatePickerProps, InputNumberProps } from 'antd';
import dayjs, { } from 'dayjs';
2024-05-07 17:00:32 +08:00
import { IMenuListItem, IMenuWithTopButton } from "../../interfaces/menu/IMenuWithTopButton.ts";
2024-03-27 18:56:48 +08:00
import MenuWithTopButton from "../../components/menu/MenuWithTopButton.tsx";
2024-08-22 16:33:01 +08:00
import RefunModal from '../../components/RefunModal/RefunModal.tsx'
2024-08-26 18:03:35 +08:00
import CorrectionModal from '../../components/CorrectionModal/CorrectionModal.tsx'
2024-11-29 17:52:17 +08:00
import ContractModal from '../../components/ContractModal/ContractModal.tsx'
2025-05-12 16:21:46 +08:00
import MenuWithBottomButtom from '../../components/menu/MenuWithBottomButton.tsx'
2024-07-31 16:00:30 +08:00
// import MenuTreeWithTopButton from "../../components/menu/MenuTreeWithTopButton.tsx";
2024-05-07 17:00:32 +08:00
// import ListProj from "../../components/list/ListProj.tsx";
// import ListProjAgent from "../../components/list/ListProjAgent.tsx";
2024-09-03 17:51:42 +08:00
// import { getMenuActive } from '../../util/cache.ts'
2025-05-16 17:48:03 +08:00
2024-07-31 16:00:30 +08:00
import {
MenuProps, Select,
Button,
2025-03-13 15:43:27 +08:00
// Pagination,
// Empty
Table,
Spin
2024-07-31 16:00:30 +08:00
} from 'antd';
2025-04-11 16:20:46 +08:00
import EditModal from '../ProductRelease/components/EditModal/EditModal'
2024-03-27 18:56:48 +08:00
import {
IndexListContext,
IndexListDataType,
IndexListDispatchContext,
ListAction,
2024-04-01 20:39:22 +08:00
ListData,
2024-03-27 18:56:48 +08:00
} from "../../context/IndexListContext.ts";
2024-08-22 16:33:01 +08:00
// import { getMenuActive } from '../../util/cache.ts'
2024-07-31 16:00:30 +08:00
import {
2025-03-13 15:43:27 +08:00
// MenuFoldOutlined,
2024-09-02 16:41:02 +08:00
ClearOutlined,
2025-03-13 15:43:27 +08:00
CloseOutlined,
CloseCircleOutlined
2024-07-31 16:00:30 +08:00
} from '@ant-design/icons';
2024-05-07 17:00:32 +08:00
import { useLocation } from 'react-router-dom';
2025-03-13 15:43:27 +08:00
import {
get,
2025-03-02 12:25:55 +08:00
// downloadUrl,
2025-03-13 15:43:27 +08:00
post, getCouponUrl
} from '../../util/AjaxUtils.ts'
2025-04-11 16:20:46 +08:00
// import { getLanguageList, getSoftTypeList } from '../../request/api'
2025-05-16 17:48:03 +08:00
import { setMenuActive, getMenuActive } from '../../util/cache.ts'
2025-05-07 14:25:17 +08:00
import gpsImg from '@theme/img/right/gps.png'
import backImg from '@theme/img/right/back.png'
2024-07-31 17:07:19 +08:00
// import { Link } from "react-router-dom";
2024-09-02 16:41:02 +08:00
import HeadCouponModal from '../../components/CouponModal/HeadCouponModal.tsx'
2024-07-31 18:41:25 +08:00
import {
Input,
2024-07-31 17:07:19 +08:00
// Breadcrumb,
2025-03-13 15:43:27 +08:00
Empty,
2024-07-31 18:41:25 +08:00
message
} from 'antd';
2025-03-13 15:43:27 +08:00
import type { TableColumnsType } from 'antd';
2024-05-07 17:00:32 +08:00
const { Search } = Input;
2025-03-13 15:43:27 +08:00
interface DataType {
key: React.Key;
name: string;
type: string;
idCardType: string;
idCardNo: string;
projOwnerId: string
}
2024-05-07 17:00:32 +08:00
2025-05-16 17:48:03 +08:00
import app from '../../static/left/app.png'
import appnew from '../../static/left/appnew.png'
import tra from '../../static/left/tra.png'
import tranew from '../../static/left/tranew.png'
import topblack from '../../static/appimgs/topblack.png'
import topblue from '../../static/appimgs/topblue.png'
2024-03-27 18:56:48 +08:00
export default function Index() {
2025-04-18 18:50:21 +08:00
2025-04-11 16:20:46 +08:00
// const height = window.innerHeight - 180;
2025-03-13 15:43:27 +08:00
const columns: TableColumnsType<DataType> = [
{
title: '序号',
dataIndex: 'index',
align: 'center',
width: 80,
render: (_text, _record, index) => (ownerPage - 1) * 10 + index + 1, // 显示序号从1开始
},
{
title: '名称',
dataIndex: 'name',
align: 'center',
// width:100,
ellipsis: {
showTitle: true,
},
},
{
title: '类型',
dataIndex: 'type',
align: 'center',
width: 130,
render: (text: string) => <>{text == 'PERSONAL' ? '个人' : text == 'ORGANIZATION' ? '企业' : '未知类型'}</>,
},
{
title: '证件类型',
dataIndex: 'idCardType',
align: 'center',
render: (text: string) => <>{text == 'ID_CARD' ? '身份证' : text == 'BUSINESS_LICENSE' ? '营业执照' : '未知类型'}</>,
},
{
title: '证件号',
dataIndex: 'idCardNo',
align: 'center',
width: 300
},
];
2024-08-22 16:33:01 +08:00
// 是否可以点击所属者 (当点击了退款选项,所属者列表跟他不产生联系 不给他点)
2024-09-03 17:51:42 +08:00
// const [clickBelongpeople, setClickBelongpeople] = useState(true)
2025-01-03 15:56:36 +08:00
// 补正搜索条件标签数组
const [tagCorArray, setTagCorArray] = useState([])
// 获取补正标签
const getCorTag = () => {
get({
messageApi,
url: `/api/proj/correction/apply/tag/list-tag`,
onBefore() {
},
onSuccess(data: any) {
// console.log('标签信息', data);
const newarrty: any = (data.data).map((item: any) => ({
value: item.key,
label: item.value
}));
// console.log('标签信息', newarrty);
setTagCorArray(newarrty)
},
onFinally() {
}
})
}
// 选择的标签
2025-01-03 16:03:35 +08:00
const [tagCor, setTagCor] = useState<string | null>(null)
2025-01-03 15:56:36 +08:00
2025-01-03 17:33:18 +08:00
2024-07-31 18:41:25 +08:00
// 选项数组
const [tagArray, setTagArray] = useState([])
2024-11-29 17:52:17 +08:00
2024-12-31 18:31:06 +08:00
// const[tagNot,setTagNot] = useState(false)
2024-07-31 18:41:25 +08:00
// 获取标签
const getTag = () => {
get({
messageApi,
url: `/api/proj/tag/list-tag`,
onBefore() {
},
onSuccess(data: any) {
2025-01-03 15:56:36 +08:00
// console.log('标签信息', data);
2024-07-31 18:41:25 +08:00
const newarrty: any = (data.data).map((item: any) => ({
value: item.key,
label: item.value
}));
2024-12-31 18:31:06 +08:00
// console.log('标签信息', newarrty);
2024-07-31 18:41:25 +08:00
setTagArray(newarrty)
},
onFinally() {
}
})
}
2024-11-04 11:55:51 +08:00
// 提示数组
const [remindTagArray, setRemindTagArray] = useState([])
// 获取提示
const getremindTag = () => {
get({
messageApi,
url: `/api/proj/remind/list`,
onBefore() {
},
onSuccess(data: any) {
// console.log('标签信息', data.data);
const newarrty: any = (data.data).map((item: any) => ({
value: item.projRemindId,
label: item.title
}));
2024-12-31 18:31:06 +08:00
// console.log('标签信息', newarrty);
2024-11-04 11:55:51 +08:00
setRemindTagArray(newarrty)
},
onFinally() {
}
})
}
2024-07-31 16:00:30 +08:00
const dispath = useDispatch()
//redux的belongArray
const redxuState: any = useSelector(state => state)
2025-04-14 17:38:30 +08:00
const phoneModal = redxuState.phoneModal
2025-03-13 15:43:27 +08:00
// const belongArray = redxuState.belongArray
2025-03-13 10:06:40 +08:00
2025-03-13 15:43:27 +08:00
// const belongArrayList = belongArray.map((item:any) => ({
// value: item.projOwnerId ,
// label: item.name
// }));
2024-09-02 16:41:02 +08:00
// 优惠券弹窗
const couponModal = redxuState.couponModal
2024-09-06 17:26:09 +08:00
2024-09-02 16:41:02 +08:00
// 编辑项目得项目名
2025-01-19 10:19:11 +08:00
// const projName = redxuState.projName
// 从sessionStorage缓存获取项目名
const projName = sessionStorage.getItem('projName')
2024-09-02 16:41:02 +08:00
// 项目状态 查看还是编辑
2025-01-19 10:19:11 +08:00
// const projStatus = redxuState.projStatus
const projStatus = sessionStorage.getItem('projStatus')
2025-03-13 15:43:27 +08:00
const [loading, setLoading] = useState(false) //表格加载
const [selectBelongPeople, setSelectBelongPeople] = useState(false) //有项目的所属者弹窗
const [ownerPage, setOwnerPage] = useState(1) //有项目的所属者表格页码
const [ownerTotal, setOwnerToatl] = useState(0) //有项目的所属者表格总数居
const [ownerKeyWords, setOwnerKeyWords] = useState('') //在有项目的所属者表格搜索时的关键字
const [ownerList, setOwnerList] = useState([])
// 获取所属者表格储存至redux 更新表格 (已弃用)
// 获取有项目所属者表格
const getProjOwnerList = (page: number, keywords: string) => {
2024-07-31 16:00:30 +08:00
get({
messageApi,
2025-03-13 15:43:27 +08:00
url: `/api/proj-owner/listpage/self`,
// 参数
config: {
params: {
page: page,
rows: 10,
keywords: keywords
}
},
2024-07-31 16:00:30 +08:00
onBefore() {
2025-03-13 15:43:27 +08:00
setLoading(true)
2024-07-31 16:00:30 +08:00
},
2025-03-13 15:43:27 +08:00
onSuccess({ data }: any) {
2024-07-31 16:00:30 +08:00
// console.log('所属者表格', data.data);
// setBelongPeopleArray(data.data)
// 存redux的belongArray
2025-03-13 15:43:27 +08:00
// dispath({
// type: 'uparray',
// val: data.data
// })
setOwnerList(data.rows)
// setOwnerList([])
setOwnerToatl(data.total)
// console.log(data);
2024-07-31 16:00:30 +08:00
},
onFinally() {
2025-03-13 15:43:27 +08:00
setLoading(false)
2024-07-31 16:00:30 +08:00
}
})
}
2025-03-13 15:43:27 +08:00
// 表格被选的项
const [selectedRowKeys, setselectedRowKeys] = useState<string[]>([])
2024-07-31 16:00:30 +08:00
// 更新数据
// const upBelongArray = () => {
// get({
// messageApi,
// url: `/api/proj-owner/list/self`,
// onBefore() {
// },
// onSuccess(data: any) {
// // console.log('所属者表格', data.data);
// setBelongPeopleArray(data.data)
// },
// onFinally() {
// }
// })
// }
// 监听redux的belongArray
// useEffect(()=>{
// },[belongArray])
const [messageApi, contextHolder] = message.useMessage();
// 临时关键字 (过度)
const [nowKeyword, setNowKeyWord] = useState('')
2024-07-15 16:58:47 +08:00
// 关键字
const [keywords, setKeywords] = useState('');
2024-07-31 16:00:30 +08:00
const [type, setType] = useState<string | null>(null)
const [chargeAdditionals, setchargeAdditionals] = useState<string | null>(null)
2024-07-31 18:41:25 +08:00
const [tagDataId, settagDataId] = useState<string | null>(null)
2024-08-29 17:56:39 +08:00
const [payStatus, setpayStatus] = useState<string | null>(null)
2025-03-13 15:43:27 +08:00
const [nowauthorId, setNowauthorId] = useState('') //临时id
const [authorId, setauthorId] = useState<string>('') //所属者id
const [nowauthorName, setNowauthorName] = useState<string>('') //临时名称
const [authorName, setauthorName] = useState<string>('') //所属者名称
2024-11-29 17:52:17 +08:00
const [projRemindId, setprojRemindId] = useState<string | null>(null)
2024-09-04 15:52:35 +08:00
//退款状态
2024-09-03 17:51:42 +08:00
const [applyStatus, setapplyStatus] = useState<string | null>(null)
// 退款关键字
const [refunKeywords, setrefunKeywords] = useState('')
// 退款临时关键字
const [newRefunValue, setnewRefunValue] = useState('')
2024-09-04 15:52:35 +08:00
//补正搜索相关
// 补正关键字
const [correctionKeywords, setcorrectionKeywords] = useState('')
// 补正临时关键字
const [newCorrectionValue, setnewCorrectionValue] = useState('')
// 补正类型
const [correctionNumType, setcorrectionNumType] = useState<string | null>(null)
// 补正种类
const [correctionType, setcorrectionType] = useState<string | null>(null)
// 补正状态
const [correctionApplyStatus, setcorrectionApplyStatus] = useState<string | null>(null)
2024-05-07 17:00:32 +08:00
// const indexListContext = useContext(IndexListContext);
2024-07-31 16:00:30 +08:00
// 所属者信息
// const [belongPeopleArray, setBelongPeopleArray] = useState<any[]>([])
2025-03-13 15:43:27 +08:00
// const [currentPage, setCurrentPage] = useState(1);
// const itemsPerPage = 5;
2024-07-31 16:00:30 +08:00
// 计算总页数
2025-03-13 15:43:27 +08:00
// const totalItems = belongArray.length;
// const totalPages = Math.ceil(totalItems / itemsPerPage);
2024-07-31 16:00:30 +08:00
// 计算当前页数据的起始和结束索引
2025-03-13 15:43:27 +08:00
// const startIndex = (currentPage - 1) * itemsPerPage;
// const endIndex = Math.min(startIndex + itemsPerPage, totalItems);
2024-07-31 16:00:30 +08:00
// 提取当前页的数据
2025-03-13 15:43:27 +08:00
// const currentPageData = belongArray.slice(startIndex, endIndex);
2024-07-31 16:00:30 +08:00
// 处理页码切换
2025-03-13 15:43:27 +08:00
// const handlePageChange = (page: number) => {
// if (page >= 1 && page <= totalPages) {
// setCurrentPage(page);
// }
// };
2025-01-03 17:33:18 +08:00
const nav = useNavigate();
2024-09-03 17:51:42 +08:00
// // home页初始化搜索条件
2024-07-31 16:00:30 +08:00
const init = () => {
setNowKeyWord('')
setKeywords('')
setType(null)
setchargeAdditionals(null)
2024-07-31 18:41:25 +08:00
settagDataId(null)
2024-08-29 17:56:39 +08:00
setpayStatus(null)
2024-11-04 11:55:51 +08:00
setprojRemindId(null)
2025-01-03 17:33:18 +08:00
nav('/home')
2025-03-13 15:43:27 +08:00
setauthorId('')
setauthorName('')
setNowauthorId('')
setNowauthorName('')
setselectedRowKeys([]);
2024-07-31 16:00:30 +08:00
}
2024-09-04 15:52:35 +08:00
// 退款页初搜索条件始化
2024-09-03 17:51:42 +08:00
const refunInit = () => {
setnewRefunValue('')
setrefunKeywords('')
setapplyStatus(null)
2025-03-13 15:43:27 +08:00
setauthorId('')
setauthorName('')
setNowauthorId('')
setNowauthorName('')
setselectedRowKeys([]);
2025-01-03 17:33:18 +08:00
// 刷新当前页面
2025-03-02 12:25:55 +08:00
2024-09-03 17:51:42 +08:00
}
2024-09-04 15:52:35 +08:00
// 补正页面搜索条件初始化
const correctionInit = () => {
setnewCorrectionValue('')
setcorrectionKeywords('')
setcorrectionNumType(null)
setcorrectionType(null)
setcorrectionApplyStatus(null)
2025-01-03 16:03:35 +08:00
setTagCor(null)
2025-03-13 15:43:27 +08:00
setauthorId('')
setauthorName('')
setNowauthorId('')
setNowauthorName('')
setselectedRowKeys([]);
2025-03-13 10:06:40 +08:00
2024-09-04 15:52:35 +08:00
}
2025-01-03 17:33:18 +08:00
2025-04-11 16:20:46 +08:00
2024-03-28 19:35:54 +08:00
const [searchParams] = useSearchParams();
2024-03-27 18:56:48 +08:00
const listReducer = (state: ListData, action: ListAction) => {
2024-04-01 20:39:22 +08:00
if (action.type == IndexListDataType.PROJ) {
2024-03-27 18:56:48 +08:00
state.type = IndexListDataType.PROJ;
2024-04-01 20:39:22 +08:00
state.status = action.value as string;
} else if (action.type == IndexListDataType.AGENT) {
2024-03-27 18:56:48 +08:00
state.type = IndexListDataType.AGENT;
2024-04-01 20:39:22 +08:00
state.status = action.value as string;
} else if (action.type == IndexListDataType.CATEGORY) {
state.categorys = action.value as MenuProps['items'];
2024-04-02 18:45:46 +08:00
state.categoryChangeCount++;
2024-04-01 20:39:22 +08:00
} else if (action.type == IndexListDataType.CATEGORY_CHANGE) {
2024-04-02 18:45:46 +08:00
state.category = action.value as string;
state.categoryChangeCount++;
} else if (action.type == IndexListDataType.CATEGORY_DELETE) {
state.categorys = action.value as MenuProps['items'];
state.category = '';
state.categoryChangeCount++;
2024-03-27 18:56:48 +08:00
}
return {
...state
};
}
const [listData, dispatch] = useReducer<Reducer<ListData, ListAction>>(listReducer, {
2024-04-02 18:45:46 +08:00
type: IndexListDataType.PROJ,
categoryChangeCount: 0
2024-03-27 18:56:48 +08:00
});
2024-04-01 20:39:22 +08:00
const [projMenu, setProjMenu] = useState<IMenuWithTopButton>({
2024-03-27 18:56:48 +08:00
button: {
2024-04-29 17:22:26 +08:00
name: '项目',
2024-03-27 18:56:48 +08:00
handle() {
2024-08-27 11:35:08 +08:00
dispatch({
type: IndexListDataType.PROJ,
2024-08-29 17:56:39 +08:00
value: 'ALL',
2024-08-27 11:35:08 +08:00
})
init()
2024-08-27 14:03:07 +08:00
setauthorId('')
2024-08-29 17:56:39 +08:00
// nav('/home')
2024-03-27 18:56:48 +08:00
nav('/proj-create')
2024-08-29 17:56:39 +08:00
2024-03-27 18:56:48 +08:00
}
},
list: [
2024-05-07 17:00:32 +08:00
{ id: 'ALL', name: '全部项目', active: true },
{ id: 'PROCESSING', name: '进行中的' },
2024-09-03 17:51:42 +08:00
{ id: 'COMPLETE', name: '已完成的' },
{ id: 'REFUN', name: '退款项目' },
// correction
{ id: 'CORRECTION', name: '补正项目' },
2024-11-29 17:52:17 +08:00
{ id: 'CONTRACT', name: '合同下载' },
2024-09-03 17:51:42 +08:00
2024-03-27 18:56:48 +08:00
],
2024-04-01 20:39:22 +08:00
handleListItem(_e, _index, item: IMenuListItem) {
2025-03-13 15:43:27 +08:00
// setauthorId('')
// setauthorName('')
2024-04-01 20:39:22 +08:00
projMenu.list.forEach(item => item.active = false);
2024-05-21 11:21:34 +08:00
sellMenu.list.forEach(item => item.active = false);
buyMenu.list.forEach(item => item.active = false);
2025-04-11 16:20:46 +08:00
// refundMenu.list.forEach(item => item.active = false);
// correctionMenu.list.forEach(item => item.active = false);
2024-04-01 20:39:22 +08:00
item.active = true;
setProjMenu({
...projMenu
})
2024-03-27 18:56:48 +08:00
dispatch({
type: IndexListDataType.PROJ,
2024-05-07 17:00:32 +08:00
value: item.id,
// keywords: ''
2024-03-27 18:56:48 +08:00
})
2024-04-29 17:22:26 +08:00
},
2024-03-27 18:56:48 +08:00
2024-08-22 16:33:01 +08:00
});
const [refunModal, setRefunModal] = useState(false) //退款弹窗
2025-04-11 16:20:46 +08:00
// const [refundMenu, setRefundMenu] = useState<IMenuWithTopButton>({
// button: {
// name: '',
// handle() {
// // nav('/proj-create')
// }
// },
// list: [
// { id: 'PENDING', name: '待审核', },
// { id: 'APPROVED', name: '已通过' },
// { id: 'REJECTED', name: '未通过' },
// { id: 'CANCELED', name: '已取消' }
2024-09-03 17:51:42 +08:00
2025-04-11 16:20:46 +08:00
// ],
// handleListItem(_e, _index, item: IMenuListItem) {
// projMenu.list.forEach(item => item.active = false);
// sellMenu.list.forEach(item => item.active = false);
// buyMenu.list.forEach(item => item.active = false);
// // refundMenu.list.forEach(item => item.active = false);
// // correctionMenu.list.forEach(item => item.active = false);
2024-08-22 16:33:01 +08:00
2025-04-11 16:20:46 +08:00
// item.active = true;
// setRefundMenu({
// ...refundMenu
// })
// dispatch({
// type: IndexListDataType.PROJ,
// value: item.id,
// // keywords: ''
2024-08-22 16:33:01 +08:00
2025-04-11 16:20:46 +08:00
// })
// },
2024-08-22 16:33:01 +08:00
2025-04-11 16:20:46 +08:00
// });
2024-08-26 18:03:35 +08:00
// 补正弹窗
const [correctionModal, setCorrectionModal] = useState(false)
2025-04-11 16:20:46 +08:00
// const [correctionMenu, setCorrectionMenu] = useState<IMenuWithTopButton>({
// button: {
// name: '补正',
// handle() {
// // nav('/proj-create')
// setCorrectionModal(true)
// }
// },
// list: [
// { id: 'Correction-PENDING', name: '待审核', },
// { id: 'Correction-APPROVED', name: '已通过' },
// { id: 'Correction-REJECTED', name: '未通过' },
// { id: 'Correction-CANCELED', name: '已取消' }
// ],
// handleListItem(_e, _index, item: IMenuListItem) {
// projMenu.list.forEach(item => item.active = false);
// sellMenu.list.forEach(item => item.active = false);
// buyMenu.list.forEach(item => item.active = false);
// refundMenu.list.forEach(item => item.active = false);
// correctionMenu.list.forEach(item => item.active = false);
// item.active = true;
// setCorrectionMenu({
// ...correctionMenu
// })
// dispatch({
// type: IndexListDataType.PROJ,
// value: item.id,
// // keywords: ''
2024-08-26 18:03:35 +08:00
2025-04-11 16:20:46 +08:00
// })
// },
// })
2024-11-29 17:52:17 +08:00
// 新增合同弹窗
const [contractModal, setContractModal] = useState(false)
2024-05-21 11:21:34 +08:00
// const [agentMenu, setAgentMenu] = useState<IMenuWithTopButton>({
// button: {
// name: '代理服务',
// handle() {
// dispatch({
// type: IndexListDataType.PROJ,
// value: 'COMPLETE',
// })
// }
// },
// list: [
// { id: 'ALL', name: '全部项目' },
// { id: 'PROCESSING', name: '进行中的' },
// { id: 'COMPLETE', name: '已完成的' },
// ],
// handleListItem(_e: MouseEvent<HTMLLIElement>, _index: number, item: IMenuListItem) {
// projMenu.list.forEach(item => item.active = false);
// agentMenu.list.forEach(item => item.active = false);
// item.active = true;
// setAgentMenu({
// ...agentMenu
// })
// dispatch({
// type: IndexListDataType.AGENT,
// value: item.id,
// })
// }
// })
const [sellMenu, setSellMenu] = useState<IMenuWithTopButton>({
2024-03-27 18:56:48 +08:00
button: {
2025-05-16 17:48:03 +08:00
name: '交易商城',
2024-03-27 18:56:48 +08:00
handle() {
2024-05-21 11:21:34 +08:00
// dispatch({
// type: IndexListDataType.PROJ,
// value: 'COMPLETE',
// })
2024-03-27 18:56:48 +08:00
}
},
list: [
2025-05-07 14:25:17 +08:00
{ id: 'PRODUCT', name: '我要卖软著' }, //原商品发布
2025-05-12 16:21:46 +08:00
{ id: 'TRABSACTION', name: '已上架软著' },
{ id: 'COPYRIGHT', name: '我要买软著' },
{ id: 'TRADING', name: '已购买软著' },
2025-05-07 14:25:17 +08:00
2024-05-21 11:21:34 +08:00
// { id: 'COMPLETE', name: '已完成的' },
2024-03-27 18:56:48 +08:00
],
handleListItem(_e: MouseEvent<HTMLLIElement>, _index: number, item: IMenuListItem) {
2024-04-01 20:39:22 +08:00
projMenu.list.forEach(item => item.active = false);
2024-05-21 11:21:34 +08:00
sellMenu.list.forEach(item => item.active = false);
buyMenu.list.forEach(item => item.active = false);
2025-04-11 16:20:46 +08:00
// refundMenu.list.forEach(item => item.active = false);
// correctionMenu.list.forEach(item => item.active = false);
2024-04-01 20:39:22 +08:00
item.active = true;
2024-05-21 11:21:34 +08:00
setSellMenu({
...sellMenu
2024-04-01 20:39:22 +08:00
})
2025-04-11 16:20:46 +08:00
dispatch({
type: IndexListDataType.AGENT,
value: item.id,
2024-05-12 07:45:51 +08:00
2025-04-11 16:20:46 +08:00
})
2024-05-21 11:21:34 +08:00
}
})
const [buyMenu, setBuyMenu] = useState<IMenuWithTopButton>({
button: {
name: '我要买',
handle() {
// dispatch({
// type: IndexListDataType.PROJ,
// value: 'COMPLETE',
// })
}
},
list: [
2025-04-11 16:20:46 +08:00
{ id: 'COPYRIGHT', name: '著作权商品' },
{ id: 'TRADING', name: '交易商品' },
2024-05-21 11:21:34 +08:00
// { id: 'COMPLETE', name: '已完成的' },
],
handleListItem(_e: MouseEvent<HTMLLIElement>, _index: number, item: IMenuListItem) {
projMenu.list.forEach(item => item.active = false);
sellMenu.list.forEach(item => item.active = false);
buyMenu.list.forEach(item => item.active = false);
2025-04-11 16:20:46 +08:00
// refundMenu.list.forEach(item => item.active = false);
// correctionMenu.list.forEach(item => item.active = false);
2024-05-21 11:21:34 +08:00
item.active = true;
setBuyMenu({
...buyMenu
2024-03-27 18:56:48 +08:00
})
2025-04-11 16:20:46 +08:00
dispatch({
type: IndexListDataType.AGENT,
value: item.id,
2024-05-21 11:21:34 +08:00
2025-04-11 16:20:46 +08:00
})
2024-03-27 18:56:48 +08:00
}
2024-04-01 20:39:22 +08:00
})
2024-08-22 16:33:01 +08:00
// const [refund, setRefund] = useState<IMenuWithTopButton>({
// button: {
// name: '退款',
// handle() {
// // dispatch({
// // type: IndexListDataType.PROJ,
// // value: 'COMPLETE',
// // })
// }
// },
// list: [
// { id: '1', name: '待审核', path: '/copyright-goods?item=1' },
// { id: '2', name: '已通过', path: '/copyright-goods?item=2' },
// { id: '3', name: '未通过', path: '/copyright-goods?item=3' },
// // { id: 'COMPLETE', name: '已完成的' },
// ],
// handleListItem(_e: MouseEvent<HTMLLIElement>, _index: number, item: IMenuListItem) {
// projMenu.list.forEach(item => item.active = false);
// // sellMenu.list.forEach(item => item.active = false);
// // buyMenu.list.forEach(item => item.active = false);
// item.active = true;
// setRefund({
// ...refund
// })
// // dispatch({
// // type: IndexListDataType.AGENT,
// // value: item.id,
2024-05-21 11:21:34 +08:00
2024-08-22 16:33:01 +08:00
// // })
// }
// })
2024-05-07 17:00:32 +08:00
const location = useLocation()
2025-01-20 15:24:23 +08:00
const [now, setNow] = useState<string>('首页 / 项目')
2024-05-12 07:45:51 +08:00
// 编辑项目路由名
// const [editname,setEditname] = useState('')
// 新建项目路由名字
// const [newname,setNewname] = useState('')
2024-07-31 17:07:19 +08:00
// const [pathArray, setPathArray] = useState<any>([])
2024-07-17 14:19:28 +08:00
const [showSearchBox, setShowSearchBox] = useState(true)
2024-09-03 17:51:42 +08:00
const [refunSearchBox, setRrefunSearchBox] = useState(false)
2025-04-11 16:20:46 +08:00
// 商品发布搜索框是否显示------------------------------------------------------------------------
const [sellModal, setSellModal] = useState(false) // 商品发布弹窗
const [sellNewKeywords, setSellNewKeywords] = useState('') // 关键字
const [sellKeywords, setSellKeywords] = useState('') // 关键字
const [sellSearchBox, setSellSearchBox] = useState(false)
const [sellBelongType, setSellBelongType] = useState<string | null>(null) // 所属人类型
// 更改所属人类型
const sellBelongTypeChange = (value: string) => {
console.log(`selected ${value}`);
setSellBelongType(value)
}
const [sellDate, setSellDate] = useState<any | null>(null) // 日期
const dateFormat = 'YYYY年MM月DD日';
// 更改日期
const sellDateonChange: DatePickerProps['onChange'] = (date, dateString) => {
console.log(date, dateString);
setSellDate(date)
// dayjs(formInfo.getFieldValue('projDevCompleteDate')).format(dateFormat),
console.log('日期', dayjs(date).format(dateFormat));
};
const [language, setLanguage] = useState<string | null>(null) // 开发者语言
// 更改开发者语言
const selectLanguage = (value: string) => {
setLanguage(value)
}
const [sellBoxtype, setSellBoxType] = useState<string | null>(null) //软著类型
// 选择软著类型
const selectType = (value: string) => {
setSellBoxType(value)
}
// 更改关键字
const sellKeyWordshandleChange = (e: React.ChangeEvent<HTMLInputElement>) => {
setSellNewKeywords(e.target.value)
if (e.target.value == '') {
setSellKeywords('')
}
}
// 关键字搜索
const sellKeyWordshandleSearch = () => {
setSellKeywords(sellNewKeywords)
// nav('/product-release', {
// state: {
// sellKeywords: sellNewKeywords,
// sellBelongType: sellBelongType,
// sellDate: sellDate,
// language: language,
// sellBoxtype: sellBoxtype,
// }
// })
}
// 商品发布页面搜索条件初始化
const sellInit = () => {
setSellDate(null)
setSellBelongType(null)
setLanguage(null)
setSellBoxType(null)
setSellNewKeywords('')
setSellKeywords('')
}
useEffect(() => {
if (location.pathname == '/product-release') {
nav('/product-release', {
state: {
sellKeywords: sellKeywords,
sellBelongType: sellBelongType,
sellDate: sellDate,
language: language,
sellBoxtype: sellBoxtype,
}
})
}
}, [sellBelongType, sellDate, language, sellBoxtype, sellKeywords])
// ----------------------------------------------------------------------------------------------
// 交易订单搜索框是否显示--------------------------------------------------------------------------
const [sellOrderSearchBox, setSellOrderSearchBox] = useState(false)
const [sellOrderNewKeywords, setSellOrderNewKeywords] = useState('') // 临时关键字
const [sellOrderKeywords, setSellOrderKeywords] = useState('') // 关键字
const [sellStatrtTime, setSellStatrtTime] = useState<any | null>(null) // 开始时间
const [sellEndTime, setSellEndTime] = useState<any | null>(null) // 结束时间
const [sellOrderStatus, setSellOrderStatus] = useState<string | null>(null) // 订单状态
const sellOrderKeyWordshandleChange = (e: React.ChangeEvent<HTMLInputElement>) => {
setSellOrderNewKeywords(e.target.value)
if (e.target.value == '') {
setSellOrderKeywords('')
}
}
const sellOrderKeyWordshandleSearch = () => {
setSellOrderKeywords(sellOrderNewKeywords)
}
// 更改开始时间
const sellStratTimeChange: DatePickerProps['onChange'] = (date, dateString) => {
console.log(date, dateString);
setSellStatrtTime(date)
};
// 更改结束时间
const sellEndTimeChange: DatePickerProps['onChange'] = (date, dateString) => {
console.log(date, dateString);
setSellEndTime(date)
};
// 更改订单状态
const sellOrderStatusChange = (value: string) => {
console.log(`selected ${value}`);
setSellOrderStatus(value)
}
const sellOrderInit = () => {
setSellStatrtTime(null)
setSellEndTime(null)
setSellOrderStatus(null)
setSellOrderNewKeywords('')
setSellOrderKeywords('')
}
useEffect(() => {
if (location.pathname == '/transaction-order') {
nav('/transaction-order', {
state: {
sellStatrtTime: sellStatrtTime,
sellEndTime: sellEndTime,
sellOrderStatus: sellOrderStatus,
sellOrderKeywords: sellOrderKeywords,
}
})
}
}, [sellStatrtTime, sellEndTime, sellOrderStatus, sellOrderKeywords])
// ----------------------------------------------------------------------------------------------
// 著作权商品搜索框是否显示--------------------------------------------------------------------------
const [copyrightSearchBox, setCopyrightSearchBox] = useState(false)
const [copyrightNewKeywords, setCopyrightNewKeywords] = useState('') // 临时关键字
const [copyrightKeywords, setCopyrightKeywords] = useState('') // 关键字
const [minPrice, setMinPrice] = useState<any>() //最低价格
const [maxPrice, setMaxPrice] = useState<any>() //最高价格
const [sort, setSort] = useState<any>() //排序
const [copyrightDate, setCopyrightDate] = useState<any>() //获取时间
const [copyrightLanguage, setCopyrightLanguage] = useState<any>() //开发语言
const [copyrightType, setCopyrightType] = useState<any>() //软著类型
// 更改最低价格
const minPriceChange: InputNumberProps['onChange'] = (value) => {
console.log('changed', value);
setMinPrice(value)
};
// 更改最高价格
const maxPriceChange: InputNumberProps['onChange'] = (value) => {
console.log('changed', value);
setMaxPrice(value)
};
// 更改价格排序
const sortChange = (value: string) => {
console.log(`selected ${value}`)
setSort(value)
}
// 获取时间更改
const copyrightDateChange: DatePickerProps['onChange'] = (date, dateString) => {
console.log(date, dateString);
setCopyrightDate(date)
};
// 更改开发语言
const copyrightLanguageChange = (value: string) => {
console.log(`selected ${value}`)
setCopyrightLanguage(value)
}
// 软著类型更改
const copyrightTypeChange = (value: string) => {
console.log(`selected ${value}`)
setCopyrightType(value)
}
const copyrightKeyWordshandleChange = (e: React.ChangeEvent<HTMLInputElement>) => {
setCopyrightNewKeywords(e.target.value)
if (e.target.value == '') {
setCopyrightKeywords('')
}
}
const copyrightKeyWordshandleSearch = () => {
setCopyrightKeywords(copyrightNewKeywords)
}
const copyrightInit = () => {
setMinPrice(null)
setMaxPrice(null)
setSort(null)
setCopyrightDate(null)
setCopyrightLanguage(null)
setCopyrightType(null)
setCopyrightNewKeywords('')
setCopyrightKeywords('')
}
useEffect(() => {
if (location.pathname == '/copyright-goods') {
nav('/copyright-goods', {
state: {
copyrightKeywords: copyrightKeywords,
minPrice: minPrice,
maxPrice: maxPrice,
sort: sort,
copyrightDate: copyrightDate,
copyrightLanguage: copyrightLanguage,
copyrightType: copyrightType,
}
})
}
}, [copyrightKeywords, minPrice, maxPrice, sort, copyrightDate, copyrightLanguage, copyrightType])
// ----------------------------------------------------------------------------------------------
// 交易商品搜索框是否显示--------------------------------------------------------------------------
const [tradingSearchBox, setTradingSearchBox] = useState(false)
const [tradingNewKeywords, setTradingNewKeywords] = useState('') // 临时关键字
const [tradingKeywords, setTradingKeywords] = useState('') // 关键字
const [tradingStartTime, setTradingStartTime] = useState<any>() // 开始时间
const [tradingEndTime, setTradingEndTime] = useState<any>() // 结束时间
const [tradingStatus, setTradingStatus] = useState<any>() // 订单状态
const tradingKeyWordshandleSearch = () => {
setTradingKeywords(tradingNewKeywords)
}
const tradingKeyWordshandleChange = (e: React.ChangeEvent<HTMLInputElement>) => {
setTradingNewKeywords(e.target.value)
if (e.target.value == '') {
setTradingKeywords('')
}
}
const tradingStartTimeChange: DatePickerProps['onChange'] = (date, dateString) => {
console.log(date, dateString);
setTradingStartTime(date)
}
const tradingEndTimeChange: DatePickerProps['onChange'] = (date, dateString) => {
console.log(date, dateString);
setTradingEndTime(date)
}
const tradingOrderStatusChange = (value: string) => {
console.log(`selected ${value}`)
setTradingStatus(value)
}
const tradingInit = () => {
setTradingStartTime(null)
setTradingEndTime(null)
setTradingStatus(null)
setTradingNewKeywords('')
setTradingKeywords('')
}
useEffect(() => {
if (location.pathname == '/trading-goods') {
nav('/trading-goods', {
state: {
tradingKeywords: tradingKeywords,
tradingStartTime: tradingStartTime,
tradingEndTime: tradingEndTime,
tradingStatus: tradingStatus,
}
})
}
}, [tradingKeywords, tradingStartTime, tradingEndTime, tradingStatus])
2025-05-16 17:48:03 +08:00
// ----------------------------------------------------------------------------------------------
2025-04-11 16:20:46 +08:00
2025-05-16 17:48:03 +08:00
// APP电子软著框是否显示----------------------------------------------------------------------------------------
const [appSearchBox, setAppSearchBox] = useState(false)
const [appModal, setAppModal] = useState(false) // 申请电子软著弹窗
const [toEditsModal, setToEditsModal] = useState(false) // 电子软著编辑弹窗
// -----------------------------------------------------------------------------------------------
2025-04-11 16:20:46 +08:00
2025-05-16 17:48:03 +08:00
// 申请商标是否显示------------------------------------------------------------------------------
const [trademarkBox, setTrademarkBox] = useState(false) // 申请商标弹窗
const [trademarkModal, setTrademarkModal] = useState(false) // 申请商标弹窗
// ----------------------------------------------------------------------------------------------------
2025-04-11 16:20:46 +08:00
2024-09-03 17:51:42 +08:00
const [correctionSearchBox, setCorrectionSearchBox] = useState(false)
2024-11-29 17:52:17 +08:00
// 新增合同按钮是否显示
const [contractSearchBox, setContractSearchBox] = useState(false)
2025-04-14 17:38:30 +08:00
// 优惠券遮罩层是否显示
2024-09-06 17:26:09 +08:00
const [coupon, setCoupon] = useState(false)
2024-09-11 14:04:53 +08:00
// 获取优惠券弹出层是否显示
const [getCouponModal, setGetCouponModal] = useState(false)
// 优惠券数组
const [couponArray, setCouponArray] = useState<any>([])
2024-09-06 17:26:09 +08:00
//优惠券id
const [couponId, setCouponId] = useState('')
// 优惠券图片 const imgSrc = `${Axios.defaults?.baseURL}/route/file/v2/download/true/${data.data.couponId}`;
const [cpuponImg, setCouponImg] = useState('')
// 获取是否有优惠券信息
const getCoupon = () => {
get({
messageApi,
2024-09-11 14:04:53 +08:00
url: `/api/coupon/list-can-claim`,
2024-09-06 17:26:09 +08:00
// url: `/api/proj/refund/apply/listpage?applyStatus=${state.type}`,
config: {
params: {
}
},
onBefore() {
},
onSuccess(data: any) {
// console.log(data.data);
2024-09-11 14:04:53 +08:00
// if (data.data.couponId) {
// setCouponId(data.data.couponId)
// setCouponImg(data.data.logo)
// setCoupon(true)
// }
setCouponArray(data.data)
if (data.data.length == 1) {
setCouponId((data.data)[0].couponId)
setCouponImg((data.data)[0].logo)
2024-09-06 17:26:09 +08:00
setCoupon(true)
}
2024-09-11 14:04:53 +08:00
if (data.data.length > 1) {
setGetCouponModal(true)
}
2024-09-06 17:26:09 +08:00
},
onFinally() {
},
})
}
2024-09-11 14:04:53 +08:00
// 领取优惠券单张
2024-09-06 17:26:09 +08:00
const receiveCoupon = () => {
post<any>({
messageApi,
url: `/api/coupon/user/save`,
body: {
2024-09-10 11:52:02 +08:00
couponId: couponId
2024-09-06 17:26:09 +08:00
},
onBefore() {
2024-09-10 11:52:02 +08:00
2024-09-06 17:26:09 +08:00
},
onSuccess() {
2024-09-10 11:52:02 +08:00
messageApi.success('领取成功')
setTimeout(() => {
2024-09-06 17:26:09 +08:00
setCoupon(false)
2024-09-11 09:22:39 +08:00
// getCoupon()
2024-09-10 11:52:02 +08:00
}, 500)
2024-09-06 17:26:09 +08:00
},
onFinally() {
2024-09-10 11:52:02 +08:00
2024-09-06 17:26:09 +08:00
}
})
2024-09-10 11:52:02 +08:00
}
2024-09-11 14:04:53 +08:00
// 领取优惠券(多张)
const receiveCoupons = (id: string) => {
post<any>({
messageApi,
url: `/api/coupon/user/save`,
body: {
couponId: id
},
onBefore() {
},
onSuccess() {
messageApi.success('领取成功')
//更新列表
get({
messageApi,
url: `/api/coupon/list-can-claim`,
// url: `/api/proj/refund/apply/listpage?applyStatus=${state.type}`,
config: {
params: {
}
},
onBefore() {
},
onSuccess(data: any) {
setCouponArray(data.data)
if (data.data.length == 0) {
setTimeout(() => {
setGetCouponModal(false)
// getCoupon()
}, 500)
}
},
onFinally() {
},
})
},
onFinally() {
}
})
}
2025-04-18 18:50:21 +08:00
2025-04-11 16:20:46 +08:00
// const [languageList, setLanguageList] = useState<any>([]) // 开发者语言列表
2025-05-07 14:25:17 +08:00
// 获取语言列表
2025-04-11 16:20:46 +08:00
// const getLanguageListDate = async () => {
// try {
// const res: any = await getLanguageList()
// // console.log('语言列表',res);
// setLanguageList(res.map((item: any) => {
// return {
// value: item.dataId,
// label: item.dataName,
// }
// }))
// } catch (error: any) {
// if (error.response) {
// const data = error.response.data;
// messageApi.open({
// type: 'error',
// content: data.msg ? data.msg : `${data.path}(${data.status})`,
// });
// } else {
// console.error(error)
// }
// }
// }
// const [softTypeList, setSoftTypeList] = useState<any>([]) // 软著类型列表
2025-05-07 14:25:17 +08:00
// 获取软著类型列表
2025-04-11 16:20:46 +08:00
// const getSoftTypeListDate = async () => {
// try {
// const res: any = await getSoftTypeList()
// // console.log('软著类型列表', res);
// setSoftTypeList(res.map((item: any) => {
// return {
// value: item.dataId,
// label: item.dataName,
// }
// }))
// } catch (error: any) {
// if (error.response) {
// const data = error.response.data;
// messageApi.open({
// type: 'error',
// content: data.msg ? data.msg : `${data.path}(${data.status})`,
// });
// } else {
// console.error(error)
// }
// }
// }
2025-05-16 17:48:03 +08:00
// app电子软著数组
const appGoodsArray = [
{ id: '1', title: '10个工作日下证', price: '500', back: 'black' },
{ id: '2', title: '3个工作日下证', price: '900', back: 'blue' },
{ id: '3', title: '1个工作日下证', price: '2599', back: 'black' },
{ id: '4', title: '当天下证', price: '3699', back: 'black' },
]
const [appGoodsId, setAppGoodsId] = useState('') // 选择的商品id
2024-05-12 07:45:51 +08:00
useEffect(() => {
2024-05-07 17:00:32 +08:00
// const nowname = sessionStorage.getItem('now')
2024-09-03 17:51:42 +08:00
if (location.pathname == '/') {
2024-09-06 17:26:09 +08:00
// setCoupon(true)
getCoupon()
2024-09-02 16:41:02 +08:00
}
2024-05-12 07:45:51 +08:00
if (location.pathname.includes('/home')) {
2024-09-06 17:26:09 +08:00
// setCoupon(true)
getCoupon()
2025-01-20 15:24:23 +08:00
setNow('首页 / 项目')
2024-07-31 17:07:19 +08:00
// setPathArray([{ title: '首页' }])
2024-07-15 16:58:47 +08:00
setShowSearchBox(true)
2024-09-03 17:51:42 +08:00
// setClickBelongpeople(true)
setRrefunSearchBox(false)
2024-11-29 17:52:17 +08:00
setContractSearchBox(false)
2024-09-03 17:51:42 +08:00
setCorrectionSearchBox(false)
2025-04-11 16:20:46 +08:00
setSellSearchBox(false)
setSellOrderSearchBox(false)
setCopyrightSearchBox(false)
setTradingSearchBox(false)
2025-05-16 17:48:03 +08:00
setAppSearchBox(false)
setTrademarkBox(false)
2024-05-12 07:45:51 +08:00
} else if (location.pathname.includes('/proj-create')) {
2024-07-15 16:58:47 +08:00
setShowSearchBox(false)
2024-09-03 17:51:42 +08:00
setRrefunSearchBox(false)
setCorrectionSearchBox(false)
2024-11-29 17:52:17 +08:00
setContractSearchBox(false)
2025-04-11 16:20:46 +08:00
setSellSearchBox(false)
setSellOrderSearchBox(false)
setCopyrightSearchBox(false)
setTradingSearchBox(false)
2025-05-16 17:48:03 +08:00
setAppSearchBox(false)
setTrademarkBox(false)
2025-04-11 16:20:46 +08:00
2024-05-07 17:00:32 +08:00
setNow('创建项目')
2024-07-31 17:07:19 +08:00
// setPathArray([{ title: <Link to={'/home'}>首页</Link> }, { title: '创建项目' }])
2024-05-22 16:18:38 +08:00
// /config-mod-list /config-menu-list /config-mod-show
2024-06-03 14:56:19 +08:00
} else if (location.pathname.includes('/proj-edit') && !location.pathname.includes('/config-mod-show') && !location.pathname.includes('/config-mod-edit') && !location.pathname.includes('/step') && !location.pathname.includes('/config-loginpage') && !location.pathname.includes('/config-mod-save') && !location.pathname.includes('/config-mod-list') && !location.pathname.includes('/config-menu-list')) {
2025-01-20 15:24:23 +08:00
setNow(`${projStatus}项目 / ${projName}`)
2024-07-15 16:58:47 +08:00
setShowSearchBox(false)
2024-09-03 17:51:42 +08:00
setRrefunSearchBox(false)
setCorrectionSearchBox(false)
2024-11-29 17:52:17 +08:00
setContractSearchBox(false)
2025-04-11 16:20:46 +08:00
setSellSearchBox(false)
setSellOrderSearchBox(false)
setCopyrightSearchBox(false)
setTradingSearchBox(false)
2025-05-16 17:48:03 +08:00
setAppSearchBox(false)
setTrademarkBox(false)
2025-04-11 16:20:46 +08:00
2024-05-12 07:45:51 +08:00
// setEditname(location.pathname)
2024-07-31 17:07:19 +08:00
// setPathArray([{ title: <Link to={'/home'}>首页</Link> }, { title: '编辑项目' }])
2024-05-12 07:45:51 +08:00
} else if (location.pathname.includes('/proj-new')) {
2024-09-02 16:41:02 +08:00
setNow(`创建项目`)
2024-07-15 16:58:47 +08:00
setShowSearchBox(false)
2024-09-03 17:51:42 +08:00
setRrefunSearchBox(false)
setCorrectionSearchBox(false)
2024-11-29 17:52:17 +08:00
setContractSearchBox(false)
2025-04-11 16:20:46 +08:00
setSellSearchBox(false)
setSellOrderSearchBox(false)
setCopyrightSearchBox(false)
setTradingSearchBox(false)
2025-05-16 17:48:03 +08:00
setAppSearchBox(false)
setTrademarkBox(false)
2025-04-11 16:20:46 +08:00
2024-05-12 07:45:51 +08:00
// setNewname(location.pathname)
2024-07-31 17:07:19 +08:00
// setPathArray([{ title: <Link to={'/home'}>首页</Link> }, { title: <Link to={'/proj-create'}>创建项目</Link> }, { title: '新建项目' }])
2024-05-15 18:00:20 +08:00
} else if (location.pathname.includes('/proj-efree')) {
2025-01-20 15:24:23 +08:00
setNow(`${projStatus}项目 / ${projName}`)
2024-07-15 16:58:47 +08:00
setShowSearchBox(false)
2024-09-03 17:51:42 +08:00
setRrefunSearchBox(false)
setCorrectionSearchBox(false)
2024-11-29 17:52:17 +08:00
setContractSearchBox(false)
2025-04-11 16:20:46 +08:00
setSellSearchBox(false)
setSellOrderSearchBox(false)
setCopyrightSearchBox(false)
setTradingSearchBox(false)
2025-05-16 17:48:03 +08:00
setAppSearchBox(false)
setTrademarkBox(false)
2025-04-11 16:20:46 +08:00
2024-05-12 07:45:51 +08:00
// setNewname(location.pathname)
2024-07-31 17:07:19 +08:00
// setPathArray([{ title: <Link to={'/home'}>首页</Link> }, { title: '编辑项目' }])
2024-05-15 18:00:20 +08:00
} else if (location.pathname.includes('/proj-eall')) {
2025-01-20 15:24:23 +08:00
setNow(`${projStatus}项目 / ${projName}`)
2024-07-15 16:58:47 +08:00
setShowSearchBox(false)
2024-09-03 17:51:42 +08:00
setRrefunSearchBox(false)
setCorrectionSearchBox(false)
2024-11-29 17:52:17 +08:00
setContractSearchBox(false)
2025-04-11 16:20:46 +08:00
setSellSearchBox(false)
setSellOrderSearchBox(false)
setCopyrightSearchBox(false)
setTradingSearchBox(false)
2025-05-16 17:48:03 +08:00
setAppSearchBox(false)
setTrademarkBox(false)
2025-04-11 16:20:46 +08:00
2024-05-12 07:45:51 +08:00
// setNewname(location.pathname)
2024-07-31 17:07:19 +08:00
// setPathArray([{ title: <Link to={'/home'}>首页 </Link> }, { title: '编辑项目' }])
2024-05-15 18:00:20 +08:00
} else if (location.pathname.includes('/proj-edit/step1')) {
2024-05-12 07:45:51 +08:00
setNow('标题简介')
2024-07-15 16:58:47 +08:00
setShowSearchBox(false)
2024-09-03 17:51:42 +08:00
setRrefunSearchBox(false)
setCorrectionSearchBox(false)
2024-11-29 17:52:17 +08:00
setContractSearchBox(false)
2025-04-11 16:20:46 +08:00
setSellSearchBox(false)
setSellOrderSearchBox(false)
setCopyrightSearchBox(false)
setTradingSearchBox(false)
2025-05-16 17:48:03 +08:00
setAppSearchBox(false)
setTrademarkBox(false)
2025-04-11 16:20:46 +08:00
2024-05-12 07:45:51 +08:00
// setNewname(location.pathname)
2024-07-31 17:07:19 +08:00
// setPathArray([{ title: <Link to={'/home'}>首页</Link> }, { title: <Link to={'/proj-create'}>创建项目</Link> }, { title: <a onClick={() => { nav(-1) }}>编辑项目</a> }, { title: '标题简介' }])
2024-05-15 18:00:20 +08:00
} else if (location.pathname.includes('/proj-edit/step2')) {
2024-05-12 07:45:51 +08:00
setNow('标题简介')
2024-07-15 16:58:47 +08:00
setShowSearchBox(false)
2024-09-03 17:51:42 +08:00
setRrefunSearchBox(false)
setCorrectionSearchBox(false)
2024-11-29 17:52:17 +08:00
setContractSearchBox(false)
2025-04-11 16:20:46 +08:00
setSellSearchBox(false)
setSellOrderSearchBox(false)
setCopyrightSearchBox(false)
setTradingSearchBox(false)
2025-05-16 17:48:03 +08:00
setAppSearchBox(false)
setTrademarkBox(false)
2025-04-11 16:20:46 +08:00
2024-05-12 07:45:51 +08:00
// setNewname(location.pathname)
2024-07-31 17:07:19 +08:00
// setPathArray([{ title: <Link to={'/home'}>首页</Link> }, { title: <Link to={'/proj-create'}>创建项目</Link> }, { title: <a onClick={() => { nav(-1) }}>编辑项目</a> }, { title: '基本信息' }])
2024-05-21 11:21:34 +08:00
} else if (location.pathname.includes('/proj-edit/config-loginpage')) {
2024-05-16 18:00:57 +08:00
setNow('登录界面设置')
2024-07-15 16:58:47 +08:00
setShowSearchBox(false)
2024-09-03 17:51:42 +08:00
setRrefunSearchBox(false)
setCorrectionSearchBox(false)
2024-11-29 17:52:17 +08:00
setContractSearchBox(false)
2025-04-11 16:20:46 +08:00
setSellSearchBox(false)
setSellOrderSearchBox(false)
setCopyrightSearchBox(false)
setTradingSearchBox(false)
2025-05-16 17:48:03 +08:00
setAppSearchBox(false)
setTrademarkBox(false)
2025-04-11 16:20:46 +08:00
2024-05-16 18:00:57 +08:00
// setNewname(location.pathname)
2024-07-31 17:07:19 +08:00
// setPathArray([{ title: <Link to={'/home'}>首页</Link> }, { title: <Link to={'/proj-create'}>创建项目</Link> }, { title: <a onClick={() => { nav(-1) }}>编辑项目</a> }, { title: '登录界面设置' }])
2024-06-03 14:56:19 +08:00
} else if (location.pathname.includes('/proj-edit/config-mod-list')) {
2024-05-21 11:21:34 +08:00
setNow('系统菜单管理')
2024-07-15 16:58:47 +08:00
setShowSearchBox(false)
2024-09-03 17:51:42 +08:00
setRrefunSearchBox(false)
setCorrectionSearchBox(false)
2024-11-29 17:52:17 +08:00
setContractSearchBox(false)
2025-04-11 16:20:46 +08:00
setSellSearchBox(false)
setSellOrderSearchBox(false)
setCopyrightSearchBox(false)
setTradingSearchBox(false)
2025-05-16 17:48:03 +08:00
setAppSearchBox(false)
setTrademarkBox(false)
2025-04-11 16:20:46 +08:00
2024-05-21 11:21:34 +08:00
// setNewname(location.pathname)
2024-07-31 17:07:19 +08:00
// setPathArray([{ title: <Link to={'/home'}>首页</Link> }, { title: <Link to={'/proj-create'}>创建项目</Link> }, { title: <a onClick={() => { nav(-1) }}>编辑项目</a> }, { title: '系统菜单管理' }])
2024-06-03 14:56:19 +08:00
} else if (location.pathname.includes('/proj-edit/config-menu-list')) {
2024-05-21 11:21:34 +08:00
setNow('系统菜单顺序')
2024-07-15 16:58:47 +08:00
setShowSearchBox(false)
2024-09-03 17:51:42 +08:00
setRrefunSearchBox(false)
setCorrectionSearchBox(false)
2024-11-29 17:52:17 +08:00
setContractSearchBox(false)
2025-04-11 16:20:46 +08:00
setSellSearchBox(false)
setSellOrderSearchBox(false)
setCopyrightSearchBox(false)
setTradingSearchBox(false)
2025-05-16 17:48:03 +08:00
setAppSearchBox(false)
setTrademarkBox(false)
2025-04-11 16:20:46 +08:00
2024-05-21 11:21:34 +08:00
// setNewname(location.pathname)
2024-07-31 17:07:19 +08:00
// setPathArray([{ title: <Link to={'/home'}>首页</Link> }, { title: <Link to={'/proj-create'}>创建项目</Link> }, { title: <a onClick={() => { nav(-1) }}>编辑项目</a> }, { title: '系统菜单顺序' }])
2024-06-03 14:56:19 +08:00
} else if (location.pathname.includes('/step3')) {
2024-05-21 11:21:34 +08:00
setNow('软件功能特点')
2024-07-15 16:58:47 +08:00
setShowSearchBox(false)
2024-09-03 17:51:42 +08:00
setRrefunSearchBox(false)
setCorrectionSearchBox(false)
2024-11-29 17:52:17 +08:00
setContractSearchBox(false)
2025-04-11 16:20:46 +08:00
setSellSearchBox(false)
setSellOrderSearchBox(false)
setCopyrightSearchBox(false)
setTradingSearchBox(false)
2025-05-16 17:48:03 +08:00
setAppSearchBox(false)
setTrademarkBox(false)
2025-04-11 16:20:46 +08:00
2024-05-21 11:21:34 +08:00
// setNewname(location.pathname)
2024-07-31 17:07:19 +08:00
// setPathArray([{ title: <Link to={'/home'}>首页</Link> }, { title: <Link to={'/proj-create'}>创建项目</Link> }, { title: <a onClick={() => { nav(-1) }}>编辑项目</a> }, { title: '软件功能特点' }])
2024-06-03 14:56:19 +08:00
} else if (location.pathname.includes('/proj-edit/config-mod-save')) {
2024-05-21 11:21:34 +08:00
setNow('添加菜单')
2024-07-15 16:58:47 +08:00
setShowSearchBox(false)
2024-09-03 17:51:42 +08:00
setRrefunSearchBox(false)
setCorrectionSearchBox(false)
2024-11-29 17:52:17 +08:00
setContractSearchBox(false)
2025-04-11 16:20:46 +08:00
setSellSearchBox(false)
setSellOrderSearchBox(false)
setCopyrightSearchBox(false)
setTradingSearchBox(false)
2025-05-16 17:48:03 +08:00
setAppSearchBox(false)
setTrademarkBox(false)
2025-04-11 16:20:46 +08:00
2024-07-31 17:07:19 +08:00
// setPathArray([{ title: <Link to={'/home'}>首页</Link> }, { title: <Link to={'/proj-create'}>创建项目</Link> }, { title: <a onClick={() => { nav(-1) }}>编辑项目</a> }, { title: '添加菜单' }])
2024-06-03 14:56:19 +08:00
} else if (location.pathname.includes('/proj-edit/config-mod-edit')) {
2024-05-21 11:21:34 +08:00
setNow('编辑菜单')
2024-07-15 16:58:47 +08:00
setShowSearchBox(false)
2024-09-03 17:51:42 +08:00
setRrefunSearchBox(false)
setCorrectionSearchBox(false)
2024-11-29 17:52:17 +08:00
setContractSearchBox(false)
2025-04-11 16:20:46 +08:00
setSellSearchBox(false)
setSellOrderSearchBox(false)
setCopyrightSearchBox(false)
setTradingSearchBox(false)
2025-05-16 17:48:03 +08:00
setAppSearchBox(false)
setTrademarkBox(false)
2025-04-11 16:20:46 +08:00
2024-07-31 17:07:19 +08:00
// setPathArray([{ title: <Link to={'/home'}>首页</Link> }, { title: <Link to={'/proj-create'}>创建项目</Link> }, { title: <a onClick={() => { nav(-2) }}>编辑项目</a> }, { title: <a onClick={() => { nav(-1) }}>系统菜单管理</a> }, { title: '编辑菜单' }])
2024-06-03 14:56:19 +08:00
// /config-mod-edit /config-mod-show
} else if (location.pathname.includes('/proj-edit/config-mod-show')) {
2024-05-22 16:18:38 +08:00
setNow('查看菜单')
2024-07-15 16:58:47 +08:00
setShowSearchBox(false)
2024-09-03 17:51:42 +08:00
setRrefunSearchBox(false)
setCorrectionSearchBox(false)
2025-04-11 16:20:46 +08:00
setSellSearchBox(false)
2024-11-29 17:52:17 +08:00
setContractSearchBox(false)
2025-04-11 16:20:46 +08:00
setSellOrderSearchBox(false)
setCopyrightSearchBox(false)
setTradingSearchBox(false)
2025-05-16 17:48:03 +08:00
setAppSearchBox(false)
setTrademarkBox(false)
2025-04-11 16:20:46 +08:00
2024-07-31 17:07:19 +08:00
// setPathArray([{ title: <Link to={'/home'}>首页</Link> }, { title: <Link to={'/proj-create'}>创建项目</Link> }, { title: <a onClick={() => { nav(-2) }}>编辑项目</a> }, { title: <a onClick={() => { nav(-1) }}>系统菜单管理</a> }, { title: '查看菜单' }])
2024-06-03 14:56:19 +08:00
// /config-mod-edit
} else if (location.pathname.includes('/product-release')) {
2025-04-11 16:20:46 +08:00
setNow('首页 / 商品发布')
2024-07-15 16:58:47 +08:00
setShowSearchBox(false)
2024-09-03 17:51:42 +08:00
setRrefunSearchBox(false)
setCorrectionSearchBox(false)
2024-11-29 17:52:17 +08:00
setContractSearchBox(false)
2025-04-11 16:20:46 +08:00
setSellSearchBox(true)
setSellOrderSearchBox(false)
setCopyrightSearchBox(false)
setTradingSearchBox(false)
2025-05-16 17:48:03 +08:00
setAppSearchBox(false)
setTrademarkBox(false)
2025-04-11 16:20:46 +08:00
2024-07-31 17:07:19 +08:00
// setPathArray([{ title: '首页' }])
2024-06-11 17:45:40 +08:00
// /config-mod-edit /product-release /transaction-order
2025-04-11 16:20:46 +08:00
} else if (location.pathname.includes('/transaction-order')) {
setNow('首页 / 交易订单')
2024-07-15 16:58:47 +08:00
setShowSearchBox(false)
2024-09-03 17:51:42 +08:00
setRrefunSearchBox(false)
setCorrectionSearchBox(false)
2024-11-29 17:52:17 +08:00
setContractSearchBox(false)
2025-04-11 16:20:46 +08:00
setSellSearchBox(false)
setSellOrderSearchBox(true)
setCopyrightSearchBox(false)
setTradingSearchBox(false)
2025-05-16 17:48:03 +08:00
setAppSearchBox(false)
setTrademarkBox(false)
2025-04-11 16:20:46 +08:00
2024-07-31 17:07:19 +08:00
// setPathArray([{ title: '首页' }])
2024-06-11 17:45:40 +08:00
// /config-mod-edit /product-release /transaction-order
2025-04-11 16:20:46 +08:00
} else if (location.pathname.includes('/copyright-goods')) {
setNow('首页 / 著作权商品')
2024-07-15 16:58:47 +08:00
setShowSearchBox(false)
2024-09-03 17:51:42 +08:00
setRrefunSearchBox(false)
setCorrectionSearchBox(false)
2024-11-29 17:52:17 +08:00
setContractSearchBox(false)
2025-04-11 16:20:46 +08:00
setSellSearchBox(false)
setSellOrderSearchBox(false)
setCopyrightSearchBox(true)
setTradingSearchBox(false)
2025-05-16 17:48:03 +08:00
setAppSearchBox(false)
setTrademarkBox(false)
2025-04-11 16:20:46 +08:00
2024-07-31 17:07:19 +08:00
// setPathArray([{ title: '首页' }])
2024-06-11 17:45:40 +08:00
// /config-mod-edit /product-release /transaction-order
2025-04-11 16:20:46 +08:00
} else if (location.pathname.includes('/trading-goods')) {
setNow('首页 / 交易商品')
2024-07-15 16:58:47 +08:00
setShowSearchBox(false)
2024-09-03 17:51:42 +08:00
setRrefunSearchBox(false)
setCorrectionSearchBox(false)
2024-11-29 17:52:17 +08:00
setContractSearchBox(false)
2025-04-11 16:20:46 +08:00
setSellSearchBox(false)
setSellOrderSearchBox(false)
setCopyrightSearchBox(false)
setTradingSearchBox(true)
2025-05-16 17:48:03 +08:00
setAppSearchBox(false)
setTrademarkBox(false)
2025-04-11 16:20:46 +08:00
2024-07-31 17:07:19 +08:00
// setPathArray([{ title: '首页' }])
2024-06-11 17:45:40 +08:00
// /config-mod-edit /product-release /transaction-order
2024-08-22 16:33:01 +08:00
} else if (location.pathname.includes('/refun')) {
setShowSearchBox(false)
2025-01-20 15:24:23 +08:00
setNow('首页 / 退款')
2024-09-03 17:51:42 +08:00
// setClickBelongpeople(false)
setRrefunSearchBox(true)
setCorrectionSearchBox(false)
2024-11-29 17:52:17 +08:00
setContractSearchBox(false)
2025-04-11 16:20:46 +08:00
setSellSearchBox(false)
setSellOrderSearchBox(false)
setCopyrightSearchBox(false)
setTradingSearchBox(false)
2025-05-16 17:48:03 +08:00
setAppSearchBox(false)
setTrademarkBox(false)
2025-04-11 16:20:46 +08:00
2024-08-22 16:33:01 +08:00
// setNewname(location.pathname)
// setPathArray([{ title: <Link to={'/home'}>首页</Link> }, { title: <Link to={'/proj-create'}>创建项目</Link> }, { title: <a onClick={() => { nav(-1) }}>编辑项目</a> }, { title: '软件功能特点' }])
2024-08-29 17:56:39 +08:00
} else if (location.pathname.includes('/correction')) {
2024-08-26 18:03:35 +08:00
setShowSearchBox(false)
2025-01-20 15:24:23 +08:00
setNow('首页 / 补正')
2024-09-03 17:51:42 +08:00
// setClickBelongpeople(false)
setRrefunSearchBox(false)
setCorrectionSearchBox(true)
2024-11-29 17:52:17 +08:00
setContractSearchBox(false)
2025-04-11 16:20:46 +08:00
setSellSearchBox(false)
setSellOrderSearchBox(false)
setCopyrightSearchBox(false)
setTradingSearchBox(false)
2025-05-16 17:48:03 +08:00
setAppSearchBox(false)
setTrademarkBox(false)
2025-04-11 16:20:46 +08:00
2024-08-26 18:03:35 +08:00
// setNewname(location.pathname)
// setPathArray([{ title: <Link to={'/home'}>首页</Link> }, { title: <Link to={'/proj-create'}>创建项目</Link> }, { title: <a onClick={() => { nav(-1) }}>编辑项目</a> }, { title: '软件功能特点' }])
2024-11-29 17:52:17 +08:00
} else if (location.pathname.includes('/contract')) {
setShowSearchBox(false)
setRrefunSearchBox(false)
setCorrectionSearchBox(false)
setContractSearchBox(true)
2025-01-20 15:24:23 +08:00
setNow('首页 / 合同下载')
2025-04-11 16:20:46 +08:00
setSellSearchBox(false)
setSellOrderSearchBox(false)
setCopyrightSearchBox(false)
setTradingSearchBox(false)
2025-05-16 17:48:03 +08:00
setAppSearchBox(false)
setTrademarkBox(false)
} else if (location.pathname.includes('/app-electron')) {
setShowSearchBox(false)
setRrefunSearchBox(false)
setCorrectionSearchBox(false)
setContractSearchBox(false)
setNow('首页 / 电子软著APP')
setSellSearchBox(false)
setSellOrderSearchBox(false)
setCopyrightSearchBox(false)
setTradingSearchBox(false)
setAppSearchBox(true)
setTrademarkBox(false)
} else if (location.pathname.includes('/app-edit')) {
setShowSearchBox(false)
setRrefunSearchBox(false)
setCorrectionSearchBox(false)
setContractSearchBox(false)
setNow('申请电子软著')
setSellSearchBox(false)
setSellOrderSearchBox(false)
setCopyrightSearchBox(false)
setTradingSearchBox(false)
setAppSearchBox(false)
setTrademarkBox(false)
}
else if (location.pathname.includes('/trademark-mall')) {
setShowSearchBox(false)
setRrefunSearchBox(false)
setCorrectionSearchBox(false)
setContractSearchBox(false)
setNow('首页 / 商标商城')
setSellSearchBox(false)
setSellOrderSearchBox(false)
setCopyrightSearchBox(false)
setTradingSearchBox(false)
setAppSearchBox(false)
setTrademarkBox(true)
2025-04-11 16:20:46 +08:00
2024-05-07 17:00:32 +08:00
}
2024-05-12 07:45:51 +08:00
}, [location.pathname])
2024-03-28 19:35:54 +08:00
useEffect(() => {
2024-05-21 11:21:34 +08:00
// nav('/home')
// sessionStorage.setItem('pathArray', JSON.stringify([{ title: <Link to={'/home'}>首页</Link> }]));
// sessionStorage.setItem('now', '首页');
2024-04-01 20:39:22 +08:00
if (searchParams.get('type') == 'agent') {
2024-03-28 19:35:54 +08:00
dispatch({
type: IndexListDataType.AGENT,
2024-05-07 17:00:32 +08:00
value: 'ALL',
2024-03-28 19:35:54 +08:00
})
2024-05-07 17:00:32 +08:00
2024-03-28 19:35:54 +08:00
}
2025-03-13 15:43:27 +08:00
// getProjOwnerList()
2025-01-03 15:56:36 +08:00
getCorTag()
2024-07-31 18:41:25 +08:00
getTag()
2024-11-04 11:55:51 +08:00
getremindTag()
2025-03-13 15:43:27 +08:00
// console.log(belongArray);
2025-04-11 16:20:46 +08:00
// getLanguageListDate()
// getSoftTypeListDate()
2024-03-28 19:35:54 +08:00
}, []);
2024-07-17 14:19:28 +08:00
useEffect(() => {
2025-03-13 16:54:29 +08:00
// loactionStorage里的activeMenu
if (location.pathname == '/') {
nav('/home', {
state: {
keyword: keywords,
type: type,
chargeAdditionals: chargeAdditionals,
tagDataId: tagDataId,
authorId: authorId,
payStatus: payStatus,
projRemindId: projRemindId,
// tagNot
}
})
}
2024-07-18 14:49:14 +08:00
if (location.pathname.includes('/home')) {
2024-08-01 13:25:33 +08:00
nav('/home', {
state: {
keyword: keywords,
type: type,
chargeAdditionals: chargeAdditionals,
tagDataId: tagDataId,
2024-08-29 17:56:39 +08:00
authorId: authorId,
2024-11-04 11:55:51 +08:00
payStatus: payStatus,
2024-12-31 18:31:06 +08:00
projRemindId: projRemindId,
// tagNot
2024-08-01 13:25:33 +08:00
}
})
2024-07-18 14:49:14 +08:00
}
2024-09-03 17:51:42 +08:00
if (location.pathname.includes('/refun')) {
nav('/refun', {
state: {
keywords: refunKeywords,
applyStatus: applyStatus,
2025-01-03 17:33:18 +08:00
authorId: authorId,
2025-03-02 12:25:55 +08:00
2024-09-03 17:51:42 +08:00
}
})
}
2024-09-04 15:52:35 +08:00
if (location.pathname.includes('/correction')) {
nav('/correction', {
state: {
keywords: correctionKeywords,
correctionNumType: correctionNumType,
correctionType: correctionType,
applyStatus: correctionApplyStatus,
2025-01-03 15:56:36 +08:00
authorId: authorId,
2025-01-03 17:33:18 +08:00
tagCor: tagCor,
2025-03-02 12:25:55 +08:00
2024-09-04 15:52:35 +08:00
}
})
}
2024-09-03 17:51:42 +08:00
2025-01-03 17:33:18 +08:00
}, [type, chargeAdditionals, keywords, tagDataId, projRemindId, payStatus, authorId, refunKeywords, applyStatus, correctionKeywords, correctionNumType, correctionType, correctionApplyStatus, tagCor]);
2024-08-12 14:43:58 +08:00
2024-08-22 16:33:01 +08:00
// const [menuName,setMenuName] = useState<string | null>('')
// useEffect(()=>{
// setMenuName( getMenuActive())
// },[getMenuActive()])
2024-05-07 17:00:32 +08:00
const handleSearch = (value: string) => {
2024-07-31 16:00:30 +08:00
// console.log(value);
2024-07-15 16:58:47 +08:00
setKeywords(value)
2024-05-12 07:45:51 +08:00
nav('/home', {
state: {
2024-07-15 16:58:47 +08:00
keyword: value,
2024-08-01 13:25:33 +08:00
type: type,
2024-07-31 16:00:30 +08:00
chargeAdditionals: chargeAdditionals,
2024-07-31 18:41:25 +08:00
tagDataId: tagDataId,
2024-08-29 17:56:39 +08:00
authorId: authorId,
2024-11-04 11:55:51 +08:00
payStatus: payStatus,
2024-12-31 18:31:06 +08:00
projRemindId: projRemindId,
// tagNot
2024-11-04 11:55:51 +08:00
2024-05-12 07:45:51 +08:00
}
})
2024-05-07 17:00:32 +08:00
}
2024-07-18 14:49:14 +08:00
const handleChange = (e: any) => {
2024-07-31 16:00:30 +08:00
setNowKeyWord(e.target.value)
// console.log(e.target.value);
2024-07-18 14:49:14 +08:00
if (e.target.value == '') {
2024-07-17 14:21:59 +08:00
setKeywords('')
2024-07-17 14:19:28 +08:00
nav('/home', {
state: {
keyword: '',
2024-08-01 13:25:33 +08:00
type: type,
2024-07-31 16:00:30 +08:00
chargeAdditionals: chargeAdditionals,
2024-07-31 18:41:25 +08:00
tagDataId: tagDataId,
2024-08-29 17:56:39 +08:00
authorId: authorId,
2024-11-04 11:55:51 +08:00
payStatus: payStatus,
2024-12-31 18:31:06 +08:00
projRemindId: projRemindId,
// tagNot
2024-08-29 17:56:39 +08:00
2024-07-17 14:19:28 +08:00
}
})
}
}
2024-09-03 17:51:42 +08:00
// 退款状态
// 退款关键字搜索
const refunhandleSearch = (value: string) => {
// console.log(value);
setrefunKeywords(value)
nav('/refun', {
state: {
keywords: value,
applyStatus: applyStatus,
2025-01-03 17:33:18 +08:00
authorId: authorId,
2025-03-02 12:25:55 +08:00
2024-09-03 17:51:42 +08:00
}
})
}
const refunhandleChange = (e: any) => {
setnewRefunValue(e.target.value)
// console.log(e.target.value);
if (e.target.value == '') {
setrefunKeywords('')
nav('/refun', {
state: {
keywords: '',
applyStatus: applyStatus,
2025-01-03 17:33:18 +08:00
authorId: authorId,
2025-03-02 12:25:55 +08:00
2024-09-03 17:51:42 +08:00
}
})
}
}
2024-09-04 15:52:35 +08:00
// 补正关键字搜索
const correctionhandleSearch = (value: string) => {
// console.log(value);
setcorrectionKeywords(value)
nav('/correction', {
state: {
keywords: value,
correctionNumType: correctionNumType,
correctionType: correctionType,
applyStatus: correctionApplyStatus,
2025-01-03 15:56:36 +08:00
authorId: authorId,
2025-01-03 17:33:18 +08:00
tagCor: tagCor,
2025-03-02 12:25:55 +08:00
2024-09-04 15:52:35 +08:00
}
})
}
const correctionhandleChange = (e: any) => {
setnewCorrectionValue(e.target.value)
// console.log(e.target.value);
if (e.target.value == '') {
setcorrectionKeywords('')
nav('/correction', {
state: {
keywords: '',
correctionNumType: correctionNumType,
correctionType: correctionType,
applyStatus: correctionApplyStatus,
2025-01-03 15:56:36 +08:00
authorId: authorId,
2025-01-03 17:33:18 +08:00
tagCor: tagCor,
2025-03-02 12:25:55 +08:00
2024-09-04 15:52:35 +08:00
}
})
}
}
2024-03-27 18:56:48 +08:00
return (
<>
2024-04-29 17:22:26 +08:00
{/* <Breadcrumb
2024-03-27 18:56:48 +08:00
items={[
{title: <Link to={'/'}></Link>}
]}
2024-04-29 17:22:26 +08:00
/> */}
2024-07-31 16:00:30 +08:00
{contextHolder}
2024-05-07 17:00:32 +08:00
<IndexListContext.Provider value={listData} >
2024-03-27 18:56:48 +08:00
<IndexListDispatchContext.Provider value={dispatch}>
<div className="index">
2024-09-02 16:41:02 +08:00
<div className='coupon-mask'></div>
2024-06-03 14:56:19 +08:00
<div className='leftbox'>
2024-08-29 17:56:39 +08:00
{/* <div style={{display:'flex'}}> */}
{/* <div style={{height:1000,width:6,background:'red',marginRight:-6,zIndex:99}}></div> */}
2024-06-03 14:56:19 +08:00
<div className="left" >
2024-12-24 16:18:18 +08:00
<div className='mediaBox' style={{
2024-12-24 15:41:20 +08:00
// height: '15px', width: '230px',
2024-12-24 16:18:18 +08:00
background: 'white'
}}></div>
2024-06-03 14:56:19 +08:00
<MenuWithTopButton
button={projMenu.button}
list={projMenu.list}
handleListItem={projMenu.handleListItem}
2024-07-31 16:00:30 +08:00
keywords={keywords}
2024-09-04 15:52:35 +08:00
2024-07-31 16:00:30 +08:00
chargeAdditionals={chargeAdditionals ? chargeAdditionals : ""}
2024-07-31 18:41:25 +08:00
tagDataId={tagDataId ? tagDataId : ""}
2024-07-31 17:07:19 +08:00
authorId={authorId ? authorId : ""}
2024-09-04 15:52:35 +08:00
payStatus={payStatus ? payStatus : ''}
// 退款
refunKeywords={refunKeywords}
applyStatus={applyStatus ? applyStatus : ''}
type={type ? type : ""}
// 补正
correctionKeywords={correctionKeywords ? correctionKeywords : ''}
correctionNumType={correctionNumType ? correctionNumType : ''}
correctionType={correctionType ? correctionType : ''}
correctionApplyStatus={correctionApplyStatus ? correctionApplyStatus : ''}
2025-01-03 17:33:18 +08:00
tagCor={tagCor ? tagCor : ''}
2024-08-26 18:03:35 +08:00
// enableBelongpeople = {()=>{setClickBelongpeople(true)}}
2024-06-03 14:56:19 +08:00
/>
2024-09-03 17:51:42 +08:00
2025-03-13 15:43:27 +08:00
{/* <div className='belongPeopleMenu'>
2024-07-31 16:00:30 +08:00
<div className='belongPeopleMenu-title'>
<MenuFoldOutlined style={{ marginLeft: 10, marginRight: 10 }} />
</div>
<div style={{ display: belongArray.length > 0 ? 'block' : 'none' }}>
<div className='belongPeopleMenu-box'>
{
currentPageData.map((item: any) => {
return (
<div className='belongpeopleName' key={item.projOwnerId} onClick={() => {
2025-03-13 15:43:27 +08:00
2024-09-03 17:51:42 +08:00
if (authorId == item.projOwnerId) {
2025-03-13 10:06:40 +08:00
setauthorId(null)
2024-09-03 17:51:42 +08:00
2025-03-13 15:43:27 +08:00
2024-08-29 17:56:39 +08:00
} else {
setauthorId(item.projOwnerId)
2025-03-13 15:43:27 +08:00
2024-07-31 16:00:30 +08:00
}
2024-09-03 17:51:42 +08:00
2025-03-13 15:43:27 +08:00
2024-07-31 16:00:30 +08:00
}}
2024-09-03 17:51:42 +08:00
style={{ background: authorId == item.projOwnerId ? '#FF9F08' : '', color: authorId == item.projOwnerId ? '#FFF' : '' }}
2024-07-31 17:07:19 +08:00
title={item.name} // 添加 title 属性以显示完整文本
2024-07-31 16:00:30 +08:00
>
2024-08-02 09:23:23 +08:00
{item.name}
2024-07-31 16:00:30 +08:00
</div>
)
})
}
</div>
2025-03-13 15:43:27 +08:00
2024-07-31 16:00:30 +08:00
<div className='belong-pagination'>
<Pagination
2024-08-12 14:43:58 +08:00
showSizeChanger={false}
2024-07-31 16:00:30 +08:00
current={currentPage}
total={totalItems}
pageSize={itemsPerPage}
onChange={handlePageChange} // 页码改变时的回调
className="custom-pagination"
/>
</div>
</div>
<div style={{ display: belongArray.length > 0 ? 'none' : 'block', height: 230 }}>
2024-07-31 17:07:19 +08:00
<div style={{ width: 230, height: 230, display: 'flex', alignItems: 'center', justifyContent: 'center' }}>
2024-07-31 16:00:30 +08:00
<Empty
description="暂无数据"
/>
</div>
</div>
2025-03-13 15:43:27 +08:00
</div> */}
2024-07-31 16:00:30 +08:00
{/* <MenuTreeWithTopButton /> */}
2024-06-03 14:56:19 +08:00
{/* <MenuWithBottomButtom
2024-05-15 18:00:20 +08:00
button={agentMenu.button}
list={agentMenu.list}
handleListItem={agentMenu.handleListItem}
/> */}
2025-05-12 16:21:46 +08:00
{THEME == 'mzw' ? (
<MenuWithBottomButtom
button={sellMenu.button}
list={sellMenu.list}
handleListItem={sellMenu.handleListItem}
sellKeywords={sellKeywords}
sellBelongType={sellBelongType}
sellDate={sellDate}
language={language}
sellBoxtype={sellBoxtype}
sellStatrtTime={sellStatrtTime}
sellEndTime={sellEndTime}
sellOrderStatus={sellOrderStatus}
sellOrderKeywords={sellOrderKeywords}
/>
) : (
<></>
)}
2025-05-16 17:48:03 +08:00
{THEME == 'mzw' ? (
<>
<div style={{
background: getMenuActive() == 'APP' ? 'linear-gradient(90deg, #FF9F08 0%, #FF7331 100%)' : ' var(--color-menuback)',
borderTop: '1px solid var(--color-menuborder)',
height: 56,
cursor: 'pointer',
display: 'flex',
alignItems: 'center',
// justifyContent: 'center',
color: getMenuActive() == 'APP' ? '#FFF' : 'var(--color-menuhead)',
fontSize: 18
}}
onClick={() => {
projMenu.list.forEach(item => item.active = false);
sellMenu.list.forEach(item => item.active = false);
buyMenu.list.forEach(item => item.active = false);
// 可按需添加其他菜单的处理
// 更新菜单状态
setProjMenu({ ...projMenu });
setSellMenu({ ...sellMenu });
setBuyMenu({ ...buyMenu });
setMenuActive('APP')
nav('/app-electron')
// 设置 APP 电子软著为选中状态
// setIsAppSelected(true);
}}
>
<img src={getMenuActive() == 'APP' ? appnew : app} width={21} height={23} alt=""
style={{ marginLeft: 20, marginRight: 9 }}
/>
<div>APP</div>
</div>
<div style={{
background: getMenuActive() == 'TRADEMARK' ? 'linear-gradient(90deg, #FF9F08 0%, #FF7331 100%)' : ' var(--color-menuback)',
borderTop: '1px solid var(--color-menuborder)',
borderBottom: '1px solid var(--color-menuborder)',
height: 56,
cursor: 'pointer',
display: 'flex',
alignItems: 'center',
// justifyContent: 'center',
color: getMenuActive() == 'TRADEMARK' ? '#FFF' : 'var(--color-menuhead)',
fontSize: 18
}}
onClick={() => {
projMenu.list.forEach(item => item.active = false);
sellMenu.list.forEach(item => item.active = false);
buyMenu.list.forEach(item => item.active = false);
// 可按需添加其他菜单的处理
// 更新菜单状态
setProjMenu({ ...projMenu });
setSellMenu({ ...sellMenu });
setBuyMenu({ ...buyMenu });
setMenuActive('TRADEMARK')
nav('/trademark-mall')
// 设置 APP 电子软著为选中状态
// setIsAppSelected(true);
}}
>
<img src={getMenuActive() == 'TRADEMARK' ? tranew : tra} width={21} height={21} alt=""
style={{ marginLeft: 20, marginRight: 9, marginTop: 3 }}
/>
<div></div>
</div>
</>
) : (
<></>
)}
2025-05-12 16:21:46 +08:00
2025-05-07 14:25:17 +08:00
{/* <MenuWithBottomButtom
2024-06-03 14:56:19 +08:00
button={buyMenu.button}
list={buyMenu.list}
handleListItem={buyMenu.handleListItem}
2025-04-11 16:20:46 +08:00
copyrightKeywords={copyrightKeywords}
minPrice={minPrice}
maxPrice={maxPrice}
sort={sort}
copyrightDate={copyrightDate}
copyrightLanguage={copyrightLanguage}
copyrightType={copyrightType}
tradingKeywords={tradingKeywords}
tradingStartTime={tradingStartTime}
tradingEndTime={tradingEndTime}
tradingStatus={tradingStatus}
2025-04-17 08:48:11 +08:00
/> */}
2024-09-03 17:51:42 +08:00
{/* <MenuWithTopButton
2024-08-22 16:33:01 +08:00
button={refundMenu.button}
list={refundMenu.list}
handleListItem={refundMenu.handleListItem}
2024-09-03 17:51:42 +08:00
/> */}
{/* <MenuWithTopButton
2024-08-26 18:03:35 +08:00
button={correctionMenu.button}
list={correctionMenu.list}
handleListItem={correctionMenu.handleListItem}
2024-09-03 17:51:42 +08:00
/> */}
2024-06-14 15:50:34 +08:00
</div>
2024-08-29 17:56:39 +08:00
{/* </div> */}
2024-03-27 18:56:48 +08:00
</div>
2024-08-29 17:56:39 +08:00
2024-03-27 18:56:48 +08:00
<div className="right">
2024-05-07 17:00:32 +08:00
<div>
<div className="top">
{/* 标签 */}
{/* {renderStatus()} */}
<div className='gps'>
<img src={gpsImg} alt="" />
2025-01-20 15:24:23 +08:00
<div className='gps-now'>{now}</div>
2024-09-10 11:52:02 +08:00
</div>
<div className='mediaLine'>
<div className='line' style={{
display: showSearchBox ? 'block' : 'none',
}} ></div>
2024-05-07 17:00:32 +08:00
</div>
2024-09-03 17:51:42 +08:00
<div style={{ display: showSearchBox ? 'block' : 'none' }}>
2024-09-10 11:52:02 +08:00
<div
className='mediaSearch'
style={{
display: 'flex',
alignItems: 'center',
minHeight: 62,
// flexWrap: 'wrap',
padding: '10px 0',
boxSizing: 'border-box',
// background:'red',
// width:890
}}>
2024-09-03 17:51:42 +08:00
<div
style={{
width: 1,
height: 23,
marginLeft: 33,
marginRight: 31,
display: showSearchBox ? 'none' : 'block'
}}
></div>
<Search placeholder="输入项目名称"
value={nowKeyword}
onSearch={handleSearch}
onChange={handleChange}
2024-12-24 15:41:20 +08:00
className='searchInputmedia'
2024-09-03 17:51:42 +08:00
style={{
2024-12-24 15:41:20 +08:00
// maxWidth: '200px',
width: '170px',
2024-09-03 17:51:42 +08:00
height: '31px',
display: showSearchBox ? 'block' : 'none'
}}
allowClear
/>
<Select
value={type}
allowClear
2025-03-13 10:06:40 +08:00
style={{ height: '31px', width: '110px', marginLeft: 5, display: showSearchBox ? 'block' : 'none' }}
2024-09-03 17:51:42 +08:00
onChange={(value: string) => {
setType(value)
nav('/home', {
state: {
keyword: keywords,
type: value,
chargeAdditionals: chargeAdditionals,
tagDataId: tagDataId,
authorId: authorId,
2024-11-04 11:55:51 +08:00
payStatus: payStatus,
2024-12-31 18:31:06 +08:00
projRemindId: projRemindId,
// tagNot
2024-09-03 17:51:42 +08:00
}
})
}}
options={[
{ value: 'FREE', label: '免费试用' },
{ value: 'MATERIAL', label: '写材料' },
{ value: 'ALL', label: '全托管' },
]}
placeholder='选择类型'
/>
<Select
allowClear
value={chargeAdditionals}
2025-03-13 10:06:40 +08:00
style={{ height: '31px', width: '130px', marginLeft: 5, display: showSearchBox ? 'block' : 'none' }}
2024-09-03 17:51:42 +08:00
onChange={(value: string) => {
// console.log(`selected ${value}`);
setchargeAdditionals(value)
// alert(`selected ${value}`)
// lyp
nav('/home', {
state: {
keyword: keywords,
type: type,
chargeAdditionals: value,
tagDataId: tagDataId,
authorId: authorId,
2024-11-04 11:55:51 +08:00
payStatus: payStatus,
2024-12-31 18:31:06 +08:00
projRemindId: projRemindId,
// tagNot
2024-09-03 17:51:42 +08:00
}
})
}}
options={[
// { value: '', label: '全部项目' },
{ value: 'PKG', label: '安装包' },
{ value: 'VIDEO_DEMO', label: '演示视频' },
{ value: 'URGENT', label: '加急' },
]}
// defaultValue=""
placeholder={'选择拓展收费'}
/>
<Select
allowClear
2025-01-03 16:03:35 +08:00
value={tagDataId}
2025-03-13 10:06:40 +08:00
style={{ height: '31px', width: '130px', marginLeft: 5, display: showSearchBox ? 'block' : 'none' }}
2024-09-03 17:51:42 +08:00
onChange={(value: string) => {
2025-01-03 16:16:10 +08:00
// console.log(`selected ${value}`);
2024-12-31 18:31:06 +08:00
// const [part1, part2] = value.split(':');
// console.log('part1:', part1);
// console.log('part2:', part2);
// if (part1 == 'TAG_NOT') {
// setTagNot(true)
// }
2025-01-03 17:33:18 +08:00
2024-09-03 17:51:42 +08:00
settagDataId(value)
// alert(`selected ${value}`)
// lyp
nav('/home', {
state: {
keyword: keywords,
type: type,
chargeAdditionals: chargeAdditionals,
tagDataId: value,
authorId: authorId,
2024-11-04 11:55:51 +08:00
payStatus: payStatus,
2024-12-31 18:31:06 +08:00
projRemindId: projRemindId,
// tagNot:part2 == 'TAG_NOT'?true:false
2024-09-03 17:51:42 +08:00
}
})
}}
options={
2024-11-04 11:55:51 +08:00
2024-09-03 17:51:42 +08:00
tagArray
2024-08-29 17:56:39 +08:00
}
2024-09-03 17:51:42 +08:00
placeholder={'选择标签'}
2024-11-04 11:55:51 +08:00
/>
2024-12-24 16:18:18 +08:00
<div style={{
2025-01-03 17:33:18 +08:00
display: remindTagArray.length > 0 ? 'block' : 'none',
2024-12-24 16:18:18 +08:00
}}>
<Select
allowClear
value={projRemindId}
2025-03-13 10:06:40 +08:00
style={{ height: '31px', width: '130px', marginLeft: 5, display: showSearchBox ? 'block' : 'none' }}
2024-12-24 16:18:18 +08:00
onChange={(value: string) => {
// console.log(`selected ${value}`);
setprojRemindId(value)
// alert(`selected ${value}`)
// lyp
nav('/home', {
state: {
keyword: keywords,
type: type,
chargeAdditionals: chargeAdditionals,
tagDataId: tagDataId,
authorId: authorId,
payStatus: payStatus,
2024-12-31 18:31:06 +08:00
projRemindId: value,
// tagNot
2024-12-24 16:18:18 +08:00
}
})
2024-11-04 11:55:51 +08:00
2024-12-24 16:18:18 +08:00
}}
options={
2024-11-04 11:55:51 +08:00
2024-12-24 16:18:18 +08:00
remindTagArray
}
2024-11-04 11:55:51 +08:00
2024-12-24 16:18:18 +08:00
placeholder={'选择提醒'}
2024-11-04 11:55:51 +08:00
2024-12-24 16:18:18 +08:00
/>
</div>
2024-09-03 17:51:42 +08:00
<Select
allowClear
value={payStatus}
2025-03-13 10:06:40 +08:00
style={{ height: '31px', width: '130px', marginLeft: 5, display: showSearchBox ? 'block' : 'none' }}
2024-09-03 17:51:42 +08:00
onChange={(value: string) => {
setpayStatus(value)
nav('/home', {
state: {
keyword: keywords,
type: type,
chargeAdditionals: chargeAdditionals,
tagDataId: tagDataId,
authorId: authorId,
2024-11-04 11:55:51 +08:00
payStatus: value,
2024-12-31 18:31:06 +08:00
projRemindId: projRemindId,
// tagNot
2024-09-03 17:51:42 +08:00
}
})
}}
options={[
{ value: 'UNPAID', label: '未付款' },
{ value: 'PAID', label: '已付款' },
{ value: 'ARREARS', label: '欠费' },
{ value: 'FULL_REFUND', label: '全额退费' },
{ value: 'CORRECTION1_REFUND', label: '补正1次退款' },
{ value: 'CORRECTION2_REFUND', label: '补正2次退款' },
]}
placeholder={'选择付款类型'}
/>
2025-03-13 15:43:27 +08:00
{/* <Select
2025-03-13 10:06:40 +08:00
allowClear
value={authorId}
style={{ height: '31px', width: '150px', marginLeft: 5, display: showSearchBox ? 'block' : 'none' }}
onChange={(value: string) => {
setauthorId(value)
nav('/home', {
state: {
keyword: keywords,
type: type,
chargeAdditionals: chargeAdditionals,
tagDataId: tagDataId,
authorId: value,
payStatus: payStatus,
projRemindId: projRemindId,
// tagNot
}
})
}}
options={belongArrayList}
placeholder={'选择所属者'}
2025-03-13 15:43:27 +08:00
/> */}
<div style={{
position: 'relative',
}}>
<Input placeholder='选择所属者'
value={authorName}
style={{
height: '31px', width: '110px', marginLeft: 5, display: showSearchBox ? 'block' : 'none',
paddingRight: 20,
// 超出部分用...显示
overflow: 'hidden',
textOverflow: 'ellipsis',
whiteSpace: 'nowrap',
2025-03-13 16:54:29 +08:00
}}
></Input>
2025-03-13 15:43:27 +08:00
<div
title={authorName}
style={{
position: 'absolute',
height: '31px', width: '110px',
// background: 'skyblue',
top: 0,
left: 5,
cursor: 'pointer',
display: 'flex',
alignItems: 'center',
justifyContent: 'flex-end',
paddingRight: 10,
boxSizing: 'border-box',
}}
onClick={() => {
// setauthorName('哈哈哈哈哈哈哈哈哈哈嘎嘎嘎嘎嘎嘎')
setOwnerPage(1)
getProjOwnerList(1, '')
setSelectBelongPeople(true)
2025-03-13 15:59:49 +08:00
setselectedRowKeys([])
setNowauthorId('')
setNowauthorName('')
2025-03-13 15:43:27 +08:00
// nav('/home', {
// state: {
// keyword: keywords,
// type: type,
// chargeAdditionals: chargeAdditionals,
// tagDataId: tagDataId,
// authorId: '1',
// payStatus: payStatus,
// projRemindId: projRemindId,
// // tagNot
// }
// })
}}
>
</div>
<CloseCircleOutlined
className='clearIcon'
style={{
top: 8,
right: 5,
position: 'absolute',
color: '#FFF',
// background: '#868686',
borderRadius: '50%',
fontSize: 14,
display: authorName ? 'unset' : 'none',
marginTop: 1,
}}
title=''
onClick={() => {
setauthorName('')
setauthorId('')
setNowauthorId('')
setNowauthorName('')
setselectedRowKeys([]);
nav('/home', {
state: {
keyword: keywords,
type: type,
chargeAdditionals: chargeAdditionals,
tagDataId: tagDataId,
authorId: '',
payStatus: payStatus,
projRemindId: projRemindId,
// tagNot
}
})
}}
/>
</div>
2024-09-03 17:51:42 +08:00
<Button onClick={() => {
init()
2025-03-13 10:06:40 +08:00
}} style={{ marginLeft: 5, display: showSearchBox ? 'block' : 'none', height: 31 }}
2024-09-03 17:51:42 +08:00
// type="primary"
icon={<ClearOutlined />}>
</Button>
</div>
</div>
<div style={{ display: refunSearchBox ? 'block' : 'none' }}>
2024-09-10 11:52:02 +08:00
<div
className='mediaSearch'
style={{
display: 'flex',
alignItems: 'center'
}}>
<div className='mediaLine'>
<div className='line' style={{
}} ></div>
</div>
2024-09-03 17:51:42 +08:00
<Button type="primary" onClick={() => {
setRefunModal(true)
2024-09-04 15:52:35 +08:00
refunInit()
2024-09-11 16:50:20 +08:00
// dispath({
// type: 'newRefun',
// val: true
// })
2024-09-04 15:52:35 +08:00
}}
2025-05-07 14:25:17 +08:00
style={{ background: 'var(--color-searchbtn)' }}
2024-09-04 15:52:35 +08:00
>
2024-09-03 17:51:42 +08:00
退
</Button>
<Search placeholder="输入项目名称"
value={newRefunValue}
onSearch={refunhandleSearch}
onChange={refunhandleChange}
style={{
width: '200px',
height: '31px',
2025-03-13 10:06:40 +08:00
marginLeft: 5
2024-09-03 17:51:42 +08:00
}}
allowClear
/>
<Select
value={applyStatus}
2025-03-13 10:06:40 +08:00
style={{ height: '31px', width: '150px', marginLeft: 5 }}
2024-09-03 17:51:42 +08:00
onChange={(value: string) => {
setapplyStatus(value)
nav('/refun', {
state: {
keywords: refunKeywords,
applyStatus: value,
2025-01-03 17:33:18 +08:00
authorId: authorId,
2025-03-02 12:25:55 +08:00
2024-09-03 17:51:42 +08:00
}
})
}}
options={[
// { value: '', label: '全部项目' },
{ value: 'PENDING', label: '待审核' },
{ value: 'APPROVED', label: '已通过' },
{ value: 'REJECTED', label: '未通过' },
{ value: 'CANCELED', label: '已取消' },
]}
// defaultValue=""
placeholder={'选择状态'}
allowClear
/>
2025-03-13 15:43:27 +08:00
{/* <Select
2025-03-13 10:06:40 +08:00
allowClear
value={authorId}
style={{ height: '31px', width: '150px', marginLeft: 5}}
onChange={(value: string) => {
setauthorId(value)
nav('/refun', {
state: {
keywords: refunKeywords,
applyStatus: applyStatus,
authorId: value,
}
})
}}
options={belongArrayList}
placeholder={'选择所属者'}
2025-03-13 15:43:27 +08:00
/> */}
<div style={{
position: 'relative',
}}>
<Input placeholder='选择所属者'
value={authorName}
style={{
height: '31px', width: '110px', marginLeft: 5,
paddingRight: 20,
// 超出部分用...显示
overflow: 'hidden',
textOverflow: 'ellipsis',
whiteSpace: 'nowrap',
}}></Input>
<div
title={authorName}
style={{
position: 'absolute',
height: '31px', width: '110px',
// background: 'skyblue',
top: 0,
left: 5,
cursor: 'pointer',
display: 'flex',
alignItems: 'center',
justifyContent: 'flex-end',
paddingRight: 10,
boxSizing: 'border-box',
}}
onClick={() => {
// setauthorName('哈哈哈哈哈哈哈哈哈哈嘎嘎嘎嘎嘎嘎')
setOwnerPage(1)
getProjOwnerList(1, '')
setSelectBelongPeople(true)
2025-03-13 15:59:49 +08:00
setselectedRowKeys([])
setNowauthorId('')
setNowauthorName('')
2025-03-13 15:43:27 +08:00
// nav('/home', {
// state: {
// keyword: keywords,
// type: type,
// chargeAdditionals: chargeAdditionals,
// tagDataId: tagDataId,
// authorId: '1',
// payStatus: payStatus,
// projRemindId: projRemindId,
// // tagNot
// }
// })
}}
>
</div>
<CloseCircleOutlined
className='clearIcon'
style={{
top: 8,
right: 5,
position: 'absolute',
color: '#FFF',
// background: '#868686',
borderRadius: '50%',
fontSize: 14,
display: authorName ? 'unset' : 'none',
marginTop: 1,
}}
title=''
onClick={() => {
setauthorName('')
setauthorId('')
setNowauthorId('')
setNowauthorName('')
setselectedRowKeys([]);
nav('/refun', {
state: {
keywords: refunKeywords,
applyStatus: applyStatus,
authorId: '',
}
})
}}
/>
</div>
2024-09-03 17:51:42 +08:00
<Button onClick={() => {
refunInit()
2025-03-13 10:06:40 +08:00
}} style={{ marginLeft: 5, height: 31 }}
2024-09-03 17:51:42 +08:00
// type="primary"
icon={<ClearOutlined />}>
</Button>
</div>
</div>
<div style={{ display: correctionSearchBox ? 'block' : 'none' }}>
2024-09-10 11:52:02 +08:00
<div className='mediaSearch' style={{
2024-09-03 17:51:42 +08:00
display: 'flex',
alignItems: 'center'
}}>
2024-09-10 11:52:02 +08:00
<div className='mediaLine'>
<div className='line' style={{
}} ></div>
</div>
2024-09-03 17:51:42 +08:00
<Button type="primary" onClick={() => {
setCorrectionModal(true)
2024-09-04 15:52:35 +08:00
correctionInit()
2024-09-11 16:50:20 +08:00
// dispath({
// type: 'newCorrection',
// val: true
// })
2024-09-04 15:52:35 +08:00
}}
2025-05-07 14:25:17 +08:00
style={{ background: 'var(--color-searchbtn)' }}
2024-09-04 15:52:35 +08:00
>
2024-09-03 17:51:42 +08:00
</Button>
<Search placeholder="输入项目名称"
2024-09-04 15:52:35 +08:00
value={newCorrectionValue}
onSearch={correctionhandleSearch}
onChange={correctionhandleChange}
2024-09-03 17:51:42 +08:00
style={{
2025-01-03 15:56:36 +08:00
width: '160px',
2024-09-03 17:51:42 +08:00
height: '31px',
2025-03-13 10:06:40 +08:00
marginLeft: 5
2024-09-03 17:51:42 +08:00
}}
allowClear
/>
<Select
2024-09-04 15:52:35 +08:00
value={correctionNumType}
2025-03-13 10:06:40 +08:00
style={{ height: '31px', width: '110px', marginLeft: 5 }}
2024-09-03 17:51:42 +08:00
onChange={(value: string) => {
2024-09-04 15:52:35 +08:00
setcorrectionNumType(value)
nav('/correction', {
state: {
keywords: correctionKeywords,
correctionNumType: value,
correctionType: correctionType,
applyStatus: correctionApplyStatus,
2025-01-03 15:56:36 +08:00
authorId: authorId,
2025-01-03 17:33:18 +08:00
tagCor: tagCor,
2025-03-02 12:25:55 +08:00
2024-09-04 15:52:35 +08:00
}
})
2024-09-03 17:51:42 +08:00
}}
options={[
// { value: '', label: '全部项目' },
{ value: 'CORRECTION1', label: '一次补正' },
{ value: 'CORRECTION2', label: '二次补正' },
]}
// defaultValue=""
placeholder={'选择类型'}
allowClear
/>
<Select
2025-03-13 10:06:40 +08:00
style={{ height: '31px', width: '130px', marginLeft: 5 }}
2024-09-04 15:52:35 +08:00
value={correctionType}
2024-09-03 17:51:42 +08:00
onChange={(value: string) => {
2024-09-04 15:52:35 +08:00
setcorrectionType(value)
nav('/correction', {
state: {
keywords: correctionKeywords,
correctionNumType: correctionNumType,
correctionType: value,
applyStatus: correctionApplyStatus,
2025-01-03 15:56:36 +08:00
authorId: authorId,
2025-01-03 17:33:18 +08:00
tagCor: tagCor,
2025-03-02 12:25:55 +08:00
2024-09-04 15:52:35 +08:00
}
})
2024-09-03 17:51:42 +08:00
}}
allowClear
options={[
// { value: '', label: '全部项目' },
{ value: 'CODE', label: '代码' },
{ value: 'MANUAL', label: '操作手册' },
{ value: 'ALL', label: '全部补正' },
]}
// defaultValue=""
placeholder={'选择补正种类'}
/>
<Select
2024-09-04 15:52:35 +08:00
value={correctionApplyStatus}
2025-03-13 10:06:40 +08:00
style={{ height: '31px', width: '120px', marginLeft: 5 }}
2024-09-03 17:51:42 +08:00
onChange={(value: string) => {
2024-09-04 15:52:35 +08:00
setcorrectionApplyStatus(value)
nav('/correction', {
2024-09-03 17:51:42 +08:00
state: {
2024-09-04 15:52:35 +08:00
keywords: correctionKeywords,
correctionNumType: correctionNumType,
correctionType: correctionType,
2024-09-03 17:51:42 +08:00
applyStatus: value,
2025-01-03 15:56:36 +08:00
authorId: authorId,
2025-01-03 17:33:18 +08:00
tagCor: tagCor,
2025-03-02 12:25:55 +08:00
2024-09-03 17:51:42 +08:00
}
})
}}
options={[
// { value: '', label: '全部项目' },
{ value: 'PENDING', label: '待审核' },
{ value: 'APPROVED', label: '已通过' },
{ value: 'REJECTED', label: '未通过' },
{ value: 'CANCELED', label: '已取消' },
]}
// defaultValue=""
placeholder={'选择状态'}
allowClear
2025-01-03 15:56:36 +08:00
/>
2025-01-03 17:33:18 +08:00
<Select
2025-01-03 16:03:35 +08:00
value={tagCor}
2025-03-13 10:06:40 +08:00
style={{ height: '31px', width: '120px', marginLeft: 5 }}
2025-01-03 15:56:36 +08:00
onChange={(value: string) => {
setTagCor(value)
nav('/correction', {
state: {
keywords: correctionKeywords,
correctionNumType: correctionNumType,
correctionType: correctionType,
applyStatus: applyStatus,
authorId: authorId,
2025-01-03 17:33:18 +08:00
tagCor: value,
2025-03-02 12:25:55 +08:00
2025-01-03 15:56:36 +08:00
}
})
}}
options={
tagCorArray
}
// defaultValue=""
placeholder={'选择标签'}
allowClear
2024-09-03 17:51:42 +08:00
/>
2025-03-13 15:43:27 +08:00
{/* <Select
2025-03-13 10:06:40 +08:00
allowClear
value={authorId}
style={{ height: '31px', width: '150px', marginLeft: 5}}
onChange={(value: string) => {
setauthorId(value)
nav('/correction', {
state: {
keywords: correctionKeywords,
correctionNumType: correctionNumType,
correctionType: correctionType,
applyStatus: applyStatus,
authorId: value,
tagCor: tagCor,
// tagNot
}
})
}}
options={belongArrayList}
placeholder={'选择所属者'}
2025-03-13 15:43:27 +08:00
/> */}
<div style={{
position: 'relative',
}}>
<Input placeholder='选择所属者'
value={authorName}
style={{
height: '31px', width: '110px', marginLeft: 5,
paddingRight: 20,
// 超出部分用...显示
overflow: 'hidden',
textOverflow: 'ellipsis',
whiteSpace: 'nowrap',
}}></Input>
<div
title={authorName}
style={{
position: 'absolute',
height: '31px', width: '110px',
// background: 'skyblue',
top: 0,
left: 5,
cursor: 'pointer',
display: 'flex',
alignItems: 'center',
justifyContent: 'flex-end',
paddingRight: 10,
boxSizing: 'border-box',
}}
onClick={() => {
// setauthorName('哈哈哈哈哈哈哈哈哈哈嘎嘎嘎嘎嘎嘎')
setOwnerPage(1)
getProjOwnerList(1, '')
setSelectBelongPeople(true)
2025-03-13 15:59:49 +08:00
setselectedRowKeys([])
setNowauthorId('')
setNowauthorName('')
2025-03-13 15:43:27 +08:00
// nav('/home', {
// state: {
// keyword: keywords,
// type: type,
// chargeAdditionals: chargeAdditionals,
// tagDataId: tagDataId,
// authorId: '1',
// payStatus: payStatus,
// projRemindId: projRemindId,
// // tagNot
// }
// })
}}
>
</div>
<CloseCircleOutlined
className='clearIcon'
style={{
top: 8,
right: 5,
position: 'absolute',
color: '#FFF',
// background: '#868686',
borderRadius: '50%',
fontSize: 14,
display: authorName ? 'unset' : 'none',
marginTop: 1,
}}
title=''
onClick={() => {
setauthorName('')
setauthorId('')
setNowauthorId('')
setNowauthorName('')
setselectedRowKeys([]);
nav('/correction', {
state: {
keywords: correctionKeywords,
correctionNumType: correctionNumType,
correctionType: correctionType,
applyStatus: applyStatus,
authorId: '',
tagCor: tagCor,
}
})
}}
/>
</div>
2024-09-03 17:51:42 +08:00
<Button onClick={() => {
2024-09-04 15:52:35 +08:00
correctionInit()
2025-03-13 10:06:40 +08:00
}} style={{ marginLeft: 5, height: 31 }}
2024-09-03 17:51:42 +08:00
// type="primary"
icon={<ClearOutlined />}>
</Button>
</div>
</div>
2024-11-29 17:52:17 +08:00
<div style={{ display: contractSearchBox ? 'block' : 'none' }}>
<div className='mediaSearch' style={{
display: 'flex',
alignItems: 'center'
}}>
<div className='mediaLine'>
<div className='line' style={{
}} ></div>
</div>
<Button type="primary" onClick={() => {
setContractModal(true)
}}
2025-05-07 14:25:17 +08:00
style={{ background: 'var(--color-searchbtn)' }}
2024-11-29 17:52:17 +08:00
>
</Button>
2024-09-03 17:51:42 +08:00
2024-11-29 17:52:17 +08:00
</div>
</div>
2025-04-11 16:20:46 +08:00
<div style={{ display: sellSearchBox ? 'block' : 'none', }}>
<div className='mediaSearch' style={{
display: 'flex',
alignItems: 'center',
}}>
<div className='mediaLine'>
<div className='line' style={{
}} ></div>
</div>
<Button type="primary"
2025-05-07 14:25:17 +08:00
style={{ background: 'var(--color-searchbtn)' }}
2025-04-11 16:20:46 +08:00
onClick={() => {
setSellModal(true)
}}
></Button>
<Search placeholder="输入项目名称"
value={sellNewKeywords}
onSearch={sellKeyWordshandleSearch}
onChange={sellKeyWordshandleChange}
className='searchInputmedia'
style={{
// maxWidth: '200px',
width: '160px',
height: '31px',
marginLeft: 5
}}
allowClear
/>
<Select
// defaultValue="lucy"
allowClear
placeholder='请选择所属者类型'
style={{ width: 170, height: 31, marginLeft: 5 }}
onChange={sellBelongTypeChange}
options={[
{ value: '1', label: '自然人' },
{ value: '2', label: '法人' },
{ value: '3', label: '非法人组织或其他' },
]}
value={sellBelongType}
/>
<DatePicker placeholder="软著获取时间"
2025-05-16 17:48:03 +08:00
style={{
width: 140, height: 31, marginLeft: 5,
display: 'none'
}}
2025-04-11 16:20:46 +08:00
locale={locale}
onChange={sellDateonChange}
value={sellDate}
allowClear
picker="year" // 设置只选择年份
2025-05-16 17:48:03 +08:00
2025-04-11 16:20:46 +08:00
/>
<Select
allowClear
// defaultValue="lucy"
placeholder='选择开发语言'
2025-05-16 17:48:03 +08:00
style={{
width: 150, height: 31, marginLeft: 5,
display: 'none'
}}
2025-04-11 16:20:46 +08:00
onChange={selectLanguage}
// options={languageList}
options={[]}
value={language}
/>
<Select
allowClear
// defaultValue="lucy"
placeholder='选择软著类型'
mode="multiple"
style={{
width: 130, height: 31, marginLeft: 5,
2025-05-16 17:48:03 +08:00
display: 'none'
2025-04-11 16:20:46 +08:00
}}
onChange={selectType}
// options={softTypeList}
options={[]}
value={sellBoxtype}
/>
<Button
style={{
marginLeft: 5, height: 31
}}
icon={<ClearOutlined />}
onClick={() => {
sellInit()
}}
>
</Button>
</div>
</div>
<div style={{ display: sellOrderSearchBox ? 'block' : 'none', }}>
<div className='mediaSearch' style={{
display: 'flex',
alignItems: 'center',
}}>
<div className='mediaLine'>
<div className='line' style={{
}} ></div>
</div>
<Search placeholder="输入项目名称"
value={sellOrderNewKeywords}
onSearch={sellOrderKeyWordshandleSearch}
onChange={sellOrderKeyWordshandleChange}
className='searchInputmedia'
style={{
// maxWidth: '200px',
width: '170px',
height: '31px',
}}
allowClear
/>
<DatePicker placeholder="开始时间"
2025-04-18 18:50:21 +08:00
style={{
width: '130px',
height: '31px', marginLeft: 5
}}
2025-04-11 16:20:46 +08:00
format={dateFormat}
locale={locale}
onChange={sellStratTimeChange}
value={sellStatrtTime}
allowClear
/>
<DatePicker placeholder="结束时间"
2025-04-18 18:50:21 +08:00
style={{
width: '130px',
height: '31px', marginLeft: 5
}}
2025-04-11 16:20:46 +08:00
format={dateFormat}
locale={locale}
onChange={sellEndTimeChange}
value={sellEndTime}
allowClear
/>
<Select
// defaultValue="lucy"
placeholder='选择订单状态'
style={{ width: 130, height: 31, marginLeft: 5 }}
onChange={sellOrderStatusChange}
options={[
{ value: '0', label: '订单已取消' },
{ value: '1', label: '买家待付款' },
{ value: '2', label: '待填写资料' },
{ value: '3', label: '过户进行中' },
{ value: '4', label: '过户已完成' },
{ value: '5', label: '买家已评价' },
{ value: '6', label: '发票已开具' },
]}
value={sellOrderStatus}
allowClear
/>
2025-05-12 16:21:46 +08:00
2025-04-11 16:20:46 +08:00
<Button
style={{
marginLeft: 5, height: 31
}}
icon={<ClearOutlined />}
onClick={() => {
sellOrderInit()
}}
>
</Button>
</div>
</div>
<div style={{ display: copyrightSearchBox ? 'block' : 'none', }}>
<div className='mediaSearch' style={{
display: 'flex',
alignItems: 'center',
}}>
<div className='mediaLine'>
<div className='line' style={{
}} ></div>
</div>
<Search placeholder="输入项目名称"
value={copyrightNewKeywords}
onSearch={copyrightKeyWordshandleSearch}
onChange={copyrightKeyWordshandleChange}
className='searchInputmedia'
style={{
// maxWidth: '200px',
width: '170px',
height: '31px',
}}
allowClear
/>
<InputNumber placeholder="最低价格" min={0}
style={{
width: 100,
height: 31,
marginLeft: 5,
}}
value={minPrice}
onChange={minPriceChange}
/>
<div style={{
marginLeft: 5,
}}>
</div>
<InputNumber placeholder="最高价格" min={0} style={{
width: 100,
// height: 36,
height: 31,
marginLeft: 5,
}}
value={maxPrice}
onChange={maxPriceChange}
/>
<DatePicker placeholder="软著获取时间"
allowClear
style={{
width: 130, height: 31,
marginLeft: 5,
2025-05-16 17:48:03 +08:00
display: 'none'
2025-04-11 16:20:46 +08:00
}}
// format={dateFormat}
locale={locale}
onChange={copyrightDateChange}
value={copyrightDate}
picker="year" // 设置只选择年份
/>
<Select
// defaultValue="lucy"
placeholder='价格排序'
style={{
width: 100, height: 31,
marginLeft: 5,
}}
onChange={sortChange}
options={[
{ value: 'DESC', label: '从高到低' },
{ value: 'ASC', label: '从低到高' },
]}
value={sort}
allowClear
/>
<Select
allowClear
// defaultValue="lucy"
placeholder='选择开发语言'
style={{
width: 130, height: 31,
marginLeft: 5,
2025-05-16 17:48:03 +08:00
display: 'none'
2025-04-11 16:20:46 +08:00
}}
onChange={copyrightLanguageChange}
// options={languageList}
options={[]}
value={copyrightLanguage}
/>
<Select
allowClear
// defaultValue="lucy"
placeholder='选择软著类型'
mode="multiple"
style={{
width: 130, height: 31,
marginLeft: 5,
2025-05-16 17:48:03 +08:00
display: 'none'
2025-04-11 16:20:46 +08:00
}}
onChange={copyrightTypeChange}
// options={softTypeList}
options={[]}
value={copyrightType}
/>
<Button
style={{
marginLeft: 5, height: 31
}}
icon={<ClearOutlined />}
onClick={() => {
copyrightInit()
}}
>
</Button>
</div>
</div>
<div style={{ display: tradingSearchBox ? 'block' : 'none', }}>
<div className='mediaSearch' style={{
display: 'flex',
alignItems: 'center',
}}>
<div className='mediaLine'>
<div className='line' style={{
}} ></div>
</div>
<Search placeholder="输入项目名称"
value={tradingNewKeywords}
onSearch={tradingKeyWordshandleSearch}
onChange={tradingKeyWordshandleChange}
className='searchInputmedia'
style={{
// maxWidth: '200px',
width: '170px',
height: '31px',
}}
allowClear
/>
<DatePicker placeholder="开始时间"
style={{
width: '130px',
height: '31px', marginLeft: 5,
}}
format={dateFormat}
locale={locale}
onChange={tradingStartTimeChange}
value={tradingStartTime}
allowClear
/>
<DatePicker placeholder="结束时间"
style={{
width: '130px',
height: '31px', marginLeft: 5,
}}
format={dateFormat}
locale={locale}
onChange={tradingEndTimeChange}
value={tradingEndTime}
allowClear
/>
<Select
placeholder='选择订单状态'
style={{
width: '130px',
height: '31px', marginLeft: 5,
}}
onChange={tradingOrderStatusChange}
options={[
{ value: '0', label: '订单已取消' },
{ value: '1', label: '买家待付款' },
{ value: '2', label: '待填写资料' },
{ value: '3', label: '过户进行中' },
{ value: '4', label: '过户已完成' },
{ value: '5', label: '买家已评价' },
{ value: '6', label: '发票已开具' },
]}
value={tradingStatus}
allowClear
/>
<Button
style={{
marginLeft: 5, height: 31
}}
icon={<ClearOutlined />}
onClick={() => {
tradingInit()
}}
>
</Button>
</div>
</div>
2025-05-16 17:48:03 +08:00
<div style={{ display: appSearchBox ? 'block' : 'none', }}>
<div className='mediaSearch' style={{
display: 'flex',
alignItems: 'center',
}}>
<div className='mediaLine'>
<div className='line' style={{
}} ></div>
</div>
<Button type="primary"
style={{ background: 'var(--color-searchbtn)' }}
onClick={() => {
setAppModal(true)
}}
></Button>
</div>
</div>
<div style={{ display: trademarkBox ? 'block' : 'none', }}>
<div className='mediaSearch' style={{
display: 'flex',
alignItems: 'center',
}}>
<div className='mediaLine'>
<div className='line' style={{
}} ></div>
</div>
<Button type="primary"
style={{ background: 'var(--color-searchbtn)' }}
onClick={() => {
setTrademarkModal(true)
}}
></Button>
</div>
</div>
2024-05-07 17:00:32 +08:00
<div className='nowPosition'>
<img src={backImg} alt="" />
2024-09-02 16:41:02 +08:00
<div style={{ display: now == '首页-项目' || now == '首页-退款' || now == '首页-补正' ? 'block' : 'none' }}>
2024-07-31 17:07:19 +08:00
{/* <Breadcrumb
2024-05-07 17:00:32 +08:00
separator="|"
// items={[
// { title: <Link to={'/home'}>首页</Link> },
// ]}
items={pathArray}
2024-07-31 17:07:19 +08:00
/> */}
<span></span>
</div>
<div style={{ display: now == '创建项目' ? 'block' : 'none' }}>
{/* <Breadcrumb
separator="|"
// items={[
// { title: <Link to={'/home'}>首页</Link> },
// ]}
items={pathArray}
/> */}
<span style={{ cursor: 'pointer' }}
onClick={() => {
nav('/home', {
state: {
keyword: keywords,
2024-08-01 13:25:33 +08:00
type: type,
2024-07-31 17:07:19 +08:00
chargeAdditionals: chargeAdditionals,
2024-07-31 18:41:25 +08:00
tagDataId: tagDataId,
2024-08-29 17:56:39 +08:00
authorId: authorId,
2024-12-31 18:31:06 +08:00
payStatus: payStatus,
// tagNot
2024-08-29 17:56:39 +08:00
2024-07-31 17:07:19 +08:00
}
})
}}
></span>
<span style={{ marginLeft: 10, marginRight: 10 }}>|</span>
<span></span>
</div>
2024-09-02 16:41:02 +08:00
<div style={{ display: now.includes('项目-') ? 'block' : 'none' }}>
2024-07-31 17:07:19 +08:00
{/* <Breadcrumb
separator="|"
// items={[
// { title: <Link to={'/home'}>首页</Link> },
// ]}
items={pathArray}
/> */}
<span style={{ cursor: 'pointer' }}
onClick={() => {
nav('/home', {
state: {
keyword: keywords,
2024-08-01 13:25:33 +08:00
type: type,
2024-07-31 17:07:19 +08:00
chargeAdditionals: chargeAdditionals,
2024-07-31 18:41:25 +08:00
tagDataId: tagDataId,
2024-08-29 17:56:39 +08:00
authorId: authorId,
2024-12-31 18:31:06 +08:00
payStatus: payStatus,
// tagNot
2024-08-29 17:56:39 +08:00
2024-07-31 17:07:19 +08:00
}
})
}}
></span>
<span style={{ marginLeft: 10, marginRight: 10 }}>|</span>
2024-09-02 16:41:02 +08:00
<span>{projStatus}</span>
2024-05-07 17:00:32 +08:00
</div>
2024-08-30 09:38:55 +08:00
<div style={{ display: now == '新建项目' ? 'block' : 'none' }}>
{/* <Breadcrumb
separator="|"
// items={[
// { title: <Link to={'/home'}>首页</Link> },
// ]}
items={pathArray}
/> */}
<span style={{ cursor: 'pointer' }}
onClick={() => {
nav('/home', {
state: {
keyword: keywords,
type: type,
chargeAdditionals: chargeAdditionals,
tagDataId: tagDataId,
authorId: authorId,
2024-12-31 18:31:06 +08:00
payStatus: payStatus,
// tagNot
2024-08-30 09:38:55 +08:00
}
})
}}
></span>
<span style={{ marginLeft: 10, marginRight: 10 }}>|</span>
<span></span>
</div>
2024-11-29 17:52:17 +08:00
<div style={{ display: now == '首页-合同下载' ? 'block' : 'none' }}>
<span></span>
</div>
2024-05-07 17:00:32 +08:00
</div>
</div>
</div>
{/* {
2024-03-27 18:56:48 +08:00
listData.type === IndexListDataType.PROJ ? <ListProj/> : (
listData.type == IndexListDataType.AGENT ? <ListProjAgent/> : <></>
)
2024-05-07 17:00:32 +08:00
} */}
2024-05-12 07:45:51 +08:00
<div>
<Outlet></Outlet>
</div>
2024-03-27 18:56:48 +08:00
</div>
</div>
</IndexListDispatchContext.Provider>
</IndexListContext.Provider>
2024-08-22 16:33:01 +08:00
<Modal
title="申请退款"
destroyOnClose={true}
open={refunModal}
footer={null}
onCancel={() => {
setRefunModal(false)
}}
okButtonProps={{ style: { background: 'red', color: 'white' } }}
width={592}
2024-09-11 14:20:23 +08:00
maskClosable={false} // 禁止通过点击蒙层关闭
2024-11-29 17:52:17 +08:00
centered
2024-08-22 16:33:01 +08:00
>
<RefunModal closeModal={() => { setRefunModal(false) }}></RefunModal>
</Modal>
2024-08-26 18:03:35 +08:00
<Modal
title="申请补正"
destroyOnClose={true}
open={correctionModal}
footer={null}
2024-09-11 14:20:23 +08:00
maskClosable={false} // 禁止通过点击蒙层关闭
2024-08-26 18:03:35 +08:00
onCancel={() => {
setCorrectionModal(false)
}}
okButtonProps={{ style: { background: 'red', color: 'white' } }}
width={592}
2024-11-29 17:52:17 +08:00
centered
2024-08-26 18:03:35 +08:00
>
2024-09-11 16:45:19 +08:00
<CorrectionModal closeModal={() => { setCorrectionModal(false) }}
></CorrectionModal>
2024-08-26 18:03:35 +08:00
</Modal>
2024-11-29 17:52:17 +08:00
<Modal
title="新增合同"
destroyOnClose={true}
open={contractModal}
footer={null}
maskClosable={false} // 禁止通过点击蒙层关闭
onCancel={() => {
setContractModal(false)
}}
okButtonProps={{ style: { background: 'red', color: 'white' } }}
width={592}
centered
>
<ContractModal closeModal={() => { setContractModal(false) }}></ContractModal>
</Modal>
2024-09-02 16:41:02 +08:00
<Modal title="优惠券"
footer={null}
destroyOnClose
open={couponModal}
width={809}
onCancel={() => {
// setCouponModal(false)
// setUnRead(0)
dispath({
type: 'changeCouponModal',
val: false
})
}}>
<HeadCouponModal closeModal={() => {
// setCouponModal(false)
dispath({
type: 'changeCouponModal',
val: false
})
nav('/proj-create')
setMenuActive('ALL')
}}></HeadCouponModal>
</Modal>
2024-09-11 14:04:53 +08:00
<Modal title="可领取优惠券"
2024-09-02 16:41:02 +08:00
footer={null}
2025-04-18 18:50:21 +08:00
centered
2024-09-02 16:41:02 +08:00
destroyOnClose
2025-04-18 18:50:21 +08:00
open={getCouponModal && !phoneModal}
2024-09-02 16:41:02 +08:00
width={809}
onCancel={() => {
// setCouponModal(false)
// setUnRead(0)
2024-09-11 14:04:53 +08:00
setGetCouponModal(false)
2025-04-14 16:23:06 +08:00
}}
zIndex={99}
2025-04-18 18:50:21 +08:00
>
2024-09-11 14:04:53 +08:00
<div className='headModal-bot'>
{couponArray.map((item: any) => {
return (
<div className='couponList' key={item.couponId} >
<div className='content'>
<div className='content-noUse-left'>
<div className='content-left-num'>
<div
style={{ marginTop: -10 }}
>
<span style={{ fontSize: 30 }}></span>
<span style={{ fontSize: 60, fontWeight: 700 }}>{item.amount / 100}</span>
</div>
</div>
</div>
<div className='content-right'>
<div style={{ display: 'flex', marginTop: 20, justifyContent: 'space-between' }}>
<div className='content-text'>
使
</div>
<div className='content-rule' onClick={() => {
// window.open('https://www.aimzhu.com/CouponRule.html')
getCouponUrl()
}}>
使
</div>
</div>
<div className='content-bot'>
<div className='content-time'>
:{item.useGmtStart} {item.useGmtEnd}
</div>
2024-09-11 14:20:23 +08:00
<div className='content-button' style={{
2024-09-11 16:45:19 +08:00
background: '#1677FF'
2024-09-11 14:20:23 +08:00
}} onClick={() => {
2024-09-11 14:04:53 +08:00
// props.closeModal()
receiveCoupons(item.couponId)
}}>
</div>
</div>
</div>
</div>
</div>
)
})}
</div>
</Modal>
2025-03-13 15:43:27 +08:00
<Modal
title="选择所属者"
destroyOnClose={true}
open={selectBelongPeople}
footer={null}
onCancel={() => {
2025-03-13 15:59:49 +08:00
// setSelectBelongPeople(false)
setselectedRowKeys([])
setNowauthorId('')
setNowauthorName('')
2025-03-13 15:43:27 +08:00
setSelectBelongPeople(false)
}}
width={1000}
maskClosable={false} // 禁止通过点击蒙层关闭
centered
>
<Spin tip="加载中..." size="small" spinning={loading}>
<div>
<Search
allowClear
placeholder='请输入关键字' value={ownerKeyWords}
onSearch={(value) => {
setOwnerKeyWords(value)
getProjOwnerList(1, value)
}}
style={{
width: '200px',
height: '31px',
marginBottom: 10
}}
onChange={
(e) => {
setOwnerKeyWords(e.target.value)
if (e.target.value == '') {
setOwnerKeyWords('')
setOwnerPage(1)
getProjOwnerList(1, '')
}
}
}
></Search>
</div>
<Table
rowSelection={{
selectedRowKeys: selectedRowKeys,
type: 'radio',
// ...rowSelection,
onChange: (_selectedRowKeys: React.Key[], selectedRows: DataType[]) => {
// console.log('selectedRows: ', selectedRows);
setselectedRowKeys([selectedRows[0].projOwnerId])
// setnewProjId(selectedRows[0].projId)
// setnewprojName(selectedRows[0].projName)
setNowauthorId(selectedRows[0].projOwnerId)
setNowauthorName(selectedRows[0].name)
},
}}
columns={columns}
dataSource={ownerList}
rowKey={'projOwnerId'}
pagination={
{
pageSize: 10,
total: ownerTotal,
onChange: (currentPage) => {
setOwnerPage(currentPage);
getProjOwnerList(currentPage, ownerKeyWords)
},
showSizeChanger: false,
current: ownerPage
}
}
locale={{
emptyText:
<Empty
description="暂无数据"
/>,
}}
// scroll={{ y: 500 }}
onRow={(record: DataType) => {
return {
onClick: (event: React.MouseEvent<HTMLTableRowElement>) => {
// 阻止默认的行点击事件,以避免选中行时触发其他操作
event.stopPropagation();
// 更新选中的行
setselectedRowKeys([record.projOwnerId]);
// setnewProjId(record.projId);
// setnewprojName(record.projName);
setNowauthorId(record.projOwnerId)
setNowauthorName(record.name)
},
style: { cursor: 'pointer' },
};
}}
/>
<div style={{
display: 'flex',
justifyContent: 'flex-end'
}}>
<div>
<Button
onClick={() => {
2025-03-13 15:59:49 +08:00
setselectedRowKeys([])
setNowauthorId('')
setNowauthorName('')
2025-03-13 15:43:27 +08:00
setSelectBelongPeople(false)
2025-03-13 15:59:49 +08:00
2025-03-13 15:43:27 +08:00
}}
></Button>
<Button style={{ marginLeft: 10 }} type="primary"
onClick={() => {
if (nowauthorId) {
setauthorId(nowauthorId)
setauthorName(nowauthorName)
setSelectBelongPeople(false)
// setselectedRowKeys([]);
} else {
messageApi.error('请选择所属者')
}
}}
></Button>
</div>
</div>
</Spin>
</Modal>
2025-04-11 16:20:46 +08:00
{/* 编辑弹窗 */}
<Modal title={'发布商品'}
destroyOnClose={true}
open={sellModal}
footer={null} // 将 footer 设置为 null 来隐藏自带按钮
width={1152}
onCancel={() => {
setSellModal(false);
}}
// height={height - '20px'}
centered
>
{/* <div style={{ height: `${height - 20}px`, borderTop: '1px solid #e8e8e8' }}> */}
2025-04-18 18:50:21 +08:00
<EditModal nav={
() => {
nav('/product-release', {
state: {
sellKeywords: '',
sellBelongType: '',
sellDate: '',
language: '',
sellBoxtype: '',
}
})
}
} closeModal={() => { setSellModal(false) }} ></EditModal>
2025-04-11 16:20:46 +08:00
{/* </div> */}
</Modal>
2025-05-16 17:48:03 +08:00
<Modal
title="申请电子软著"
destroyOnClose={true}
open={appModal}
footer={null}
onCancel={() => {
setAppModal(false)
setAppGoodsId('')
}}
okButtonProps={{ style: { background: 'red', color: 'white' } }}
width={830}
// maskClosable={false} // 禁止通过点击蒙层关闭
centered
>
<div style={{
paddingBottom: 30,
paddingTop: 30
}}>
<div style={{
display: 'flex',
justifyContent: 'space-between',
alignItems: 'center',
}}>
{appGoodsArray.map((item: any) => {
return (
<div className='appGoodsBox'
key={item.id}
style={{
background: item.back == 'black' ? '#F9F9F9 ' : '#DDECFF',
border: item.id == appGoodsId ? '1px solid #f19e31' : '',
boxShadow: item.id == appGoodsId ? '5px 5px 10px rgb(114, 114, 114)' : '',
marginTop: item.id == appGoodsId ? -20 : 0,
}}
onClick={() => {
setAppGoodsId(item.id)
}}
>
<div className='appGoodsTop'>
<div className='appgoodsTitle'
style={{
color: item.back == 'black' ? '#E2B682' : '#FFFFFF',
backgroundImage: item.back == 'black' ? `url(${topblack})` : `url(${topblue})`,
}}
>
{item.title}
</div>
</div>
<div className='appGoodsBot'>
<div className='appgoodsPrice' style={{
color: item.back == 'black' ? '#835114' : '#233E9E',
}}>
<span></span>
<span style={{
fontSize: 42,
}}>{item.price}</span>
<span>/</span>
</div>
</div>
</div>
)
})}
</div>
<div className='appGoodsBtnBox'>
<div className='appGoodsBtn' onClick={() => {
if (appGoodsId) {
// alert('开发中')
// 创建按订单 如果成功 询问是否继续编辑
setAppGoodsId('')
setAppModal(false)
setToEditsModal(true)
} else {
messageApi.error('请选择商品')
}
}}></div>
</div>
</div>
</Modal>
<Modal
title="提示"
destroyOnClose={true}
open={toEditsModal}
// footer={null}
onCancel={() => {
setToEditsModal(false)
}}
// okButtonProps={{ style: { background: 'red', color: 'white' } }}
onOk={() => {
setToEditsModal(false)
nav('/app-edit/dajsdkjakdl')
}}
// 设置确定和取消得文字
okText="编辑"
cancelText="取消"
width={600}
// maskClosable={false} // 禁止通过点击蒙层关闭
centered
>
<div>,</div>
</Modal>
<Modal
title="申请商标"
destroyOnClose={true}
open={trademarkModal}
footer={null}
onCancel={() => {
setTrademarkModal(false)
}}
okButtonProps={{ style: { background: 'red', color: 'white' } }}
width={1500}
// maskClosable={false} // 禁止通过点击蒙层关闭
centered
>
<div></div>
</Modal>
2024-09-11 14:04:53 +08:00
<div className='couponMask-box'
2025-04-18 18:50:21 +08:00
style={{
display: coupon && (location.pathname == '/' || location.pathname.includes('/home')) && couponArray.length == 1 && !phoneModal ? 'unset' : 'none',
zIndex: 99
2025-04-14 17:38:30 +08:00
}}
2024-09-11 14:04:53 +08:00
>
<div className='couponMask' >
2024-09-02 16:41:02 +08:00
<div className='couponMask-img'>
2025-03-02 12:25:55 +08:00
{/* <img src={downloadUrl(cpuponImg, false)} alt="" width={'100%'} height={'100%'} onClick={() => {
}}
className='testImg'
/> */}
<img src={cpuponImg} alt="" width={'100%'} height={'100%'} onClick={() => {
2024-09-06 17:26:09 +08:00
}}
2025-03-02 12:25:55 +08:00
2024-09-06 17:26:09 +08:00
className='testImg'
/>
<div className='couponMask-btn' onClick={() => {
receiveCoupon()
}}>
</div>
2024-09-02 16:41:02 +08:00
</div>
<div className='couponMask-close' onClick={() => {
setCoupon(false)
}}>
<CloseOutlined />
</div>
</div>
</div>
2024-09-11 14:04:53 +08:00
2024-03-27 18:56:48 +08:00
</>
)
}