49 lines
1.3 KiB
JavaScript
49 lines
1.3 KiB
JavaScript
|
import ngModule from '../module';
|
||
|
import Section from 'salix/components/section';
|
||
|
import './style.scss';
|
||
|
|
||
|
export default class Controller extends Section {
|
||
|
constructor($element, $) {
|
||
|
super($element, $);
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Inserts a new instance
|
||
|
*/
|
||
|
add() {
|
||
|
this.$.model.insert({});
|
||
|
}
|
||
|
|
||
|
upsertPrice(price) {
|
||
|
price.hasMinPrice = price.minPrice ? true : false;
|
||
|
let requiredFields = ['itemFk', 'started', 'ended', 'rate2', 'rate3'];
|
||
|
|
||
|
for (let field of requiredFields)
|
||
|
if (price[field] == undefined) return;
|
||
|
|
||
|
const query = 'FixedPrices/upsertFixedPrice';
|
||
|
this.$http.patch(query, price)
|
||
|
.then(res => {
|
||
|
this.vnApp.showSuccess(this.$t('Data saved!'));
|
||
|
Object.assign(price, res.data);
|
||
|
});
|
||
|
}
|
||
|
|
||
|
removePrice($index) {
|
||
|
const price = this.$.model.data[$index];
|
||
|
if (price.id) {
|
||
|
this.$http.delete(`FixedPrices/${price.id}`)
|
||
|
.then(() => {
|
||
|
this.$.model.remove($index);
|
||
|
this.vnApp.showSuccess(this.$t('Data saved!'));
|
||
|
});
|
||
|
} else
|
||
|
this.$.model.remove($index);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
ngModule.vnComponent('vnFixedPrice', {
|
||
|
template: require('./index.html'),
|
||
|
controller: Controller
|
||
|
});
|