+
@@ -304,7 +303,13 @@
-
+
+
+
+
@@ -313,7 +318,12 @@
-
+
diff --git a/sf_manufacturing/models/mrp_workcenter.py b/sf_manufacturing/models/mrp_workcenter.py
index 525c2f54..3bc3aa17 100644
--- a/sf_manufacturing/models/mrp_workcenter.py
+++ b/sf_manufacturing/models/mrp_workcenter.py
@@ -9,7 +9,6 @@ class ResWorkcenter(models.Model):
# 生产线显示
production_line_show = fields.Char(string='生产线')
- equipment_id = fields.Many2one('maintenance.equipment', string='设备')
machine_tool_id = fields.Many2one('sf.machine_tool', string='机床')
production_line_id = fields.Many2one('sf.production.line', string='生产线')
is_process_outsourcing = fields.Boolean('工艺外协')
@@ -19,6 +18,12 @@ class ResWorkcenter(models.Model):
'maintenance.equipment', string="设备",
check_company=True)
+ equipment_status = fields.Selection(
+ [("正常", "正常"), ("故障", "故障"), ("不可用", "不可用")],
+ string="设备状态", related='equipment_id.state')
+
+ equipment_image = fields.Binary('设备图片', related='equipment_id.machine_tool_picture')
+
# 查询工艺外协加工中心
def get_process_outsourcing_workcenter(self):
outsourcing_workcenter = self.env['mrp.workcenter'].search([('is_process_outsourcing', '=', True)])
diff --git a/sf_manufacturing/views/mrp_workcenter_views.xml b/sf_manufacturing/views/mrp_workcenter_views.xml
index 3bd8260e..cda445ec 100644
--- a/sf_manufacturing/views/mrp_workcenter_views.xml
+++ b/sf_manufacturing/views/mrp_workcenter_views.xml
@@ -24,19 +24,28 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+ mrp.workcenter.view.kanban.inherit.mrp.workorder
+ mrp.workcenter
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -90,6 +99,7 @@
+
diff --git a/web_widget_model_viewer/static/src/js/3d_viewer.js b/web_widget_model_viewer/static/src/js/3d_viewer.js
index f93cf207..0f8ef168 100644
--- a/web_widget_model_viewer/static/src/js/3d_viewer.js
+++ b/web_widget_model_viewer/static/src/js/3d_viewer.js
@@ -1,14 +1,14 @@
/** @odoo-module **/
-import { registry } from "@web/core/registry";
-import { _lt } from "@web/core/l10n/translation";
-import { standardFieldProps } from "@web/views/fields/standard_field_props";
-import { useInputField } from "@web/views/fields/input_field_hook";
-import { FileUploader } from "@web/views/fields/file_handler";
-import { session } from "@web/session";
-import { useService } from "@web/core/utils/hooks";
-import { isBinarySize } from "@web/core/utils/binary";
-import { download } from "@web/core/network/download";
+import {registry} from "@web/core/registry";
+import {_lt} from "@web/core/l10n/translation";
+import {standardFieldProps} from "@web/views/fields/standard_field_props";
+import {useInputField} from "@web/views/fields/input_field_hook";
+import {FileUploader} from "@web/views/fields/file_handler";
+import {session} from "@web/session";
+import {useService} from "@web/core/utils/hooks";
+import {isBinarySize} from "@web/core/utils/binary";
+import {download} from "@web/core/network/download";
import utils from 'web.utils';
import core from 'web.core';
@@ -16,13 +16,14 @@ import rpc from 'web.rpc';
var QWeb = core.qweb;
-import { Component, onWillUpdateProps, useState, useRef, useEffect } from "@odoo/owl";
+import {Component, onWillUpdateProps, useState, useRef, useEffect} from "@odoo/owl";
export class StepViewer extends Component {
setup() {
this.props.url = this.formatUrl();
}
- formatUrl(){
+
+ formatUrl() {
var url = '';
if (this.props.value) {
if (this.props.value.slice(-1) == 'b' && !isNaN(this.props.value.split(' ')[0])) {
@@ -30,23 +31,27 @@ export class StepViewer extends Component {
base_url: session['web.base.url'],
model: this.props.record.resModel,
id: JSON.stringify(this.props.record.data['id']),
- field: this.props.name}
- url = url_props['base_url'].replace('http://', 'https://') +'/web/content/'+url_props['model']+'/'+url_props['id']+'/'+url_props['field']+'?download=true'
+ field: this.props.name
+ }
+ url = url_props['base_url'].replace('http://', 'https://') + '/web/content/' + url_props['model'] + '/' + url_props['id'] + '/' + url_props['field'] + '?download=true'
// url = 'http://localhost:8069'+'/web/content/'+url_props['model']+'/'+url_props['id']+'/'+url_props['field']+'?download=true'
- console.log('url111111',url)
+ console.log('url111111', url)
return url
} else {
- url = "data:model/gltf-binary;base64," + this.props.value;
- console.log('url2',url)
- return url
- // localStorage.setItem('url',url)
- // let new_url = localStorage.getItem(('url'))
- // var oViewer = document.getElementsByTagName('model-viewer')[0];
- // return new_url
- // url = "web_widget_model_viewer/static/src/images/not_model.png";
+ url = "data:model/gltf-binary;base64," + this.props.value;
+ console.log('url2', url)
+ return url
+ // localStorage.setItem('url',url)
+ // let new_url = localStorage.getItem(('url'))
+ // var oViewer = document.getElementsByTagName('model-viewer')[0];
+ // return new_url
+ // url = "web_widget_model_viewer/static/src/images/not_model.png";
}
+ } else {
+ var oImg = document.getElementsByClassName('test')[0]
+ console.log(oImg)
}
- }
+ }
}
StepViewer.template = "web_widget_model_viewer.BinaryField3d";
@@ -56,10 +61,10 @@ StepViewer.supportedTypes = ["binary"];
StepViewer.props = {
...standardFieldProps,
- url: { type: String, optional: true },
+ url: {type: String, optional: true},
};
-StepViewer.extractProps = ({ attrs }) => {
+StepViewer.extractProps = ({attrs}) => {
return {
url: attrs.options.url,
};
diff --git a/web_widget_model_viewer/static/src/js/3d_viewer.xml b/web_widget_model_viewer/static/src/js/3d_viewer.xml
index a9da9606..587c1ac4 100644
--- a/web_widget_model_viewer/static/src/js/3d_viewer.xml
+++ b/web_widget_model_viewer/static/src/js/3d_viewer.xml
@@ -2,37 +2,42 @@
-
-
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+ 当前制造订单暂无模型
+
+
+
+
+
+
+
+
+
+