diff --git a/src/forge/Component/SiderBar.js b/src/forge/Component/SiderBar.js index f4d9979f..a9826d05 100644 --- a/src/forge/Component/SiderBar.js +++ b/src/forge/Component/SiderBar.js @@ -74,23 +74,14 @@ function SiderBar() { } - //意见反馈 - function feedback(){ - console.log('login',login); - if(login){//登录状态 - window.location.href= `/jasder/forgeplus/issues/new`; - }else{ - //未登录状态跳转到登录页面 - window.location.href = `/login`; - } - } - return (
{/* 平台反馈 */} - +
- + + +
diff --git a/src/forge/Main/CoderDepot.jsx b/src/forge/Main/CoderDepot.jsx index 8327e232..192b3e79 100644 --- a/src/forge/Main/CoderDepot.jsx +++ b/src/forge/Main/CoderDepot.jsx @@ -23,6 +23,7 @@ import Nodata from '../Nodata'; import Invite from './sub/Invite'; import CheckProfile from '../Component/ProfileModal/Profile'; import RenderHtml from '../../components/render-html'; +import LoginDialog from '../../modules/login/LoginDialog' /** * projectDetail.type:0是托管项目,1是镜像项目,2是同步镜像项目(为2时不支持在线创建、在线上传、在线修改、在线删除、创建合并请求等功能) */ @@ -69,6 +70,7 @@ function CoderDepot(props){ const [ pullsFlag , setPullsFlag ] = useState(true); const [ issuesFlag , setIssuesFlag ] = useState(true); const [ releaseVersions , setReleaseVersions] = useState(undefined); + const [ isRender , setIsRender] = useState(false);//是否显示登录弹框 const owner = props.match.params.owner; const projectsId = props.match.params.projectsId; @@ -337,6 +339,20 @@ function CoderDepot(props){ } }) } + + //修改登录方法 + function Modifyloginvalue(){ + setIsRender(false); + } + + function createIssue(){ + if(baseOper){ + window.open(`/${owner}/${projectsId}/issues/new`,'_blank') + }else{ + setIsRender(true); + } + } + let n = fileInfo && fileInfo.name; const mdFlag = n && n.substring(n.length-3,n.length) === ".md"; @@ -347,6 +363,12 @@ function CoderDepot(props){ return( + {isRender && } setOpenModal(false)} onOk={okUpdate}/> { @@ -422,16 +444,16 @@ function CoderDepot(props){ { - (baseOperate || baseOper) &&
{ baseOperate && urlLink(`/${owner}/${projectsId}/compare/master...${branchName || defaultBranch}`)} >+ 合并请求 } - { + + 易修 + {/* { baseOper && urlLink(`/${owner}/${projectsId}/issues/new`)} >+ 易修 - } + } */}
} { fileOperate && diff --git a/src/forge/Order/New.js b/src/forge/Order/New.js index f9562a7d..691b3ad5 100644 --- a/src/forge/Order/New.js +++ b/src/forge/Order/New.js @@ -2,9 +2,23 @@ import React, { Component } from "react"; import OrderForm from './order_form' class New extends Component { + + constructor(props){ + super(props); + this.state = { + type : undefined, + } + } + + componentDidMount = () => { + const searchParams = new URLSearchParams(this.props.location.search.substring(1)); + this.setState({ + type : searchParams.get("type"), + }) + } render() { return ( - + ) } } diff --git a/src/forge/Order/order.js b/src/forge/Order/order.js index 7275c759..18961412 100644 --- a/src/forge/Order/order.js +++ b/src/forge/Order/order.js @@ -7,6 +7,7 @@ import moment from 'moment'; import NoneData from "../Nodata"; import OrderItem from "./OrderItem"; import CheckProfile from '../Component/ProfileModal/Profile'; +import LoginDialog from '../../modules/login/LoginDialog'; import axios from "axios"; @@ -72,6 +73,7 @@ class order extends Component { page: 1, limit: 15, }, + isRender:false,//是否显示登录弹框 }; } @@ -346,18 +348,29 @@ class order extends Component { islogin=()=>{ this.props.showLoginDialog(); } - renderNew =()=>{ + + createIssue = () => { const { data } = this.state; + const { projectsId , owner } = this.props.match.params; if(data && data.user_admin_or_member){ - const { projectsId , owner } = this.props.match.params; - return( - {window.open(`/${owner}/${projectsId}/issues/new`,'_blank')}}> - + 创建易修 - - ) + window.open(`/${owner}/${projectsId}/issues/new`,'_blank') + }else{ + console.log('aaa'); + this.setState({ + isRender:true, + }) } } + renderNew =()=>{ + return( + // {createIssue()}}> + // + 创建易修 + // + + 创建易修 + ) + } + // 修改开始时间 changeBeginTime = (data, value) => { const { status_type } = this.state; @@ -507,8 +520,16 @@ class order extends Component { ); + //修改登录方法 + Modifyloginvalue = () => { + this.setState({ + isRender: false, + }) + } + render() { const { current_user } = this.props; + const { projectsId , owner } = this.props.match.params; const { issue_chosen, issues, @@ -525,6 +546,12 @@ class order extends Component { return (
+ {this.state.isRender && this.Modifyloginvalue()} + goPage={`/${owner}/${projectsId}/issues/new`} + />}
  • diff --git a/src/forge/Order/order_form.js b/src/forge/Order/order_form.js index 3399a7fe..9aaac8c3 100644 --- a/src/forge/Order/order_form.js +++ b/src/forge/Order/order_form.js @@ -99,7 +99,22 @@ class order_form extends Component { isSpin:false }); - if(this.props.form_type !== "new"){ + if(this.props.form_type === "feedback"){ + let data ={ + //指派给段甲生,类型:缺陷,优先度:正常,issue状态:新增 + tracker_id: "1", + assigned_to_id: "36480", + priority_id: "2", + status_id: "1", + description:"####问题描述\n\n\n####重现问题步骤\n\n\n####截图\n\n\n####建议解决办法\n", + } + this.setState({ ...data }); + this.props.form.setFieldsValue({ + ...this.state, + fixed_version_id: milepostId || "" + }); + + }else if(this.props.form_type !== "new"){ this.get_detail(); }else{ this.props.form.setFieldsValue({ @@ -310,7 +325,7 @@ class order_form extends Component {

    - {form_type === "new" ? "新建" :( form_type === "copy" ? "复制" : "编辑")}易修 + {form_type === "edit" ? "编辑" :( form_type === "copy" ? "复制" : "新建")}易修

    {getFieldDecorator("subject", { @@ -363,14 +378,14 @@ class order_form extends Component { onClick={this.handleSubmit} > - {form_type === "new" ? "创建" : "提交"} + {form_type === "new" || form_type === "feedback" ? "创建" : "提交"} diff --git a/src/modules/login/LoginDialog.js b/src/modules/login/LoginDialog.js index fd8c4673..6380ad16 100644 --- a/src/modules/login/LoginDialog.js +++ b/src/modules/login/LoginDialog.js @@ -102,7 +102,8 @@ class LoginDialog extends Component { Phonenumberisnotco: undefined, Phonenumberisnotcobool: false, weixinlogin: false, - qqlogin: false + qqlogin: false, + settings:undefined, }; } enter = (num) => { @@ -324,7 +325,9 @@ class LoginDialog extends Component { //true为PC端,false为手机端 let flag = this.IsPC(); this.setState({ - isphone: flag + isphone: flag, + //查询第三方登录信息 + settings: JSON.parse(localStorage.getItem("chromesetting")), }) if (this.props.isRender != undefined) { @@ -393,7 +396,8 @@ class LoginDialog extends Component { isRender: false }) this.props.Modifyloginvalue(response.data); - window.location.reload(); + this.props.goPage ? window.location.href = this.props.goPage : window.location.reload() + // window.location.reload(); } }).catch((error) => { console.log(error) @@ -454,8 +458,7 @@ class LoginDialog extends Component { } render() { - let { login, isGoing, isGoingValue, disabled , Phonenumberisnotco , dialogBox, isRender, weixinlogin } = this.state; - let { settings } = this.props; + let { login, isGoing, isGoingValue, disabled , Phonenumberisnotco , dialogBox, isRender, weixinlogin, settings } = this.state; if (isRender === undefined) { isRender = false diff --git a/src/modules/loginRegister/Login.jsx b/src/modules/loginRegister/Login.jsx index b5e930ba..08a3f736 100644 --- a/src/modules/loginRegister/Login.jsx +++ b/src/modules/loginRegister/Login.jsx @@ -9,18 +9,15 @@ import './LoginRegisterPage.scss'; function Login(props){ const [message,setMessage] = useState(); const [setting, setSetting] = useState(undefined); - const {form} = props; + const {form, location} = props; const {getFieldDecorator } = form; + const {search} = location; useEffect(()=>{ //控制密码输入框在DOM不可见value clear; - //请求settings.json接口获取第三方登录平台信息 - axios.get(`/setting.json`).then((response) => { - if (response && response.data) { - setSetting(response.data.setting); - } - }) + //获取第三方登录平台信息 + setSetting(JSON.parse(localStorage.getItem("chromesetting"))); },[]) // 登录表单提交 @@ -37,6 +34,12 @@ function Login(props){ } else { //判断用户是否选择【下次自动登录】 cookie.save('autologin',values.remember); + if(search){ + const searchParams = new URLSearchParams(search.substring(1)); + const goPage = searchParams.get("go_page"); + goPage && (window.location.href = goPage+'?type=feedback'); + return; + } window.location.href = "/"+response.data.login; } }).catch((error) => {