|
@@ -15,7 +15,7 @@
|
|
|
</div>
|
|
|
<div style="text-align: right">
|
|
|
<el-switch v-model="openType" :active-text="$t('deviceManage.collapse')" :inactive-text="$t('deviceManage.card')" style="margin-right: 20px;"></el-switch>
|
|
|
- <el-button type="success" @click="handleAdd(null)" :loading="isSave">新增类型</el-button>
|
|
|
+ <el-button type="success" @click="handleAdd(null)" :loading="isSave">{{ $i18n.t('zy20241209.addType') }}</el-button>
|
|
|
</div>
|
|
|
</el-header>
|
|
|
<el-main style="display: flex;">
|
|
@@ -24,14 +24,14 @@
|
|
|
<el-collapse-item v-for="(item, index) in deviceTypeList" :key="index" style="margin-bottom: 10px;">
|
|
|
<div slot="title" style="width: 100%;min-height: 50px;" @click="checkType(item)">
|
|
|
<div style="font-size: 15px;float: left;width: 20%;" :class="boolRoom ? 'mybg' : ''">{{ item.name }}
|
|
|
- <span v-if="item.bool_device" style="font-size: 12px;color: rgba(56,197,62)">(是设备)</span>
|
|
|
- <span v-else style="font-size: 12px;color: rgb(174,128,158,0.23)">(不是设备)</span>
|
|
|
+ <span v-if="item.bool_device" style="font-size: 12px;color: rgba(56,197,62)">{{ $i18n.t('zy20241209.isDevice') }}</span>
|
|
|
+ <span v-else style="font-size: 12px;color: rgb(174,128,158,0.23)">{{ $i18n.t('zy20241209.notDevice') }}</span>
|
|
|
</div>
|
|
|
<div :class="boolRoom ? 'mybg' : ''" style="margin: 0;float: left;width: 60%;">
|
|
|
<div style="float: left;height: 100%">
|
|
|
<el-tag effect="plain" type="success">{{ item.code }}
|
|
|
<span v-if="item.bool_device">({{item.value}})</span>
|
|
|
- <span v-else>({{item.children.length}}个设备)</span>
|
|
|
+ <span v-else>({{item.children.length}} {{ $i18n.t('zy20241209.haveDevice') }}</span>
|
|
|
</el-tag>
|
|
|
<el-tag v-if="item.bool_device" v-for="(t, i) in item.frame_type.split(',')" :key="i" effect="plain" :type="getColor(i)">{{ formatFrame(t) }}</el-tag>
|
|
|
</div>
|
|
@@ -46,8 +46,8 @@
|
|
|
<el-card v-for="(t, i) in item.children" :key="i" class="box-card" shadow="hover" :body-style="{ padding: '0px', margin: '0px' }">
|
|
|
<div class="clearfix" :class="boolBed ? 'mybg' : ''" style="margin: 0;padding: 15px 0px 10px 0px;display: block;" @click="checkType(t)">
|
|
|
<div style="font-size: 15px;float: left;width: 20%;" :class="boolRoom ? 'mybg' : ''">{{ t.name }}
|
|
|
- <span v-if="t.bool_device" style="font-size: 12px;color: rgba(56,197,62)">(是设备)</span>
|
|
|
- <span v-else style="font-size: 12px;color: rgb(174,128,158,0.23)">(不是设备)</span>
|
|
|
+ <span v-if="t.bool_device" style="font-size: 12px;color: rgba(56,197,62)">{{ $i18n.t('zy20241209.isDevice') }}</span>
|
|
|
+ <span v-else style="font-size: 12px;color: rgb(174,128,158,0.23)">{{ $i18n.t('zy20241209.notDevice') }}</span>
|
|
|
</div>
|
|
|
<div :class="boolRoom ? 'mybg' : ''" style="margin: 0;float: left;width: 60%;">
|
|
|
<div style="float: left;height: 100%">
|
|
@@ -72,14 +72,14 @@
|
|
|
<div slot="header" :class="boolRoom ? 'mybg' : ''" class="clearfix" style="width: 100%;min-height: 40px;" @click="checkType(item)">
|
|
|
<!-- <div style="font-size: 15px;float: left;width: 10%;margin-top: 5px;">{{ item.name }}</div>-->
|
|
|
<div style="font-size: 15px;float: left;width: 20%;margin-top: 5px;">{{ item.name }}
|
|
|
- <span v-if="item.bool_device" style="font-size: 12px;color: rgba(56,197,62)">(是设备)</span>
|
|
|
- <span v-else style="font-size: 12px;color: rgb(174,128,158,0.23)">(不是设备)</span>
|
|
|
+ <span v-if="item.bool_device" style="font-size: 12px;color: rgba(56,197,62)">{{ $i18n.t('zy20241209.isDevice') }}</span>
|
|
|
+ <span v-else style="font-size: 12px;color: rgb(174,128,158,0.23)">{{ $i18n.t('zy20241209.notDevice') }}</span>
|
|
|
</div>
|
|
|
<div style="margin: 0;float: left;width: 60%;">
|
|
|
<div style="float: left;height: 100%">
|
|
|
<el-tag effect="plain" type="success">{{ item.code }}
|
|
|
<span v-if="item.bool_device">({{item.value}})</span>
|
|
|
- <span v-else>({{item.children.length}}个设备)</span>
|
|
|
+ <span v-else>({{item.children.length}} {{ $i18n.t('zy20241209.haveDevice') }}</span>
|
|
|
</el-tag>
|
|
|
<el-tag v-if="item.bool_device" v-for="(t, i) in item.frame_type.split(',')" :key="i" effect="plain" :type="getColor(i)">{{ formatFrame(t) }}</el-tag>
|
|
|
</div>
|
|
@@ -96,8 +96,8 @@
|
|
|
<el-card v-for="(t, i) in item.children" :key="i" class="box-card" shadow="hover" :body-style="{ padding: '0px', margin: '0px' }">
|
|
|
<div class="clearfix" :class="boolBed ? 'mybg' : ''" style="margin: 0;padding: 15px 0 10px 0;min-height: 40px;display: block;" @click="checkType(t)">
|
|
|
<div style="font-size: 15px;float: left;width: 20%;" :class="boolRoom ? 'mybg' : ''">{{ t.name }}
|
|
|
- <span v-if="t.bool_device" style="font-size: 12px;color: rgba(56,197,62)">(是设备)</span>
|
|
|
- <span v-else style="font-size: 12px;color: rgb(174,128,158,0.23)">(不是设备)</span>
|
|
|
+ <span v-if="t.bool_device" style="font-size: 12px;color: rgba(56,197,62)">{{ $i18n.t('zy20241209.isDevice') }}</span>
|
|
|
+ <span v-else style="font-size: 12px;color: rgb(174,128,158,0.23)">{{ $i18n.t('zy20241209.notDevice') }}</span>
|
|
|
</div>
|
|
|
<div :class="boolRoom ? 'mybg' : ''" style="margin: 0;float: left;width: 60%;">
|
|
|
<div style="float: left;height: 100%">
|
|
@@ -119,16 +119,16 @@
|
|
|
</div>
|
|
|
<div style="width: 40%">
|
|
|
<el-row style="margin: 15px">
|
|
|
- <el-col :span="8">当前选择:<el-tag type="success">{{ nowTypeModel.name }}</el-tag></el-col>
|
|
|
+ <el-col :span="8">{{ $i18n.t('zy20241209.currentSelect') }}<el-tag type="success">{{ nowTypeModel.name }}</el-tag></el-col>
|
|
|
<el-col :span="4">
|
|
|
- <el-button type="success" @click="handleAddLg" size="mini" :loading="isSave">新增语言</el-button>
|
|
|
+ <el-button type="success" @click="handleAddLg" size="mini" :loading="isSave">{{ $i18n.t('zy20241209.addLang') }}</el-button>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
<el-table :data="languageList" id="myTableId" stripe border ref="refTable" height="520">
|
|
|
- <el-table-column type="index" width="55" label="序号"></el-table-column>
|
|
|
- <el-table-column prop="language" min-width="100" label="语音" align="center" />
|
|
|
- <el-table-column prop="title" min-width="100" label="翻译名" align="center" />
|
|
|
- <el-table-column style="text-align: left;" label="操作" width="120" fixed="right">
|
|
|
+ <el-table-column type="index" width="55" :label="$i18n.t('action.index')"></el-table-column>
|
|
|
+ <el-table-column prop="language" min-width="100" :label="$i18n.t('zy20241209.lang')" align="center" />
|
|
|
+ <el-table-column prop="title" min-width="100" :label="$i18n.t('zy20241209.translate')" align="center" />
|
|
|
+ <el-table-column style="text-align: left;" :label="$i18n.t('action.handle')" width="120" fixed="right">
|
|
|
<template slot-scope="scope">
|
|
|
<el-button type="primary" icon="el-icon-edit" circle @click="handleEditLg(scope.row)"></el-button>
|
|
|
<el-button type="danger" icon="el-icon-delete" circle @click="handleDelLg(scope.row.id)"></el-button>
|
|
@@ -143,33 +143,33 @@
|
|
|
:width="this.$i18n.locale === 'zh' ? '50%' : '60%'">
|
|
|
<el-form ref="deviceEditForm" :rules="formRules"
|
|
|
:label-width="this.$i18n.locale === 'zh' ? '120px' : '165px'" :model="formModel">
|
|
|
- <el-form-item label="类型名称" prop="name">
|
|
|
+ <el-form-item :label="$i18n.t('action.name')" prop="name">
|
|
|
<el-input v-model="formModel.name"></el-input>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="是否设备" prop="bool_device">
|
|
|
- <el-switch v-model="formModel.bool_device" active-text="是设备" inactive-text="不是设备"></el-switch>
|
|
|
+ <el-form-item :label="$i18n.t('action.type')" prop="bool_device">
|
|
|
+ <el-switch v-model="formModel.bool_device" :active-text="$i18n.t('zy20241209.isDevice2')" :inactive-text="$i18n.t('zy20241209.notDevice2')"></el-switch>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="唯一编码" prop="code">
|
|
|
+ <el-form-item :label="$i18n.t('zy20241209.code')" prop="code">
|
|
|
<el-input v-model="formModel.code"></el-input>
|
|
|
</el-form-item>
|
|
|
- <el-form-item v-if="formModel.bool_device" label="开关" prop="bool_mac">
|
|
|
- <el-switch v-model="formModel.bool_mac" active-text="必填Mac" inactive-text="不用填"></el-switch>
|
|
|
- <el-switch v-model="formModel.bool_debug" style="margin-left: 20px" active-text="可调试重启" inactive-text="不可"></el-switch>
|
|
|
- <el-switch v-model="formModel.bool_show_line" style="margin-left: 20px" active-text="显示在线" inactive-text="不显示"></el-switch>
|
|
|
+ <el-form-item v-if="formModel.bool_device" :label="$i18n.t('zy20240611.SWITCH')" prop="bool_mac">
|
|
|
+ <el-switch v-model="formModel.bool_mac" :active-text="$i18n.t('zy20241209.mustMac')" :inactive-text="$i18n.t('zy20241209.noMustMac')"></el-switch>
|
|
|
+ <el-switch v-model="formModel.bool_debug" style="margin-left: 20px" :active-text="$i18n.t('zy20241209.canDebug')" :inactive-text="$i18n.t('zy20241209.canNotDebug')"></el-switch>
|
|
|
+ <el-switch v-model="formModel.bool_show_line" style="margin-left: 20px" :active-text="$i18n.t('zy20241209.showOnline')" :inactive-text="$i18n.t('zy20241209.noShowOnline')"></el-switch>
|
|
|
</el-form-item>
|
|
|
- <el-form-item v-if="formModel.bool_device" label="类型值" prop="value">
|
|
|
- <el-input-number v-model="formModel.value" :min="1"></el-input-number>
|
|
|
+ <el-form-item v-if="formModel.bool_device" :label="$i18n.t('zy20241209.typeValue')" prop="value">
|
|
|
+ <el-input-number v-model="formModel.value" :disabled="deviceTypeDisabled" :min="1"></el-input-number>
|
|
|
</el-form-item>
|
|
|
- <el-form-item v-if="formModel.bool_device" label="所在空间" prop="frame_type">
|
|
|
+ <el-form-item v-if="formModel.bool_device" :label="$i18n.t('zy20241209.locationSpace')" prop="frame_type">
|
|
|
<el-checkbox-group v-model="formModel.frame_type">
|
|
|
- <el-checkbox label="3" value="3">科室</el-checkbox>
|
|
|
- <el-checkbox label="4" value="4">房间</el-checkbox>
|
|
|
- <el-checkbox label="5" value="5">床位</el-checkbox>
|
|
|
+ <el-checkbox label="3" value="3">{{ $i18n.t('frameManage.part') }}</el-checkbox>
|
|
|
+ <el-checkbox label="4" value="4">{{ $i18n.t('frameManage.room2') }}</el-checkbox>
|
|
|
+ <el-checkbox label="5" value="5">{{ $i18n.t('frameManage.bed2') }}</el-checkbox>
|
|
|
</el-checkbox-group>
|
|
|
</el-form-item>
|
|
|
<el-form-item>
|
|
|
- <el-button type="primary" @click="onSubmit">立即创建</el-button>
|
|
|
- <el-button @click="modelShow = false" :disabled="disabled">取消</el-button>
|
|
|
+ <el-button type="primary" @click="onSubmit">{{ $i18n.t('action.add') }}</el-button>
|
|
|
+ <el-button @click="modelShow = false" :disabled="disabled">{{ $i18n.t('action.cancel') }}</el-button>
|
|
|
</el-form-item>
|
|
|
</el-form>
|
|
|
</el-dialog>
|
|
@@ -180,17 +180,17 @@
|
|
|
:width="this.$i18n.locale === 'zh' ? '50%' : '60%'">
|
|
|
<el-form ref="deviceEditForm2" :rules="formRules2"
|
|
|
:label-width="this.$i18n.locale === 'zh' ? '120px' : '165px'" :model="formModel">
|
|
|
- <el-form-item v-if="!formModel.id" label="语音" prop="language">
|
|
|
- <el-select v-model="formModel.language" placeholder="请选择语言">
|
|
|
+ <el-form-item v-if="!formModel.id" :label="$i18n.t('zy20241209.lang')" prop="language">
|
|
|
+ <el-select v-model="formModel.language" :placeholder="$i18n.t('zy20241209.selectLang')">
|
|
|
<el-option v-for="(item, index) in language" :key="index" :label="item.label" :value="item.value"></el-option>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="翻译名" prop="title">
|
|
|
+ <el-form-item :label="$i18n.t('zy20241209.translate')" prop="title">
|
|
|
<el-input v-model="formModel.title"></el-input>
|
|
|
</el-form-item>
|
|
|
<el-form-item>
|
|
|
- <el-button type="primary" @click="onSubmit2">立即创建</el-button>
|
|
|
- <el-button @click="languageModelShow = false" :disabled="disabled">取消</el-button>
|
|
|
+ <el-button type="primary" @click="onSubmit2">{{ $i18n.t('action.add') }}</el-button>
|
|
|
+ <el-button @click="languageModelShow = false" :disabled="disabled">{{ $i18n.t('action.cancel') }}</el-button>
|
|
|
</el-form-item>
|
|
|
</el-form>
|
|
|
</el-dialog>
|
|
@@ -217,6 +217,7 @@ export default {
|
|
|
boolPart: false,
|
|
|
boolRoom: false,
|
|
|
boolBed: false,
|
|
|
+ deviceTypeDisabled: false,
|
|
|
needUpdateList: [],
|
|
|
searchDeviceStr: '',
|
|
|
isSave: false,
|
|
@@ -230,34 +231,34 @@ export default {
|
|
|
},
|
|
|
params: {},
|
|
|
modelShow: false,
|
|
|
- deviceEditTitle: '新增设备类型',
|
|
|
+ deviceEditTitle: this.$t('zy20241209.addDeviceType'),
|
|
|
formRules: {
|
|
|
name: [
|
|
|
- this.MixinRequired('请输入名称')
|
|
|
+ this.MixinRequired(this.$t('action.inputName'))
|
|
|
],
|
|
|
code: [
|
|
|
- this.MixinRequired('请输入唯一编码')
|
|
|
+ this.MixinRequired(this.$t('zy20241209.inputCode'))
|
|
|
],
|
|
|
value: [
|
|
|
- this.MixinRequired('请输入类型值')
|
|
|
+ this.MixinRequired(this.$t('zy20241209.inputTypeValue'))
|
|
|
],
|
|
|
frame_type: [
|
|
|
- this.MixinRequired('请选择所在空间')
|
|
|
+ this.MixinRequired(this.$t('zy20241209.selectSpace'))
|
|
|
]
|
|
|
},
|
|
|
formRules2: {
|
|
|
language: [
|
|
|
- this.MixinRequired('请选择语言')
|
|
|
+ this.MixinRequired(this.$t('zy20241209.selectLang'))
|
|
|
],
|
|
|
title: [
|
|
|
- this.MixinRequired('请输入翻译名')
|
|
|
+ this.MixinRequired(this.$t('zy20241209.inputTranslate'))
|
|
|
]
|
|
|
},
|
|
|
disabled: false,
|
|
|
languageList: [],
|
|
|
nowTypeModel: {
|
|
|
id: null,
|
|
|
- name: '无'
|
|
|
+ name: this.$t('action.null')
|
|
|
},
|
|
|
languageModelShow: false,
|
|
|
language: [
|
|
@@ -333,32 +334,34 @@ export default {
|
|
|
}
|
|
|
if (item) {
|
|
|
this.formModel.parent_id = item.id
|
|
|
- this.deviceEditTitle = '新增《' + item.name +'》下级设备类型'
|
|
|
+ this.deviceEditTitle = this.$t('zy20241209.addDeviceTypeMsg1') + item.name + this.$t('zy20241209.addDeviceTypeMsg2')
|
|
|
} else {
|
|
|
- this.deviceEditTitle = '新增设备类型'
|
|
|
+ this.deviceEditTitle = this.$t('zy20241209.addDeviceType')
|
|
|
}
|
|
|
this.disabled = false
|
|
|
this.modelShow = true
|
|
|
+ this.deviceTypeDisabled = false // 新增设备可以选择设备类型
|
|
|
},
|
|
|
handleEdit(item) {
|
|
|
this.formModel = this.MixinClone(item)
|
|
|
if (item.bool_device) {
|
|
|
this.formModel.frame_type = item.frame_type.split(',')
|
|
|
}
|
|
|
- this.deviceEditTitle = '修改《' + item.name +'》设备类型'
|
|
|
+ this.deviceEditTitle = this.$t('zy20241209.editDeviceTypeMsg1') + item.name + this.$t('zy20241209.editDeviceTypeMsg2')
|
|
|
this.disabled = false
|
|
|
this.modelShow = true
|
|
|
+ this.deviceTypeDisabled = true // 修改设备时,不能改变设备类型
|
|
|
},
|
|
|
formatFrame(val) {
|
|
|
switch (val) {
|
|
|
case '3':
|
|
|
- return '科室'
|
|
|
+ return this.$t('frameManage.part')
|
|
|
case '4':
|
|
|
- return '房间'
|
|
|
+ return this.$t('frameManage.room2')
|
|
|
case '5':
|
|
|
- return '床位'
|
|
|
+ return this.$t('frameManage.bed2')
|
|
|
default:
|
|
|
- return '未知'
|
|
|
+ return this.$t('member.unknown')
|
|
|
}
|
|
|
},
|
|
|
checkType(item) {
|
|
@@ -369,7 +372,7 @@ export default {
|
|
|
this.API_GetLanguageList()
|
|
|
},
|
|
|
handleAddLg() {
|
|
|
- this.deviceEditTitle = '新增《' + this.nowTypeModel.name +'》多语言'
|
|
|
+ this.deviceEditTitle = this.$t('zy20241209.addLangMsg1') + this.nowTypeModel.name + this.$t('zy20241209.addLangMsg2')
|
|
|
this.formModel = {
|
|
|
code: this.nowTypeModel.code,
|
|
|
title: '',
|
|
@@ -380,7 +383,7 @@ export default {
|
|
|
},
|
|
|
handleEditLg(item) {
|
|
|
this.formModel = this.MixinClone(item)
|
|
|
- this.deviceEditTitle = '修改《' + this.nowTypeModel.name +'》多语言'
|
|
|
+ this.deviceEditTitle = this.$t('zy20241209.editLangMsg1') + this.nowTypeModel.name + this.$t('zy20241209.editLangMsg2')
|
|
|
this.disabled = false
|
|
|
this.languageModelShow = true
|
|
|
},
|
|
@@ -455,7 +458,7 @@ export default {
|
|
|
},
|
|
|
handleDel(item) {
|
|
|
if (item.children) {
|
|
|
- this.$message.error('需要先删除子级设备类型')
|
|
|
+ this.$message.error(this.$t('zy20241209.deleteDeviceTypeMsg') + '')
|
|
|
return
|
|
|
}
|
|
|
this.$confirm(this.$t('action.sureDelete'), this.$t('action.waring'), {
|
|
@@ -464,8 +467,13 @@ export default {
|
|
|
type: 'warning'
|
|
|
}).then(() => {
|
|
|
API_DEVICE_TYPE.remove(item.id).then(res => {
|
|
|
- this.$message.success(this.$t('action.editSuccess') + '')
|
|
|
- this.API_GetDeviceTypeList()
|
|
|
+ if (res.success) {
|
|
|
+ this.$message.success(this.$t('action.editSuccess') + '')
|
|
|
+ this.API_GetDeviceTypeList()
|
|
|
+ }
|
|
|
+ else {
|
|
|
+ this.$message.error(res.message)
|
|
|
+ }
|
|
|
})
|
|
|
})
|
|
|
},
|
|
@@ -476,8 +484,13 @@ export default {
|
|
|
type: 'warning'
|
|
|
}).then(() => {
|
|
|
API_LANGUAGE.remove(id).then(res => {
|
|
|
- this.$message.success(this.$t('action.editSuccess') + '')
|
|
|
- this.API_GetLanguageList()
|
|
|
+ if (res.success) {
|
|
|
+ this.$message.success(this.$t('action.editSuccess') + '')
|
|
|
+ this.API_GetLanguageList()
|
|
|
+ }
|
|
|
+ else {
|
|
|
+ this.$message.error(res.message)
|
|
|
+ }
|
|
|
})
|
|
|
})
|
|
|
}
|