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 } }; } 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, }); } 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 });