add app_purchase
BIN
app_purchase_batch_procurement/static/description/cnreadme.png
Normal file
|
After Width: | Height: | Size: 23 KiB |
BIN
app_purchase_batch_procurement/static/description/demo11.png
Normal file
|
After Width: | Height: | Size: 153 KiB |
BIN
app_purchase_batch_procurement/static/description/demo12.png
Normal file
|
After Width: | Height: | Size: 106 KiB |
BIN
app_purchase_batch_procurement/static/description/demo21.png
Normal file
|
After Width: | Height: | Size: 96 KiB |
BIN
app_purchase_batch_procurement/static/description/demo31.png
Normal file
|
After Width: | Height: | Size: 184 KiB |
BIN
app_purchase_batch_procurement/static/description/demo41.png
Normal file
|
After Width: | Height: | Size: 125 KiB |
BIN
app_purchase_batch_procurement/static/description/demo51.png
Normal file
|
After Width: | Height: | Size: 38 KiB |
BIN
app_purchase_batch_procurement/static/description/demo61.png
Normal file
|
After Width: | Height: | Size: 158 KiB |
BIN
app_purchase_batch_procurement/static/description/demo71.png
Normal file
|
After Width: | Height: | Size: 103 KiB |
BIN
app_purchase_batch_procurement/static/description/demo81.png
Normal file
|
After Width: | Height: | Size: 68 KiB |
BIN
app_purchase_batch_procurement/static/description/icon.png
Normal file
|
After Width: | Height: | Size: 88 KiB |
111
app_purchase_batch_procurement/static/description/index.html
Normal 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>
|
||||
|
||||
@@ -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'}
|
||||
}
|
||||
});
|
||||
|
||||
});
|
||||
@@ -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>
|
||||