add app_purchase

This commit is contained in:
ivan deng
2018-02-14 18:04:31 +08:00
parent 6fce3d4331
commit 79961b39ad
32 changed files with 992 additions and 1 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 153 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 106 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 96 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 184 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 125 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 158 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 103 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 68 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 88 KiB

View File

@@ -0,0 +1,111 @@
<section class="oe_container">
<div class="oe_row oe_spaced" style="max-width: 800px;">
<div class="oe_span12">
<h2 class="oe_slogan">App Odoo Customize</h2>
<div class="oe_demo" style=" margin: 30px auto 0; padding: 0 15px 0 0; border:none; width: 96%;">
<p>This moduld is to easy purchase</p>
<h3>Lastest update: v10.0.2.14, 2018-02-14</h3>
<ul>
<li>1. Product batch reorder, create procurement</li>
<li>2. Procurement batch setup supplier, quick purchase</li>
<li>3. Product filter virtual view (available/exhausted/negative), and auto set procurement quantity</li>
</ul>
</div>
<div class="oe_demo oe_screenshot">
<img src="cnreadme.png" style="border:1px solid black"/>
<br/>
</div>
</div>
</div>
<div class="oe_row oe_spaced" style="max-width: 800px;">
<div class="oe_demo"
style="margin: 20px auto; padding: 0 15px 0 0; border:none; border-top:solid 1px #dedede; width: 96%;">
<h2 class='oe_mt32'>1. Procurement batch setup supplier, quick purchase</h2>
</div>
<div class="oe_demo oe_screenshot">
<img src="demo11.png" style="border:1px solid black"/>
<br/>
<img src="demo12.png" style="border:1px solid black"/>
<br/>
</div>
<div class="oe_demo"
style="margin: 20px auto; padding: 0 15px 0 0; border:none; border-top:solid 1px #dedede; width: 96%;">
<h2 class='oe_mt32'>Multi-language support: Chinese ready</h2>
</div>
<div class="oe_demo oe_screenshot">
<img src="demo11.png" style="border:1px solid black"/>
</br>
<img src="demo12.png" style="border:1px solid black"/>
<br/>
<h4> So you can get the procurement</h4>
<img src="demo31.png" style="border:1px solid black"/>
<br/>
</div>
</div>
<div class="oe_row oe_spaced" style="max-width: 800px;">
<div class="oe_demo"
style=" argin: 20px auto; padding: 0 15px 0 0; border:none; border-top:solid 1px #dedede; width: 96%; ">
<h2 class='oe_mt32'>2. Procurement batch setup supplier, quick purchase</h2>
</div>
<div class="oe_demo oe_screenshot">
<img src="demo41.png" style="border:1px solid black"/>
</br>
<img src="demo51.png" style="border:1px solid black"/>
<br/>
<h4> So you can get the purchase of all product</h4>
<img src="demo61.png" style="border:1px solid black"/>
<br/>
<br/>
</div>
</div>
<div class="oe_row oe_spaced" style="max-width: 800px;">
<div class="oe_demo"
style=" argin: 20px auto; padding: 0 15px 0 0; border:none; border-top:solid 1px #dedede; width: 96%; ">
<h2 class='oe_mt32'>3. Product filter virtual view (available/exhausted/negative), and auto set procurement quantity</h2>
</div>
<div class="oe_demo oe_screenshot">
<img src="demo71.png" style="border:1px solid black"/>
</br>
<h4> The procurement quantity would be auto set</h4>
<img src="demo81.png" style="border:1px solid black"/>
<br/>
</div>
</div>
<section class="oe_container oe_dark">
<div class="oe_row oe_spaced text-center">
<div class="oe_span12">
<h2 class="oe_slogan">Technical Help & Support</h2>
</div>
<div class="col-md-12 pad0">
<div class="oe_mt16">
<p><h4>
For any type of technical help & support requests, Feel free to contact us</h4></p>
<a style="background: #002e5a none repeat scroll 0% 0%; color: rgb(255, 255, 255);position: relative; overflow: hidden;"
class="btn btn-warning btn-lg" rel="nofollow" href="mailto:guohuadeng@hotmail.com"><span
style="height: 354px; width: 354px; top: -147.433px; left: -6.93335px;" class="o_ripple"></span>
<i class="fa fa-envelope"></i> guohuadeng@hotmail.com</a>
<p><h4>
Via QQ: 300883</h4></p>
<a style="background: #002e5a none repeat scroll 0% 0%; color: rgb(255, 255, 255);position: relative; overflow: hidden;"
class="btn btn-warning btn-lg" rel="nofollow" href="mailto:300883@qq.com"><span
style="height: 354px; width: 354px; top: -147.433px; left: -6.93335px;" class="o_ripple"></span>
<i class="fa fa-envelope"></i> 300883@qq.com</a>
</div>
<div class="oe_mt16">
<p><h4>
Visit our website for more support.</h4></p>
<a style="background: #002e5a none repeat scroll 0% 0%; color: rgb(255, 255, 255);position: relative; overflow: hidden;"
class="btn btn-warning btn-lg" rel="nofollow" href="http://www.sunpop.cn" target="_blank"><span
style="height: 354px; width: 354px; top: -147.433px; left: -6.93335px;" class="o_ripple"></span>
<i class="fa fa-web"></i>http://www.sunpop.cn</a>
</div>
</div>
</div>
</section>

