PR-41 Формирование заказа Заказчиком

Косметические правки и мелкие доработки
remotes/origin/PR-41
booblegum 9 years ago
parent 974437d40d
commit d7fdc559fc
  1. 36
      assets/js/build/create_project.js
  2. 104
      assets/js/build/init_customer_project_create.js
  3. 2
      assets/js/src/customer_project_create.js
  4. 19
      assets/js/src/init_customer_project_create.js
  5. 21
      assets/js/src/seeds/only_one_checkbox.js
  6. 2
      assets/lib/proekton-components/js/src/NoTreeSelect.js
  7. 8
      assets/lib/proekton-components/js/src/SelectOrCreate.js
  8. 6
      assets/lib/proekton-components/js/src/base/AbsBaseSelect.js
  9. 6
      assets/lib/proekton-components/js/src/decorators.js
  10. 1
      assets/lib/proekton-components/sass/parts/_select-box.sass
  11. 2
      assets/sass/common/_parts.sass
  12. 60
      assets/sass/components/custom-components.sass
  13. 11
      assets/sass/main.sass
  14. 61
      projects/templates/customer_project_create.html
  15. 10
      projects/templates/project_filter.html
  16. 10
      users/templates/user_profile_edit.html

@ -56,7 +56,9 @@
var _read_more = __webpack_require__(4);
var _test_seeds = __webpack_require__(5);
var _only_one_checkbox = __webpack_require__(5);
var _test_seeds = __webpack_require__(6);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
@ -78,6 +80,7 @@
(0, _custom_check.customCheckInit)();
showHideRealry();
(0, _read_more.readMoreInit)();
(0, _only_one_checkbox.onlyOneCheckboxInit)('#safe', '#by_agreement');
});
/***/ },
@ -236,6 +239,37 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
function onlyOneCheckboxInit(selector_first, selector_second) {
//TODO: need refactoring...
var $first = $(selector_first);
var $second = $(selector_second);
$first.change(function () {
if ($first.prop("checked")) {
$second.prop("checked", false);
} else {
$second.attr("checked", true);
}
});
$second.change(function () {
if ($second.prop("checked")) {
$first.attr("checked", false);
} else {
$first.attr("checked", true);
}
});
}
exports.onlyOneCheckboxInit = onlyOneCheckboxInit;
/***/ },
/* 6 */
/***/ function(module, exports) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});

