zone basic data
This commit is contained in:
parent
6fc85b0e5a
commit
564370180c
|
@ -4,18 +4,19 @@ import './style.scss';
|
|||
|
||||
export default class InputTime extends Textfield {
|
||||
|
||||
constructor($element, $scope, $attrs, vnTemplate, $transclude, $filter) {
|
||||
super($element, $scope, $attrs, vnTemplate, $transclude);
|
||||
|
||||
this.$filter = $filter;
|
||||
}
|
||||
|
||||
get value() {
|
||||
return this._value;
|
||||
}
|
||||
|
||||
set value(value) {
|
||||
this._value = value;
|
||||
if (!value) return;
|
||||
|
||||
let newDate = new Date(value);
|
||||
newDate.setSeconds(0);
|
||||
newDate.setMilliseconds(0);
|
||||
|
||||
this._value = newDate;
|
||||
|
||||
this.hasValue = this._value !== null;
|
||||
|
||||
if (this.hasValue) this.element.classList.add('not-empty');
|
||||
|
@ -24,7 +25,7 @@ export default class InputTime extends Textfield {
|
|||
}
|
||||
|
||||
get step() {
|
||||
return parseFloat(this.input.step);
|
||||
return parseInt(this.input.step);
|
||||
}
|
||||
|
||||
set step(value) {
|
||||
|
@ -32,7 +33,7 @@ export default class InputTime extends Textfield {
|
|||
}
|
||||
}
|
||||
|
||||
InputTime.$inject = ['$element', '$scope', '$attrs', 'vnTemplate', '$transclude', '$filter'];
|
||||
InputTime.$inject = ['$element', '$scope', '$attrs', 'vnTemplate', '$transclude'];
|
||||
|
||||
ngModule.component('vnInputTime', {
|
||||
template: require('./index.html'),
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
|
||||
vn-input-time {
|
||||
@extend vn-textfield;
|
||||
|
||||
|
||||
input[type="time"] {
|
||||
clip-path: inset(0 17px 0 0);
|
||||
outline:none;
|
||||
|
|
|
@ -223,13 +223,15 @@ export default class Watcher extends Component {
|
|||
let newCopy = {};
|
||||
if (data && typeof data === 'object') {
|
||||
Object.keys(data).forEach(
|
||||
val => {
|
||||
if (!isFullEmpty(data[val])) {
|
||||
if (typeof data[val] === 'object') {
|
||||
newCopy[val] = this.copyInNewObject(data[val]);
|
||||
} else {
|
||||
newCopy[val] = data[val];
|
||||
}
|
||||
key => {
|
||||
let value = data[key];
|
||||
if (value instanceof Date)
|
||||
newCopy[key] = new Date(value.getTime());
|
||||
else if (!isFullEmpty(value)) {
|
||||
if (typeof value === 'object')
|
||||
newCopy[key] = this.copyInNewObject(value);
|
||||
else
|
||||
newCopy[key] = value;
|
||||
}
|
||||
}
|
||||
);
|
||||
|
|
|
@ -2,15 +2,17 @@ import isEqual from './equals';
|
|||
|
||||
export default function getModifiedData(object, objectOld) {
|
||||
var newObject = {};
|
||||
if (objectOld === null) {
|
||||
if (objectOld === null)
|
||||
return object;
|
||||
}
|
||||
|
||||
for (var k in object) {
|
||||
var val = object[k];
|
||||
var valOld = objectOld[k] === undefined ? null : objectOld[k];
|
||||
|
||||
if (!isEqual(val, valOld)) {
|
||||
if (val instanceof Object) {
|
||||
if (val instanceof Date) {
|
||||
newObject[k] = new Date(val.getTime());
|
||||
} else if (val instanceof Object) {
|
||||
newObject[k] = getModifiedData(val, valOld);
|
||||
} else {
|
||||
newObject[k] = val;
|
||||
|
|
|
@ -0,0 +1,67 @@
|
|||
<mg-ajax path="/route/api/Zones/{{patch.params.id}}" options="vnPatch"></mg-ajax>
|
||||
<vn-watcher
|
||||
vn-id="watcher"
|
||||
data="$ctrl.zone"
|
||||
form="form"
|
||||
save="patch">
|
||||
</vn-watcher>
|
||||
<form name="form" ng-submit="$ctrl.onSubmit()">
|
||||
<vn-card pad-large>
|
||||
<vn-title>Basic data</vn-title>
|
||||
<vn-horizontal>
|
||||
<vn-textfield vn-two vn-focus
|
||||
label="Name"
|
||||
field="$ctrl.zone.name">
|
||||
</vn-textfield>
|
||||
</vn-horizontal>
|
||||
<vn-horizontal>
|
||||
<vn-autocomplete
|
||||
vn-one
|
||||
field="$ctrl.zone.warehouseFk"
|
||||
url="/route/api/Warehouses"
|
||||
show-field="name"
|
||||
value-field="id"
|
||||
label="Warehouse">
|
||||
</vn-autocomplete>
|
||||
<vn-autocomplete
|
||||
vn-one
|
||||
field="$ctrl.zone.agencyModeFk"
|
||||
url="/route/api/AgencyModes"
|
||||
show-field="name"
|
||||
value-field="id"
|
||||
label="Agency">
|
||||
</vn-autocomplete>
|
||||
</vn-horizontal>
|
||||
<vn-horizontal>
|
||||
<vn-input-number
|
||||
vn-two
|
||||
min="0"
|
||||
step="1"
|
||||
label="Traveling days"
|
||||
field="$ctrl.zone.travelingDays">
|
||||
</vn-input-number>
|
||||
<vn-input-time
|
||||
vn-two
|
||||
label="Estimated hour (ETD)"
|
||||
field="$ctrl.zone.hour">
|
||||
</vn-input-time>
|
||||
</vn-horizontal>
|
||||
<vn-horizontal>
|
||||
<vn-input-number vn-one
|
||||
label="Price"
|
||||
field="$ctrl.zone.price"
|
||||
min="0.00"
|
||||
step="0.50">
|
||||
</vn-input-number>
|
||||
<vn-input-number vn-one
|
||||
label="Bonus"
|
||||
field="$ctrl.zone.bonus"
|
||||
min="0.00"
|
||||
step="0.50">
|
||||
</vn-input-number>
|
||||
</vn-horizontal>
|
||||
</vn-card>
|
||||
<vn-button-bar>
|
||||
<vn-submit label="Save"></vn-submit>
|
||||
</vn-button-bar>
|
||||
</form>
|
|
@ -0,0 +1,27 @@
|
|||
import ngModule from '../../module';
|
||||
|
||||
class Controller {
|
||||
|
||||
constructor($scope) {
|
||||
this.$scope = $scope;
|
||||
}
|
||||
|
||||
onSubmit() {
|
||||
this.$scope.watcher.submit().then(() => {
|
||||
this.card.reload();
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
Controller.$inject = ['$scope'];
|
||||
|
||||
ngModule.component('vnZoneBasicData', {
|
||||
template: require('./index.html'),
|
||||
controller: Controller,
|
||||
bindings: {
|
||||
zone: '<'
|
||||
},
|
||||
require: {
|
||||
card: '^vnZoneCard'
|
||||
}
|
||||
});
|
|
@ -5,4 +5,21 @@ ALTER TABLE `vn`.`zoneNest`
|
|||
RENAME TO `vn`.`zoneGeo` ;
|
||||
|
||||
ALTER TABLE `vn`.`zone`
|
||||
CHANGE COLUMN `agencyFk` `agencyModeFk` INT(11) NOT NULL ;
|
||||
CHANGE COLUMN `agencyFk` `agencyModeFk` INT(11) NOT NULL,
|
||||
CHANGE COLUMN `hour` `hour` DATETIME NOT NULL,
|
||||
CHANGE COLUMN `warehouseFk` `warehouseFk` SMALLINT(6) UNSIGNED NOT NULL ;
|
||||
|
||||
ALTER TABLE `vn`.`zone`
|
||||
ADD INDEX `fk_zone_1_idx` (`warehouseFk` ASC),
|
||||
ADD INDEX `fk_zone_2_idx` (`agencyModeFk` ASC);
|
||||
ALTER TABLE `vn`.`zone`
|
||||
ADD CONSTRAINT `fk_zone_1`
|
||||
FOREIGN KEY (`warehouseFk`)
|
||||
REFERENCES `vn2008`.`warehouse` (`id`)
|
||||
ON DELETE NO ACTION
|
||||
ON UPDATE CASCADE,
|
||||
ADD CONSTRAINT `fk_zone_2`
|
||||
FOREIGN KEY (`agencyModeFk`)
|
||||
REFERENCES `vn2008`.`Agencias` (`Id_Agencia`)
|
||||
ON DELETE NO ACTION
|
||||
ON UPDATE NO ACTION;
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
"required": true
|
||||
},
|
||||
"hour": {
|
||||
"type": "Date",
|
||||
"type": "date",
|
||||
"required": true
|
||||
},
|
||||
"travelingDays": {
|
||||
|
|
Loading…
Reference in New Issue