ics 扶梯绘图代码调整
This commit is contained in:
parent
197f3936a4
commit
52d62a8e4f
@ -183,13 +183,13 @@ deviceRender[deviceType.IscsRect] = {
|
||||
zlevel:1,
|
||||
z: 3
|
||||
};
|
||||
/** 电梯 */
|
||||
/** 楼梯 */
|
||||
deviceRender[deviceType.Escalator] = {
|
||||
_type: deviceType.Escalator,
|
||||
zlevel:1,
|
||||
z: 4
|
||||
};
|
||||
/** 楼梯 */
|
||||
/** 通道 */
|
||||
deviceRender[deviceType.StairControl] = {
|
||||
_type: deviceType.StairControl,
|
||||
zlevel:1,
|
||||
@ -202,4 +202,11 @@ deviceRender[deviceType.FasBrakeMachine] = {
|
||||
z: 4
|
||||
};
|
||||
|
||||
/** 扶梯 */
|
||||
deviceRender[deviceType.Staircase] = {
|
||||
_type: deviceType.Staircase,
|
||||
zlevel:1,
|
||||
z: 4
|
||||
};
|
||||
|
||||
export default deviceRender;
|
||||
|
@ -30,7 +30,8 @@ const deviceType = {
|
||||
IscsRect: 'IscsRect',
|
||||
Escalator:'Escalator',
|
||||
StairControl:'StairControl',
|
||||
FasBrakeMachine:'FasBrakeMachine'
|
||||
FasBrakeMachine:'FasBrakeMachine',
|
||||
Staircase:'Staircase'
|
||||
};
|
||||
|
||||
export default deviceType;
|
||||
|
@ -51,6 +51,10 @@ const map = {
|
||||
FasBrakeMachine:{
|
||||
width:65,
|
||||
path:'M0,29V21H1.474L9,14.732v-0.7L1.474,7.869H0V0H65V7.869H31.669L22,14.339v0.083L31.669,21H65v8H0ZM62,5.9V1.967H3V5.9H62ZM28.113,7.869H4.53l6,4.918H20.764ZM20.764,16H10.533l-6,5H28.113ZM62,23H3v4H62V23Z'
|
||||
},
|
||||
Staircase:{
|
||||
width:133,
|
||||
path:'M12,131l25-11v8H97v6H37v8ZM3,186V155H132V108H3V77H17V47H10V41h7V24H3V4H136V186H3ZM132,8H7V20H132V8ZM28,41V24H21V41h7Zm-7,6V77h7V47H21Zm19-6V24H32V41h8Zm-8,6V77h8V47H32Zm19-6V24H44V41h7Zm-7,6V77h7V47H44Zm19-6V24H55V41h8Zm-8,6V77h8V47H55Zm15-6V33l4,1.76V24H67V41h3Zm-3,6V77h7V53.24L70,55V47H67Zm19-6.96V24H78V36.52ZM78,51.48V77h8V47.96ZM90,46.2V77h7V24H90V41.8L95,44ZM101,24V77h7V24h-7Zm11,0V77h8V24h-8Zm20,0h-8V77h8V24Zm0,57H7v6H132V81Zm0,10H7v4H132V91Zm0,8H7v5H132V99Zm0,60H7v6H132v-6Zm0,10H7v4H132v-4Zm0,8H7v5H132v-5Z'
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -31,6 +31,7 @@ import IscsRect from './rect';
|
||||
import Escalator from './escalator';
|
||||
import StairControl from './stairControl';
|
||||
import FasBrakeMachine from './fasBrakeMachine';
|
||||
import Staircase from './staircase';
|
||||
|
||||
const iscsShape = {};
|
||||
iscsShape[deviceType.ManualAlarmButton] = ManualAlarmButton;
|
||||
@ -66,6 +67,7 @@ iscsShape[deviceType.IscsRect] = IscsRect;
|
||||
iscsShape[deviceType.Escalator] = Escalator;
|
||||
iscsShape[deviceType.StairControl] = StairControl;
|
||||
iscsShape[deviceType.FasBrakeMachine] = FasBrakeMachine;
|
||||
iscsShape[deviceType.Staircase] = Staircase;
|
||||
|
||||
function shapefactory(device, iscs) {
|
||||
const type = device.model._type;
|
||||
|
31
src/iscs/shape/staircase.js
Normal file
31
src/iscs/shape/staircase.js
Normal file
@ -0,0 +1,31 @@
|
||||
import Group from 'zrender/src/container/Group';
|
||||
import createPathSvg from './components/pathsvg';
|
||||
|
||||
export default class Staircase extends Group {
|
||||
constructor(device) {
|
||||
super();
|
||||
this.model = device.model;
|
||||
this.zlevel = device.model.zlevel;
|
||||
this.z = device.model.z;
|
||||
this._type = device.model._type;
|
||||
this.code = device.model.code;
|
||||
this.create();
|
||||
}
|
||||
create() {
|
||||
this.grouper = new Group({
|
||||
id: this.model.code,
|
||||
position: [this.model.point.x, this.model.point.y]
|
||||
});
|
||||
this.path = createPathSvg(this.model);
|
||||
this.add(this.grouper);
|
||||
if (this.model.isRight) {
|
||||
this.grouper.origin = [this.model.width / 2, this.model.width * 1.368 / 2];
|
||||
this.grouper.scale = [-1, 1];
|
||||
}
|
||||
this.grouper.add(this.path);
|
||||
}
|
||||
setModel(dx, dy) {
|
||||
this.model.point.x += dx;
|
||||
this.model.point.y += dy;
|
||||
}
|
||||
}
|
@ -139,6 +139,9 @@ export function parser(data) {
|
||||
zrUtil.each(data.fasBrakeMachineList || [], elem=> {
|
||||
iscsDevice[elem.code] = deviceFactory(deviceType.FasBrakeMachine, elem);
|
||||
});
|
||||
zrUtil.each(data.staircaseList || [], elem=> {
|
||||
iscsDevice[elem.code] = deviceFactory(deviceType.Staircase, elem);
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
@ -258,6 +261,9 @@ export function updateIscsData(state, device) {
|
||||
case deviceType.FasBrakeMachine:
|
||||
updateIscsListByDevice(state, 'fasBrakeMachineList', device);
|
||||
break;
|
||||
case deviceType.Staircase:
|
||||
updateIscsListByDevice(state, 'staircaseList', device);
|
||||
break;
|
||||
}
|
||||
// store.dispatch('iscs/setIscsData', state.iscs);
|
||||
}
|
||||
|
@ -34,7 +34,7 @@
|
||||
@deleteDataModel="deleteDataModel"
|
||||
/>
|
||||
</el-tab-pane>
|
||||
<el-tab-pane label="扶梯" name="Escalator">
|
||||
<el-tab-pane label="楼梯" name="Escalator">
|
||||
<escalator
|
||||
ref="escalator"
|
||||
style="width: 90%;"
|
||||
@ -42,7 +42,7 @@
|
||||
@deleteDataModel="deleteDataModel"
|
||||
/>
|
||||
</el-tab-pane>
|
||||
<el-tab-pane label="楼梯" name="StairControl">
|
||||
<el-tab-pane label="通道" name="StairControl">
|
||||
<stair-control
|
||||
ref="stairControl"
|
||||
style="width: 90%;"
|
||||
@ -50,6 +50,14 @@
|
||||
@deleteDataModel="deleteDataModel"
|
||||
/>
|
||||
</el-tab-pane>
|
||||
<el-tab-pane label="扶梯" name="Staircase">
|
||||
<staircase
|
||||
ref="staircase"
|
||||
style="width: 90%;"
|
||||
@createDataModel="createDataModel"
|
||||
@deleteDataModel="deleteDataModel"
|
||||
/>
|
||||
</el-tab-pane>
|
||||
<el-tab-pane label="闸机" name="FasBrakeMachine">
|
||||
<fas-brake-machine
|
||||
ref="fasBrakeMachine"
|
||||
@ -108,6 +116,7 @@ import {deviceFactory} from '@/iscs/utils/parser';
|
||||
import FasBrakeMachine from './brakeMachine';
|
||||
import Escalator from './escalator';
|
||||
import StairControl from './stairControl';
|
||||
import Staircase from './staircase';
|
||||
import ManualAlarmButton from './manualAlarmButton';
|
||||
import FireHydranAlarmButton from './fireHydranAlarmButton';
|
||||
import GasFireControl from './gasFireControl';
|
||||
@ -128,6 +137,7 @@ export default {
|
||||
FasBrakeMachine,
|
||||
Escalator,
|
||||
StairControl,
|
||||
Staircase,
|
||||
IscsText,
|
||||
IscsRect,
|
||||
IscsLine
|
||||
|
127
src/views/iscs/iscsDraw/iscsOperate/staircase.vue
Normal file
127
src/views/iscs/iscsDraw/iscsOperate/staircase.vue
Normal file
@ -0,0 +1,127 @@
|
||||
<template>
|
||||
<div>
|
||||
<el-form ref="form" :rule="rules" :model="addModel" label-width="100px">
|
||||
<el-form-item v-if="isUpdate" label="按钮编号" prop="code">
|
||||
<el-input v-model="addModel.code" :disabled="true" />
|
||||
</el-form-item>
|
||||
<el-form-item label="图形宽度" prop="width">
|
||||
<el-input-number v-model="addModel.width" />
|
||||
</el-form-item>
|
||||
<el-form-item label="楼梯朝右" prop="isRight">
|
||||
<el-checkbox v-model="addModel.isRight" />
|
||||
</el-form-item>
|
||||
<el-form-item label="X轴坐标" prop="x">
|
||||
<el-input-number v-model="addModel.x" />
|
||||
</el-form-item>
|
||||
<el-form-item label="Y轴坐标" prop="y">
|
||||
<el-input-number v-model="addModel.y" />
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button type="primary" @click="onSubmit('form')">{{ buttonText }}</el-button>
|
||||
<el-button v-show="showDeleteButton" type="danger" @click="deleteDevice">{{ $t('global.delete') }}</el-button>
|
||||
<el-button v-show="showDeleteButton" @click="initPage">{{ $t('global.cancel') }}</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { mapGetters } from 'vuex';
|
||||
import {getUID} from '@/iscs/utils/Uid';
|
||||
export default {
|
||||
name: 'Staircase',
|
||||
data() {
|
||||
return {
|
||||
addModel:{
|
||||
code: '',
|
||||
width: 25,
|
||||
x: 10,
|
||||
y: 10,
|
||||
isRight:false
|
||||
},
|
||||
rules: {
|
||||
width:[{ required: true, message:'请输入设备图形宽度', trigger: 'blur' }],
|
||||
x: [{ required: true, message: '请输入设备图形的X轴坐标', trigger: 'blur' }],
|
||||
y: [{ required: true, message: '请输入设备图形的Y轴坐标', trigger: 'blur' }]
|
||||
},
|
||||
isUpdate:false,
|
||||
showDeleteButton: false,
|
||||
buttonText: '立即创建'
|
||||
};
|
||||
},
|
||||
computed:{
|
||||
...mapGetters('iscs', [
|
||||
'iscs'
|
||||
])
|
||||
},
|
||||
watch:{
|
||||
'$store.state.iscs.rightClickCount': function (val) {
|
||||
const model = this.$store.getters['iscs/updateDeviceData'];
|
||||
if (model._type === 'Staircase' ) {
|
||||
this.buttonText = '修改';
|
||||
this.showDeleteButton = true;
|
||||
this.isUpdate = true;
|
||||
this.addModel.code = model.code;
|
||||
this.addModel.width = model.width;
|
||||
this.addModel.x = model.point.x;
|
||||
this.addModel.y = model.point.y;
|
||||
this.addModel.isRight = model.isRight;
|
||||
}
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
onSubmit(form) {
|
||||
this.$refs[form].validate((valid) => {
|
||||
if (valid) {
|
||||
const staircaseModel = {
|
||||
point: {
|
||||
x: this.addModel.x,
|
||||
y: this.addModel.y
|
||||
},
|
||||
fill:'#fff',
|
||||
isRight: this.addModel.isRight,
|
||||
code: this.isUpdate ? this.addModel.code : getUID('Staircase', this.iscs.staircaseList),
|
||||
_type: 'Staircase',
|
||||
width: this.addModel.width
|
||||
};
|
||||
this.$emit('createDataModel', staircaseModel);
|
||||
this.initPage();
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
});
|
||||
},
|
||||
deleteDevice() {
|
||||
const staircaseModel = {
|
||||
point: {
|
||||
x: this.addModel.x,
|
||||
y: this.addModel.y
|
||||
},
|
||||
code: this.addModel.code,
|
||||
isRight: this.addModel.isRight,
|
||||
_type: 'Staircase',
|
||||
width: this.addModel.width
|
||||
};
|
||||
this.$emit('deleteDataModel', staircaseModel);
|
||||
this.initPage();
|
||||
},
|
||||
initPage() {
|
||||
this.isUpdate = false;
|
||||
this.buttonText = '立即创建';
|
||||
this.showDeleteButton = false;
|
||||
this.addModel = {
|
||||
code: '',
|
||||
width: 25,
|
||||
x: 10,
|
||||
y: 10,
|
||||
isRight:false
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
};
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
|
||||
</style>
|
@ -103,7 +103,6 @@ export default {
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
this.$emit('iscsChange', this.$route.params.id);
|
||||
},
|
||||
beforeDestroy() {
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user