@ -46,27 +46,27 @@
'use strict';
var _SelectedContainer = __webpack_require__(6);
var _SelectedContainer = __webpack_require__(7);
var _SelectedContainer2 = _interopRequireDefault(_SelectedContainer);
var _SelectedContainerCreate = __webpack_require__(10);
var _SelectedContainerCreate = __webpack_require__(11);
var _SelectedContainerCreate2 = _interopRequireDefault(_SelectedContainerCreate);
var _NoTreeSelect = __webpack_require__(11);
var _NoTreeSelect = __webpack_require__(12);
var _NoTreeSelect2 = _interopRequireDefault(_NoTreeSelect);
var _TreeSelect = __webpack_require__(13);
var _TreeSelect = __webpack_require__(14);
var _TreeSelect2 = _interopRequireDefault(_TreeSelect);
var _SingleTreeSelect = __webpack_require__(14);
var _SingleTreeSelect = __webpack_require__(15);
var _SingleTreeSelect2 = _interopRequireDefault(_SingleTreeSelect);
var _SelectOrCreate = __webpack_require__(15);
var _SelectOrCreate = __webpack_require__(16);
var _SelectOrCreate2 = _interopRequireDefault(_SelectOrCreate);
@ -165,9 +165,24 @@
var check = $('#checkbox-sb-realty');
if (!check.prop("checked")) {
$realty.hide();
console.log("hide");
}
});
var sb_realty_top = new _NoTreeSelect2.default($('#sb-realty-top'), { url: url, visible: false });
sb_realty_top.setHeader("Объект");
sb_realty_top.connectSelectedContainer(select_realty);
select_realty.on("add", function (args) {
// console.log("add args = ", args);
//TODO: Костыли!!!
var id = args[0];
if (id.text) return;
var el = sb_realty.dataTree.getElementById(id);
sb_realty_top.$searchInput.val(el.name);
sb_realty_top.selectedEl.id = id;
sb_realty_top.selectedEl.value = el.name;
sb_realty_top.show();
sb_realty.selectedEl.id = id;
sb_realty._fillBoxes();
});
}
var sb_loc_main = void 0,
@ -189,7 +204,8 @@
/* 3 */,
/* 4 */,
/* 5 */,
/* 6 */
/* 6 */,
/* 7 */
/***/ function(module, exports, __webpack_require__) {
'use strict';
@ -204,15 +220,15 @@
var _desc, _value, _class; // `
var _DataTree = __webpack_require__(7);
var _DataTree = __webpack_require__(8);
var _DataTree2 = _interopRequireDefault(_DataTree);
var _NoTreeData = __webpack_require__(8);
var _NoTreeData = __webpack_require__(9);
var _NoTreeData2 = _interopRequireDefault(_NoTreeData);
var _decorators = __webpack_require__(9);
var _decorators = __webpack_require__(10);
var _decorators2 = _interopRequireDefault(_decorators);
@ -443,7 +459,7 @@
exports.default = SelectedContainer;
/***/ },
/* 7 */
/* 8 */
/***/ function(module, exports) {
"use strict";
@ -598,7 +614,7 @@
exports.default = DataTree;
/***/ },
/* 8 */
/* 9 */
/***/ function(module, exports) {
"use strict";
@ -654,7 +670,7 @@
exports.default = NoTreeData;
/***/ },
/* 9 */
/* 10 */
/***/ function(module, exports) {
"use strict";
@ -673,7 +689,7 @@
var binds = [];
args = Array.from(args);
console.log("args -->", args.slice());
// console.log("args -->", args.slice());
var _iteratorNormalCompletion = true;
var _didIteratorError = false;
var _iteratorError = undefined;
@ -688,9 +704,10 @@
if (arg && arg.bindFunc) {
binds.push(arg);
args.splice(args.indexOf(arg), 1);
} else {
console.log("arg = ", arg);
}
// else {
// console.log("arg = ", arg);
// }
}
} catch (err) {
_didIteratorError = true;
@ -716,7 +733,7 @@
for (var _iterator2 = binds[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {
var bind = _step2.value;
bind.func.bind(this)();
bind.func.bind(this)(args);
}
} catch (err) {
_didIteratorError2 = true;
@ -740,7 +757,7 @@
// export {onBind};
/***/ },
/* 10 */
/* 11 */
/***/ function(module, exports, __webpack_require__) {
'use strict';
@ -756,11 +773,11 @@
var _desc, _value, _class;
var _SelectedContainer2 = __webpack_require__(6);
var _SelectedContainer2 = __webpack_require__(7);
var _SelectedContainer3 = _interopRequireDefault(_SelectedContainer2);
var _decorators = __webpack_require__(9);
var _decorators = __webpack_require__(10);
var _decorators2 = _interopRequireDefault(_decorators);
@ -841,7 +858,7 @@
exports.default = SelectedContainerCreate;
/***/ },
/* 11 */
/* 12 */
/***/ function(module, exports, __webpack_require__) {
'use strict';
@ -855,9 +872,9 @@
var _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if ("value" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };
var _AbsBaseSelect2 = __webpack_require__(12);
var _AbsBaseSelect2 = __webpack_require__(13);
var _NoTreeData = __webpack_require__(8);
var _NoTreeData = __webpack_require__(9);
var _NoTreeData2 = _interopRequireDefault(_NoTreeData);
@ -890,7 +907,7 @@
key: '_buildComponents',
value: function _buildComponents(data) {
_get(NoTreeSelect.prototype.__proto__ || Object.getPrototypeOf(NoTreeSelect.prototype), '_buildComponents', this).call(this, data);
this.dataTree = this.dataTree || new _NoTreeData2.default(data.results);
this.dataTree = this.dataTree || new _NoTreeData2.default(data.results || data);
this.$buttonAddOptions.hide();
this._fillOptionsData();
this._bindEvents();
@ -923,7 +940,7 @@
exports.default = NoTreeSelect;
/***/ },
/* 12 */
/* 13 */
/***/ function(module, exports) {
"use strict";
@ -950,7 +967,7 @@
_ref2$preloaderTempla = _ref2.preloaderTemplate,
preloaderTemplate = _ref2$preloaderTempla === undefined ? "" : _ref2$preloaderTempla;
return " \n " + preloaderTemplate + "\n <input class=\"select-box-search\" type=\"text\" placeholder=\"\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435/\u041F\u043E\u0438\u0441\u043A\">\n <button style=\"display: none\" class=\"button-add options\">\u041F\u0420\u0418\u041C\u0415\u041D\u0418\u0422\u042C</button>\n";
return " \n " + preloaderTemplate + "\n <input class=\"select-box-search\" type=\"text\" placeholder=\"\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435/\u041F\u043E\u0438\u0441\u043A\" value=\"\">\n <button style=\"display: none\" class=\"button-add options\">\u041F\u0420\u0418\u041C\u0415\u041D\u0418\u0422\u042C</button>\n";
};
var tmpl_elementResult = function tmpl_elementResult(el, id, header) {
@ -1041,7 +1058,7 @@
}
if (url) {
this.dataPromise = this.getData(url);
//TODO: дописать более гибкую обработку url
//TODO: дописать нормальную обработку url
this.type = url.split("/")[2];
}
var _dataPromise = void 0;
@ -1181,6 +1198,8 @@
this.$resultsBox.hide();
this.$optionsBox.hide();
this.$buttonAddOptions.hide();
//TODO: реализовать нормальное show/hide + visible
if (!this.visible) this.hide();
// TODO: сделать проверку на наличие всех нужных элементов и их корректый jq select
}
}, {
@ -1463,7 +1482,7 @@
exports.AbsBaseSelect = AbsBaseSelect;
/***/ },
/* 13 */
/* 14 */
/***/ function(module, exports, __webpack_require__) {
'use strict';
@ -1477,9 +1496,9 @@
var _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if ("value" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };
var _AbsBaseSelect2 = __webpack_require__(12);
var _AbsBaseSelect2 = __webpack_require__(13);
var _DataTree = __webpack_require__(7);
var _DataTree = __webpack_require__(8);
var _DataTree2 = _interopRequireDefault(_DataTree);
@ -1588,7 +1607,7 @@
exports.default = TreeSelect;
/***/ },
/* 14 */
/* 15 */
/***/ function(module, exports, __webpack_require__) {
'use strict';
@ -1600,9 +1619,9 @@
var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
var _AbsBaseSelect = __webpack_require__(12);
var _AbsBaseSelect = __webpack_require__(13);
var _TreeSelect2 = __webpack_require__(13);
var _TreeSelect2 = __webpack_require__(14);
var _TreeSelect3 = _interopRequireDefault(_TreeSelect2);
@ -1683,7 +1702,7 @@
exports.default = SingleTreeSelect;
/***/ },
/* 15 */
/* 16 */
/***/ function(module, exports, __webpack_require__) {
'use strict';
@ -1697,9 +1716,9 @@
var _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if ("value" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };
var _AbsBaseSelect2 = __webpack_require__(12);
var _AbsBaseSelect2 = __webpack_require__(13);
var _NoTreeData = __webpack_require__(8);
var _NoTreeData = __webpack_require__(9);
var _NoTreeData2 = _interopRequireDefault(_NoTreeData);
@ -1799,8 +1818,8 @@
console.log("Error loading data -->", error);
}
}, {
key: '_onButtonAddOptions',
value: function _onButtonAddOptions(e) {
key: '_fillBoxes',
value: function _fillBoxes() {
var _this2 = this;
var self = this;
@ -1808,7 +1827,7 @@
this.getData('/api/realties?id=' + id).then(function (_data) {
var data = _data.results[0] || _data[0];
// this._addToSelectedContainer(this.selectedEl.id);
console.log("res data = ", data);
// console.log("res data = ", data);
var _iteratorNormalCompletion = true;
var _didIteratorError = false;
var _iteratorError = undefined;
@ -1847,6 +1866,11 @@
}
}
}).catch(this._onLoadDataError.bind(self));
}
}, {
key: '_onButtonAddOptions',
value: function _onButtonAddOptions(e) {
this._fillBoxes();
_get(SelectOrCreate.prototype.__proto__ || Object.getPrototypeOf(SelectOrCreate.prototype), '_onButtonAddOptions', this).call(this, e);
}
}, {

@ -2,6 +2,7 @@ import fileUploadInit from './seeds/file_upload'
import {extendedFieldInit} from './seeds/extended_field'
import {customCheckInit} from './seeds/custom_check'
import {readMoreInit} from './seeds/read_more'
import {onlyOneCheckboxInit} from './seeds/only_one_checkbox'
import {print} from './seeds/test_seeds'
function showHideRealry() {
@ -22,4 +23,5 @@ $(function () {
customCheckInit();
showHideRealry();
readMoreInit();
onlyOneCheckboxInit('#safe', '#by_agreement');
});

@ -103,10 +103,25 @@ $(function () {
let check = $('#checkbox-sb-realty');
if (!check.prop("checked")) {
$realty.hide();
console.log("hide");
}
}
)
);
let sb_realty_top = new NoTreeSelect($('#sb-realty-top'), {url, visible: false});
sb_realty_top.setHeader("Объект");
sb_realty_top.connectSelectedContainer(select_realty);
select_realty.on("add", (args)=> {
// console.log("add args = ", args);
//TODO: Костыли!!!
let id = args[0];
if (id.text) return;
let el = sb_realty.dataTree.getElementById(id);
sb_realty_top.$searchInput.val(el.name);
sb_realty_top.selectedEl.id = id;
sb_realty_top.selectedEl.value = el.name;
sb_realty_top.show();
sb_realty.selectedEl.id = id;
sb_realty._fillBoxes();
})
}
let sb_loc_main, sb_constr_main, sb_build_main;

