Merge branch 'refs/heads/develop' into feature/齐套检查与下达生产

This commit is contained in:
guanhuan
2025-06-20 17:33:26 +08:00
18 changed files with 428 additions and 168 deletions

View File

@@ -10,7 +10,7 @@
""",
'category': 'sf',
'website': 'https://www.sf.jikimo.com',
'depends': ['sf_plan', 'jikimo_printing'],
'depends': ['sf_plan'],
'data': [
'security/ir.model.access.csv',
'views/demand_plan.xml',

View File

@@ -323,8 +323,12 @@ class SfProductionDemandPlan(models.Model):
date_planned_start = datetime.combine(date_part, time_part)
pro_plan_list.production_line_id = sf_production_line.id
pro_plan_list.date_planned_start = date_planned_start
for pro_plan in pro_plan_list:
pro_plan.do_production_schedule()
self._do_production_schedule(pro_plan_list)
def _do_production_schedule(self, pro_plan_list):
for pro_plan in pro_plan_list:
pro_plan.do_production_schedule()
def button_action_print(self):
return {

View File

@@ -25,7 +25,11 @@ odoo.define('sf_demand.print_demand', function (require) {
);
}
if(!$('.denmand_set').length) {
const checked = self.getParent().radioCheck || 'all'
self.$el.prepend(`
<form class="denmand_set">
<span>更多设置:</span>
@@ -33,21 +37,25 @@ odoo.define('sf_demand.print_demand', function (require) {
<label for="male">图纸</label>
<input type="radio" id="female" name="set" value="程序单">
<label for="female">程序单</label>
<input type="radio" id="other" name="set" value="" checked>
<input type="radio" id="other" name="set" value="all" >
<label for="other">图纸/程序单</label>
</form>
`)
self.$el.prepend(`
<div class="print-button-container" style="margin-bottom:10px;">
<button class="btn btn-primary o_print_custom">
<i class="fa fa-print"></i> 打印
</button>
<button class="btn btn-secondary o_cancel_custom">
取消
</button>
</div>
`);
}
setTimeout(() => {
$(`input[name=set][value=${checked}]`).prop('checked', true)
$('.denmand_set').trigger('click')
}, 100);
self.$el.prepend(`
<div class="print-button-container" style="margin-bottom:10px;">
<button class="btn btn-primary o_print_custom">
<i class="fa fa-print"></i> 打印
</button>
<button class="btn btn-secondary o_cancel_custom">
取消
</button>
</div>
`);
}
});
},
start: function() {
@@ -106,7 +114,7 @@ odoo.define('sf_demand.print_demand', function (require) {
}
},
getSelectedIds: function() {
return this.state.data.map(_ => {
return this.state.data.filter(_ => !_.hide).map(_ => {
return _.data.id
})
},
@@ -129,16 +137,24 @@ odoo.define('sf_demand.print_demand', function (require) {
// self.do_warn("打印失败", error.data.message || "未知错误");
}).finally(e => {
this.getParent().reload()
})
},
_onDenmandChange(e) {
const isChecked = $(e.currentTarget).find('input:checked').val()
this.getParent().radioCheck = isChecked
this.$el.find('tbody').find('.o_data_row').show()
if(!isChecked) return
this.$el.find('tbody').children().each(function() {
this.state.data.forEach(_ => {
_.hide = false
})
const self = this
if(!isChecked || isChecked == 'all') return
this.$el.find('tbody').children('.o_data_row').each(function() {
if($(this).find('td[name=type]').text() != isChecked) {
const i = $(this).index()
self.state.data[i].hide = true
$(this).hide()
}
})