Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 一旦加载下拉列表值(当我单击下拉列表时),整个组件在React JS中折叠,弹出窗口就会关闭 import React,{useContext,useState,useffect}来自“React”; 从“@物料界面/核心/按钮”导入按钮; 从“@mate_Javascript_Reactjs_React Material - Fatal编程技术网

Javascript 一旦加载下拉列表值(当我单击下拉列表时),整个组件在React JS中折叠,弹出窗口就会关闭 import React,{useContext,useState,useffect}来自“React”; 从“@物料界面/核心/按钮”导入按钮; 从“@mate

Javascript 一旦加载下拉列表值(当我单击下拉列表时),整个组件在React JS中折叠,弹出窗口就会关闭 import React,{useContext,useState,useffect}来自“React”; 从“@物料界面/核心/按钮”导入按钮; 从“@mate,javascript,reactjs,react-material,Javascript,Reactjs,React Material,一旦加载下拉列表值(当我单击下拉列表时),整个组件在React JS中折叠,弹出窗口就会关闭 import React,{useContext,useState,useffect}来自“React”; 从“@物料界面/核心/按钮”导入按钮; 从“@material ui/core/Dialog”导入对话框; 从“@material ui/core/DialogActions”导入DialogActions; 从“@material ui/core/DialogContent”导入DialogCo

