Accept Merge Request #342: (feature/必填字段label添加星号 -> develop)
Merge Request: 3d模型无法展示的时候用文字替换 Created By: @许何哲 Accepted By: @许何哲 URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/342?initial=true
This commit is contained in:
@@ -1,14 +1,14 @@
|
|||||||
/** @odoo-module **/
|
/** @odoo-module **/
|
||||||
|
|
||||||
import { registry } from "@web/core/registry";
|
import {registry} from "@web/core/registry";
|
||||||
import { _lt } from "@web/core/l10n/translation";
|
import {_lt} from "@web/core/l10n/translation";
|
||||||
import { standardFieldProps } from "@web/views/fields/standard_field_props";
|
import {standardFieldProps} from "@web/views/fields/standard_field_props";
|
||||||
import { useInputField } from "@web/views/fields/input_field_hook";
|
import {useInputField} from "@web/views/fields/input_field_hook";
|
||||||
import { FileUploader } from "@web/views/fields/file_handler";
|
import {FileUploader} from "@web/views/fields/file_handler";
|
||||||
import { session } from "@web/session";
|
import {session} from "@web/session";
|
||||||
import { useService } from "@web/core/utils/hooks";
|
import {useService} from "@web/core/utils/hooks";
|
||||||
import { isBinarySize } from "@web/core/utils/binary";
|
import {isBinarySize} from "@web/core/utils/binary";
|
||||||
import { download } from "@web/core/network/download";
|
import {download} from "@web/core/network/download";
|
||||||
import utils from 'web.utils';
|
import utils from 'web.utils';
|
||||||
|
|
||||||
import core from 'web.core';
|
import core from 'web.core';
|
||||||
@@ -16,13 +16,14 @@ import rpc from 'web.rpc';
|
|||||||
|
|
||||||
var QWeb = core.qweb;
|
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 {
|
export class StepViewer extends Component {
|
||||||
setup() {
|
setup() {
|
||||||
this.props.url = this.formatUrl();
|
this.props.url = this.formatUrl();
|
||||||
}
|
}
|
||||||
formatUrl(){
|
|
||||||
|
formatUrl() {
|
||||||
var url = '';
|
var url = '';
|
||||||
if (this.props.value) {
|
if (this.props.value) {
|
||||||
if (this.props.value.slice(-1) == 'b' && !isNaN(this.props.value.split(' ')[0])) {
|
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'],
|
base_url: session['web.base.url'],
|
||||||
model: this.props.record.resModel,
|
model: this.props.record.resModel,
|
||||||
id: JSON.stringify(this.props.record.data['id']),
|
id: JSON.stringify(this.props.record.data['id']),
|
||||||
field: this.props.name}
|
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 = 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'
|
// 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
|
return url
|
||||||
} else {
|
} else {
|
||||||
url = "data:model/gltf-binary;base64," + this.props.value;
|
url = "data:model/gltf-binary;base64," + this.props.value;
|
||||||
console.log('url2',url)
|
console.log('url2', url)
|
||||||
return url
|
return url
|
||||||
// localStorage.setItem('url',url)
|
// localStorage.setItem('url',url)
|
||||||
// let new_url = localStorage.getItem(('url'))
|
// let new_url = localStorage.getItem(('url'))
|
||||||
// var oViewer = document.getElementsByTagName('model-viewer')[0];
|
// var oViewer = document.getElementsByTagName('model-viewer')[0];
|
||||||
// return new_url
|
// return new_url
|
||||||
// url = "web_widget_model_viewer/static/src/images/not_model.png";
|
// 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";
|
StepViewer.template = "web_widget_model_viewer.BinaryField3d";
|
||||||
@@ -56,10 +61,10 @@ StepViewer.supportedTypes = ["binary"];
|
|||||||
|
|
||||||
StepViewer.props = {
|
StepViewer.props = {
|
||||||
...standardFieldProps,
|
...standardFieldProps,
|
||||||
url: { type: String, optional: true },
|
url: {type: String, optional: true},
|
||||||
};
|
};
|
||||||
|
|
||||||
StepViewer.extractProps = ({ attrs }) => {
|
StepViewer.extractProps = ({attrs}) => {
|
||||||
return {
|
return {
|
||||||
url: attrs.options.url,
|
url: attrs.options.url,
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -2,37 +2,42 @@
|
|||||||
<templates xml:space="preserve">
|
<templates xml:space="preserve">
|
||||||
|
|
||||||
<t t-name="web_widget_model_viewer.BinaryField3d" owl="1">
|
<t t-name="web_widget_model_viewer.BinaryField3d" owl="1">
|
||||||
|
|
||||||
<model-viewer
|
<t t-if="props.value">
|
||||||
t-att-src='props.url'
|
<model-viewer
|
||||||
name="3D model"
|
t-att-src='props.url'
|
||||||
alt="3D model"
|
name="3D model"
|
||||||
auto-rotate="1"
|
alt="3D model"
|
||||||
camera-controls="1"
|
auto-rotate="1"
|
||||||
style ="background-color: #0D1D54;"
|
camera-controls="1"
|
||||||
>
|
style="background-color: #0D1D54;"
|
||||||
|
>
|
||||||
<!-- <div class="text-center mt-4 mb-4 mr-4">-->
|
<!-- <div class="text-center mt-4 mb-4 mr-4">-->
|
||||||
<!-- <span-->
|
<!-- <span-->
|
||||||
<!-- id="model-viewer-fullscreen"-->
|
<!-- id="model-viewer-fullscreen"-->
|
||||||
<!-- title="View fullscreen"-->
|
<!-- title="View fullscreen"-->
|
||||||
<!-- role="img"-->
|
<!-- role="img"-->
|
||||||
<!-- aria-label="Fullscreen"-->
|
<!-- aria-label="Fullscreen"-->
|
||||||
<!-- >-->
|
<!-- >-->
|
||||||
<!-- <i class="fa fa-arrows-alt fa-2x"/>-->
|
<!-- <i class="fa fa-arrows-alt fa-2x"/>-->
|
||||||
<!-- </span>-->
|
<!-- </span>-->
|
||||||
<!-- </div>-->
|
<!-- </div>-->
|
||||||
</model-viewer>
|
</model-viewer>
|
||||||
|
</t>
|
||||||
<!-- <model-viewer-->
|
<t t-if="!props.value">
|
||||||
<!-- src='/jikimo_model_viewer/static/src/js/3d_viewer/test.glb'-->
|
<div style="color:red">当前制造订单暂无模型</div>
|
||||||
<!-- name="Test 3D model"-->
|
</t>
|
||||||
<!-- alt="Test 3D model"-->
|
|
||||||
<!-- auto-rotate="1"-->
|
<!-- <model-viewer-->
|
||||||
<!-- camera-controls="1"-->
|
<!-- src='/jikimo_model_viewer/static/src/js/3d_viewer/test.glb'-->
|
||||||
<!-- />-->
|
<!-- name="Test 3D model"-->
|
||||||
|
<!-- alt="Test 3D model"-->
|
||||||
|
<!-- auto-rotate="1"-->
|
||||||
|
<!-- camera-controls="1"-->
|
||||||
|
<!-- />-->
|
||||||
|
|
||||||
<script type="module"
|
<script type="module"
|
||||||
src="/web_widget_model_viewer/static/src/lib/model-viewer.min.js">
|
src="/web_widget_model_viewer/static/src/lib/model-viewer.min.js">
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
</t>
|
</t>
|
||||||
|
|||||||
Reference in New Issue
Block a user