@rnga/orders
Version:
## Get schema from @prisma-cms 1. yarn get-api-schema -e http://localhost:4000 2. yarn build-api-fragments
1,297 lines (1,001 loc) • 37.3 kB
JavaScript
'use strict';
exports.__esModule = true;
var _regenerator = require('babel-runtime/regenerator');
var _regenerator2 = _interopRequireDefault(_regenerator);
var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
var _class, _temp; /* eslint-disable react/forbid-foreign-prop-types */
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
var _propTypes = require('prop-types');
var _propTypes2 = _interopRequireDefault(_propTypes);
var _component = require('@prisma-cms/component');
var _component2 = _interopRequireDefault(_component);
var _moment = require('moment');
var _moment2 = _interopRequireDefault(_moment);
var _SlabLink = require('./SlabLink');
var _SlabLink2 = _interopRequireDefault(_SlabLink);
var _Modal = require('../../../../Modal');
var _Modal2 = _interopRequireDefault(_Modal);
var _query = require('query');
var _TarifSelect = require('./TarifSelect');
var _TarifSelect2 = _interopRequireDefault(_TarifSelect);
var _reactNumberFormat = require('react-number-format');
var _reactNumberFormat2 = _interopRequireDefault(_reactNumberFormat);
var _Progress = require('material-ui/Progress');
var _SlabDenyPinalty = require('./SlabDenyPinalty');
var _SlabDenyPinalty2 = _interopRequireDefault(_SlabDenyPinalty);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step("next", value); }, function (err) { step("throw", err); }); } } return step("next"); }); }; }
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
var OrderItem = (_temp = _class = function (_PrismaCmsComponent) {
_inherits(OrderItem, _PrismaCmsComponent);
function OrderItem(props) {
_classCallCheck(this, OrderItem);
var _this = _possibleConstructorReturn(this, _PrismaCmsComponent.call(this, props));
_this.rejectSlabOrder = function (data) {
// this.updateItem(data);
// eslint-disable-next-line no-unreachable
_this.setState({
confirmRejectModalOpened: true,
tarifsSelectionOpen: false
});
};
_this.state = _extends({}, _this.state, {
tarifsSelectionOpen: false,
confirmRejectModalOpened: false,
confirmAcceptModalOpened: false
});
return _this;
}
OrderItem.prototype.componentDidMount = function componentDidMount() {
this.initListeners();
_PrismaCmsComponent.prototype.componentDidMount && _PrismaCmsComponent.prototype.componentDidMount.call(this);
};
OrderItem.prototype.initListeners = function initListeners() {
var _this2 = this;
var _window = window,
document = _window.document;
// return;
/**
* Навешиваем на документ событие, чтобы отловить клики вне селекта выбора тарифа, чтобы при клике в другом месте он закрывался.
*/
this.closeEvent = document.addEventListener("click", function (event) {
// if (event.defaultPrevented) {
// return;
// }
var path = event.path || event.composedPath && event.composedPath();
// const path = event.path;
if (path) {
if (path.indexOf(_this2.selectTarifWrapper) !== -1) {
// event.stopImmediatePropagation();
// return;
} else {
_this2.setState({
tarifsSelectionOpen: false
});
}
} else {
if (event.defaultPrevented) {
return;
}
_this2.setState({
tarifsSelectionOpen: false
});
}
});
};
OrderItem.prototype.getSlabService = function getSlabService() {
var services = this.props.services;
return services && services.find(function (n) {
return n.code === "slab";
}) || null;
};
// isSlabServiceOrdered() {
// const {
// selectedServices,
// } = this.getDirty() || {};
// const slabServiceSelected = (selectedServices && selectedServices.find(n => n.code === "slab" && n._selected === true)) ? true : false;
// const {
// ServiceOrders,
// } = this.getItem();
// let SlabServiceOrder = ServiceOrders.find(n => n.Service.code === "slab");
// /**
// * Определяем выбран ли заказ на слаб.
// * Если да, но не выбран тариф, надо подсветить тариф
// */
// // let SlabServiceOrdered = true;
// // let SlabServiceOrdered = slabServiceSelected ? true : false;
// let SlabServiceOrdered = SlabServiceOrder || slabServiceSelected ? true : false;
// return SlabServiceOrdered;
// }
OrderItem.prototype.isSlabServiceOrdered = function isSlabServiceOrdered() {
var _ref = this.getDirty() || {},
selectedServices = _ref.selectedServices;
var slabServiceSelected = selectedServices && selectedServices.find(function (n) {
return n.code === "slab" && n._selected === true;
}) ? true : false;
var _getItem = this.getItem(),
ServiceOrders = _getItem.ServiceOrders;
var SlabServiceOrder = ServiceOrders.find(function (n) {
return n.Service.code === "slab";
});
/**
* Определяем выбран ли заказ на слаб.
* Если да, но не выбран тариф, надо подсветить тариф
*/
// let SlabServiceOrdered = true;
// let SlabServiceOrdered = slabServiceSelected ? true : false;
var SlabServiceOrdered = SlabServiceOrder || slabServiceSelected ? true : false;
return SlabServiceOrdered;
};
/**
* Выбран тариф
*/
OrderItem.prototype.setTarif = function setTarif(tarif) {
var _this3 = this;
// console.log("setTarif", tarif);
var canEdit = this.canEdit();
if (!canEdit) {
return false;
}
var serviceTarifId = tarif.id;
if (!this.canOrderSlab()) {
return false;
}
this.updateItem({
slabTarif: serviceTarifId
});
var slabService = this.getSlabService();
// slabService._selected = false;
/**
* Если не была выбрана услуга слабирования, автоматически назначаем
*/
var _ref2 = this.getDirty() || {},
selectedServices = _ref2.selectedServices;
selectedServices = selectedServices || [];
var dirtySlabSelected = selectedServices.find(function (n) {
return n.id === slabService.id && n._selected ? true : false;
});
if (!this.isSlabServiceOrdered() || !dirtySlabSelected) {
setTimeout(function () {
_this3.setService(slabService);
}, 100);
}
// else {
// }
this.setState({
tarifsSelectionOpen: false
});
// const slabServiceSelected = this.isSlabServiceSelected();
};
OrderItem.prototype.canEdit = function canEdit() {
var canEdit = this.props.canEdit;
return canEdit();
};
// /**
// * Выбираем услугу
// */
// setService(service) {
// const canEdit = this.canEdit();
// // console.log("canEdit", canEdit);
// if (!canEdit) {
// return;
// }
// /**
// * Когда пользователь отменяет выбор тарифа,
// * удаляем его из массива
// */
// // if (!selectedService._selected) {
// // selectedServices.splice(selectedServices.indexOf(selectedService), 1);
// // }
// const {
// id: serviceId,
// code,
// } = service;
// let {
// selectedServices,
// } = this.getDirty() || {}
// selectedServices = selectedServices || [];
// // const index = selectedServices.findIndex(n => n.id === serviceId);
// let selectedService = selectedServices.find(n => n.id === serviceId);
// if (!selectedService) {
// selectedService = {
// ...service,
// };
// /**
// * Проверяем если выбирает слабирование, то должен быть указан прегрейд
// */
// switch (code) {
// case "slab":
// if (!this.canOrderSlab()) {
// return false;
// }
// break;
// }
// selectedServices.push(selectedService);
// }
// selectedService._selected = selectedService._selected ? false : true;
// this.updateItem({
// selectedServices,
// });
// }
/**
* Выбираем услугу
*/
OrderItem.prototype.setService = function setService(service) {
var setService = this.props.setService;
return setService(this.getItem(), service);
};
// canOrderSlab() {
// const {
// preGrade,
// sheldon_grade,
// } = this.getItem();
// if (this.notGradable()) {
// return this.addError("Нельзя заказать услугу для этой монеты");
// }
// if (!preGrade) {
// return this.addError("Дождитесь получения прегрейда.");
// }
// return true;
// }
// notGradable() {
// const {
// preGrade,
// sheldon_grade,
// } = this.getItem() || {};
// console.log("notGradable item", this.getItem());
// return (
// preGrade === "NOTGENUINE"
// || preGrade === "NOTGRADABLE"
// || sheldon_grade === "NOTGENUINE"
// || sheldon_grade === "NOTGRADABLE"
// );
// }
OrderItem.prototype.canOrderSlab = function canOrderSlab() {
// const {
// preGrade,
// sheldon_grade,
// } = this.getItem();
// if (this.notGradable()) {
// return this.addError("Нельзя заказать услугу для этой монеты");
// }
// if (!preGrade) {
// return this.addError("Дождитесь получения прегрейда.");
// }
// return true;
var canOrderSlab = this.props.canOrderSlab;
return canOrderSlab(this.getItem()) === true;
};
OrderItem.prototype.notGradable = function notGradable() {
// const {
// preGrade,
// sheldon_grade,
// } = this.getItem() || {};
// return (
// preGrade === "NOTGENUINE"
// || preGrade === "NOTGRADABLE"
// || sheldon_grade === "NOTGENUINE"
// || sheldon_grade === "NOTGRADABLE"
// );
var notGradable = this.props.notGradable;
return notGradable(this.getItem()) === true;
};
OrderItem.prototype.updateItem = function updateItem(data) {
var updateItem = this.props.updateItem;
var item = this.getItem();
return updateItem(item, data);
};
OrderItem.prototype.getItem = function getItem() {
var item = this.props.item;
return item;
};
// getDirty() {
// const {
// _dirty,
// } = this.getItem();
// return _dirty;
// }
OrderItem.prototype.getDirty = function getDirty() {
var getDirty = this.props.getDirty;
return getDirty(this.getItem());
};
OrderItem.prototype.confirmService = function () {
var _ref3 = _asyncToGenerator( /*#__PURE__*/_regenerator2.default.mark(function _callee(serviceOrderId) {
return _regenerator2.default.wrap(function _callee$(_context) {
while (1) {
switch (_context.prev = _context.next) {
case 0:
_context.next = 2;
return this.updateServiceOrder(serviceOrderId, {
confirm: true
});
case 2:
case 'end':
return _context.stop();
}
}
}, _callee, this);
}));
function confirmService(_x) {
return _ref3.apply(this, arguments);
}
return confirmService;
}();
OrderItem.prototype.rejectService = function () {
var _ref4 = _asyncToGenerator( /*#__PURE__*/_regenerator2.default.mark(function _callee2(serviceOrderId) {
var _this4 = this;
return _regenerator2.default.wrap(function _callee2$(_context2) {
while (1) {
switch (_context2.prev = _context2.next) {
case 0:
_context2.next = 2;
return this.updateServiceOrder(serviceOrderId, {
reject: true
}).then(function (r) {
// console.log("rejectSlabOrder _dirty", this);
var _ref5 = _this4.getDirty() || {},
selectedServices = _ref5.selectedServices;
selectedServices = selectedServices || [];
// const dirtySlabSelected = selectedServices.find(n => n.code === "slab" ? true : false);
var dirtySlabSelectedIndex = selectedServices.findIndex(function (n) {
return n.code === "slab" ? true : false;
});
if (dirtySlabSelectedIndex !== -1) {
var selectedServicesNew = selectedServices.slice(0);
selectedServicesNew.splice(dirtySlabSelectedIndex, 1);
_this4.updateItem({
selectedServices: selectedServicesNew,
slabTarif: undefined
});
// console.log("dirtySlabSelected", dirtySlabSelected);
return;
}
return r;
});
case 2:
case 'end':
return _context2.stop();
}
}
}, _callee2, this);
}));
function rejectService(_x2) {
return _ref4.apply(this, arguments);
}
return rejectService;
}();
/**
* Обновление заказа услуг с записью в БД
*/
OrderItem.prototype.updateServiceOrder = function () {
var _ref6 = _asyncToGenerator( /*#__PURE__*/_regenerator2.default.mark(function _callee3(serviceOrderId, data) {
var loading, params, result;
return _regenerator2.default.wrap(function _callee3$(_context3) {
while (1) {
switch (_context3.prev = _context3.next) {
case 0:
loading = this.state.loading;
// const {
// item: {
// id: serviceOrderId,
// },
// } = this.props;
if (!(!serviceOrderId || loading)) {
_context3.next = 3;
break;
}
return _context3.abrupt('return');
case 3:
this.setState({
loading: true
});
params = {
mutation: _query.updateServiceOrderProcessor,
variables: {
data: data,
where: {
id: serviceOrderId
}
}
};
_context3.next = 7;
return this.mutate(params).catch(function (error) {
return error;
});
case 7:
result = _context3.sent;
this.setState({
loading: false
});
if (!(result && result instanceof Error)) {
_context3.next = 11;
break;
}
throw result;
case 11:
return _context3.abrupt('return', result);
case 12:
case 'end':
return _context3.stop();
}
}
}, _callee3, this);
}));
function updateServiceOrder(_x3, _x4) {
return _ref6.apply(this, arguments);
}
return updateServiceOrder;
}();
OrderItem.prototype.translitGrade = function translitGrade(grade) {
return grade ? grade.replace("DET", " DET") : null;
};
OrderItem.prototype.render = function render() {
var _this5 = this;
var _props = this.props,
item = _props.item,
services = _props.services,
amount = _props.amount,
classes = _props.classes;
var _state = this.state,
tarifsSelectionOpen = _state.tarifsSelectionOpen,
loading = _state.loading,
confirmRejectModalOpened = _state.confirmRejectModalOpened,
confirmAcceptModalOpened = _state.confirmAcceptModalOpened;
if (!item || !services) {
return null;
}
var canEdit = this.canEdit() && !this.notGradable();
var number = item.number,
title = item.title,
year = item.year,
metal = item.metal,
price = item.price,
sheldon_grade = item.sheldon_grade,
sheldon_grade_details = item.sheldon_grade_details,
preGrade = item.preGrade,
ServiceOrders = item.ServiceOrders,
slab = item.slab;
var preGradeStr = this.translitGrade(preGrade);
var sheldon_gradeStr = this.translitGrade(sheldon_grade);
var dirty = this.getDirty();
var _ref7 = dirty || {},
selectedServices = _ref7.selectedServices,
slabTarif = _ref7.slabTarif,
rejectSlabService = _ref7.rejectSlabService;
var servicesList = [];
var slabService = services.find(function (n) {
return n.code === "slab";
});
// const slabServiceSelected = (selectedServices && selectedServices.find(n => n.code === "slab" && n._selected === true)) ? true : false;
var slabTarifs = slabService && slabService.Tarifs || [];
var SlabServiceOrder = ServiceOrders.find(function (n) {
return n.Service.code === "slab";
});
var _ref8 = SlabServiceOrder || {},
slabServiceOrderId = _ref8.id,
slabServiceOrderConfirmDate = _ref8.confirmDate;
// const {
// rejectCost: slabServiceRejectCost,
// } = SlabService || {}
// Выбранный слаб-тариф
if (!slabTarif) {
if (SlabServiceOrder && SlabServiceOrder.Tarif) {
slabTarif = SlabServiceOrder.Tarif.id;
}
}
var selectedSlabTarif = slabTarif ? slabTarifs.find(function (n) {
return n.id === slabTarif;
}) : null;
var slabServiceConfirmActions = void 0;
var slabServiceModals = _react2.default.createElement(
_react.Fragment,
null,
confirmRejectModalOpened ? _react2.default.createElement(
_Modal2.default,
{
opened: true,
handleClose: function handleClose(event) {
_this5.setState({
confirmRejectModalOpened: false
});
},
title: "Подтверждение отказа от услуги"
},
_react2.default.createElement(
'div',
{
className: 'window',
style: {
width: "auto",
padding: 0
}
},
_react2.default.createElement(
'div',
{
className: 'accept-deny-text'
},
'\u0412\u044B \u043E\u0442\u043A\u0430\u0437\u044B\u0432\u0430\u0435\u0442\u0435\u0441\u044C \u043E\u0442 \u0443\u0441\u043B\u0443\u0433\u0438?'
),
slabServiceOrderId ? _react2.default.createElement(_SlabDenyPinalty2.default, {
where: {
id: slabServiceOrderId
}
}) : null,
_react2.default.createElement(
'div',
{ className: 'confirm-send-wrapper', style: {
display: "block"
} },
_react2.default.createElement(
'div',
{ className: 'confirm-send-cansel-wrapper' },
_react2.default.createElement(
'div',
{
className: 'confirm-button confirm_cansel',
onClick: function onClick(event) {
event.preventDefault();
event.stopPropagation();
_this5.setState({
confirmRejectModalOpened: false
});
}
},
'\u041E\u0442\u043C\u0435\u043D\u0430'
),
_react2.default.createElement(
'div',
{
className: classes.buttonWrapper
},
_react2.default.createElement(
'div',
{
className: 'confirm-button confirm_send',
onClick: function () {
var _ref9 = _asyncToGenerator( /*#__PURE__*/_regenerator2.default.mark(function _callee4(event) {
return _regenerator2.default.wrap(function _callee4$(_context4) {
while (1) {
switch (_context4.prev = _context4.next) {
case 0:
event.preventDefault();
event.stopPropagation();
_this5.rejectService(slabServiceOrderId).then(function (r) {
_this5.setState({
confirmRejectModalOpened: false
});
return r;
});
case 3:
case 'end':
return _context4.stop();
}
}
}, _callee4, _this5);
}));
return function (_x5) {
return _ref9.apply(this, arguments);
};
}()
},
'\u041F\u043E\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0430\u044E'
),
loading ? _react2.default.createElement(_Progress.CircularProgress, { size: 24, className: classes.buttonProgress }) : null
)
)
)
)
) : null,
confirmAcceptModalOpened ? _react2.default.createElement(
_Modal2.default,
{
opened: true,
handleClose: function handleClose(event) {
_this5.setState({
confirmAcceptModalOpened: false
});
},
title: "Подтверждение заказа услуги"
},
_react2.default.createElement(
'div',
{
className: 'window',
style: {
width: "auto",
padding: 0
}
},
_react2.default.createElement(
'div',
{
className: 'accept-deny-text'
},
'\u0412\u044B \u043F\u043E\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0430\u0435\u0442\u0435 \u0437\u0430\u043A\u0430\u0437 \u0443\u0441\u043B\u0443\u0433\u0438?'
),
_react2.default.createElement(
'div',
{ className: 'confirm-send-wrapper', style: {
display: "block"
} },
_react2.default.createElement(
'div',
{ className: 'confirm-send-cansel-wrapper' },
_react2.default.createElement(
'div',
{
className: 'confirm-button confirm_cansel',
onClick: function onClick(event) {
event.preventDefault();
event.stopPropagation();
_this5.setState({
confirmAcceptModalOpened: false
});
}
},
'\u041E\u0442\u043C\u0435\u043D\u0430'
),
_react2.default.createElement(
'div',
{
className: 'confirm-button confirm_send',
onClick: function () {
var _ref10 = _asyncToGenerator( /*#__PURE__*/_regenerator2.default.mark(function _callee5(event) {
return _regenerator2.default.wrap(function _callee5$(_context5) {
while (1) {
switch (_context5.prev = _context5.next) {
case 0:
event.preventDefault();
event.stopPropagation();
_this5.confirmService(slabServiceOrderId).then(function (r) {
_this5.setState({
confirmAcceptModalOpened: false
});
return r;
});
case 3:
case 'end':
return _context5.stop();
}
}
}, _callee5, _this5);
}));
return function (_x6) {
return _ref10.apply(this, arguments);
};
}()
},
'\u041F\u043E\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0430\u044E'
)
)
)
)
) : null
);
/**
* Если было заказано слабирование
*/
// if (slabServiceOrderId) {
// // console.log("slabServiceOrderId", slabServiceOrderId, !dirty && !slabServiceOrderRejectDate && !slabServiceOrderConfirmDate && sheldon_grade ? true : false,
// // dirty, slabServiceOrderRejectDate, slabServiceOrderConfirmDate, sheldon_grade
// // );
// /**
// * Пользовательские действия со слабированием
// */
// // if (!dirty && !slabServiceOrderRejectDate && !slabServiceOrderConfirmDate && sheldon_grade) {
// if (!slabServiceOrderRejectDate && !slabServiceOrderConfirmDate && sheldon_grade) {
// slabServiceConfirmActions = <Fragment>
// <button
// className="btn btn-xs btn-success"
// onClick={event => {
// event.preventDefault();
// event.stopPropagation();
// this.setState({
// confirmAcceptModalOpened: true,
// })
// }}
// // onClick={event => this.confirmService(slabServiceOrderId)}
// disabled={loading ? true : false}
// >
// Подт.
// </button>
// <button
// className="btn btn-xs btn-danger"
// onClick={event => {
// event.preventDefault();
// event.stopPropagation();
// this.setState({
// confirmRejectModalOpened: true,
// })
// }}
// // onClick={event => this.rejectService(slabServiceOrderId)}
// disabled={loading ? true : false}
// >
// Отк.
// </button>
// </Fragment>
// }
// }
/**
* Определяем выбран ли заказ на слаб.
* Если да, но не выбран тариф, надо подсветить тариф
*/
// let SlabServiceOrdered = true;
// let SlabServiceOrdered = slabServiceSelected ? true : false;
// let SlabServiceOrdered = SlabServiceOrder || slabServiceSelected ? true : false;
var SlabServiceOrdered = this.isSlabServiceOrdered();
var tarifSelect = void 0;
services.map(function (service) {
var serviceId = service.id,
code = service.code,
name = service.name,
short_name = service.short_name;
var selectedService = selectedServices && selectedServices.find(function (n) {
return n.id === serviceId;
});
var ServiceOrder = ServiceOrders.find(function (i) {
return i.Service.id === serviceId;
});
var label = _react2.default.createElement(
'label',
{
onClick: !ServiceOrder ? function (event) {
event.preventDefault();
event.stopPropagation();
_this5.setService(service);
} : undefined,
style: {
width: "100%",
textAlign: "center",
cursor: "pointer"
}
},
short_name || name
);
var selected = selectedService ? selectedService._selected : ServiceOrder ? true : false;
// let className;
switch (code) {
case "slab":
// if (selected && slabServiceOrderConfirmDate) {
if (selected && slabServiceOrderId && sheldon_grade) {
tarifSelect = _react2.default.createElement(
'div',
{
ref: function ref(node) {
_this5.selectTarifWrapper = node;
}
},
_react2.default.createElement(_TarifSelect2.default, {
tarifsSelectionOpen: tarifsSelectionOpen,
selectedSlabTarif: selectedSlabTarif,
SlabServiceOrder: SlabServiceOrder,
SlabServiceOrdered: SlabServiceOrdered,
slabTarif: slabTarif,
slabTarifs: slabTarifs,
price: price,
onSlabClick: function onSlabClick(event) {
_this5.setState({
tarifsSelectionOpen: !tarifsSelectionOpen
// tarifsSelectionOpen: true,
});
},
setTarif: function setTarif(tarif) {
return _this5.setTarif(tarif);
},
resetOrder: function resetOrder(event) {
_this5.setService(service);
_this5.updateItem({
slabTarif: undefined
});
},
updateObject: function updateObject(data) {
_this5.updateItem(data);
_this5.setState({
tarifsSelectionOpen: false
});
},
rejectSlabOrder: _this5.rejectSlabOrder,
slabRejected: rejectSlabService ? true : false,
canEdit: canEdit
})
);
// label = tarifSelect;
}
// className = "tariff-td";
break;
default:
;
}
servicesList.push(_react2.default.createElement(
'div',
{
key: serviceId,
title: name
// className={[className, "service_accept", selected ? "checked-item" : ""].join(" ")}
, className: ["service_accept", selected ? "checked-item" : ""].join(" ")
},
label
));
return null;
});
var slabDate = void 0;
if (slabServiceOrderConfirmDate) {
slabDate = (0, _moment2.default)(slabServiceOrderConfirmDate).format('DD.MM.YY');
}
return _PrismaCmsComponent.prototype.render.call(this, _react2.default.createElement(
'tr',
null,
_react2.default.createElement(
'td',
null,
number,
slabServiceConfirmActions,
slabServiceModals
),
_react2.default.createElement(
'td',
null,
_react2.default.createElement(
'span',
{
className: 'text-block text-ellipsis item-title',
title: title
},
title
)
),
_react2.default.createElement(
'td',
null,
_react2.default.createElement(
'span',
{ className: 'text-block' },
year
)
),
_react2.default.createElement(
'td',
null,
_react2.default.createElement(
'span',
{ className: 'text-block' },
metal
)
),
_react2.default.createElement(
'td',
null,
_react2.default.createElement(
'span',
{ className: 'text-block no-wrap-block' },
_react2.default.createElement(_reactNumberFormat2.default, {
value: price || 0,
displayType: 'text',
thousandSeparator: ' '
})
)
),
_react2.default.createElement(
'td',
null,
preGradeStr
),
_react2.default.createElement(
'td',
null,
_react2.default.createElement(
'div',
{
className: 'tab-block services ready-service'
},
servicesList
)
),
_react2.default.createElement(
'td',
null,
_react2.default.createElement(
'span',
{
className: 'text-block-grade'
},
sheldon_gradeStr,
' ',
sheldon_grade_details ? _react2.default.createElement(
'span',
{
className: 'order-item--sheldon_grade_details'
},
sheldon_grade_details
) : null
)
),
_react2.default.createElement(
'td',
{ className: 'tariff-td'
},
tarifSelect
),
_react2.default.createElement(
'td',
null,
slabDate
),
_react2.default.createElement(
'td',
null,
_react2.default.createElement(
'div',
{ className: 'tab-block services ready-service' },
services.map(function (n) {
var serviceId = n.id,
name = n.name,
code = n.code;
// const ready = ServiceOrders.find(i => i.Service.id === serviceId && i.readyDate)
var serviceOrder = ServiceOrders.find(function (i) {
return i.Service.id === serviceId;
});
var _ref11 = serviceOrder || {},
readyDate = _ref11.readyDate;
var label = _react2.default.createElement(
'label',
null,
readyDate ? (0, _moment2.default)(readyDate).format('DD.MM.YY') : "Дата"
);
return _react2.default.createElement(
'div',
{
key: serviceId,
title: name,
className: ["service_accept", readyDate ? "checked-item" : ""].join(" ")
},
code === "slab" && slab && readyDate ? _react2.default.createElement(
_SlabLink2.default,
{
slab: slab
},
label
) : label
);
})
)
),
_react2.default.createElement(
'td',
null,
_react2.default.createElement(
'span',
{ className: 'text-block' },
_react2.default.createElement(_reactNumberFormat2.default, {
value: amount || 0,
displayType: 'text',
thousandSeparator: ' '
})
)
)
));
};
return OrderItem;
}(_component2.default), _class.propTypes = _extends({}, _component2.default.propTypes, {
item: _propTypes2.default.object.isRequired,
updateItem: _propTypes2.default.func.isRequired,
services: _propTypes2.default.array.isRequired,
amount: _propTypes2.default.number.isRequired,
classes: _propTypes2.default.object.isRequired,
/**
* Заказ может быть в статусе Архивный.
* Элементы такого заказа нельзя редактировать.
*/
canEdit: _propTypes2.default.func.isRequired,
canOrderSlab: _propTypes2.default.func.isRequired,
notGradable: _propTypes2.default.func.isRequired,
getDirty: _propTypes2.default.func.isRequired,
setService: _propTypes2.default.func.isRequired,
isSlabServiceOrdered: _propTypes2.default.func.isRequired
}), _temp);
exports.default = OrderItem;
module.exports = exports['default'];