This commit is contained in:
hyyy
2025-03-14 10:52:50 +08:00
parent f9525beb65
commit f66ff6339d
3 changed files with 6 additions and 82 deletions

View File

@@ -1,76 +0,0 @@
/** @odoo-module **/
import { patch } from "@web/core/utils/patch";
import { ListRenderer } from "@web/views/list/list_renderer";
import { X2ManyField } from '@web/views/fields/x2many/x2many_field';
import { registry } from '@web/core/registry';
export class QualityCheckMeasureLineTree extends X2ManyField {
setup() {
super.setup();
}
get rendererProps() {
const props = super.rendererProps;
return props;
}
}
patch(ListRenderer.prototype, 'custom_measure_line_tree_patch', {
setup() {
this._super.apply(this, arguments);
owl.onMounted(() => {
$(this.__owl__.bdom.el).find('tfoot').hide()
})
owl.onRendered(() => {
setTimeout(() => {
const $dom = $(this.__owl__?.bdom?.el)
if(!$dom || !$dom.length) return
const $thead = $dom.find('thead').find('th');
if(!this.props.list.records || this.props.list.records.length == 0) return
const $total_qty = this.props.list.records[0].data.column_nums;
const hideKey = []
const width = $dom.find('[data-name=measure_value1]').width();
$thead.each(function () {
const key = $(this).attr('data-name');
if (key && key.indexOf('measure_value') >= 0) {
const keyNum = Number(key.replace('measure_value', ''));
if (keyNum > $total_qty) {
hideKey.push(key);
}
}
});
$dom.find(':hidden').show().css('width', width);
const hideDom = hideKey.map(_ => {
return `[data-name="${_}"],[name="${_}"]`
})
$dom.find(hideDom.join(',')).hide()
const $cloNum = $dom.find('.o_data_row').eq(0).children('td:visible').length;
$dom.find('.o_data_row').siblings('tr:not(.o_data_row)').children('td').prop('colspan', $cloNum);
$dom.find('tfoot').hide()
}, 50);
})
},
// get hasSelectors() {
// return this.withSelectorColumn || (this.props.allowSelectors && !this.env.isSmall);
// },
_renderRow(list) {
console.log('list', list);
// if(!this.__owl__.bdom || !this.__owl__.bdom.el) return;
// const $row = $(this.__owl__.bdom.el).find('tbody').children('tr');
return '';
},
getContext() {
return this.context;
},
})
registry.category('fields').add('custom_measure_line_tree', QualityCheckMeasureLineTree);