Merge pull request '修改需求发布弹框及回归部分issue' (#451) from tongChong/forgeplus-react:dev_military_admin into pre_dev_military

This commit is contained in:
tongChong 2022-09-30 09:55:23 +08:00
commit d0f520033e
9 changed files with 183 additions and 44 deletions

View File

@ -30,11 +30,11 @@ function Collaborator(props){
{ {
author && author.type === "Organization" ? author && author.type === "Organization" ?
<span> <span>
<span style={{cursor:"pointer"}} className={nav === "1" ? "font-18 text-black color-blue":"font-18 text-black"} onClick={()=>{setNav("1");setNewId(undefined)}}>协作者管理</span> <span style={{cursor:"pointer"}} className={nav === "1" ? "font-18 text-black color-blue":"font-18 text-black"} onClick={()=>{setNav("1");setNewId(undefined)}}>成员管理</span>
<span style={{cursor:"pointer"}} className={nav === "2" ? "font-18 text-black ml30 color-blue":"font-18 text-black ml30"} onClick={()=>{setNav("2");setNewId(undefined);setNewGroupId(undefined)}}>团队管理</span> <span style={{cursor:"pointer"}} className={nav === "2" ? "font-18 text-black ml30 color-blue":"font-18 text-black ml30"} onClick={()=>{setNav("2");setNewId(undefined);setNewGroupId(undefined)}}>团队管理</span>
</span> </span>
: :
<span className="font-18 text-black">协作者管理</span> <span className="font-18 text-black">成员管理</span>
} }
{ {
nav === "1" && nav === "1" &&

View File

@ -74,7 +74,7 @@ class Index extends Component {
<p> <p>
<Link to={`/${owner}/${projectsId}/settings/collaborators`} className="w-100"> <Link to={`/${owner}/${projectsId}/settings/collaborators`} className="w-100">
<i className="iconfont icon-chengyuan font-18 mr10"></i> <i className="iconfont icon-chengyuan font-18 mr10"></i>
协作者管理 成员管理
</Link> </Link>
</p> </p>
</li> </li>

View File

@ -183,7 +183,7 @@ function NeedApply(props){
{helper(<span>悬赏金额来源<span style={{color: 'rgba(112, 123, 139, 1)'}}>:只有部分已获授权的特殊用户才能使用红山开源经费</span></span>,"fundingSource",[{required:true,message:"请输入悬赏金额"}],undefined, {helper(<span>悬赏金额来源<span style={{color: 'rgba(112, 123, 139, 1)'}}>:只有部分已获授权的特殊用户才能使用红山开源经费</span></span>,"fundingSource",[{required:true,message:"请输入悬赏金额"}],undefined,
<Select> <Select>
<Select.Option key={1} value={1}>自行携带经费</Select.Option> <Select.Option key={1} value={1}>自行携带经费</Select.Option>
<Select.Option key={2} value={2}>红山开源经费</Select.Option> <Select.Option key={2} value={2}>红山开源平台提供经费</Select.Option>
</Select> </Select>
)} )}
{helper("上传任务书","assignmentBook1",[{ validator: (rule,val,callback) =>{ {helper("上传任务书","assignmentBook1",[{ validator: (rule,val,callback) =>{

View File

@ -5,6 +5,10 @@ import {projectsGatheringList, tasksGatheringList, competitionGatheringList, ach
import PaginationTable from 'src/components/pagination-table'; import PaginationTable from 'src/components/pagination-table';
import './index.scss'; import './index.scss';
const fundingObj={
'1':'自行携带经费',
'2':'红山开源平台提供经费'
};
// //
function List(props){ function List(props){
const [loading, setLoading] = useState(false); const [loading, setLoading] = useState(false);
@ -148,7 +152,7 @@ function List(props){
dataIndex: 'fundingSource', dataIndex: 'fundingSource',
width: '10%', width: '10%',
ellipsis: true, ellipsis: true,
render: (text, record) => {return <Tooltip title = {text} placement="topLeft" overlayStyle={{maxWidth: '400px'}}><span>{text}</span></Tooltip>} render: (text, record) => {return <Tooltip title = {fundingObj[text]} placement="topLeft" overlayStyle={{maxWidth: '400px'}}><span>{fundingObj[text]}</span></Tooltip>}
}, },
{ {
title: '联系人', title: '联系人',

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 141 KiB

View File

@ -12,13 +12,16 @@
.ant-form-item { .ant-form-item {
margin: 0 1rem 0 0; margin: 0 1rem 0 0;
} }
.ant-form-item-control-wrapper { .ant-form-item-control-wrapper {
display: inline-block; display: inline-block;
} }
.status-item{
.status-item {
margin-right: 2rem; margin-right: 2rem;
} }
} }
.center-left-but { .center-left-but {
.circle-button { .circle-button {
border-radius: 1rem; border-radius: 1rem;
@ -26,25 +29,29 @@
} }
} }
.flex-column{ .flex-column {
flex-direction: column; flex-direction: column;
.status-list{
padding-bottom: 0; .status-list {
} padding-bottom: 0;
}
} }
.ant-select { .ant-select {
min-width: 200px; min-width: 200px;
} }
.ant-table-thead th { .ant-table-thead th {
text-align: center; text-align: center;
// &:first-child { // &:first-child {
// text-align: left; // text-align: left;
// } // }
} }
td { td {
text-align: center; text-align: center;
color: #333; color: #333;
&:first-child { &:first-child {
// text-align: left; // text-align: left;
font-size: 1rem; font-size: 1rem;
@ -65,21 +72,27 @@
span.list-yellow { span.list-yellow {
background: #fa6400; background: #fa6400;
} }
span.list-red { span.list-red {
background: #fe0e36; background: #fe0e36;
} }
span.list-orange { span.list-orange {
background: #ffb121; background: #ffb121;
} }
span.list-done { span.list-done {
background: #35d77e; background: #35d77e;
} }
span.list-pay { span.list-pay {
background: #1ad757; background: #1ad757;
} }
span.list-error { span.list-error {
background: #f56c6c; background: #f56c6c;
} }
span.list-gray { span.list-gray {
background: #bababa; background: #bababa;
} }
@ -89,11 +102,25 @@ span.list-gray {
text-align: right; text-align: right;
margin: 2rem auto !important; margin: 2rem auto !important;
text-align: center; text-align: center;
.ant-pagination-item:focus, .ant-pagination-item:hover, .ant-pagination-item-active, .ant-pagination-prev:hover a, .ant-pagination-next:hover a, .ant-pagination-options-quick-jumper input:focus, .ant-pagination-options-quick-jumper input:hover{
.ant-pagination-item:focus,
.ant-pagination-item:hover,
.ant-pagination-item-active,
.ant-pagination-prev:hover a,
.ant-pagination-next:hover a,
.ant-pagination-options-quick-jumper input:focus,
.ant-pagination-options-quick-jumper input:hover {
border-color: #4154f1; border-color: #4154f1;
} }
.ant-pagination-disabled{
& a, & :hover a, & :focus a, & .ant-pagination-item-link, &:hover .ant-pagination-item-link , &:focus .ant-pagination-item-link { .ant-pagination-disabled {
& a,
& :hover a,
& :focus a,
& .ant-pagination-item-link,
&:hover .ant-pagination-item-link,
&:focus .ant-pagination-item-link {
color: rgba(0, 0, 0, 0.25) !important; color: rgba(0, 0, 0, 0.25) !important;
border-color: #d9d9d9; border-color: #d9d9d9;
} }
@ -109,36 +136,121 @@ span.list-gray {
.upload-form { .upload-form {
display: flex; display: flex;
.ant-form-item-control-wrapper { .ant-form-item-control-wrapper {
max-width: 80%; max-width: 80%;
} }
} }
.demand_submission,.demand_submission:focus,.failByPression .ant-modal-body .ant-btn-primary{ .demand_submission,
.demand_submission:focus,
.failByPression .ant-modal-body .ant-btn-primary {
background-color: #4154f1; background-color: #4154f1;
border: none; border: none;
&:hover{
&:hover {
background-color: #4154f1; background-color: #4154f1;
opacity: 0.8; opacity: 0.8;
} }
} }
.center-right-but, .center-left-but{
.center-right-but,
.center-left-but {
display: flex; display: flex;
align-items: center; align-items: center;
} }
.center-right-but .ant-input:hover, .center-content .ant-pagination-prev:hover{
.center-right-but .ant-input:hover,
.center-content .ant-pagination-prev:hover {
border-color: #4154f1 !important; border-color: #4154f1 !important;
} }
.failByPression .ant-modal-body .anticon, .center-right-but .ant-input-search-icon:hover, .center-content .ant-pagination-item-active a{
.failByPression .ant-modal-body .anticon,
.center-right-but .ant-input-search-icon:hover,
.center-content .ant-pagination-item-active a {
color: #4154f1; color: #4154f1;
} }
.go_profiles .ant-modal-body{
.go_profiles .ant-modal-body {
text-align: center; text-align: center;
.anticon{
.anticon {
color: #4154f1; color: #4154f1;
margin-left: 30px; margin-left: 30px;
} }
.ant-modal-confirm-btns{
.ant-modal-confirm-btns {
float: none; float: none;
} }
}
.go_profiles {
width: 800px !important;
height: 492px;
background-image: url('./image/polifyBg.png');
background-size: 100% 100%;
.ant-modal-content {
background: none;
}
.ant-modal-body {
padding: 30px 20px 20px;
}
.ant-modal-close{
right: 22px;
top: 16px !important;
}
.ant-modal-close-x {
font-size: 24px;
color: #4154f1;
.iconfont{
font-size: 16px !important;
}
}
.profiles-tit {
color: #181818;
font-size: 18px;
line-height: 33px;
text-align: left;
padding-left: 20px;
span {
color: rgba(251, 143, 48, 1);
}
}
.profiles-content {
padding-left: 20px;
text-align: left;
color: #181818;
font-size: 14px;
line-height: 25px;
a {
color: #4154f1;
}
}
.polify {
width: 100%;
}
.ant-modal-footer{
text-align: right;
padding-right: 47px;
border-top:1px solid #ebedfe;
padding-top: 22px;
.ant-btn:first-child{
display: none;
}
.ant-btn-primary{
width: 102px;
height: 36px;
border-radius: 5px;
}
}
} }

View File

@ -7,7 +7,9 @@ import SortBox from '../../components/sortBox';
import ItemListTask from '../components/itemListTask'; import ItemListTask from '../components/itemListTask';
import { taskTimeArr, taskStatusArr, sortArr, taskModeIdArr } from '../static'; import { taskTimeArr, taskStatusArr, sortArr, taskModeIdArr } from '../static';
import { getTaskList, getTaskCategory, getCompanyInfo } from '../api'; import { getTaskList, getTaskCategory, getCompanyInfo } from '../api';
import polify from '../image/polify.png';
import '../index.scss'; import '../index.scss';
import { Link } from 'react-router-dom';
const Search = Input.Search; const Search = Input.Search;
@ -28,6 +30,7 @@ export default ({ history, current_user, showLoginDialog, location, mygetHelmeta
const [curPage, setCurPage] = useState(1); const [curPage, setCurPage] = useState(1);
const [total, setTotal] = useState(0); const [total, setTotal] = useState(0);
const [taskList, setTaskList] = useState([]); const [taskList, setTaskList] = useState([]);
const [visible,setVisible]=useState(false);
// //
useEffect(() => { useEffect(() => {
@ -147,27 +150,29 @@ export default ({ history, current_user, showLoginDialog, location, mygetHelmeta
if (res) { if (res) {
if (res.message === 'success') { if (res.message === 'success') {
history.push("/task/taskAdd"); history.push("/task/taskAdd");
} else if (res.message === '未进行实体认证') { } else { //if (res.message === '')
Modal.info({ setVisible(true)
title: '因为以下原因,您暂时不能进行本操作', // Modal.info({
content: <div className="mt10"> // title: '',
<p>完成条件后重新点击查看您的最新参与资格</p> // content: <div className="mt10">
<div className="inline mt10"> // <p></p>
<span className="mr30"> <i className="iconfont icon-mingpian"></i> <span className="color-red">未进行实名未认证</span> </span> // <div className="inline mt10">
</div> // <span className="mr30"> <i className="iconfont icon-mingpian"></i> <span className="color-red"></span> </span>
</div>, // </div>
onOk: () => { // </div>,
window.location.href = mygetHelmetapi && mygetHelmetapi.main_web_site_url + `/users/${current_user.login}/profiles`; // onOk: () => {
}, // window.location.href = mygetHelmetapi && mygetHelmetapi.main_web_site_url + `/users/${current_user.login}/profiles`;
okText: '立即完善', // },
className: 'go_profiles' // okText: '',
}); // className: 'go_profiles'
} else { // });
Modal.info({ }
content: '您没有权限需求提报', // else {
className:'failByPression' // Modal.info({
}); // content: '',
} // className:'failByPression'
// });
// }
} }
}); });
} }
@ -229,7 +234,7 @@ export default ({ history, current_user, showLoginDialog, location, mygetHelmeta
onSearch={(value) => { setSearchInput(value); setCurPage(1); }} onSearch={(value) => { setSearchInput(value); setCurPage(1); }}
/> />
<Button className="mr20 font-12 demand_submission" type="primary" onClick={goAdd}><i className="iconfont icon-zaibianji font-12 mr3"></i>需求提报</Button> <Button className="mr20 font-12 demand_submission" type="primary" onClick={goAdd}><i className="iconfont icon-zaibianji font-12 mr3"></i>需求发布</Button>
</div> </div>
</div> </div>
@ -246,6 +251,22 @@ export default ({ history, current_user, showLoginDialog, location, mygetHelmeta
</div> </div>
<Modal
className='go_profiles'
visible={visible}
closable={true}
onOk={()=>{setVisible(false)}}
onCancel={()=>{setVisible(false)}}
okText='好的'
cancelButtonProps={null}
closeIcon={<i className='iconfont icon-shanchuicon'></i>}
>
<div className='profiles-tit'>您暂无发布权限<span >平台指定企业</span>允许需求发布</div>
<img className='polify' src={polify} />
<div className='profiles-content'>
若想发布需求请在账号管理处<a href={`${mygetHelmetapi && mygetHelmetapi.main_web_site_url}/users/${current_user.login}/profiles`}>完善企业认证信息</a><Link to={'/needs/new'}>点击此处</Link>提交需求申请信息后续管理员将与您联系
</div>
</Modal>
</div> </div>
) )
} }

View File

@ -333,6 +333,8 @@ function Register(props) {
<p>6用户不得故意或者过失损害红山开源平台合法权利和利益包括但不限于恶意获取删除或修改平台的原始数据和其他数据及其他任何有损本平台一切相关知识产权的行为</p> <p>6用户不得故意或者过失损害红山开源平台合法权利和利益包括但不限于恶意获取删除或修改平台的原始数据和其他数据及其他任何有损本平台一切相关知识产权的行为</p>
<p>7用户需承诺代码仓库创建内容不违反任何国家法律法规不侵犯任何单位及个人的版权和权益</p>
<h3>关于责任</h3> <h3>关于责任</h3>
鉴于网络服务的特殊性用户同意红山开源团队有权在事先通知的情况下变更中断升级部分网络服务红山开源团队不担保网络服务不会中断但承诺在用户可承受的时间内快速恢复服务同时确保用户数据的安全性和可靠性 鉴于网络服务的特殊性用户同意红山开源团队有权在事先通知的情况下变更中断升级部分网络服务红山开源团队不担保网络服务不会中断但承诺在用户可承受的时间内快速恢复服务同时确保用户数据的安全性和可靠性