@ -0,0 +1,21 @@
function onlyOneCheckboxInit(selector_first, selector_second) {
//TODO: need refactoring...
let $first = $(selector_first);
let $second = $(selector_second);
$first.change(()=> {
if ($first.prop("checked")){
$second.prop("checked", false)
}else {
$second.attr("checked", true)
}
});
$second.change(()=> {
if ($second.prop("checked")){
$first.attr("checked", false)
}else {
$first.attr("checked", true)
}
})
}
export {onlyOneCheckboxInit}

@ -9,7 +9,7 @@ export default class NoTreeSelect extends AbsBaseSelect{
_buildComponents(data) {
super._buildComponents(data);
this.dataTree = this.dataTree || new NoTreeData(data.results);
this.dataTree = this.dataTree || new NoTreeData(data.results || data);
this.$buttonAddOptions.hide();
this._fillOptionsData();
this._bindEvents();

@ -72,14 +72,14 @@ export default class SelectOrCreate extends AbsBaseSelect {
console.log("Error loading data -->", error);
}
_onButtonAddOptions(e) {
_fillBoxes() {
const self = this;
let id = this.selectedEl.id;
this.getData(`/api/realties?id=${id}`)
.then((_data)=> {
let data = _data.results[0] || _data[0];
// this._addToSelectedContainer(this.selectedEl.id);
console.log("res data = ", data);
// console.log("res data = ", data);
for (let box of this.boxes) {
box.selectedContainer.removeAll();
//TODO: Костыль!
@ -99,6 +99,10 @@ export default class SelectOrCreate extends AbsBaseSelect {
}
)
.catch(this._onLoadDataError.bind(self));
}
_onButtonAddOptions(e) {
this._fillBoxes();
super._onButtonAddOptions(e);
}

@ -19,7 +19,7 @@ const tmpl_selectBoxEditCont = ({preloaderTemplate = ""}={}) =>
const tmpl_selectBox = ({preloaderTemplate = ""}={}) =>
`
${preloaderTemplate}
<input class="select-box-search" type="text" placeholder="Выберите/Поиск">
<input class="select-box-search" type="text" placeholder="Выберите/Поиск" value="">
<button style="display: none" class="button-add options">ПРИМЕНИТЬ</button>
`;
@ -116,7 +116,7 @@ export default class AbsBaseSelect {
}
if (url) {
this.dataPromise = this.getData(url);
//TODO: дописать более гибкую обработку url
//TODO: дописать нормальную обработку url
this.type = url.split("/")[2]
}
let _dataPromise;
@ -284,6 +284,8 @@ export default class AbsBaseSelect {
this.$resultsBox.hide();
this.$optionsBox.hide();
this.$buttonAddOptions.hide();
//TODO: реализовать нормальное show/hide + visible
if (!this.visible) this.hide();
// TODO: сделать проверку на наличие всех нужных элементов и их корректый jq select
}

@ -4,7 +4,7 @@ export default function onBind(target, name, descriptor) {
descriptor.value = function (...args) {
let binds = [];
args = Array.from(args);
console.log("args -->", args.slice());
// console.log("args -->", args.slice());
for (let arg of args.slice()) {
// console.log("onBind -->", typeof arg, "arg = ", arg);
// console.log("arg.func -->", typeof arg.originalEvent);
@ -12,13 +12,11 @@ export default function onBind(target, name, descriptor) {
if (arg && arg.bindFunc) {
binds.push(arg);
args.splice(args.indexOf(arg), 1);
}else {
console.log("arg = ", arg);
}
}
method.apply(this, args);
for (let bind of binds) {
bind.func.bind(this)();
bind.func.bind(this)(args);
}
return this;
}

@ -85,6 +85,7 @@ input.select-box-search
image: url("#{$static}/img/zoom.svg")
repeat: no-repeat
position-x: right
position-y: center
size: 40px 40px
color: white
margin-bottom: -1px

@ -12,6 +12,8 @@
.fa
color: #{map_get($component_colors, header_favicon)}
position: relative
padding-left: 2px
padding-right: 2px
&:hover
cursor: pointer
.required

@ -7,14 +7,20 @@
@extend %header
max-width: 100%
label
font-weight: normal
.simple-input
height: 51px
width: 100%
border: 1px solid #cccccc
border: 1px solid #{map_get($component_colors, border)}
outline: none
padding: 5px 40px 5px 20px
background-color: white
margin-bottom: -1px
&:-webkit-autofill
-webkit-box-shadow: 0 0 0 1000px white inset
//transition: background-color 5000s ease-in-out 0s
&.icon-rub
background:
image: url("#{$static}/img/rub.png")
@ -31,11 +37,13 @@
position-y: center
size: 40px 14px
color: white
&.italic::-webkit-input-placeholder
font-style: italic
.simple-select
height: 51px
width: 100%
border: 1px solid #cccccc
border: 1px solid #{map_get($component_colors, border)}
outline: none
padding: 5px 40px 5px 20px
background-color: white
@ -50,18 +58,11 @@
.text
color: #a3a3a3
.upload-new
width: 50%
height: 30px
overflow: hidden
cursor: pointer
border-radius: 40px
border: 1px solid #FF0029
&:hover
box-shadow: 0 0 15px rgba(0, 0, 0, 0.2)
-webkit-transform: scale(1.04)
-moz-transform: scale(1.04)
transform: scale(1.04)
textarea.description
max-width: 100%
width: 100%
&::-webkit-input-placeholder
font-style: italic
.btn-simple
border-radius: 40px
@ -82,13 +83,23 @@
&:active
outline: 0 !important
//.btn-simple
.upload-new, .btn-simple
transition: all 0.3s
cursor: pointer
.upload-new
width: 50%
height: 30px
overflow: hidden
cursor: pointer
border-radius: 40px
border: 1px solid #FF0029
box-sizing: border-box
&:hover
box-shadow: 0 0 15px rgba(0, 0, 0, 0.2)
-webkit-transform: scale(1.04)
-moz-transform: scale(1.04)
transform: scale(1.04)
input
display: block !important
width: 100% !important
@ -99,19 +110,28 @@
line-height: 30px
text-transform: uppercase
margin: -30px 0 0 0
font-size: 12px
text-align: center
p,
& + span
font-size: 10pt
font-family: Myriad, sans-serif
.upload-new.paper-clip
padding-left: 40px
padding-right: 15px
background: url("#{$static}/img/paper-clip_icon._g.png") no-repeat left
background-size: 30px 30px
background:
image: url("#{$static}/img/paper-clip_icon._g.png")
repeat: no-repeat
position-x: 5%
position-y: center
size: 30px 30px
color: white
//background: no-repeat left
//background-size: 30px 30px
width: auto
.upload-new.paper-clip p
font-size: 12pt
//font-size: 10pt
width: auto
text-align: right

@ -8,8 +8,8 @@ body
.main-scope
> .row
border-right: 1px solid #CFCFCF
border-left: 1px solid #CFCFCF
border-right: 1px solid #{map_get($component_colors, border)}
border-left: 1px solid #{map_get($component_colors, border)}
.main-content
padding: 43px 25px 40px 25px
@ -18,7 +18,8 @@ body
line-height: 36px
padding: 0 100px
text-align: center
width: 100%
border-bottom: 1px solid #{map_get($component_colors, border)}
//width: 100%
h1
font:
family: 'pfbeausanspro-thin', sans-serif
@ -58,8 +59,8 @@ body
padding-top: $pad
padding-bottom: $pad
margin-top: $pad
border-top: 1px solid #CFCFCF
border-bottom: 1px solid #CFCFCF
border-top: 1px solid #{map_get($component_colors, border)}
border-bottom: 1px solid #{map_get($component_colors, border)}
.select-text
color: #{map_get($component_colors, select)}

@ -5,21 +5,10 @@
{% block old_css %}
{% endblock %}
{% block head_css %}
{# <link rel='stylesheet' href='{% static "lib/proekton-components/css/fonts.css" %}'>#}
{# <link rel='stylesheet' href='{% static "lib/proekton-components/css/selected-container.css" %}'>#}
{# <link rel='stylesheet' href='{% static "lib/proekton-components/css/editable-container.css" %}'>#}
{# <link rel='stylesheet' href='{% static "lib/proekton-components/css/select-box.css" %}'>#}
<link rel='stylesheet' href='{% static "css/font-awesome.min.css" %}'>
<link rel='stylesheet' href='{% sass_src "sass/main.sass" %}'>
{# <link rel='stylesheet' href='{% sass_src "sass/fonts.sass" %}'>#}
<link rel='stylesheet' href='{% sass_src "lib/proekton-components/sass/components.sass" %}'>
<link rel='stylesheet' href='{% sass_src "sass/components/custom-components.sass" %}'>
{# <link rel='stylesheet' href='{% static "css/project_filter.css" %}'>#}
{# <link rel='stylesheet' href='{% static "css/user_profile_edit.css" %}'>#}
{# <link rel='stylesheet' href='{% static "css/custom-checkboxes.css" %}'>#}
{# <link rel='stylesheet' href='{% static "css/customer_project_create.css" %}'>#}
<link rel='stylesheet' href='{% sass_src "lib/proekton-components/sass/components.sass" %}'>
{% endblock %}
@ -27,15 +16,15 @@
{% include 'partials/modals/project_work_type_suggestion.html' %}
{% include 'partials/header.html' %}
<div class="container main-scope">
<div class="row main-content">
<div class="col-lg-12">
<div class="row">
<div class="row title-scope">
<div class="col-lg-12">
<div class="title-scope">
{# <div class="title-scope">#}
<h1>Новый заказ</h1>
{# </div>#}
</div>
</div>
</div>
<div class="row main-content">
<div class="col-lg-12">
<form action="{% url 'projects:customer-project-create' %}" method="POST"
enctype="multipart/form-data" novalidate>
{% csrf_token %}
@ -46,13 +35,14 @@
<i class="fa fa-question-circle-o" aria-hidden="true"></i>
<span class="required">Обязательно</span>
<input value="{{ form.name.value }}" name="{{ form.name.html_name }}"
class="simple-input"
class="simple-input italic"
placeholder="Пример: Дизайн квартиры, Армирование фундамента, Конструкции перекрытия и т.д."
autocomplete="off"
required>
</div>
</div>
<div class="col-lg-3">
<div id="sb-realty-top"></div>
</div>
</div>
<div class="row vertical-child mod-align-bottom">
@ -100,7 +90,7 @@
</div>
<i class="fa fa-question-circle-o" aria-hidden="true" title=""></i>
<span class="required">Обязательно</span>
<textarea style="width: 100%" rows="6" placeholder=
<textarea class="description" rows="6" placeholder=
" Пример №1
Разработать архиьектурные решения для жилого дома на основании эскизной проработки
@ -115,7 +105,7 @@
class="upload-new paper-clip">
<p id="fileUploadAddBtn" style="margin: 0">прикрепить файл</p>
</div>
<span style="display: inline-block;vertical-align: inherit;">до 100 файлов</span>
<span style="display: inline-block;vertical-align: inherit;">ДО 100 ФАЙЛОВ</span>
</div>
<ul style="float: none" class="list-new-new">
@ -152,7 +142,7 @@
</div>
<div class="row">
<div class="col-lg-6">
<label class="mod-align-center">
<label class="mod-align-center header">
<input name="{{ form.deal_type.html_name }}" class="custom-radio" type="radio"
{% if form.deal_type.value == 'secure_deal' %}checked{% endif %}
value="secure_deal">&nbsp;
@ -201,7 +191,7 @@
</div>
</div>
<div class="col-lg-6">
<label class="mod-align-center">
<label class="mod-align-center header">
<input name="{{ form.deal_type.html_name }}" class="custom-radio" type="radio"
{% if form.deal_type.value == 'direct_payment' %}checked{% endif %}
value="direct_payment">&nbsp;
@ -229,20 +219,25 @@
<div class="header ">Бюджет
<i class="fa fa-question-circle-o" aria-hidden="true" title=""></i>
</div>
<input name="{{ form.budget.html_name }}" class="simple-input icon-rub" placeholder="Введите сумму"
value="{{ form.budget.value }}">
<input name="{{ form.budget.html_name }}" class="simple-input icon-rub js-number-format"
placeholder="Введите сумму"
value="{{ form.budget.value }}"
autocomplete="off">
</div>
<div class="col-lg-3">
<div class="header">Срок
<i class="fa fa-question-circle-o" aria-hidden="true" title=""></i>
</div>
<input name="{{ form.term.html_name }}" class="simple-input icon-days" placeholder="Введите срок"
value="{{ form.term.value }}">
<input name="{{ form.term.html_name }}" class="simple-input icon-days js-number-format"
placeholder="Введите срок"
value="{{ form.term.value }}"
autocomplete="off">
</div>
<div class="col-lg-4">
<div class="row">
<div class="col-lg-1">
<input name="{{ form.price_and_term_required.html_name }}" id="safe" class="custom-checkbox" type="checkbox"
<input name="{{ form.price_and_term_required.html_name }}" id="safe"
class="custom-checkbox" type="checkbox"
{% if form.price_and_term_required.value %}checked{% endif %}>
</div>
<div class="col-lg-11">
@ -279,9 +274,9 @@
<div class="col-lg-12">
<div class="row">
<div class="col-lg-12">
<label class="mod-align-center">
<label class="header mod-align-center">
<input id="checkbox-sb-realty" class="custom-checkbox" type="checkbox">
&nbsp; Создать/выбрать объект, прикрепить объект к заказу &nbsp;
&nbsp; Создать/выбрать объект, прикрепить заказ в объект &nbsp;
<i class="fa fa-question-circle-o" aria-hidden="true" title=""></i>
</label>
</div>
@ -379,4 +374,10 @@
<script src='{% static "js/bootstrap.min.js" %}'></script>
<script src='{% static "js/build/init_customer_project_create.js" %}'></script>
<script src='{% static "js/build/create_project.js" %}'></script>
<script src='{% static "js/jquery.mask.min.js" %}'></script>
<script>
$(function () {
$('.js-number-format').mask('0000000000');
})
</script>
{% endblock %}

@ -1,10 +1,12 @@
{% extends 'partials/base.html' %}
{% load staticfiles %}
{% load sass_tags %}
{% block head_css %}
<link rel='stylesheet' href='{% static "lib/proekton-components/css/fonts.css" %}'>
<link rel='stylesheet' href='{% static "lib/proekton-components/css/selected-container.css" %}'>
<link rel='stylesheet' href='{% static "lib/proekton-components/css/editable-container.css" %}'>
<link rel='stylesheet' href='{% static "lib/proekton-components/css/select-box.css" %}'>
{# <link rel='stylesheet' href='{% static "lib/proekton-components/css/fonts.css" %}'>#}
{# <link rel='stylesheet' href='{% static "lib/proekton-components/css/selected-container.css" %}'>#}
{# <link rel='stylesheet' href='{% static "lib/proekton-components/css/editable-container.css" %}'>#}
{# <link rel='stylesheet' href='{% static "lib/proekton-components/css/select-box.css" %}'>#}
<link rel='stylesheet' href='{% sass_src "lib/proekton-components/sass/components.sass" %}'>
<link rel='stylesheet' href='{% static "css/project_filter.css" %}'>{# other #}
<link rel='stylesheet' href='{% static "css/font-awesome.min.css" %}'>
{% endblock %}

@ -1,11 +1,13 @@
{% extends 'partials/base.html' %}
{% load staticfiles %}
{% load thumbnail %}
{% load sass_tags %}
{% block head_css %}
<link rel='stylesheet' href='{% static "lib/proekton-components/css/fonts.css" %}'>
<link rel='stylesheet' href='{% static "lib/proekton-components/css/selected-container.css" %}'>
<link rel='stylesheet' href='{% static "lib/proekton-components/css/editable-container.css" %}'>
<link rel='stylesheet' href='{% static "lib/proekton-components/css/select-box.css" %}'>
{# <link rel='stylesheet' href='{% static "lib/proekton-components/css/fonts.css" %}'>#}
{# <link rel='stylesheet' href='{% static "lib/proekton-components/css/selected-container.css" %}'>#}
{# <link rel='stylesheet' href='{% static "lib/proekton-components/css/editable-container.css" %}'>#}
{# <link rel='stylesheet' href='{% static "lib/proekton-components/css/select-box.css" %}'>#}
<link rel='stylesheet' href='{% sass_src "lib/proekton-components/sass/components.sass" %}'>
<link rel='stylesheet' href='{% static "css/project_filter.css" %}'>{# other #}
<link rel='stylesheet' href='{% static "css/font-awesome.min.css" %}'>
<link rel='stylesheet' href='{% static "css/user_profile_edit.css" %}'>

Loading…
Cancel
Save