一旦加载下拉列表值(当我单击下拉列表时),整个组件在React JS中折叠,弹出窗口就会关闭
import React,{useContext,useState,useffect}来自“React”;
从“@物料界面/核心/按钮”导入按钮;
从“@material ui/core/Dialog”导入对话框;
从“@material ui/core/DialogActions”导入DialogActions;
从“@material ui/core/DialogContent”导入DialogContent;
从“@material ui/core/DialogContentText”导入DialogContentText;
从“@material ui/core/DialogTitle”导入DialogTitle;
从“@material ui/core/useMediaQuery”导入useMediaQuery;
从“@material ui/core/styles”导入{useTheme}”;
从“@material ui/core”导入{分隔符、网格、排版};
从“Context/LoginContext”导入LoginContext,{LoginConsumer};
从“/useForm”导入{Form,useForm};
从“组件/控件/控件”导入控件;
从“服务/请求数据”导入*作为请求服务;
从“../../assets/myimage/Cancel.png”导入取消;
从“../../assets/myimage/Reassign.svg”导入重新分配;
从“@material ui/icons”导入{FormatAlignRight}”;
从“assets/jss/material kit react”导入{successBoxShadow};
从“日期fns”导入{format};
导出默认功能弹出窗口(道具){
const things=useContext(LoginContext);
const theme=useTheme();
const fullScreen=useMediaQuery(theme.breakpoints.down(“lg”);
常数{
标题
第二个标题,
儿童
openPopup,
setopenPopup,
请求\u Id,
请求信息,
}=道具;
const[scroll,setScroll]=React.useState(“纸张”);
const[records,setRecords]=useState([]);
常量[showreassign,setShowreassign]=useState(false);
const[showcancel,setShowcancel]=使用状态(false);
const[loading,setLoading]=useState(false);
常量初始值={
id:“”,
理由:“,
};
const{fvalue,setFvalue,handleInputChange}=useForm(initialfvalue);
useffect(()=>{
const getallMsp=async()=>{
const Msplist=await requestService.retreiveMSPlist();
if(Msplist){
setRecords(Msplist);
}
如果(Requestinfo.length>0){
const uplist=Msplist.filter(函数(Msp){
返回(
Msp.id!==Requestinfo[0][“请求”].Msp\u id&&
Requestinfo[0][“请求”].msP\U Id
);
});
如果(向上){
setRecords(uplist);
}
}
};
getallMsp();
},[Requestinfo,showcancel,showreassign]);
常量handleClickOpen=(滚动类型)=>()=>{
setopenPopup(true);
setScroll(滚动式);
};
常量handleClose=()=>{
setopenPopup(假);
};
常数handlecancel=(e)=>{
e、 预防默认值();
//让myuserid=things.userinfo[0].user|id | null;
//让username=things.username;
var tzoffset=new Date().getTimezoneOffset()*60000;//偏移量(毫秒)
var localISOTime=新日期(Date.now()-tzoffset)
.toISOString()
.切片(0,-1);
console.log(localISOTime);
取回(“https://localhost:44381/api/request/JobOrderCancel", {
方法:“张贴”,
标题:{“内容类型”:“应用程序/json”},
正文:JSON.stringify({
Id:Request_Id,
地标:“,
地点:“,
创建日期:localISOTime.toString(),
响应日期:LocalSoTime.toString(),
创建人:JSON.parse(localStorage.getItem(“用户id”)| | null),
修改日期:LocalSoTime.toString(),
修改者:JSON.parse(localStorage.getItem(“用户id”)| | null),
损坏详细信息:“,
原因:价值。原因,
rtn_消息:0,
}),
})
.然后((res)=>res.json())
。然后((数据)=>{
控制台日志(数据);
data.rtn_msg==1?console.log(“成功”):console.log(“失败”);
})
.catch((err)=>console.log(err));
};
常量handleconfirm=(e)=>{
e、 预防默认值();
//让myuserid=things.userinfo[0].user|id | null;
//让username=things.username;
//仅适用于日期时间格式
取回(“https://localhost:44381/api/request/JobOrderConfirmation", {
方法:“张贴”,
标题:{“内容类型”:“应用程序/json”},
正文:JSON.stringify({
Id:Request_Id,
创建人:JSON.parse(localStorage.getItem(“用户id”)| | null),
修改者:JSON.parse(localStorage.getItem(“用户id”)| | null),
损坏详细信息:“,
rtn_消息:0,
}),
})
.然后((res)=>res.json())
.然后((数据)=>console.log(数据))
.catch((err)=>console.log(err));
};
常量handleassignmsp=(e)=>{
e、 预防默认值();
var tzoffset=new Date().getTimezoneOffset()*60000;//偏移量(毫秒)
var localISOTime=新日期(Date.now()-tzoffset)
.toISOString()
.切片(0,-1);
console.log(localISOTime);
console.log(fvalue.id);
取回(“https://localhost:44381/api/request/JobAssign", {
方法:“张贴”,
标题:{“内容类型”:“应用程序/json”},
正文:JSON.stringify({
Id:Request_Id,
地点:“,
地标:“,
创建日期:localISOTime.toString(),
分配日期:LocalSoTime.toString(),
创建人:JSON.parse(localStorage.getItem(“用户id”)| | null),
修改日期:LocalSoTime.toString(),
修改者:JSON.parse(localStorage.getItem(“用户id”)| | null),
损坏详细信息:“,
MSP_Id:fvalue.Id,
原因:“已分配”,
rtn_消息:0,
Is_车辆:请求信息[0][“请求”]。Is_车辆,
Is_Vehicle_Job:Requestinfo[0][“requests”]。Is_Vehicle_Job,
Is_拖车:Requestinfo[0][“requests”]。Is_拖车,
Is_Trailer_作业:Requestinfo[0][“requests”]。Is_Trailer_作业,
文件编号:“,
}),
})
.然后((res)=>res.json())
.然后((数据)=>console.log(数据))
.catch((err)=>console.log(err));
};
常量Handlereasignmsp=(e)=>{
e、 预防默认值();
console.log(fvalue.id);
取回(“https://localhost:44
import React, { useContext, useState, useEffect } from "react";
import Button from "@material-ui/core/Button";
import Dialog from "@material-ui/core/Dialog";
import DialogActions from "@material-ui/core/DialogActions";
import DialogContent from "@material-ui/core/DialogContent";
import DialogContentText from "@material-ui/core/DialogContentText";
import DialogTitle from "@material-ui/core/DialogTitle";
import useMediaQuery from "@material-ui/core/useMediaQuery";
import { useTheme } from "@material-ui/core/styles";
import { Divider, Grid, Typography } from "@material-ui/core";
import LoginContext, { LoginConsumer } from "Context/LoginContext";
import { Form, useForm } from "./useForm";
import Controls from "Components/Controls/Controls";
import * as requestService from "Services/RequestData";
import Cancel from "../../assets/myimage/Cancel.png";
import Reassign from "../../assets/myimage/Reassign.svg";
import { FormatAlignRight } from "@material-ui/icons";
import { successBoxShadow } from "assets/jss/material-kit-react";
import { format } from "date-fns";
export default function Popup(props) {
  const things = useContext(LoginContext);
  const theme = useTheme();
  const fullScreen = useMediaQuery(theme.breakpoints.down("lg"));

  const {
    title,
    secondHeader,
    children,
    openPopup,
    setopenPopup,
    Request_Id,
    Requestinfo,
  } = props;

  const [scroll, setScroll] = React.useState("paper");
  const [records, setRecords] = useState([]);
  const [showreassign, setShowreassign] = useState(false);
  const [showcancel, setShowcancel] = useState(false);
  const [loading, setLoading] = useState(false);

  const initialFvalues = {
    id: "",
    Reason: "",
  };
  const { fvalue, setFvalue, handleInputChange } = useForm(initialFvalues);

  useEffect(() => {
    const getallMsp = async () => {
      const Msplist = await requestService.retreiveMSPlist();
      if (Msplist) {
        setRecords(Msplist);
      }

      if (Requestinfo.length > 0) {
        const uplist = Msplist.filter(function (Msp) {
          return (
            Msp.id !== Requestinfo[0]["requests"].msP_Id &&
            Requestinfo[0]["requests"].msP_Id
          );
        });

        if (uplist) {
          setRecords(uplist);
        }
      }
    };
    getallMsp();
  }, [Requestinfo,showcancel, showreassign]);

  const handleClickOpen = (scrollType) => () => {
    setopenPopup(true);
    setScroll(scrollType);
  };

  const handleClose = () => {
    setopenPopup(false);
  };
  const handlecancel = (e) => {
    e.preventDefault();
    // let myuserid = things.userinfo[0].user_id || null;
    // let username = things.username;
    var tzoffset = new Date().getTimezoneOffset() * 60000; //offset in milliseconds
    var localISOTime = new Date(Date.now() - tzoffset)
      .toISOString()
      .slice(0, -1);
    console.log(localISOTime);

    fetch("https://localhost:44381/api/request/JobOrderCancel", {
      method: "POST",
      headers: { "Content-Type": "application/json" },
      body: JSON.stringify({
        Id: Request_Id,
        Landmark: "",
        Location: "",
        Date_Created: localISOTime.toString(),
        Date_Respond: localISOTime.toString(),
        Created_By: JSON.parse(localStorage.getItem("user_id") || null),
        Date_Modified: localISOTime.toString(),
        Modified_By: JSON.parse(localStorage.getItem("user_id") || null),
        Damage_Detail: "",
        Reason: fvalue.Reason,
        rtn_msg: 0,
      }),
    })
      .then((res) => res.json())
      .then((data) => {
        console.log(data);
        data.rtn_msg === 1 ? console.log("success") : console.log("fail");
      })
      .catch((err) => console.log(err));
  };

  const handleconfirm = (e) => {
    e.preventDefault();
    // let myuserid = things.userinfo[0].user_id || null;
    // let username = things.username;

    //only for Datetime format

    fetch("https://localhost:44381/api/request/JobOrderConfirmation", {
      method: "POST",
      headers: { "Content-Type": "application/json" },
      body: JSON.stringify({
        Id: Request_Id,
        Created_By: JSON.parse(localStorage.getItem("user_id") || null),
        Modified_By: JSON.parse(localStorage.getItem("user_id") || null),
        Damage_Detail: "",
        rtn_msg: 0,
      }),
    })
      .then((res) => res.json())
      .then((data) => console.log(data))
      .catch((err) => console.log(err));
  };

  const handleassignmsp = (e) => {
    e.preventDefault();
    var tzoffset = new Date().getTimezoneOffset() * 60000; //offset in milliseconds
    var localISOTime = new Date(Date.now() - tzoffset)
      .toISOString()
      .slice(0, -1);
    console.log(localISOTime);

    console.log(fvalue.id);
    fetch("https://localhost:44381/api/request/JobAssign", {
      method: "POST",
      headers: { "Content-Type": "application/json" },
      body: JSON.stringify({
        Id: Request_Id,
        Location: "",
        Landmark: "",
        Date_Created: localISOTime.toString(),
        Date_Assign: localISOTime.toString(),
        Created_By: JSON.parse(localStorage.getItem("user_id") || null),
        Date_Modified: localISOTime.toString(),
        Modified_By: JSON.parse(localStorage.getItem("user_id") || null),
        Damage_Detail: "",
        MSP_Id: fvalue.id,
        Reason: "Assigned",
        rtn_msg: 0,
        Is_Vehicle: Requestinfo[0]["requests"].is_Vehicle,
        Is_Vehicle_Job: Requestinfo[0]["requests"].is_Vehicle_Job,
        Is_Trailer: Requestinfo[0]["requests"].is_Trailer,
        Is_Trailer_Job: Requestinfo[0]["requests"].is_Trailer_Job,
        Document_No: "",
      }),
    })
      .then((res) => res.json())
      .then((data) => console.log(data))
      .catch((err) => console.log(err));
  };

  const handlereassignmsp = (e) => {
    e.preventDefault();

    console.log(fvalue.id);
    fetch("https://localhost:44381/api/request/Reassign", {
      method: "POST",
      headers: { "Content-Type": "application/json" },
      body: JSON.stringify({
        Id: Request_Id,
        Location: "",
        Landmark: "",
        Date_Created: new Date().toISOString(),
        Date_Assign: new Date().toISOString(),
        Created_By: JSON.parse(localStorage.getItem("user_id") || null),
        Date_Modified: new Date().toISOString(),
        Modified_By: JSON.parse(localStorage.getItem("user_id") || null),
        Damage_Detail: "",
        MSP_Id: fvalue.id,
        Reason: fvalue.Reason,
        rtn_msg: 0,
       
      }),
    })
      .then((res) => res.json())
      .then((data) => console.log(data))
      .catch((err) => console.log(err));
  };

  const handlereassigncontrols = () => {
    setShowreassign(true);
  };

  const handlecancelcontrols = () => {
    if (showcancel) {
      setShowcancel(false);
    } else {
      setShowcancel(true);
    }
  };

  return (
    <LoginConsumer>
      {() => (
        <div>
          <Dialog
            open={openPopup}
            onClose={handleClose}
            scroll={scroll}
            aria-labelledby="scroll-dialog-title"
            aria-describedby="scroll-dialog-description"
            maxWidth="lg"
            fullWidth="lg"
          >
            <DialogTitle id="scroll-dialog-title">
              <div style={{ display: "flex" }}>
                <Typography
                  variant="h6"
                  component="div"
                  style={{ flexGrow: 1, color: "blue" }}
                >
                  <Grid container>
                    <Grid item xs={12}>
                      {title === "PENDING JOB ACKNOWLEDGEMENT" ? null : (
                        <Button>
                          <img
                            src={Cancel}
                            alt="cancel image"
                            width="35"
                            height="30"
                            onClick={handlecancelcontrols}
                          />
                        </Button>
                      )}

                      {title === "PENDING MSP ARRIVAL" ||
                      title === "WORK IN PROGRESS" ? (
                        <Button>
                          <img
                            src={Reassign}
                            alt="cancel image"
                            width="35"
                            height="30"
                            onClick={handlereassigncontrols}
                          />
                        </Button>
                      ) : null}
                      {title}
                    </Grid>
                  </Grid>
                </Typography>
                <Button onClick={handleClose} color="secondary">
                  X
                </Button>
              </div>
              <Divider></Divider>
              <div>{secondHeader}</div>
            </DialogTitle>
            <DialogContent dividers={scroll === "paper"}>
              <DialogContentText
                id="scroll-dialog-description"
                //ref={descriptionElementRef}
                tabIndex={-1}
              >
                <div className="paper">{children}</div>
              </DialogContentText>
            </DialogContent>
            <DialogActions>
              <>
                <Grid container>
                  <Grid item md={11}>
                    {showcancel ? null : showreassign ||
                      title === "PENDING ASSIGN MSP" ? (
                      <Controls.Select
                        name="id"
                        value={fvalue.id}
                        label="Available MSPS"
                        onChange={handleInputChange}
                        options={records}
                      ></Controls.Select>
                    ) : null}

                    {showreassign || showcancel ? (
                      <Controls.Input
                        name="Reason"
                        value={fvalue.Reason}
                        label="Reason"
                        onChange={handleInputChange}
                      ></Controls.Input>
                    ) : null}
                  </Grid>

                  <Grid item md={1} style={{ align: "right" }}>
                    {showcancel ? (
                      <Button onClick={handlecancel} color="primary">
                        CANCEL
                      </Button>
                    ) : showreassign ? (
                      <Button onClick={handlereassignmsp} color="primary">
                        RE-ASSIGN
                      </Button>
                    ) : title === "PENDING JOB ORDER" ? (
                      <Button onClick={handleconfirm} color="primary">
                        CONFIRM
                      </Button>
                    ) : title === "PENDING ASSIGN MSP" ? (
                      <Button onClick={handleassignmsp} color="primary">
                        ASSIGN
                      </Button>
                    ) : null}
                  </Grid>
                </Grid>
              </>
            </DialogActions>
          </Dialog>
        </div>
      )}
    </LoginConsumer>
  );
}