salix/modules/item/front/fixed-price/index.js

78 lines
2.2 KiB
JavaScript
Raw Normal View History

2021-01-18 13:16:39 +00:00
import ngModule from '../module';
import Section from 'salix/components/section';
import './style.scss';
export default class Controller extends Section {
constructor($element, $) {
super($element, $);
this.smartTableOptions = {
activeButtons: {
search: true
}
};
2021-01-18 13:16:39 +00:00
}
add() {
const lastId = this.$.model.data.length - 1;
const lastItem = this.$.model.data[lastId];
this.$.model.insert({
itemFk: lastItem.itemFk,
name: lastItem.name,
subName: lastItem.subName,
value5: lastItem.value5,
value6: lastItem.value6,
value7: lastItem.value7,
value8: lastItem.value8,
value9: lastItem.value9,
value10: lastItem.value10,
warehouseFk: lastItem.warehouseFk,
rate2: lastItem.rate2,
rate3: lastItem.rate3,
hasMinPrice: lastItem.hasMinPrice,
minPrice: lastItem.minPrice,
started: lastItem.started,
ended: lastItem.ended,
});
2021-01-18 13:16:39 +00:00
}
upsertPrice(price) {
price.hasMinPrice = price.minPrice ? true : false;
2021-01-18 15:32:54 +00:00
let requiredFields = ['itemFk', 'started', 'ended', 'rate2', 'rate3'];
2021-01-18 13:16:39 +00:00
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);
}
2021-01-19 19:56:33 +00:00
itemSearchFunc($search) {
return /^\d+$/.test($search)
? {id: $search}
: {name: {like: '%' + $search + '%'}};
}
2021-01-18 13:16:39 +00:00
}
ngModule.vnComponent('vnFixedPrice', {
template: require('./index.html'),
controller: Controller
});