Compare commits
	
		
			1 Commits
		
	
	
		
			0.1.4
			...
			TrytonApiC
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| efb33ef011 | 
							
								
								
									
										8
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										8
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							| @@ -31,7 +31,7 @@ | ||||
|         "unplugin-fonts": "^1.1.1", | ||||
|         "unplugin-vue-components": "^0.27.2", | ||||
|         "unplugin-vue-router": "^0.10.0", | ||||
|         "vite": "^5.3.3", | ||||
|         "vite": "^5.4.14", | ||||
|         "vite-plugin-vue-layouts": "^0.11.0", | ||||
|         "vite-plugin-vuetify": "^2.0.3", | ||||
|         "vue-router": "^4.4.0" | ||||
| @@ -5229,9 +5229,9 @@ | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/vite": { | ||||
|       "version": "5.4.4", | ||||
|       "resolved": "https://registry.npmjs.org/vite/-/vite-5.4.4.tgz", | ||||
|       "integrity": "sha512-RHFCkULitycHVTtelJ6jQLd+KSAAzOgEYorV32R2q++M6COBjKJR6BxqClwp5sf0XaBDjVMuJ9wnNfyAJwjMkA==", | ||||
|       "version": "5.4.14", | ||||
|       "resolved": "https://registry.npmjs.org/vite/-/vite-5.4.14.tgz", | ||||
|       "integrity": "sha512-EK5cY7Q1D8JNhSaPKVK4pwBFvaTmZxEnoKXLG/U9gmdDcihQGNzFlgIvaxezFR4glP1LsuiedwMBqCXH3wZccA==", | ||||
|       "devOptional": true, | ||||
|       "license": "MIT", | ||||
|       "dependencies": { | ||||
|   | ||||
| @@ -31,7 +31,7 @@ | ||||
|     "unplugin-fonts": "^1.1.1", | ||||
|     "unplugin-vue-components": "^0.27.2", | ||||
|     "unplugin-vue-router": "^0.10.0", | ||||
|     "vite": "^5.3.3", | ||||
|     "vite": "^5.4.14", | ||||
|     "vite-plugin-vue-layouts": "^0.11.0", | ||||
|     "vite-plugin-vuetify": "^2.0.3", | ||||
|     "vue-router": "^4.4.0" | ||||
|   | ||||
| @@ -256,10 +256,10 @@ | ||||
|      }, | ||||
|        onProductChange(index) { | ||||
|            const selectedProductId = this.purchase.saleline_set[index].product; | ||||
|        const selectedProduct = this.products.find(p => p.id == selectedProductId); | ||||
|          this.purchase.saleline_set[index].unit_price = selectedProduct.price; | ||||
|          this.purchase.saleline_set[index].measuring_unit = selectedProduct.measuring_unit; | ||||
|      }, | ||||
|            const selectedProduct = this.products.find(p => p.id == selectedProductId); | ||||
|            this.purchase.saleline_set[index].unit_price = selectedProduct.price; | ||||
|            this.purchase.saleline_set[index].measuring_unit = selectedProduct.measuring_unit; | ||||
|        }, | ||||
|      fetchClients() { | ||||
|        this.api.getCustomers() | ||||
|            .then(data => { | ||||
| @@ -276,7 +276,14 @@ | ||||
|      fetchProducts() { | ||||
|        this.api.getProducts() | ||||
|            .then(data => { | ||||
|              this.products = data; | ||||
|                const transformed_products = data.map(item => ({ | ||||
|                    id: item.id, | ||||
|                    name: item.name, | ||||
|                    price: item["template."]?.list_price?.decimal, | ||||
|                    measuring_unit: item["default_uom."]?.name, | ||||
|                    categories: [] | ||||
|                })); | ||||
|                this.products = transformed_products; | ||||
|            }) | ||||
|            .catch(error => { | ||||
|              console.error(error); | ||||
| @@ -285,7 +292,7 @@ | ||||
|      fetchPaymentMethods() { | ||||
|        this.api.getPaymentMethods() | ||||
|            .then(data => { | ||||
|              this.payment_methods = data; | ||||
|                this.payment_methods = data[0]?.payment_methods; | ||||
|            }) | ||||
|            .catch(error => { | ||||
|              console.error(error); | ||||
| @@ -309,8 +316,21 @@ | ||||
|      }, | ||||
|      async submit() { | ||||
|        this.$refs.purchase.validate(); | ||||
|          const tryton_sale = { | ||||
|              party: this.purchase.customer, | ||||
|              company: "1", | ||||
|              currency: "31", | ||||
|              pickup_location: "on_site", | ||||
|              lines: [[ | ||||
|                  "create", this.purchase.saleline_set.map(item => ({ | ||||
|                      product: item.product, | ||||
|                      quantity: item.quantity, | ||||
|                      unitprice: item.unit_price | ||||
|                  }) | ||||
|              )]]}; | ||||
|  | ||||
|          if (this.valid) { | ||||
|            this.api.createPurchase(this.purchase) | ||||
|              this.api.createPurchase(tryton_sale) | ||||
|                .then(data => { | ||||
|                  console.log('Compra enviada:', data); | ||||
|                  this.$router.push({ | ||||
|   | ||||
| @@ -14,7 +14,7 @@ import ApiImplementation from './services/api-implementation'; | ||||
| // Composables | ||||
| import { createApp } from 'vue' | ||||
|  | ||||
| process.env.API_IMPLEMENTATION = 'django'; | ||||
| process.env.API_IMPLEMENTATION = 'tryton'; | ||||
| let apiImplementation = new ApiImplementation(); | ||||
| const api = apiImplementation.getApi(); | ||||
|  | ||||
|   | ||||
| @@ -1,4 +1,5 @@ | ||||
| import DjangoApi from './django-api'; | ||||
| import TrytonApiClient from './tryton-api'; | ||||
| import Api from './api'; | ||||
|  | ||||
| class ApiImplementation { | ||||
| @@ -7,6 +8,13 @@ class ApiImplementation { | ||||
|     let apiImplementation; | ||||
|     if (implementation === 'django') { | ||||
|       apiImplementation = new DjangoApi(); | ||||
|     } else if (implementation === 'tryton'){ | ||||
|       const url = 'http://192.168.85.45:18030'; | ||||
|       const key = '9a9ffc430146447d81e6698240199a4be2b0e774cb18474999d0f60e33b5b1eb1cfff9d9141346a98844879b5a9e787489c891ddc8fb45cc903b7244cab64fb1'; | ||||
|       const db = 'tryton'; | ||||
|       const applicationName = 'sale_don_confiao'; | ||||
|       apiImplementation = new TrytonApiClient( | ||||
|         url, key, db, applicationName); | ||||
|     } else { | ||||
|       throw new Error("API implementation don't configured"); | ||||
|     } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user