|
@@ -20,16 +20,16 @@
|
|
:inline="true"
|
|
:inline="true"
|
|
label-width="68px"
|
|
label-width="68px"
|
|
>
|
|
>
|
|
- <el-form-item label="模板名称" prop="name">
|
|
|
|
|
|
+ <el-form-item :label="t('modelTemplate.name')" prop="name" style="margin-left: 45px">
|
|
<el-input
|
|
<el-input
|
|
v-model="queryParams.name"
|
|
v-model="queryParams.name"
|
|
- placeholder="请输入模板名称"
|
|
|
|
|
|
+ :placeholder="t('modelTemplate.nameHolder')"
|
|
clearable
|
|
clearable
|
|
@keyup.enter="handleQuery"
|
|
@keyup.enter="handleQuery"
|
|
class="!w-240px"
|
|
class="!w-240px"
|
|
/>
|
|
/>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
- <el-form-item label="模板编码" prop="code">
|
|
|
|
|
|
+<!-- <el-form-item label="模板编码" prop="code">
|
|
<el-input
|
|
<el-input
|
|
v-model="queryParams.code"
|
|
v-model="queryParams.code"
|
|
placeholder="请输入模板编码"
|
|
placeholder="请输入模板编码"
|
|
@@ -37,11 +37,11 @@
|
|
@keyup.enter="handleQuery"
|
|
@keyup.enter="handleQuery"
|
|
class="!w-240px"
|
|
class="!w-240px"
|
|
/>
|
|
/>
|
|
- </el-form-item>
|
|
|
|
- <el-form-item label="状态" prop="status">
|
|
|
|
|
|
+ </el-form-item>-->
|
|
|
|
+ <el-form-item :label="t('modelTemplate.status')" prop="status">
|
|
<el-select
|
|
<el-select
|
|
v-model="queryParams.status"
|
|
v-model="queryParams.status"
|
|
- placeholder="属性模板状态"
|
|
|
|
|
|
+ :placeholder="t('modelTemplate.status')"
|
|
clearable
|
|
clearable
|
|
class="!w-240px"
|
|
class="!w-240px"
|
|
>
|
|
>
|
|
@@ -53,52 +53,52 @@
|
|
/>
|
|
/>
|
|
</el-select>
|
|
</el-select>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
- <el-form-item label="创建时间" prop="createTime">
|
|
|
|
|
|
+ <el-form-item :label="t('modelTemplate.createTime')" prop="createTime">
|
|
<el-date-picker
|
|
<el-date-picker
|
|
v-model="queryParams.createTime"
|
|
v-model="queryParams.createTime"
|
|
value-format="YYYY-MM-DD HH:mm:ss"
|
|
value-format="YYYY-MM-DD HH:mm:ss"
|
|
type="datetimerange"
|
|
type="datetimerange"
|
|
- start-placeholder="开始日期"
|
|
|
|
- end-placeholder="结束日期"
|
|
|
|
|
|
+ :start-placeholder="t('operationFill.start')"
|
|
|
|
+ :end-placeholder="t('operationFill.end')"
|
|
class="!w-240px"
|
|
class="!w-240px"
|
|
/>
|
|
/>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
<el-form-item>
|
|
<el-form-item>
|
|
- <el-button @click="handleQuery"><Icon icon="ep:search" />搜索</el-button>
|
|
|
|
- <el-button @click="resetQuery"><Icon icon="ep:refresh" />重置</el-button>
|
|
|
|
|
|
+ <el-button @click="handleQuery"><Icon icon="ep:search" />{{t('operationFill.search')}}</el-button>
|
|
|
|
+ <el-button @click="resetQuery"><Icon icon="ep:refresh" />{{t('operationFill.reset')}}</el-button>
|
|
<el-button
|
|
<el-button
|
|
type="primary"
|
|
type="primary"
|
|
plain
|
|
plain
|
|
@click="openForm('create')"
|
|
@click="openForm('create')"
|
|
v-hasPermi="['rq:iot-model-template:create']"
|
|
v-hasPermi="['rq:iot-model-template:create']"
|
|
>
|
|
>
|
|
- <Icon icon="ep:plus" /> 新增
|
|
|
|
|
|
+ <Icon icon="ep:plus" />{{t('operationFill.add')}}
|
|
</el-button>
|
|
</el-button>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
</el-form>
|
|
</el-form>
|
|
</ContentWrap>
|
|
</ContentWrap>
|
|
<ContentWrap>
|
|
<ContentWrap>
|
|
<el-table v-loading="loading" :data="list">
|
|
<el-table v-loading="loading" :data="list">
|
|
- <el-table-column
|
|
|
|
|
|
+<!-- <el-table-column
|
|
label="模板编码"
|
|
label="模板编码"
|
|
align="center"
|
|
align="center"
|
|
prop="code"
|
|
prop="code"
|
|
:show-overflow-tooltip="true"
|
|
:show-overflow-tooltip="true"
|
|
- />
|
|
|
|
|
|
+ />-->
|
|
<el-table-column
|
|
<el-table-column
|
|
- label="模板名称"
|
|
|
|
|
|
+ :label="t('modelTemplate.name')"
|
|
align="center"
|
|
align="center"
|
|
prop="name"
|
|
prop="name"
|
|
:show-overflow-tooltip="true"
|
|
:show-overflow-tooltip="true"
|
|
/>
|
|
/>
|
|
<el-table-column
|
|
<el-table-column
|
|
- label="设备分类名称"
|
|
|
|
|
|
+ :label="t('modelTemplate.ec')"
|
|
align="center"
|
|
align="center"
|
|
key="deviceCategoryName"
|
|
key="deviceCategoryName"
|
|
prop="deviceCategoryName"
|
|
prop="deviceCategoryName"
|
|
:show-overflow-tooltip="true"
|
|
:show-overflow-tooltip="true"
|
|
/>
|
|
/>
|
|
- <el-table-column label="状态" key="status">
|
|
|
|
|
|
+ <el-table-column :label="t('modelTemplate.status')" key="status">
|
|
<template #default="scope">
|
|
<template #default="scope">
|
|
<el-switch
|
|
<el-switch
|
|
v-model="scope.row.status"
|
|
v-model="scope.row.status"
|
|
@@ -110,13 +110,13 @@
|
|
</template>
|
|
</template>
|
|
</el-table-column>
|
|
</el-table-column>
|
|
<el-table-column
|
|
<el-table-column
|
|
- label="创建时间"
|
|
|
|
|
|
+ :label="t('modelTemplate.createTime')"
|
|
align="center"
|
|
align="center"
|
|
prop="createTime"
|
|
prop="createTime"
|
|
:formatter="dateFormatter"
|
|
:formatter="dateFormatter"
|
|
width="180"
|
|
width="180"
|
|
/>
|
|
/>
|
|
- <el-table-column label="操作" align="center" width="160">
|
|
|
|
|
|
+ <el-table-column :label="t('operationFill.operation')" align="center" width="260">
|
|
<template #default="scope">
|
|
<template #default="scope">
|
|
<div class="flex items-center justify-center">
|
|
<div class="flex items-center justify-center">
|
|
<el-button
|
|
<el-button
|
|
@@ -124,7 +124,7 @@
|
|
link
|
|
link
|
|
@click="openDetail(scope.row.deviceCategoryId+','+scope.row.deviceCategoryName)"
|
|
@click="openDetail(scope.row.deviceCategoryId+','+scope.row.deviceCategoryName)"
|
|
>
|
|
>
|
|
- <Icon icon="ep:edit" />查看
|
|
|
|
|
|
+ <Icon icon="ep:edit" />{{t('operationFill.view')}}
|
|
</el-button>
|
|
</el-button>
|
|
<el-button
|
|
<el-button
|
|
type="primary"
|
|
type="primary"
|
|
@@ -132,26 +132,18 @@
|
|
@click="openForm('update', scope.row.id)"
|
|
@click="openForm('update', scope.row.id)"
|
|
v-hasPermi="['rq:iot-model-template:update']"
|
|
v-hasPermi="['rq:iot-model-template:update']"
|
|
>
|
|
>
|
|
- <Icon icon="ep:edit" />修改
|
|
|
|
|
|
+ <Icon icon="ep:edit" />{{t('modelTemplate.update')}}
|
|
</el-button>
|
|
</el-button>
|
|
- <el-dropdown
|
|
|
|
- @command="(command) => handleCommand(command, scope.row)"
|
|
|
|
- v-hasPermi="[
|
|
|
|
- 'rq:iot-model-template:delete'
|
|
|
|
- ]"
|
|
|
|
|
|
+
|
|
|
|
+ <el-button
|
|
|
|
+ type="danger"
|
|
|
|
+ link
|
|
|
|
+ @click="handleDelete(scope.row.id,scope.row.deviceCategoryId)"
|
|
|
|
+ v-hasPermi="['rq:iot-model-template:delete']"
|
|
>
|
|
>
|
|
- <el-button type="primary" link><Icon icon="ep:d-arrow-right" /> 更多</el-button>
|
|
|
|
- <template #dropdown>
|
|
|
|
- <el-dropdown-menu>
|
|
|
|
- <el-dropdown-item
|
|
|
|
- command="handleDelete"
|
|
|
|
- v-if="checkPermi(['rq:iot-model-template:delete'])"
|
|
|
|
- >
|
|
|
|
- <Icon icon="ep:delete" />删除
|
|
|
|
- </el-dropdown-item>
|
|
|
|
- </el-dropdown-menu>
|
|
|
|
- </template>
|
|
|
|
- </el-dropdown>
|
|
|
|
|
|
+ <Icon icon="ep:delete" />{{t('modelTemplate.delete')}}
|
|
|
|
+ </el-button>
|
|
|
|
+
|
|
</div>
|
|
</div>
|
|
</template>
|
|
</template>
|
|
</el-table-column>
|
|
</el-table-column>
|
|
@@ -178,6 +170,7 @@ import * as ModelTemplateApi from '@/api/pms/modeltemplate'
|
|
import TemplateForm from './TemplateForm.vue'
|
|
import TemplateForm from './TemplateForm.vue'
|
|
import ModelCategoryTree from './ModelCategoryTree.vue'
|
|
import ModelCategoryTree from './ModelCategoryTree.vue'
|
|
import { useTreeStore } from '@/store/modules/attrTemplateTreeStore';
|
|
import { useTreeStore } from '@/store/modules/attrTemplateTreeStore';
|
|
|
|
+import {DeviceAttrModelApi} from "@/api/pms/modelattrtemplate";
|
|
|
|
|
|
defineOptions({ name: 'DeviceAttrsTemplate' })
|
|
defineOptions({ name: 'DeviceAttrsTemplate' })
|
|
|
|
|
|
@@ -267,7 +260,7 @@ const handleStatusChange = async (row: ModelTemplateApi.ModelAttrTemplateVO) =>
|
|
const handleCommand = (command: string, row: ModelTemplateApi.ModelAttrTemplateVO) => {
|
|
const handleCommand = (command: string, row: ModelTemplateApi.ModelAttrTemplateVO) => {
|
|
switch (command) {
|
|
switch (command) {
|
|
case 'handleDelete':
|
|
case 'handleDelete':
|
|
- handleDelete(row.id)
|
|
|
|
|
|
+ handleDelete(row.id,row.deviceCategoryId)
|
|
break
|
|
break
|
|
default:
|
|
default:
|
|
break
|
|
break
|
|
@@ -275,13 +268,19 @@ const handleCommand = (command: string, row: ModelTemplateApi.ModelAttrTemplateV
|
|
}
|
|
}
|
|
|
|
|
|
/** 删除按钮操作 */
|
|
/** 删除按钮操作 */
|
|
-const handleDelete = async (id: number) => {
|
|
|
|
|
|
+const handleDelete = async (id: number | undefined, deviceId: number) => {
|
|
try {
|
|
try {
|
|
- // 删除的二次确认
|
|
|
|
- await message.delConfirm()
|
|
|
|
- // 发起删除
|
|
|
|
- await ModelTemplateApi.deleteModelTemplate(id)
|
|
|
|
- message.success(t('common.delSuccess'))
|
|
|
|
|
|
+ const data = await ModelTemplateApi.getIsRelated(deviceId);
|
|
|
|
+ if(data.length===0){
|
|
|
|
+ // 删除的二次确认
|
|
|
|
+ await message.delConfirm()
|
|
|
|
+ // 发起删除
|
|
|
|
+ await ModelTemplateApi.deleteModelTemplate(id)
|
|
|
|
+ message.success(t('common.delSuccess'))
|
|
|
|
+ }else{
|
|
|
|
+ message.error(t('form.relatedModel'))
|
|
|
|
+ }
|
|
|
|
+
|
|
// 刷新列表
|
|
// 刷新列表
|
|
await getList()
|
|
await getList()
|
|
} catch {}
|
|
} catch {}
|