!1325 修复:防止报错,添加编辑BBS图标

pull/1325/MERGE
ZoeLeeFZ 4 years ago committed by ChenX
parent d39c7f59a4
commit 1504fde3a8

@ -88,6 +88,7 @@ export class Command_SwitchDoor implements Command
const ToggleObject = (temp: TemplateRecord) =>
{
if (!temp) return;
for (let id2 of temp.Objects)
{
if (id2 && !id2.IsErase && id2.Object && !DoorCache.has(id2.Index))

@ -1,3 +1,4 @@
import { Intent } from "@blueprintjs/core";
import { Euler, Matrix4, Vector2, Vector3 } from "three";
import { app } from "../ApplicationServices/Application";
import { arrayLast } from "../Common/ArrayExt";
@ -20,6 +21,7 @@ import { Vec3 } from "../Geometry/IVec3";
import { HandleRectBoardSealingData, ParagraphSealinglist } from "../GraphicsSystem/CalcEdgeSealing";
import { HotCMD } from "../Hot/HotCommand";
import { AppConfirm } from "../UI/Components/Common/Confirm";
import { AppToaster } from "../UI/Components/Toaster";
import { FaceDirection, IHighSealedItem, LinesType, BoardType } from "../UI/Store/BoardInterface";
import { TopPanelStore } from "../UI/Store/TopPanelStore";
import { EZengZhiBaoId } from "../UI/Store/UserConfigStore";
@ -149,6 +151,15 @@ export class Command_KJLImport implements Command
{
let f = files.item(0);
let fstr = await FileSystem.ReadFileAsText(f);
if (!fstr)
{
AppToaster.show({
message: "数据有误",
timeout: 3000,
intent: Intent.DANGER
});
return;
}
let fileData = JSON.parse(fstr) as KJL_JsonFile;
let roomMap = ParseRoomNameMap(fileData.designData);

@ -120,7 +120,7 @@ export class Save implements Command
{
let data = await fileServer.UpdateFile({ file_id: fileServer.m_CurFileId, file, logo });
if (data.err_code !== RequestStatus.Ok)
if (data.err_code !== RequestStatus.Ok || !data.files)
{
app.Editor.Prompt("更新失败!");
return;

@ -7,6 +7,8 @@ import { Box3 } from "three";
import { GetPrintWindow, GetImgElement } from "../Print";
import { CADFiler } from "../../DatabaseServices/CADFiler";
import { ViewportEntity } from "../../DatabaseServices/ViewportEntity";
import { AppToaster } from "../../UI/Components/Toaster";
import { Intent } from "@blueprintjs/core";
export class OneKeyPrint implements Command
{
@ -78,6 +80,15 @@ export class OneKeyPrint implements Command
}
const win = GetPrintWindow();
if (!win)
{
AppToaster.show({
message: "检测是否有窗口被浏览器拦截",
timeout: 3000,
intent: Intent.DANGER
});
return;
}
win.document.body.innerText = "正在生成图纸,请稍等...";
const frag = document.createDocumentFragment();

@ -226,7 +226,7 @@ export class FileServer extends Singleton
{
this.SaveCurrentFileInfo(fileInfo);
let data = await PostJson(FileUrls.update, fileInfo);
if (data.err_code === RequestStatus.Ok)
if (data.err_code === RequestStatus.Ok && data.files)
{
let finfo: IFileInfo = {
name: data.files.name,

@ -55,7 +55,8 @@ export class DbClickManager extends Singleton
app.Viewer.CurrentViewport = oldVP;
return;
}
oldVP.ViewportMaterial.opacity = 1;
if (oldVP.ViewportMaterial)
oldVP.ViewportMaterial.opacity = 1;
oldVP.NeedUpdateTexture = true;
if (!pickEnt)
{

@ -86,7 +86,7 @@ export class Face
//如果不是矩形,用布尔运算,如果
if (!noSideFace.IsRect || !canUseBoxCalc)
{
let sideReg = sideFace.Region.Clone();
let sideReg = sideFace.Region?.Clone();
if (!sideReg || !noSideFace.Region) return [];
let toReg = noSideFace.Region.Clone().ApplyMatrix(diffMtx);

@ -119,122 +119,123 @@ export class BoardInfoList extends React.Component<IBoardInfoListProps, {}>
bbsEditorStore.tabbarIndexs.map(i =>
{
const key = TotalTabbarTitlesInfos[i][1];
switch (key)
{
case "IsSpecialShape":
case "IsChaiDan":
case "hasModeling":
case "frontDrill":
case "backDrill":
return (
<div className="bbs-list-td bbs-td" key={i}>
<Icon icon={this.option[key] ? "tick" : "blank"} />
</div>
);
case "sealing":
return <BBSSealingComponent
key={i}
click={this.HandleOnClick}
board={dataBr}
option={this.option}
ModifyDataRecord={ModifyDataRecord}
index={index}
/>;
case "highDrill":
return <BBSHighDrillingComponent
key={i}
click={this.HandleOnClick}
board={dataBr}
option={this.option}
ModifyDataRecord={ModifyDataRecord}
index={index}
selectOption={baseOptions}
ToggleBgColor={this.ToggleBgColor}
/>;
case EBoardKeyList.ProcessGroup:
return (
<BBSProcessGroupItem
if (this.option.hasOwnProperty(key))
switch (key)
{
case "IsSpecialShape":
case "IsChaiDan":
case "hasModeling":
case "frontDrill":
case "backDrill":
return (
<div className="bbs-list-td bbs-td" key={i}>
<Icon icon={this.option[key] ? "tick" : "blank"} />
</div>
);
case "sealing":
return <BBSSealingComponent
key={i}
HandleOnClick={this.HandleOnClick}
click={this.HandleOnClick}
board={dataBr}
option={this.option}
ModifyDataRecord={ModifyDataRecord}
index={index}
realBr={this.props.realBr}
processGroupData={this.props.processGroupData}
/>
);
case EBoardKeyList.ComposingFace:
return <BBSSelectComponent
key={i}
HandleOnClick={this.HandleOnClick}
board={dataBr}
option={this.option}
ModifyDataRecord={ModifyDataRecord}
index={index}
ToggleBgColor={this.ToggleBgColor}
optKey={key}
selectOption={ComposingFaceSelectOption}
/>;
case EBoardKeyList.Lines:
return <BBSSelectComponent
key={i}
HandleOnClick={this.HandleOnClick}
board={dataBr}
option={this.option}
ModifyDataRecord={ModifyDataRecord}
index={index}
ToggleBgColor={this.ToggleBgColor}
optKey={key}
selectOption={LineTypeSelectOption}
/>;
case EBoardKeyList.DrillType:
return <BBSSelectComponent
key={i}
HandleOnClick={this.HandleOnClick}
board={dataBr}
option={this.option}
ModifyDataRecord={ModifyDataRecord}
index={index}
ToggleBgColor={this.ToggleBgColor}
optKey={key}
selectOption={options}
/>;
case EBoardKeyList.BigHole:
return <BBSSelectComponent
key={i}
HandleOnClick={this.HandleOnClick}
board={dataBr}
option={this.option}
ModifyDataRecord={ModifyDataRecord}
index={index}
ToggleBgColor={this.ToggleBgColor}
optKey={key}
selectOption={BigFaceSelectOption}
/>;
case "remarks":
return <BBSRemarksComponent
key={i}
click={this.HandleOnClick}
board={dataBr}
option={this.option}
ModifyDataRecord={ModifyDataRecord}
index={index}
/>;
default:
return (
<div className="bbs-list-td bbs-td" key={i}>
<ToasterInput
type={CheckObjectType.BBS}
optKey={key}
/>;
case "highDrill":
return <BBSHighDrillingComponent
key={i}
click={this.HandleOnClick}
board={dataBr}
option={this.option}
ModifyDataRecord={ModifyDataRecord}
index={index}
selectOption={baseOptions}
ToggleBgColor={this.ToggleBgColor}
/>;
case EBoardKeyList.ProcessGroup:
return (
<BBSProcessGroupItem
key={i}
HandleOnClick={this.HandleOnClick}
board={dataBr}
option={this.option}
onClick={() => { this.HandleOnClick(key); }}
onBlur={(e) => { ModifyDataRecord(index, dataBr, key, e.target.value); }}
ModifyDataRecord={ModifyDataRecord}
index={index}
realBr={this.props.realBr}
processGroupData={this.props.processGroupData}
/>
</div>
);
}
);
case EBoardKeyList.ComposingFace:
return <BBSSelectComponent
key={i}
HandleOnClick={this.HandleOnClick}
board={dataBr}
option={this.option}
ModifyDataRecord={ModifyDataRecord}
index={index}
ToggleBgColor={this.ToggleBgColor}
optKey={key}
selectOption={ComposingFaceSelectOption}
/>;
case EBoardKeyList.Lines:
return <BBSSelectComponent
key={i}
HandleOnClick={this.HandleOnClick}
board={dataBr}
option={this.option}
ModifyDataRecord={ModifyDataRecord}
index={index}
ToggleBgColor={this.ToggleBgColor}
optKey={key}
selectOption={LineTypeSelectOption}
/>;
case EBoardKeyList.DrillType:
return <BBSSelectComponent
key={i}
HandleOnClick={this.HandleOnClick}
board={dataBr}
option={this.option}
ModifyDataRecord={ModifyDataRecord}
index={index}
ToggleBgColor={this.ToggleBgColor}
optKey={key}
selectOption={options}
/>;
case EBoardKeyList.BigHole:
return <BBSSelectComponent
key={i}
HandleOnClick={this.HandleOnClick}
board={dataBr}
option={this.option}
ModifyDataRecord={ModifyDataRecord}
index={index}
ToggleBgColor={this.ToggleBgColor}
optKey={key}
selectOption={BigFaceSelectOption}
/>;
case "remarks":
return <BBSRemarksComponent
key={i}
click={this.HandleOnClick}
board={dataBr}
option={this.option}
ModifyDataRecord={ModifyDataRecord}
index={index}
/>;
default:
return (
<div className="bbs-list-td bbs-td" key={i}>
<ToasterInput
type={CheckObjectType.BBS}
optKey={key}
option={this.option}
onClick={() => { this.HandleOnClick(key); }}
onBlur={(e) => { ModifyDataRecord(index, dataBr, key, e.target.value); }}
/>
</div>
);
}
})
}
</div>

@ -209,8 +209,11 @@ export class BoardRePosBlock extends React.Component<BroadPosProps> {
{
if (value !== BrRelativePos.Div)
{
this.spaceSizeInputEl.focus();
this.spaceSizeInputEl.setSelectionRange(0, this.spaceSizeInputEl.value.length);
if (this.spaceSizeInputEl)
{
this.spaceSizeInputEl.focus();
this.spaceSizeInputEl.setSelectionRange(0, this.spaceSizeInputEl.value.length);
}
this.props.option.count = 1;
this.props.uiOption.count = "1";
}

@ -516,6 +516,16 @@ export const CommandList: ICommand[] = [
chName: "批量查看",
chDes: "批量查看板件属性",
},
{
icon: IconEnum.EditorBBS,
typeId: "bjbj",
link: "#",
defaultCustom: "EDBBS",
command: CommandNames.EditorBBS,
type: "板件编辑",
chName: "配置批量查看",
chDes: "配置批量查看",
},
{
icon: IconEnum.ClearRelatedGroove,
typeId: "bjbj",

@ -761,7 +761,7 @@ export class CommonPanel extends React.Component<ICommonPanelProps, ICommonPanel
* desc
*/
@action
private handleGetData = async (queryData?: { dir_id?: string, name?: string, curr_page?: number; }) =>
handleGetData = async (queryData?: { dir_id?: string, name?: string, curr_page?: number; }) =>
{
this.loading = true;

@ -64,7 +64,7 @@ export class FilePanel extends React.Component<{ store?: TopPanelStore; }, {}>
file: deflate(fileData)
});
await this.commonPanel['handleGetData']();
await this.commonPanel.handleGetData();
}
else
{
@ -120,7 +120,7 @@ export class FilePanel extends React.Component<{ store?: TopPanelStore; }, {}>
file_id: this.currentFileInfo.fid,
name
});
await this.commonPanel['handleGetData']();
await this.commonPanel.handleGetData();
}
Object.assign(this.currentFileInfo, { fid: null, name: null });
this.canCreateFile.set(false);

@ -14,6 +14,7 @@
width: 60vw;
height: 80vh;
min-height: 750px;
max-height: 1000px;
.bp3-dialog-body {
height: calc(100% - 120px);

@ -92,6 +92,7 @@ export class TopToolBar extends React.Component<{}, {}>
{ svg: IconEnum.ClearRelatedGroove, title: "清除关联切割", command: CommandNames.ClearRef },
{ svg: IconEnum.SunnySideSealing, title: "见光面封边", command: CommandNames.SetSmoothEdge },
{ svg: IconEnum.ModifyHoleFace, title: "翻转排孔面", command: CommandNames.ReverseDrillFace },
{ svg: IconEnum.EditorBBS, title: "编辑批量查看项", command: CommandNames.EditorBBS },
];
store.iconList.dim = [
{ svg: IconEnum.DAL, title: "对齐标注", command: CommandNames.AlignDim },

@ -181,4 +181,5 @@ export enum IconEnum
OneKeyPrint = "ONEKEYPRINT.svg",
CheckNoHoleBoard = "CHECKNOHOLEBOARD.svg",
CheckDrawHole = "CHECKDRAWHOLE.svg",
EditorBBS = "EDITORBBS.svg",
}

Loading…
Cancel
Save