提交 26337165 作者: 翁进城

项目资讯补充

上级 08c2d1a8
......@@ -65,7 +65,7 @@ export default function Bids(props: Props) {
<div className={styles.item} key={item.id}>
<div className={styles.info}>
<div className={styles.title}>
项目需求:{item.tenderContent}
{item.tenderContent}
</div>
</div>
{item.apply ? (
......
......@@ -29,6 +29,12 @@ export interface Item {
updateTime?: string;
}
export interface SolveRequireParams {
requirementsInfoId: number, //需求id
userAccountId: number //用户id
}
export default {
/**
* 需求发布列表
......@@ -37,5 +43,13 @@ export default {
*/
listPublishPage(params: ListPublishPageParams, options = {}): Promise<Response<ListPublishPageResp>> {
return request('/release/requirements/listPublishPage', 'post', params, options);
},
/**
* 需求已解决
* @param params
* @returns
*/
solveRequire(params: SolveRequireParams): Promise<Response<null>>{
return request('/release/requirements/solveRequire', 'get', params);
}
}
\ No newline at end of file
import { Button, Empty, Pagination, Spin } from "antd";
import { Button, Empty, Pagination, Popconfirm, Spin } from "antd";
import router from "next/router";
import React, { useState, useEffect } from "react";
import api, { Item } from "./api";
......@@ -22,12 +22,18 @@ export default function Requirements(props: Props) {
});
const [count, setCount] = useState(0);
const [abort, setAbort] = useState<AbortController | null>(null);
const [userId, setUserId] = useState(-1);
const [reload, setReload] = useState(false);
useEffect(() => {
setUserId(Number(window.localStorage.getItem("userId") || -1));
}, []);
useEffect(() => {
//中断前一次请求
abort?.abort();
setAbort(new AbortController());
}, [pageParams, props.params]);
}, [pageParams, props.params, reload]);
useEffect(() => {
if (!abort) {
......@@ -58,6 +64,24 @@ export default function Requirements(props: Props) {
});
};
/**
* 确认解决
* @param e
*/
const confirmSolved = (
item: Item
) => {
api.solveRequire({
requirementsInfoId: item.id,
userAccountId: userId
}).then(res => {
if(res.code === '200'){
window.messageApi.success('提交完成');
setReload(!reload);
}
})
};
return (
<Spin spinning={loading} delay={500}>
<div className={styles.requirements} style={{ height: 635 }}>
......@@ -76,12 +100,24 @@ export default function Requirements(props: Props) {
具体需求:{item.requireDescription}
</div>
</div>
{item.userAccountId === userId && (
<Popconfirm
title="提示"
description="确认该需求已经解决了吗?"
onConfirm={() => confirmSolved(item)}
okText="是"
cancelText="否"
disabled={!!item.solved}
>
<Button
type="primary"
style={{ width: 120, height: 40, flexShrink: 0 }}
disabled={!!item.solved}
>
申请合作
已解决
</Button>
</Popconfirm>
)}
</div>
);
})}
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论