55 lines
1.4 KiB
JavaScript
55 lines
1.4 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);
|
|
}
|
|
|
|
itemSearchFunc($search) {
|
|
return /^\d+$/.test($search)
|
|
? {id: $search}
|
|
: {name: {like: '%' + $search + '%'}};
|
|
}
|
|
}
|
|
|
|
ngModule.vnComponent('vnFixedPrice', {
|
|
template: require('./index.html'),
|
|
controller: Controller
|
|
});
|