bugfixed admin-meeting API&SPA

このコミットが含まれているのは:
dragon1211 2021-11-01 02:08:30 +09:00
コミット c42ff28f6f
3個のファイルの変更327行の追加188行の削除

ファイルの表示

@ -37398,15 +37398,11 @@ var MeetingDetail = function MeetingDetail(props) {
var _props$match$params;
setLoaded(false);
axios__WEBPACK_IMPORTED_MODULE_3___default().get("/api/admin/meetings/detail/".concat((_props$match$params = props.match.params) === null || _props$match$params === void 0 ? void 0 : _props$match$params.meeting_id), {
params: {
father_id: 1
}
}).then(function (response) {
axios__WEBPACK_IMPORTED_MODULE_3___default().get("/api/admin/meetings/detail/".concat((_props$match$params = props.match.params) === null || _props$match$params === void 0 ? void 0 : _props$match$params.meeting_id)).then(function (response) {
setLoaded(true);
if (response.data.status_code == 200) {
var list = response.data.params[0];
var list = response.data.params;
console.log(list);
var total = 0,
num = 0;
@ -37770,18 +37766,17 @@ __webpack_require__.r(__webpack_exports__);
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "./node_modules/react/index.js");
/* harmony import */ var react_router_dom__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! react-router-dom */ "./node_modules/react-router/esm/react-router.js");
/* harmony import */ var axios__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! axios */ "./node_modules/axios/index.js");
/* harmony import */ var axios__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(axios__WEBPACK_IMPORTED_MODULE_1__);
/* harmony import */ var _material_ui_core__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @material-ui/core */ "./node_modules/@material-ui/core/CircularProgress/CircularProgress.js");
/* harmony import */ var _material_ui_lab__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @material-ui/lab */ "./node_modules/@material-ui/lab/LoadingButton/LoadingButton.js");
/* harmony import */ var _mui_material_IconButton__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @mui/material/IconButton */ "./node_modules/@mui/material/IconButton/IconButton.js");
/* harmony import */ var _mui_icons_material_Remove__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @mui/icons-material/Remove */ "./node_modules/@mui/icons-material/Remove.js");
/* harmony import */ var _component_alert__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../component/alert */ "./resources/js/component/alert.jsx");
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! react/jsx-runtime */ "./node_modules/react/jsx-runtime.js");
function _toArray(arr) { return _arrayWithHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableRest(); }
function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
/* harmony import */ var _material_ui_core__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @material-ui/core */ "./node_modules/@material-ui/core/CircularProgress/CircularProgress.js");
/* harmony import */ var _material_ui_lab__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! @material-ui/lab */ "./node_modules/@material-ui/lab/LoadingButton/LoadingButton.js");
/* harmony import */ var _mui_material_IconButton__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @mui/material/IconButton */ "./node_modules/@mui/material/IconButton/IconButton.js");
/* harmony import */ var _mui_icons_material_Remove__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @mui/icons-material/Remove */ "./node_modules/@mui/icons-material/Remove.js");
/* harmony import */ var react_toastify__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react-toastify */ "./node_modules/react-toastify/dist/react-toastify.esm.js");
/* harmony import */ var react_toastify_dist_ReactToastify_css__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! react-toastify/dist/ReactToastify.css */ "./node_modules/react-toastify/dist/ReactToastify.css");
/* harmony import */ var _component_alert__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../component/alert */ "./resources/js/component/alert.jsx");
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! react/jsx-runtime */ "./node_modules/react/jsx-runtime.js");
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
@ -37804,7 +37799,12 @@ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
var MeetingEdit = function MeetingEdit(props) {
var history = (0,react_router_dom__WEBPACK_IMPORTED_MODULE_6__.useHistory)();
var _useState = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(''),
_useState2 = _slicedToArray(_useState, 2),
title = _useState2[0],
@ -37830,66 +37830,72 @@ var MeetingEdit = function MeetingEdit(props) {
meeting_image = _useState10[0],
setMeetingImages = _useState10[1];
var _useState11 = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(''),
var _useState11 = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)([]),
_useState12 = _slicedToArray(_useState11, 2),
imageUri = _useState12[0],
setImageUri = _useState12[1];
approval_list = _useState12[0],
setApproval = _useState12[1];
var _useState13 = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)([]),
_useState14 = _slicedToArray(_useState13, 2),
approval_list = _useState14[0],
setApproval = _useState14[1];
var _useState15 = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)({
var _useState13 = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)({
title: '',
text: '',
memo: '',
pdf: ''
pdf: '',
image: ''
}),
_useState14 = _slicedToArray(_useState13, 2),
_422errors = _useState14[0],
set422Errors = _useState14[1];
var _useState15 = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(''),
_useState16 = _slicedToArray(_useState15, 2),
_422errors = _useState16[0],
set422Errors = _useState16[1];
_400error = _useState16[0],
set400Error = _useState16[1];
var _useState17 = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(''),
_useState18 = _slicedToArray(_useState17, 2),
_400error = _useState18[0],
set400Error = _useState18[1];
_success = _useState18[0],
setSuccess = _useState18[1];
var _useState19 = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(''),
var _useState19 = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(false),
_useState20 = _slicedToArray(_useState19, 2),
_success = _useState20[0],
setSuccess = _useState20[1];
loaded = _useState20[0],
setLoaded = _useState20[1];
var _useState21 = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(false),
_useState22 = _slicedToArray(_useState21, 2),
loaded = _useState22[0],
setLoaded = _useState22[1];
submit = _useState22[0],
setSubmit = _useState22[1];
var _useState23 = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(false),
_useState24 = _slicedToArray(_useState23, 2),
submit = _useState24[0],
setSubmit = _useState24[1];
check_all = _useState24[0],
setCheckAll = _useState24[1];
var _useState25 = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(false),
_useState26 = _slicedToArray(_useState25, 2),
check_some = _useState26[0],
setCheckSome = _useState26[1]; // useEffect(()=>{
// check_some = !check_all;
// }, [check_all])
(0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(function () {
var _props$match$params;
setLoaded(false);
axios__WEBPACK_IMPORTED_MODULE_1___default().get("/api/admin/meetings/detail/".concat((_props$match$params = props.match.params) === null || _props$match$params === void 0 ? void 0 : _props$match$params.meeting_id), {
params: {
father_id: 1
}
}).then(function (response) {
axios__WEBPACK_IMPORTED_MODULE_1___default().get("/api/admin/meetings/detail/".concat((_props$match$params = props.match.params) === null || _props$match$params === void 0 ? void 0 : _props$match$params.meeting_id)).then(function (response) {
setLoaded(true);
if (response.data.status_code == 200) {
var _response$data$params, _response$data$params2, _response$data$params3, _response$data$params4, _response$data$params5;
var _response$data$params, _response$data$params2, _response$data$params3, _response$data$params4, _response$data$params5, _response$data$params6;
console.log(response.data.params);
setTitle((_response$data$params = response.data.params[0]) === null || _response$data$params === void 0 ? void 0 : _response$data$params.title);
setMemo((_response$data$params2 = response.data.params[0]) === null || _response$data$params2 === void 0 ? void 0 : _response$data$params2.memo);
setText((_response$data$params3 = response.data.params[0]) === null || _response$data$params3 === void 0 ? void 0 : _response$data$params3.text);
setMeetingImages((_response$data$params4 = response.data.params[0]) === null || _response$data$params4 === void 0 ? void 0 : _response$data$params4.meeting_image);
setApproval((_response$data$params5 = response.data.params[0]) === null || _response$data$params5 === void 0 ? void 0 : _response$data$params5.approval);
setTitle((_response$data$params = response.data.params) === null || _response$data$params === void 0 ? void 0 : _response$data$params.title);
setMemo((_response$data$params2 = response.data.params) === null || _response$data$params2 === void 0 ? void 0 : _response$data$params2.memo);
setText((_response$data$params3 = response.data.params) === null || _response$data$params3 === void 0 ? void 0 : _response$data$params3.text);
setMeetingImages((_response$data$params4 = response.data.params) === null || _response$data$params4 === void 0 ? void 0 : _response$data$params4.meeting_image);
setApproval((_response$data$params5 = response.data.params) === null || _response$data$params5 === void 0 ? void 0 : _response$data$params5.approval);
setPdf((_response$data$params6 = response.data.params) === null || _response$data$params6 === void 0 ? void 0 : _response$data$params6.pdf);
} else if (response.data.status_code == 400) {//TODO
}
});
@ -37902,7 +37908,7 @@ var MeetingEdit = function MeetingEdit(props) {
memo: '',
text: '',
pdf: '',
images: ''
image: ''
});
try {
@ -37915,16 +37921,17 @@ var MeetingEdit = function MeetingEdit(props) {
pdf: pdf
};
setSubmit(true);
axios__WEBPACK_IMPORTED_MODULE_1___default().put("/api/admin/meeting/update/".concat((_props$match$params2 = props.match.params) === null || _props$match$params2 === void 0 ? void 0 : _props$match$params2.meeting_id), request).then(function (response) {
axios__WEBPACK_IMPORTED_MODULE_1___default().put("/api/admin/meetings/update/".concat((_props$match$params2 = props.match.params) === null || _props$match$params2 === void 0 ? void 0 : _props$match$params2.meeting_id), request).then(function (response) {
setSubmit(false);
console.log(response.data);
switch (response.data.status_code) {
case 200:
setSuccess(response.data.success_messages);
setSuccess("更新成功しました!");
break;
case 400:
set400Error(response.data.error_messages);
set400Error("更新失敗しました。");
break;
case 422:
@ -37951,22 +37958,13 @@ var MeetingEdit = function MeetingEdit(props) {
meeting_id: props.match.params.meeting_id
}
}).then(function (response) {
console.log(response.data);
switch (response.data.status_code) {
case 200:
{
setImageUri(reader.result);
var _meeting_image = _toArray(meeting_image),
list = _meeting_image.slice(0);
list.push({
image: reader.result
});
console.log(list);
setMeetingImages(list);
setSuccess(response.data.success_messages);
break;
}
setMeetingImages(response.data.params);
notify_save();
break;
case 400:
set400Error(response.data.error_messages);
@ -37980,12 +37978,31 @@ var MeetingEdit = function MeetingEdit(props) {
};
};
var handleDeleteImage = function handleDeleteImage() {
console.log("delete");
axios__WEBPACK_IMPORTED_MODULE_1___default().delete("/api/admin/meeting/images/delete/".concat(props.match.params.meeting_id)).then(function (response) {
var handlePDFChange = function handlePDFChange(e) {
e.preventDefault();
var reader = new FileReader();
var _file = e.target.files[0];
reader.readAsDataURL(_file);
reader.onloadend = function () {
setPdf(reader.result);
};
};
var handleDeleteImage = function handleDeleteImage(image_id) {
var _props$match$params3;
console.log(image_id);
axios__WEBPACK_IMPORTED_MODULE_1___default().delete("/api/admin/meeting/images/delete/".concat((_props$match$params3 = props.match.params) === null || _props$match$params3 === void 0 ? void 0 : _props$match$params3.meeting_id), {
params: {
image_id: image_id
}
}).then(function (response) {
switch (response.data.status_code) {
case 200:
setSuccess("画像の削除に成功しました!");
setMeetingImages(response.data.params);
notify_delete();
break;
case 400:
set400Error("画像の削除に失敗しました。");
@ -37993,28 +38010,64 @@ var MeetingEdit = function MeetingEdit(props) {
});
};
return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)("div", {
var handleApproval = function handleApproval(e) {
console.log(e.target.value);
};
var notify_delete = function notify_delete() {
return react_toastify__WEBPACK_IMPORTED_MODULE_2__.toast.success("削除成功しました。", {
position: "top-right",
autoClose: 5000,
className: "bg-danger",
hideProgressBar: true,
closeOnClick: true,
pauseOnHover: true,
draggable: false,
progress: undefined,
style: {
color: '#ffffff'
}
});
};
var notify_save = function notify_save() {
return react_toastify__WEBPACK_IMPORTED_MODULE_2__.toast.success("更新が成功しました。", {
position: "top-right",
autoClose: 5000,
className: "bg-danger",
hideProgressBar: true,
closeOnClick: true,
pauseOnHover: true,
draggable: false,
progress: undefined,
style: {
color: '#ffffff'
}
});
};
return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsxs)("div", {
className: "l-content",
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsxs)("div", {
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsxs)("div", {
className: "l-content-w560",
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)("div", {
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)("div", {
className: "l-content__ttl",
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)("div", {
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)("div", {
className: "l-content__ttl__left",
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)("h2", {
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)("h2", {
children: "\u30DF\u30FC\u30C6\u30A3\u30F3\u30B0\u7DE8\u96C6"
})
})
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)("div", {
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)("div", {
className: "l-content-wrap",
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)("div", {
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)("div", {
className: "p-article",
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsxs)("div", {
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsxs)("div", {
className: "p-article-wrap position-relative",
style: {
minHeight: '500px'
},
children: [!loaded && /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)(_material_ui_core__WEBPACK_IMPORTED_MODULE_4__.default, {
children: [!loaded && /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)(_material_ui_core__WEBPACK_IMPORTED_MODULE_7__.default, {
color: "secondary",
style: {
top: '150px',
@ -38022,22 +38075,22 @@ var MeetingEdit = function MeetingEdit(props) {
color: 'green',
position: 'absolute'
}
}), loaded && /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)("article", {
}), loaded && /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)("article", {
className: "p-article__body",
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)("div", {
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)("div", {
className: "p-article__content",
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)("div", {
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)("div", {
className: "p-article__context",
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsxs)("form", {
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsxs)("form", {
className: "edit-form",
onSubmit: handleSubmit,
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsxs)("div", {
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsxs)("div", {
className: "edit-set",
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)("label", {
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)("label", {
className: "control-label",
htmlFor: "title",
children: "\u30BF\u30A4\u30C8\u30EB"
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)("input", {
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)("input", {
type: "text",
name: "title",
value: title,
@ -38046,17 +38099,17 @@ var MeetingEdit = function MeetingEdit(props) {
},
className: "input-default input-title input-h60 input-w480 ".concat(_422errors.title && 'is-invalid c-input__target', " "),
id: "title"
}), _422errors.title && /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)("span", {
}), _422errors.title && /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)("span", {
className: "l-alert__text--error ft-16 ft-md-14",
children: _422errors.title
})]
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsxs)("div", {
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsxs)("div", {
className: "edit-set",
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)("label", {
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)("label", {
className: "control-label",
htmlFor: "meeting_textarea",
children: "\u672C\u6587"
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)("textarea", {
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)("textarea", {
value: text,
onChange: function onChange(e) {
return setText(e.target.value);
@ -38064,17 +38117,17 @@ var MeetingEdit = function MeetingEdit(props) {
rows: "8",
className: "textarea-default ".concat(_422errors.text && 'is-invalid c-input__target', " "),
id: "meeting_textarea"
}), _422errors.text && /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)("span", {
}), _422errors.text && /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)("span", {
className: "l-alert__text--error ft-16 ft-md-14",
children: _422errors.text
})]
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsxs)("div", {
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsxs)("div", {
className: "edit-set",
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)("label", {
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)("label", {
className: "control-label",
htmlFor: "meeting_textarea",
children: "\u30E1\u30E2"
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)("textarea", {
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)("textarea", {
value: memo,
onChange: function onChange(e) {
return setMemo(e.target.value);
@ -38082,58 +38135,60 @@ var MeetingEdit = function MeetingEdit(props) {
rows: "8",
className: "textarea-default ".concat(_422errors.memo && 'is-invalid c-input__target', " "),
id: "meeting_textarea"
}), _422errors.memo && /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)("span", {
}), _422errors.memo && /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)("span", {
className: "l-alert__text--error ft-16 ft-md-14",
children: _422errors.memo
})]
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsxs)("div", {
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsxs)("div", {
className: "edit-set edit-set-mt15",
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsxs)("label", {
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsxs)("label", {
className: "edit-set-file-label",
htmlFor: "file_pdf",
children: ["PDF\u30A2\u30C3\u30D7\u30ED\u30FC\u30C9", /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)("input", {
children: ["PDF\u30A2\u30C3\u30D7\u30ED\u30FC\u30C9", /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)("input", {
type: "file",
name: "file_pdf",
accept: ".pdf",
id: "file_pdf",
value: pdf,
onChange: function onChange(e) {
return setPdf(e.target.file);
}
onChange: handlePDFChange
})]
}), _422errors.pdf && /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)("span", {
}), _422errors.pdf && /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)("span", {
className: "l-alert__text--error ft-16 ft-md-14",
children: _422errors.pdf
})]
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)("div", {
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsxs)("div", {
className: "edit-set edit-set-mt15",
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsxs)("label", {
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsxs)("label", {
className: "edit-set-file-label",
htmlFor: "file_image",
children: ["\u753B\u50CF\u30A2\u30C3\u30D7\u30ED\u30FC\u30C9", /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)("input", {
children: ["\u753B\u50CF\u30A2\u30C3\u30D7\u30ED\u30FC\u30C9", /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)("input", {
type: "file",
name: "file_image",
accept: ".png, .jpg, .jpeg",
id: "file_image",
onChange: handleImageChange
})]
})
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)("div", {
}), _422errors.image && /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)("span", {
className: "l-alert__text--error ft-16 ft-md-14",
children: _422errors.image
})]
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)("div", {
className: "p-file-image justify-content-start",
children: meeting_image === null || meeting_image === void 0 ? void 0 : meeting_image.map(function (x, k) {
return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsxs)("figure", {
return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsxs)("figure", {
className: "image-upload",
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)("img", {
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)("img", {
src: x.image,
alt: x.image
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)(_mui_material_IconButton__WEBPACK_IMPORTED_MODULE_5__.default, {
onClick: handleDeleteImage,
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)(_mui_material_IconButton__WEBPACK_IMPORTED_MODULE_8__.default, {
onClick: function onClick(e) {
return handleDeleteImage(x.id);
},
style: {
position: 'absolute',
bottom: '-6px',
right: '-6px'
},
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)(_mui_icons_material_Remove__WEBPACK_IMPORTED_MODULE_6__.default, {
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)(_mui_icons_material_Remove__WEBPACK_IMPORTED_MODULE_9__.default, {
style: {
width: '22px',
height: '22px',
@ -38145,61 +38200,80 @@ var MeetingEdit = function MeetingEdit(props) {
})]
}, k);
})
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)("div", {
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)("div", {
className: "edit-set edit-set-send",
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsxs)("label", {
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsxs)("label", {
htmlFor: "allmember_send",
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)("input", {
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)("input", {
className: "boolean optional",
type: "checkbox",
name: "allmember_send",
id: "allmember_send"
}), "\u5168\u54E1\u306B\u9001\u4FE1"]
id: "allmember_send",
checked: check_all,
onChange: function onChange(e) {
return setCheckAll(!check_all);
}
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)("span", {
children: "\u5168\u54E1\u306B\u9001\u4FE1"
})]
})
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)("div", {
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)("div", {
className: "edit-set-mt5 edit-set-send",
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsxs)("label", {
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsxs)("label", {
htmlFor: "pickup_send",
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)("input", {
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)("input", {
className: "boolean optional",
type: "checkbox",
name: "pickup_send",
id: "pickup_send"
}), "\u9078\u3093\u3067\u9001\u4FE1"]
id: "pickup_send",
checked: check_some,
onChange: function onChange(e) {
return setCheckSome(!check_some);
}
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)("span", {
children: "\u9078\u3093\u3067\u9001\u4FE1"
})]
})
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)("div", {
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)("div", {
className: "checkbox-wrap edit-bg",
children: approval_list === null || approval_list === void 0 ? void 0 : approval_list.map(function (item, k) {
return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)("div", {
return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)("div", {
className: "checkbox",
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsxs)("label", {
htmlFor: "user_name01",
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)("input", {
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsxs)("label", {
htmlFor: "user_name".concat(k),
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)("input", {
className: "boolean optional",
type: "checkbox"
type: "checkbox",
id: "user_name".concat(k),
onChange: handleApproval
}), "".concat(item.child.first_name, " ").concat(item.child.last_name)]
})
}, k);
})
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)(_material_ui_lab__WEBPACK_IMPORTED_MODULE_7__.default, {
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)(_material_ui_lab__WEBPACK_IMPORTED_MODULE_10__.default, {
type: "submit",
fullWidth: true,
loading: submit,
className: "btn-edit btn-default btn-h60 bg-yellow rounded-15",
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)("span", {
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)("span", {
className: "ft-20 font-weight-bold ".concat(!submit && 'text-black'),
children: "\u30DF\u30FC\u30C6\u30A3\u30F3\u30B0\u3092\u66F4\u65B0"
})
}), _400error && /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)(_component_alert__WEBPACK_IMPORTED_MODULE_2__.default, {
}), _400error && /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)(_component_alert__WEBPACK_IMPORTED_MODULE_4__.default, {
type: "fail",
hide: function hide() {
return set400Error('');
},
children: _400error
}), _success && /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)(_component_alert__WEBPACK_IMPORTED_MODULE_2__.default, {
}), _success && /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)(_component_alert__WEBPACK_IMPORTED_MODULE_4__.default, {
type: "success",
hide: function hide() {
return setSuccess('');
var _props$match$params4;
return history.push({
pathname: "/admin/meeting/detail/".concat((_props$match$params4 = props.match.params) === null || _props$match$params4 === void 0 ? void 0 : _props$match$params4.meeting_id),
state: {}
});
},
children: _success
})]
@ -38210,7 +38284,7 @@ var MeetingEdit = function MeetingEdit(props) {
})
})
})]
})
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)(react_toastify__WEBPACK_IMPORTED_MODULE_2__.ToastContainer, {})]
});
};

ファイルの表示

@ -41,16 +41,12 @@ const MeetingDetail = (props) => {
useEffect(() => {
setLoaded(false);
axios.get(`/api/admin/meetings/detail/${props.match.params?.meeting_id}`, {params: { father_id: 1 }})
axios.get(`/api/admin/meetings/detail/${props.match.params?.meeting_id}`)
.then((response) => {
setLoaded(true);
if(response.data.status_code==200){
var list = response.data.params[0];
var list = response.data.params;
console.log(list);
var total=0, num=0;
if(list.approval){
@ -61,7 +57,6 @@ const MeetingDetail = (props) => {
}
}
setMeeting({...list, denominator:total, numerator:num});
} else if(response.data.status_code==400){
//TODO
}

ファイルの表示

@ -1,68 +1,77 @@
import React, { useEffect, useState } from 'react';
import { useHistory } from 'react-router-dom';
import axios from 'axios';
import { CircularProgress } from '@material-ui/core';
import { LoadingButton } from '@material-ui/lab';
import IconButton from '@mui/material/IconButton';
import RemoveIcon from '@mui/icons-material/Remove';
import { ToastContainer, toast } from 'react-toastify';
import 'react-toastify/dist/ReactToastify.css';
import Alert from '../../component/alert';
const MeetingEdit = (props) => {
const history = useHistory();
const [title, setTitle] = useState('');
const [memo, setMemo] = useState('');
const [text, setText] = useState('');
const [pdf, setPdf] = useState('');
const [meeting_image, setMeetingImages] = useState([]);
const [imageUri, setImageUri] = useState('');
const [approval_list, setApproval] = useState([]);
const [_422errors, set422Errors] = useState({title:'', text:'', memo:'', pdf:''})
const [_422errors, set422Errors] = useState({title:'', text:'', memo:'', pdf:'', image:''})
const [_400error, set400Error] = useState('');
const [_success, setSuccess] = useState('');
const [loaded, setLoaded] = useState(false);
const [submit, setSubmit] = useState(false);
const [check_all, setCheckAll] = useState(false);
const [check_some, setCheckSome] = useState(false);
// useEffect(()=>{
// check_some = !check_all;
// }, [check_all])
useEffect(() => {
setLoaded(false);
axios.get(`/api/admin/meetings/detail/${props.match.params?.meeting_id}`, {params: { father_id: 1 }})
.then((response) => {
axios.get(`/api/admin/meetings/detail/${props.match.params?.meeting_id}`)
.then(response => {
setLoaded(true);
if(response.data.status_code==200){
console.log(response.data.params);
setTitle(response.data.params[0]?.title);
setMemo(response.data.params[0]?.memo);
setText(response.data.params[0]?.text);
setMeetingImages(response.data.params[0]?.meeting_image);
setApproval(response.data.params[0]?.approval);
setTitle(response.data.params?.title);
setMemo(response.data.params?.memo);
setText(response.data.params?.text);
setMeetingImages(response.data.params?.meeting_image);
setApproval(response.data.params?.approval);
setPdf(response.data.params?.pdf);
}
else if(response.data.status_code==400){
//TODO
}
});
}, []);
}, []);
const handleSubmit = (e) => {
const handleSubmit = (e) => {
e.preventDefault();
set422Errors({title:'',memo:'',text:'',pdf:'',images:''});
set422Errors({title:'',memo:'',text:'',pdf:'',image:''});
try {
const request = { title: title, text: text, memo: memo, pdf: pdf };
setSubmit(true);
axios.put(`/api/admin/meeting/update/${props.match.params?.meeting_id}`, request)
axios.put(`/api/admin/meetings/update/${props.match.params?.meeting_id}`, request)
.then(response => {
setSubmit(false);
console.log(response.data)
switch(response.data.status_code){
case 200: setSuccess(response.data.success_messages); break;
case 400: set400Error(response.data.error_messages); break;
case 200: setSuccess("更新成功しました!"); break;
case 400: set400Error("更新失敗しました。"); break;
case 422: set422Errors(response.data.error_messages); break;
}
});
@ -73,30 +82,18 @@ const MeetingEdit = (props) => {
const handleImageChange = (e) => {
e.preventDefault();
let reader = new FileReader();
let _file = e.target.files[0];
reader.readAsDataURL(_file);
reader.onloadend = () => {
const formdata = new FormData();
formdata.append('image', reader.result);
axios.post(`/api/admin/meeting/images/register`, formdata, {params:{meeting_id: props.match.params.meeting_id}})
.then(response => {
console.log(response.data)
switch(response.data.status_code){
case 200: {
setImageUri(reader.result);
var [...list] = meeting_image;
list.push({image: reader.result});
console.log(list);
setMeetingImages(list);
setSuccess(response.data.success_messages);
break;
}
case 200: setMeetingImages(response.data.params); notify_save(); break;
case 400: set400Error(response.data.error_messages); break;
case 422: set422Errors(response.data.error_messages); break;
}
@ -105,17 +102,58 @@ const MeetingEdit = (props) => {
};
};
const handleDeleteImage = () => {
console.log("delete");
axios.delete(`/api/admin/meeting/images/delete/${props.match.params.meeting_id}`)
const handlePDFChange = (e) => {
e.preventDefault();
let reader = new FileReader();
let _file = e.target.files[0];
reader.readAsDataURL(_file);
reader.onloadend = () => {
setPdf(reader.result);
}
}
const handleDeleteImage = (image_id) => {
console.log(image_id);
axios.delete(`/api/admin/meeting/images/delete/${props.match.params?.meeting_id}`, {params:{image_id: image_id}})
.then(response=>{
switch(response.data.status_code){
case 200: setSuccess("画像の削除に成功しました!");
case 400: set400Error("画像の削除に失敗しました。")
case 200: setMeetingImages(response.data.params); notify_delete(); break;
case 400: set400Error("画像の削除に失敗しました。");
}
})
}
const handleApproval = (e) => {
console.log(e.target.value);
}
const notify_delete = () =>
toast.success("削除成功しました。", {
position: "top-right",
autoClose: 5000,
className:"bg-danger",
hideProgressBar: true,
closeOnClick: true,
pauseOnHover: true,
draggable: false,
progress: undefined,
style:{ color: '#ffffff'}
});
const notify_save = () =>
toast.success("更新が成功しました。", {
position: "top-right",
autoClose: 5000,
className:"bg-danger",
hideProgressBar: true,
closeOnClick: true,
pauseOnHover: true,
draggable: false,
progress: undefined,
style:{ color: '#ffffff'}
});
return (
<div className="l-content">
@ -172,7 +210,7 @@ const MeetingEdit = (props) => {
<div className="edit-set edit-set-mt15">
<label className="edit-set-file-label" htmlFor="file_pdf">
PDFアップロード
<input type="file" name="file_pdf" accept=".pdf" id="file_pdf" value={pdf} onChange={e=>setPdf(e.target.file)} />
<input type="file" name="file_pdf" accept=".pdf" id="file_pdf" onChange={handlePDFChange} />
</label>
{
_422errors.pdf &&
@ -186,6 +224,12 @@ const MeetingEdit = (props) => {
画像アップロード
<input type="file" name="file_image" accept=".png, .jpg, .jpeg" id="file_image" onChange={handleImageChange}/>
</label>
{
_422errors.image &&
<span className="l-alert__text--error ft-16 ft-md-14">
{_422errors.image}
</span>
}
</div>
<div className="p-file-image justify-content-start">
@ -194,7 +238,7 @@ const MeetingEdit = (props) => {
<figure className="image-upload" key={k}>
<img src={x.image} alt={x.image} />
<IconButton
onClick={handleDeleteImage}
onClick={e=>handleDeleteImage(x.id)}
style={{position: 'absolute',
bottom: '-6px',
right: '-6px'}}>
@ -211,20 +255,39 @@ const MeetingEdit = (props) => {
<div className="edit-set edit-set-send">
<label htmlFor="allmember_send">
<input className="boolean optional" type="checkbox" name="allmember_send" id="allmember_send" />全員に送信</label>
<input className="boolean optional"
type="checkbox"
name="allmember_send"
id="allmember_send"
checked = {check_all}
onChange={e=>setCheckAll(!check_all)}/>
<span>全員に送信</span>
</label>
</div>
<div className="edit-set-mt5 edit-set-send">
<label htmlFor="pickup_send">
<input className="boolean optional" type="checkbox" name="pickup_send" id="pickup_send" />選んで送信</label>
<input className="boolean optional"
type="checkbox"
name="pickup_send"
id="pickup_send"
checked = {check_some}
onChange={e=>setCheckSome(!check_some)}/>
<span>選んで送信</span>
</label>
</div>
<div className="checkbox-wrap edit-bg">
{
approval_list?.map((item, k)=>
<div className="checkbox" key={k}>
<label htmlFor="user_name01">
<input className="boolean optional" type="checkbox" />{`${item.child.first_name} ${item.child.last_name}`}</label>
<label htmlFor={`user_name${k}`}>
<input className="boolean optional"
type="checkbox"
id={`user_name${k}`}
onChange={handleApproval}/>
{`${item.child.first_name} ${item.child.last_name}`}
</label>
</div>
)
}
@ -240,7 +303,13 @@ const MeetingEdit = (props) => {
_400error && <Alert type="fail" hide={()=>set400Error('')}>{_400error}</Alert>
}
{
_success && <Alert type="success" hide={()=>setSuccess('')}>{_success}</Alert>
_success &&
<Alert type="success"
hide={()=>
history.push({
pathname: `/admin/meeting/detail/${props.match.params?.meeting_id}`,
state: {}
})}>{_success}</Alert>
}
</form>
</div>
@ -252,6 +321,7 @@ const MeetingEdit = (props) => {
</div>
</div>
</div>
<ToastContainer />
</div>
)
}