| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103 |
- import { Collection, Model } from 'js-abstract-model'
- import { MediaList } from 'src/models/Media.js'
- class Product extends Model {
- constructor (data) {
- super(data, [
- { key: 'id' },
- { key: 'thumbnail' },
- { key: 'title' },
- { key: 'inventory' },
- { key: 'store_category' },
- { key: 'content_category' },
- { key: 'unit_price' },
- { key: 'sellable_price' },
- {
- key: 'discount_percent',
- default: 0
- },
- { key: 'description' },
- { key: 'maximum_order_count' },
- { key: 'is_physical' },
- { key: 'is_hidden' },
- { key: 'weight' },
- { key: 'physical_type' },
- { key: 'specification' },
- {
- key: 'is_add_to_basket_disabled',
- default: true
- },
- {
- key: 'medias',
- default: []
- },
- {
- key: 'medias_info',
- relatedModel: MediaList
- }
- ], {
- is_physical: {
- infoKey: 'is_physical_info',
- enumListKey: 'is_physicalEnums',
- enums: [
- {
- label: 'فیزیکی',
- value: true
- },
- {
- label: 'مجازی',
- value: false
- }
- ]
- },
- is_hidden: {
- infoKey: 'is_hidden_info',
- enumListKey: 'is_hiddenEnums',
- enums: [
- {
- label: 'نمایان',
- value: true
- },
- {
- label: 'مخفی',
- value: false
- }
- ]
- },
- physical_type: {
- infoKey: 'physical_type_info',
- enumListKey: 'physical_typeEnums',
- enums: [
- {
- label: 'لوح فشرده',
- value: 'CD'
- },
- {
- label: 'کتاب',
- value: 'BOOK'
- },
- {
- label: 'جزوه',
- value: 'MANUSCRIPT'
- }
- ]
- }
- })
- if (!this.thumbnail) {
- this.thumbnail = '/img/sample-post-thumbnail.jpg'
- }
- }
- getFinalPrice () {
- return parseInt(this.unit_price * (100 - this.discount_percent)).toLocaleString('fa')
- }
- }
- class ProductList extends Collection {
- model () {
- return Product
- }
- }
- export { Product, ProductList }
|