View File

@@ -0,0 +1,66 @@
odoo.define('app_purchase_batch_procurement.btn_set_supplier', function (require) {
"use strict";
var core = require('web.core');
var ListView = require('web.ListView');
var web_client = require('web.web_client')
var QWeb = core.qweb;
ListView.include({
render_buttons: function ($node) {
if ($node) {
var self = this;
this._super($node);
this.$buttons.find('.o_list_btn_set_supplier').click(this.proxy('set_supplier_action'));
this.$buttons.find('.o_list_btn_batch_procurement').click(this.proxy('batch_procurement_action'));
}
},
set_supplier_action: function () {
//纯js取
// var active_ids = $.map($('.o_list_view .o_list_record_selector :checkbox:checked'), function (el) {
// return $(el).closest('tr').data('id');
// });
//odoo内置方法取值
var active_ids = this.groups.get_selection().ids
this.do_action({
type: "ir.actions.act_window",
name: " Set Supplier",
res_model: "product.set.supplier.wiz",
views: [[false, 'form']],
view_type: 'form',
view_mode: 'form',
multi: 1,
key2: "client_action_multi",
src_model: "procurement.order",
active_model: "procurement.order",
target: 'new',
context: {'active_ids': active_ids}
});
return {'type': 'ir.actions.client'}
},
batch_procurement_action: function () {
// var active_ids = self.$.map($('.o_list_view .o_list_record_selector :checkbox:checked'), function (el) {
// return $(el).closest('tr').data('id');
// });
var active_ids = this.groups.get_selection().ids
// var active_ids = self.getSelection().ids;
this.do_action({
type: "ir.actions.act_window",
name: "Request Procurements",
res_model: "procurement.batch.generator",
views: [[false, 'form']],
view_type: 'form',
view_mode: 'form',
multi: 1,
key2: "client_action_multi",
src_model: "product.product",
active_model: "product.product",
target: 'new',
context: {'active_ids': active_ids}
});
return {'type': 'ir.actions.client'}
}
});
});

View File

@@ -0,0 +1,13 @@
<?xml version="1.0" encoding="UTF-8"?>
<templates id="template" xml:space="preserve">
<t t-extend="ListView.buttons">
<t t-jquery="button.o_list_button_add" t-operation="after">
<button t-if="widget.model == 'procurement.order'" class="btn btn-primary btn-sm o_list_btn_set_supplier" type="button">
Set Supplier
</button>
<button t-if="widget.model == 'product.product' | widget.model == 'product.template'" class="btn btn-primary btn-sm o_list_btn_batch_procurement" type="button">
Request Procurements
</button>
</t>
</t>
</templates>